








.elementor-element.elementor-element-003f88c.elementor-widget.elementor-widget-html a {
    background-image: none;
    background-color: #c4a882;
    border-color: #c4a882;
    color: #fff;
    padding: 15px 25px;
    margin-top: 10px !important;
}
.product-image .ug-strip-panel {
    background: white !important;
	
}
.ekit-template-content-footer ul {
    padding: 0;
    list-style: none;
}

.ekit-template-content-footer .elementor-element-446fc25 li a {
    display: flex;
    align-items: center;
    gap: 14px;
}
.xoo-wsc-container {
    font-family: 'Jost';
}
.woocommerce {
    font-family: 'Jost';
}
.woocommerce-cart-form__cart-item a {
    font-size: 18px;
    color: #000;
    font-weight: 500;
}
.woocommerce-cart table.cart img{
    width: 50px;
}
a.checkout-button.button.alt.wc-forward {
    background-image: linear-gradient(90deg, var( --e-global-color-6b164b0 ) 0%, var( --e-global-color-8273eac ) 100%);
    color: #fff !important;
}
.xoo-wsc-ft-buttons-cont a {
    background-image: linear-gradient(90deg, var( --e-global-color-6b164b0 ) 0%, var( --e-global-color-8273eac ) 100%);
    color: #fff !important;
    border: 0 !important;
    font-weight: 600;
}
.product-cat .tinv-wraper.woocommerce.tinv-wishlist.tinvwl-after-add-to-cart.tinvwl-loop-button-wrapper.tinvwl-woocommerce_after_shop_loop_item {
    position: absolute;
    top: 10px;
    right: 10px;
    background: white;
    padding: 5px 11px 9px 11px;
}

.product-cat a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.no-txt.tinvwl-position-after.tinvwl-loop {
    margin-top: 0px;
}

.eael-product-grid.grid .eael-product-wrap:hover .icons-wrap.box-style, .eael-product-grid.masonry .eael-product-wrap:hover .icons-wrap.box-style {
    bottom: 15px;
    visibility: visible;
    opacity: 1;
}



.blur{
}

/* Quartz Collection Individual Pages - Full Fix */

/* Quartz Collection - Comprehensive Style Fix to match premium pages */

/* 1. About heading: Rosarivo font + dark visible color */
.parent-pageid-2501 .elementor-element-82a3eac .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-size: 42px !important;
    font-weight: 300 !important;
    line-height: 50px !important;
    color: #1A1A1A !important;
}

/* 2. Hero overlay: 0.75 (stronger overlay - quartz pages use lighter stone images) */
.parent-pageid-2501 .elementor-element-20c3bdd {
    --overlay-opacity: 0.75 !important;
}

/* 3. Where to Use section: dark premium background matching rest of site */
.parent-pageid-2501 .elementor-element-8b53dbc:not(.elementor-motion-effects-element-type-background),
.parent-pageid-2501 .elementor-element-8b53dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url("https://kjmstones.com/wp-content/uploads/2026/04/48-e1776553486259.jpg") !important;
    background-position: center center !important;
    background-size: cover !important;
}





label.first {
    width: 50%;
    float: left;
    padding-right: 5px;
}

label.two {
    width: 50%;
    float: left;
    padding-left: 5px;
}

label.three {
    width: 100%;
}

span.wpcf7-form-control-wrap {
    margin-top: 10px;
}

.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 0 24px;
    right: 0;
    position: absolute;
    bottom: 20px;
}




/* =========================================
   TI Wishlist - Modern Clean Design
========================================= */

/* Main Table */
.tinvwl-table-manage-list {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 12px;
    border: none;
}

/* Remove Borders */
.tinvwl-table-manage-list,
.tinvwl-table-manage-list th,
.tinvwl-table-manage-list td {
    border: none !important;
}

/* Header */
.tinvwl-table-manage-list thead th {
    font-size: 14px;
    font-weight: 600;
    color: #111827;
    text-transform: uppercase;
    padding: 0 15px 10px;
    text-align: left !important;
    background: transparent;
}

/* Row */
.tinvwl-table-manage-list tbody tr {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    transition: .3s ease;
}

.tinvwl-table-manage-list tbody tr:hover {
    border-color: #32404D;
}

/* Cell */
.tinvwl-table-manage-list tbody td {
    padding: 14px 15px;
    vertical-align: middle;
    text-align: left !important;
    background: #fff;
}

/* Product Image */
.tinvwl-table-manage-list .product-thumbnail img {
    width: 75px;
    height: 75px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #E5E7EB;
}

/* Product Title */
.tinvwl-table-manage-list .product-name a {
    color: #111827;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    line-height: 1.4;
}

.tinvwl-table-manage-list .product-name a:hover {
    color: #32404D;
}

/* Price */
.tinvwl-table-manage-list .product-price {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
}

/* Stock */
.tinvwl-table-manage-list .stock {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 30px;
    background: #ECFDF3;
    color: #027A48;
    font-size: 12px;
    font-weight: 600;
}

/* Buttons */
.tinvwl-table-manage-list .button,
.tinvwl-to-right .button {
    background: #32404D !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: .3s ease;
}

.tinvwl-table-manage-list .button:hover,
.tinvwl-to-right .button:hover {
    background: #24303b !important;
}

/* Remove */
.tinvwl-table-manage-list .product-remove a,
.tinvwl-table-manage-list .product-remove button {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background: #F3F4F6 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #111827 !important;
    font-size: 15px !important;
    border: none !important;
}

.tinvwl-table-manage-list .product-remove a:hover,
.tinvwl-table-manage-list .product-remove button:hover {
    background: #FEE2E2 !important;
    color: #DC2626 !important;
}

/* Bottom Area */
.tinvwl-input-group select {
    height: 42px;
    border: 1px solid #E5E7EB;
    border-radius: 6px;
    padding: 0 12px;
    min-width: 220px;
}

/* =========================================
   MOBILE PERFECT DESIGN
========================================= */

@media (max-width: 767px) {

    /* Reset */
    .tinvwl-table-manage-list,
    .tinvwl-table-manage-list tbody,
    .tinvwl-table-manage-list tr,
    .tinvwl-table-manage-list td {
        display: block;
        width: 100%;
    }

    .tinvwl-table-manage-list {
        border-spacing: 0;
    }

    .tinvwl-table-manage-list thead {
        display: none !important;
    }

    /* Card */
    .tinvwl-table-manage-list tbody tr {
        position: relative;
        padding: 15px;
        margin-bottom: 18px;
        border-radius: 6px;
        border: 1px solid #E5E7EB;
        background: #fff;
    }

    /* Remove all grey background */
    .tinvwl-table-manage-list tbody td {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin-bottom: 12px;
    }

    /* Hide Labels */
    .tinvwl-table-manage-list td:before {
        display: none !important;
    }

    /* Remove button */
    .tinvwl-table-manage-list .product-remove {
        position: absolute;
        top: 12px;
        right: 12px;
        width: auto;
        margin: 0;
    }

    .tinvwl-table-manage-list .product-remove a,
    .tinvwl-table-manage-list .product-remove button {
        width: 28px;
        height: 28px;
        border-radius: 6px;
        font-size: 14px !important;
    }

    /* Checkbox */
    .tinvwl-table-manage-list .product-cb {
        margin-bottom: 12px !important;
    }

    /* Product Image */
    .tinvwl-table-manage-list .product-thumbnail {
        margin-bottom: 14px !important;
    }

    .tinvwl-table-manage-list .product-thumbnail img {
        width: 85px;
        height: 85px;
        border-radius: 6px;
    }

    /* Product Name */
    .tinvwl-table-manage-list .product-name {
        margin-bottom: 10px !important;
    }

    .tinvwl-table-manage-list .product-name a {
        font-size: 15px;
        line-height: 1.5;
        display: block;
    }

    /* Price */
    .tinvwl-table-manage-list .product-price {
        font-size: 20px;
        font-weight: 700;
        margin-bottom: 10px !important;
    }

    /* Date */
    .tinvwl-table-manage-list .product-date {
        font-size: 14px;
        color: #6B7280;
        margin-bottom: 12px !important;
    }

    /* Stock */
    .tinvwl-table-manage-list .product-stock {
        margin-bottom: 14px !important;
    }

    .tinvwl-table-manage-list .stock {
        font-size: 12px;
    }

    /* Button */
    .tinvwl-table-manage-list .product-action {
        margin-bottom: 0 !important;
    }

    .tinvwl-table-manage-list .button,
    .tinvwl-to-right .button {
        width: 100%;
        text-align: center;
        padding: 12px 16px !important;
        font-size: 14px !important;
    }

    /* Bottom Area */
    .tinvwl-input-group,
    .tinvwl-to-left,
    .tinvwl-to-right {
        width: 100%;
    }

    .tinvwl-input-group select {
        width: 100%;
        min-width: 100%;
        margin-bottom: 10px;
    }
}

/* Small Mobile */
@media (max-width: 480px) {

    .tinvwl-table-manage-list tbody tr {
        padding: 12px;
    }

    .tinvwl-table-manage-list .product-thumbnail img {
        width: 75px;
        height: 75px;
    }

    .tinvwl-table-manage-list .product-name a {
        font-size: 14px;
    }

    .tinvwl-table-manage-list .product-price {
        font-size: 18px;
    }

    .tinvwl-table-manage-list .button {
        font-size: 13px !important;
    }
}




/* =========================================
   WooCommerce My Account - Modern Flat UI
   Colors:
   Dark: #32404D
   Gold: #C58933
========================================= */

/* Remove Default Padding */
.woocommerce-account {
    background: #f5f6f8;
    padding: 0 !important;
}

/* =========================================
   Main Container
========================================= */

.woocommerce-account .site-main,
.woocommerce-account .content-area,
.woocommerce-account .woocommerce {
    max-width: 1360px;
    width: 100%;
    margin: 0 auto;
}

/* Layout */
.woocommerce-account .woocommerce {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 50px 0px;
}

/* =========================================
   Sidebar Navigation
========================================= */

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 260px;
    background: #32404D;
    padding: 20px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin-bottom: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 14px 16px;
    color: #ffffff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    background: rgba(255,255,255,0.05);
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
}

/* Hover */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: #C58933;
    color: #ffffff;
    border-left: 3px solid #ffffff;
}

/* Active */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    background: #C58933;
    color: #ffffff;
    font-weight: 700;
    border-left: 3px solid #ffffff;
}

/* =========================================
   Content Area
========================================= */

.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1;
    background: #ffffff;
    padding: 35px;
    border: 1px solid #e5e7eb;
}

/* Headings */
.woocommerce-account .entry-title,
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
    color: #32404D;
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.2;
}

/* Paragraph */
.woocommerce-account .woocommerce-MyAccount-content p {
    color: #5f6775;
    line-height: 1.8;
    font-size: 15px;
    margin-bottom: 18px;
}

/* Links */
.woocommerce-account .woocommerce-MyAccount-content a {
    color: #C58933;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s ease;
}

.woocommerce-account .woocommerce-MyAccount-content a:hover {
    color: #32404D;
}

/* =========================================
   Buttons
========================================= */

.woocommerce-account .button,
.woocommerce-account button.button,
.woocommerce-account input.button {
    background: #C58933 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 13px 22px !important;
    font-size: 14px;
    font-weight: 700 !important;
    transition: 0.3s ease;
}

.woocommerce-account .button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account input.button:hover {
    background: #32404D !important;
    color: #ffffff !important;
}

/* =========================================
   Tables
========================================= */

.woocommerce-account table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e5e7eb !important;
}

.woocommerce-account table.shop_table th {
    background: #32404D;
    color: #ffffff;
    padding: 16px;
    font-size: 14px;
    font-weight: 600;
    text-align: left;
    border: none;
}

.woocommerce-account table.shop_table td {
    padding: 16px;
    border-top: 1px solid #e5e7eb;
    color: #555;
    font-size: 14px;
}

/* =========================================
   Forms
========================================= */

.woocommerce-account input,
.woocommerce-account textarea,
.woocommerce-account select {
    width: 100%;
    border: 1px solid #d7dce2;
    padding: 14px 16px;
    font-size: 14px;
    background: #ffffff;
    transition: 0.3s ease;
}

.woocommerce-account input:focus,
.woocommerce-account textarea:focus,
.woocommerce-account select:focus {
    border-color: #C58933;
    outline: none;
}

/* Labels */
.woocommerce-account label {
    display: block;
    margin-bottom: 8px;
    color: #32404D;
    font-weight: 600;
}

/* Dashboard Notice */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
    background: #f8f9fb;
    padding: 18px;
    border-left: 4px solid #C58933;
}

/* =========================================
   Mobile Responsive
========================================= */

@media (max-width: 991px) {

    .woocommerce-account .woocommerce {
        flex-direction: column;
        padding: 40px 15px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        width: 100%;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        margin-bottom: 0;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        padding: 12px 14px;
        font-size: 13px;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100%;
        padding: 25px;
    }

    .woocommerce-account .entry-title,
    .woocommerce-account .woocommerce-MyAccount-content h2,
    .woocommerce-account .woocommerce-MyAccount-content h3 {
        font-size: 28px;
    }
}

/* =========================================
   Small Mobile
========================================= */

@media (max-width: 576px) {

    .woocommerce-account .woocommerce {
        padding: 30px 12px;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        flex-direction: column;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        width: 100%;
        text-align: center;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 20px;
    }

    .woocommerce-account .entry-title,
    .woocommerce-account .woocommerce-MyAccount-content h2,
    .woocommerce-account .woocommerce-MyAccount-content h3 {
        font-size: 24px;
    }

    .woocommerce-account table.shop_table th,
    .woocommerce-account table.shop_table td {
        padding: 12px;
        font-size: 13px;
    }
}

.page-id-1742 h1.entry-title {
    display: none;
}

.page-id-1742 main#content {
    max-width: 1380px;
}




/* =========================================
   WooCommerce Cart - Two Column Layout
   Product Left | Cart Totals Right
   Colors: #32404D & #C58933
========================================= */

.woocommerce-cart .woocommerce {
    max-width: 1360px;
    margin: 0 auto;
}

/* =========================================
   TWO COLUMN LAYOUT
========================================= */

.woocommerce-cart .woocommerce-cart-form {
    width: 66%;
    float: left;
}

.woocommerce-cart .cart-collaterals {
    width: 30%;
    float: right;
}

.woocommerce-cart::after,
.woocommerce::after {
    content: "";
    display: block;
    clear: both;
}

/* =========================================
   CART TABLE
========================================= */

.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #d8dce0;
    background: #fff;
}

/* Header */
.woocommerce-cart table.shop_table thead th {
    background: #32404D;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 18px 16px;
    border: 1px solid #44515d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: left;
}

/* Table Cells */
.woocommerce-cart table.shop_table td {
    padding: 16px 16px;
    border: 1px solid #e3e6e8;
    vertical-align: middle;
    color: #32404D;
    font-size: 15px;
}

/* Product Name */
.woocommerce-cart table.shop_table td.product-name a {
    color: #32404D;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1.4;
    transition: 0.3s ease;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
    color: #C58933;
}

/* Product Image */
.woocommerce-cart table.shop_table td.product-thumbnail img {
    width: 70px;
    border: 1px solid #e5e5e5;
    padding: 5px;
}

/* Remove Button */
.woocommerce-cart table.shop_table td.product-remove a {
    color: #C58933 !important;
    font-size: 26px;
    transition: 0.3s ease;
}

.woocommerce-cart table.shop_table td.product-remove a:hover {
    color: #32404D !important;
    background: transparent !important;
}

/* Price & Subtotal */
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal {
    font-size: 17px;
    font-weight: 600;
    color: #32404D;
}

/* Quantity */
.woocommerce-cart .quantity .qty {
    width: 70px;
    height: 48px;
    border: 1px solid #d4d4d4;
    text-align: center;
    font-size: 15px;
    color: #32404D;
    outline: none;
}

.woocommerce-cart .quantity .qty:focus {
    border-color: #C58933;
}

/* =========================================
   COUPON & BUTTONS
========================================= */

.woocommerce-cart .actions {
    padding: 20px !important;
}

.woocommerce-cart .coupon {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.woocommerce-cart .coupon input.input-text {
    height: 48px;
    min-width: 220px;
    border: 1px solid #d4d4d4;
    padding: 0 14px;
    font-size: 14px;
    color: #32404D;
    outline: none;
}

.woocommerce-cart .coupon input.input-text:focus {
    border-color: #C58933;
}

/* Buttons */
.woocommerce-cart button.button,
.woocommerce-cart .wc-proceed-to-checkout a {
    background: #C58933 !important;
    color: #fff !important;
    border: none !important;
    padding: 15px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    transition: 0.3s ease;
}

.woocommerce-cart button.button:hover,
.woocommerce-cart .wc-proceed-to-checkout a:hover {
    background: #32404D !important;
}

/* =========================================
   CART TOTALS BOX
========================================= */

.woocommerce-cart .cart_totals {
    width: 100% !important;
    border: 1px solid #dfe3e6;
    padding: 15px 25px 0px 25px;
    background: #fff;
    position: sticky;
    top: 30px;
}

/* Heading */
.woocommerce-cart .cart_totals h2 {
    font-size: 32px;
    color: #32404D;
    margin-bottom: 25px;
    font-weight: 700;
}

/* Totals Table */
.woocommerce-cart .cart_totals table.shop_table {
    border: 1px solid #e3e6e8;
    margin-bottom: 0;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    padding: 16px 18px;
    border: 1px solid #e3e6e8;
    font-size: 15px;
}

.woocommerce-cart .cart_totals table.shop_table th {
    background: #f8f8f8;
    color: #32404D;
    font-weight: 600;
}

/* Total */
.woocommerce-cart .order-total th,
.woocommerce-cart .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #32404D;
}

/* Checkout Button */
.woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 20px;
}

.woocommerce-cart .wc-proceed-to-checkout a {
    width: 100%;
    text-align: center;
    padding: 18px !important;
    font-size: 16px !important;
}

/* =========================================
   MOBILE RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        width: 100%;
        float: none;
    }

    .woocommerce-cart .cart-collaterals {
        margin-top: 30px;
    }

    .woocommerce-cart .cart_totals {
        position: relative;
        top: auto;
    }
}

@media (max-width: 768px) {
			.woocommerce-cart table.shop_table {
				padding: 15px;
	}
	
	.woocommerce-cart .cart_totals table.shop_table {
    border: none;
    margin-bottom: 0;
}

    /* Hide Table Header */
    .woocommerce-cart table.shop_table thead {
        display: none;
    }

    /* Mobile Table Layout */
    .woocommerce-cart table.shop_table,
    .woocommerce-cart table.shop_table tbody,
    .woocommerce-cart table.shop_table tr,
    .woocommerce-cart table.shop_table td {
        display: block;
        width: 100%;
    }

    .woocommerce-cart table.shop_table tr {
        margin-bottom: 20px;
        border: 1px solid #e3e6e8;
        padding: 0px;
    }

    .woocommerce-cart table.shop_table td {
        border: none;
        padding: 10px 0;
        text-align: left !important;
    }

    .woocommerce-cart table.shop_table td::before {
        content: attr(data-title);
        display: block;
        font-weight: 700;
        color: #32404D;
        margin-bottom: 6px;
        text-transform: uppercase;
        font-size: 12px;
    }

    /* Product Name */
    .woocommerce-cart table.shop_table td.product-name a {
        font-size: 17px;
    }

    /* Coupon */
    .woocommerce-cart .coupon {
        flex-direction: column;
    }

    .woocommerce-cart .coupon input.input-text,
    .woocommerce-cart button.button,
    .woocommerce-cart .wc-proceed-to-checkout a {
        width: 100%;
    }

    /* Cart Totals */
    .woocommerce-cart .cart_totals {
        padding: 20px;
    }

    .woocommerce-cart .cart_totals h2 {
        font-size: 26px;
    }
}



/* =========================================================
   FIXED PREMIUM WOOCOMMERCE CHECKOUT
========================================================= */

/* PAGE */
body.woocommerce-checkout{
    background:#f5f5f5;
}

/* REMOVE FLOAT ISSUE */
.woocommerce-checkout form.checkout{
    display:flex;
    gap: 4%;
    align-items:flex-start;
		flex-wrap: wrap;
}

/* LEFT SECTION */
.woocommerce-checkout .col2-set{
    width:63%;
    float:none !important;
    background:#fff;
    padding:25px;
    border:1px solid #e5e5e5;
    box-sizing:border-box;
}

.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout {
    width: 100%;
}

/* RIGHT SECTION */
.woocommerce-checkout #order_review_heading{
    display:none;
}

.woocommerce-checkout #order_review{
    width:33%;
    float:none !important;
    background:#32404D;
    padding:25px;
    box-sizing:border-box;
    position:sticky;
    top:30px;
}

/* FIX BILLING + ADDITIONAL INFO */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
    width:100% !important;
    float:none !important;
}

/* SPACING */
.woocommerce-billing-fields{
    margin-bottom:40px;
}

/* HEADINGS */
.woocommerce-checkout h3{
    font-size: 28px;
    line-height:1.2;
    margin-bottom: 15px;
    margin-top: 0px;
    color:#32404D;
    font-weight:700;
    letter-spacing:1px;
}

/* FIELD GRID */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper{
    display:flex;
    flex-wrap:wrap;
    gap:22px;
}

.form-row-first,
.form-row-last{
    width:calc(50% - 11px) !important;
}

.form-row-wide{
    width:100% !important;
}

/* LABEL */
.woocommerce-checkout label{
    display: block;
    margin: 0px;
    color: black;
    font-size: 13px;
    line-height: 19px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.woocommerce ul#shipping_method li {
    margin: 0;
}

/* INPUT */
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
    width:100%;
    height:58px;
    border:1px solid #dcdcdc;
    background:#fafafa;
    padding:0 18px;
    font-size:15px;
    color:#32404D;
    box-sizing:border-box;
    transition:.3s;
    border-radius:0;
    box-shadow:none;
}

.woocommerce-checkout textarea{
    height:140px;
    padding-top:18px;
    resize:vertical;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
    border-color:#C58933;
    background:#fff;
    outline:none;
}

/* SELECT2 */
.select2-container{
    width:100% !important;
}

.select2-container--default .select2-selection--single{
    height:58px !important;
    border:1px solid #dcdcdc !important;
    background:#fafafa !important;
    border-radius:0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
    line-height:58px !important;
    padding-left:18px !important;
    color:#32404D !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
    height:58px !important;
}

/* COUPON */
.woocommerce-form-coupon-toggle .woocommerce-info{
    background:#fff;
    border:1px solid #e5e5e5;
    padding:16px 50px;
    margin-bottom:30px;
    color:#32404D;
}

/* ORDER TABLE */
#order_review table{
    width:100%;
    border-collapse:collapse;
    border:none !important;
}

#order_review table th{
    color:#fff;
    font-size:13px;
    text-transform:uppercase;
    padding:15px;
    border-bottom:1px solid rgba(255,255,255,.15);
}

#order_review table td{
    color:rgba(255,255,255,.85);
    padding:15px;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:15px;
}

/* PRICE */
#order_review .amount{
    color:#C58933 !important;
    font-weight:700;
    font-size:18px;
}

/* TOTAL */
#order_review .order-total th,
#order_review .order-total td{
    font-size: 22px !important;
    line-height: 22px !important;
    color: #fff !important;
    border-bottom: none !important;
}

/* PAYMENT */
#payment{
    background:none !important;
    margin-top:30px;
}

#payment ul.payment_methods{
    border:none !important;
    padding:0 !important;
}

#payment ul.payment_methods li{
    padding:0;
}

#payment label{
    color:#fff !important;
    text-transform:none;
    font-size:15px;
    font-weight:500;
}

#payment div.payment_box{
    background:rgba(255,255,255,.08) !important;
    color:rgba(255,255,255,.75) !important;
    border:none !important;
    padding:18px !important;
}

#payment div.payment_box:before{
    display:none;
}

/* PRIVACY */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p{
    color:rgba(255,255,255,.7) !important;
    line-height:1.8;
}

/* BUTTON */
#place_order{
    width:100%;
    height:60px;
    background:#C58933 !important;
    border:none !important;
    color:#fff !important;
    font-size:15px !important;
    font-weight:700 !important;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-top:20px;
    transition:.3s;
}

#place_order:hover{
    background:#fff !important;
    color:#32404D !important;
}

/* MOBILE */
@media(max-width:991px){

    .woocommerce-checkout form.checkout{
        flex-direction:column;
    }

    .woocommerce-checkout .col2-set,
    .woocommerce-checkout #order_review{
        width:100%;
    }

    .woocommerce-checkout #order_review{
        position:relative;
        top:0;
    }
}

@media(max-width:767px){

    .woocommerce-checkout .col2-set,
    .woocommerce-checkout #order_review{
        padding:25px;
    }

    .woocommerce-checkout h3{
        font-size:26px;
    }

    .form-row-first,
    .form-row-last{
        width:100% !important;
    }
}


.form-row.place-order {
    padding: 0px !important;
}






/* Work Process Section */
.wp-section { background: #fff; padding: 90px 60px; font-family: Montserrat, sans-serif; }
.wp-label { text-align: center; font-size: 11px; letter-spacing: 4px; color: #b8935a; text-transform: uppercase; margin: 0 0 14px; display: block; }
.wp-title { text-align: center; font-size: 36px; color: #1a1a1a; font-weight: 300; margin: 0 0 60px; }
.wp-grid { display: flex; justify-content: center; align-items: flex-start; max-width: 1100px; margin: 0 auto; }
.wp-step { flex: 1; text-align: center; padding: 0 40px; }
.wp-num { width: 68px; height: 68px; border: 1px solid #b8935a; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 28px; }
.wp-num span { font-size: 16px; color: #b8935a; font-weight: 300; }
.wp-step-title { font-size: 16px; color: #1a1a1a; font-weight: 600; margin: 0 0 12px; }
.wp-step-desc { font-size: 13px; color: #888; line-height: 1.9; font-weight: 300; margin: 0; }




/* KJM CRAFTED SECTION 59a3869 - CENTERED v4 */
body .elementor-element-59a3869 {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  text-align: center !important;
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/05/calacatta-miracle-texture.png") !important;
  background-size: cover !important;
  background-position: center 35% !important;
  min-height: unset !important;
  height: auto !important;
  padding: 60px 24px !important;
  margin: 0 !important;
  position: relative !important;
  row-gap: 22px !important;
  column-gap: 22px !important;
}
body .elementor-element-59a3869::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-color: rgba(6, 5, 3, 0.42) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
body .elementor-element-59a3869 > * {
  position: relative !important;
  z-index: 1 !important;
  visibility: visible !important;
  flex: 0 0 auto !important;
}
body .elementor-element-59a3869 .elementor-element-1ce8111 {
  display: none !important;
  width: 0 !important; flex: 0 0 0 !important; overflow: hidden !important;
}
body .elementor-element-59a3869 .elementor-element-fa87e71 {
  flex: 0 0 auto !important;
  width: 100% !important;
  text-align: center !important;
  margin-bottom: 4px !important;
}
body .elementor-element-59a3869 h2.elementor-heading-title {
  color: #ffffff !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  text-align: center !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  letter-spacing: 0.3px !important;
  white-space: normal !important;
}
body .elementor-element-59a3869 .elementor-element-29b2d25 {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
}
body .elementor-element-59a3869 .elementor-element-10714c5,
body .elementor-element-59a3869 .elementor-element-887d385 {
  flex: 0 0 auto !important;
  width: auto !important;
  text-align: center !important;
}
body .elementor-element-59a3869 .elementor-button-wrapper {
  margin: 0 !important;
  text-align: center !important;
}
body .elementor-element-59a3869 .elementor-button {
  background-color: transparent !important;
  background-image: none !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  font-family: Jost, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 10px 22px !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
  transition: all 0.2s ease !important;
}
body .elementor-element-59a3869 .elementor-button:hover {
  background-color: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
}

/* KJM CRAFTED 59a3869 - REFINEMENTS v5 */
body .elementor-element-59a3869::after { background-color: rgba(6, 5, 3, 0.46) !important; }
body .elementor-element-59a3869 .elementor-element-fa87e71 { margin-bottom: 6px !important; }
body .elementor-element-59a3869 h2.elementor-heading-title { position: relative !important; padding-bottom: 16px !important; }
body .elementor-element-59a3869 h2.elementor-heading-title::after { content: "" !important; position: absolute !important; left: 50% !important; bottom: 0 !important; transform: translateX(-50%) !important; width: 56px !important; height: 1px !important; background-color: #c4a882 !important; }
body .elementor-element-59a3869 .e-form__buttons button, body .elementor-element-59a3869 button[type=submit] { background-color: #a8834e !important; background-image: none !important; color: #ffffff !important; border: 1px solid #a8834e !important; border-radius: 4px !important; letter-spacing: 2px !important; text-transform: uppercase !important; transition: all .2s ease !important; }
body .elementor-element-59a3869 .e-form__buttons button:hover, body .elementor-element-59a3869 button[type=submit]:hover { background-color: #916b3c !important; border-color: #916b3c !important; }
body .elementor-element-59a3869 input:not([type=submit]), body .elementor-element-59a3869 textarea { border: 1px solid rgba(0, 0, 0, 0.12) !important; border-radius: 6px !important; }
body .elementor-element-59a3869 .elementor-element-10714c5 { margin-top: 6px !important; }
body .elementor-element-59a3869 .elementor-element-887d385 { margin-top: -8px !important; }
@media (max-width: 767px) {
  body .elementor-element-59a3869 { padding: 44px 20px !important; row-gap: 18px !important; }
  body .elementor-element-59a3869 h2.elementor-heading-title { font-size: 28px !important; }
}

/* ABOUT PAGE CTA 2a24119 */
body .elementor-element-2a24119 { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; background-image: url("https://kjmstones.com/wp-content/uploads/2026/04/Use-AI-Image-Apr-19-2026-17_00_30-2.jpeg") !important; background-size: cover !important; background-position: center center !important; min-height: 520px !important; padding: 80px 60px !important; position: relative !important; }
body .elementor-element-2a24119::after { content: "" !important; position: absolute !important; inset: 0 !important; background: rgba(0,0,0,0.62) !important; z-index: 0 !important; pointer-events: none !important; }
body .elementor-element-2a24119 > * { position: relative !important; z-index: 1 !important; visibility: visible !important; }
body .elementor-element-2a24119 h2.elementor-heading-title { color: #ffffff !important; font-family: 'Cormorant Garamond',serif !important; font-size: 52px !important; font-weight: 300 !important; text-align: center !important; }
body .elementor-element-2a24119 h6.elementor-heading-title { color: #c4a882 !important; font-size: 12px !important; letter-spacing: 3.5px !important; text-transform: uppercase !important; font-family: Montserrat,sans-serif !important; text-align: center !important; }
body .elementor-element-2a24119 .elementor-divider-separator { border-color: #c4a882 !important; }
body .elementor-element-2a24119 .elementor-text-editor p { color: #d4c5b0 !important; text-align: center !important; }
body .elementor-element-2a24119 .elementor-button { background-color: #c4a882 !important; background-image: none !important; color: #ffffff !important; }





/* KJM ABOUT US — Fix empty black space in Mission/Vision section */
.elementor-element-c7ea738 { flex: 1 1 auto !important; flex-grow: 1 !important; min-width: 0 !important; }
.elementor-element-58f6b84 { gap: 0px !important; width: 100% !important; }
.elementor-element-7db1072 { width: 100vw !important; max-width: 100% !important; }
/* Only re-enable when cart is actively open */

/* Cart overlay fix */
.xoo-wsc-opac { pointer-events: none !important; }
.xoo-wsc-markup-notices { pointer-events: none !important; }
/* KJM - Fix Elementor animation visibility */
.elementor-invisible { opacity: 1 !important; visibility: visible !important; transform: none !important; }
.elementor-heading-title { opacity: 1 !important; visibility: visible !important; }
/* KJM - Granite page product names */
.products-granite .elementor-heading-title, .page-id-2721 .elementor-heading-title { color: #1a1a1a !important; font-family: "Cormorant Garamond", serif !important; font-weight: 300 !important; }
/* KJM - All collection pages heading fix */
.page-id-2721 .elementor-widget-heading .elementor-heading-title,
.page-id-2501 .elementor-widget-heading .elementor-heading-title {
  color: #1a1a1a !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* Stone Crafts page - products section keeps dark text; hero heading is white via Elementor settings */
.page-id-2503 .elementor-element-0fcdfda .elementor-widget-heading .elementor-heading-title {
  color: #1a1a1a !important;
}
/* Stone Crafts hero heading - white text */
.page-id-2503 .elementor-element-d96bbd0 .elementor-widget-heading .elementor-heading-title,
.page-id-2503 .elementor-element-d67b02a .elementor-heading-title {
  font-size: 52px !important;
  line-height: 1.15 !important;
  color: #FFFFFF !important;
  text-shadow: 0 2px 30px rgba(0,0,0,0.5) !important;
}

/* COLLECTION SECTION - restore white background */
body .elementor-element-93753be,
body .elementor-element-c4ad6ea {
  background-color: #faf9f7 !important;
}

/* FIX - Explore Our Collection button: correct font to Jost */


/* FIX - Footer Book Appointment button: gold bg white text */
.ekit-template-content-footer .elementor-button,
.ekit-template-content-footer a.elementor-button {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border-color: #c4a882 !important;
}

/* FIX - Footer Book Appointment button: gold bg white text */
body .elementor-element-07344dc .elementskit-btn,
body .elementor-element-07344dc a.elementskit-btn {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border-color: #c4a882 !important;
}

/* === QUARTZITE PAGE - Brand typography & button fixes === */

/* Headings: Geologica → Cormorant Garamond */
body .elementor-element-d3281ae h1,
body .elementor-element-d3281ae h2,
body .elementor-element-d3281ae h3,
body .elementor-element-d3281ae h4,
body .elementor-element-d3281ae .elementor-heading-title,
body .elementor-element-cc5064d h1,
body .elementor-element-cc5064d h2,
body .elementor-element-cc5064d h3,
body .elementor-element-cc5064d h4,
body .elementor-element-cc5064d .elementor-heading-title,
body .elementor-element-24fce77 h1,
body .elementor-element-24fce77 h2,
body .elementor-element-24fce77 h3,
body .elementor-element-24fce77 h4,
body .elementor-element-24fce77 .elementor-heading-title,
body .elementor-element-3f31492 h1,
body .elementor-element-3f31492 h2,
body .elementor-element-3f31492 h3,
body .elementor-element-3f31492 h4,
body .elementor-element-3f31492 .elementor-heading-title,
body .elementor-element-480649b h1,
body .elementor-element-480649b h2,
body .elementor-element-480649b h3,
body .elementor-element-480649b h4,
body .elementor-element-480649b .elementor-heading-title,
body .elementor-element-a6e786d h1,
body .elementor-element-a6e786d h2,
body .elementor-element-a6e786d h3,
body .elementor-element-a6e786d h4,
body .elementor-element-a6e786d .elementor-heading-title,
body .elementor-element-dce1ffe h1,
body .elementor-element-dce1ffe h2,
body .elementor-element-dce1ffe h3,
body .elementor-element-dce1ffe h4,
body .elementor-element-dce1ffe .elementor-heading-title,
body .elementor-element-38379cb h1,
body .elementor-element-38379cb h2,
body .elementor-element-38379cb h3,
body .elementor-element-38379cb h4,
body .elementor-element-38379cb .elementor-heading-title,
body .elementor-element-adbb2cf h1,
body .elementor-element-adbb2cf h2,
body .elementor-element-adbb2cf h3,
body .elementor-element-adbb2cf h4,
body .elementor-element-adbb2cf .elementor-heading-title,
body .elementor-element-eaa0479 h1,
body .elementor-element-eaa0479 h2,
body .elementor-element-eaa0479 h3,
body .elementor-element-eaa0479 h4,
body .elementor-element-eaa0479 .elementor-heading-title,
body .elementor-element-92e2d18 h1,
body .elementor-element-92e2d18 h2,
body .elementor-element-92e2d18 h3,
body .elementor-element-92e2d18 h4,
body .elementor-element-92e2d18 .elementor-heading-title,
body .elementor-element-8344ab0 h1,
body .elementor-element-8344ab0 h2,
body .elementor-element-8344ab0 h3,
body .elementor-element-8344ab0 h4,
body .elementor-element-8344ab0 .elementor-heading-title,
body .elementor-element-82f186e h1,
body .elementor-element-82f186e h2,
body .elementor-element-82f186e h3,
body .elementor-element-82f186e h4,
body .elementor-element-82f186e .elementor-heading-title,
body .elementor-element-f3cb9ef h1,
body .elementor-element-f3cb9ef h2,
body .elementor-element-f3cb9ef h3,
body .elementor-element-f3cb9ef h4,
body .elementor-element-f3cb9ef .elementor-heading-title,
body .elementor-element-0362d82 h1,
body .elementor-element-0362d82 h2,
body .elementor-element-0362d82 h3,
body .elementor-element-0362d82 h4,
body .elementor-element-0362d82 .elementor-heading-title,
body .elementor-element-4eaf283 h1,
body .elementor-element-4eaf283 h2,
body .elementor-element-4eaf283 h3,
body .elementor-element-4eaf283 h4,
body .elementor-element-4eaf283 .elementor-heading-title,
body .elementor-element-77ad14f h1,
body .elementor-element-77ad14f h2,
body .elementor-element-77ad14f h3,
body .elementor-element-77ad14f h4,
body .elementor-element-77ad14f .elementor-heading-title,
body .elementor-element-9cfcf95 h1,
body .elementor-element-9cfcf95 h2,
body .elementor-element-9cfcf95 h3,
body .elementor-element-9cfcf95 h4,
body .elementor-element-9cfcf95 .elementor-heading-title,
body .elementor-element-a39ee13 h1,
body .elementor-element-a39ee13 h2,
body .elementor-element-a39ee13 h3,
body .elementor-element-a39ee13 h4,
body .elementor-element-a39ee13 .elementor-heading-title,
body .elementor-element-1cfb678 h1,
body .elementor-element-1cfb678 h2,
body .elementor-element-1cfb678 h3,
body .elementor-element-1cfb678 h4,
body .elementor-element-1cfb678 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
}

/* Get in Touch button → gold outline */
body .elementor-element-1d302ec a,
body .elementor-element-1d302ec {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Request Custom Quartzite → gold filled */
body .elementor-element-0ad2f32 .elementor-button,
body .elementor-element-0ad2f32 a,
body .elementor-element-836c416 .elementor-button,
body .elementor-element-836c416 a {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border-color: #c4a882 !important;
  font-family: "Jost", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
}

/* Stone name labels → Cormorant Garamond */
body .elementor-element-3f31492,
body .elementor-element-480649b,
body .elementor-element-a6e786d,
body .elementor-element-dce1ffe,
body .elementor-element-38379cb,
body .elementor-element-adbb2cf,
body .elementor-element-eaa0479,
body .elementor-element-92e2d18,
body .elementor-element-8344ab0,
body .elementor-element-82f186e,
body .elementor-element-f3cb9ef,
body .elementor-element-0362d82,
body .elementor-element-4eaf283,
body .elementor-element-77ad14f,
body .elementor-element-9cfcf95,
body .elementor-element-a39ee13,
body .elementor-element-1cfb678 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
}


/* === QUARTZITE PAGE - Phase 2 fixes === */

/* Stone name label text: white text → dark #1a1a1a */
body .elementor-element-3f31492 h2,
body .elementor-element-3f31492 h3,
body .elementor-element-3f31492 .elementor-heading-title,
body .elementor-element-480649b h2,
body .elementor-element-480649b h3,
body .elementor-element-480649b .elementor-heading-title,
body .elementor-element-a6e786d h2,
body .elementor-element-a6e786d h3,
body .elementor-element-a6e786d .elementor-heading-title,
body .elementor-element-dce1ffe h2,
body .elementor-element-dce1ffe h3,
body .elementor-element-dce1ffe .elementor-heading-title,
body .elementor-element-38379cb h2,
body .elementor-element-38379cb h3,
body .elementor-element-38379cb .elementor-heading-title,
body .elementor-element-adbb2cf h2,
body .elementor-element-adbb2cf h3,
body .elementor-element-adbb2cf .elementor-heading-title,
body .elementor-element-eaa0479 h2,
body .elementor-element-eaa0479 h3,
body .elementor-element-eaa0479 .elementor-heading-title,
body .elementor-element-92e2d18 h2,
body .elementor-element-92e2d18 h3,
body .elementor-element-92e2d18 .elementor-heading-title,
body .elementor-element-8344ab0 h2,
body .elementor-element-8344ab0 h3,
body .elementor-element-8344ab0 .elementor-heading-title,
body .elementor-element-82f186e h2,
body .elementor-element-82f186e h3,
body .elementor-element-82f186e .elementor-heading-title,
body .elementor-element-f3cb9ef h2,
body .elementor-element-f3cb9ef h3,
body .elementor-element-f3cb9ef .elementor-heading-title,
body .elementor-element-0362d82 h2,
body .elementor-element-0362d82 h3,
body .elementor-element-0362d82 .elementor-heading-title,
body .elementor-element-4eaf283 h2,
body .elementor-element-4eaf283 h3,
body .elementor-element-4eaf283 .elementor-heading-title,
body .elementor-element-77ad14f h2,
body .elementor-element-77ad14f h3,
body .elementor-element-77ad14f .elementor-heading-title,
body .elementor-element-9cfcf95 h2,
body .elementor-element-9cfcf95 h3,
body .elementor-element-9cfcf95 .elementor-heading-title,
body .elementor-element-a39ee13 h2,
body .elementor-element-a39ee13 h3,
body .elementor-element-a39ee13 .elementor-heading-title,
body .elementor-element-1cfb678 h2,
body .elementor-element-1cfb678 h3,
body .elementor-element-1cfb678 .elementor-heading-title {
  color: #1a1a1a !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
}

/* Name label bar: subtle gold accent */
body .elementor-element-2697425,
body .elementor-element-2c7b18c {
  background-color: #ffffff !important;
  border-top: 1px solid rgba(196, 168, 130, 0.3) !important;
  padding: 12px 16px !important;
}

/* Get in Touch button span: Geologica → Montserrat */
body .elementor-element-1d302ec span,
body .elementor-element-1d302ec a span {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  color: #c4a882 !important;
}

/* WooCommerce cart popup buttons → brand dark */
.woocommerce-message .button,
.added_to_cart,
.wc-forward {
  background-color: #1a1a1a !important;
  color: #ffffff !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border-radius: 0 !important;
}

/* Why Choose Quartzite heading - proper visibility */
body .elementor-element-cc5064d h2,
body .elementor-element-cc5064d .elementor-heading-title {
  color: #1a1a1a !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  opacity: 1 !important;
  font-size: 42px !important;
}

/* Quartzite Collection grid heading */
body .elementor-element-24fce77 h2,
body .elementor-element-24fce77 .elementor-heading-title {
  color: #1a1a1a !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 42px !important;
}

/* WooCommerce Add to Cart → gold */
.single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce #respond input#submit,
.woocommerce a.button.alt {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}


/* === WHY CHOOSE QUARTZITE section - premium polish === */

/* Why Choose: gold eyebrow label */
body .elementor-element-cc5064d .elementor-widget-container::before {
  content: "NATURAL STONE EXPERTISE" !important;
  display: block !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: #c4a882 !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
  text-align: center !important;
}

/* Why Choose: gold divider after heading */
body .elementor-element-cc5064d .elementor-widget-container::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 1px !important;
  background: #c4a882 !important;
  margin: 20px auto 0 !important;
}

/* Why Choose heading: refined */
body .elementor-element-cc5064d h2 {
  font-size: 42px !important;
  color: #1a1a1a !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
}

/* Why Choose body text: refined */
body .elementor-element-b6e5609 p {
  font-size: 16px !important;
  font-weight: 300 !important;
  color: #2a2a2a !important;
  line-height: 1.9 !important;
  letter-spacing: 0.2px !important;
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* === WHY CHOOSE - eyebrow label & divider via heading pseudo-elements === */

/* Eyebrow: NATURAL STONE EXPERTISE above heading */
body .elementor-element-cc5064d .elementor-heading-title::before {
  content: "NATURAL STONE EXPERTISE" !important;
  display: block !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: #c4a882 !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
  font-style: normal !important;
}

/* Gold divider below heading */
body .elementor-element-cc5064d .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 1px !important;
  background-color: #c4a882 !important;
  margin: 22px auto 0 !important;
}


/* === WHY CHOOSE QUARTZITE - background fix === */

/* Marble texture: boost opacity from 0.3 to 0.82 - rich & visible */
.elementor-2839 .elementor-element-453455b::before {
  opacity: 0.82 !important;
}

/* Section base: warm cream so marble sits on warmth */
body .elementor-element-0cb9f0c {
  background-color: #f0ece6 !important;
}

/* Inner container: generous breathing room */
body .elementor-element-453455b {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}


/* WHY CHOOSE BG - reset: hide marble, clean warm white like rest of site */
.elementor-2839 .elementor-element-453455b::before { opacity: 0 !important; }
body .elementor-element-0cb9f0c { background-color: #faf9f7 !important; }
body .elementor-element-453455b { background: linear-gradient(160deg, #f7f4ef 0%, #faf9f7 55%, #f5f2ed 100%) !important; padding-top: 80px !important; padding-bottom: 80px !important; }


/* Breadcrumb active tab: fix rust/orange → brand dark #1a1a1a */
.woocommerce-breadcrumb a,
.woocommerce-breadcrumb span,
.woocommerce-breadcrumb {
  color: #5a5a5a !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
}
.woocommerce-breadcrumb a:hover { color: #c4a882 !important; }
.elementor-widget-breadcrumbs a,
.elementor-widget-breadcrumbs span {
  color: #5a5a5a !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
}


/* Active nav dropdown item: rust/orange → brand gold */
.dropdown-item.active,
.dropdown-item:active,
.nav-item.current-menu-item .dropdown-item,
.nav-item.current_page_item .dropdown-item {
  color: #c4a882 !important;
  background-color: transparent !important;
}


/* ===== QUARTZ COLLECTION PAGE - Full brand fix ===== */

/* Hero heading: Cormorant Garamond, white */
body .elementor-element-9f659d9 h2,
body .elementor-element-9f659d9 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  font-size: 52px !important;
  letter-spacing: 1px !important;
}

/* All headings: Geologica → Cormorant Garamond */
body .elementor-element-3d1aa98 h1,
body .elementor-element-3d1aa98 h2,
body .elementor-element-3d1aa98 h3,
body .elementor-element-3d1aa98 h4,
body .elementor-element-3d1aa98 .elementor-heading-title,
body .elementor-element-ade78d8 h1,
body .elementor-element-ade78d8 h2,
body .elementor-element-ade78d8 h3,
body .elementor-element-ade78d8 h4,
body .elementor-element-ade78d8 .elementor-heading-title,
body .elementor-element-3077e60 h1,
body .elementor-element-3077e60 h2,
body .elementor-element-3077e60 h3,
body .elementor-element-3077e60 h4,
body .elementor-element-3077e60 .elementor-heading-title,
body .elementor-element-71b9739 h1,
body .elementor-element-71b9739 h2,
body .elementor-element-71b9739 h3,
body .elementor-element-71b9739 h4,
body .elementor-element-71b9739 .elementor-heading-title,
body .elementor-element-658518a h1,
body .elementor-element-658518a h2,
body .elementor-element-658518a h3,
body .elementor-element-658518a h4,
body .elementor-element-658518a .elementor-heading-title,
body .elementor-element-edaac09 h1,
body .elementor-element-edaac09 h2,
body .elementor-element-edaac09 h3,
body .elementor-element-edaac09 h4,
body .elementor-element-edaac09 .elementor-heading-title,
body .elementor-element-51e223c h1,
body .elementor-element-51e223c h2,
body .elementor-element-51e223c h3,
body .elementor-element-51e223c h4,
body .elementor-element-51e223c .elementor-heading-title,
body .elementor-element-b064863 h1,
body .elementor-element-b064863 h2,
body .elementor-element-b064863 h3,
body .elementor-element-b064863 h4,
body .elementor-element-b064863 .elementor-heading-title,
body .elementor-element-0c093cf h1,
body .elementor-element-0c093cf h2,
body .elementor-element-0c093cf h3,
body .elementor-element-0c093cf h4,
body .elementor-element-0c093cf .elementor-heading-title,
body .elementor-element-a8c885d h1,
body .elementor-element-a8c885d h2,
body .elementor-element-a8c885d h3,
body .elementor-element-a8c885d h4,
body .elementor-element-a8c885d .elementor-heading-title,
body .elementor-element-055656e h1,
body .elementor-element-055656e h2,
body .elementor-element-055656e h3,
body .elementor-element-055656e h4,
body .elementor-element-055656e .elementor-heading-title,
body .elementor-element-1e36537 h1,
body .elementor-element-1e36537 h2,
body .elementor-element-1e36537 h3,
body .elementor-element-1e36537 h4,
body .elementor-element-1e36537 .elementor-heading-title,
body .elementor-element-1e5d741 h1,
body .elementor-element-1e5d741 h2,
body .elementor-element-1e5d741 h3,
body .elementor-element-1e5d741 h4,
body .elementor-element-1e5d741 .elementor-heading-title,
body .elementor-element-a76c91f h1,
body .elementor-element-a76c91f h2,
body .elementor-element-a76c91f h3,
body .elementor-element-a76c91f h4,
body .elementor-element-a76c91f .elementor-heading-title,
body .elementor-element-74d70f8 h1,
body .elementor-element-74d70f8 h2,
body .elementor-element-74d70f8 h3,
body .elementor-element-74d70f8 h4,
body .elementor-element-74d70f8 .elementor-heading-title,
body .elementor-element-dd44a6c h1,
body .elementor-element-dd44a6c h2,
body .elementor-element-dd44a6c h3,
body .elementor-element-dd44a6c h4,
body .elementor-element-dd44a6c .elementor-heading-title,
body .elementor-element-e11c68d h1,
body .elementor-element-e11c68d h2,
body .elementor-element-e11c68d h3,
body .elementor-element-e11c68d h4,
body .elementor-element-e11c68d .elementor-heading-title,
body .elementor-element-1a7181d h1,
body .elementor-element-1a7181d h2,
body .elementor-element-1a7181d h3,
body .elementor-element-1a7181d h4,
body .elementor-element-1a7181d .elementor-heading-title,
body .elementor-element-c5115b0 h1,
body .elementor-element-c5115b0 h2,
body .elementor-element-c5115b0 h3,
body .elementor-element-c5115b0 h4,
body .elementor-element-c5115b0 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
}

/* Quartz section heading */
body .elementor-element-3d1aa98 h2,
body .elementor-element-3d1aa98 .elementor-heading-title {
  color: #1a1a1a !important;
  font-size: 42px !important;
  font-weight: 300 !important;
}

/* Grid heading */
body .elementor-element-ade78d8 h2,
body .elementor-element-ade78d8 .elementor-heading-title {
  color: #1a1a1a !important;
  font-size: 42px !important;
  font-weight: 300 !important;
}

/* Stone name labels: dark text */
body .elementor-element-3077e60 h2,
body .elementor-element-3077e60 .elementor-heading-title,
body .elementor-element-71b9739 h2,
body .elementor-element-71b9739 .elementor-heading-title,
body .elementor-element-658518a h2,
body .elementor-element-658518a .elementor-heading-title,
body .elementor-element-edaac09 h2,
body .elementor-element-edaac09 .elementor-heading-title,
body .elementor-element-51e223c h2,
body .elementor-element-51e223c .elementor-heading-title,
body .elementor-element-b064863 h2,
body .elementor-element-b064863 .elementor-heading-title,
body .elementor-element-0c093cf h2,
body .elementor-element-0c093cf .elementor-heading-title,
body .elementor-element-a8c885d h2,
body .elementor-element-a8c885d .elementor-heading-title,
body .elementor-element-055656e h2,
body .elementor-element-055656e .elementor-heading-title,
body .elementor-element-1e36537 h2,
body .elementor-element-1e36537 .elementor-heading-title,
body .elementor-element-1e5d741 h2,
body .elementor-element-1e5d741 .elementor-heading-title,
body .elementor-element-a76c91f h2,
body .elementor-element-a76c91f .elementor-heading-title,
body .elementor-element-74d70f8 h2,
body .elementor-element-74d70f8 .elementor-heading-title,
body .elementor-element-dd44a6c h2,
body .elementor-element-dd44a6c .elementor-heading-title,
body .elementor-element-e11c68d h2,
body .elementor-element-e11c68d .elementor-heading-title,
body .elementor-element-1a7181d h2,
body .elementor-element-1a7181d .elementor-heading-title,
body .elementor-element-c5115b0 h2,
body .elementor-element-c5115b0 .elementor-heading-title {
  color: #1a1a1a !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
}

/* Stone label bars */
body .elementor-element-169a099,
body .elementor-element-c89747f,
body .elementor-element-fed88c6 {
  background-color: #ffffff !important;
  border-top: 1px solid rgba(196,168,130,0.3) !important;
  padding: 12px 16px !important;
}

/* Get in Touch: gold outline pill */
body .elementor-element-1d302ec a,
.elementor-2501 a.ekit-btn-wraper,
[data-id="1d302ec"] a {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Request Custom Quartz → gold */
body .elementor-element-6c04e0c .elementor-button,
body .elementor-element-6c04e0c a {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border-color: #c4a882 !important;
  font-family: "Jost", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
}

/* Quartz section body text */
body .elementor-element-1746e74 p,
body .elementor-element-f1bab9d .elementor-widget-text-editor p {
  font-family: "Jost", sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  color: #2a2a2a !important;
  line-height: 1.85 !important;
}

/* Why Quartz section background */
body .elementor-element-f1bab9d {
  background-color: #faf9f7 !important;
}

/* Quartz section eyebrow label */
body .elementor-element-3d1aa98 .elementor-heading-title::before {
  content: "ENGINEERED STONE EXCELLENCE" !important;
  display: block !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  color: #c4a882 !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

/* Gold divider after Quartz heading */
body .elementor-element-3d1aa98 .elementor-heading-title::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 1px !important;
  background: #c4a882 !important;
  margin: 20px 0 0 !important;
}

/* Key Benefits heading */
body .elementor-element-f1bab9d h3,
body .elementor-element-f1bab9d .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
}


/* ===== QUARTZ PAGE - Phase 2 refinements ===== */

/* Hero: dark gradient overlay for white text legibility */
.elementor-2501 .elementor-element-54e04d9::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.32) 0%, rgba(0,0,0,0.45) 100%) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.elementor-2501 .elementor-element-54e04d9 { position: relative !important; }

/* Key Benefits: Geologica → Montserrat gold */
body .elementor-element-18ac8e9 span,
body .elementor-element-18ac8e9 {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #c4a882 !important;
}

/* Ideal Applications heading */
body .elementor-element-1a7181d h2,
body .elementor-element-1a7181d h3,
body .elementor-element-1a7181d .elementor-heading-title,
body .elementor-element-1a7181d {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #c4a882 !important;
}

/* Application tiles: refined */
body .elementor-element-7fb316d,
body .elementor-element-8601b98,
body .elementor-element-e59ca63,
body .elementor-element-6aa1145,
body .elementor-element-a3cc624,
body .elementor-element-7e3eebc,
body .elementor-element-8f37c7a,
body .elementor-element-7db2d6b {
  background-color: #faf9f7 !important;
  border: 1px solid rgba(196,168,130,0.2) !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  letter-spacing: 0.5px !important;
}

/* Tile text */
body .elementor-element-7fb316d h3,
body .elementor-element-7fb316d h4,
body .elementor-element-7fb316d p,
body .elementor-element-7fb316d .elementor-heading-title,
body .elementor-element-8601b98 h3,
body .elementor-element-8601b98 h4,
body .elementor-element-8601b98 p,
body .elementor-element-8601b98 .elementor-heading-title,
body .elementor-element-e59ca63 h3,
body .elementor-element-e59ca63 h4,
body .elementor-element-e59ca63 p,
body .elementor-element-e59ca63 .elementor-heading-title,
body .elementor-element-6aa1145 h3,
body .elementor-element-6aa1145 h4,
body .elementor-element-6aa1145 p,
body .elementor-element-6aa1145 .elementor-heading-title,
body .elementor-element-a3cc624 h3,
body .elementor-element-a3cc624 h4,
body .elementor-element-a3cc624 p,
body .elementor-element-a3cc624 .elementor-heading-title,
body .elementor-element-7e3eebc h3,
body .elementor-element-7e3eebc h4,
body .elementor-element-7e3eebc p,
body .elementor-element-7e3eebc .elementor-heading-title,
body .elementor-element-8f37c7a h3,
body .elementor-element-8f37c7a h4,
body .elementor-element-8f37c7a p,
body .elementor-element-8f37c7a .elementor-heading-title,
body .elementor-element-7db2d6b h3,
body .elementor-element-7db2d6b h4,
body .elementor-element-7db2d6b p,
body .elementor-element-7db2d6b .elementor-heading-title {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  letter-spacing: 0.5px !important;
}

/* Get in Touch pill button */
body .elementor-element-bd667b0 a,
body [data-id="bd667b0"] a {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Get in Touch span Geologica */
.elementor-2501 a span,
.elementor-2501 .ekit-btn-wraper a span {
  font-family: "Montserrat", sans-serif !important;
}

/* Quartz section bg: warm white */
body .elementor-element-f1bab9d {
  background-color: #faf9f7 !important;
  padding-top: 50px !important;
  padding-bottom: 70px !important;
}

/* CTA heading in Cormorant */
.elementor-2501 .elementor-element-6c04e0c ~ * h2,
.elementor-2501 [class*="bd667b0"] h2 {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
}

/* Hero subtext */
body .elementor-element-54e04d9 p {
  color: rgba(255,255,255,0.9) !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
}


/* ===== QUARTZ PAGE - Full Polish Pass ===== */

/* Hero heading: white text */
.elementor-2501 .elementor-element-9f659d9 h2,
.elementor-2501 .elementor-element-9f659d9 .elementor-heading-title,
.elementor-2501 [data-id="9f659d9"] h2 {
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.3) !important;
}

/* Hero overlay: lighter for elegant feel */
.elementor-2501 .elementor-element-54e04d9::before {
  background: rgba(0,0,0,0.28) !important;
  opacity: 1 !important;
}

/* Key Benefits: remove clunky orange arrow icon */
.elementor-2501 .elementor-element-18ac8e9 .elementor-icon { display: none !important; }
.elementor-2501 .elementor-element-18ac8e9 {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Checklist items: refined */
.elementor-2501 .elementor-element-f1bab9d .elementor-icon-list-item .elementor-icon-list-text {
  font-family: "Jost", sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #2a2a2a !important;
  letter-spacing: 0.2px !important;
}
.elementor-2501 .elementor-element-f1bab9d .elementor-icon-list-icon i,
.elementor-2501 .elementor-element-f1bab9d .elementor-icon-list-icon svg {
  color: #c4a882 !important;
  font-size: 14px !important;
}

/* Stone grid: clean warm white bg */
.elementor-2501 .elementor-element-faa9a45 {
  background-color: #f7f7f7 !important;
}

/* Get in Touch: gold outline, Montserrat */
.elementor-2501 .elementor-element-bd667b0 a,
.elementor-2501 .elementor-element-bd667b0 .ekit-btn-wraper,
.elementor-2501 [data-id="bd667b0"] a {
  background: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  border-radius: 30px !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
}

/* Request Custom Quartz: refined */
.elementor-2501 .elementor-element-6c04e0c .elementor-button {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
}

/* Stone name label bars: pure white, sharp gold border */
.elementor-2501 .elementor-element-169a099,
.elementor-2501 .elementor-element-c89747f,
.elementor-2501 .elementor-element-fed88c6 {
  background-color: #ffffff !important;
  border-top: 1px solid rgba(196,168,130,0.25) !important;
}

/* Application tiles: high-end warm feel */
.elementor-2501 .elementor-element-7fb316d,
.elementor-2501 .elementor-element-8601b98,
.elementor-2501 .elementor-element-e59ca63,
.elementor-2501 .elementor-element-6aa1145,
.elementor-2501 .elementor-element-a3cc624,
.elementor-2501 .elementor-element-7e3eebc,
.elementor-2501 .elementor-element-8f37c7a,
.elementor-2501 .elementor-element-7db2d6b {
  background-color: #faf9f7 !important;
  border: 1px solid rgba(196,168,130,0.2) !important;
  border-radius: 0 !important;
}
.elementor-2501 .elementor-element-7fb316d *,
.elementor-2501 .elementor-element-8601b98 *,
.elementor-2501 .elementor-element-e59ca63 *,
.elementor-2501 .elementor-element-6aa1145 *,
.elementor-2501 .elementor-element-a3cc624 *,
.elementor-2501 .elementor-element-7e3eebc *,
.elementor-2501 .elementor-element-8f37c7a *,
.elementor-2501 .elementor-element-7db2d6b * {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  letter-spacing: 0.5px !important;
}

/* Ideal Applications heading: Montserrat gold eyebrow */
.elementor-2501 .elementor-element-1a7181d,
.elementor-2501 .elementor-element-1a7181d * {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #c4a882 !important;
}

/* CTA body text */
.elementor-2501 .elementor-element-aa9e1b0 p {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  color: rgba(255,255,255,0.88) !important;
  line-height: 1.8 !important;
}

/* Quartz section body text: Jost 300, 16px */
.elementor-2501 .elementor-element-1746e74 p {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  color: #2a2a2a !important;
  line-height: 1.85 !important;
  letter-spacing: 0.2px !important;
}


/* ===== QUARTZ HERO - tagline below heading ===== */

/* Hero tagline: below "Quartz Collection" heading */
.elementor-2501 .elementor-element-9f659d9 .elementor-heading-title::after {
  content: "Engineered for performance, designed for beauty — sourced from the world's finest manufacturers." !important;
  display: block !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 18px !important;
  color: rgba(255, 255, 255, 0.88) !important;
  letter-spacing: 0.3px !important;
  margin-top: 16px !important;
  line-height: 1.6 !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.2) !important;
}


/* ===== RESOURCES PAGE - Mobile Optimisation (max 767px) ===== */

@media (max-width: 767px) {

  /* Hero heading: scale down for mobile */
  .elementor-8781 .elementor-element-9b0b0e2 h1,
  .elementor-8781 .elementor-element-9b0b0e2 h2,
  .elementor-8781 .elementor-element-9b0b0e2 .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.25 !important;
  }

  /* Eyebrow label: smaller on mobile */
  .elementor-8781 .elementor-element-1daace5,
  .elementor-8781 .elementor-element-1daace5 * {
    font-size: 10px !important;
    letter-spacing: 2px !important;
  }

  /* Hero subtext: readable on mobile */
  .elementor-8781 .elementor-element-20f3572 p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    padding: 0 10px !important;
  }

  /* Article card rows: stack on mobile */
  .elementor-8781 .elementor-element-348b93e,
  .elementor-8781 .elementor-element-a38da5a {
    flex-direction: column !important;
  }

  /* Card columns: full width when stacked */
  .elementor-8781 .elementor-element-1bf3db1,
  .elementor-8781 .elementor-element-1b683f0,
  .elementor-8781 .elementor-element-b19e87d,
  .elementor-8781 .elementor-element-d154797 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Featured article heading: scale down */
  .elementor-8781 .elementor-element-9851add h2,
  .elementor-8781 .elementor-element-9851add .elementor-heading-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }

  /* Article sub-headings: scale down */
  .elementor-8781 .elementor-element-68bf5d3 h4,
  .elementor-8781 .elementor-element-034e2ad h4,
  .elementor-8781 .elementor-element-68bf5d3 .elementor-heading-title,
  .elementor-8781 .elementor-element-034e2ad .elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }

  /* Section padding: tighter on mobile */
  .elementor-8781 .elementor-element-61494fe {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Filter tabs: wrap nicely */
  .elementor-8781 .elementor-element-e873d3f {
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .elementor-8781 .elementor-element-e873d3f .elementor-widget {
    width: 100% !important;
  }
  .elementor-8781 .elementor-element-e873d3f .elementor-button {
    width: 100% !important;
    text-align: center !important;
  }

  /* Hero section: tighter padding on mobile */
  .elementor-8781 .elementor-element-61494fe > .e-con-inner {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

}


/* ===== RESOURCES - Mobile: fix flex children widths ===== */

@media (max-width: 767px) {

  /* Card children: override flex basis to full width */
  .elementor-8781 .elementor-element-1bf3db1,
  .elementor-8781 .elementor-element-1b683f0,
  .elementor-8781 .elementor-element-b19e87d,
  .elementor-8781 .elementor-element-d154797 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }

  /* All multi-column rows in resources: stack on mobile */
  .elementor-8781 .e-con-full.e-flex {
    flex-direction: column !important;
  }
  .elementor-8781 .elementor-element-61494fe.e-flex {
    flex-direction: column !important;
  }

  /* Force all direct children of row containers to full width */
  .elementor-8781 .elementor-element-348b93e > .elementor-element,
  .elementor-8781 .elementor-element-a38da5a > .elementor-element,
  .elementor-8781 .elementor-element-a33ea78 > .elementor-element {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Featured article heading: prevent overflow */
  .elementor-8781 .elementor-element-9851add h2,
  .elementor-8781 .elementor-element-9851add .elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Article body text: readable width on mobile */
  .elementor-8781 .elementor-element-1b683f0 p,
  .elementor-8781 .elementor-element-1b683f0 .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

}


/* ===== RESOURCES - Mobile: high specificity column fix ===== */

@media (max-width: 767px) {
  .elementor-8781 .elementor-element.elementor-element-1bf3db1 {
    flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  }
  .elementor-8781 .elementor-element.elementor-element-1b683f0 {
    flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  }
  .elementor-8781 .elementor-element.elementor-element-b19e87d {
    flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  }
  .elementor-8781 .elementor-element.elementor-element-d154797 {
    flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  }
}


/* ===== RESOURCES - Mobile: body-level specificity to beat Elementor ===== */

@media (max-width: 767px) {
  body .elementor-8781 .elementor-element.elementor-element-1bf3db1 {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }
  body .elementor-8781 .elementor-element.elementor-element-1b683f0 {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }
  body .elementor-8781 .elementor-element.elementor-element-b19e87d {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }
  body .elementor-8781 .elementor-element.elementor-element-d154797 {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }
}


/* ===== RESOURCES MOBILE - remaining section fixes ===== */

@media (max-width: 767px) {

  /* Quick Guides section: stack on mobile */
  .elementor-8781 .elementor-element-452b07c {
    flex-direction: column !important;
  }
  body .elementor-8781 .elementor-element.elementor-element-7ba2529,
  body .elementor-8781 .elementor-element.elementor-element-4cb7de6 {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Card heights: more compact on mobile */
  body .elementor-8781 .elementor-element.elementor-element-1bf3db1 {
    min-height: 300px !important;
  }

  /* All card inner content: no overflow */
  .elementor-8781 .elementor-element-348b93e *,
  .elementor-8781 .elementor-element-a33ea78 *,
  .elementor-8781 .elementor-element-a38da5a *,
  .elementor-8781 .elementor-element-452b07c * {
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* Hero section: compact height on mobile */
  .elementor-8781 .elementor-element-61494fe {
    min-height: auto !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }

  /* Page title: scale down */
  .page-title, .entry-title { font-size: 28px !important; }

  /* Footer columns: stack on mobile */
  .elementor-element-446fc25 {
    flex-direction: column !important;
  }

}


/* ===== RESOURCES MOBILE - final polish ===== */

@media (max-width: 767px) {

  /* Remove white sliver: outer containers full width, no gaps */
  .elementor-8781 .elementor-element-348b93e,
  .elementor-8781 .elementor-element-a33ea78,
  .elementor-8781 .elementor-element-a38da5a,
  .elementor-8781 .elementor-element-452b07c {
    overflow: hidden !important;
    width: 100% !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  /* Comparison table: wrap to 2 columns on mobile */
  .elementor-8781 .elementor-element-7316824 {
    flex-wrap: wrap !important;
    flex-direction: row !important;
  }
  .elementor-8781 .elementor-element-7316824 > .elementor-element {
    flex: 0 0 50% !important;
    width: 50% !important;
  }

  /* Stone Care Guide heading: scale down */
  .elementor-8781 .elementor-element-b19e87d h2,
  .elementor-8781 .elementor-element-b19e87d .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  /* Quick Guides headings: scale down */
  .elementor-8781 h2, .elementor-8781 h3 {
    font-size: clamp(18px, 5vw, 28px) !important;
    line-height: 1.3 !important;
  }

  /* Global overflow prevention */
  .elementor-8781 { overflow-x: hidden !important; }
  .elementor-8781 .e-con, .elementor-8781 .elementor-widget-container {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

}


/* ===== RESOURCES MOBILE - comparison table + final tweaks ===== */

@media (max-width: 767px) {

  /* Comparison table: allow horizontal scroll or stack */
  .elementor-8781 .elementor-element-7316824 {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .elementor-8781 .elementor-element-7316824 > .elementor-element {
    flex: 0 0 50% !important;
    min-width: 150px !important;
  }

  /* Know Your Stone section: allow scrolling */
  .elementor-8781 .elementor-element-a33ea78 {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Stone care cards: readable font sizes */
  .elementor-8781 .elementor-element-e7f33e0 h2,
  .elementor-8781 .elementor-element-e7f33e0 .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  /* Quick guides: heading sizes */
  .elementor-8781 .elementor-element-7ba2529 h2,
  .elementor-8781 .elementor-element-7ba2529 .elementor-heading-title,
  .elementor-8781 .elementor-element-4cb7de6 h2,
  .elementor-8781 .elementor-element-4cb7de6 .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }

  /* Stay Inspired CTA: full width */
  .elementor-8781 .elementor-element-f52e46c .elementor-button,
  .elementor-8781 .elementor-element-f52e46c a {
    width: 100% !important;
    text-align: center !important;
  }

}


/* ===== STONE CARE CARD - text visibility fix ===== */

/* Stone care card (tan bg): all text dark and readable */
.elementor-8781 .elementor-element-b19e87d h2,
.elementor-8781 .elementor-element-b19e87d h3,
.elementor-8781 .elementor-element-b19e87d h4,
.elementor-8781 .elementor-element-b19e87d .elementor-heading-title {
  color: #1a1a1a !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
}
.elementor-8781 .elementor-element-b19e87d p,
.elementor-8781 .elementor-element-b19e87d .elementor-widget-text-editor p {
  color: #2a2a2a !important;
  font-family: "Jost", sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
}
.elementor-8781 .elementor-element-b19e87d h6,
.elementor-8781 .elementor-element-b19e87d .elementor-heading-title[style*="h6"] {
  color: #1a1a1a !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
}

/* Read the Guide card: dark text on light bg */
.elementor-8781 .elementor-element-d154797 h2,
.elementor-8781 .elementor-element-d154797 .elementor-heading-title {
  color: #1a1a1a !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}


/* ===== CONTACT US PAGE - Full brand overhaul (page 16) ===== */

/* Hero: Cormorant Garamond, white */
.elementor-16 .elementor-element-052ab68 h2,
.elementor-16 .elementor-element-052ab68 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 56px !important;
  letter-spacing: 1px !important;
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.25) !important;
}
.elementor-16 .elementor-element-052ab68 .elementor-heading-title::after {
  content: "We'd love to hear from you — visit our showroom or send us a message." !important;
  display: block !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  letter-spacing: 0.3px !important;
  color: rgba(255,255,255,0.88) !important;
  margin-top: 14px !important;
  text-shadow: none !important;
}

/* Contact section: warm cream bg */
.elementor-16 .elementor-element-6ddff41 {
  background-color: #ffffff !important;
}

/* Info panel: rich dark #1a1a1a */
.elementor-16 .elementor-element-3cd3a99 {
  background-color: #1a1a1a !important;
  padding: 60px 48px !important;
}

/* Info panel headings → Cormorant Garamond */
.elementor-16 .elementor-element-786042c h3,
.elementor-16 .elementor-element-c582c72 h3,
.elementor-16 .elementor-element-a812237 h3,
.elementor-16 .elementor-element-f130de6 h3,
.elementor-16 .elementor-element-786042c .elementor-heading-title,
.elementor-16 .elementor-element-c582c72 .elementor-heading-title,
.elementor-16 .elementor-element-a812237 .elementor-heading-title,
.elementor-16 .elementor-element-f130de6 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  color: #c4a882 !important;
  letter-spacing: 0.5px !important;
}

/* Info panel body text: soft white */
.elementor-16 .elementor-element-3cd3a99 p,
.elementor-16 .elementor-element-3cd3a99 .elementor-icon-box-description,
.elementor-16 .elementor-element-3cd3a99 .elementor-widget-text-editor p {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.7 !important;
}

/* Info panel icons: gold */
.elementor-16 .elementor-element-3cd3a99 .elementor-icon i,
.elementor-16 .elementor-element-3cd3a99 .elementor-icon svg {
  color: #c4a882 !important;
  fill: #c4a882 !important;
}

/* Call button: gold outline */
.elementor-16 .elementor-element-e8c896c a,
.elementor-16 .elementor-element-e8c896c .elementor-button {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
}

/* Form panel: pure white, clean */
.elementor-16 .elementor-element-7018afe {
  background-color: #ffffff !important;
  padding: 60px 48px !important;
}

/* Form heading: Cormorant Garamond */
.elementor-16 .elementor-element-914a287 h2,
.elementor-16 .elementor-element-914a287 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 42px !important;
  color: #1a1a1a !important;
  letter-spacing: 0.5px !important;
}

/* Form subtext */
.elementor-16 .elementor-element-58825bc p,
.elementor-16 .elementor-element-58825bc .elementor-widget-text-editor p {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  color: #5a5a5a !important;
  line-height: 1.7 !important;
}

/* Form labels */
.elementor-16 .elementor-field-label {
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #5a5a5a !important;
}

/* Form inputs: minimal, elegant */
.elementor-16 .elementor-field-type-text input,
.elementor-16 .elementor-field-type-email input,
.elementor-16 .elementor-field-type-tel input,
.elementor-16 .elementor-field-type-textarea textarea {
  border: none !important;
  border-bottom: 1px solid rgba(196,168,130,0.4) !important;
  border-radius: 0 !important;
  background-color: transparent !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
  padding: 10px 0 !important;
  outline: none !important;
  box-shadow: none !important;
}
.elementor-16 .elementor-field-type-text input:focus,
.elementor-16 .elementor-field-type-email input:focus,
.elementor-16 .elementor-field-type-tel input:focus,
.elementor-16 .elementor-field-type-textarea textarea:focus {
  border-bottom-color: #c4a882 !important;
}

/* Submit button: gold */
.elementor-16 .elementor-button[type="submit"],
.elementor-16 .elementor-form .e-form__buttons .elementor-button,
.elementor-16 .elementor-element-db21bc2 .elementor-button,
.elementor-16 .elementor-element-01a9ad9 .elementor-button {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
}

/* Map section heading */
.elementor-16 .elementor-element-94ff33c h2,
.elementor-16 .elementor-element-94ff33c .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 42px !important;
  color: #1a1a1a !important;
}

/* How To Reach Us button: gold outline */
.elementor-16 .elementor-element-1edb898 a,
.elementor-16 .elementor-element-1edb898 .elementor-button,
.elementor-16 .elementor-element-6a51b0f a,
.elementor-16 .elementor-element-6a51b0f .elementor-button {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  border-radius: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
}

/* Map section bg */
.elementor-16 .elementor-element-838f86e,
.elementor-16 .elementor-element-838f86e > .e-con-inner {
  background-color: #faf9f7 !important;
  padding: 80px 0 40px !important;
}

/* Info panel dividers: gold-tinted */
.elementor-16 .elementor-element-3cd3a99 .elementor-widget-divider .elementor-divider-separator {
  border-color: rgba(196,168,130,0.2) !important;
}


/* ===== CONTACT US - Form + Button polish ===== */

/* CF7 form inputs: clean underline */
.elementor-16 .wpcf7-text,
.elementor-16 .wpcf7-email,
.elementor-16 .wpcf7-tel,
.elementor-16 .wpcf7-textarea {
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(196,168,130,0.35) !important;
  border-radius: 0 !important;
  padding: 10px 0 !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
}
.elementor-16 .wpcf7-text:focus,
.elementor-16 .wpcf7-email:focus,
.elementor-16 .wpcf7-tel:focus,
.elementor-16 .wpcf7-textarea:focus {
  border-bottom-color: #c4a882 !important;
  box-shadow: none !important;
}

/* CF7 submit button: gold */
.elementor-16 .wpcf7-submit,
.elementor-16 input[type="submit"],
.elementor-16 button[type="submit"] {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Jost", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  cursor: pointer !important;
}

/* How To Reach Us button: gold outline */
body .elementor-16 a[href*="maps"],
body .elementor-16 a[href*="google"],
body .elementor-16 .elementor-element-838f86e .elementor-button,
body .elementor-16 .elementor-element-838f86e a.elementor-button {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  border-radius: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
}

/* Map section all buttons */
body .elementor-16 .elementor-element-838f86e .elementor-button-wrapper .elementor-button,
body .elementor-16 .elementor-element-838f86e .elementor-widget-button .elementor-button {
  background-color: transparent !important;
  color: #c4a882 !important;
  border: 1px solid #c4a882 !important;
  border-radius: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Form section clean background */
.elementor-16 .elementor-element-7018afe {
  background-color: #ffffff !important;
}

/* Info panel: all text whites */
.elementor-16 .elementor-element-3cd3a99 {
  background-color: #1a1a1a !important;
}
.elementor-16 .elementor-element-3cd3a99 .elementor-widget-container p,
.elementor-16 .elementor-element-3cd3a99 .elementor-widget-container a {
  color: rgba(255,255,255,0.80) !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
}

/* Lets connect heading: Cormorant dark */
body .elementor-16 .elementor-element-94ff33c h2,
body .elementor-16 .elementor-element-94ff33c .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 42px !important;
  color: #1a1a1a !important;
  letter-spacing: 0.5px !important;
}


/* ===== CONTACT US - Final fixes ===== */

/* Fix Location icon: undo gold outline applied by maps href rule */
.elementor-16 .elementor-element-a812237 .elementor-icon,
.elementor-16 [data-id="a812237"] a.elementor-icon {
  background-color: transparent !important;
  border: none !important;
  color: #c4a882 !important;
  padding: 0 !important;
  font-size: inherit !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
}

/* All icon links in info panel: icon style only */
.elementor-16 .elementor-element-3cd3a99 a.elementor-icon {
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 18px !important;
}

/* How To Reach Us icon list: gold outline style */
.elementor-16 .elementor-element-db21bc2 {
  background-color: transparent !important;
  border: 1px solid #c4a882 !important;
  border-radius: 0 !important;
  padding: 12px 28px !important;
}
.elementor-16 .elementor-element-db21bc2 .elementor-icon-list-text {
  color: #c4a882 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
.elementor-16 .elementor-element-db21bc2 .elementor-icon-list-icon i,
.elementor-16 .elementor-element-db21bc2 .elementor-icon-list-icon svg {
  color: #c4a882 !important;
  fill: #c4a882 !important;
  font-size: 14px !important;
}

/* Map section: warm white bg */
.elementor-16 .elementor-element-e088f01 {
  background-color: #faf9f7 !important;
  padding-top: 60px !important;
  padding-bottom: 40px !important;
}


/* ===== CONTACT - Location heading fix ===== */

/* Location heading h3: restore normal heading style */
.elementor-16 .elementor-element-a812237 h3,
.elementor-16 .elementor-element-a812237 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  color: #c4a882 !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  padding: 0 !important;
  display: block !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

/* Location icon link: no button styling */
body .elementor-16 .elementor-element-a812237 a[href*="maps"],
body .elementor-16 .elementor-element-a812237 a[href*="goo.gl"] {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  color: #c4a882 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: inherit !important;
}


/* ===== CONTACT US - Audit fixes: friction removal + polish ===== */

/* Location heading: match other info headings */
body .elementor-16 .elementor-element-a812237 .elementor-icon-box-title,
body .elementor-16 .elementor-element-a812237 h3,
body .elementor-16 .elementor-element-a812237 h4,
body .elementor-16 .elementor-element-a812237 .elementor-heading-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  color: #c4a882 !important;
  background: none !important;
  border: none !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  padding: 0 !important;
  display: block !important;
  line-height: 1.4 !important;
  margin: 0 0 8px 0 !important;
}

/* Form labels: light Montserrat, not bold */
.elementor-16 .elementor-field-label,
.elementor-16 label {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #8a8a8a !important;
}

/* Submit: correct gold #c4a882 */
body .elementor-16 .wpcf7-submit,
body .elementor-16 input[type="submit"],
body .elementor-16 button[type="submit"] {
  background-color: #c4a882 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 16px 48px !important;
  cursor: pointer !important;
  display: inline-block !important;
  margin-top: 8px !important;
}

/* Remove dead white gap between form and map */
.elementor-16 .elementor-element-6ddff41 {
  padding-bottom: 0 !important;
}
.elementor-16 .elementor-element-e088f01 {
  padding-top: 60px !important;
}

/* HOW TO REACH US: darker border, more readable */
.elementor-16 .elementor-element-db21bc2 {
  border: 1px solid rgba(196,168,130,0.7) !important;
  padding: 12px 28px !important;
  background-color: transparent !important;
}
.elementor-16 .elementor-element-db21bc2 .elementor-icon-list-text {
  color: #c4a882 !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Form panel: tighter top padding for proportion */
.elementor-16 .elementor-element-7018afe {
  padding: 56px 48px 48px !important;
}

/* Info panel: equal padding */
.elementor-16 .elementor-element-3cd3a99 {
  padding: 56px 48px 48px !important;
}

/* Location icon: gold, proper alignment */
.elementor-16 .elementor-element-a812237 .elementor-icon-box-icon .elementor-icon {
  width: 40px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
}
.elementor-16 .elementor-element-a812237 .elementor-icon-box-icon .elementor-icon i,
.elementor-16 .elementor-element-a812237 .elementor-icon-box-icon .elementor-icon svg {
  color: #c4a882 !important;
  fill: #c4a882 !important;
  font-size: 22px !important;
}

/* All info icons in panel: gold, consistent size */
.elementor-16 .elementor-element-3cd3a99 .elementor-icon-box-icon {
  margin-right: 0 !important;
}
.elementor-16 .elementor-element-3cd3a99 .elementor-icon-box-icon i,
.elementor-16 .elementor-element-3cd3a99 .elementor-icon-box-icon svg {
  color: #c4a882 !important;
  fill: #c4a882 !important;
  font-size: 22px !important;
}


/* ===== CONTACT - Spacing + final polish ===== */

/* Two-col section: remove excess bottom padding */
.elementor-16 .elementor-element-6ddff41 > .e-con-inner {
  padding-bottom: 0 !important;
}
.elementor-16 .elementor-element-6ddff41 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Map section: tighter top padding */
.elementor-16 .elementor-element-e088f01 {
  background-color: #faf9f7 !important;
  padding-top: 48px !important;
  padding-bottom: 0 !important;
}
.elementor-16 .elementor-element-e088f01 > .e-con-inner {
  padding-top: 48px !important;
  padding-bottom: 0 !important;
}

/* Remove any default section gap */
.elementor-16 .elementor-element-6ddff41 + .elementor-element-e088f01 {
  margin-top: 0 !important;
}

/* Location: extra specificity for title */
body .elementor-16 [data-id="a812237"] .elementor-icon-box-title {
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  color: #c4a882 !important;
  letter-spacing: 0.5px !important;
}

/* Phone numbers: make them clickable visually */
.elementor-16 .elementor-element-3cd3a99 a[href*="tel"] {
  color: rgba(255,255,255,0.82) !important;
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
}

/* Email: clickable style */
.elementor-16 .elementor-element-3cd3a99 a[href*="mailto"] {
  color: rgba(255,255,255,0.82) !important;
  text-decoration: none !important;
}

/* White gap strip: set to cream */
.elementor-16 > .elementor-section-wrap > *:not(.elementor-element-7f2626b):not(.elementor-element-6ddff41):not(.elementor-element-e088f01) {
  /* leave as-is */
}


/* ================================================
   SITE-WIDE MOBILE OPTIMISATION - All Pages
   ================================================ */

@media (max-width: 767px) {

  /* Global page title */
  .page-title, .entry-title { font-size: 26px !important; }

  /* Global overflow prevention */
  body { overflow-x: hidden !important; }
  .e-con, .elementor-container { overflow-x: hidden !important; }

  /* === HOME PAGE === */
  .home .elementor-heading-title { max-width: 100% !important; }
  .home .elementor-element-c4ad6ea {
    flex-direction: column !important;
    overflow-x: hidden !important;
  }
  .home .elementor-element-c4ad6ea > .elementor-element {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  /* === ABOUT US (15) === */
  .page-id-15 .elementor-element-53dc305 h2,
  .page-id-15 .elementor-element-53dc305 .elementor-heading-title { font-size: 52px !important; }
  .page-id-15 .elementor-element-c07af0c h5,
  .page-id-15 .elementor-element-c07af0c .elementor-heading-title { font-size: 16px !important; line-height: 1.5 !important; }
  .page-id-15 .elementor-element-9f0eaf8 h2,
  .page-id-15 .elementor-element-9f0eaf8 .elementor-heading-title { font-size: 38px !important !important; }
  .page-id-15 .elementor-element-b3b7586 {
    flex-direction: column !important;
  }
  body .page-id-15 .elementor-element.elementor-element-6fbe676,
  body .page-id-15 .elementor-element.elementor-element-305fd9e,
  body .page-id-15 .elementor-element.elementor-element-e12ac2b {
    flex: 0 0 100% !important; width: 100% !important;
  }
  .page-id-15 .elementor-element-db48e94 h3,
  .page-id-15 .elementor-element-7f2b9fd h3,
  .page-id-15 .elementor-element-e6fbb9e h3,
  .page-id-15 .elementor-element-db48e94 .elementor-heading-title,
  .page-id-15 .elementor-element-7f2b9fd .elementor-heading-title,
  .page-id-15 .elementor-element-e6fbb9e .elementor-heading-title { font-size: 24px !important; }
  .page-id-15 .elementor-element-7828831 {
    flex-direction: column !important;
  }
  .page-id-15 .elementor-element-7828831 > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important;
  }
  .page-id-15 .elementor-element-52f47f2 {
    flex-direction: column !important;
  }
  body .page-id-15 .elementor-element.elementor-element-b49e3c4,
  body .page-id-15 .elementor-element.elementor-element-578813e,
  body .page-id-15 .elementor-element.elementor-element-5fb6ab6,
  body .page-id-15 .elementor-element.elementor-element-8e1756e {
    flex: 0 0 100% !important; width: 100% !important;
  }
  .page-id-15 .elementor-element-5104e09 h2,
  .page-id-15 .elementor-element-33699ec h2,
  .page-id-15 .elementor-element-5104e09 .elementor-heading-title,
  .page-id-15 .elementor-element-33699ec .elementor-heading-title { font-size: 26px !important; }

  /* === QUARTZITE (2839) === */
  .page-id-2839 .elementor-element-d3281ae h1,
  .page-id-2839 .elementor-element-d3281ae .elementor-heading-title { font-size: 28px !important; }
  .page-id-2839 .elementor-element-cc5064d h2,
  .page-id-2839 .elementor-element-cc5064d .elementor-heading-title { font-size: 28px !important; }
  .page-id-2839 .elementor-element-24fce77 h2,
  .page-id-2839 .elementor-element-24fce77 .elementor-heading-title { font-size: 28px !important; }
  /* Quartzite grid: 1 column on mobile */
  .page-id-2839 .elementor-element-c75a9d9 {
    grid-template-columns: 1fr !important;
    flex-wrap: nowrap !important;
    flex-direction: column !important;
  }
  .page-id-2839 .elementor-element-c75a9d9 > .e-con,
  .page-id-2839 .elementor-element-c75a9d9 > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
  }
  .page-id-2839 .elementor-element-b6e5609 {
    flex-direction: column !important;
  }
  .page-id-2839 .elementor-element-b6e5609 > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important;
  }

  /* === QUARTZ (2501) === */
  .page-id-2501 .elementor-element-9f659d9 h1,
  .page-id-2501 .elementor-element-9f659d9 .elementor-heading-title { font-size: 28px !important; line-height: 1.2 !important; }
  .page-id-2501 .elementor-element-3d1aa98 h2,
  .page-id-2501 .elementor-element-ade78d8 h2,
  .page-id-2501 .elementor-element-3d1aa98 .elementor-heading-title,
  .page-id-2501 .elementor-element-ade78d8 .elementor-heading-title { font-size: 26px !important; }
  .page-id-2501 .elementor-element-e9460ae,
  .page-id-2501 .elementor-element-7d815a6,
  .page-id-2501 .elementor-element-dd57d78,
  .page-id-2501 .elementor-element-fc8cd1e {
    flex-direction: column !important;
  }
  .page-id-2501 .elementor-element-e9460ae > .elementor-element,
  .page-id-2501 .elementor-element-7d815a6 > .elementor-element,
  .page-id-2501 .elementor-element-dd57d78 > .elementor-element,
  .page-id-2501 .elementor-element-fc8cd1e > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important;
  }
  .page-id-2501 .elementor-element-8a2bcf1 {
    flex-direction: column !important;
  }
  body .page-id-2501 .elementor-element.elementor-element-5df0ccd,
  body .page-id-2501 .elementor-element.elementor-element-77ad9f2 {
    flex: 0 0 100% !important; width: 100% !important;
  }

  /* === GALLERY (20) === */
  .page-id-20 .elementor-element-4d3d304 h1,
  .page-id-20 .elementor-element-4d3d304 .elementor-heading-title { font-size: 30px !important; }
  .page-id-20 { overflow-x: hidden !important; }

  /* === FAQ (7699) === */
  .page-id-7699 .elementor-element-53dc305 h2,
  .page-id-7699 .elementor-element-53dc305 .elementor-heading-title { font-size: 26px !important; }
  .page-id-7699 #faq_subtitle { font-size: 18px !important; }
  .page-id-7699 #faq_cta_heading { font-size: 28px !important; }
  .page-id-7699 #faq_desc {
    flex-direction: column !important;
  }
  .page-id-7699 #faq_desc > * {
    flex: 0 0 100% !important; width: 100% !important;
  }

  /* === CONTACT US (16) - mobile stack === */
  .elementor-16 .elementor-element-052ab68 .elementor-heading-title { font-size: 32px !important; }
  .elementor-16 .elementor-element-3cd3a99,
  .elementor-16 .elementor-element-7018afe { padding: 40px 24px !important; }
  .elementor-16 .elementor-element-94ff33c .elementor-heading-title { font-size: 26px !important; }

} /* end @media 767px */

/* ========================================================
   GLOBAL HEADING SIZE FIXES - Applied on all screen sizes
   These override Elementor's page-specific CSS
   ======================================================== */

/* About Us (page-id-15) */
.page-id-15 .elementor-element-53dc305 .elementor-heading-title { font-size: 52px !important; }
.page-id-15 .elementor-element-9f0eaf8 .elementor-heading-title { font-size: 38px !important; }
.page-id-15 .elementor-element-33699ec .elementor-heading-title { font-size: 38px !important; }
.page-id-15 .elementor-element-5104e09 .elementor-heading-title { font-size: 38px !important; }

/* Quartzite Collection (page-id-2839) */
.page-id-2839 .elementor-element-d3281ae .elementor-heading-title { font-size: 52px !important; }

/* Stone Crafts (page-id-2503) */
.page-id-2503 .elementor-element-d67b02a .elementor-heading-title { font-size: 52px !important; line-height: 1.15 !important; }



/* ===== ABOUT US - Mission/Vision/Family card fix (high specificity) ===== */

@media (max-width: 767px) {
  body .page-id-15 .elementor-element.elementor-element-6fbe676,
  body .page-id-15 .elementor-element.elementor-element-305fd9e,
  body .page-id-15 .elementor-element.elementor-element-e12ac2b {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }

  body .page-id-15 .elementor-element-7828831 > .elementor-element {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }

  body .page-id-15 .elementor-element.elementor-element-b49e3c4,
  body .page-id-15 .elementor-element.elementor-element-578813e,
  body .page-id-15 .elementor-element.elementor-element-5fb6ab6,
  body .page-id-15 .elementor-element.elementor-element-8e1756e {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
  }
}


/* ===== ABOUT US - elementor-15 prefix fix ===== */

@media (max-width: 767px) {
  html body .elementor-15 .elementor-element.elementor-element-6fbe676,
  html body .elementor-15 .elementor-element.elementor-element-305fd9e,
  html body .elementor-15 .elementor-element.elementor-element-e12ac2b {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  html body .elementor-15 .elementor-element.elementor-element-b49e3c4,
  html body .elementor-15 .elementor-element.elementor-element-578813e,
  html body .elementor-15 .elementor-element.elementor-element-5fb6ab6,
  html body .elementor-15 .elementor-element.elementor-element-8e1756e {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}


/* ================================================
   COMPREHENSIVE MOBILE FIX - All Remaining Pages
   (html body prefix for cascade win over Elementor)
   ================================================ */

@media (max-width: 767px) {

  html, body { overflow-x: hidden !important; }
  .elementor-section, .e-con, .elementor-container { overflow-x: hidden !important; }

  /* === QUARTZITE stone grid: wrap to 2 cols ===   html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .e-con,
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
  }  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .e-con,
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .elementor-element {
    flex: none !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  }

  html body .elementor-2839 .elementor-element.elementor-element-b6e5609 { flex-direction: column !important; }
  html body .elementor-2839 .elementor-element.elementor-element-b6e5609 > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; min-width: 0 !important;
  }

  /* === QUARTZ hero heading 52px → 28px === */
  html body .elementor-2501 .elementor-element.elementor-element-9f659d9 .elementor-heading-title {
    font-size: 28px !important; line-height: 1.25 !important;
  }

  html body .elementor-2501 .elementor-element.elementor-element-e9460ae { flex-direction: column !important; }
  html body .elementor-2501 .elementor-element.elementor-element-e9460ae > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; min-width: 0 !important;
  }

  html body .elementor-2501 .elementor-element.elementor-element-7d815a6 { flex-direction: column !important; }
  html body .elementor-2501 .elementor-element.elementor-element-d863039,
  html body .elementor-2501 .elementor-element.elementor-element-9178495 {
    flex: 0 0 100% !important; width: 100% !important; min-width: 0 !important;
  }

  html body .elementor-2501 .elementor-element.elementor-element-dd57d78 { display: grid !important; grid-template-columns: 1fr !important; }
  html body .elementor-2501 .elementor-element.elementor-element-dd57d78 > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  }

  html body .elementor-2501 .elementor-element.elementor-element-fc8cd1e { display: grid !important; grid-template-columns: 1fr !important; }
  html body .elementor-2501 .elementor-element.elementor-element-fc8cd1e > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important;
  }

  html body .elementor-2501 .elementor-element.elementor-element-8a2bcf1 { flex-direction: column !important; }
  html body .elementor-2501 .elementor-element.elementor-element-5df0ccd,
  html body .elementor-2501 .elementor-element.elementor-element-77ad9f2 {
    flex: 0 0 100% !important; width: 100% !important; min-width: 0 !important;
  }

  /* === GALLERY hero heading 52px → 30px === */
  html body .elementor-20 .elementor-element.elementor-element-4d3d304 .elementor-heading-title {
    font-size: 30px !important;
  }

  /* === HOME: collections grid stack === */
  html body .home .elementor-element.elementor-element-c4ad6ea { flex-direction: column !important; }
  html body .home .elementor-element.elementor-element-c4ad6ea > .elementor-element {
    flex: 0 0 100% !important; width: 100% !important; min-width: 0 !important;
  }

  /* === CONTACT: tighter padding on mobile === */
  html body .elementor-16 .elementor-element.elementor-element-052ab68 .elementor-heading-title {
    font-size: 30px !important;
  }
  html body .elementor-16 .elementor-element.elementor-element-3cd3a99 { padding: 40px 24px !important; }
  html body .elementor-16 .elementor-element.elementor-element-7018afe { padding: 40px 24px !important; }

} /* end @media 767px */


/* ================================================
   HEADER NAVIGATION — Modern, minimal, high-end
   ================================================ */

/* Nav links: visible on white header */
a.ekit-menu-nav-link,
.ekit-nav-menu ul li > a.ekit-menu-nav-link {
  font-family: "Jost", sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  padding: 0 14px !important;
}

/* Active nav item: gold (but readable gold, not washed out) */
.ekit-nav-menu li.current-menu-item > a.ekit-menu-nav-link,
.ekit-nav-menu li.current_page_item > a.ekit-menu-nav-link,
.ekit-nav-menu li.active > a.ekit-menu-nav-link,
a.ekit-menu-nav-link.active {
  color: #c9a84c !important;
}

/* Hover: gold */
a.ekit-menu-nav-link:hover {
  color: #c9a84c !important;
}

/* Header container: white + subtle gold border bottom */
.elementor-element-f04f0ca {
  background-color: #ffffff !important;
  border-bottom: 1px solid rgba(196,168,130,0.18) !important;
  box-shadow: 0 1px 12px rgba(0,0,0,0.04) !important;
}

/* ── FIXED HEADER OFFSET: push page content below fixed header ── */
/* Desktop: header is 102px */
body .elementor-13 {
  padding-top: 102px !important;
}
/* Mobile/tablet: header shrinks to ~73px */
@media (max-width: 1024px) {
  body .elementor-13 {
    padding-top: 73px !important;
  }
}


/* Dropdown: pure white, clean shadow */
.ekit-nav-menu .sub-menu,
.elementskit-submenu-panel,
.elementskit-dropdown-menu-default-style {
  background-color: #ffffff !important;
  border: none !important;
  border-top: 2px solid rgba(196,168,130,0.4) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.09) !important;
  border-radius: 0 !important;
  padding: 8px 0 12px !important;
  min-width: 200px !important;
}

/* Dropdown items */
.ekit-nav-menu .sub-menu li > a,
.ekit-nav-menu .sub-menu li > a.ekit-menu-nav-link {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 300 !important;
  font-size: 10.5px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #3a3a3a !important;
  padding: 11px 24px !important;
  display: block !important;
}
.ekit-nav-menu .sub-menu li > a:hover,
.ekit-nav-menu .sub-menu li > a.ekit-menu-nav-link:hover {
  color: #c4a882 !important;
  background-color: rgba(196,168,130,0.04) !important;
  padding-left: 28px !important;
}

/* Dropdown arrow: minimal */
.ekit-nav-menu .menu-item-has-children > a .elementskit-menu-arrow,
.ekit-nav-menu .elementskit-dropdown-has > a .elementskit-menu-arrow {
  color: #c4a882 !important;
  font-size: 9px !important;
  margin-left: 3px !important;
}


/* ── NAV: force single row, tight spacing ── */
.ekit-nav-menu > ul,
.elementskit-menu-container > ul {
  flex-wrap: nowrap !important;
  align-items: center !important;
}

.elementor-element-e6738a4 {
  flex: 1 1 auto !important;
  max-width: none !important;
}

a.ekit-menu-nav-link {
  padding: 0 8px !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
}


/* ── NAV: single row fix ── */
.ekit-nav-menu > ul,
.elementskit-menu-container > ul {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}

.elementor-element-e6738a4 {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 900px !important;
  min-width: 0 !important;
}

.elementor-element-800c153 {
  flex-shrink: 0 !important;
}

a.ekit-menu-nav-link {
  padding: 0 11px !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
}

/* Desktop (1025px+): full-width header, nav right-aligned as designed */
@media (min-width: 1025px) {
  .elementor-29 .elementor-element.elementor-element-f04f0ca {
    --container-max-width: 100% !important;
    width: 100% !important;
  }
  .elementor-29 .elementor-element.elementor-element-f04f0ca > .e-con-inner {
    max-width: 100% !important;
    width: 100% !important;
    --content-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-29 .elementor-element.elementor-element-75c80d1 {
    --justify-content: flex-end !important;
    justify-content: flex-end !important;
    flex: 1 1 auto !important;
    width: auto !important;
    --width: auto !important;
  }
  .elementor-29 .elementor-element.elementor-element-800c153 {
    flex: 0 0 auto !important;
    width: auto !important;
    --width: auto !important;
  }
  .elementor-29 .elementor-element.elementor-element-e6738a4 {
    flex: 0 0 auto !important;
    max-width: none !important;
  }
  /* Nav UL: right-align within widget as designed */
  .elementor-29 .elementor-element.elementor-element-e6738a4 .ekit-nav-menu > ul,
  .elementor-29 .elementor-element.elementor-element-e6738a4 .elementskit-menu-container > ul {
    justify-content: flex-end !important;
  }
}



/* ================================================
   STICKY HEADER + BOLDER NAV + LIGHTER BODY FONT
   ================================================ */

/* Sticky header */
.elementor-element-f04f0ca {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  width: 100% !important;
  background-color: rgba(255,255,255,0.97) !important;
  box-shadow: 0 1px 16px rgba(0,0,0,0.07) !important;
}

/* Nav links: clearly visible */
a.ekit-menu-nav-link {
  color: #1a1a1a !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

/* Body text: readable */
body { color: #3a3a3a !important; }
.elementor-widget-text-editor p {
  font-family: "Jost", sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  color: #4a4a4a !important;
  line-height: 1.85 !important;
}


/* ================================================
   STICKY NAV + VISIBLE NAV COLOR + READABLE BODY
   ================================================ */

/* Sticky nav: stays at top while scrolling */
html body .elementor-element-f04f0ca {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  background: rgba(255,255,255,0.97) !important;
  -webkit-box-shadow: 0 2px 24px rgba(0,0,0,0.07) !important;
  border-bottom: 1px solid rgba(196,168,130,0.2) !important;
}

/* Offset page content below fixed header (~108px header height) */
html body .elementor-element-f04f0ca + .elementor-element,
html body .elementor-element-f04f0ca + section,
html body .elementor-element-f04f0ca ~ .elementor-element:first-of-type {
  margin-top: 108px !important;
}

/* Nav links: clearly visible, bold enough to read */
a.ekit-menu-nav-link {
  color: #1a1a1a !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  opacity: 1 !important;
}
a.ekit-menu-nav-link:hover {
  color: #c9a84c !important;
}
.ekit-nav-menu li.current-menu-item > a.ekit-menu-nav-link,
.ekit-nav-menu li.current_page_item > a.ekit-menu-nav-link {
  color: #c9a84c !important;
  font-weight: 700 !important;
}

/* Body text: more readable */
body {
  color: #3a3a3a !important;
}
p, .elementor-widget-text-editor p,
.elementor-widget-text-editor div,
.elementor-text-editor p {
  font-size: 16px !important;
  color: #4a4a4a !important;
  line-height: 1.85 !important;
  font-weight: 300 !important;
}


/* Note: 003f88c is the home page "BOOK YOUR VISIT" button - should be visible */


/* NOTE: f155a87 is NOT the header element - it's the home page Book a Consultation section
   Removed incorrect hide rule for f155a87 */


/* Hide Book Appointment from header (all instances) */
.elementor-element-01bb456,
.elementor-element-07344dc {
  display: none !important;
}

/* Natural Stones page - fix font colors overridden by kit */
.elementor-kit-7 .ns-h1, body .ns-h1 { color: #ffffff !important; }
.elementor-kit-7 .ns-title, body .ns-title { color: #ffffff !important; }
.elementor-kit-7 .ns-sub, body .ns-sub { color: #c8c0b4 !important; }
.elementor-kit-7 .ns-desc, body .ns-desc { color: rgba(255,255,255,0.88) !important; }
.elementor-kit-7 .ns-tag, body .ns-tag { color: #c9a84c !important; }
.elementor-kit-7 .ns-cta, body .ns-cta { color: #c9a84c !important; }
.elementor-kit-7 .ns-pre, body .ns-pre { color: #c9a84c !important; }
.elementor-kit-7 .ns-foot, body .ns-foot { color: rgba(201,168,76,0.5) !important; }

/* =====================================================
   MOBILE HAMBURGER & OFFCANVAS NAV FIX
   ===================================================== */

/* ============================================================
   KJM MOBILE MENU — v4 (works with EKit active class)
   ============================================================ */

/* ── HAMBURGER BUTTON (mobile/tablet only) ── */
@media (max-width: 1024px) {
  button.elementskit-menu-hamburger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    padding: 8px !important;
    background: #c9a84c !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    z-index: 9999 !important;
    position: relative !important;
    pointer-events: auto !important;
  }
  button.elementskit-menu-hamburger svg { display: none !important; }
  .kjm-bar {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #1a1a1a !important;
    border-radius: 2px !important;
  }
}
@media (min-width: 1025px) {
  button.elementskit-menu-hamburger { display: none !important; }
}

/* ── OFFCANVAS PANEL — slides from LEFT using EKit’s own .active class ── */

/* Fix: EKit sets grey bg on the nav wrapper that shows as a bar on mobile */
@media (max-width: 1024px) {
  .ekit_menu_responsive_tablet > .elementskit-navbar-nav-default {
    background-color: transparent !important;
  }
}

@media (max-width: 1024px) {
  #ekit-megamenu-main-menu.elementskit-menu-offcanvas-elements {
    position: fixed !important;
    top: 0 !important;
    left: -100vw !important;
    right: auto !important;
    width: 300px !important;
    max-width: 85vw !important;
    height: 100vh !important;
    background-color: #1a1a1a !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 100000 !important;
    transition: left 0.35s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    box-shadow: none !important;
    padding-top: 20px !important;
    padding-bottom: 40px !important;
    pointer-events: auto !important;
  }

  /* EKit adds .active when hamburger is clicked — slide in from left */
  #ekit-megamenu-main-menu.elementskit-menu-offcanvas-elements.active {
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    pointer-events: auto !important;
    box-shadow: 4px 0 20px rgba(0,0,0,0.4) !important;
  }

  /* ── CLOSE BUTTON ── */
  button.elementskit-menu-close.elementskit-menu-toggler {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    left: auto !important;
    width: 32px !important;
    height: 32px !important;
    background: rgba(201,168,76,0.15) !important;
    border: 1px solid #c9a84c !important;
    border-radius: 50% !important;
    color: #c9a84c !important;
    font-size: 18px !important;
    cursor: pointer !important;
    z-index: 100001 !important;
    line-height: 1 !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }

  /* ── NAV ITEMS ── */
  .elementskit-menu-offcanvas-elements .elementskit-navbar-nav {
    display: block !important;
    padding: 60px 0 0 0 !important;
    margin: 0 !important;
    list-style: none !important;
    background: transparent !important;
    width: 100% !important;
    pointer-events: auto !important;
  }

  .elementskit-menu-offcanvas-elements .elementskit-navbar-nav > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(201,168,76,0.1) !important;
    pointer-events: auto !important;
  }

  .elementskit-menu-offcanvas-elements .elementskit-navbar-nav li a {
    pointer-events: auto !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 16px 24px !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
  }

  .elementskit-menu-offcanvas-elements .elementskit-navbar-nav li a:hover {
    color: #c9a84c !important;
    background: rgba(201,168,76,0.05) !important;
  }

  /* Hide EKit SVG arrow — replaced by circle toggle via JS */
  .elementskit-menu-container .elementskit-submenu-indicator {
    display: none !important;
  }

  /* Submenu: override EKit visibility:hidden with correct open-state rules */
  /* EKit puts .elementskit-dropdown-open on the UL itself */
  .ekit_menu_responsive_tablet .elementskit-navbar-nav-default .elementskit-dropdown {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    transition: max-height 0.3s ease !important;
    background: rgba(255,255,255,0.05) !important;
    padding-left: 0 !important;
  }
  .ekit_menu_responsive_tablet .elementskit-navbar-nav-default .elementskit-dropdown.elementskit-dropdown-open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: 1000px !important;
    overflow: visible !important;
  }
  .elementskit-menu-offcanvas-elements .elementskit-dropdown li a {
    color: rgba(255,255,255,0.75) !important;
    font-size: 13px !important;
    padding: 10px 24px 10px 36px !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  }
}


/* ── CATALOGUE SUBMENU: override EKit visibility:hidden globally ── */
/* Applied without media query so it wins regardless of viewport */
.elementskit-navbar-nav-default .elementskit-dropdown.elementskit-dropdown-open {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: 2500px !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}


/* ── HIGH SPECIFICITY: close btn golden ── */
body .elementskit-navbar-nav-default button.elementskit-menu-close {
  background: rgba(201,168,76,0.15) !important;
  border: 1px solid #c9a84c !important;
  color: #c9a84c !important;
}

/* ── DESKTOP NAV RESET (>=1025px) ── */
@media (min-width: 1025px) {
  .elementskit-menu-container.elementskit-menu-offcanvas-elements {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    background: transparent !important;
    transform: none !important;
    transition: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }
  button.elementskit-menu-close,
  .elementskit-nav-identity-panel {
    display: none !important;
  }
}

/* ============================================================
   INSPIRATION GALLERY (page-id-20) — FULL FIX
   ============================================================ */

/* ── Filter buttons: make inactive text visible ── */
.elementor-20 .eael-filter-gallery-control ul li.control,
.page-id-20 .eael-filter-gallery-control ul li.control {
  color: #3a3a3a !important;
  background: #f0f0f0 !important;
  border: 1px solid #ddd !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  transition: all 0.25s ease !important;
}
.elementor-20 .eael-filter-gallery-control ul li.control:hover,
.page-id-20 .eael-filter-gallery-control ul li.control:hover {
  color: #1a1a1a !important;
  background: #e0e0e0 !important;
}
.elementor-20 .eael-filter-gallery-control ul li.control.active,
.page-id-20 .eael-filter-gallery-control ul li.control.active {
  color: #ffffff !important;
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
}

/* ── Filter control bar: center and give breathing room ── */
.page-id-20 .eael-filter-gallery-control {
  padding: 10px 0 30px !important;
  display: flex !important;
  justify-content: center !important;
}
.page-id-20 .eael-filter-gallery-control ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Gallery section spacing: leave default ── */

/* ── Gallery items: consistent rounded corners + hover effect ── */
.page-id-20 .eael-gallery-grid-item {
  border-radius: 6px !important;
  overflow: hidden !important;
}
.page-id-20 .eael-filterable-gallery-item-wrap {
  padding: 8px !important;
}

/* ── Fix container overflow clipping rightmost column ── */
.page-id-20 .eael-filter-gallery-container {
  overflow: visible !important;
}

/* ── Hero section tweaks ── */
.page-id-20 .elementor-element-4d3d304 .elementor-heading-title {
  font-size: 46px !important;
  line-height: 1.15 !important;
}

/* ============================================================
   MOBILE FIXES (max-width: 767px)
   ============================================================ */
@media (max-width: 767px) {

  /* Hero title */
  .page-id-20 .elementor-element-4d3d304 .elementor-heading-title {
    font-size: 30px !important;
  }
  .page-id-20 .elementor-element-7de9a53 {
    min-height: 220px !important;
  }

  /* Filter buttons: wrap on mobile */
  .page-id-20 .eael-filter-gallery-control {
    padding: 10px 16px 20px !important;
    overflow-x: visible !important;
    justify-content: center !important;
  }
  .page-id-20 .eael-filter-gallery-control ul {
    flex-wrap: wrap !important;
    gap: 8px !important;
    justify-content: center !important;
    min-width: unset !important;
  }
  .page-id-20 .eael-filter-gallery-control ul li.control {
    padding: 10px 18px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  /* Gallery grid: force 1 column on mobile */
  .page-id-20 .eael-filter-gallery-container {
    position: static !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 16px !important;
  }
  .page-id-20 .eael-filterable-gallery-item-wrap {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    transform: none !important;
  }
  .page-id-20 .eael-gallery-grid-item {
    width: 100% !important;
    height: auto !important;
  }
  .page-id-20 .gallery-item-thumbnail-wrap {
    width: 100% !important;
    height: auto !important;
  }
  .page-id-20 .gallery-item-thumbnail-wrap img,
  .page-id-20 .eael-gallery-grid-item img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* ── Tablet: 2-column ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-20 .eael-filter-gallery-container {
    position: static !important;
    height: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    padding: 0 16px !important;
  }
  .page-id-20 .eael-filterable-gallery-item-wrap {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    transform: none !important;
  }
  .page-id-20 .eael-gallery-grid-item {
    width: 100% !important;
    height: auto !important;
  }
  .page-id-20 .gallery-item-thumbnail-wrap img,
  .page-id-20 .eael-gallery-grid-item img {
    width: 100% !important;
    height: 260px !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* ── Gallery page: remove white gap between hero and gallery ── */
.page-id-20 .elementor-element-8ae6982 > .e-con-inner {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
/* Natural Stones page (9033) — remove white gap above hero */
body.page-id-9033 .elementor-element-a1a8734.elementor-element { padding-top: 0 !important; --padding-top: 0px !important; margin-top: -2px !important; }
body.page-id-9033 .elementor-element-a1a8734.elementor-element > .e-con-inner { padding-top: 0 !important; }


/* ══ GALLERY PAGE — Hero Banner Premium Styling ══ */

/* Hero section: taller, with elegant dark overlay */
.page-id-20 [data-id="7de9a53"] {
  min-height: 520px !important;
  position: relative !important;
}

/* Dark gradient overlay for depth and readability */
.page-id-20 [data-id="7de9a53"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(0, 0, 0, 0.60) 0%,
    rgba(26, 26, 26, 0.40) 60%,
    rgba(0, 0, 0, 0.25) 100%
  );
  z-index: 1;
  pointer-events: none;
}

/* Container above overlay */
.page-id-20 [data-id="e567035"] {
  position: relative !important;
  z-index: 2 !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

/* ── Eyebrow / label text above main title ── */
.page-id-20 [data-id="7de9a53"]::after {
  content: 'INSPIRATION GALLERY';
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 4px;
  color: rgb(201, 168, 76);
  text-transform: uppercase;
  text-align: center;
  position: absolute;
  top: calc(50% - 80px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
  white-space: nowrap;
}

/* ── Main title: match homepage hero font ── */
.page-id-20 [data-id="4d3d304"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 62px !important;
  font-weight: 300 !important;
  color: #ffffff !important;
  letter-spacing: 1.5px !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35) !important;
  margin-bottom: 12px !important;
}

/* ── Breadcrumb: Jost font, gold separator, refined spacing ── */
.page-id-20 [data-id="2603757"] {
  margin-top: 8px !important;
}
.page-id-20 [data-id="2603757"] .eael-breadcrumbs-wrap,
.page-id-20 [data-id="2603757"] .breadcrumb,
.page-id-20 [data-id="2603757"] span,
.page-id-20 [data-id="2603757"] a {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.80) !important;
}
.page-id-20 [data-id="2603757"] a {
  color: rgb(201, 168, 76) !important;
  text-decoration: none !important;
}
.page-id-20 [data-id="2603757"] a:hover {
  color: #ffffff !important;
}
/* Breadcrumb separator icon/text */
.page-id-20 [data-id="2603757"] .eael-breadcrumbs-wrap .separator,
.page-id-20 [data-id="2603757"] .breadcrumb-sep,
.page-id-20 [data-id="2603757"] i,
.page-id-20 [data-id="2603757"] svg {
  color: rgb(201, 168, 76) !important;
  opacity: 0.7 !important;
}

/* ── Gold divider line under title ── */
.page-id-20 [data-id="4d3d304"] .elementor-heading-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, rgb(201, 168, 76), rgba(201, 168, 76, 0.3));
  margin: 14px auto 0;
}

/* ── Mobile responsiveness ── */
@media (max-width: 767px) {
  .page-id-20 [data-id="7de9a53"] {
    min-height: 380px !important;
  }
  .page-id-20 [data-id="4d3d304"] .elementor-heading-title {
    font-size: 38px !important;
    letter-spacing: 1px !important;
  }
  .page-id-20 [data-id="7de9a53"]::after {
    top: calc(50% - 55px) !important;
    font-size: 10px !important;
    letter-spacing: 3px !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-20 [data-id="7de9a53"] {
    min-height: 450px !important;
  }
  .page-id-20 [data-id="4d3d304"] .elementor-heading-title {
    font-size: 50px !important;
  }
}


/* ══ GALLERY PAGE — Cards, Filters & Grid Premium Styling ══ */

/* ── Section background: warm off-white instead of stark white ── */
#eael-filter-gallery-wrapper-8b7e912,
.page-id-20 .eael-filter-gallery-wrapper {
  background-color: rgb(248, 247, 244) !important;
  padding: 0 0 80px !important;
}

/* Overall section padding */
.page-id-20 [data-id="8ae6982"] {
  background-color: rgb(248, 247, 244) !important;
}
.page-id-20 [data-id="aa7e86a"] {
  background-color: rgb(248, 247, 244) !important;
}

/* ── Filter bar: centered, spaced, premium ── */
.page-id-20 .eael-filter-gallery-control {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 50px 0 40px !important;
  flex-wrap: wrap !important;
}

/* ── Filter buttons: refined pill-style brand typography ── */
.page-id-20 .eael-filter-gallery-control li {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border: 1px solid transparent !important;
  /* inactive: subtle warm outline */
  background-color: transparent !important;
  color: rgb(100, 95, 90) !important;
  border-color: rgb(200, 193, 183) !important;
}

/* Active filter button: gold accent */
.page-id-20 .eael-filter-gallery-control li.active,
.page-id-20 .eael-filter-gallery-control li:hover {
  background-color: rgb(201, 168, 76) !important;
  color: rgb(255, 255, 255) !important;
  border-color: rgb(201, 168, 76) !important;
}

/* ── Grid: consistent gaps between cards ── */
.page-id-20 .eael-filter-gallery-grid .eael-filterable-gallery-item-wrap {
  padding: 10px !important;
}

/* ── Card: subtle rounding + overflow clip for hover effect ── */
.page-id-20 .eael-gallery-grid-item {
  border-radius: 2px !important;
  overflow: hidden !important;
  position: relative !important;
}

/* ── Card image: scale on hover ── */
.page-id-20 .gallery-item-thumbnail-wrap {
  overflow: hidden !important;
  border-radius: 2px !important;
  position: relative !important;
}
.page-id-20 .gallery-item-thumbnail-wrap img {
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  display: block !important;
  width: 100% !important;
}
.page-id-20 .eael-filterable-gallery-item-wrap:hover .gallery-item-thumbnail-wrap img {
  transform: scale(1.05) !important;
}

/* ── Card hover overlay: elegant bottom gradient ── */
.page-id-20 .gallery-item-caption-wrap {
  position: absolute !important;
  inset: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  border-radius: 2px !important;
}
.page-id-20 .gallery-item-caption-over {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 48px 24px 22px !important;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.78) 0%,
    rgba(0, 0, 0, 0.45) 40%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
  transform: translateY(100%) !important;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.page-id-20 .eael-filterable-gallery-item-wrap:hover .gallery-item-caption-over {
  transform: translateY(0%) !important;
}

/* ── Card title: Cormorant Garamond, refined ── */
.page-id-20 .gallery-item-caption-over .fg-item-title,
.page-id-20 .gallery-item-caption-over h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  color: rgb(255, 255, 255) !important;
  text-align: left !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  text-transform: none !important;
}

/* Gold accent line above card title */
.page-id-20 .gallery-item-caption-over .fg-item-title::before,
.page-id-20 .gallery-item-caption-over h2::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: rgb(201, 168, 76);
  margin-bottom: 10px;
}

/* ── Mobile adjustments ── */
@media (max-width: 767px) {
  .page-id-20 .eael-filter-gallery-control {
    gap: 8px !important;
    padding: 36px 16px 28px !important;
  }
  .page-id-20 .eael-filter-gallery-control li {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    padding: 10px 20px !important;
  }
  .page-id-20 .eael-filter-gallery-grid .eael-filterable-gallery-item-wrap {
    padding: 6px !important;
  }
  .page-id-20 .gallery-item-caption-over {
    transform: translateY(0%) !important;
  }
}


/* ══ GALLERY — Filter buttons high-specificity override ══ */

/* Inactive buttons */
#eael-filter-gallery-wrapper-8b7e912 .eael-filter-gallery-control ul li.control,
.page-id-20 .elementor-element-8b7e912 .eael-filter-gallery-control ul li.control {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 11px 28px !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  background-color: transparent !important;
  color: rgb(100, 95, 90) !important;
  border: 1px solid rgb(200, 193, 183) !important;
  list-style: none !important;
  display: inline-block !important;
  margin: 4px 6px !important;
}

/* Active & hover buttons: gold accent */
#eael-filter-gallery-wrapper-8b7e912 .eael-filter-gallery-control ul li.control.active,
#eael-filter-gallery-wrapper-8b7e912 .eael-filter-gallery-control ul li.control:hover,
.page-id-20 .elementor-element-8b7e912 .eael-filter-gallery-control ul li.control.active,
.page-id-20 .elementor-element-8b7e912 .eael-filter-gallery-control ul li.control:hover {
  background-color: rgb(201, 168, 76) !important;
  color: rgb(255, 255, 255) !important;
  border-color: rgb(201, 168, 76) !important;
}


/* ══ GALLERY LIGHTBOX — Premium Close Button & Navigation ══ */

/* ── Close button: fixed top-right, always visible ── */
.mfp-close {
  position: fixed !important;
  top: 110px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  line-height: 48px !important;
  font-size: 0 !important;        /* hide the × character */
  background: rgba(0, 0, 0, 0.55) !important;
  border: 1px solid rgba(201, 168, 76, 0.6) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  cursor: pointer !important;
  z-index: 999999 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* Draw a custom ✕ using pseudo-elements */
.mfp-close::before,
.mfp-close::after {
  content: '' !important;
  position: absolute !important;
  width: 18px !important;
  height: 1.5px !important;
  background: #ffffff !important;
  border-radius: 2px !important;
  transition: background 0.2s ease !important;
}
.mfp-close::before {
  transform: rotate(45deg) !important;
}
.mfp-close::after {
  transform: rotate(-45deg) !important;
}

/* Hover: gold accent */
.mfp-close:hover {
  background: rgba(201, 168, 76, 0.85) !important;
  border-color: rgb(201, 168, 76) !important;
  transform: scale(1.08) !important;
}
.mfp-close:hover::before,
.mfp-close:hover::after {
  background: #ffffff !important;
}

/* ── Prev / Next arrows: refined ── */
.mfp-arrow {
  opacity: 0.85 !important;
  transition: opacity 0.2s ease !important;
}
.mfp-arrow:hover {
  opacity: 1 !important;
}

/* ── Image counter "1 of 12": brand font ── */
.mfp-counter {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  text-transform: uppercase !important;
  right: 24px !important;
  top: auto !important;
  bottom: 20px !important;
  position: fixed !important;
}

/* ── Dark backdrop: deeper for a more immersive feel ── */
.mfp-bg {
  background: #0a0a0a !important;
  opacity: 0.92 !important;
}

/* ── Image shadow for depth ── */
.mfp-figure figure {
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5) !important;
}

/* ── Mobile: slightly smaller close button ── */
@media (max-width: 767px) {
  .mfp-close {
    top: 12px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
  }
  .mfp-close::before,
  .mfp-close::after {
    width: 14px !important;
  }
  .mfp-counter {
    bottom: 12px !important;
    right: 12px !important;
  }
}


/* ── Fix: suppress original × character completely ── */
.mfp-close {
  text-indent: -9999px !important;
  overflow: hidden !important;
  top: 110px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
}

/* Ensure pseudo-elements are unaffected by text-indent */
.mfp-close::before,
.mfp-close::after {
  text-indent: 0 !important;
  left: 50% !important;
  top: 50% !important;
  margin-left: -9px !important;
  margin-top: -1px !important;
}


/* ══ GALLERY PAGE — Mobile Fixes ══ */

@media (max-width: 767px) {

  /* ── Hero: fix eyebrow label position (was overlapping title) ── */
  .page-id-20 [data-id="7de9a53"]::after {
    top: auto !important;
    bottom: calc(50% + 55px) !important;
    font-size: 9px !important;
    letter-spacing: 3px !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important;
  }

  /* ── Hero: ensure content is vertically centered with padding ── */
  .page-id-20 [data-id="e567035"] {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  /* ── Hero title: tighter on small screens ── */
  .page-id-20 [data-id="4d3d304"] .elementor-heading-title {
    font-size: 32px !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
  }

  /* ── Hero breadcrumb: smaller text ── */
  .page-id-20 [data-id="2603757"] a,
  .page-id-20 [data-id="2603757"] span {
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }

  /* ── Gallery wrapper: reduce top gap ── */
  #eael-filter-gallery-wrapper-8b7e912,
  .page-id-20 .eael-filter-gallery-wrapper {
    padding-bottom: 48px !important;
  }

  /* ── Filter bar: compact on mobile ── */
  .page-id-20 .eael-filter-gallery-control {
    padding: 28px 12px 22px !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
  }

  /* ── Filter buttons: smaller, no overflow ── */
  #eael-filter-gallery-wrapper-8b7e912 .eael-filter-gallery-control ul li.control,
  .page-id-20 .elementor-element-8b7e912 .eael-filter-gallery-control ul li.control {
    font-size: 9px !important;
    letter-spacing: 2px !important;
    padding: 9px 16px !important;
    margin: 3px 4px !important;
    white-space: nowrap !important;
  }

  /* ── Grid: full-width single column cards ── */
  .page-id-20 .eael-filter-gallery-grid .eael-filterable-gallery-item-wrap {
    padding: 5px !important;
  }

  /* ── Card caption: always show (no hover on mobile) ── */
  .page-id-20 .gallery-item-caption-over {
    transform: translateY(0%) !important;
    padding: 36px 16px 16px !important;
  }

  /* ── Card title: slightly smaller on mobile ── */
  .page-id-20 .gallery-item-caption-over .fg-item-title,
  .page-id-20 .gallery-item-caption-over h2 {
    font-size: 17px !important;
    letter-spacing: 0.3px !important;
  }

  /* ── Lightbox close button on mobile ── */
  .mfp-close {
    top: 80px !important;
    right: 12px !important;
    width: 40px !important;
    height: 40px !important;
  }

  /* ── Lightbox counter on mobile ── */
  .mfp-counter {
    font-size: 9px !important;
    bottom: 12px !important;
    right: 12px !important;
  }
}

/* ── Tablet fixes ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-20 [data-id="7de9a53"]::after {
    top: calc(50% - 65px) !important;
    font-size: 10px !important;
  }
  .page-id-20 [data-id="4d3d304"] .elementor-heading-title {
    font-size: 44px !important;
  }
  #eael-filter-gallery-wrapper-8b7e912 .eael-filter-gallery-control ul li.control,
  .page-id-20 .elementor-element-8b7e912 .eael-filter-gallery-control ul li.control {
    font-size: 10px !important;
    letter-spacing: 2.5px !important;
    padding: 10px 22px !important;
  }
}


/* ══ GALLERY MOBILE — Spacing & Alignment Fixes v2 ══ */

@media (max-width: 767px) {

  /* ── Hero: vertically center all content ── */
  .page-id-20 [data-id="e567035"] {
    align-items: center !important;
    justify-content: center !important;
    min-height: 340px !important;
    height: 100% !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .page-id-20 [data-id="7de9a53"] {
    min-height: 340px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* ── Hero eyebrow: position above title using margin trick ── */
  /* Switch from ::after absolute to a reliable relative approach */
  /* Hide the ::after pseudo-element on mobile and let actual widget handle it */
  .page-id-20 [data-id="7de9a53"]::after {
    display: none !important;
  }
  /* Show eyebrow as part of the heading widget using ::before on the h2 */
  .page-id-20 [data-id="4d3d304"] .elementor-heading-title::before {
    content: 'INSPIRATION GALLERY' !important;
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    letter-spacing: 3px !important;
    color: rgb(201, 168, 76) !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin-bottom: 10px !important;
    line-height: 1 !important;
  }

  /* ── Remove the gold divider line on mobile (saves space) ── */
  .page-id-20 [data-id="4d3d304"] .elementor-heading-title::after {
    display: none !important;
  }

  /* ── Gallery section: reduce top padding gap ── */
  .page-id-20 [data-id="8ae6982"] > .e-con-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }

  /* ── Filter control: tighter top spacing ── */
  .page-id-20 .eael-filter-gallery-control {
    padding: 20px 10px 16px !important;
  }

  /* ── Gallery wrapper: less bottom padding ── */
  #eael-filter-gallery-wrapper-8b7e912,
  .page-id-20 .eael-filter-gallery-wrapper {
    padding-bottom: 40px !important;
  }

  /* ── Filter buttons: very compact, all 3 fit on one line ── */
  #eael-filter-gallery-wrapper-8b7e912 .eael-filter-gallery-control ul li.control,
  .page-id-20 .elementor-element-8b7e912 .eael-filter-gallery-control ul li.control {
    font-size: 8px !important;
    letter-spacing: 1.5px !important;
    padding: 8px 12px !important;
    margin: 2px 3px !important;
    white-space: nowrap !important;
  }

  /* ── Card caption: always visible on mobile (no hover) ── */
  .page-id-20 .gallery-item-caption-over {
    transform: translateY(0%) !important;
    padding: 28px 14px 14px !important;
  }

  .page-id-20 .gallery-item-caption-over .fg-item-title,
  .page-id-20 .gallery-item-caption-over h2 {
    font-size: 16px !important;
  }

  .page-id-20 .gallery-item-caption-over .fg-item-title::before,
  .page-id-20 .gallery-item-caption-over h2::before {
    width: 24px !important;
    margin-bottom: 7px !important;
  }

  /* ── Lightbox close button: below mobile header ── */
  .mfp-close {
    top: 80px !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
  }
}


/* ============================================================
   CONTACT US PAGE (page-id-16) — Premium Styling
   ============================================================ */

/* ── 1. HERO: Dark overlay + taller banner ── */
.page-id-16 [data-id="7f2626b"] {
  min-height: 440px !important;
  position: relative;
}
.page-id-16 [data-id="7f2626b"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(10,10,10,0.72) 0%, rgba(20,16,12,0.55) 60%, rgba(30,24,18,0.40) 100%);
  z-index: 0;
  pointer-events: none;
}
.page-id-16 [data-id="7f2626b"] > * {
  position: relative;
  z-index: 1;
}

/* ── 2. HERO: Eyebrow label above title ── */
.page-id-16 [data-id="052ab68"] .elementor-heading-title::before {
  content: 'GET IN TOUCH';
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgb(201, 168, 76);
  margin-bottom: 20px;
  opacity: 0.9;
  white-space: nowrap;
}

/* ── 3. HERO: Title font polish ── */
.page-id-16 [data-id="052ab68"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 62px !important;
  font-weight: 300 !important;
  letter-spacing: 1.5px !important;
  color: #ffffff !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.35) !important;
  line-height: 1.2 !important;
}

/* ── 5. HERO: Subtext / description (via ::after pseudo-element set by Elementor) ── */
.page-id-16 [data-id="052ab68"] .elementor-heading-title::after {
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  letter-spacing: 1.5px !important;
  color: rgba(255,255,255,0.80) !important;
  margin-top: 18px !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

/* ── 6. HERO: Vertical centering ── */
.page-id-16 [data-id="9e8c539"] {
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

/* ── 7. CONTACT+FORM SECTION: Warm off-white background ── */
.page-id-16 [data-id="6ddff41"] {
  background-color: rgb(248, 247, 244) !important;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
/* Right column (form side) — remove Elementor-set white background */
.page-id-16 [data-id="7018afe"] {
  background-color: transparent !important;
}

/* ── 8. DARK INFO CARD: Refined dark background ── */
.page-id-16 [data-id="3cd3a99"] {
  background-color: rgb(18, 15, 12) !important;
  border: 1px solid rgba(201, 168, 76, 0.12) !important;
}

/* ── 9. DARK CARD: Icon-box titles (Phone, Email, Location, Hours) ── */
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-title,
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-title * {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: rgb(201, 168, 76) !important;
}
/* Location widget overridden by Elementor CSS — need extra specificity */
.page-id-16 [data-id="3cd3a99"] [data-id="a812237"] .elementor-icon-box-title,
.page-id-16 [data-id="3cd3a99"] [data-id="a812237"] .elementor-icon-box-title * {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: rgb(201, 168, 76) !important;
}

/* ── 10. DARK CARD: Icon-box description text ── */
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-description,
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-description * {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
  color: rgba(255,255,255,0.75) !important;
  line-height: 1.7 !important;
}

/* ── 11. DARK CARD: Icons gold color ── */
.page-id-16 [data-id="3cd3a99"] .elementor-icon i,
.page-id-16 [data-id="3cd3a99"] .elementor-icon svg {
  color: rgb(201, 168, 76) !important;
  fill: rgb(201, 168, 76) !important;
}

/* ── 12. DARK CARD: Divider lines ── */
.page-id-16 [data-id="3cd3a99"] .elementor-widget-divider .elementor-divider-separator {
  border-color: rgba(201, 168, 76, 0.15) !important;
}

/* ── 13. DARK CARD: WhatsApp button ── */
.page-id-16 [data-id="3cd3a99"] .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(201, 168, 76, 0.5) !important;
  background: transparent !important;
  color: rgba(255,255,255,0.85) !important;
  transition: all 0.3s ease !important;
}
.page-id-16 [data-id="3cd3a99"] .elementor-button:hover {
  background: rgb(201, 168, 76) !important;
  border-color: rgb(201, 168, 76) !important;
  color: #fff !important;
}

/* ── 14. FORM SECTION: "Request a Quote" heading ── */
.page-id-16 [data-id="914a287"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 42px !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  color: rgb(30, 24, 18) !important;
}

/* ── 15. FORM SECTION: Description text ── */
.page-id-16 [data-id="914a287"] .elementor-widget-text-editor p,
.page-id-16 [data-id="914a287"] .elementor-text-editor p {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: rgb(100, 90, 80) !important;
  letter-spacing: 0.3px !important;
  line-height: 1.75 !important;
}

/* ── 16. FORM: Label styles ── */
.page-id-16 .elementor-widget-form label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgb(140, 120, 90) !important;
}

/* ── 17. FORM: Input field styles ── */
.page-id-16 .elementor-widget-form input[type="text"],
.page-id-16 .elementor-widget-form input[type="email"],
.page-id-16 .elementor-widget-form input[type="tel"],
.page-id-16 .elementor-widget-form textarea {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  letter-spacing: 0.3px !important;
  color: rgb(30, 24, 18) !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(140, 120, 90, 0.35) !important;
  border-radius: 0 !important;
  padding: 10px 0 10px 0 !important;
  transition: border-color 0.3s ease !important;
}
.page-id-16 .elementor-widget-form input[type="text"]:focus,
.page-id-16 .elementor-widget-form input[type="email"]:focus,
.page-id-16 .elementor-widget-form input[type="tel"]:focus,
.page-id-16 .elementor-widget-form textarea:focus {
  border-bottom-color: rgb(201, 168, 76) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── 18. FORM: Submit button ── */
.page-id-16 .elementor-widget-form .elementor-button,
.page-id-16 .elementor-widget-form button[type="submit"] {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  background: rgb(140, 110, 60) !important;
  color: #ffffff !important;
  border: 1px solid rgb(140, 110, 60) !important;
  padding: 14px 36px !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}
.page-id-16 .elementor-widget-form .elementor-button:hover,
.page-id-16 .elementor-widget-form button[type="submit"]:hover {
  background: rgb(201, 168, 76) !important;
  border-color: rgb(201, 168, 76) !important;
}

/* ── 19. MAP SECTION: Eyebrow "HOW TO REACH US" ── */
.page-id-16 [data-id="db21bc2"] .elementor-icon-list-text,
.page-id-16 [data-id="db21bc2"] .elementor-icon-list-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 3.5px !important;
  text-transform: uppercase !important;
  color: rgb(140, 120, 90) !important;
}

/* ── 20. MAP SECTION: "Let's connect" heading ── */
.page-id-16 [data-id="94ff33c"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 48px !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  color: rgb(22, 18, 12) !important;
}

/* ── 21. Tablet (768–1024px) ── */
@media (min-width: 768px) and (max-width: 1024px) {
  .page-id-16 [data-id="7f2626b"] {
    min-height: 450px !important;
  }
  .page-id-16 [data-id="052ab68"] .elementor-heading-title {
    font-size: 48px !important;
  }
}

/* ── 22. Mobile (max 767px) ── */
@media (max-width: 767px) {
  .page-id-16 [data-id="7f2626b"] {
    min-height: 360px !important;
  }
  .page-id-16 [data-id="052ab68"] .elementor-heading-title {
    font-size: 36px !important;
    letter-spacing: 1px !important;
  }
  .page-id-16 [data-id="052ab68"] .elementor-heading-title::before {
    font-size: 9px !important;
    letter-spacing: 3px !important;
    margin-bottom: 12px !important;
  }
  .page-id-16 [data-id="052ab68"] .elementor-heading-title::after {
    display: none;
  }
  .page-id-16 [data-id="6ddff41"] {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .page-id-16 [data-id="94ff33c"] .elementor-heading-title {
    font-size: 32px !important;
  }
}


/* ============================================
   PREFABRICATED COUNTERTOPS PAGE (page-id-5756)
   ============================================ */

/* --- HERO SECTION (145e971) --- */
.page-id-5756 [data-id="145e971"] {
  min-height: 520px !important;
  position: relative;
  display: flex;
  align-items: center;
}
.page-id-5756 [data-id="145e971"]::before {
  pointer-events: none;
}

/* Hero title */
.page-id-5756 [data-id="9afea63"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 58px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  color: rgb(255, 255, 255) !important;
  letter-spacing: 0.01em;
}

/* Hero subtitle */
.page-id-5756 [data-id="2d27c8a"] p,
.page-id-5756 [data-id="2d27c8a"] .elementor-widget-container {
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.72) !important;
  letter-spacing: 0.04em;
  margin-top: 12px !important;
}

/* --- WHY CHOOSE SECTION (025da30) - CLEAN PREMIUM --- */

.page-id-5756 [data-id="025da30"] {
  background-color: rgb(248, 246, 241) !important;
  background-image: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  position: relative !important;
}

.page-id-5756 [data-id="b1cca1b"]::before {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.page-id-5756 [data-id="b1cca1b"] {
  background-color: transparent !important;
  background-image: none !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.page-id-5756 [data-id="025da30"] .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

.page-id-5756 [data-id="025da30"]::before {
  display: none !important;
}

.page-id-5756 [data-id="fde021c"] {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.page-id-5756 [data-id="fde021c"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 44px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em !important;
  color: rgb(28, 22, 14) !important;
  text-align: center !important;
}

.page-id-5756 [data-id="fde021c"] .elementor-heading-title::before {
  content: "WHY CHOOSE PREFAB" !important;
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  color: rgb(201, 168, 76) !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

.page-id-5756 [data-id="fde021c"]::after {
  content: "" !important;
  display: block !important;
  width: 40px !important;
  height: 1px !important;
  background: rgb(201, 168, 76) !important;
  margin: 20px auto 0 !important;
}

.page-id-5756 [data-id="1993b25"] {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1px !important;
  background-color: rgb(228, 222, 210) !important;
  border-top: 1px solid rgb(220, 213, 200) !important;
  border-bottom: 1px solid rgb(220, 213, 200) !important;
  border-left: none !important;
  border-right: none !important;
  outline: none !important;
  margin-top: 40px !important;
  box-shadow: none !important;
  width: 100% !important;
}

.page-id-5756 [data-id="1993b25"] .elementor-widget-container {
  display: contents !important;
}

.page-id-5756 [data-id="1993b25"] p {
  background: rgb(255, 254, 250) !important;
  margin: 0 !important;
  padding: 32px 44px 30px !important;
  position: relative !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: rgb(80, 70, 55) !important;
  transition: background 0.25s ease !important;
  border-top: 2px solid rgb(201, 168, 76) !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
}

.page-id-5756 [data-id="1993b25"] p:hover {
  background: rgb(252, 250, 244) !important;
}

.page-id-5756 [data-id="1993b25"] p::before {
  display: none !important;
}

.page-id-5756 [data-id="1993b25"] p strong {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgb(28, 22, 14) !important;
  margin-bottom: 10px !important;
}

.page-id-5756 [data-id="1993b25"] p br {
  display: none !important;
}


/* --- CTA BANNER SECTION (7f3b3ff) --- */
.page-id-5756 [data-id="7f3b3ff"] {
  background-color: rgb(14, 11, 9) !important;
  position: relative;
}
.page-id-5756 [data-id="7f3b3ff"]::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(10, 8, 6, 0.72);
  z-index: 1;
  pointer-events: none;
}
.page-id-5756 [data-id="b2c0260"] {
  position: relative;
  z-index: 2;
}
.page-id-5756 [data-id="505233d"] {
  position: relative;
  z-index: 2;
}

/* CTA headline */
.page-id-5756 [data-id="b2c0260"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 52px !important;
  font-weight: 500 !important;
  color: rgb(255, 255, 255) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em;
}

/* CTA subtext */
.page-id-5756 [data-id="b2c0260"] p {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  letter-spacing: 0.04em;
  margin-top: 10px !important;
}

/* CTA button */
.page-id-5756 [data-id="505233d"] .ekit-btn,
.page-id-5756 [data-id="505233d"] a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgb(201, 168, 76) !important;
  background: transparent !important;
  border: 1px solid rgba(201, 168, 76, 0.5) !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  transition: all 0.3s ease !important;
}
.page-id-5756 [data-id="505233d"] .ekit-btn:hover,
.page-id-5756 [data-id="505233d"] a:hover {
  background: rgba(201, 168, 76, 0.12) !important;
  border-color: rgb(201, 168, 76) !important;
  color: rgb(201, 168, 76) !important;
}

/* --- "DON'T SEE" SECTION (c76098a) --- */
/* Dark background image section */
.page-id-5756 [data-id="c76098a"] {
  position: relative;
}

/* "Get in Touch" badge */
.page-id-5756 [data-id="04a1ace"] .elementor-icon-list-item a,
.page-id-5756 [data-id="04a1ace"] .elementor-icon-list-text {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgb(201, 168, 76) !important;
}
.page-id-5756 [data-id="04a1ace"] {
  background: transparent !important;
  border: 1px solid rgba(201, 168, 76, 0.4) !important;
  padding: 8px 18px !important;
  display: inline-block !important;
  margin-bottom: 20px !important;
}

/* "Don't See" heading */
.page-id-5756 [data-id="d71ac3d"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 50px !important;
  font-weight: 500 !important;
  color: rgb(255, 255, 255) !important;
  line-height: 1.15 !important;
  letter-spacing: 0.01em;
}

/* Subtitle */
.page-id-5756 [data-id="fcb4bab"] p,
.page-id-5756 [data-id="fcb4bab"] .elementor-widget-container {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  letter-spacing: 0.04em;
}

/* REQUEST QUOTE button */
.page-id-5756 [data-id="c76098a"] .elementor-button,
.page-id-5756 [data-id="c76098a"] .ekit-btn {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  background: rgb(201, 168, 76) !important;
  color: rgb(14, 11, 9) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 15px 36px !important;
  transition: all 0.3s ease !important;
}
.page-id-5756 [data-id="c76098a"] .elementor-button:hover,
.page-id-5756 [data-id="c76098a"] .ekit-btn:hover {
  background: rgb(185, 154, 62) !important;
}


/* ============================================
   PREMIUM FOOTER UPGRADE (elementor-142)
   ============================================ */

/* --- Main footer background: deep warm black --- */
.ekit-template-content-footer [data-id="838f86e"],
.ekit-template-content-footer [data-id="838f86e"] > .e-con-inner {
  background-color: rgb(14, 11, 9) !important;
  padding-top: 64px !important;
  padding-bottom: 48px !important;
}

/* Gold gradient top border */
.ekit-template-content-footer [data-id="838f86e"]::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(201,168,76,0.6) 30%, rgba(201,168,76,0.8) 50%, rgba(201,168,76,0.6) 70%, transparent 100%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

/* --- Section headings: Montserrat uppercase gold --- */
.ekit-template-content-footer [data-id="5dabd17"] .elementor-heading-title,
.ekit-template-content-footer [data-id="0b8e0ee"] .elementor-heading-title,
.ekit-template-content-footer [data-id="eb4662d"] .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: rgb(201, 168, 76) !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(201, 168, 76, 0.25) !important;
  margin-bottom: 20px !important;
}

/* --- All footer links: Jost, muted white --- */
.ekit-template-content-footer [data-id="7804779"] .elementor-icon-list-item a, .ekit-template-content-footer [data-id="bbe7326"] .elementor-icon-list-item a { color: rgba(255, 255, 255, 0.85) !important; }
.ekit-template-content-footer [data-id="7804779"] .elementor-icon-list-item a, .ekit-template-content-footer [data-id="bbe7326"] .elementor-icon-list-item a { color: rgba(255, 255, 255, 0.85) !important; }
.ekit-template-content-footer [data-id="7804779"] .elementor-icon-list-item,
.ekit-template-content-footer [data-id="bbe7326"] .elementor-icon-list-item {
  padding: 5px 0 !important;
}

/* --- Contact items: hide SVG icons, gold left-border accent --- */
.ekit-template-content-footer [data-id="446fc25"] .elementor-icon-list-item {
  border-left: 2px solid rgba(201, 168, 76, 0.35) !important;
  padding-left: 14px !important;
  margin-bottom: 14px !important;
}

.ekit-template-content-footer [data-id="446fc25"] .elementor-icon-list-item a { color: rgba(255, 255, 255, 0.85) !important; }

/* --- Brand description text --- */
.ekit-template-content-footer [data-id="1b2e7fc"] p { color: rgba(255, 255, 255, 0.9) !important; }

/* --- Social icons: 32px gold-bordered squares --- */
.ekit-template-content-footer [data-id="a93b801"] .elementor-icon,
.ekit-template-content-footer [data-id="309ff16"] .elementor-icon {
  border: 1px solid rgba(201, 168, 76, 0.4) !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: border-color 0.25s ease !important;
}
.ekit-template-content-footer [data-id="a93b801"] .elementor-icon:hover,
.ekit-template-content-footer [data-id="309ff16"] .elementor-icon:hover {
  border-color: rgb(201, 168, 76) !important;
}
.ekit-template-content-footer [data-id="a93b801"] svg rect,
.ekit-template-content-footer [data-id="309ff16"] svg rect {
  display: none !important;
}
.ekit-template-content-footer [data-id="a93b801"] svg path,
.ekit-template-content-footer [data-id="309ff16"] svg path {
  fill: rgba(255, 255, 255, 0.65) !important;
}
.ekit-template-content-footer [data-id="a93b801"]:hover svg path,
.ekit-template-content-footer [data-id="309ff16"]:hover svg path {
  fill: rgb(201, 168, 76) !important;
}

/* --- Hide redundant bottom category strip --- */
.ekit-template-content-footer [data-id="4bd7a90"] {
  display: none !important;
}

/* --- Divider: gold-tinted hairline --- */
.ekit-template-content-footer [data-id="19b7321"] .elementor-divider-separator {
  border-color: rgba(201, 168, 76, 0.2) !important;
}

/* --- Copyright bar --- */
.ekit-template-content-footer [data-id="bab0c4c"],
.ekit-template-content-footer [data-id="bab0c4c"] > .e-con-inner {
  background-color: rgb(10, 8, 6) !important;
  padding: 14px 0 !important;
}

/* Copyright text */
.ekit-template-content-footer [data-id="66a8194"] p,
.ekit-template-content-footer [data-id="66a8194"] .elementor-widget-container {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

/* Legal links */
.ekit-template-content-footer [data-id="d3ca8e7"] .elementor-icon-list-item a {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.7) !important;
}
.ekit-template-content-footer [data-id="d3ca8e7"] .elementor-icon-list-item a:hover {
  color: rgba(201, 168, 76, 0.7) !important;
}


/* ============================================
   PREFAB PAGE FIXES (page-id-5756)
   ============================================ */

.page-id-5756 [data-id="7f3b3ff"] .e-con-inner {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.page-id-5756 [data-id="b2c0260"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 52px !important;
  font-weight: 600 !important;
  color: rgb(255, 255, 255) !important;
  line-height: 1.1 !important;
}

.page-id-5756 [data-id="505233d"] .elementor-button {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  color: rgb(201, 168, 76) !important;
  border: 1px solid rgba(201, 168, 76, 0.6) !important;
  padding: 14px 32px !important;
  text-transform: uppercase !important;
}

.page-id-5756 [data-id="c76098a"] .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.page-id-5756 [data-id="d71ac3d"] .elementor-heading-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 48px !important;
  font-weight: 600 !important;
  color: rgb(255, 255, 255) !important;
  line-height: 1.15 !important;
}

.page-id-5756 [data-id="fcb4bab"] p {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  letter-spacing: 0.03em !important;
}

.page-id-5756 [data-id="3f7183e"] .elementor-button {
  background-color: rgb(201, 168, 76) !important;
  color: rgb(255, 255, 255) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border: none !important;
  padding: 16px 36px !important;
}

.page-id-5756 [data-id="3f7183e"] .elementor-button:hover {
  background-color: rgb(180, 148, 58) !important;
}

.page-id-5756 .elementor-5756 {
  background-color: rgb(248, 246, 241) !important;
}



.page-id-5756 [data-id="7f3b3ff"] .e-con-inner {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.page-id-5756 [data-id="c76098a"] .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.page-id-5756 .elementor-5756 {
  background-color: rgb(248, 246, 241) !important;
}



/* Fix body background to warm near-white (removes stark white) */
.page-id-5756 .site-content,
.page-id-5756 main,
.page-id-5756 .entry-content,
.page-id-5756 .elementor-5756 {
  background-color: rgb(250, 249, 247) !important;
}

/* Fix Why Choose section — center the gold divider bar */
.page-id-5756 [data-id="fde021c"]::after {
  margin: 20px auto 0 auto !important;
}

/* Fix Why Choose — heading alignment consistent */
.page-id-5756 [data-id="fde021c"] {
  text-align: center !important;
}

/* Fix Why Choose — add more bottom padding to reduce harsh transition */
  color: rgb(201, 168, 76) !important;
}


/* Prefabricated Page Hero CTA Button - Premium Gold Style */
.page-id-5756 .elementor-button {
	    background-color: #C4A882 !important;
	    background-image: none !important;
	    color: #ffffff !important;
	    border: none !important;
	    letter-spacing: 1px;
	    text-transform: uppercase;
	    font-size: 13px;
	    font-weight: 600;
	    padding: 15px 35px;
}
.page-id-5756 .elementor-button:hover {
	    background-color: #b39470 !important;
	    color: #ffffff !important;
}
}

/* Prefab Hero Button - e-button-base class fix */
.page-id-5756 .e-button-base {
	    background-color: #C4A882 !important;
	    background-image: none !important;
	    color: #ffffff !important;
	    border: none !important;
	    letter-spacing: 1px;
	    text-transform: uppercase;
	    font-size: 13px;
	    font-weight: 600;
	    padding: 15px 35px;
	    box-shadow: 0 2px 20px rgba(196, 168, 130, 0.4);
	    position: relative;
	    z-index: 10;
}
.page-id-5756 .e-button-base:hover {
	    background-color: #b39470 !important;
	    color: #ffffff !important;
}

/* =====================================================
   PREFABRICATED PAGE - MOBILE OPTIMIZATION
   page-id-5756 | Breakpoints: 767px mobile, 1024px tablet
   ===================================================== */

/* --- TABLET 768px to 1024px --- */
@media (max-width: 1024px) {
  .page-id-5756 [data-id="145e971"] {
    min-height: 70vh !important;
  }
  .page-id-5756 [data-id="145e971"] .elementor-heading-title {
    font-size: clamp(28px, 5vw, 48px) !important;
    line-height: 1.2 !important;
  }
  .page-id-5756 [data-id="025da30"] .elementor-widget-container {
    padding: 20px !important;
  }
  .page-id-5756 [data-id="c76098a"] [data-id="3f42da8"] {
    padding: 40px 30px !important;
  }
  .page-id-5756 [data-id="3f7183e"] {
    text-align: center !important;
    margin-top: 20px !important;
  }
}

/* --- MOBILE max 767px --- */
@media (max-width: 767px) {

  /* HERO SECTION */
  .page-id-5756 [data-id="145e971"] {
    min-height: 90vh !important;
    padding: 80px 20px 50px !important;
  }
  .page-id-5756 [data-id="47161ac"] {
    padding: 20px 16px !important;
    text-align: center !important;
    align-items: center !important;
  }
  .page-id-5756 [data-id="145e971"] .elementor-heading-title {
    font-size: clamp(24px, 7vw, 36px) !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
  }
  .page-id-5756 [data-id="145e971"] .elementor-widget-text-editor p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-top: 12px !important;
  }
  .page-id-5756 [data-id="47161ac"] .elementor-widget-button {
    text-align: center !important;
    width: 100% !important;
  }
  .page-id-5756 [data-id="47161ac"] .e-button-base,
  .page-id-5756 [data-id="47161ac"] .elementor-button {
    padding: 14px 28px !important;
    font-size: 12px !important;
    display: inline-block !important;
    margin: 16px auto 0 !important;
    min-width: 180px !important;
  }

  /* WHY CHOOSE SECTION */
  .page-id-5756 [data-id="025da30"] {
    padding: 40px 0 !important;
  }
  .page-id-5756 [data-id="025da30"] .elementor-heading-title {
    font-size: clamp(22px, 6vw, 32px) !important;
    text-align: center !important;
    padding: 0 16px !important;
  }
  .page-id-5756 [data-id="025da30"] table {
    width: 100% !important;
    border-collapse: collapse !important;
  }
  .page-id-5756 [data-id="025da30"] table tr {
    display: flex !important;
    flex-direction: column !important;
  }
  .page-id-5756 [data-id="025da30"] table td {
    width: 100% !important;
    display: block !important;
    padding: 16px 20px !important;
    border-right: none !important;
    border-bottom: 1px solid #C4A882 !important;
    box-sizing: border-box !important;
  }

  /* BUILD FASTER CTA SECTION */
  .page-id-5756 [data-id="7f3b3ff"] {
    min-height: 60vh !important;
    background-position: center center !important;
  }
  .page-id-5756 [data-id="7f3b3ff"] .elementor-heading-title {
    font-size: clamp(22px, 7vw, 36px) !important;
    text-align: center !important;
    line-height: 1.2 !important;
  }
  .page-id-5756 [data-id="7f3b3ff"] .elementor-widget-text-editor {
    font-size: 14px !important;
    text-align: center !important;
    padding: 0 16px !important;
  }
  .page-id-5756 [data-id="7f3b3ff"] a {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
  }

  /* DON'T SEE SECTION */
  .page-id-5756 [data-id="c7bb205"] {
    flex-direction: column !important;
  }
  .page-id-5756 [data-id="c76098a"] [data-id="3f42da8"] {
    padding: 50px 24px 40px !important;
    width: 100% !important;
  }
  .page-id-5756 [data-id="d71ac3d"] .elementor-heading-title {
    font-size: clamp(22px, 6vw, 36px) !important;
    line-height: 1.2 !important;
  }
  .page-id-5756 [data-id="fcb4bab"] .elementor-widget-container {
    font-size: 14px !important;
  }
  .page-id-5756 [data-id="2dea221"] {
    text-align: center !important;
    margin-top: 24px !important;
  }
  .page-id-5756 [data-id="3f7183e"] {
    text-align: center !important;
  }
  .page-id-5756 [data-id="3f7183e"] .elementor-widget-container {
    justify-content: center !important;
    display: flex !important;
  }

  /* GENERAL FIXES */
  .page-id-5756 .e-con {
    overflow-x: hidden !important;
  }
}

/* --- SMALL MOBILE max 480px --- */
@media (max-width: 480px) {
  .page-id-5756 [data-id="145e971"] .elementor-heading-title {
    font-size: 22px !important;
  }
  .page-id-5756 [data-id="145e971"] {
    padding: 60px 12px 40px !important;
  }
  .page-id-5756 [data-id="47161ac"] {
    padding: 16px 12px !important;
  }
  .page-id-5756 [data-id="47161ac"] .e-button-base,
  .page-id-5756 [data-id="47161ac"] .elementor-button {
    min-width: 160px !important;
    padding: 12px 24px !important;
  }
  .page-id-5756 [data-id="025da30"] .elementor-heading-title,
  .page-id-5756 [data-id="7f3b3ff"] .elementor-heading-title {
    font-size: 20px !important;
  }
}
/* END PREFAB MOBILE OPTIMIZATION */

/* ===== PREFAB PAGE BUTTON & OVERLAY FIXES ===== */

/* Hero ::before handled by Elementor overlay settings */

/* Fix button stacking - place it above overlay */
.page-id-5756 .e-button-base {
    position: relative !important;
    z-index: 100 !important;
    isolation: auto !important;
}

/* Fix the e-con-inner container stacking context */
.page-id-5756 .elementor-element-145e971 > .e-con-inner {
    position: relative !important;
    z-index: 5 !important;
}

/* Style REQUEST QUOTE button with brand gold */
.page-id-5756 .elementor-button {
    background-color: #C4A882 !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
    letter-spacing: 2px !important;
    font-weight: 600 !important;
}

/* REQUEST QUOTE button - gold on dark section */
.page-id-5756 [data-id="3f7183e"] .elementskit-btn {
    background-color: #C4A882 !important;
    color: #ffffff !important;
    border-color: #C4A882 !important;
    letter-spacing: 2px !important;
    font-weight: 600 !important;
}

/* CONTACT US button on factory section - premium outline style */
.page-id-5756 [data-id="505233d"] .elementskit-btn {
    background-color: transparent !important;
    color: #C4A882 !important;
    border: 1px solid #C4A882 !important;
    letter-spacing: 2px !important;
    font-weight: 600 !important;
    padding: 14px 36px !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    transition: all 0.3s ease !important;
}

/* ===== WHY CHOOSE PREFAB - GRID FIXES ===== */
/* Fix item #7: make it span full width since it's the only one in its row */
.page-id-5756 [data-id="1993b25"] p:last-child {
    grid-column: 1 / -1 !important;
    border-bottom: none !important;
}

/* Tighten spacing between heading/divider and grid widget */
.page-id-5756 [data-id="1993b25"] {
    margin-top: 0px !important;
}

/* Reduce the gap between heading and grid area */
.page-id-5756 [data-id="b1cca1b"] > .e-con-inner {
    gap: 8px !important;
}

/* ===== HERO SECTION - SUBTITLE VISIBILITY FIX ===== */
/* Increase subtitle contrast slightly */
.page-id-5756 [data-id="145e971"] .elementor-widget-text-editor p {
    color: rgba(255,255,255,0.92) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
}

/* ===== GET IN TOUCH pill button - sharpen gold border ===== */
.page-id-5756 [data-id="04a1ace"] {
    border-color: rgba(196, 168, 130, 0.85) !important;
    padding: 10px 20px !important;
}


/* Section 3 - Build Faster: Solid gold CTA button */
.page-id-5756 .elementor-element-505233d a.elementskit-btn {
    background-color: #C4A882 !important;
    color: #ffffff !important;
    border: none !important;
    border-color: transparent !important;
}

/* Section 4 - Don't See: GET IN TOUCH icon list pill */
.page-id-5756 .elementor-element-04a1ace .elementor-icon-list-items {
    background-color: #C4A882 !important;
    border: none !important;
    border-radius: 0px !important;
}
.page-id-5756 .elementor-element-04a1ace .elementor-icon-list-text {
    color: #ffffff !important;
}
.page-id-5756 .elementor-element-04a1ace li.elementor-icon-list-item {
    border: none !important;
}

/* Section 4 - GET IN TOUCH wrapper: remove pill border, match square style */
.page-id-5756 .elementor-element-04a1ace {
    border: none !important;
    border-radius: 0px !important;
    padding: 0 !important;
}
.page-id-5756 .elementor-element-04a1ace .elementor-widget-container {
    border: none !important;
    border-radius: 0px !important;
}
.page-id-5756 .elementor-element-04a1ace .elementor-icon-list-items {
    padding: 14px 30px !important;
    border-radius: 0px !important;
}

/* === SECTION SPACING - uniform 80px top/bottom padding === */
.page-id-5756 .elementor-element-b1cca1b {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}
.page-id-5756 .elementor-element-7f3b3ff > .e-con-inner {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}
.page-id-5756 .elementor-element-c76098a > .e-con-inner {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

/* Fix: Don't See outer section - no extra padding needed, child handles its own spacing */
.page-id-5756 .elementor-element-c76098a > .e-con-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* === BOTTOM 2 SECTIONS SPACING FIXES === */

/* Footer: reduce large empty top gap */
.page-id-5756 .elementor-element-838f86e > .e-con-inner {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* Don't See: tighten inner child padding for better balance */
.page-id-5756 .elementor-element-c7bb205 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* Don't See: left content column - better vertical alignment */
.page-id-5756 .elementor-element-3f42da8 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    justify-content: center !important;
}

/* Don't See: right button column - center vertically */
.page-id-5756 .elementor-element-2dea221 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    justify-content: center !important;
    align-items: center !important;
}

/* Fix footer inner: section-level already has 64px PT from Elementor - remove double padding */
.page-id-5756 .elementor-element-838f86e > .e-con-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* Fix Don't See: tighter vertical padding so content fills section better */
.page-id-5756 .elementor-element-c7bb205 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

/* Fix footer section-level padding (Elementor-generated 64px → 60px) */
.page-id-5756 .elementor-element-838f86e {
    padding-top: 60px !important;
    padding-bottom: 40px !important;
}


/* ===== PREFAB PAGE FIXES ===== */

/* Fix footer double-padding: stronger specificity to override Elementor generated 64px PT */
body.page-id-5756 .elementor-element-838f86e {
    padding-top: 60px !important;
    padding-bottom: 40px !important;
}
body.page-id-5756 .elementor-element-838f86e > .e-con-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

/* Don't See: GET IN TOUCH should be left-aligned (not centered) */
.page-id-5756 .elementor-element-04a1ace {
    align-self: flex-start !important;
    margin-bottom: 0px !important;
}

/* Don't See: left column - flex start so GET IN TOUCH stays top-left naturally */
.page-id-5756 .elementor-element-3f42da8 {
    justify-content: center !important;
    align-items: flex-start !important;
}

/* Why Choose: item 7 - full width row, consistent styling */
.page-id-5756 .elementor-element-1993b25 {
    width: 100% !important;
}

/* Fix GET IN TOUCH widget alignment - override Elementor's --align-self var */
.page-id-5756 .elementor-element-04a1ace {
    --align-self: flex-start !important;
}

/* Fix Don't See section: remove excess left padding (50px each side = 100px total) */
.page-id-5756 .elementor-element-c7bb205 {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

/* Mobile hamburger - show icon bars in white */
.elementskit-menu-hamburger .ekit-menu-icon { display: inline-block !important; fill: #ffffff !important; color: #ffffff !important; }
.elementskit-menu-hamburger .ekit-menu-icon path { fill: #ffffff !important; }

/* Taj Mahal visibility fix - spec labels and care heading */
.parent-pageid-2501 .elementor-element-7fdf2d1 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-6ffbfb1 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-fda20d0 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-bb20da6 .elementor-heading-title {
    color: #555555 !important;
}
.parent-pageid-2501 .elementor-element-44b779e .elementor-heading-title {
    color: #1a1a1a !important;
}
.parent-pageid-2501 .elementor-element-31fb072 .elementor-icon-list-text {
    color: #1a1a1a !important;
}

/* REQUEST QUOTE button: golden brand color on all quartz stone pages */
.parent-pageid-2501 .elementor-element.elementor-element-3d7fd44 .elementskit-btn {
    background-color: #C4A882 !important;
    background-image: none !important;
}

/* ============================================================
   QUARTZ COLLECTION - Comprehensive Font Fix (all stone pages)
   Overrides Geologica → Cormorant Garamond / Jost
   Applied to all child pages of quartz-collection (parent-pageid-2501)
   ============================================================ */

/* --- HERO HEADING (stone name) → Cormorant Garamond --- */
.parent-pageid-2501 .elementor-element-8b4ca06 .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 52px !important;
}

/* --- FINISH BADGES (Polished Finish / Honed Finish) → Jost --- */
.parent-pageid-2501 .elementor-element-13cf94e .elementor-heading-title,
.parent-pageid-2501 .elementor-element-dbd271c .elementor-heading-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 300 !important;
    font-size: 16px !important;
}

/* --- SPEC LABELS (Category, Thickness, Line/Water Absorption, Finish) → Jost 14px --- */
.parent-pageid-2501 .elementor-element-7fdf2d1 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-6ffbfb1 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-fda20d0 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-bb20da6 .elementor-heading-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 300 !important;
    font-size: 14px !important;
}

/* --- WHERE TO USE heading → Cormorant Garamond --- */
.parent-pageid-2501 .elementor-element-708f68f .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 42px !important;
}

/* --- IMAGE BOX TITLES (use-case cards) → Jost --- */
.parent-pageid-2501 .elementor-element-98499d8 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-8c05db0 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-9c221b1 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-4189bc8 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-13a51df .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-cd308ee .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-182dfef .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-1568308 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-2a845de .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-0f02f1f .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-ed68155 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-e56deb9 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-766645f .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-e9ca8d0 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-641f367 .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-0e18a6e .elementor-image-box-title,
.parent-pageid-2501 .elementor-element-d93fcbb .elementor-image-box-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
}

/* --- HOW TO CARE heading → Cormorant Garamond --- */
.parent-pageid-2501 .elementor-element-44b779e .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 42px !important;
}

/* --- CARE STEP TEXT (5 steps) → Jost --- */
.parent-pageid-2501 .elementor-element-8ab892f .elementor-heading-title,
.parent-pageid-2501 .elementor-element-3bb7feb .elementor-heading-title,
.parent-pageid-2501 .elementor-element-5ad08f6 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-651e487 .elementor-heading-title,
.parent-pageid-2501 .elementor-element-539711e .elementor-heading-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 300 !important;
    font-size: 17px !important;
}

/* --- CTA HEADING (Ready to Start Your Project?) → Cormorant Garamond --- */
.parent-pageid-2501 .elementor-element-a9af450 .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 46px !important;
}

/* Alaska Frost: 6th image-box title (Back Splash) → Jost */
.parent-pageid-2501 .elementor-element-6175da1 .elementor-image-box-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
}

/* ============================================================
   GRANITE COLLECTION (parent-pageid-2721) - Font Fix
   QUARTZITE COLLECTION (parent-pageid-2839) - Font Fix
   Same widget IDs as quartz, same font rules applied
   ============================================================ */

/* --- Shared selector helper: applies to both granite and quartzite --- */

/* --- HERO HEADING → Cormorant Garamond --- */
.parent-pageid-2721 .elementor-element-8b4ca06 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-8b4ca06 .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 52px !important;
}

/* --- ABOUT heading → Cormorant Garamond + visible dark color --- */
.parent-pageid-2721 .elementor-element-82a3eac .elementor-heading-title,
.parent-pageid-2839 .elementor-element-82a3eac .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 42px !important;
    color: #1A1A1A !important;
}

/* --- FINISH BADGES (Polished / Honed / Leather) → Jost --- */
.parent-pageid-2721 .elementor-element-13cf94e .elementor-heading-title,
.parent-pageid-2721 .elementor-element-dbd271c .elementor-heading-title,
.parent-pageid-2721 .elementor-element-090d667 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-13cf94e .elementor-heading-title,
.parent-pageid-2839 .elementor-element-dbd271c .elementor-heading-title,
.parent-pageid-2839 .elementor-element-090d667 .elementor-heading-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 300 !important;
    font-size: 16px !important;
}

/* --- SPEC LABELS → Jost + visible dark color --- */
.parent-pageid-2721 .elementor-element-7fdf2d1 .elementor-heading-title,
.parent-pageid-2721 .elementor-element-6ffbfb1 .elementor-heading-title,
.parent-pageid-2721 .elementor-element-fda20d0 .elementor-heading-title,
.parent-pageid-2721 .elementor-element-bb20da6 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-7fdf2d1 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-6ffbfb1 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-fda20d0 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-bb20da6 .elementor-heading-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 300 !important;
    font-size: 14px !important;
    color: #555555 !important;
}

/* --- WHERE TO USE heading → Cormorant Garamond --- */
.parent-pageid-2721 .elementor-element-708f68f .elementor-heading-title,
.parent-pageid-2839 .elementor-element-708f68f .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 42px !important;
    color: #1A1A1A !important;
}

/* --- IMAGE BOX TITLES → Jost --- */
.parent-pageid-2721 .elementor-element-98499d8 .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-8c05db0 .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-9c221b1 .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-4189bc8 .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-13a51df .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-dc4c2fe .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-7ac1405 .elementor-image-box-title,
.parent-pageid-2721 .elementor-element-82c980e .elementor-image-box-title,
.parent-pageid-2839 .elementor-element-98499d8 .elementor-image-box-title,
.parent-pageid-2839 .elementor-element-8c05db0 .elementor-image-box-title,
.parent-pageid-2839 .elementor-element-9c221b1 .elementor-image-box-title,
.parent-pageid-2839 .elementor-element-4189bc8 .elementor-image-box-title,
.parent-pageid-2839 .elementor-element-13a51df .elementor-image-box-title,
.parent-pageid-2839 .elementor-element-dc4c2fe .elementor-image-box-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 400 !important;
    font-size: 18px !important;
}

/* --- HOW TO CARE heading → Cormorant Garamond + visible color --- */
.parent-pageid-2721 .elementor-element-44b779e .elementor-heading-title,
.parent-pageid-2839 .elementor-element-44b779e .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 42px !important;
    color: #1A1A1A !important;
}

/* --- CARE STEP TEXTS → Jost --- */
.parent-pageid-2721 .elementor-element-8ab892f .elementor-heading-title,
.parent-pageid-2721 .elementor-element-3bb7feb .elementor-heading-title,
.parent-pageid-2721 .elementor-element-5ad08f6 .elementor-heading-title,
.parent-pageid-2721 .elementor-element-651e487 .elementor-heading-title,
.parent-pageid-2721 .elementor-element-539711e .elementor-heading-title,
.parent-pageid-2839 .elementor-element-8ab892f .elementor-heading-title,
.parent-pageid-2839 .elementor-element-3bb7feb .elementor-heading-title,
.parent-pageid-2839 .elementor-element-5ad08f6 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-651e487 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-539711e .elementor-heading-title {
    font-family: "Jost", sans-serif !important;
    font-weight: 300 !important;
    font-size: 17px !important;
}

/* --- CTA HEADING → Cormorant Garamond --- */
.parent-pageid-2721 .elementor-element-a9af450 .elementor-heading-title,
.parent-pageid-2839 .elementor-element-a9af450 .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 46px !important;
}

/* --- REQUEST QUOTE button: golden brand color --- */
.parent-pageid-2721 .elementor-element.elementor-element-3d7fd44 .elementskit-btn,
.parent-pageid-2839 .elementor-element.elementor-element-3d7fd44 .elementskit-btn {
    background-color: #C4A882 !important;
    background-image: none !important;
}

/* ============================================================
   FIX: Technical Specifications icon-list heading - visible on quartzite & granite
   Widget 31fb072 - icon-list with "Technical Specifications" text
   Was near-white (rgb(245,245,243)) - now dark visible color
   ============================================================ */
.parent-pageid-2721 .elementor-element-31fb072 .elementor-icon-list-text,
.parent-pageid-2839 .elementor-element-31fb072 .elementor-icon-list-text {
    color: #1a1a1a !important;
}

/* ============================================================
   FIX: Fancybox lightbox toolbar/close button always visible
   The fancybox toolbar was hidden (visibility:hidden) due to
   idle-time behavior. Force visible so X / nav buttons show.
   ============================================================ */
.fancybox-toolbar {
    visibility: visible !important;
    opacity: 1 !important;
}
.fancybox-navigation .fancybox-button {
    visibility: visible !important;
    opacity: 0.7 !important;
}
.fancybox-navigation .fancybox-button:hover {
    opacity: 1 !important;
}


/* ============================================================
   FIX: Fancybox container z-index - must be above sticky header (z-index:99999)
   Also ensure toolbar and close button are visible at all times
   ============================================================ */
.fancybox-container {
    z-index: 1000000 !important;
}
.fancybox-toolbar {
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 1000010 !important;
}
.fancybox-navigation .fancybox-button {
    visibility: visible !important;
    opacity: 0.7 !important;
}
.fancybox-navigation .fancybox-button:hover {
    opacity: 1 !important;
}
.fancybox-bg {
    z-index: 999990 !important;
}
.fancybox-inner {
    z-index: 1000005 !important;
}


/* ===== KJM STONES  Premium Typography for WooCommerce Product Cards ===== */

/* Product card title on category/shop pages */
.woocommerce-loop-product__title,
ul.products .product h2,
.products .woocommerce-loop-product__title {
	    font-family: 'Cormorant Garamond', serif !important;
	    font-size: 17px !important;
	    font-weight: 400 !important;
	    letter-spacing: 0.04em !important;
	    color: #2a2a2a !important;
	    line-height: 1.4 !important;
}

/* Product card price on category/shop pages */
.woocommerce ul.products li.product .price {
	    font-family: 'Jost', sans-serif !important;
	    font-size: 14px !important;
	    font-weight: 300 !important;
	    letter-spacing: 0.06em !important;
	    color: #5a5a5a !important;
}

/* Product detail page  single product title */
.product_title.entry-title {
	    font-family: 'Cormorant Garamond', serif !important;
	    font-size: 40px !important;
	    font-weight: 500 !important;
	    letter-spacing: 0.03em !important;
	    color: #1a1a1a !important;
	    line-height: 1.2 !important;
}

/* Product detail page  price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	    font-family: 'Jost', sans-serif !important;
	    font-size: 18px !important;
	    font-weight: 300 !important;
	    letter-spacing: 0.08em !important;
	    color: #4a4a4a !important;
}

/* Product detail page  description body */
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p {
	    font-family: 'Jost', sans-serif !important;
	    font-size: 15px !important;
	    font-weight: 300 !important;
	    line-height: 1.8 !important;
	    color: #4a4a4a !important;
	    letter-spacing: 0.02em !important;
}

/* ===== End KJM Premium Typography ===== */
}
}
}
}
}

/* ===== KJM STONES  Fix sticky header overlap on all pages ===== */
/* Adds top padding equal to the fixed header height (102px) so page content
 *    is never hidden underneath the sticky nav. Excludes homepage (already set). */

body:not(.home) .elementor {
	    padding-top: 102px !important;
}

/* When admin bar is visible (logged-in), add extra 32px */
.admin-bar body:not(.home) .elementor {
	    padding-top: 134px !important;
}

/* WooCommerce product pages */
body.single-product .elementor,
body.woocommerce-page:not(.home) .elementor {
	    padding-top: 102px !important;
}

.admin-bar body.single-product .elementor,
.admin-bar body.woocommerce-page:not(.home) .elementor {
	    padding-top: 134px !important;
}

/* ===== End sticky header fix ===== */
}
}
}
}

/* Pages using default WordPress template - fix sticky header overlap */
.site-main {
    padding-top: 134px !important;
    margin-top: 0 !important;
}

/* ===== End default template fix ===== */

/* Hide WordPress default template page header title (redundant with Elementor hero) */
.page-header {
    display: none !important;
}

/* ===== End page-header fix ===== */

/* ===== Resources Page (page-id-8781) - Font Visibility Fixes ===== */

/* 1. Featured article card: body text (dark grey) on image bg -> white with shadow */
.page-id-8781 .elementor-element-61494fe p,
.page-id-8781 .elementor-element-61494fe span:not([class*="elementor-icon"]) {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.7) !important;
}

/* 2. Featured article card: "FEATURED" label & heading already white - add text-shadow */
.page-id-8781 .elementor-element-61494fe .elementor-heading-title {
    text-shadow: 0 2px 8px rgba(0,0,0,0.8) !important;
    color: #ffffff !important;
}

/* Resources hero — darken the overlay so white text is visible over light marble image */
.page-id-8781 .elementor-element-61494fe::before,
.page-id-8781 .elementor-element-61494fe > .elementor-background-overlay {
    background-color: rgba(0,0,0,0.5) !important;
    opacity: 1 !important;
}

/* 3. READ ARTICLE button: near-white on near-white bg -> make text visible */
.page-id-8781 .elementor-element-6c2784c a,
.page-id-8781 .elementor-element-6c2784c .elementor-button {
    color: #ffffff !important;
    border-color: rgba(255,255,255,0.9) !important;
    text-shadow: none !important;
}

/* 4. Dark cards (rgb 44,44,44 bg): body text too dark -> make it light */
.page-id-8781 .elementor-element-5a08707 p,
.page-id-8781 .elementor-element-7316824 p,
.page-id-8781 .elementor-element-6a405cb p {
    color: rgba(255, 255, 255, 0.75) !important;
    text-shadow: none !important;
}

/* 5. Hero subtext: dark text on image bg */
.page-id-8781 .elementor-element-20f3572 p {
    color: #ffffff !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}

/* ===== End Resources Font Visibility Fixes ===== */
}
}
})"])"])"]
}
}

/* ================================================
   DARK ARTICLE CARD TEXT VISIBILITY FIX
   Resources page dark cards - override global body text color
   ================================================ */
.elementor-element-5a08707 .elementor-widget-text-editor p,
.elementor-element-7316824 .elementor-widget-text-editor p,
.elementor-element-6a405cb .elementor-widget-text-editor p {
  color: rgba(255, 255, 255, 0.80) !important;
}


/* Dark article card HEADING text visibility fix */
.elementor-element-346467c .elementor-heading-title,
.elementor-element-df86577 .elementor-heading-title {
  color: rgba(255, 255, 255, 0.92) !important;
}


/* STAY INSPIRED section - subtext visibility fix */
.elementor-element-1d3ed21 .elementor-widget-text-editor p,
.elementor-element-1d3ed21 p {
  color: rgba(255, 255, 255, 0.80) !important;
}
/* STAY INSPIRED label - add text-shadow for legibility over bright stone */
.elementor-element-d12a1bf .elementor-heading-title {
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}


/* ========= ACCESSIBILITY: DARK SECTION TEXT OVERRIDES ========= */
/* Edge Profiles page dark sections */
.elementor-element-50pe71ns p,
.elementor-element-xox642lr p,
.elementor-element-ilh8laur p,
.elementor-element-ilh8laur li,
.elementor-element-j5fg6gyl p,
.elementor-element-j5fg6gyl li,
.elementor-element-u14w56em p,
.elementor-element-u14w56em li {
  color: #d4c9bb !important;
}
/* Buying Guide page dark sections */
.elementor-element-dntahzg5 p,
.elementor-element-bxqs8nbz p,
.elementor-element-oqdesvis p,
.elementor-element-oqdesvis li,
.elementor-element-6q4xpmho p,
.elementor-element-6q4xpmho li,
.elementor-element-1cyb7v5s p,
.elementor-element-1cyb7v5s li,
.elementor-element-4pqm6k2i p,
.elementor-element-4pqm6k2i li,
.elementor-element-0hiq3trt p {
  color: #d4c9bb !important;
}
/* Resources page dark sections */
.elementor-element-1d3ed21 p {
  color: #d4c9bb !important;
}
/* Heading labels on dark backgrounds */
.elementor-element-58ki6drg .elementor-heading-title,
.elementor-element-y06hrwi5 .elementor-heading-title,
.elementor-element-sf352mtm .elementor-heading-title,
.elementor-element-0pkt6lqq .elementor-heading-title,
.elementor-element-1daace5 .elementor-heading-title,
.elementor-element-d12a1bf .elementor-heading-title {
  color: #C4A882 !important;
}
/* Buying Guide CTA button - white text on gold background fails contrast */
.elementor-element-y10oe2yx p a {
  color: #1a1a1a !important;
}
/* Resources page - Edge Profile card: dark text on gold background */
.elementor-element-fe3d80a .elementor-heading-title,
.elementor-element-4bd4206 p {
  color: #1a1a1a !important;
}
/* Resources page - Stone Care Read Guide link on gold bg */
.elementor-element-cb46147 > a {
  color: #1a1a1a !important;
}

/* ========= ACCESSIBILITY FIX: TABLE + LINKS + CONTACT BUTTON ========= */

/* 1. Table: Natural Stone column header — dark text on gold bg for readability */
.elementor-element-4c16922 table th:nth-child(2),
.elementor-element-4c16922 table th:nth-child(2) span {
  color: #1a1a1a !important;
}

/* 2. Table: Natural Stone column highlight cells — deep warm brown, stays premium */
.elementor-element-4c16922 table td:nth-child(2) {
  color: #6b4f2a !important;
}

/* 3. "Talk to our stone experts" link — warm dark brown, matches table tone */
.elementor-element-4c16922 p > a[href*="contact"] {
  color: #6b4f2a !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 4. CONTACT US button — keep gold bg, switch to dark text for contrast */
.elementor-element-ea186e1 .elementor-button {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

/* 5. "Read More" article link on light background — darken gold for contrast */
.elementor-element-2675338 a {
  color: #7a5c2e !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* About Us — Mission & Family First card: dark text on dark bg */
.elementor-element-c51ccfc p,
.elementor-element-3c0915c p {
  color: #d4c9bb !important;
}

/* About Us — Showroom section body text on dark overlay */
.elementor-element-98fb5ad p {
  color: #d4c9bb !important;
}

/* ===== HOME PAGE FIXES ===== */

/* Hero tagline "Direct from the quarry" — dark text on dark image overlay */
.elementor-element-eab0b43 p {
  color: #d4c9bb !important;
}

/* "Your Dream Space" section body text — dark on dark overlay */
.elementor-element-ea14e7e p {
  color: #d4c9bb !important;
}

/* Gold section labels on white/light backgrounds — darken for contrast */
.elementor-element-7cb7e47 .elementor-heading-title,
.elementor-element-28acbeb .elementor-heading-title,
.elementor-element-4862541 .elementor-heading-title,
.elementor-element-fc0db92 .elementor-heading-title,
.elementor-element-8cee84c .elementor-heading-title,
.elementor-element-1ce8111 .elementor-heading-title {
  color: #7a5c2e !important;
}

/* "30 mins · Complimentary" grey subheading — darken for legibility */
.elementor-element-29e9653 .elementor-heading-title {
  color: #5a5550 !important;
}

/* ===== RESOURCES PAGE FIXES ===== */

/* Hero label "KNOWLEDGE & INSPIRATION" — white on light marble image, add text shadow */
.page-id-8781 .elementor-element-1daace5 .elementor-heading-title,
.page-id-8781 .elementor-element-1daace5 p {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.8) !important;
}

/* Hero subtext — was #d4c9bb but needs stronger shadow on light image */
.page-id-8781 .elementor-element-20f3572 p {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.8) !important;
}

/* Featured article overlay text — "FEATURED" tag + body text on image bg */
.page-id-8781 .elementor-element-192b69e .elementor-heading-title {
  color: #d4c9bb !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.7) !important;
}
.page-id-8781 .elementor-element-6c2784c p {
  color: #d4c9bb !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6) !important;
}

/* Stone Care card labels — rgba(255,255,255,0.75) = low opacity, fix to full white */
.page-id-8781 .elementor-element-de0f231 .elementor-heading-title {
  color: #ffffff !important;
}
.page-id-8781 .elementor-element-904de2b p {
  color: #ffffff !important;
}

/* "QUICK GUIDES" section label — gold on light */
.page-id-8781 .elementor-element-fd9ef26 .elementor-heading-title {
  color: #7a5c2e !important;
}

/* Newsletter "STAY INSPIRED" label — verify it passes, boost if needed */
.page-id-8781 .elementor-element-d12a1bf .elementor-heading-title {
  color: #C4A882 !important;
}

/* Resources newsletter "STAY INSPIRED" label — gold on mixed image, add text shadow */
.page-id-8781 .elementor-element-d12a1bf .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.9) !important;
  letter-spacing: 0.2em !important;
}

/* Resources newsletter body text — boost visibility on dark image */
.page-id-8781 .elementor-element-1d3ed21 p {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.8) !important;
}

/* Featured article — FEATURED tag and body, stronger fix */
.page-id-8781 .elementor-element-192b69e .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.9) !important;
}
.page-id-8781 .elementor-element-6c2784c p,
.page-id-8781 .elementor-element-6c2784c a {
  color: #e8ddd0 !important;
  text-shadow: 0 1px 5px rgba(0,0,0,0.85) !important;
}

/* ===== FEATURED CARD: Waterfall Edge - Text Visibility Fix ===== */
/* H2 title: white + strong text-shadow for readability on marble image */
.elementor-8781 .elementor-element-9851add h2,
.elementor-8781 .elementor-element-9851add .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.9), 0 1px 6px rgba(0,0,0,0.75) !important;
}

/* Dark gradient overlay on the featured image container — improves contrast for all text */
.elementor-8781 .elementor-element-1bf3db1::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.72) 0%,
    rgba(0,0,0,0.45) 45%,
    rgba(0,0,0,0.15) 75%,
    rgba(0,0,0,0.05) 100%
  ) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* Ensure all text content sits above the gradient overlay */
.elementor-8781 .elementor-element-1bf3db1 > .e-con-inner,
.elementor-8781 .elementor-element-1bf3db1 > .elementor-container {
  position: relative !important;
  z-index: 2 !important;
}
/* ===== END FEATURED CARD FIX ===== */

/* Fix dark card text visibility - Mixed Material Kitchens page */
.elementor-element-7bdda8c p,
.elementor-element-7bdda8c .elementor-widget-text-editor p,
.elementor-element-7bdda8c .elementor-text-editor p {
  color: #e0e0e0 !important;
}
.elementor-element-61884e5 p,
.elementor-element-61884e5 .elementor-heading-title {
  color: #e0e0e0 !important;
}

/* Granite Collection Hero Text Visibility Fix */
.page-id-2721 .elementor-element-9afea63 .elementor-heading-title,
body.page-id-2721 .elementor-element-9afea63 .elementor-heading-title {
  color: #ffffff !important;
  text-shadow: 0px 2px 12px rgba(0,0,0,0.7) !important;
}

.page-id-2721 .elementor-element-2d27c8a p,
body.page-id-2721 .elementor-element-2d27c8a .elementor-widget-text-editor p {
  color: #ffffff !important;
  text-shadow: 0px 1px 8px rgba(0,0,0,0.7) !important;
}

/* Granite Collection Bottom Section (Custom Sourcing) Text Visibility Fix */
.page-id-2721 .elementor-element-granite_cta_html p,
body.page-id-2721 [data-id="granite_cta_html"] p {
  color: #ffffff !important;
}

/* Footer Spacing & Layout Improvements */
.elementor-142 .elementor-element-838f86e.e-con,
.elementor-element-838f86e.e-con {
  padding-top: 48px !important;
  padding-bottom: 40px !important;
}

/* Tighten gap between column heading and list items */
.ekit-template-content-footer [data-id="e23193a"],
.ekit-template-content-footer [data-id="13da32e"],
.ekit-template-content-footer [data-id="4d2e967"] {
  gap: 14px !important;
}

/* Tighten nav list item line spacing */
.ekit-template-content-footer .elementor-icon-list-items {
  gap: 8px !important;
}

/* Footer Contact Icons - Phone & WhatsApp small icons */
.ekit-template-content-footer [data-id="446fc25"] .elementor-icon-list-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 18px !important;
  min-width: 18px;
  flex-shrink: 0;
}
.ekit-template-content-footer [data-id="446fc25"] .elementor-icon-list-icon i {
  font-size: 13px !important;
  color: #c4a882 !important;
  line-height: 1;
}
.ekit-template-content-footer [data-id="446fc25"] .elementor-icon-list-icon svg {
  width: 13px !important;
  height: 13px !important;
  fill: #c4a882 !important;
}
.ekit-template-content-footer [data-id="446fc25"] .elementor-icon-list-item {
  display: flex !important;
  align-items: center;
  gap: 10px;
}

/* Sourcing & Quality hero body text - force white color */
.page-id-8798 .elementor-element-de8f488 p,
.page-id-8798 .elementor-element-de8f488 .elementor-widget-text-editor p {
    color: #ffffff !important;
}

/* Sourcing & Quality - Enhanced hero visual */
/* Stronger text shadows for all hero text */
.page-id-8798 .elementor-element-6552f16 .elementor-widget-text-editor p {
    color: #ffffff !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.9), 0 1px 4px rgba(0,0,0,0.8) !important;
}

/* Breadcrumb text */
.page-id-8798 .elementor-element-6552f16 .elementor-widget-text-editor a,
.page-id-8798 .elementor-element-6552f16 .elementor-widget-text-editor span {
    text-shadow: 0 1px 6px rgba(0,0,0,0.85) !important;
}

/* Main H1 heading */
.page-id-8798 .elementor-element-6552f16 h1,
.page-id-8798 .elementor-element-6552f16 .elementor-heading-title {
    text-shadow: 0 3px 16px rgba(0,0,0,0.85), 0 1px 5px rgba(0,0,0,0.7) !important;
}

/* SOURCING & QUALITY label */
.page-id-8798 .elementor-element-6552f16 h6 {
    text-shadow: 0 2px 8px rgba(0,0,0,0.8) !important;
    letter-spacing: 3px;
}


/* Platinum Black - Where to Use heading - white text on dark background */
.page-id-4817 .elementor-element-708f68f .elementor-heading-title {
    color: #ffffff !important;
}

/* Hero padding-top for mobile - prevent text going under fixed nav */
.page-id-4817 .elementor-element-20c3bdd {
    padding-top: 0 !important;
}

/* === PLATINUM BLACK PAGE - MOBILE OPTIMIZATION === */
/* Hero section: ensure proper height and font size on mobile */
@media (max-width: 767px) {
    .page-id-4817 .elementor-element-20c3bdd {
        min-height: 300px !important;
    }
    /* Platinum Black hero title - reduce font size on mobile */
    .page-id-4817 .elementor-element-20c3bdd .elementor-heading-title {
        font-size: 40px !important;
        line-height: 1.2 !important;
    }
    /* Where to Use heading - ensure white on mobile */
    .page-id-4817 .elementor-element-708f68f .elementor-heading-title {
        color: #ffffff !important;
        font-size: 32px !important;
    }
}

/* ============================================================
   KJM RESPONSIVE OPTIMIZATION - GLOBAL LAYOUT & TYPOGRAPHY
   ============================================================ */

/* ---- HEADER: consistent padding ---- */
.elementor-element-f04f0ca > .e-con-inner {
  padding-left: 40px !important;
  padding-right: 40px !important;
  max-width: 100% !important;
}
@media (max-width: 767px) {
  .elementor-element-f04f0ca > .e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ---- GLOBAL SECTION PADDING: Desktop ≥ 1025px ---- */
@media (min-width: 1025px) {
  /* Content sections get side padding */
  .elementor-element-bc466a4,
  .elementor-element-895cffb,
  .elementor-element-02d3602,
  .elementor-element-b3b7586,
  .elementor-element-cd91138,
  .elementor-element-36e2d06,
  .elementor-element-2a24119,
  .elementor-element-why_granite_new {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
  /* About page sections */
  .elementor-element-02d3602 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
}

/* ---- DESKTOP TYPOGRAPHY: only target main headings ---- */
@media (min-width: 1025px) {
  /* Hero H1 */
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 60px !important;
    line-height: 1.15 !important;
  }
  /* Main section H2 headings - but not eyebrow labels (they're smaller via inline style) */
  /* Only override headings that are genuinely large */
  .elementor-widget-heading h2.elementor-heading-title[style*="font-size"] {
    /* Let Elementor inline styles win for specifically sized elements */
  }
  /* H2/H3 sizes: controlled per-page via Elementor widget settings */
  /* Body / paragraph text */
  .elementor-widget-text-editor p,
  .elementor-widget-text-editor {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }
  /* Nav links */
  .elementor-nav-menu--main .elementor-item {
    font-size: 13px !important;
    letter-spacing: 0.06em !important;
  }
}

/* ---- TABLET: 768px – 1024px ---- */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-bc466a4,
  .elementor-element-895cffb,
  .elementor-element-02d3602,
  .elementor-element-b3b7586,
  .elementor-element-cd91138,
  .elementor-element-36e2d06,
  .elementor-element-2a24119,
  .elementor-element-why_granite_new {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 44px !important;
    line-height: 1.2 !important;
  }
  /* Tablet h2/h3: controlled per-page via Elementor widget settings */
  .elementor-widget-text-editor p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
}

/* ---- MOBILE: < 768px ---- */
@media (max-width: 767px) {
  .elementor-element-bc466a4,
  .elementor-element-895cffb,
  .elementor-element-02d3602,
  .elementor-element-b3b7586,
  .elementor-element-cd91138,
  .elementor-element-36e2d06,
  .elementor-element-2a24119,
  .elementor-element-why_granite_new {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
  /* Mobile h2/h3: controlled per-page via Elementor widget settings */
  .elementor-widget-text-editor p {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }
  /* Hero min-height */
  .elementor-element-3883d24,
  .elementor-element-edfc007,
  .elementor-element-145e971 {
    min-height: 420px !important;
  }
}

/* ---- FOOTER ---- */
.elementor-element-838f86e {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (min-width: 1025px) {
  .elementor-element-838f86e > .e-con-inner {
    padding-left: 80px !important;
    padding-right: 80px !important;
    padding-top: 60px !important;
    padding-bottom: 40px !important;
    max-width: 100% !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-838f86e > .e-con-inner {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-838f86e > .e-con-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-top: 40px !important;
    padding-bottom: 30px !important;
  }
}

/* ---- FIX CONSULTATION SECTION UNBALANCED PADDING ---- */
.elementor-element-d378686 {
  padding-right: 0 !important;
}
@media (min-width: 1025px) {
  .elementor-element-d378686 {
    padding-left: 80px !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-d378686 {
    padding-left: 40px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-d378686 {
    padding-left: 20px !important;
  }
}

/* ---- GLOBAL FIXES ---- */
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; }
.e-con, .e-con-inner { max-width: 100%; }

/* ============================================================
   END KJM RESPONSIVE OPTIMIZATION
   ============================================================ */

/* ==========================================
   KJM STONES — PREMIUM CATALOG REDESIGN
   Inspired by uniquestoneboutique.com
   Added via Claude AI Assistant
========================================== */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Jost:wght@300;400;500;600&display=swap');

/* ---- HERO ---- */
.elementor-element-347c246 {
  min-height: 540px !important;
  position: relative !important;
}
.elementor-element-347c246::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(10,8,6,0.5) 0%, rgba(10,8,6,0.2) 50%, rgba(10,8,6,0.55) 100%) !important;
  z-index: 1 !important;
}
.elementor-element-347c246 > * { position: relative !important; z-index: 2 !important; }
.elementor-element-347c246 h1,
.elementor-element-347c246 h2 {
  font-family: 'Jost', sans-serif !important;
  font-size: clamp(40px, 5vw, 70px) !important;
  font-weight: 300 !important;
  font-style: normal !important;
  letter-spacing: 0.04em !important;
  color: #ffffff !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.5) !important;
  line-height: 1.15 !important;
  text-align: center !important;
}

/* ---- INTRO SECTION ---- */
.elementor-element-a860e9b {
  padding: 72px 40px 56px !important;
  background: #f9f7f4 !important;
  text-align: center !important;
}
.elementor-element-a860e9b p {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.38em !important;
  color: #b5a07a !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}
.elementor-element-a860e9b h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(38px, 4.5vw, 60px) !important;
  font-weight: 400 !important;
  color: #1a1a18 !important;
  letter-spacing: 0.02em !important;
  margin: 0 0 14px !important;
  line-height: 1.2 !important;
}

/* ---- CATALOG GRID ---- */
.kjm-wrap {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 3px !important;
  background: #e8e3da !important;
  padding: 3px !important;
}

/* ---- CARD ---- */
.kjm-row {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  position: relative !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.kjm-row:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important;
  z-index: 10 !important;
}

/* ---- CARD IMAGE ---- */
.kjm-img {
  order: 0 !important;
  width: 100% !important;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;
  flex-shrink: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  overflow: hidden !important;
  transition: transform 0.6s ease !important;
  position: relative !important;
}
.kjm-row:hover .kjm-img {
  transform: scale(1.04) !important;
}

/* ---- CARD TEXT ---- */
.kjm-txt {
  order: 1 !important;
  padding: 20px 28px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  background: #ffffff !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 160px !important;
}

/* Origin */
.kjm-origin {
  font-family: 'Jost', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.36em !important;
  text-transform: uppercase !important;
  color: #b5a07a !important;
  margin: 0 0 10px !important;
}

/* Name */
.kjm-name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(32px, 3.2vw, 44px) !important;
  font-weight: 400 !important;
  color: #8b7d5e !important;
  margin: 0 0 6px !important;
  line-height: 1.15 !important;
}

/* Tagline */
.kjm-tag {
  font-family: 'Jost', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  font-style: normal !important;
  color: #9a9188 !important;
  margin: 0 0 18px !important;
  line-height: 1.5 !important;
}

/* Divider */
.kjm-line {
  width: 36px !important;
  height: 1.5px !important;
  background: #c9b88a !important;
  margin: 0 0 20px !important;
  flex-shrink: 0 !important;
}

/* Description */
.kjm-desc {
  font-family: 'Jost', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 300 !important;
  color: #5c564e !important;
  line-height: 1.85 !important;
  margin: 0 0 14px !important;
  letter-spacing: 0.01em !important;
}

/* Specs */
.kjm-meta {
  display: flex !important;
  gap: 20px !important;
  margin: 0 0 16px !important;
  padding: 10px 0 !important;
  border-top: 1px solid #ede8e0 !important;
  border-bottom: 1px solid #ede8e0 !important;
  width: 100% !important;
  flex-shrink: 0 !important;
}
.kjm-meta > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
}
.kjm-meta-label {
  font-family: 'Jost', sans-serif !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0.32em !important;
  text-transform: uppercase !important;
  color: #b5a07a !important;
  margin: 0 !important;
}
.kjm-meta-val {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #3d3831 !important;
  margin: 0 !important;
  letter-spacing: 0.02em !important;
}

/* Button */
.kjm-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: #1a1a18 !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid #1a1a18 !important;
  padding-bottom: 3px !important;
  transition: color 0.3s, border-color 0.3s, gap 0.3s !important;
  margin-top: 4px !important;
}
.kjm-btn:hover {
  color: #b5a07a !important;
  border-color: #b5a07a !important;
  gap: 18px !important;
}

/* ---- STONE CRAFTS (dark card) ---- */
.kjm-row:has(.kjm-crafts-grid) {
  background: #181715 !important;
}
.kjm-row:has(.kjm-crafts-grid) .kjm-txt {
  background: #181715 !important;
  min-height: 260px !important;
}
.kjm-row:has(.kjm-crafts-grid) .kjm-origin { color: #c9b88a !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-name { color: #c9b88a !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-tag { color: #9e9588 !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-line { background: #c9b88a !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-desc { color: #c8c2ba !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-meta { border-color: #3a3730 !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-meta-label { color: #c9b88a !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-meta-val { color: #e0dbd3 !important; }
.kjm-row:has(.kjm-crafts-grid) .kjm-btn {
  color: #c9b88a !important;
  border-color: #c9b88a !important;
}
.kjm-row:has(.kjm-crafts-grid) .kjm-btn:hover {
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* Stone Crafts 2x2 image grid */
.kjm-crafts-grid {
  order: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  grid-template-rows: repeat(2, 1fr) !important;
  height: 340px !important;
  min-height: 340px !important;
  max-height: 340px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}
.kjm-craft-img {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 170px !important;
}

/* ---- CTA SECTION ---- */
.elementor-element-prod_cta {
  background: #181715 !important;
  border-top: 2px solid #c9b88a !important;
}
.elementor-element-prod_cta h2, 
.elementor-element-prod_cta h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(30px, 3.5vw, 50px) !important;
  font-weight: 400 !important;
  color: #ffffff !important;
}
.elementor-element-prod_cta p {
  font-family: 'Jost', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #9e9588 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .kjm-wrap {
    grid-template-columns: 1fr !important;
  }
  .kjm-img, .kjm-crafts-grid {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
  }
  .kjm-txt {
    padding: 28px 24px 30px !important;
  }
}

/* ===== PRODUCT SPEC VALUE CELLS: reduce from 18px to 15px ===== */
[data-id="a3da947"] .elementor-heading-title,
[data-id="5003cef"] .elementor-heading-title,
[data-id="78df76b"] .elementor-heading-title,
[data-id="431275d"] .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* ===== HERO BACKGROUND POSITION FIX: Quartzite Collection page ===== */
/* Fix hero image showing bottom-anchored (center bottom) - override to center */
.elementor-2839 .elementor-element.elementor-element-893ad04:not(.elementor-motion-effects-element-type-background),
.elementor-2839 .elementor-element.elementor-element-893ad04 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-position: center center !important;
}


/* Live Inventory Button in Header */
.nav-live-inventory-btn > a {
  background-color: #c4a882 !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  transition: background-color 0.3s ease !important;
  white-space: nowrap !important;
}
.nav-live-inventory-btn > a:hover {
  background-color: #a8895f !important;
  color: #fff !important;
}
.nav-live-inventory-btn > a::before {
  content: "● ";
  color: #fff;
  font-size: 10px;
}

/* ============================================
   KJM STONES - RESPONSIVE OPTIMIZATION
   Desktop (1200px+), Laptop (1024px), Tablet (768px), Mobile (767px and below)
   ============================================ */

/* ---- DESKTOP LARGE (1200px+) ---- */
@media (min-width: 1200px) {
  /* Ensure hero section fills viewport height */
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1200px;
  }
  
  /* Header nav spacing on large screens */
  .site-header .main-navigation a {
    font-size: 13px;
    letter-spacing: 0.5px;
  }
}

/* ---- LAPTOP / MID SCREENS (1024px - 1199px) ---- */
@media (min-width: 1024px) and (max-width: 1199px) {
  /* Slightly reduce nav items spacing for laptop */
  .main-navigation ul li a {
    font-size: 12px !important;
    padding: 0 8px !important;
  }
  
  /* Live Inventory nav button - compact on laptop */
  .nav-live-inventory-btn > a {
    padding: 7px 12px !important;
    font-size: 12px !important;
  }

  /* Hero heading size adjustment */
  .elementor-widget-heading .elementor-heading-title.elementor-size-xxl {
    font-size: 52px !important;
  }
}

/* ---- TABLET (768px - 1023px) ---- */
@media (min-width: 768px) and (max-width: 1023px) {
  /* Hero heading */
  .elementor-widget-heading .elementor-heading-title {
    font-size: 38px !important;
  }
  
  /* Section padding reduction */
  .elementor-section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  
  /* About Us section - stack on tablet */
  .elementor-column.elementor-col-50 {
    width: 100% !important;
  }
  
  /* Collection grid - 2 columns on tablet */
  .elementor-column.elementor-col-33 {
    width: 50% !important;
  }

  /* Stats / numbers row */
  .elementor-column.elementor-col-25 {
    width: 50% !important;
    margin-bottom: 20px;
  }
  
  /* CTA section buttons - stack on tablet */
  .elementor-widget-button {
    text-align: center !important;
  }
  
  /* Footer columns layout */
  .elementor-column.elementor-col-20 {
    width: 50% !important;
    margin-bottom: 20px;
  }
}

/* ---- MOBILE (max 767px) ---- */
@media (max-width: 767px) {
  /* === HERO SECTION === */
  .elementor-widget-heading .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.3 !important;
  }
  
  /* Hero subtitle */
  .elementor-widget-text-editor p,
  .elementor-widget-heading .elementor-heading-title.elementor-size-medium {
    font-size: 14px !important;
  }
  
  /* Hero section min-height for mobile */
  .elementor-section.elementor-section-height-full {
    min-height: 100svh !important;
  }
  
  /* === BUTTONS on mobile === */
  .elementor-widget-button .elementor-button {
    width: 90% !important;
    max-width: 320px !important;
    padding: 14px 20px !important;
    font-size: 13px !important;
    text-align: center !important;
    display: block !important;
    margin: 8px auto !important;
  }
  
  /* === SECTION PADDING === */
  .elementor-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  .elementor-section .elementor-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  
  /* === ABOUT US SECTION === */
  .elementor-column.elementor-col-50 {
    width: 100% !important;
  }
  
  /* === COLLECTION GRID - Full width on mobile === */
  .elementor-column.elementor-col-33,
  .elementor-column.elementor-col-25 {
    width: 100% !important;
    margin-bottom: 20px !important;
  }
  
  /* === TESTIMONIALS === */
  .elementor-testimonial-wrapper {
    padding: 20px 15px !important;
  }
  
  /* === HOW IT WORKS STEPS === */
  .elementor-icon-box-wrapper {
    text-align: center !important;
  }
  
  .elementor-icon-box-icon {
    margin: 0 auto 15px !important;
  }
  
  /* === STATS / NUMBERS ROW === */
  .elementor-counter .elementor-counter-number-wrapper {
    font-size: 36px !important;
  }
  
  /* === FOOTER === */
  .elementor-column.elementor-col-20,
  .elementor-column.elementor-col-30 {
    width: 100% !important;
    margin-bottom: 30px !important;
  }
  
  /* Footer logo area */
  .ekit-template-content-footer .elementor-widget-image {
    text-align: center !important;
  }
  
  /* Footer quick links center align */
  .ekit-template-content-footer .elementor-widget-text-editor,
  .ekit-template-content-footer .elementor-widget-nav-menu {
    text-align: center !important;
  }
  
  /* === SECTION HEADINGS === */
  .elementor-widget-heading .elementor-heading-title.elementor-size-xl {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }
  
  .elementor-widget-heading .elementor-heading-title.elementor-size-large {
    font-size: 24px !important;
    line-height: 1.3 !important;
  }
  
  /* === INSPIRATION GALLERY SLIDESHOW === */
  .elementor-slides-wrapper {
    height: 280px !important;
  }
  
  /* === LIVE INVENTORY BUTTON (stone pages) === */
  a[href*="live-inventory"][style*="background-color"] {
    display: block !important;
    width: 90% !important;
    margin: 20px auto !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
  }
  
  /* === CTA BOTTOM SECTION === */
  .elementor-section[data-settings*="dream"] .elementor-widget-button,
  .elementor-column .elementor-widget-button + .elementor-widget-button {
    margin-top: 10px !important;
  }
  
  /* Overflow prevention */
  body {
    overflow-x: hidden !important;
  }
  
  /* Images full width */
  .elementor-widget-image img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  /* Text readability */
  .elementor-widget-text-editor {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
}

/* ---- SMALL MOBILE (max 480px) ---- */
@media (max-width: 480px) {
  /* Extra small headings */
  .elementor-widget-heading .elementor-heading-title {
    font-size: 26px !important;
  }
  
  .elementor-widget-heading .elementor-heading-title.elementor-size-xl {
    font-size: 24px !important;
  }
  
  /* Buttons full width on small mobile */
  .elementor-widget-button .elementor-button {
    width: 95% !important;
    max-width: none !important;
  }
  
  /* Header logo smaller */
  .site-header .site-branding img,
  .elementor-widget-site-logo img {
    max-height: 60px !important;
    width: auto !important;
  }
  
  /* Reduce section padding on very small screens */
  .elementor-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
}


/* ============================================
   STONE COLLECTION PAGES - CARD SPACING & FONT FIX
   Applies to: Granite (2721), Quartzite (2839), Quartz (2501)
   ============================================ */

/* --- CARD GRID GAP --- */
/* Increase gap between product cards */
.elementor-2721 [data-id="723e385"],
.elementor-2839 [data-id="723e385"],
.elementor-2501 [data-id="723e385"] {
  gap: 20px !important;
  row-gap: 24px !important;
}

/* Target the e-grid container on all stone collection pages */
.page-id-2721 .e-grid,
.page-id-2839 .e-grid,
.page-id-2501 .e-grid {
  gap: 20px !important;
  row-gap: 24px !important;
}

/* --- CARD STYLING --- */
/* Add border-radius, shadow, and hover effect to each card */
.page-id-2721 .e-grid > .e-con,
.page-id-2839 .e-grid > .e-con,
.page-id-2501 .e-grid > .e-con {
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  transition: box-shadow 0.3s ease, transform 0.3s ease !important;
  background: #fff !important;
}

.page-id-2721 .e-grid > .e-con:hover,
.page-id-2839 .e-grid > .e-con:hover,
.page-id-2501 .e-grid > .e-con:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.14) !important;
  transform: translateY(-3px) !important;
}

/* --- CARD IMAGE --- */
/* Make images fill the card top cleanly */
.page-id-2721 .e-grid > .e-con .elementor-widget-image img,
.page-id-2839 .e-grid > .e-con .elementor-widget-image img,
.page-id-2501 .e-grid > .e-con .elementor-widget-image img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* --- CARD TITLE FONT FIX --- */
/* Change from thin italic Cormorant Garamond to clean, readable style */
.page-id-2721 .e-grid .elementor-heading-title,
.page-id-2839 .e-grid .elementor-heading-title,
.page-id-2501 .e-grid .elementor-heading-title {
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  color: #2c2c2c !important;
  text-align: center !important;
  padding: 12px 16px !important;
}

/* --- CARD TITLE LINK --- */
.page-id-2721 .e-grid .elementor-heading-title a,
.page-id-2839 .e-grid .elementor-heading-title a,
.page-id-2501 .e-grid .elementor-heading-title a {
  color: #2c2c2c !important;
  text-decoration: none !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

.page-id-2721 .e-grid .elementor-heading-title a:hover,
.page-id-2839 .e-grid .elementor-heading-title a:hover,
.page-id-2501 .e-grid .elementor-heading-title a:hover {
  color: #c4a882 !important;
}



/* ===== TRADE PROGRAM PAGE VISUAL IMPROVEMENTS ===== */

/* ---- GLOBAL: smooth scroll ---- */
html { scroll-behavior: smooth !important; }

/* ---- HERO: upgrade Apply Now button ---- */
.elementor-element-f04f0ca .elementor-button,
.elementor-element-f04f0ca a.elementor-button {
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
  letter-spacing: 1.5px !important;
}
.elementor-element-f04f0ca .elementor-button:hover,
.elementor-element-f04f0ca a.elementor-button:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(196, 168, 130, 0.5) !important;
}

/* ---- WHO QUALIFIES: profession cards in 2-column grid on desktop ---- */
.elementor-element-ba28bdd {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
  flex: none !important;
}
.elementor-element-ba28bdd > .e-con {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
}

/* ---- Profession cards: hover lift effect ---- */
.elementor-element-f4ac202,
.elementor-element-f796084,
.elementor-element-ffd189b,
.elementor-element-920c5e9,
.elementor-element-db348db,
[data-id="f4ac202"],
[data-id="f796084"],
[data-id="ffd189b"],
[data-id="920c5e9"],
[data-id="db348db"],
[data-id="88b1ba7"],
.elementor-element-ba28bdd > .e-con {
  transition: transform 0.3s cubic-bezier(.25,.8,.25,1), box-shadow 0.3s cubic-bezier(.25,.8,.25,1) !important;
  border-radius: 14px !important;
}
.elementor-element-ba28bdd > .e-con:hover {
  transform: translateY(-7px) scale(1.01) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.13) !important;
}

/* ---- MEMBER BENEFITS: 2-column grid on desktop ---- */
.elementor-element-143ec51 {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 3px !important;
  width: 100% !important;
  flex: none !important;
}
.elementor-element-143ec51 > .e-con {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.elementor-element-143ec51 > .e-con:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,0.3) !important;
  z-index: 2 !important;
}

/* ---- Benefit card icon: slight animation on hover ---- */
.elementor-element-143ec51 > .e-con:hover .elementor-widget-heading .elementor-heading-title img {
  transform: scale(1.15) rotate(-5deg) !important;
  transition: transform 0.3s ease !important;
  display: inline-block !important;
}

/* ---- HOW IT WORKS: numbered steps visual upgrade ---- */
[data-id="8ef592a"],
[data-id="f4af7d3"],
[data-id="311c638"] {
  border-left: 4px solid #c4a882 !important;
  transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
  border-radius: 0 12px 12px 0 !important;
}
[data-id="8ef592a"]:hover,
[data-id="f4af7d3"]:hover,
[data-id="311c638"]:hover {
  border-left-color: #a07d50 !important;
  transform: translateX(6px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
}

/* ---- FORM: styled inputs with golden accent border ---- */
#trade-form input[type="text"],
#trade-form input[type="email"],
#trade-form input[type="tel"],
#trade-form input[type="url"],
#trade-form textarea,
#trade-form select {
  border: 1.5px solid #d5c4a7 !important;
  border-radius: 8px !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  padding: 14px 16px !important;
  font-size: 15px !important;
  background: #fff !important;
}
#trade-form input[type="text"]:focus,
#trade-form input[type="email"]:focus,
#trade-form input[type="tel"]:focus,
#trade-form input[type="url"]:focus,
#trade-form textarea:focus,
#trade-form select:focus {
  border-color: #c4a882 !important;
  box-shadow: 0 0 0 3px rgba(196, 168, 130, 0.22) !important;
  outline: none !important;
}

/* ---- FORM submit button: gradient upgrade ---- */
#trade-form button[type="submit"],
#trade-form input[type="submit"] {
  background: linear-gradient(135deg, #c4a882 0%, #9a7340 100%) !important;
  border: none !important;
  letter-spacing: 2px !important;
  padding: 16px 40px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  color: #fff !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 18px rgba(154, 115, 64, 0.38) !important;
}
#trade-form button[type="submit"]:hover,
#trade-form input[type="submit"]:hover {
  background: linear-gradient(135deg, #a07d50 0%, #7d5f38 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(154, 115, 64, 0.52) !important;
}

/* ---- FAQ items: card-style with border and hover effect ---- */
[data-id="fa97213"],
[data-id="10e5cd5"],
[data-id="56479d6"],
[data-id="5630969"],
[data-id="63e0f60"],
[data-id="32d621a"],
[data-id="370568e"] {
  border: 1px solid rgba(196, 168, 130, 0.3) !important;
  border-radius: 10px !important;
  padding: 8px 4px !important;
  margin-bottom: 6px !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
  background: rgba(249, 246, 242, 0.6) !important;
}
[data-id="fa97213"]:hover,
[data-id="10e5cd5"]:hover,
[data-id="56479d6"]:hover,
[data-id="5630969"]:hover,
[data-id="63e0f60"]:hover,
[data-id="32d621a"]:hover,
[data-id="370568e"]:hover {
  box-shadow: 0 4px 16px rgba(196, 168, 130, 0.22) !important;
  border-color: #c4a882 !important;
}

/* ---- All CTA buttons: golden glow hover ---- */
.elementor-button {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.elementor-button:hover {
  transform: translateY(-2px) !important;
}

/* ---- Divider: gradient style ---- */
.elementor-divider-separator {
  background-image: linear-gradient(90deg, transparent 0%, #c4a882 30%, #a07d50 50%, #c4a882 70%, transparent 100%) !important;
}

/* ---- Testimonial section stat counter: larger ---- */
.elementor-counter-number-wrapper {
  font-size: 70px !important;
  font-weight: 900 !important;
  letter-spacing: -2px !important;
}

/* ---- Smooth transition for all icons in benefits section ---- */
.elementor-element-143ec51 .elementor-heading-title {
  transition: transform 0.3s ease !important;
}
.elementor-element-143ec51 .e-con:hover .elementor-heading-title:first-child {
  transform: scale(1.1) !important;
}

/* ---- Responsive: 1 column on mobile ---- */
@media (max-width: 767px) {
  .elementor-element-ba28bdd {
    grid-template-columns: 1fr !important;
  }
  .elementor-element-143ec51 {
    grid-template-columns: 1fr !important;
  }
}


/* ===== HIDE 500+ TRADE MEMBERS SECTION ===== */
[data-id="a422b24"] { display: none !important; }


/* ===== WHITE CARD BACKGROUNDS ===== */

/* Who Qualifies profession cards */
.elementor-element-ba28bdd > .e-con,
[data-id="f4ac202"],
[data-id="f796084"],
[data-id="ffd189b"],
[data-id="920c5e9"],
[data-id="db348db"],
[data-id="88b1ba7"] {
  background-color: #ffffff !important;
}

/* How It Works step cards */
[data-id="8ef592a"],
[data-id="f4af7d3"],
[data-id="311c638"] {
  background-color: #ffffff !important;
}

/* FAQ item cards */
[data-id="fa97213"],
[data-id="10e5cd5"],
[data-id="56479d6"],
[data-id="5630969"],
[data-id="63e0f60"],
[data-id="32d621a"],
[data-id="370568e"] {
  background-color: #ffffff !important;
}

/* Section wrappers with cream bg */
[data-id="d8e6e62"] {
  background-color: #ffffff !important;
}


/* ===================================================
   PREMIUM WHITE OVERHAUL — strip all warm/gold/cream
   =================================================== */

/* 1. Hero section — pure white, no warm tint */
[data-id="f04f0ca"] {
  background-color: #ffffff !important;
}

/* 2. "WHO QUALIFIES" + surrounding sections — pure white bg */
[data-id="d979272"],
[data-id="fa8f96f"],
[data-id="d8e6e62"],
[data-id="9ff44b9"],
[data-id="d01823c"],
[data-id="af0afed"],
[data-id="c4d978a"],
[data-id="b15bc27"],
[data-id="f0857be"],
[data-id="838f86e"],
[data-id="bab0c4c"] {
  background-color: #ffffff !important;
}

/* 3. Dark benefit cards section — keep dark but cool-toned charcoal, not warm */
[data-id="6fe0cf4"],
[data-id="8a36982"],
[data-id="c17d3c9"],
[data-id="c9d38c3"],
[data-id="c0e492c"],
[data-id="cedc400"],
[data-id="22b5ae3"] {
  background-color: #1a1f2e !important;
}

/* 4. HOW IT WORKS section — white not dark */
[data-id="d01823c"] {
  background-color: #ffffff !important;
}

/* 5. Gold accent → cool slate/charcoal accent (#2d3142) on labels & small headings */
.elementor-heading-title {
  color: inherit;
}

/* Override warm gold text on section labels (WHO QUALIFIES, MEMBER BENEFITS etc.) */
[data-id="d979272"] .elementor-heading-title,
[data-id="d8e6e62"] .elementor-heading-title,
[data-id="d01823c"] .elementor-heading-title,
[data-id="af0afed"] .elementor-heading-title,
[data-id="c4d978a"] .elementor-heading-title,
[data-id="9ff44b9"] .elementor-heading-title,
[data-id="f0857be"] .elementor-heading-title {
  color: #2d3142 !important;
}

/* Keep the white text on dark benefit section */
[data-id="22b5ae3"] .elementor-heading-title,
[data-id="6fe0cf4"] .elementor-heading-title,
[data-id="8a36982"] .elementor-heading-title,
[data-id="c17d3c9"] .elementor-heading-title,
[data-id="c9d38c3"] .elementor-heading-title,
[data-id="c0e492c"] .elementor-heading-title,
[data-id="cedc400"] .elementor-heading-title {
  color: #ffffff !important;
}

/* 6. Apply Now + all CTA buttons — replace gold with deep charcoal */
.elementor-element-f04f0ca .elementor-button,
.elementor-element-f04f0ca a.elementor-button,
[data-id="f0857be"] .elementor-button,
[data-id="f0857be"] a.elementor-button {
  background-color: #2d3142 !important;
  border-color: #2d3142 !important;
  color: #ffffff !important;
}
.elementor-element-f04f0ca .elementor-button:hover,
.elementor-element-f04f0ca a.elementor-button:hover,
[data-id="f0857be"] .elementor-button:hover,
[data-id="f0857be"] a.elementor-button:hover {
  background-color: #1a1f2e !important;
  box-shadow: 0 8px 28px rgba(45, 49, 66, 0.35) !important;
}

/* 7. Submit button — cool charcoal gradient */
#trade-form button[type="submit"],
#trade-form input[type="submit"] {
  background: linear-gradient(135deg, #2d3142 0%, #1a1f2e 100%) !important;
  border: none !important;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(45, 49, 66, 0.30) !important;
}
#trade-form button[type="submit"]:hover,
#trade-form input[type="submit"]:hover {
  background: linear-gradient(135deg, #1a1f2e 0%, #0d1017 100%) !important;
  box-shadow: 0 8px 28px rgba(45, 49, 66, 0.45) !important;
}

/* 8. Step number labels (01, 02, 03) — cool charcoal instead of gold */
[data-id="8ef592a"] .elementor-heading-title,
[data-id="f4af7d3"] .elementor-heading-title,
[data-id="311c638"] .elementor-heading-title {
  color: #2d3142 !important;
}

/* Step card left border — cool charcoal */
[data-id="8ef592a"],
[data-id="f4af7d3"],
[data-id="311c638"] {
  border-left-color: #2d3142 !important;
  background-color: #ffffff !important;
}

/* 9. Form input borders — cool light grey */
#trade-form input[type="text"],
#trade-form input[type="email"],
#trade-form input[type="tel"],
#trade-form input[type="url"],
#trade-form textarea,
#trade-form select {
  border-color: #d0d5e8 !important;
  background: #ffffff !important;
}
#trade-form input:focus,
#trade-form textarea:focus,
#trade-form select:focus {
  border-color: #2d3142 !important;
  box-shadow: 0 0 0 3px rgba(45, 49, 66, 0.12) !important;
}

/* 10. Card borders — cool light grey instead of warm */
.elementor-element-ba28bdd > .e-con,
[data-id="fa97213"],
[data-id="10e5cd5"],
[data-id="56479d6"],
[data-id="5630969"],
[data-id="63e0f60"],
[data-id="32d621a"],
[data-id="370568e"] {
  border-color: #e8eaf0 !important;
  background-color: #ffffff !important;
}

/* 12. Warm cream section between hero and who qualifies */
[data-id="b15bc27"],
.page-content > * {
  background-color: #ffffff !important;
}

/* 13. Overall page — pure white */
body.page,
.site-content,
.entry-content {
  background-color: #ffffff !important;
}


/* ===== FIX REMAINING WARM/GOLD ELEMENTS ===== */

/* Apply Now hero button (data-id 2c00ee4) — force charcoal */
.elementor-element-2c00ee4 .elementor-button,
.elementor-element-2c00ee4 a.elementor-button,
.elementor-element-2c00ee4 .elementor-button-wrapper .elementor-button {
  background-color: #2d3142 !important;
  background: #2d3142 !important;
  border-color: #2d3142 !important;
  color: #ffffff !important;
}
.elementor-element-2c00ee4 .elementor-button:hover,
.elementor-element-2c00ee4 a.elementor-button:hover {
  background-color: #1a1f2e !important;
  background: #1a1f2e !important;
  box-shadow: 0 8px 28px rgba(45, 49, 66, 0.35) !important;
}

/* Dividers — replace gold border with cool slate */
.elementor-divider-separator {
  border-color: #2d3142 !important;
  background-color: #2d3142 !important;
}

/* Any remaining gold/warm text color overrides */
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  color: inherit;
}

/* Hero label "KJM STONES TRADE PROGRAM" */
[data-id="f04f0ca"] .elementor-heading-title {
  color: #2d3142 !important;
}

/* Section labels (WHO QUALIFIES, HOW IT WORKS, etc.) */
[data-id="fa8f96f"] h6,
[data-id="fa8f96f"] .elementor-heading-title {
  color: #2d3142 !important;
}


/* ============================================
   DARK BENEFIT CARDS — PREMIUM FONT VISUAL UPGRADE
   ============================================ */

/* Fix body/description text — was dark grey, invisible on dark bg */
[data-id="6fe0cf4"] p,
[data-id="8a36982"] p,
[data-id="c17d3c9"] p,
[data-id="c9d38c3"] p,
[data-id="c0e492c"] p,
[data-id="cedc400"] p {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 14.5px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  letter-spacing: 0.01em !important;
}

/* Card titles — refine weight, size, spacing, line-height */
[data-id="6fe0cf4"] .elementor-heading-title,
[data-id="8a36982"] .elementor-heading-title,
[data-id="c17d3c9"] .elementor-heading-title,
[data-id="c9d38c3"] .elementor-heading-title,
[data-id="c0e492c"] .elementor-heading-title,
[data-id="cedc400"] .elementor-heading-title {
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Dark card inner padding and subtle top border accent */
[data-id="6fe0cf4"],
[data-id="8a36982"],
[data-id="c17d3c9"],
[data-id="c9d38c3"],
[data-id="c0e492c"],
[data-id="cedc400"] {
  border-top: 2px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 12px !important;
  padding: 32px 28px !important;
  transition: border-color 0.3s ease, transform 0.3s ease !important;
}

[data-id="6fe0cf4"]:hover,
[data-id="8a36982"]:hover,
[data-id="c17d3c9"]:hover,
[data-id="c9d38c3"]:hover,
[data-id="c0e492c"]:hover,
[data-id="cedc400"]:hover {
  border-top-color: rgba(255, 255, 255, 0.45) !important;
  transform: translateY(-3px) !important;
}

/* Icon area — slightly brighter/larger */
[data-id="6fe0cf4"] .elementor-icon,
[data-id="8a36982"] .elementor-icon,
[data-id="c17d3c9"] .elementor-icon,
[data-id="c9d38c3"] .elementor-icon,
[data-id="c0e492c"] .elementor-icon,
[data-id="cedc400"] .elementor-icon {
  margin-bottom: 16px !important;
  filter: brightness(1.2) !important;
}

/* Icon emoji font size */
[data-id="6fe0cf4"] .elementor-widget-container > div:first-child,
[data-id="8a36982"] .elementor-widget-container > div:first-child,
[data-id="c17d3c9"] .elementor-widget-container > div:first-child,
[data-id="c9d38c3"] .elementor-widget-container > div:first-child,
[data-id="c0e492c"] .elementor-widget-container > div:first-child,
[data-id="cedc400"] .elementor-widget-container > div:first-child {
  font-size: 36px !important;
}

/* Member Benefits section label + title above the dark cards */
[data-id="143ec51"] .elementor-heading-title {
  font-size: 12px !important;
  letter-spacing: 4px !important;
  color: #2d3142 !important;
}

/* Benefits section — ensure white bg above dark cards */
[data-id="143ec51"] > .elementor-container > .elementor-column:first-child .elementor-heading-title:first-of-type {
  margin-bottom: 6px !important;
}

/* Section wrapper bg stays white */
[data-id="143ec51"] > .elementor-container {
  gap: 20px !important;
}

/* Card grid gap */
[data-id="143ec51"] .elementor-row,
[data-id="143ec51"] .e-con-inner {
  gap: 20px !important;
}



/* ============================================
   DARK CARD TITLES — WHITE FIX (specific widget IDs)
   ============================================ */

/* Card title widgets inside dark cards — force bright white, not charcoal */
[data-id="6c46d58"] .elementor-heading-title,
[data-id="8f4bdf4"] .elementor-heading-title,
[data-id="2bffec1"] .elementor-heading-title,
[data-id="4f72a23"] .elementor-heading-title,
[data-id="c93f650"] .elementor-heading-title,
[data-id="32b9b17"] .elementor-heading-title {
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Ensure the parent heading widgets don't inherit dark color from section label rule */
[data-id="6fe0cf4"] [data-id="6c46d58"],
[data-id="8a36982"] [data-id="8f4bdf4"],
[data-id="c17d3c9"] [data-id="2bffec1"],
[data-id="c9d38c3"] [data-id="4f72a23"],
[data-id="c0e492c"] [data-id="c93f650"],
[data-id="cedc400"] [data-id="32b9b17"] {
  color: #ffffff !important;
}

/* Ensure icon/emoji widget doesn't get wrong color */
[data-id="12caae5"] .elementor-heading-title,
[data-id="4744d19"] .elementor-heading-title,
[data-id="d7a6c19"] .elementor-heading-title,
[data-id="43ccdc6"] .elementor-heading-title,
[data-id="da3c7b6"] .elementor-heading-title,
[data-id="45a7c87"] .elementor-heading-title {
  color: #ffffff !important;
  font-size: 30px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 14px !important;
}



/* ============================================
   APPLY TODAY SECTION — FULL VISUAL UPGRADE
   ============================================ */

/* ── LEFT COLUMN (dark navy) ── */

/* Fix all body text — dark grey invisible on dark bg */
[data-id="22b5ae3"] p,
[data-id="22b5ae3"] .elementor-text-editor p {
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  font-weight: 300 !important;
}

/* "APPLY TODAY" label — breathing room, subtle style */
[data-id="7a9e4d4"] .elementor-heading-title {
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 11px !important;
  letter-spacing: 5px !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
  margin-bottom: 12px !important;
}

/* "Join the KJM Trade Program" main title */
[data-id="76db760"] .elementor-heading-title {
  color: #ffffff !important;
  font-size: 38px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 20px !important;
}

/* Divider under title */
[data-id="6b1015f"] .elementor-divider-separator {
  border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Checkmark / bullet list items — styled beautifully */
[data-id="8a8aa60"] p,
[data-id="ffb88fb"] p,
[data-id="9a1834e"] p,
[data-id="478f5a9"] p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  padding-left: 4px !important;
  letter-spacing: 0.01em !important;
}

/* Contact/questions line */
[data-id="7f10293"] p {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin-top: 8px !important;
}

/* Contact links */
[data-id="7f10293"] a {
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Left column overall padding refinement */
[data-id="22b5ae3"] {
  padding: 70px 60px !important;
}

/* ── RIGHT COLUMN (white form) ── */

/* Form column background — pristine white */
[data-id="b15bc27"] {
  background-color: #ffffff !important;
  padding: 60px 56px !important;
}

/* Form field labels */
[data-id="b15bc27"] label,
[data-id="c74f210"] label {
  color: #2d3142 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* Form inputs, textarea, select */
[data-id="b15bc27"] input[type="text"],
[data-id="b15bc27"] input[type="email"],
[data-id="b15bc27"] input[type="tel"],
[data-id="b15bc27"] input[type="url"],
[data-id="b15bc27"] textarea,
[data-id="b15bc27"] select,
[data-id="c74f210"] input[type="text"],
[data-id="c74f210"] input[type="email"],
[data-id="c74f210"] input[type="tel"],
[data-id="c74f210"] input[type="url"],
[data-id="c74f210"] textarea,
[data-id="c74f210"] select {
  background-color: #f8f9fc !important;
  border: 1.5px solid #dde1ef !important;
  border-radius: 8px !important;
  color: #1a1f2e !important;
  font-size: 14.5px !important;
  padding: 13px 16px !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
  width: 100% !important;
}

[data-id="b15bc27"] input:focus,
[data-id="b15bc27"] textarea:focus,
[data-id="b15bc27"] select:focus,
[data-id="c74f210"] input:focus,
[data-id="c74f210"] textarea:focus,
[data-id="c74f210"] select:focus {
  border-color: #2d3142 !important;
  box-shadow: 0 0 0 3px rgba(45, 49, 66, 0.08) !important;
  outline: none !important;
  background-color: #ffffff !important;
}

/* Placeholder text */
[data-id="b15bc27"] input::placeholder,
[data-id="b15bc27"] textarea::placeholder,
[data-id="c74f210"] input::placeholder,
[data-id="c74f210"] textarea::placeholder {
  color: #a0a4b8 !important;
  font-size: 14px !important;
}

/* Submit button — solid charcoal, premium style */
[data-id="c74f210"] button[type="submit"],
[data-id="b15bc27"] button[type="submit"],
[data-id="c74f210"] input[type="submit"],
[data-id="b15bc27"] input[type="submit"] {
  background: #2d3142 !important;
  background-image: linear-gradient(135deg, #2d3142 0%, #1a1f2e 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  box-shadow: 0 4px 18px rgba(45, 49, 66, 0.3) !important;
}

[data-id="c74f210"] button[type="submit"]:hover,
[data-id="b15bc27"] button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(45, 49, 66, 0.4) !important;
}

/* Privacy / disclaimer text */
[data-id="b15bc27"] p:last-child,
[data-id="c74f210"] p:last-child {
  color: #9a9eb5 !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  margin-top: 12px !important;
  text-align: center !important;
}

[data-id="b15bc27"] p:last-child a,
[data-id="c74f210"] p:last-child a {
  color: #2d3142 !important;
  text-decoration: underline !important;
}

/* Form field group spacing */
[data-id="b15bc27"] .wpcf7-form-control-wrap,
[data-id="c74f210"] .wpcf7-form-control-wrap {
  margin-bottom: 18px !important;
  display: block !important;
}

/* Form row pairs (first/last name side by side) */
[data-id="b15bc27"] .form-row,
[data-id="c74f210"] .form-row {
  gap: 14px !important;
}



/* Fix: Remove white gap between Stone Crafts and Visit Our Showroom sections */
.elementor-element-61ae09c {
  background-color: transparent !important;
}
.elementor-2485 .elementor-element.elementor-element-61ae09c {
  --padding-bottom: 0px;
}
@media (max-width: 767px) {
  .elementor-2485 .elementor-element.elementor-element-61ae09c {
    --padding-bottom: 0px;
    --padding-top: 0px;
  }
}

/* Coming July 2026 Hero Banner */

/* ── Shared banner helper: make widget wrappers position:static so divs position relative to hero ── */

/* HOME - existing HTML widget wrapper static */
.elementor-element-88d2559,
.elementor-element-88d2559 .elementor-widget-container {
  position: static !important;
  overflow: visible !important;
}

/* LIVE INVENTORY - top & bottom widget wrappers static */
.elementor-element-4c3a523,
.elementor-element-4c3a523 .elementor-widget-container,
.elementor-element-4377e80,
.elementor-element-4377e80 .elementor-widget-container {
  position: static !important;
  overflow: visible !important;
}

/* STONE CRAFT - top & bottom widget wrappers static */
.elementor-element-3280a66,
.elementor-element-3280a66 .elementor-widget-container,
.elementor-element-90e3290,
.elementor-element-90e3290 .elementor-widget-container {
  position: static !important;
  overflow: visible !important;
}

/* ── HOME HERO bottom banner (existing div.kjm-july-banner) ── */
.kjm-july-banner {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 62px !important;
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  border-top: 2px solid rgba(201, 169, 110, 0.7) !important;
  display: block !important;
  z-index: 100 !important;
  box-sizing: border-box !important;
  color: transparent !important;
  font-size: 0 !important;
  overflow: hidden !important;
}
.kjm-july-banner::before { display: none !important; content: "" !important; }
.kjm-july-banner::after {
  content: "COMING  ·  SEPTEMBER 21" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  white-space: nowrap !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0D99A !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.7) !important;
}

/* ── HOME HERO top banner (::before on hero container) ── */
.elementor-element-3883d24 { position: relative !important; }
.elementor-element-3883d24::before {
  content: "COMING  ·  SEPTEMBER 21" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important; height: auto !important;
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  border-bottom: 2px solid rgba(201, 169, 110, 0.7) !important;
  display: block !important;
  z-index: 100 !important;
  padding: 18px 40px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0D99A !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.7) !important;
  pointer-events: none !important;
  line-height: 1.4 !important;
}

/* ── TOP BANNERS: kjm-july-banner-top div (Live Inventory + Stone Craft) ── */
.kjm-july-banner-top {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  border-bottom: 2px solid rgba(201, 169, 110, 0.7) !important;
  z-index: 100 !important;
  padding: 18px 40px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  display: block !important;
  pointer-events: none !important;
}
.kjm-july-banner-top::after {
  content: "COMING  ·  SEPTEMBER 21" !important;
  display: block !important;
  white-space: nowrap !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0D99A !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.7) !important;
  line-height: 1.4 !important;
}

/* ── BOTTOM BANNERS: kjm-july-banner-bottom div (Live Inventory + Stone Craft) ── */
.kjm-july-banner-bottom {
  display: none !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  border-top: 2px solid rgba(201, 169, 110, 0.7) !important;
  z-index: 100 !important;
  padding: 18px 40px !important;
  text-align: center !important;
  box-sizing: border-box !important;
  display: block !important;
  pointer-events: none !important;
}
.kjm-july-banner-bottom::after {
  content: "COMING  ·  SEPTEMBER 21" !important;
  display: block !important;
  white-space: nowrap !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0D99A !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.7) !important;
  line-height: 1.4 !important;
}

/* ── Remove extra pseudo-element CSS for Live Inventory and Stone Craft (now using HTML widgets) ── */
.page-id-7603 .elementor-element-145e971::before,
.page-id-7603 .elementor-element-145e971::after,
.page-id-2503 .elementor-element-d96bbd0::before,
.page-id-2503 .elementor-element-d96bbd0::after {
  display: none !important;
  content: none !important;
}

/* ── MOBILE responsive ── */
@media (max-width: 767px) {
  .kjm-july-banner { padding: 12px 16px !important; }
  .kjm-july-banner::after,
  .kjm-july-banner-top::after,
  .kjm-july-banner-bottom::after { font-size: 14px !important; letter-spacing: 4px !important; }
  .kjm-july-banner-top,
  .kjm-july-banner-bottom { padding: 12px 16px !important; }
  .elementor-element-3883d24::before {
    font-size: 14px !important;
    letter-spacing: 4px !important;
    padding: 12px 16px !important;
  }
}

/* Footer Charcoal Background - Updated */
.ekit-template-content-footer [data-id="838f86e"],
.ekit-template-content-footer [data-id="838f86e"]::before {
    background-color: #3D3D3D !important;
}
.ekit-template-content-footer [data-id="bab0c4c"],
.ekit-template-content-footer [data-id="bab0c4c"]::before {
    background-color: #3D3D3D !important;
}

/* Footer Modern Dark - Updated */
.ekit-template-content-footer [data-id="838f86e"],
.ekit-template-content-footer [data-id="838f86e"]::before,
.ekit-template-content-footer [data-id="838f86e"] > .e-con-inner {
    background-color: #2A2A2A !important;
}
.ekit-template-content-footer [data-id="bab0c4c"],
.ekit-template-content-footer [data-id="bab0c4c"]::before {
    background-color: #2A2A2A !important;
}

/* Why KJM Stones - Remove divider lines below card titles */
.elementor-element-c31390c,
.elementor-element-9169fc9,
.elementor-element-0ee68a7,
.elementor-element-4065f3b {
  border-bottom: none !important;
}

/* ============================================
   ABOUT US PAGE - MOBILE & DESKTOP OPTIMIZATION
   ============================================ */

/* --- HERO SECTION --- */
/* Desktop hero: title size fine at default */
/* Mobile: reduce hero heading size */
@media (max-width: 767px) {
  .elementor-element-edfc007 .elementor-heading-title {
    font-size: 32px !important;
    line-height: 1.2 !important;
  }
  .elementor-element-edfc007 .elementor-widget-heading .elementor-heading-title[class*="elementor-size"] {
    font-size: 32px !important;
  }
}

/* --- OUR STORY SECTION --- */
/* Desktop: looks good */
/* Mobile/Tablet: ensure columns stack and have proper spacing */
@media (max-width: 767px) {
  .elementor-element-02d3602 {
    padding: 40px 20px !important;
  }
  .elementor-element-02d3602 .elementor-element-997b0d9,
  .elementor-element-02d3602 .elementor-element-6dd3d3d,
  .elementor-element-02d3602 .elementor-element-34792fe {
    width: 100% !important;
    padding: 10px 0 !important;
  }
  .elementor-element-02d3602 p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-02d3602 {
    padding: 60px 40px !important;
  }
}

/* --- MISSION / VISION / FAMILY SECTION --- */
/* Mobile: Ensure cards stack properly with good padding */
@media (max-width: 767px) {
  .elementor-element-b3b7586 {
    padding: 0 15px 30px !important;
    gap: 12px !important;
  }
  .elementor-element-6fbe676,
  .elementor-element-305fd9e,
  .elementor-element-e12ac2b {
    width: 100% !important;
    min-height: unset !important;
    padding: 40px 24px !important;
  }
  .elementor-element-b3b7586 .elementor-heading-title {
    font-size: 22px !important;
  }
  .elementor-element-b3b7586 p {
    font-size: 15px !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-b3b7586 {
    padding: 0 30px !important;
    gap: 15px !important;
  }
}

/* --- WHY KJM STONES SECTION --- */
/* Desktop: reduce excess side padding */
/* Mobile: cards should stack and be full width */
@media (max-width: 767px) {
  .elementor-element-cd91138 {
    padding: 40px 15px !important;
  }
  .elementor-element-cd91138 .elementor-heading-title {
    font-size: 24px !important;
    text-align: center !important;
  }
  /* Why KJM section - section header */
  .elementor-element-cd91138 > .e-con-inner > .e-con {
    width: 100% !important;
  }
  /* Cards row */
  .elementor-element-c31390c,
  .elementor-element-9169fc9,
  .elementor-element-0ee68a7,
  .elementor-element-4065f3b {
    width: 100% !important;
    margin-bottom: 12px !important;
  }
  /* Why KJM - Who We Serve heading inside */
  .elementor-element-cd91138 h2:last-of-type {
    font-size: 22px !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-cd91138 {
    padding: 60px 30px !important;
  }
}

/* --- WHO WE SERVE SECTION --- */
@media (max-width: 767px) {
  .elementor-element-36e2d06 {
    padding: 40px 20px !important;
  }
  .elementor-element-36e2d06 h2 {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
  /* Ensure image column is full width and stacks on top */
  .elementor-element-36e2d06 .e-con.e-child {
    width: 100% !important;
  }
  .elementor-element-36e2d06 p,
  .elementor-element-36e2d06 li {
    font-size: 15px !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-36e2d06 {
    padding: 60px 30px !important;
  }
}

/* --- SHOWROOM / VISIT CTA SECTION --- */
@media (max-width: 767px) {
  .elementor-element-2a24119 {
    padding: 50px 20px !important;
  }
  .elementor-element-e993ba1 .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.25 !important;
  }
  .elementor-element-98fb5ad p {
    font-size: 15px !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-2a24119 {
    padding: 60px 30px !important;
  }
  .elementor-element-e993ba1 .elementor-heading-title {
    font-size: 38px !important;
  }
}

/* --- GENERAL DESKTOP IMPROVEMENTS --- */
/* Ensure consistent section padding on desktop */
@media (min-width: 1025px) {
  .elementor-element-02d3602,
  .elementor-element-cd91138,
  .elementor-element-36e2d06 {
    padding-left: 80px !important;
    padding-right: 80px !important;
  }
}

/* ABOUT US - Additional mobile fixes */

/* Hero subtitle (H5) size on mobile */
@media (max-width: 767px) {
  .elementor-element-c07af0c .elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }
  /* Hero section min-height reduction */
  .elementor-element-edfc007 {
    min-height: 380px !important;
  }
}

/* Tablet hero subtitle */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-c07af0c .elementor-heading-title {
    font-size: 22px !important;
  }
}

/* Showroom section - heading element fix */
@media (max-width: 767px) {
  .elementor-element-1ca43d9 .elementor-heading-title {
    font-size: 13px !important;
    letter-spacing: 2px !important;
  }
  .elementor-element-e993ba1 .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
  .elementor-element-98fb5ad p {
    font-size: 14px !important;
    text-align: center !important;
  }
}

/* ABOUT US - Hero subtitle specificity fix */
@media (max-width: 767px) {
  .elementor-15 .elementor-element.elementor-element-c07af0c .elementor-heading-title {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }
  /* Hero h2 also with full specificity */
  .elementor-15 .elementor-element.elementor-element-53dc305 .elementor-heading-title {
    font-size: 30px !important;
    line-height: 1.15 !important;
  }
  /* Showroom heading with specificity */
  .elementor-15 .elementor-element.elementor-element-e993ba1 .elementor-heading-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }
  /* Our Story heading */
  .elementor-15 .elementor-element-02d3602 h2 {
    font-size: 28px !important;
  }
  /* Why KJM Stones heading */
  .elementor-15 .elementor-element-cd91138 h2:first-child {
    font-size: 22px !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-15 .elementor-element.elementor-element-c07af0c .elementor-heading-title {
    font-size: 22px !important;
  }
  .elementor-15 .elementor-element.elementor-element-e993ba1 .elementor-heading-title {
    font-size: 36px !important;
  }
}

/* Fix showroom section padding with higher specificity */
@media (max-width: 767px) {
  body.elementor-page .elementor-element-2a24119,
  body .elementor-element-2a24119 {
    padding: 40px 20px !important;
  }
}

@media (max-width: 1024px) and (min-width: 768px) {
  body.elementor-page .elementor-element-2a24119,
  body .elementor-element-2a24119 {
    padding: 60px 30px !important;
  }
}

/* Why KJM Stones — Icon above title */
.elementor-element-c31390c .elementor-icon-list-item,
.elementor-element-9169fc9 .elementor-icon-list-item,
.elementor-element-0ee68a7 .elementor-icon-list-item,
.elementor-element-4065f3b .elementor-icon-list-item {
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 16px !important;
}
.elementor-element-c31390c .elementor-icon-list-icon,
.elementor-element-9169fc9 .elementor-icon-list-icon,
.elementor-element-0ee68a7 .elementor-icon-list-icon,
.elementor-element-4065f3b .elementor-icon-list-icon {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 70px !important;
  height: 70px !important;
  background: #f5f0e8 !important;
  border-radius: 50% !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}
.elementor-element-c31390c .elementor-icon-list-icon svg,
.elementor-element-9169fc9 .elementor-icon-list-icon svg,
.elementor-element-0ee68a7 .elementor-icon-list-icon svg,
.elementor-element-4065f3b .elementor-icon-list-icon svg {
  fill: #B8965A !important;
  width: 36px !important;
  height: 36px !important;
}
.elementor-element-c31390c .elementor-icon-list-text,
.elementor-element-9169fc9 .elementor-icon-list-text,
.elementor-element-0ee68a7 .elementor-icon-list-text,
.elementor-element-4065f3b .elementor-icon-list-text {
  text-align: center !important;
}

/* ============================================================
 *    QUARTZITE COLLECTION PAGE - RESPONSIVE FIXES
 *    Mobile, Tablet & Desktop Layout Improvements
 *    ============================================================ */

/* ---- DESKTOP (1025px+) ---- */
@media (min-width: 1025px) {
	  /* Why Choose section - ensure proper padding */
	.elementor-2839 .elementor-element-0cb9f0c > .e-con-inner {
		    padding-top: 80px !important;
		    padding-bottom: 80px !important;
		    padding-left: 20px !important;
		    padding-right: 20px !important;
	}
	
	  /* Stone collection grid - 3 columns on desktop */
	.elementor-2839 .elementor-element-c75a9d9 {
		    --e-con-grid-template-columns: repeat(3, 1fr) !important;
		    gap: 24px 20px !important;
	}
	
	  /* Design gallery section - fix inner container width */
	.elementor-2839 .elementor-element-1a94e1d > .e-con-inner {
		    padding-top: 60px !important;
		    padding-bottom: 60px !important;
	}
}

/* ---- LAPTOP / TABLET (768px - 1024px) ---- */
@media (max-width: 1024px) and (min-width: 768px) {
	  /* Hero section - better height on laptop */
	.elementor-2839 .elementor-element-893ad04 {
		    --min-height: 380px !important;
	}
	
	  /* Hero title on laptop */
	.elementor-2839 .elementor-element-d3281ae .elementor-heading-title {
		    font-size: 48px !important;
		    line-height: 56px !important;
	}
	
	  /* Why Choose section - reduce top/bottom padding */
	.elementor-2839 .elementor-element-0cb9f0c {
		    --padding-top: 60px !important;
		    --padding-bottom: 60px !important;
		    --padding-left: 20px !important;
		    --padding-right: 20px !important;
	}
	
	  /* Inner padding adjustment */
	.elementor-2839 .elementor-element-0cb9f0c > .e-con-inner {
		    padding-top: 60px !important;
		    padding-bottom: 60px !important;
	}
	
	  /* Stone collection grid - 2 columns on tablet */
	.elementor-2839 .elementor-element-c75a9d9 {
		    --e-con-grid-template-columns: repeat(2, 1fr) !important;
		    gap: 20px 16px !important;
		    width: 100% !important;
		    max-width: 100% !important;
	}
	
	  /* Stone collection container - full width on tablet */
	.elementor-2839 .elementor-element-faa9a45 > .e-con-inner {
		    padding-top: 20px !important;
		    padding-bottom: 40px !important;
		    padding-left: 20px !important;
		    padding-right: 20px !important;
	}
	
	  /* Collection section heading */
	.elementor-2839 .elementor-element-24fce77 .elementor-heading-title {
		    font-size: 38px !important;
		    line-height: 46px !important;
	}
	
	  /* Design gallery grid - 2 columns on tablet */
	.elementor-2839 .elementor-element-453455b {
		    --e-con-grid-template-columns: repeat(2, 1fr) !important;
		    gap: 16px 16px !important;
	}
	
	  /* Design gallery inner padding */
	.elementor-2839 .elementor-element-1a94e1d > .e-con-inner {
		    padding-top: 40px !important;
		    padding-bottom: 40px !important;
		    padding-left: 20px !important;
		    padding-right: 20px !important;
	}
	
	  /* CTA section */
	.elementor-2839 .elementor-element-3238b14 > .e-con-inner {
		    padding-left: 20px !important;
		    padding-right: 20px !important;
	}
}

/* ---- MOBILE (max-width: 767px) ---- */
@media (max-width: 767px) {
	  /* Hero section - appropriate height for mobile */
	.elementor-2839 .elementor-element-893ad04 {
		    --min-height: 300px !important;
		    --padding-top: 30px !important;
		    --padding-bottom: 30px !important;
	}
	
	  /* Hero title on mobile - keep it on one line if possible */
	.elementor-2839 .elementor-element-d3281ae .elementor-heading-title {
		    font-size: 34px !important;
		    line-height: 42px !important;
	}
	
	  /* Hero subtitle text visibility */
	.elementor-2839 .elementor-element-2bb4053 {
		    font-size: 15px !important;
		    line-height: 22px !important;
		    opacity: 0.9 !important;
	}
	
	  /* Why Choose section - compact padding on mobile */
	.elementor-2839 .elementor-element-0cb9f0c {
		    --padding-top: 40px !important;
		    --padding-bottom: 40px !important;
		    --padding-left: 16px !important;
		    --padding-right: 16px !important;
	}
	
	.elementor-2839 .elementor-element-0cb9f0c > .e-con-inner {
		    padding-top: 40px !important;
		    padding-bottom: 40px !important;
		    padding-left: 16px !important;
		    padding-right: 16px !important;
	}
	
	  /* Why Choose heading */
	  .elementor-2839 .elementor-element-453455b .elementor-heading-title,
	.elementor-2839 .elementor-element.elementor-element-453455b > .e-con-inner h2 {
		    font-size: 28px !important;
		    line-height: 36px !important;
	}
	
	  /* Stone collection - 1 column on mobile (already default) */
	.elementor-2839 .elementor-element-c75a9d9 {
		    --e-con-grid-template-columns: repeat(1, 1fr) !important;
		    gap: 16px 0px !important;
		    width: 100% !important;
		    max-width: 100% !important;
	}
	
	  /* Stone collection section padding */
	.elementor-2839 .elementor-element-faa9a45 > .e-con-inner {
		    padding-top: 15px !important;
		    padding-bottom: 30px !important;
		    padding-left: 16px !important;
		    padding-right: 16px !important;
	}
	
	  /* Collection heading */
	.elementor-2839 .elementor-element-24fce77 .elementor-heading-title {
		    font-size: 30px !important;
		    line-height: 38px !important;
	}
	
	  /* Stone card images on mobile */
	.elementor-2839 .elementor-element-c75a9d9 img {
		    height: auto !important;
		    max-height: 220px !important;
		    width: 100% !important;
		    object-fit: cover !important;
	}
	
	  /* Design gallery - 1 column on mobile */
	.elementor-2839 .elementor-element-453455b {
		    --flex-direction: column !important;
		    --e-con-grid-template-columns: repeat(1, 1fr) !important;
		    gap: 12px 0px !important;
	}
	
	  /* Design gallery images on mobile */
	.elementor-2839 .elementor-element-453455b img {
		    height: 220px !important;
		    width: 100% !important;
		    object-fit: cover !important;
	}
	
	  /* Design gallery inner padding */
	.elementor-2839 .elementor-element-1a94e1d > .e-con-inner {
		    padding-top: 30px !important;
		    padding-bottom: 30px !important;
		    padding-left: 16px !important;
		    padding-right: 16px !important;
	}
	
	  /* CTA section on mobile */
	.elementor-2839 .elementor-element-3238b14 > .e-con-inner {
		    padding-left: 16px !important;
		    padding-right: 16px !important;
		    padding-top: 40px !important;
		    padding-bottom: 40px !important;
	}
	
	  /* General page spacing improvements */
	.elementor-2839 .e-con.e-parent {
		    max-width: 100% !important;
	}
	
	  /* Ensure full width containers on mobile */
	.elementor-2839 .e-con-boxed > .e-con-inner {
		    max-width: 100% !important;
	}
}

/* ---- EXTRA SMALL MOBILE (max-width: 480px) ---- */
@media (max-width: 480px) {
	  /* Hero on very small screens */
	.elementor-2839 .elementor-element-893ad04 {
		    --min-height: 280px !important;
	}
	
	.elementor-2839 .elementor-element-d3281ae .elementor-heading-title {
		    font-size: 28px !important;
		    line-height: 36px !important;
	}
	
	  /* Stone cards on small mobile */
	.elementor-2839 .elementor-element-c75a9d9 img {
		    height: 180px !important;
	}
	
	  /* Section padding - tighter on small screens */
	.elementor-2839 .elementor-element-0cb9f0c > .e-con-inner {
		    padding-top: 30px !important;
		    padding-bottom: 30px !important;
		    padding-left: 12px !important;
		    padding-right: 12px !important;
	}
}
	}
	}
	}
	}
}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
}
	}
	}
	}
	}
	}
	}
	}
	}
	}
	}
}
	}
	}
	}
}

/* ============================================================
   SUPPLEMENTAL DESKTOP FIXES - Section Spacing
   ============================================================ */

/* Desktop: Reduce gap between Why Choose and Collection sections */
@media (min-width: 1025px) {
  /* Reduce inner top/bottom padding of Why Choose section on desktop */
  .elementor-2839 .elementor-element-0cb9f0c > .e-con-inner {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  
  /* Reduce inner top padding of Quartzite Collection grid section */
  .elementor-2839 .elementor-element-faa9a45 > .e-con-inner {
    padding-top: 20px !important;
    padding-bottom: 40px !important;
  }
  
  /* Design gallery section inner padding */
  .elementor-2839 .elementor-element-1a94e1d > .e-con-inner {
    padding-top: 40px !important;
    padding-bottom: 50px !important;
  }
}

/* ============================================================
   CSS VARIABLE OVERRIDES FOR ELEMENTOR
   Elementor uses CSS custom properties for padding control
   ============================================================ */

/* Desktop: Reduce Why Choose section padding using CSS vars */
@media (min-width: 1025px) {
  .elementor-2839 .elementor-element.elementor-element-0cb9f0c {
    --padding-top: 60px;
    --padding-bottom: 60px;
  }
  
  /* Quartzite Collection section - reduce top/bottom padding */
  .elementor-2839 .elementor-element.elementor-element-faa9a45 {
    --padding-top: 40px;
    --padding-bottom: 40px;
  }
  
  /* Design Gallery section */
  .elementor-2839 .elementor-element.elementor-element-1a94e1d {
    --padding-top: 40px;
    --padding-bottom: 50px;
  }
}

/* Tablet: Override CSS vars for section padding */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-2839 .elementor-element.elementor-element-0cb9f0c {
    --padding-top: 50px;
    --padding-bottom: 50px;
  }
  
  .elementor-2839 .elementor-element.elementor-element-faa9a45 {
    --padding-top: 30px;
    --padding-bottom: 30px;
  }
  
  .elementor-2839 .elementor-element.elementor-element-1a94e1d {
    --padding-top: 30px;
    --padding-bottom: 40px;
  }
  
  .elementor-2839 .elementor-element.elementor-element-3238b14 {
    --padding-top: 40px;
    --padding-bottom: 40px;
  }
}

/* Mobile: Override CSS vars for section padding */
@media (max-width: 767px) {
  .elementor-2839 .elementor-element.elementor-element-0cb9f0c {
    --padding-top: 30px;
    --padding-bottom: 30px;
    --padding-left: 16px;
    --padding-right: 16px;
  }
  
  .elementor-2839 .elementor-element.elementor-element-faa9a45 {
    --padding-top: 25px;
    --padding-bottom: 25px;
    --padding-left: 12px;
    --padding-right: 12px;
  }
  
  .elementor-2839 .elementor-element.elementor-element-1a94e1d {
    --padding-top: 25px;
    --padding-bottom: 30px;
    --padding-left: 12px;
    --padding-right: 12px;
  }
  
  .elementor-2839 .elementor-element.elementor-element-3238b14 {
    --padding-top: 30px;
    --padding-bottom: 30px;
    --padding-left: 16px;
    --padding-right: 16px;
  }
}

/* ============================================================
   HIGH SPECIFICITY PADDING OVERRIDE
   Overrides existing 80px padding rules with !important
   ============================================================ */

/* Desktop (1025px+): Reduce Why Choose section inner padding */
@media (min-width: 1025px) {
  body.elementor-page-2839 .elementor-element.elementor-element-453455b {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  
  /* Quartzite Collection grid section */
  body.elementor-page-2839 .elementor-element.elementor-element-c75a9d9 {
    margin-top: 5px !important;
    margin-bottom: 0px !important;
  }
}

/* Tablet (768px - 1024px): Reduce padding */
@media (max-width: 1024px) and (min-width: 768px) {
  body .elementor-element-453455b {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
}

/* Mobile: Reduce all section padding */
@media (max-width: 767px) {
  body .elementor-element-453455b {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ── COMING SEPTEMBER 21 Banner Marquee Animation ── */

/* 
 * Seamless ticker: text repeated back-to-back.
 * content has the phrase 8 times. Animation moves exactly 50% (half),
 * which equals one "copy" of the doubled content, creating a seamless loop.
 */
@keyframes kjmTicker {
  0%   { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

/* Bottom hero banner */
.kjm-july-banner {
  overflow: hidden !important;
}
.kjm-july-banner::after {
  content: "COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0" !important;
  position: absolute !important;
  top: 50% !important;
  left: 0 !important;
  transform: translateY(-50%) !important;
  white-space: nowrap !important;
  animation: kjmTicker 18s linear infinite !important;
  width: max-content !important;
}

/* Top hero banner */
.elementor-element-3883d24 {
  overflow: hidden !important;
}
.elementor-element-3883d24::before {
  content: "COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  width: max-content !important;
  white-space: nowrap !important;
  padding: 18px 0 !important;
  text-align: left !important;
  display: block !important;
  animation: kjmTicker 18s linear infinite !important;
}

/* Top banners on other pages */
.kjm-july-banner-top {
  overflow: hidden !important;
  text-align: left !important;
}
.kjm-july-banner-top::after {
  content: "COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0" !important;
  display: inline-block !important;
  white-space: nowrap !important;
  width: max-content !important;
  animation: kjmTicker 18s linear infinite !important;
}

/* Bottom banners on other pages */
.kjm-july-banner-bottom {
  overflow: hidden !important;
  text-align: left !important;
}
.kjm-july-banner-bottom::after {
  content: "COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0" !important;
  display: inline-block !important;
  white-space: nowrap !important;
  width: max-content !important;
  animation: kjmTicker 18s linear infinite !important;
}

/* =====================================================
   PRODUCT PAGE FIX — Tabs, Accordion, Related Products
   ===================================================== */

/* 1. Show the wc-tabs navigation (was hidden) */
body.single-product .woocommerce-tabs .tabs.wc-tabs {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 0 0 !important;
  border-bottom: 2px solid #e5e5e5 !important;
  gap: 0 !important;
  overflow: visible !important;
}

body.single-product .woocommerce-tabs .tabs.wc-tabs li {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.single-product .woocommerce-tabs .tabs.wc-tabs li a {
  display: block !important;
  padding: 14px 24px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body.single-product .woocommerce-tabs .tabs.wc-tabs li.active a,
body.single-product .woocommerce-tabs .tabs.wc-tabs li a:hover {
  color: #32404D !important;
  border-bottom-color: #32404D !important;
}

/* 2. Fix tab panel content display */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  border: none !important;
  border-top: 1px solid #e5e5e5 !important;
  padding: 28px 0 !important;
  margin: 0 !important;
  display: none !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel.active {
  display: block !important;
}

/* Show panel h2 title cleanly */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  margin-bottom: 16px !important;
  padding: 0 !important;
  border: none !important;
  cursor: default !important;
  display: block !important;
  justify-content: unset !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2::after {
  display: none !important;
}

/* 3. Fix description tab content */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ol {
  padding-left: 20px !important;
  margin: 0 !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description li {
  font-size: 14px !important;
  color: #444 !important;
  line-height: 1.7 !important;
  margin-bottom: 6px !important;
  list-style: disc !important;
}

/* 4. Fix Product Details (Additional Information) tab */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes {
  width: 100% !important;
  border-collapse: collapse !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes th,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes td {
  padding: 10px 16px 10px 0 !important;
  font-size: 14px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: left !important;
  vertical-align: top !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes th {
  font-weight: 600 !important;
  color: #1a1a1a !important;
  width: 160px !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information .woocommerce-product-attributes td {
  color: #555 !important;
}

/* 5. Fix sticky summary — stop it from overlapping tabs/related */
body.single-product div.product .summary.entry-summary {
  position: static !important;
  top: auto !important;
  align-self: auto !important;
}

/* 6. Adjust the two-column layout to be top-aligned instead of stretch */
body.single-product div.product {
  align-items: flex-start !important;
}

/* 7. Fix Related Products section — rename via CSS ::before */
body.single-product .related.products > h2 {
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.3px !important;
  color: #1a1a1a !important;
  border-top: 2px solid #e8e8e8 !important;
  padding-top: 40px !important;
  margin-bottom: 28px !important;
  font-family: Georgia, serif !important;
}

body.single-product .related.products > h2 {
  visibility: hidden !important;
  position: relative !important;
}

body.single-product .related.products > h2::before {
  content: "Shop the Collection" !important;
  visibility: visible !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
}

/* 8. Fix Related Products grid */
body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .related.products ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

body.single-product .related.products ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  display: block !important;
}

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  margin: 12px 0 6px !important;
  font-family: Georgia, serif !important;
}

body.single-product .related.products ul.products li.product .price {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #32404D !important;
}

/* 9. Woocommerce tabs container padding fix */
body.single-product .woocommerce-tabs {
  padding: 0 30px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  width: 100% !important;
}


/* FIX: Override old display:none !important on tab panels 
   WooCommerce JS sets inline style="display:block" on active panels
   We need !important with even higher specificity to allow it to show */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel[style*="display: block"] {
  display: block !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel[style*="display:block"] {
  display: block !important;
}

/* Also directly show the first panel (description) by default until JS kicks in */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel.panel {
  display: none;
}


/* =====================================================
   ALLMODERN-STYLE PRODUCT PAGE REDESIGN
   ===================================================== */

/* === STICKY PRODUCT NAV BAR (like AllModern) === */
body.single-product .kjm-sticky-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 900 !important;
  background: #fff !important;
  border-bottom: 1px solid #e8e8e8 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  padding: 0 30px !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

body.single-product .kjm-sticky-nav .kjm-sticky-product {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin-right: auto !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 300px !important;
}

body.single-product .kjm-sticky-nav .kjm-sticky-links {
  display: flex !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .kjm-sticky-nav .kjm-sticky-links a {
  display: block !important;
  padding: 14px 20px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.3px !important;
  color: #555 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  transition: all 0.2s !important;
  white-space: nowrap !important;
}

body.single-product .kjm-sticky-nav .kjm-sticky-links a:hover,
body.single-product .kjm-sticky-nav .kjm-sticky-links a.active {
  color: #1a1a1a !important;
  border-bottom-color: #1a1a1a !important;
}

body.single-product .kjm-sticky-nav .kjm-sticky-cart {
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  padding: 10px 20px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  margin-left: 16px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* === ANNOUNCEMENT BANNER UPDATE === */
#kjm-announcement-banner {
  background: #1a1a1a !important;
  font-size: 12px !important;
  letter-spacing: 0.5px !important;
}

/* === PRODUCT SUMMARY ACCORDION SECTIONS === */

/* Overview section above price */
body.single-product .kjm-overview-section {
  margin: 16px 0 !important;
  padding: 16px 0 !important;
  border-top: 1px solid #e8e8e8 !important;
}

body.single-product .kjm-overview-section p {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #444 !important;
  margin: 0 !important;
}

/* Accordion wrappers in summary */
body.single-product .kjm-accordion-item {
  border-top: 1px solid #e8e8e8 !important;
}

body.single-product .kjm-accordion-item:last-child {
  border-bottom: 1px solid #e8e8e8 !important;
}

body.single-product .kjm-accordion-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px 0 !important;
  cursor: pointer !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
  background: none !important;
  border: none !important;
  width: 100% !important;
  text-align: left !important;
  font-family: inherit !important;
}

body.single-product .kjm-accordion-header::after {
  content: "∨" !important;
  font-size: 18px !important;
  color: #888 !important;
  transition: transform 0.3s !important;
  flex-shrink: 0 !important;
  margin-left: 8px !important;
}

body.single-product .kjm-accordion-item.open .kjm-accordion-header::after {
  transform: rotate(180deg) !important;
}

body.single-product .kjm-accordion-content {
  display: none !important;
  padding: 0 0 20px 0 !important;
  font-size: 14px !important;
  color: #555 !important;
  line-height: 1.7 !important;
}

body.single-product .kjm-accordion-item.open .kjm-accordion-content {
  display: block !important;
}

body.single-product .kjm-accordion-content ul {
  padding-left: 18px !important;
  margin: 0 !important;
}

body.single-product .kjm-accordion-content li {
  margin-bottom: 6px !important;
}

body.single-product .kjm-accordion-content table {
  width: 100% !important;
  border-collapse: collapse !important;
}

body.single-product .kjm-accordion-content table tr td:first-child {
  font-weight: 600 !important;
  color: #1a1a1a !important;
  width: 45% !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 13px !important;
}

body.single-product .kjm-accordion-content table tr td:last-child {
  color: #555 !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 13px !important;
}

/* === PRODUCT PAGE - FULL LAYOUT REDESIGN === */

/* Clean up the existing two-column layout */
body.single-product div.product {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 30px 40px !important;
  gap: 60px !important;
  align-items: flex-start !important;
}

body.single-product div.product .woocommerce-product-gallery {
  flex: 0 0 52% !important;
  max-width: 52% !important;
}

body.single-product div.product .summary.entry-summary {
  flex: 0 0 40% !important;
  max-width: 40% !important;
  position: static !important;
}

/* Product title */
body.single-product .product_title {
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 12px !important;
  font-family: Georgia, serif !important;
  color: #1a1a1a !important;
}

/* Price */
body.single-product .price {
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  margin-bottom: 16px !important;
  display: block !important;
}

/* Short description (main body text) */
body.single-product .woocommerce-product-details__short-description {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #444 !important;
  margin-bottom: 0 !important;
}

/* Quantity + Add to Cart */
body.single-product div.product form.cart {
  margin: 20px 0 !important;
  gap: 12px !important;
}

body.single-product div.product .qty {
  border: 1px solid #ccc !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  width: 70px !important;
  text-align: center !important;
  height: 50px !important;
}

body.single-product div.product .single_add_to_cart_button {
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 32px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  flex: 1 !important;
  height: 50px !important;
  border-radius: 0 !important;
  transition: background 0.2s !important;
}

body.single-product div.product .single_add_to_cart_button:hover {
  background: #333 !important;
}

/* Free shipping callout */
body.single-product .woocommerce-product-details__short-description + p,
body.single-product .kjm-shipping-note {
  font-size: 13px !important;
  color: #388e3c !important;
  margin: 10px 0 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Product meta (SKU, category) */
body.single-product .product_meta {
  font-size: 12px !important;
  color: #888 !important;
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid #e8e8e8 !important;
}

/* === TABS REDESIGN (clean, minimal like AllModern) === */
body.single-product .woocommerce-tabs {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px 60px !important;
  border-top: 1px solid #e8e8e8 !important;
}

body.single-product .woocommerce-tabs .tabs.wc-tabs {
  display: flex !important;
  border-bottom: 1px solid #e8e8e8 !important;
  margin-bottom: 32px !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow-x: auto !important;
}

body.single-product .woocommerce-tabs .tabs.wc-tabs li a {
  padding: 16px 28px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  border-bottom: 2px solid transparent !important;
  white-space: nowrap !important;
}

body.single-product .woocommerce-tabs .tabs.wc-tabs li.active a {
  color: #1a1a1a !important;
  border-bottom-color: #1a1a1a !important;
}

/* === SHOP THE COLLECTION (AllModern Compare style) === */
body.single-product .related.products {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 40px 80px !important;
}

body.single-product .related.products > h2 {
  font-size: 24px !important;
  font-weight: 400 !important;
  font-family: Georgia, serif !important;
  color: #1a1a1a !important;
  border-top: 2px solid #e8e8e8 !important;
  padding-top: 48px !important;
  margin-bottom: 32px !important;
  letter-spacing: -0.3px !important;
  visibility: hidden !important;
  position: relative !important;
}

body.single-product .related.products > h2::before {
  content: "Shop the Collection" !important;
  visibility: visible !important;
  position: absolute !important;
  left: 0 !important;
}

body.single-product .related.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 28px !important;
}

body.single-product .related.products ul.products li.product {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}

body.single-product .related.products ul.products li.product a img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  display: block !important;
  background: #f8f7f5 !important;
}

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #1a1a1a !important;
  margin: 12px 0 4px !important;
  font-family: inherit !important;
  line-height: 1.4 !important;
}

body.single-product .related.products ul.products li.product .price {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #1a1a1a !important;
}

/* === PRODUCT IMAGE GALLERY CLEANUP === */
body.single-product .woocommerce-product-gallery__image {
  background: #f8f7f5 !important;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: none !important;
}

/* === RESPONSIVE === */
@media (max-width: 768px) {
  body.single-product div.product {
    flex-direction: column !important;
    padding: 20px !important;
    gap: 24px !important;
  }
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary.entry-summary {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  body.single-product .woocommerce-tabs {
    padding: 0 20px 40px !important;
  }
  body.single-product .kjm-sticky-nav .kjm-sticky-product {
    display: none !important;
  }
}


/* === FIX: Product two-column layout (gap causes overflow fix) === */
body.single-product div.product {
  gap: 0 !important;
  padding: 30px 40px !important;
  align-items: flex-start !important;
}

body.single-product div.product .woocommerce-product-gallery {
  flex: 0 0 55% !important;
  max-width: 55% !important;
  padding-right: 50px !important;
  box-sizing: border-box !important;
}

body.single-product div.product .summary.entry-summary {
  flex: 0 0 45% !important;
  max-width: 45% !important;
  box-sizing: border-box !important;
  padding-left: 10px !important;
  position: static !important;
}


/* ═══════════════════════════════════════════════════════════
   KJM STONES — RESPONSIVE OPTIMIZATION (Desktop / Tablet / Mobile)
   ═══════════════════════════════════════════════════════════ */

/* ── 1. TICKER BANNER: Speed up on smaller screens ── */
@media (max-width: 767px) {
  .kjm-july-banner::after,
  .elementor-element-3883d24::before,
  .kjm-july-banner-top::after,
  .kjm-july-banner-bottom::after {
    animation-duration: 10s !important;
    font-size: 13px !important;
    letter-spacing: 3px !important;
  }
  .kjm-july-banner {
    height: 46px !important;
  }
  .kjm-july-banner-top,
  .kjm-july-banner-bottom {
    padding: 10px 0 !important;
  }
}

@media (max-width: 480px) {
  .kjm-july-banner::after,
  .elementor-element-3883d24::before,
  .kjm-july-banner-top::after,
  .kjm-july-banner-bottom::after {
    animation-duration: 8s !important;
    font-size: 11px !important;
    letter-spacing: 2px !important;
  }
  .kjm-july-banner {
    height: 40px !important;
  }
}

/* ── 2. HERO SECTION: Ensure buttons are never cut off on mobile ── */
@media (max-width: 767px) {
  .elementor-element-3883d24 {
    min-height: 90vh !important;
    padding-bottom: 60px !important;
  }
  /* Stack hero buttons vertically on mobile */
  .elementor-element-a056c49 {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0 20px !important;
  }
  .elementor-element-a056c49 .elementor-button {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 480px) {
  .elementor-element-3883d24 {
    min-height: 100svh !important;
  }
}

/* ── 3. NAVIGATION: Ensure header doesn't overlap hero on tablet ── */
@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-element-3883d24 {
    min-height: 75vh !important;
  }
}

/* ── 4. OUR COLLECTION: Reduce section padding on mobile ── */
@media (max-width: 767px) {
  .elementor-element-895cffb {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Make the collection cards take full width on mobile */
  .elementor-element-93753be,
  .elementor-element-eefd00e {
    flex-direction: column !important;
  }
}

/* ── 5. ABOUT US SECTION: Stack columns on mobile ── */
@media (max-width: 767px) {
  .elementor-element-bc466a4 > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-6b435a0,
  .elementor-element-7cb80db {
    width: 100% !important;
    min-height: unset !important;
  }
}

/* ── 6. CONSULTATION SECTION: Stack on mobile ── */
@media (max-width: 767px) {
  .elementor-element-d378686 > .e-con-inner {
    flex-direction: column !important;
  }
  .elementor-element-fb6a95d,
  .elementor-element-f155a87 {
    width: 100% !important;
  }
  .elementor-element-fb6a95d img {
    width: 100% !important;
    height: auto !important;
  }
}

/* ── 7. GENERAL: Prevent horizontal scroll on all screens ── */
body, html {
  overflow-x: hidden !important;
  max-width: 100% !important;
}

/* ── 8. TABLET (768–1024px): Ticker banner sizing ── */
@media (max-width: 1024px) and (min-width: 768px) {
  .kjm-july-banner::after,
  .elementor-element-3883d24::before,
  .kjm-july-banner-top::after,
  .kjm-july-banner-bottom::after {
    font-size: 16px !important;
    letter-spacing: 5px !important;
    animation-duration: 14s !important;
  }
}

/* ── 9. MOBILE: Typography scale ── */
@media (max-width: 767px) {
  /* Hero heading */
  .elementor-element-3883d24 h1,
  .elementor-element-3883d24 .elementor-heading-title {
    font-size: clamp(28px, 8vw, 48px) !important;
    line-height: 1.2 !important;
  }
  /* Section headings */
  h2.elementor-heading-title {
    font-size: clamp(26px, 7vw, 42px) !important;
  }
}

/* ── 10. MOBILE: Inspiration gallery ── */
@media (max-width: 767px) {
  .elementor-element-3883d24::before {
    padding: 10px 0 !important;
  }
}

/* =========================================================
   KJM STONES - RESPONSIVE OPTIMIZATIONS v2
   Stone Collection Page: Mobile, Tablet, Laptop, Desktop
   ========================================================= */

/* === FIX: Collection card image/text proportions (40/60) === */
.kjm-wrap > .kjm-row {
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
  min-height: 280px !important;
}
.kjm-wrap > .kjm-row > .kjm-img {
  min-height: 200px !important;
  height: 100% !important;
  max-height: none !important;
}

/* === LAPTOP (1025px - 1280px): Optimized nav & cards === */
@media (min-width: 1025px) and (max-width: 1280px) {
  .elementskit-navbar-nav > li > a {
    font-size: 12.5px !important;
    padding: 10px 10px !important;
    letter-spacing: 0.04em !important;
  }
  
  
  .kjm-txt {
    padding: 30px 34px !important;
  }
  .kjm-name {
    font-size: clamp(28px, 2.6vw, 36px) !important;
  }
  .elementor-element-75c80d1 {
    --column-gap: 0px !important;
  }
}

/* === TABLET (769px - 1024px): 1 column layout === */
@media (min-width: 769px) and (max-width: 1024px) {
  .kjm-wrap {
    grid-template-columns: 1fr !important;
  }
  
  
  .kjm-txt {
    padding: 28px 32px !important;
  }
  .kjm-name {
    font-size: 32px !important;
  }
  .kjm-desc {
    font-size: 12px !important;
    line-height: 1.75 !important;
  }
  .elementor-element-prod_cta {
    --padding-top: 60px !important;
    --padding-bottom: 60px !important;
    --padding-left: 30px !important;
    --padding-right: 30px !important;
  }
}

/* === LARGE MOBILE / SMALL TABLET (max-width: 900px): Full stack === */
@media (max-width: 900px) {
  .kjm-wrap {
    grid-template-columns: 1fr !important;
  }
  
  
  .kjm-txt {
    padding: 26px 24px 30px !important;
  }
  .kjm-name {
    font-size: 30px !important;
    line-height: 1.2 !important;
  }
}

/* === MOBILE (max-width: 768px) === */
@media (max-width: 768px) {
  .elementor-element-800c153 { --width: 30% !important; }
  .elementor-element-75c80d1 { --width: 70% !important; }

  .kjm-wrap > .kjm-row > .kjm-img,
  .kjm-crafts-grid {
    height: 240px !important;
    min-height: 240px !important;
    max-height: 240px !important;
  }
  .kjm-txt { padding: 24px 22px 28px !important; }
  .kjm-name { font-size: 28px !important; }
  .kjm-tag { font-size: 13px !important; margin-bottom: 12px !important; }
  .kjm-desc {
    font-size: 11.5px !important;
    line-height: 1.75 !important;
    margin-bottom: 16px !important;
  }
  .kjm-meta {
    gap: 18px !important;
    flex-wrap: wrap !important;
    margin-bottom: 18px !important;
  }
  .kjm-btn { padding: 10px 20px !important; font-size: 10px !important; }

  .elementor-element-prod_cta {
    --padding-top: 50px !important;
    --padding-bottom: 50px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }
  .elementor-element-174cce0,
  .elementor-element-e23193a,
  .elementor-element-13da32e,
  .elementor-element-4d2e967 {
    --width: 100% !important;
  }
}

/* === SMALL MOBILE (max-width: 480px) === */
@media (max-width: 480px) {
  .kjm-wrap > .kjm-row > .kjm-img,
  .kjm-crafts-grid {
    height: 210px !important;
    min-height: 210px !important;
    max-height: 210px !important;
  }
  .kjm-name { font-size: 26px !important; line-height: 1.15 !important; }
  .kjm-txt { padding: 20px 18px 24px !important; }
  .kjm-tag { font-size: 13px !important; margin-bottom: 10px !important; }
  .kjm-meta { gap: 14px !important; }
  .kjm-line { margin: 0 0 14px !important; }
  .kjm-desc { font-size: 11px !important; margin-bottom: 14px !important; }
  .elementor-element-prod_cta {
    --padding-top: 40px !important;
    --padding-bottom: 40px !important;
    --padding-left: 16px !important;
    --padding-right: 16px !important;
  }
}

/* === STICKY NAV (KJM) === */
#kjm-sticky-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    z-index: 100000;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%);
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
#kjm-sticky-nav.kjm-sticky-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.kjm-sticky-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 12px 20px;
    gap: 20px;
}
.kjm-sticky-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 250px;
}
.kjm-sticky-links {
    display: flex;
    gap: 20px;
    flex: 1;
    justify-content: center;
}
.kjm-sticky-links a {
    font-size: 13px;
    color: #555;
    text-decoration: none;
    padding: 4px 0;
    border-bottom: 1px solid transparent;
    white-space: nowrap;
    transition: color 0.2s, border-color 0.2s;
}
.kjm-sticky-links a:hover {
    color: #333;
    border-bottom-color: #333;
}
.kjm-sticky-cart {
    background: #c4a882;
    color: #fff;
    border: none;
    padding: 10px 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.5px;
    white-space: nowrap;
    border-radius: 2px;
    transition: background 0.2s;
}
.kjm-sticky-cart:hover { background: #b39870; }

/* === RETURN POLICY (KJM) === */
.kjm-return-policy {
    margin-top: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 2px;
}
.kjm-return-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: #f9f9f9;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    letter-spacing: 0.3px;
    transition: background 0.2s;
}
.kjm-return-toggle:hover { background: #f0f0f0; }
.kjm-return-arrow {
    font-size: 18px;
    transition: transform 0.3s ease;
    color: #666;
}
.kjm-return-content {
    padding: 16px 18px;
    font-size: 13px;
    line-height: 1.7;
    color: #555;
    border-top: 1px solid #e0e0e0;
    background: #fff;
}
.kjm-return-content strong { color: #333; font-weight: 600; }

/* ==========================================
   ARHAUS-INSPIRED PRODUCT PAGE REDESIGN
   ========================================== */

/* === Product Page Layout === */
.single-product .site-content,
.single-product #content,
.single-product .content-area {
    max-width: 100%;
    padding: 0;
}

/* === Breadcrumb === */
.single-product .woocommerce-breadcrumb {
    font-family: 'Jost', sans-serif;
    font-size: 12px;
    letter-spacing: 0.5px;
    color: #888;
    padding: 16px 40px;
    margin: 0;
    border-bottom: 1px solid #f0f0f0;
    text-transform: uppercase;
}
.single-product .woocommerce-breadcrumb a {
    color: #888;
    text-decoration: none;
}
.single-product .woocommerce-breadcrumb a:hover {
    color: #333;
}

/* === Product Layout === */
.single-product div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    align-items: flex-start;
    padding: 0 !important;
    margin: 0 !important;
}

/* === Product Images === */
.single-product div.product .woocommerce-product-gallery {
    width: 55% !important;
    flex: 0 0 55%;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    top: 0;
}

.single-product .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0 !important;
}

/* === Product Summary === */
.single-product div.product .summary.entry-summary {
    width: 45% !important;
    flex: 0 0 45%;
    padding: 48px 48px 48px 56px !important;
    box-sizing: border-box;
}

/* === Free Shipping Badge === */
.single-product .free-shipping-badge,
.single-product .woocommerce-product-details__short-description .free-shipping {
    display: inline-block;
    background: transparent;
    border: 1px solid #bbb;
    border-radius: 20px;
    padding: 5px 14px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 16px;
    font-family: 'Jost', sans-serif;
}

/* Add Free Shipping badge before product title */
.single-product .product_title.entry-title::before {
    content: 'Free Shipping';
    display: block;
    background: transparent;
    border: 1px solid #bbb;
    border-radius: 20px;
    padding: 5px 14px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 18px;
    font-weight: 400;
    font-size: 11px;
    width: fit-content;
}

/* === Product Title === */
.single-product h1.product_title.entry-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    letter-spacing: -0.5px !important;
    color: #1a1a1a !important;
    line-height: 1.2 !important;
    margin: 0 0 16px 0 !important;
    text-transform: none !important;
}

/* === Price === */
.single-product p.price,
.single-product span.price {
    font-family: 'Jost', sans-serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
    color: #1a1a1a !important;
    margin: 0 0 20px 0 !important;
}

.single-product p.price del,
.single-product span.price del {
    color: #999 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-decoration: line-through;
    margin-left: 8px;
}

/* === Free Shipping Line === */
.single-product .kjm-free-shipping-line {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #2a7a2a;
    font-family: 'Jost', sans-serif;
    margin-bottom: 20px;
    font-weight: 500;
}

/* === Short Description === */
.single-product .woocommerce-product-details__short-description {
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    color: #555 !important;
    margin: 0 0 28px 0 !important;
    border-top: 1px solid #e8e8e8;
    padding-top: 24px;
}

/* === SKU hidden === */
.single-product .sku_wrapper {
    font-size: 11px;
    color: #999;
    margin-bottom: 8px;
    font-family: 'Jost', sans-serif;
    letter-spacing: 0.5px;
}

/* === Quantity and Add to Cart === */
.single-product form.cart {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0 20px !important;
    flex-wrap: wrap;
}

.single-product .quantity {
    display: flex !important;
    align-items: center;
    border: 1px solid #d5d5d5 !important;
    border-radius: 2px !important;
    overflow: hidden;
    height: 54px;
    min-width: 110px;
    background: #fff;
}

.single-product .quantity input.qty {
    border: none !important;
    text-align: center;
    font-size: 16px !important;
    font-family: 'Jost', sans-serif;
    width: 50px !important;
    background: transparent;
    color: #1a1a1a;
    font-weight: 500;
    padding: 0 !important;
    height: 54px;
    -moz-appearance: textfield;
}

.single-product .quantity input.qty::-webkit-inner-spin-button,
.single-product .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* === Add to Cart Button === */
.single-product button.single_add_to_cart_button,
.single-product .button.single_add_to_cart_button {
    background: #1a2e1a !important;
    background-image: none !important;
    color: #fff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 18px 32px !important;
    height: 54px !important;
    flex: 1;
    cursor: pointer;
    transition: background 0.2s !important;
    min-width: 200px;
}

.single-product button.single_add_to_cart_button:hover,
.single-product .button.single_add_to_cart_button:hover {
    background: #2d4a2d !important;
}

/* === Wishlist button area === */
.single-product .tinvwl_add_to_wishlist_button {
    color: #666 !important;
    font-size: 13px !important;
    font-family: 'Jost', sans-serif !important;
}

/* === Product Meta (SKU, Category, Tags) === */
.single-product .product_meta {
    font-family: 'Jost', sans-serif;
    font-size: 12px;
    color: #999;
    border-top: 1px solid #e8e8e8;
    padding-top: 16px;
    margin-top: 16px !important;
}

.single-product .product_meta a {
    color: #777;
    text-decoration: none;
}
.single-product .product_meta a:hover {
    color: #333;
    text-decoration: underline;
}

/* === Dimensions Section (like Arhaus) === */
.single-product .woocommerce-tabs {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border-top: 1px solid #e8e8e8;
}

/* Hide tab nav - convert to accordion style */
.single-product .woocommerce-tabs .tabs {
    display: none !important;
}

/* Make panels look like accordion items */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    display: block !important;
    border: none !important;
    border-top: 1px solid #e0e0e0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2::after {
    content: '∨';
    font-size: 14px;
    color: #999;
    font-weight: 300;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description p,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description ul {
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    line-height: 1.75;
    color: #555;
    padding-bottom: 20px;
    margin: 0;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description li {
    margin-bottom: 4px;
}

/* Product Details table */
.single-product .woocommerce-tabs .shop_attributes {
    width: 100%;
    border: none;
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    margin-bottom: 20px;
}

.single-product .woocommerce-tabs .shop_attributes th {
    font-weight: 600;
    color: #333;
    text-align: left;
    padding: 8px 0;
    border: none;
    border-bottom: 1px solid #f0f0f0;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: 0.5px;
    width: 40%;
}

.single-product .woocommerce-tabs .shop_attributes td {
    color: #555;
    padding: 8px 0;
    border: none;
    border-bottom: 1px solid #f0f0f0;
}

/* Dimensions in summary - add from product details */
.single-product .kjm-dimensions-block {
    padding: 20px 0;
    border-top: 1px solid #e0e0e0;
    font-family: 'Jost', sans-serif;
}

.single-product .kjm-dimensions-block .kjm-dim-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.single-product .kjm-dimensions-block .kjm-dim-value {
    font-size: 14px;
    color: #555;
}

/* === Return Policy === */
.single-product .kjm-return-policy-wrapper {
    border-top: 1px solid #e0e0e0 !important;
    margin: 0 !important;
    border-bottom: none !important;
}

.single-product .kjm-return-toggle {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 20px 0 !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    width: 100%;
}

/* === Related Products === */
.single-product .related.products {
    padding: 60px 40px 60px !important;
    background: #faf9f7 !important;
    width: 100%;
    box-sizing: border-box;
}

.single-product .related.products h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin-bottom: 32px !important;
    text-align: center;
}

.single-product .related.products .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
}

.single-product .related.products .product {
    background: #fff !important;
    border-radius: 2px !important;
    overflow: hidden;
    transition: box-shadow 0.2s;
}

.single-product .related.products .product:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}

.single-product .related.products .product img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

.single-product .related.products .product .woocommerce-loop-product__title {
    font-family: 'Jost', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 16px 16px 4px !important;
    margin: 0 !important;
}

.single-product .related.products .product .price {
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    padding: 0 16px 16px !important;
    margin: 0 !important;
    display: block;
}

.single-product .related.products .product a.button {
    margin: 0 16px 16px !important;
    background: transparent !important;
    border: 1px solid #333 !important;
    color: #333 !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 8px 16px !important;
    border-radius: 2px !important;
    transition: all 0.2s;
}

.single-product .related.products .product a.button:hover {
    background: #1a2e1a !important;
    border-color: #1a2e1a !important;
    color: #fff !important;
}

/* === Sticky Add to Cart Bar (like Arhaus) === */
.kjm-sticky-atc {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 40px;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    font-family: 'Jost', sans-serif;
}

.kjm-sticky-atc.visible {
    transform: translateY(0);
}

.kjm-sticky-atc .kjm-sticky-title {
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
    font-style: italic;
}

.kjm-sticky-atc .kjm-sticky-price {
    font-size: 15px;
    font-weight: 500;
    color: #1a1a1a;
}

.kjm-sticky-atc .kjm-sticky-btn {
    background: #1a2e1a;
    color: #fff;
    border: none;
    padding: 12px 28px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    cursor: pointer;
    border-radius: 2px;
    text-decoration: none;
    font-family: 'Jost', sans-serif;
    transition: background 0.2s;
}

.kjm-sticky-atc .kjm-sticky-btn:hover {
    background: #2d4a2d;
}

/* In Stock Badge */
.kjm-in-stock-badge {
    font-size: 12px;
    color: #2a7a2a;
    font-family: 'Jost', sans-serif;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* Availability */
.single-product .stock.in-stock {
    font-size: 12px !important;
    color: #2a7a2a !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

/* === Responsive === */
@media (max-width: 768px) {
    .single-product div.product .woocommerce-product-gallery {
        width: 100% !important;
        flex: 0 0 100%;
        position: static;
    }
    .single-product div.product .summary.entry-summary {
        width: 100% !important;
        flex: 0 0 100%;
        padding: 28px 20px !important;
    }
    .single-product .related.products .products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .kjm-sticky-atc {
        padding: 12px 20px;
    }
}



/* === Hide Tab Navigation & Convert to Full Accordion === */
.single-product .woocommerce-tabs .tabs.wc-tabs {
    display: none !important;
}

/* Show all tab panels always */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Style each panel like an Arhaus accordion */
.single-product .woocommerce-tabs {
    clear: both;
    padding: 0 40px !important;
    margin-top: 0 !important;
    background: #fff;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    border: none !important;
    border-top: 1px solid #e0e0e0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 20px 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* Description content styling */
.single-product .woocommerce-Tabs-panel--description > *:not(h2) {
    padding-bottom: 20px;
}

/* Product Details table styling */
.single-product .woocommerce-product-attributes {
    width: 100% !important;
}

/* === Fix the quantity counter buttons === */
.single-product .quantity input[type=number] {
    -moz-appearance: textfield;
}

/* Fix the QTY display - add +/- styling */
.single-product .quantity {
    display: inline-flex !important;
    align-items: center !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 2px !important;
    padding: 0 !important;
    height: 52px !important;
    background: #fff !important;
    min-width: 100px !important;
}

/* === Improve the 2-col layout spacing === */
.single-product .woocommerce-product-gallery .flex-viewport {
    border-radius: 0 !important;
}

/* Clear floats properly for 2-col */
.single-product .woocommerce-notices-wrapper {
    width: 100%;
    clear: both;
}

/* === Product tabs area style (after summary) === */
.single-product .woocommerce-tabs {
    clear: both !important;
    border-top: 2px solid #e0e0e0 !important;
    margin-top: 40px !important;
    padding: 0 40px 40px !important;
}

/* Panel title styling - letter spacing like Arhaus accordion */
.single-product .entry-content .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 22px 0 !important;
    margin-bottom: 0 !important;
    cursor: default;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Add dimension display above tabs */
.single-product .woocommerce-product-details__short-description {
    border-top: 1px solid #eee !important;
    padding-top: 20px !important;
}

/* === Improve the description separator === */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    border-bottom: none !important;
}

/* === "In Stock" badge styling === */
.single-product .stock.in-stock {
    color: #2a7a2a !important;
    font-size: 12px !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 16px;
    text-transform: none !important;
}

/* === Image large, full-height layout === */
.single-product .woocommerce-product-gallery--with-images .flex-control-thumbs {
    display: flex;
    gap: 8px;
    padding: 8px 0;
}

.single-product .woocommerce-product-gallery--with-images .flex-control-thumbs li {
    width: 80px !important;
    float: none !important;
}

.single-product .flex-control-thumbs img {
    border: 2px solid transparent !important;
    transition: border-color 0.2s;
}

.single-product .flex-control-thumbs img.flex-active,
.single-product .flex-control-thumbs img:hover {
    border-color: #333 !important;
}

/* === Product image zoom button === */
.single-product .woocommerce-product-gallery__trigger {
    background: rgba(255,255,255,0.9) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 16px !important;
    right: 16px !important;
}

/* === Better spacing for product page content wrapper === */
.single-product #content {
    padding-bottom: 0 !important;
}

/* Hide DESCRIPTION heading since it's redundant */
.single-product .woocommerce-Tabs-panel--description h2 {
    display: none !important;
}

/* === Additional Information panel === */
.single-product .woocommerce-Tabs-panel--additional_information {
    border-top: 1px solid #e0e0e0 !important;
}

/* === Reviews panel === */
.single-product .woocommerce-Tabs-panel--reviews {
    border-top: 1px solid #e0e0e0 !important;
}

.single-product #reviews h3,
.single-product #reviews h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
}

/* === Dimensions display in summary panel === */
.woocommerce div.product .woocommerce-product-details__short-description p {
    margin-bottom: 0 !important;
}

/* === Better form cart layout === */
.single-product .cart .qty {
    height: 52px;
    font-size: 16px !important;
}

/* === Related products heading === */
.single-product .related > h2,
.single-product .up-sells > h2 {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    font-family: 'Jost', sans-serif !important;
    text-align: center !important;
    margin-bottom: 36px !important;
    color: #1a1a1a !important;
}

/* === WooCommerce product page max width fix === */
.single-product .site-content > .container,
.single-product .entry-content .woocommerce {
    max-width: 100% !important;
    padding: 0 !important;
}

/* === Product gallery sticky on desktop === */
@media (min-width: 769px) {
    .single-product .woocommerce-product-gallery {
        position: relative !important;
        top: 0 !important;
        align-self: flex-start;
    }
}



/* === High-specificity override for tab navigation === */
.single-product .woocommerce-tabs ul.tabs.wc-tabs,
.single-product .woocommerce .woocommerce-tabs ul.tabs,
ul.wc-tabs {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Remove the tab panel border that remains when nav is hidden */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Fix Description heading - show it since nav is hidden */
.single-product .woocommerce-Tabs-panel--description h2 {
    display: flex !important;
}

/* === Product Details Table Styling === */
.single-product table.shop_attributes {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    border: none !important;
}

.single-product table.shop_attributes th {
    font-weight: 600 !important;
    color: #333 !important;
    text-align: left !important;
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    width: 40% !important;
}

.single-product table.shop_attributes td {
    color: #555 !important;
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: transparent !important;
}

/* === Dimensions block display === */
.single-product .woocommerce-Tabs-panel--additional_information h2 {
    display: flex !important;
}

/* === Reviews section === */
.single-product .woocommerce-Tabs-panel--reviews h2 {
    display: flex !important;
}

/* === Tab panel styling improvements === */
.single-product .woocommerce-tabs {
    padding: 0 !important;
    clear: both;
}

.single-product .woocommerce-tabs .panel {
    padding: 0 40px !important;
}

/* Description care items */
.single-product .woocommerce-Tabs-panel--description ul li {
    font-family: 'Jost', sans-serif;
    font-size: 13px;
    color: #555;
    padding: 4px 0;
    border-bottom: 1px solid #f8f8f8;
}

.single-product .woocommerce-Tabs-panel--description ul {
    list-style: none;
    padding-left: 0 !important;
    margin: 0 0 20px !important;
}

.single-product .woocommerce-Tabs-panel--description ul li::before {
    content: '— ';
    color: #aaa;
}

/* === Fix panel spacing within tabs === */
.single-product #tab-description {
    padding: 0 0 24px !important;
}

.single-product #tab-additional_information {
    padding: 0 0 24px !important;
}

.single-product #tab-reviews {
    padding: 0 0 24px !important;
}



/* === Force All Tab Panels Visible === */
#tab-additional_information,
#tab-reviews,
.woocommerce-Tabs-panel,
.single-product .woocommerce-Tabs-panel,
.panel.woocommerce-Tabs-panel {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

/* Show PRODUCT DETAILS heading */
#tab-additional_information h2 {
    display: flex !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 22px 40px !important;
    margin: 0 !important;
}

/* PRODUCT DETAILS table in accordion */ 
#tab-additional_information table {
    padding: 0 40px 24px !important;
    display: table !important;
}

/* Reviews panel */
#tab-reviews h2 {
    display: flex !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 22px 40px !important;
    margin: 0 !important;
}

/* DESCRIPTION heading */
#tab-description h2 {
    display: flex !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 22px 40px !important;
    margin: 0 !important;
}

/* Description list */
#tab-description ul,
#tab-description p {
    padding: 0 40px 24px !important;
    margin: 0 !important;
}

/* Make panels full-width and clean */
.single-product .woocommerce-tabs {
    width: 100% !important;
    margin: 40px 0 0 !important;
    padding: 0 !important;
    border-top: 2px solid #e0e0e0 !important;
    clear: both;
}

/* Each accordion divider */
.single-product #tab-description {
    border-top: 1px solid #e0e0e0 !important;
    background: transparent !important;
}

.single-product #tab-additional_information {
    border-top: 1px solid #e0e0e0 !important;
    background: transparent !important;
}

.single-product #tab-reviews {
    border-top: 1px solid #e0e0e0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    background: transparent !important;
}



/* ===== ARHAUS-INSPIRED PRODUCT PAGE ENHANCEMENTS v2 ===== */

/* ---- PRODUCT LAYOUT: Full-bleed larger image area ---- */
.single-product .woocommerce-product-gallery {
    width: 58% !important;
    max-width: 58% !important;
    float: left !important;
    margin-left: -40px !important;
    padding-left: 0 !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-height: 720px !important;
    object-fit: cover !important;
    display: block !important;
}

.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    align-items: flex-start !important;
    padding-left: 0 !important;
    overflow: hidden !important;
}

.single-product .summary.entry-summary {
    width: 40% !important;
    max-width: 40% !important;
    padding: 40px 48px 40px 56px !important;
    float: right !important;
    box-sizing: border-box !important;
}

/* ---- BADGES: New + Free Shipping pill style like Arhaus ---- */
.single-product .kjm-free-shipping-badge,
.single-product .free-shipping-badge {
    display: none !important;
}

/* ---- FREE SHIPPING tag above title ---- */
.single-product .product_title {
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: -0.5px !important;
    color: #1a1a1a !important;
    margin-top: 8px !important;
    margin-bottom: 16px !important;
}

/* ---- PRICE styling ---- */
.single-product .price {
    font-size: 26px !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    margin-bottom: 4px !important;
    letter-spacing: 0 !important;
}

/* ---- SKU row styling ---- */
.single-product .sku_wrapper {
    font-size: 12px !important;
    color: #666 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 20px !important;
    display: block !important;
}

.single-product .sku_wrapper .sku {
    font-weight: 400 !important;
}

/* ---- QUANTITY + ADD TO CART row ---- */
.single-product .cart {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 28px !important;
    margin-bottom: 24px !important;
    flex-wrap: nowrap !important;
}

/* Quantity wrapper styling */
.single-product .quantity {
    display: flex !important;
    align-items: center !important;
    border: 1.5px solid #1a1a1a !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    height: 52px !important;
    min-width: 148px !important;
    width: 148px !important;
    flex-shrink: 0 !important;
    background: white !important;
    position: relative !important;
}

/* Input field inside quantity */
.single-product .quantity input.qty {
    width: 52px !important;
    height: 52px !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
    font-size: 16px !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    padding: 0 !important;
    margin: 0 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
    order: 2 !important;
}

.single-product .quantity input.qty::-webkit-inner-spin-button,
.single-product .quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

/* Quantity minus / plus buttons */
.single-product .quantity .qty-minus,
.single-product .quantity .qty-plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 52px !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 20px !important;
    color: #1a1a1a !important;
    font-weight: 300 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    transition: background 0.15s !important;
}

.single-product .quantity .qty-minus:hover,
.single-product .quantity .qty-plus:hover {
    background: #f5f5f5 !important;
}

.single-product .quantity .qty-minus {
    order: 1 !important;
    border-right: 1px solid #ddd !important;
}

.single-product .quantity .qty-plus {
    order: 3 !important;
    border-left: 1px solid #ddd !important;
}

/* ---- ADD TO CART button (Arhaus dark button style) ---- */
.single-product button.single_add_to_cart_button,
.single-product .single_add_to_cart_button {
    background: #1a3a2e !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 0 36px !important;
    height: 52px !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    flex: 1 !important;
    min-width: 160px !important;
    transition: background 0.2s, transform 0.1s !important;
    white-space: nowrap !important;
}

.single-product button.single_add_to_cart_button:hover {
    background: #0f2820 !important;
}

/* ---- DIMENSIONS section - show prominently like Arhaus ---- */
.single-product .woocommerce-product-attributes {
    margin: 28px 0 0 !important;
    padding-top: 28px !important;
    border-top: 1px solid #e8e8e8 !important;
}

.single-product .woocommerce-product-attributes-item__label {
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 8px 0 !important;
    width: 120px !important;
}

.single-product .woocommerce-product-attributes-item__value {
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    color: #444 !important;
    padding: 8px 0 !important;
}

/* ---- DIMENSIONS inline display (like Arhaus) ---- */
.single-product .woocommerce-product-attributes {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

.single-product .woocommerce-product-attributes table {
    width: 100% !important;
    border-collapse: collapse !important;
}

/* ---- PRODUCT META (category/tags) ---- */
.single-product .product_meta {
    margin-top: 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e8e8e8 !important;
    font-size: 12px !important;
    color: #888 !important;
    letter-spacing: 0.5px !important;
}

.single-product .product_meta a {
    color: #888 !important;
    text-decoration: underline !important;
}

/* ---- RETURN POLICY accordion ---- */
.single-product .kjm-return-policy,
.single-product details.kjm-accordion {
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    margin: 20px 0 !important;
    overflow: hidden !important;
}

/* ---- TABS SECTION (Description / Details / Reviews) ---- */
.single-product .woocommerce-tabs {
    clear: both !important;
    padding: 0 !important;
    margin-top: 60px !important;
    border-top: 1px solid #e0e0e0 !important;
}

.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-direction: row !important;
    border-bottom: 1px solid #e0e0e0 !important;
    padding: 0 40px !important;
    margin: 0 !important;
    list-style: none !important;
    background: white !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #999 !important;
    padding: 20px 24px !important;
    display: block !important;
    border-bottom: 2px solid transparent !important;
    text-decoration: none !important;
    transition: color 0.2s, border-color 0.2s !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: #1a1a1a !important;
    border-bottom-color: #1a1a1a !important;
}

/* ---- RELATED PRODUCTS section ---- */
.single-product .related.products {
    clear: both !important;
    padding: 60px 0 !important;
}

.single-product .related.products > h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    margin-bottom: 32px !important;
    text-align: center !important;
}

/* ---- IN STOCK indicator (like Arhaus) ---- */
.single-product .stock.in-stock {
    font-size: 12px !important;
    color: #2e7d32 !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    margin-top: 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.single-product .stock.in-stock::before {
    content: '' !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background: #2e7d32 !important;
    border-radius: 50% !important;
}

/* ---- Free shipping message ---- */
.single-product .kjm-free-shipping-message {
    font-size: 13px !important;
    color: #2e7d32 !important;
    margin: 8px 0 20px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

/* ---- Wishlist / Save buttons like Arhaus ---- */
.single-product .tinvwl_add_to_wishlist_button,
.single-product .add-to-wishlist {
    background: transparent !important;
    border: 1.5px solid #1a1a1a !important;
    border-radius: 4px !important;
    width: 52px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    flex-shrink: 0 !important;
}

.single-product .tinvwl_add_to_wishlist_button:hover {
    background: #f5f5f5 !important;
}

/* ===== END ARHAUS-INSPIRED ENHANCEMENTS v2 ===== */


/* ===== TABS-IN-SUMMARY + STICKY GALLERY FIX ===== */

/* Make the product layout use align-items: flex-start so columns don't stretch */
.single-product div.product {
    align-items: flex-start !important;
}

/* Make image gallery sticky so it stays visible while scrolling the right panel */
.single-product .woocommerce-product-gallery {
    position: relative !important;
    top: 0 !important;
    align-self: flex-start !important;
}

/* When tabs are moved inside summary, reset their conflicting styles */
.single-product .summary.entry-summary .woocommerce-tabs {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    clear: none !important;
    margin: 0 !important;
    padding: 0 !important;
    order: unset !important;
    float: none !important;
    display: block !important;
}

/* Keep related products full width below */
.single-product .related.products {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    order: 20 !important;
    clear: both !important;
}

/* ===== END TABS-IN-SUMMARY FIX ===== */


/* ===== ACCORDION DROPDOWNS FOR TABS + COMPACT LAYOUT ===== */

/* Shorten description paragraph spacing */
.single-product .woocommerce-product-details__short-description {
    margin-bottom: 0 !important;
}
.single-product .woocommerce-product-details__short-description p {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #555 !important;
    margin: 0 0 16px !important;
}

/* Tabs wrapper when inside summary — remove all outer padding/margin */
.single-product .summary.entry-summary .woocommerce-tabs {
    margin-top: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #e5e5e5 !important;
}

/* Each accordion panel */
.single-product .woocommerce-Tabs-panel {
    border-top: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* The h2 trigger row — horizontal bar with chevron */
.single-product .woocommerce-Tabs-panel h2.kjm-accordion-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 16px 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: color 0.15s !important;
}

.single-product .woocommerce-Tabs-panel h2.kjm-accordion-trigger:hover {
    color: #c4a882 !important;
}

/* Chevron icon */
.single-product .kjm-chevron {
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    transition: transform 0.2s !important;
    color: #999 !important;
}

/* Accordion body — hidden by default via JS, this just styles the revealed content */
.single-product .kjm-acc-body {
    padding-bottom: 16px !important;
}

/* Description list inside accordion */
.single-product .kjm-acc-body ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.single-product .kjm-acc-body ul li {
    font-size: 13px !important;
    color: #555 !important;
    padding: 3px 0 !important;
    border: none !important;
    line-height: 1.5 !important;
}
.single-product .kjm-acc-body ul li::before {
    display: none !important;
}

/* Additional information table */
.single-product .kjm-acc-body table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 !important;
}
.single-product .kjm-acc-body table th {
    font-family: 'Jost', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #1a1a1a !important;
    padding: 8px 0 !important;
    width: 40% !important;
    border-bottom: 1px solid #f0f0f0 !important;
    vertical-align: middle !important;
}
.single-product .kjm-acc-body table td {
    font-size: 13px !important;
    color: #555 !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    vertical-align: middle !important;
}

/* Reviews section inside accordion */
.single-product .kjm-acc-body .comment-reply-title,
.single-product .kjm-acc-body #respond h3 {
    display: none !important;
}
.single-product .kjm-acc-body .woocommerce-Reviews-title {
    display: none !important;
}
.single-product .kjm-acc-body p.no-comments,
.single-product .kjm-acc-body .woocommerce-noreviews {
    font-size: 13px !important;
    color: #999 !important;
    margin: 0 0 12px !important;
}

/* Compact the meta (SKU, Category) */
.single-product .product_meta {
    font-size: 11px !important;
    color: #aaa !important;
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid #e5e5e5 !important;
    line-height: 1.8 !important;
}
.single-product .product_meta a {
    color: #888 !important;
}

/* Remove the old h2 visibility hack that showed them as full-width headings */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    display: flex !important;
}

/* ===== END ACCORDION STYLES ===== */


/* ===== STONE COLLECTION PAGE - DESKTOP OPTIMISATIONS ===== */

/* Fix collection card image/text split - equal 50/50 on desktop */


/* Ensure image fills full height of the row */


/* Ensure text column is vertically centred and well-padded at desktop */
.kjm-wrap > .kjm-row > .kjm-txt {
  justify-content: center !important;
  padding: 20px 28px 24px !important;
}

/* ===== END STONE COLLECTION DESKTOP FIXES ===== */
}
}
}

/* ── FIX: Bottom banner scroll animation matching top banner ── */
.kjm-july-banner {
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
}
.kjm-july-banner::after {
  content: "COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       COMING  \00B7  SEPTEMBER 21       " !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  width: max-content !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0D99A !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.7) !important;
  animation: kjmTicker 18s linear infinite !important;
}


/* ===== STONE COLLECTION - SIDE GUTTERS ===== */
.elementor-element-61ae09c {
	    padding-left: 40px !important;
	    padding-right: 40px !important;
}
/* ===== END GUTTERS ===== */
}

/* ===== STONE CRAFTS / CTA SEPARATION ===== */
/* Add bottom padding so Stone Crafts dark card doesn't merge into dark CTA section */
.elementor-element-61ae09c {
	    padding-bottom: 40px !important;
}
/* ===== END SEPARATION ===== */
}

/* ===== KJM PRODUCT PAGE - IMAGE ALIGNMENT FIX ===== */
/* Fix gallery starting position - sticky inside overflow:hidden acts as position:relative with top offset */
body.single-product div.product .woocommerce-product-gallery {
  position: relative !important;
  top: 0 !important;
  align-self: flex-start !important;
}

/* ===== KJM PRODUCT ANGLE IMAGE CARDS ===== */

/* Horizontal strip of image cards below the main product photo */
.kjm-angle-cards {
  display: flex;
  flex-direction: row;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e8e0d8;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.kjm-angle-cards::-webkit-scrollbar { display: none; }

.kjm-angle-card {
  flex: 0 0 calc(25% - 6px);
  min-width: 80px;
  position: relative;
  cursor: pointer;
  border-radius: 6px;
  overflow: hidden;
  border: 2px solid transparent;
  transition: border-color 0.2s ease, transform 0.15s ease;
  background: #f5f3f0;
}

.kjm-angle-card:hover {
  border-color: #c4a882;
  transform: translateY(-2px);
}

.kjm-angle-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

.kjm-angle-label {
  display: block;
  text-align: center;
  font-size: 10px;
  font-family: 'Jost', sans-serif;
  color: #888;
  padding: 4px 2px;
  letter-spacing: 0.3px;
}

/* Zoom icon overlay on hover */
.kjm-angle-card::after {
  content: '\2315';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
  font-size: 20px;
  color: #fff;
  background: rgba(0,0,0,0.4);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  pointer-events: none;
  line-height: 32px;
  text-align: center;
}
.kjm-angle-card:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%);
}

/* ===== LIGHTBOX ===== */
#kjm-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.88);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  cursor: zoom-out;
}
#kjm-lightbox.kjm-lightbox-open {
  display: flex;
}
#kjm-lightbox-img {
  max-width: 90vw;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.6);
  cursor: default;
  animation: kjmLbFadeIn 0.2s ease;
}
@keyframes kjmLbFadeIn {
  from { opacity: 0; transform: scale(0.93); }
  to   { opacity: 1; transform: scale(1); }
}
.kjm-lightbox-close {
  position: absolute;
  top: 18px;
  right: 22px;
  background: none;
  border: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  line-height: 1;
  opacity: 0.8;
  z-index: 100000;
  padding: 0;
  transition: opacity 0.15s;
}
.kjm-lightbox-close:hover { opacity: 1; }

@media (max-width: 767px) {
  .kjm-angle-card {
    flex: 0 0 calc(25% - 6px);
    min-width: 70px;
  }
  .kjm-angle-card::after { display: none; }
}
/* ===== END KJM PRODUCT ANGLE IMAGE CARDS ===== */

/* ===== RIGHT SIDE SPACING + BADGE INLINE FIX ===== */

/* Reduce right side top/side padding */
.single-product .summary.entry-summary {
	    padding-top: 10px !important;
	    padding-right: 24px !important;
	    padding-bottom: 24px !important;
}

/* Make h1 a flex row so FREE SHIPPING badge is on same line as title */
.single-product .product_title.entry-title {
	    display: flex !important;
	    flex-direction: row !important;
	    align-items: center !important;
	    gap: 12px !important;
	    margin-bottom: 12px !important;
	    flex-wrap: nowrap !important;
}

/* ::before FREE SHIPPING badge - inline with title */
.single-product .product_title.entry-title::before {
	    display: inline-flex !important;
	    align-items: center !important;
	    margin-bottom: 0 !important;
	    flex-shrink: 0 !important;
	    font-size: 10px !important;
	    padding: 4px 12px !important;
	    white-space: nowrap !important;
	    align-self: center !important;
}

/* Title text wrapper span */
.single-product .product_title.entry-title .kjm-title-text {
	    flex: 1 !important;
	    font-size: 24px !important;
	    line-height: 1.25 !important;
	    font-weight: 400 !important;
	    color: #1a1a1a !important;
	    letter-spacing: -0.5px !important;
	    font-family: 'Jost', sans-serif !important;
}

/* ===== END RIGHT SIDE SPACING + BADGE INLINE FIX ===== */
}
}
}
}

/* === KJM Product Page Layout Fixes === */

/* Hide Reviews tab panel and tab navigation item */
#tab-reviews,
.reviews_tab {
  display: none !important;
}

/* Reduce summary column top/bottom padding for better balance with gallery */
.summary.entry-summary {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-bottom: 0 !important;
}

/* Tighten spacing inside summary for height balance */
.summary.entry-summary .product_title {
  margin-bottom: 10px !important;
}

.summary.entry-summary .price {
  margin-bottom: 10px !important;
}

.summary.entry-summary .stock.kjm-in-stock {
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}

.summary.entry-summary .woocommerce-product-details__short-description {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  margin-bottom: 8px !important;
}

.summary.entry-summary form.cart {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

.summary.entry-summary .kjm-return-policy {
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}

/* Move product meta (SKU/Category/Tags) - hide from summary, show below product section */
.summary.entry-summary .product_meta {
  display: none !important;
}

/* Style for product meta shown below (added via JS) */
.kjm-product-meta-below {
  padding: 0 40px 20px 40px;
  max-width: 1200px;
  margin: 0 auto;
  font-size: 13px;
  color: #666;
}

/* Style the full-width tabs section below the product columns */
.woocommerce-tabs.wc-tabs-wrapper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 40px auto;
  padding: 0 40px;
  box-sizing: border-box;
}

/* === END KJM Layout Fixes === */


/* === KJM STRONG OVERRIDES === */
/* Override existing display:block !important on tab panels */
body.single-product #tab-reviews,
body.single-product .reviews_tab {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Override summary padding */
body.single-product .summary.entry-summary {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-bottom: 0 !important;
}

body.single-product .summary.entry-summary .product_title {
  margin-bottom: 10px !important;
}

body.single-product .summary.entry-summary .price {
  margin-bottom: 10px !important;
}

body.single-product .summary.entry-summary .stock.kjm-in-stock {
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}

body.single-product .summary.entry-summary .woocommerce-product-details__short-description {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  margin-bottom: 8px !important;
}

body.single-product .summary.entry-summary form.cart {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

body.single-product .summary.entry-summary .kjm-return-policy {
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}

body.single-product .summary.entry-summary .product_meta {
  display: none !important;
}
/* === END KJM STRONG OVERRIDES === */


/* === KJM HIGHEST SPECIFICITY PADDING OVERRIDE === */
/* Override .single-product div.product .summary.entry-summary { padding: 48px !important } */
/* Use body prefix to add one more element selector for higher specificity (0,4,2 vs 0,4,1) */

body.single-product div.product .summary.entry-summary {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  margin-bottom: 0px !important;
}

body.single-product div.product .summary.entry-summary .product_title.entry-title {
  margin-bottom: 10px !important;
}

body.single-product div.product .summary.entry-summary p.price {
  margin-bottom: 10px !important;
}

body.single-product div.product .summary.entry-summary .stock.kjm-in-stock {
  margin-top: 4px !important;
  margin-bottom: 12px !important;
}

body.single-product div.product .summary.entry-summary .woocommerce-product-details__short-description {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  margin-bottom: 8px !important;
}

body.single-product div.product .summary.entry-summary form.cart {
  margin-top: 12px !important;
  margin-bottom: 12px !important;
}

body.single-product div.product .summary.entry-summary .kjm-return-policy {
  margin-top: 12px !important;
  margin-bottom: 8px !important;
}
/* === END PADDING OVERRIDE === */


/* ===== KJM Gallery: Arhaus-style thumbnail overlay ===== */

/* Make the gallery wrapper position:relative so we can absolutely position thumbnails */
body.single-product .woocommerce-product-gallery__wrapper {
  position: relative !important;
}

/* Make the gallery and wrapper taller to better match right column height */
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper {
  min-height: 460px !important;
}

/* Make main image fill the full gallery wrapper height */
body.single-product .woocommerce-product-gallery__image {
  height: 100% !important;
  min-height: 460px !important;
}

body.single-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 460px !important;
  object-fit: cover !important;
  display: block !important;
}

/* Reposition angle-cards as absolute overlay at bottom-left */
body.single-product .kjm-angle-cards {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: none !important;
  background: transparent !important;
  gap: 8px !important;
  z-index: 10 !important;
  overflow: visible !important;
}

/* Make each card small like Arhaus thumbnails */
body.single-product .kjm-angle-card {
  flex: 0 0 64px !important;
  min-width: 64px !important;
  width: 64px !important;
  height: 64px !important;
  background: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 4px !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.25) !important;
  overflow: hidden !important;
  cursor: pointer !important;
}

body.single-product .kjm-angle-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Hide the View 1/2/3/4 labels */
body.single-product .kjm-angle-label {
  display: none !important;
}

/* Hover effect - match Arhaus subtle border highlight */
body.single-product .kjm-angle-card:hover {
  border-color: #c4a882 !important;
  transform: none !important;
}

/* Remove the zoom icon overlay (not needed for small thumbnails) */
body.single-product .kjm-angle-card::after {
  display: none !important;
}
/* ===== END KJM Gallery Arhaus-style ===== */


/* ===== KJM Product Page Comprehensive Fixes ===== */

/* --- FIX 1: Collection carousel card image consistency --- */
/* Make all product card images same height in collection carousel */
.kjm-crafts-carousel-section .kjm-craft-item {
  width: 180px !important;
  flex: 0 0 180px !important;
  min-width: 180px !important;
}

.kjm-crafts-carousel-section .kjm-craft-item .kjm-craft-img-wrap,
.kjm-crafts-carousel-section .kjm-craft-item a.kjm-craft-img-link {
  display: block !important;
  width: 100% !important;
  height: 180px !important;
  overflow: hidden !important;
  border-radius: 8px 8px 0 0 !important;
}

.kjm-crafts-carousel-section .kjm-craft-item img {
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* --- FIX 2: Make carousel wrapper full width on desktop --- */
.kjm-crafts-carousel-section .kjm-crafts-carousel-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}

.kjm-crafts-carousel-section .kjm-crafts-carousel-track-outer {
  flex: 1 !important;
  overflow: hidden !important;
  min-width: 0 !important;
}

/* --- FIX 3: Mobile responsive - thumbnails adjustment --- */
@media (max-width: 767px) {
  /* Full width image on mobile */
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery__wrapper {
    min-height: 300px !important;
  }
  
  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image img {
    min-height: 300px !important;
    height: 300px !important;
  }
  
  /* Smaller thumbnail overlays on mobile */
  body.single-product .kjm-angle-cards {
    bottom: 8px !important;
    left: 8px !important;
    gap: 5px !important;
  }
  
  body.single-product .kjm-angle-card {
    flex: 0 0 48px !important;
    min-width: 48px !important;
    width: 48px !important;
    height: 48px !important;
  }
  
  /* Mobile carousel items */
  .kjm-crafts-carousel-section .kjm-craft-item {
    width: 140px !important;
    flex: 0 0 140px !important;
    min-width: 140px !important;
  }
  
  .kjm-crafts-carousel-section .kjm-craft-item .kjm-craft-img-wrap,
  .kjm-crafts-carousel-section .kjm-craft-item a.kjm-craft-img-link,
  .kjm-crafts-carousel-section .kjm-craft-item img {
    height: 140px !important;
  }
}

/* --- FIX 4: Laptop responsive (768-1024px) --- */
@media (min-width: 768px) and (max-width: 1024px) {
  body.single-product .woocommerce-product-gallery,
  body.single-product .woocommerce-product-gallery__wrapper {
    min-height: 380px !important;
  }
  
  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image img {
    min-height: 380px !important;
    height: 380px !important;
  }
}

/* ===== END KJM Product Page Comprehensive Fixes ===== */


/* ── HERO BOTTOM banner: match TOP banner (size, dimensions, motion) ── */
#kjm-july-2026::after {
  content: "COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 COMING  ·  SEPTEMBER 21 \00a0\00a0\00a0\00a0\00a0\00a0 " !important;
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: auto !important;
  transform: none !important;
  width: max-content !important;
  height: auto !important;
  background: rgba(0, 0, 0, 0.55) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  border-top: 2px solid rgba(201, 169, 110, 0.7) !important;
  border-bottom: none !important;
  display: block !important;
  z-index: 100 !important;
  padding: 18px 0 !important;
  text-align: left !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #F0D99A !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  font-family: sans-serif !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.7) !important;
  pointer-events: none !important;
  line-height: 1.4 !important;
  overflow: visible !important;
  animation: kjmTicker 18s linear infinite !important;
}


/* ── HERO BOTTOM banner responsive (match top) ── */
@media (max-width: 1024px) and (min-width: 768px) {
  #kjm-july-2026::after { font-size: 16px !important; }
}
@media (max-width: 767px) {
  #kjm-july-2026::after { font-size: 13px !important; }
}
@media (max-width: 480px) {
  #kjm-july-2026::after { font-size: 11px !important; }
}
/* ── END HERO BOTTOM responsive ── */


/* ===== BIANCO SOLARIS (page 4938) page-specific overrides ===== */
/* Where to Use: bright Bianco Solaris lifestyle bg + lighter overlay */
body.page-id-4938 .elementor-element-8b53dbc:not(.elementor-motion-effects-element-type-background),
body.page-id-4938 .elementor-element-8b53dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Copy-of-A01-scaled.jpg") !important;
    background-position: center center !important;
    background-size: cover !important;
}
/* Lighter overlay so bright image shows through elegantly */
body.page-id-4938 .elementor-element-8b53dbc > .elementor-background-overlay {
    background-color: rgba(20,16,12,0.55) !important;
}
/* Hero overlay: moderate 0.4 (page approved) */
body.page-id-4938 .elementor-element-20c3bdd {
    --overlay-opacity: 0.4 !important;
}
/* Warm off-white page background */
body.page-id-4938,
body.page-id-4938 .elementor-page,
body.page-id-4938 #content,
body.page-id-4938 .site-main {
    background-color: #FAF8F5 !important;
}
/* Slab Size cell full-width so last spec row is balanced/centered */
body.page-id-4938 .elementor-element-ae1b110 {
    grid-column: 1 / -1 !important;
}
/* ===== end Bianco Solaris overrides ===== */


/* ===== Calacatta Sterling (page 4951) page-scoped overrides ===== */
body.page-id-4951 .elementor-element-20c3bdd:not(.elementor-motion-effects-element-type-background),
body.page-id-4951 .elementor-element-20c3bdd > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Copy-of-Anh-02-scaled.jpg") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: #FAF8F5 !important;
}
body.page-id-4951 .elementor-element-20c3bdd > .elementor-background-overlay {
  --overlay-opacity: 0.35 !important;
  opacity: 0.35 !important;
}
body.page-id-4951 .elementor-element-20c3bdd > .elementor-background-overlay {
  --overlay-opacity: 0.4 !important;
  opacity: 0.4 !important;
}
body.page-id-4951,
body.page-id-4951 .elementor-page,
body.page-id-4951 #content,
body.page-id-4951 .site-main {
  background-color: #FAF8F5 !important;
}
body.page-id-4951 .elementor-element-fb34bca {
  grid-column: 1 / -1 !important;
}


/* ===== Calacatta Lumina (page 4940) page-scoped overrides ===== */
body.page-id-4940 .elementor-element-20c3bdd:not(.elementor-motion-effects-element-type-background),
body.page-id-4940 .elementor-element-20c3bdd > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Copy-of-IMG_2077-scaled.png") !important;
  background-position: center center !important;
  background-size: cover !important;
}
body.page-id-4940 .elementor-element-7357c08:not(.elementor-motion-effects-element-type-background),
body.page-id-4940 .elementor-element-7357c08 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/C.-Lumia-1-scaled.png") !important;
  background-position: center center !important;
  background-size: cover !important;
}
body.page-id-4940 .elementor-element-8b53dbc:not(.elementor-motion-effects-element-type-background),
body.page-id-4940 .elementor-element-8b53dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Copy-of-VNQ-full-slabs-12-scaled.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: #FAF8F5 !important;
}
body.page-id-4940 .elementor-element-8b53dbc > .elementor-background-overlay {
  --overlay-opacity: 0.35 !important;
  opacity: 0.35 !important;
}
body.page-id-4940 .elementor-element-20c3bdd > .elementor-background-overlay {
  --overlay-opacity: 0.4 !important;
  opacity: 0.4 !important;
}
body.page-id-4940,
body.page-id-4940 .elementor-page,
body.page-id-4940 #content,
body.page-id-4940 .site-main {
  background-color: #FAF8F5 !important;
}

body.page-id-4940 .elementor-element-6f92faf{grid-column:1 / -1;}

body.page-id-4940 .elementor-element-e57882a .elementor-heading-title{color:#555555 !important;font-size:14px !important;font-weight:300 !important;}

body.page-id-4936 .elementor-element-20c3bdd:not(.elementor-motion-effects-element-type-background),
body.page-id-4936 .elementor-element-20c3bdd > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Taj-10-scaled.png") !important;
  background-position: center center !important;
  background-size: cover !important;
}
body.page-id-4936 .elementor-element-7357c08:not(.elementor-motion-effects-element-type-background),
body.page-id-4936 .elementor-element-7357c08 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Taj-08-scaled.png") !important;
  background-position: center center !important;
  background-size: cover !important;
}
body.page-id-4936 .elementor-element-8b53dbc:not(.elementor-motion-effects-element-type-background),
body.page-id-4936 .elementor-element-8b53dbc > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Taj-10-scaled.png") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: #FAF8F5 !important;
}
body.page-id-4936 .elementor-element-8b53dbc > .elementor-background-overlay {
  --overlay-opacity: 0.35 !important;
  opacity: 0.35 !important;
}
body.page-id-4936 .elementor-element-20c3bdd > .elementor-background-overlay {
  --overlay-opacity: 0.4 !important;
  opacity: 0.4 !important;
}
body.page-id-4936,
body.page-id-4936 .elementor-page,
body.page-id-4936 #content,
body.page-id-4936 .site-main {
  background-color: #FAF8F5 !important;
}







/* Taj Mahal (4936) Slab Size cell */
body.page-id-4936 .elementor-element-d74fc11{grid-column:1 / -1 !important;}
body.page-id-4936 .elementor-element-d74fc11 > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title,
body.page-id-4936 .elementor-element-d74fc11 .elementor-widget-heading:first-child .elementor-heading-title{color:#555555 !important;font-size:14px !important;font-weight:300 !important;line-height:14px !important;}


/* Fix: prevent fixed mobile header from overlapping the top hero section on all pages */
@media (max-width: 767px) {
	[data-elementor-type="wp-page"] {
		    padding-top: 90px;
	}
}

	}
}


/* KJM safety separator */
.kjm-css-guard-noop { display: block; }

html body.page-id-4939 .elementor-element.elementor-element-8b53dbc:not(.elementor-motion-effects-element-type-background) {
    background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Binaco-Carrara-9.jpg") !important;
    background-position: center center !important;
    background-size: cover !important;
}

html body.page-id-11181 .elementor-element.elementor-element-8b53dbc:not(.elementor-motion-effects-element-type-background) {
    background-image: url("https://kjmstones.com/wp-content/uploads/2026/07/Milano-3-scaled.jpg") !important;
    background-position: center center !important;
    background-size: cover !important;
}


/* KJM Fancybox lightbox fix - hide duplicate Fancybox overlay, keep the KJM lightbox behind it */
.fancybox-container {
    display: none !important;
}
html.fancybox-active {
    overflow: auto !important;
}


/* ===== Footer horizontal nav strip (KJM redesign) ===== */
.elementor-element-e23193a{
  order:50 !important;
  width:100% !important;
  flex:0 0 100% !important;
  max-width:100% !important;
  margin-top:16px !important;
  padding-top:14px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  align-items:center !important;
}
.elementor-element-e23193a .elementor-widget-heading{ display:none !important; }
.elementor-element-7804779{ width:100% !important; }
.elementor-element-7804779 .elementor-icon-list-items{
  display:flex !important;
  flex-wrap:wrap !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:8px 36px !important;
  width:100% !important;
}
.elementor-element-7804779 .elementor-icon-list-item{
  display:inline-flex !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
/* ===== end footer strip ===== */

/* ===== Move copyright + Privacy/Terms below the nav strip ===== */
.elementor-element-bab0c4c,
.elementor-element-106701f{
  order:99 !important;
}
.elementor-element-e23193a{
  border-top:1px solid rgba(255,255,255,.12) !important;
}
/* copyright/terms row gets a little breathing room on top */
.elementor-element-bab0c4c{ margin-top:14px !important; }
/* ===== end reorder ===== */

/* ===== Footer bottom row: Privacy/Terms one line (right), copyright centered ===== */
.elementor-element-d3ca8e7 .elementor-icon-list-items{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  gap:0 26px !important;
  width:100% !important;
}
.elementor-element-d3ca8e7 .elementor-icon-list-item{
  display:inline-flex !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.elementor-element-106701f{
  width:100% !important;
  flex:0 0 100% !important;
  max-width:100% !important;
  order:99 !important;
}
.elementor-element-bab0c4c{
  width:100% !important;
  flex:0 0 100% !important;
  max-width:100% !important;
  text-align:center !important;
  order:100 !important;
  margin-top:10px !important;
}
.elementor-element-bab0c4c *{ text-align:center !important; }
/* ===== end bottom row ===== */

/* ===== Footer height reduction: trim top/bottom padding ===== */
body .elementor .elementor-element.elementor-element-838f86e{
  padding-top:18px !important;
  padding-bottom:14px !important;
}
.elementor-element.elementor-element-838f86e > .e-con-inner{
  padding-top:20px !important;
  padding-bottom:16px !important;
}
/* ===== end height reduction ===== */

/* ===== Footer: nav menu + Privacy/Terms on same row, copyright centered below ===== */
.elementor-element-e23193a{
  order:50 !important;
  flex:1 1 auto !important;
  width:auto !important;
  max-width:none !important;
  margin-top:8px !important;
  padding-top:12px !important;
}
.elementor-element-7804779 .elementor-icon-list-items{
  justify-content:flex-start !important;
}
.elementor-element-106701f{
  order:51 !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none !important;
  margin-top:8px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  display:flex !important;
  align-items:center !important;
}
.elementor-element-106701f .elementor-icon-list-items{
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:0 24px !important;
}
.elementor-element-106701f .elementor-icon-list-item{
  white-space:nowrap !important;
  width:auto !important;
  display:inline-flex !important;
  margin:0 !important;
}
.elementor-element-106701f .elementor-icon-list-text{ white-space:nowrap !important; }
.elementor-element-bab0c4c{
  order:100 !important;
  text-align:center !important;
  margin-top:6px !important;
}
.elementor-element-bab0c4c *{ text-align:center !important; }
/* ===== end same-row ===== */

/* ===== Footer nav menu centered (override earlier left-align) ===== */
.elementor-element-7804779 .elementor-icon-list-items{ justify-content:center !important; }
/* ===== end center menu ===== */

/* ===== Footer: centered nav menu, Privacy/Terms right-aligned line, copyright centered ===== */
.elementor-element-e23193a{
  order:50 !important;
  width:100% !important; flex:0 0 100% !important; max-width:100% !important;
  margin-top:8px !important; padding-top:12px !important;
  display:block !important;
}
.elementor-element-7804779 .elementor-icon-list-items{ justify-content:center !important; }
.elementor-element-106701f{
  order:51 !important;
  width:100% !important; flex:0 0 100% !important; max-width:100% !important;
  margin-top:2px !important; padding-top:0 !important; border-top:none !important;
  position:static !important;
}
.elementor-element-106701f .elementor-icon-list-items{ justify-content:flex-end !important; flex-wrap:nowrap !important; gap:0 24px !important; }
.elementor-element-106701f .elementor-icon-list-item{ white-space:nowrap !important; width:auto !important; display:inline-flex !important; margin:0 !important; }
.elementor-element-bab0c4c{ order:100 !important; text-align:center !important; margin-top:6px !important; }
.elementor-element-bab0c4c *{ text-align:center !important; }
/* ===== end centered menu ===== */

/* ===== Footer logo: larger + tighter spacing below ===== */
.elementor-element-f9cc9bf img{
  width:155px !important;
  height:auto !important;
  max-width:155px !important;
}
.elementor-element-f9cc9bf{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}
.elementor-element-f9cc9bf .elementor-widget-container{ margin-bottom:0 !important; }
.elementor-element-08109ed{ row-gap:6px !important; gap:6px !important; }
/* ===== end logo ===== */

/* ===== Footer: tighten gap between logo and tagline ===== */
.elementor-element-08109ed{ row-gap:0 !important; gap:0 !important; }
.elementor-element-08109ed .elementor-widget-text-editor{ margin-top:-6px !important; }
/* ===== end logo-tagline gap ===== */

/* ===== Footer Contact Us: shift right + cleaner arrangement ===== */
.elementor-element-4d2e967{ padding-left:28px !important; }
.elementor-element-446fc25 .elementor-icon-list-item{
  align-items:flex-start !important;
  gap:12px !important;
  margin-bottom:12px !important;
}
.elementor-element-446fc25 .elementor-icon-list-icon{ padding-top:2px !important; }
.elementor-element-446fc25 .elementor-icon-list-text{ line-height:1.5 !important; }
/* ===== end contact ===== */

/* ===== Footer Contact Us: green WhatsApp + 2-column arrangement ===== */
.elementor-element-446fc25 .elementor-icon-list-item .e-fab-whatsapp{ fill:#25D366 !important; color:#25D366 !important; }
.elementor-element-446fc25 .elementor-icon-list-item .e-fab-whatsapp path{ fill:#25D366 !important; }
.elementor-element-446fc25 .elementor-icon-list-items{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  column-gap:32px !important;
  row-gap:10px !important;
}
.elementor-element-446fc25 .elementor-icon-list-item{
  display:flex !important;
  margin:0 !important;
}
/* ===== end contact 2 ===== */

/* FOOTER hide category + tidy contact (v-remove-cat) */
.elementor-element-13da32e { display: none !important; }
/* keep contact single tidy column, no cramped grid */
.elementor-element-446fc25 .elementor-icon-list-items {
  display: block !important;
}
.elementor-element-446fc25 .elementor-icon-list-item {
  margin-bottom: 10px !important;
}
/* green whatsapp icon */
.e-fab-whatsapp, .e-fab-whatsapp svg, .fa-whatsapp { fill: #25D366 !important; color: #25D366 !important; }


/* FOOTER menu-above-line + compact contact (v-compact) */
/* move nav strip above divider line */
.elementor-element-e23193a { order: 5 !important; margin-top: 4px !important; }
.elementor-element-14689fb { order: 10 !important; }
/* widen contact column so nothing wraps */
.elementor-element-4d2e967 { width: 40% !important; max-width: 40% !important; flex: 0 0 40% !important; }
.elementor-element-446fc25 .elementor-icon-list-text { white-space: nowrap !important; line-height: 1.3 !important; }
.elementor-element-446fc25 .elementor-icon-list-item { margin-bottom: 8px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.elementor-element-446fc25 .elementor-icon-list-icon { padding-top: 1px !important; }


/* FOOTER contact spread into 2 groups like reference (v-spread) */
.elementor-element-4d2e967 { width: 58% !important; max-width: 58% !important; flex: 0 0 58% !important; padding-left: 0 !important; }
.elementor-element-446fc25 .elementor-icon-list-items {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-auto-flow: column !important;
  grid-template-rows: repeat(4, auto) !important;
  column-gap: 40px !important;
  row-gap: 10px !important;
}
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(1){ grid-column:1; grid-row:1; }
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(2){ grid-column:1; grid-row:2; }
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(3){ grid-column:1; grid-row:3; }
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(5){ grid-column:1; grid-row:4; }
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(4){ grid-column:2; grid-row:1; }
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(6){ grid-column:2; grid-row:2; }
.elementor-element-446fc25 .elementor-icon-list-item:nth-child(7){ grid-column:2; grid-row:3; }
.elementor-element-446fc25 .elementor-icon-list-text { white-space: nowrap !important; }


/* FOOTER tighten tagline + reduce space below logo/tagline (v-tighten-tag) */
.elementor-element-1b2e7fc, .elementor-element-1b2e7fc p { line-height: 22px !important; }
.elementor-element-1b2e7fc { margin-top: -8px !important; }
.elementor-element-2fbc822 { margin-top: 4px !important; }


/* FOOTER lines above+below menu, tighter logo space (v-menu-lines) */
.elementor-element-e23193a {
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}
.elementor-element-14689fb { display: none !important; }
.elementor-element-1b2e7fc { margin-top: -12px !important; }


/* FOOTER menu + Privacy/Terms on same row, tighter logo space (v-menu-terms-row) */
.elementor-element-e23193a {
  width: auto !important; flex: 1 1 auto !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  display: flex !important; align-items: center !important; align-self: stretch !important;
}
.elementor-element-106701f {
  width: auto !important; flex: 0 0 auto !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  padding: 12px 0 !important; margin-top: 4px !important; align-items: center !important;
}
.elementor-element-106701f .elementor-widget-container, .elementor-element-106701f ul { justify-content: flex-end !important; }
.elementor-element-1b2e7fc { margin-top: -16px !important; }
.elementor-element-2fbc822 { margin-top: 2px !important; }


/* FOOTER nudge menu right + smaller logo/tighter tagline (v-menu-nudge) */
.elementor-element-e23193a .elementor-nav-menu,
.elementor-element-e23193a ul,
.elementor-element-e23193a .elementor-icon-list-items { justify-content: center !important; padding-left: 22px !important; }
.elementor-element-f9cc9bf img { width: 128px !important; }
.elementor-element-1b2e7fc { margin-top: -12px !important; }
.elementor-element-2fbc822 { margin-top: 0px !important; }


/* FOOTER logo 155px + crop transparent whitespace around logo PNG (v-logo-crop) */
.elementor-element-f9cc9bf img { width: 155px !important; display: block !important; }
.elementor-element-f9cc9bf { margin-top: -18px !important; margin-bottom: 0 !important; }
.elementor-element-1b2e7fc { margin-top: -55px !important; }


/* FOOTER crop fix - override compound selector for tagline margin (v-crop-fix) */
.elementor-element-08109ed .elementor-widget-text-editor { margin-top: -47px !important; }


/* FOOTER truly center menu (full width), move Privacy/Terms above copyright (v-center-menu) */
.elementor-element-e23193a { width: 100% !important; flex: 0 0 100% !important; }
.elementor-element-e23193a .elementor-nav-menu,
.elementor-element-e23193a ul,
.elementor-element-e23193a .menu,
.elementor-element-e23193a .elementor-icon-list-items { justify-content: center !important; padding-left: 0 !important; transform: none !important; }
.elementor-element-106701f { width: 100% !important; flex: 0 0 100% !important; order: 60 !important; border-top: none !important; border-bottom: none !important; padding: 6px 0 0 0 !important; margin-top: 8px !important; }
.elementor-element-106701f .elementor-widget-container, .elementor-element-106701f ul { justify-content: center !important; }


/* FOOTER terms back on menu row w/ smaller font, menu nudged center (v-terms-smallfont) */
.elementor-element-e23193a {
  width: auto !important; flex: 1 1 auto !important; position: static !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  display: flex !important; align-items: center !important;
}
.elementor-element-e23193a .elementor-nav-menu,
.elementor-element-e23193a ul,
.elementor-element-e23193a .menu { justify-content: center !important; padding-left: 0 !important; transform: translateX(30px) !important; }
.elementor-element-106701f {
  position: static !important; transform: none !important;
  width: auto !important; flex: 0 0 auto !important; order: 51 !important;
  border-top: 1px solid rgba(255,255,255,0.15) !important;
  border-bottom: 1px solid rgba(255,255,255,0.15) !important;
  padding: 12px 0 !important; margin-top: 4px !important; align-items: center !important;
}
.elementor-element-106701f .elementor-widget-container, .elementor-element-106701f ul { justify-content: flex-end !important; }
.elementor-element-106701f a, .elementor-element-106701f li, .elementor-element-106701f .elementor-icon-list-text { font-size: 11px !important; }


/* FOOTER center menu more + smaller privacy font (v-center-more) */
.elementor-element-e23193a .elementor-icon-list-items { transform: translateX(72px) !important; }
.elementor-element-106701f a, .elementor-element-106701f li, .elementor-element-106701f .elementor-icon-list-text { font-size: 10px !important; }
/* FOOTER: Contact Us shown in horizontal menu (was hidden as redundant) */


/* FOOTER MOBILE FIXES (max-width:767px) - v-mobile */
@media (max-width: 767px) {
  /* contact: single column, full width, no cramped grid */
  .elementor-element-4d2e967 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding-left: 0 !important; }
  .elementor-element-446fc25 .elementor-icon-list-items { display: block !important; grid-template-columns: none !important; }
  .elementor-element-446fc25 .elementor-icon-list-item { display: flex !important; grid-column: auto !important; grid-row: auto !important; margin-bottom: 10px !important; }
  .elementor-element-446fc25 .elementor-icon-list-text { white-space: normal !important; }

  /* menu: remove desktop shift, allow wrap, center; full width */
  .elementor-element-e23193a { width: 100% !important; flex: 0 0 100% !important; display: block !important; }
  .elementor-element-e23193a .elementor-icon-list-items { transform: none !important; flex-wrap: wrap !important; justify-content: center !important; }

  /* terms + privacy: own full-width centered line, readable size */
  .elementor-element-106701f { width: 100% !important; flex: 0 0 100% !important; margin-top: 6px !important; padding: 8px 0 0 0 !important; border: none !important; }
  .elementor-element-106701f .elementor-widget-container, .elementor-element-106701f ul { justify-content: center !important; flex-wrap: wrap !important; }
  .elementor-element-106701f a, .elementor-element-106701f li, .elementor-element-106701f .elementor-icon-list-text { font-size: 12px !important; }

  /* logo: reduce heavy negative crop so tagline doesn't overlap on mobile */
  .elementor-element-08109ed .elementor-widget-text-editor { margin-top: -35px !important; }
  .elementor-element-f9cc9bf img { width: 130px !important; }
}


/* HOMEPAGE: tighten spacing below Book a Consultation & Reviews (v-spc1) */
.elementor-element-d378686 > .e-con-inner { padding-bottom: 20px !important; }
.elementor-element-e7042c1 > .e-con-inner { padding-top: 20px !important; padding-bottom: 15px !important; }


/* ===== HEADER MENU MATCH (reference: uniquestoneboutique.com) ===== */
a.ekit-menu-nav-link,
.ekit-nav-menu ul li > a.ekit-menu-nav-link,
.elementor-element-e6738a4 .elementskit-navbar-nav > li > a.ekit-menu-nav-link {
  font-size: 17px !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Reduce gap between VIEW LIVE INVENTORY button and Natural Stones cards */
.elementor-element-faa9a45 { padding-top: 0px !important; }
.elementor-element-0cb9f0c { padding-bottom: 0px !important; }

.elementor-element-453455b { padding-bottom: 10px !important; }
.elementor-element-0cb9f0c > .e-con-inner { padding-bottom: 10px !important; }

body .elementor-2839 .elementor-element.elementor-element-453455b { padding-bottom: 10px !important; }
body .elementor-2839 .elementor-element.elementor-element-0cb9f0c > .e-con-inner { padding-bottom: 10px !important; }


/* === Mobile header fix (added by assistant) — scoped to <=1024px, desktop unaffected === */
@media (max-width: 1024px) {
  /* Header row: keep logo left, hamburger right, no overlap */
  .elementor-29 .elementor-element.elementor-element-e6738a4 .ekit-wid-con {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  /* Make sure the hamburger toggler is visible and comfortably sized/tappable */
  .elementor-29 .elementor-element.elementor-element-e6738a4 button.elementskit-menu-hamburger {
    display: block !important;
    width: 40px;
    height: 40px;
    padding: 8px;
    margin-left: 12px;
  }
  .elementor-29 .elementor-element.elementor-element-e6738a4 .elementskit-menu-hamburger-icon {
    background-color: #333 !important;
    width: 22px !important;
    height: 2px !important;
    display: block !important;
    margin: 4px 0 !important;
  }
  /* Prevent the desktop inline menu from overflowing the header on tablets */
  .elementor-29 .elementor-element.elementor-element-e6738a4 .ekit_menu_responsive_tablet > .elementskit-navbar-nav {
    display: none;
  }
  /* Constrain the search box so it doesn't crowd the hamburger */
  .elementor-29 .elementor-widget-search-form,
  .elementor-29 .elementor-search-form {
    max-width: 200px;
    margin-left: auto;
  }
}

/* Phone-specific tightening */
@media (max-width: 767px) {
  .elementor-29 .elementor-widget-search-form,
  .elementor-29 .elementor-search-form {
    max-width: 150px;
  }
  .elementor-29 .elementor-element.elementor-element-e6738a4 button.elementskit-menu-hamburger {
    margin-left: 8px;
  }
}
/* === end mobile header fix === */


/* ===== KJM header responsive fix (added by request) ===== */
/* Collapse to hamburger menu before the desktop menu runs out of horizontal room */
@media (max-width: 1200px){
  .elementor-element-e6738a4 nav.ekit-wid-con .ekit-menu-nav-menu{ display:none !important; }
  .elementor-element-e6738a4 .elementskit-menu-hamburger{ display:inline-block !important; }
}
/* Keep the header row (logo | menu | search) from overlapping in the 1024-1200px band */
.elementor-element-f04f0ca > .e-con-inner{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
}
.elementor-element-f04f0ca > .e-con-inner > *{ position:relative !important; }
/* Stop the "COMING - SEPTEMBER 21" ticker from bleeding up behind the header */
.elementor-element-f04f0ca{ position:relative !important; z-index:100 !important; background:#ffffff !important; }
/* ===== end KJM header responsive fix ===== */


/* ===== KJM mobile header bleed-through fix (added by request) ===== */
/* Fully opaque fixed header so the ticker cannot show through it */
.elementor-element-f04f0ca,
.elementor-element-f04f0ca > .e-con-inner{ background:#ffffff !important; }
/* Push the first content section (COMING SEPTEMBER 21 ticker) clear of the fixed header on tablet/mobile */
@media (max-width: 1024px){ .elementor-element-3883d24{ margin-top: 96px !important; } }
@media (max-width: 767px){ .elementor-element-3883d24{ margin-top: 84px !important; } }
/* ===== end KJM mobile header bleed-through fix ===== */


/* ===== KJM header spacing consolidation (fixes scroll gap) ===== */
/* Make the header sticky so it reserves its own space in the layout flow */
html body .elementor-element-f04f0ca{ position: sticky !important; top: 0 !important; }
/* Remove the old fixed-header offset compensations that stacked up and created a gap */
html body .elementor-element-f04f0ca + .elementor-element,
html body .elementor-element-f04f0ca + section,
html body .elementor-element-f04f0ca ~ .elementor-element:first-of-type{ margin-top: 0 !important; }
.elementor-element-3883d24{ margin-top: 0 !important; }
body .elementor.elementor-13{ padding-top: 0 !important; }
/* ===== end KJM header spacing consolidation ===== */


/* ===== KJM header height reduction ===== */
.elementor-element-f04f0ca .elementor-element-75c80d1 img,
.elementor-element-f04f0ca img{ height:68px !important; width:auto !important; }
.elementor-element-f04f0ca > .e-con-inner{ padding-top:12px !important; padding-bottom:12px !important; }
/* ===== end KJM header height reduction ===== */





/* ===== KJM Contact Form Styling (frictionless upgrade) ===== */
.wpcf7-form label {
  display: block;
  font-size: 13px !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #6b6b6b;
  margin-bottom: 18px;
  font-weight: 600;
}
.wpcf7-form .wpcf7-form-control.wpcf7-text,
.wpcf7-form .wpcf7-form-control.wpcf7-email,
.wpcf7-form .wpcf7-form-control.wpcf7-tel,
.wpcf7-form .wpcf7-form-control.wpcf7-number,
.wpcf7-form .wpcf7-form-control.wpcf7-select,
.wpcf7-form .wpcf7-form-control.wpcf7-textarea,
.wpcf7-form input.wpcf7-form-control:not([type=submit]),
.wpcf7-form select.wpcf7-form-control,
.wpcf7-form textarea.wpcf7-form-control {
  display: block !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 14px 16px !important;
  border: 1px solid #dcdcdc !important;
  border-radius: 8px !important;
  background-color: #f7f6f4 !important;
  font-size: 15px !important;
  color: #2b2b2b !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}
.wpcf7-form textarea.wpcf7-form-control { min-height: 130px !important; resize: vertical !important; }
.wpcf7-form input.wpcf7-form-control:not([type=submit]):focus,
.wpcf7-form select.wpcf7-form-control:focus,
.wpcf7-form textarea.wpcf7-form-control:focus {
  outline: none !important;
  border-color: #c4a882 !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 3px rgba(196,168,130,.18) !important;
}
.wpcf7-form input.wpcf7-form-control::placeholder,
.wpcf7-form textarea.wpcf7-form-control::placeholder { color: #a9a9a9 !important; }
/* Full-width, modern submit button */
.wpcf7-form .wpcf7-submit {
  width: 100% !important;
  border-radius: 8px !important;
  padding: 17px 40px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  cursor: pointer !important;
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.wpcf7-form .wpcf7-submit:hover {
  opacity: .92;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(196,168,130,.28);
}
/* Validation feedback readability */
.wpcf7-form .wpcf7-not-valid-tip { font-size: 12px !important; margin-top: 6px !important; }
.wpcf7-form .wpcf7-response-output { border-radius: 8px !important; padding: 12px 16px !important; margin: 16px 0 0 !important; }
/* Tablet & Mobile: stack the First/Last & Email/Phone pairs full-width for easy tapping */
@media (max-width: 767px) {
  .wpcf7-form label.first,
  .wpcf7-form label.two,
  .wpcf7-form label.three {
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 14px;
  }
  .wpcf7-form .wpcf7-form-control:not([type=submit]) { padding: 13px 14px !important; font-size: 16px !important; }
  .wpcf7-form .wpcf7-submit { padding: 16px 24px !important; }
}
/* ===== End KJM Contact Form Styling ===== */


/* KJM Contact Info Box Height Fix - reduce empty space in dark contact column */
@media (min-width: 1025px){
  .elementor-element-3cd3a99{ align-self: center !important; }
}
/* End KJM Contact Info Box Height Fix */

/* KJM Menu-Hero Gap Fix */
body:not(.home) .ekit-template-content-header .e-con > .e-con-inner { padding-bottom: 0px !important; }
body:not(.home) .elementor-location-header .e-con > .e-con-inner { padding-bottom: 0px !important; }
body:not(.home) .elementor-element-49981d9 > .e-con-inner { padding-top: 0px !important; padding-bottom: 0px !important; }
/* End KJM Menu-Hero Gap Fix */

/* KJM Mobile Gap Fix */
@media (max-width: 1024px) {
  body:not(.home) .elementor-location-header .e-con > .e-con-inner,
  body:not(.home) .ekit-template-content-header .e-con > .e-con-inner {
    padding-bottom: 0px !important;
    --padding-block-end: 0px !important;
  }
  body:not(.home) .elementor-element-49981d9 > .e-con-inner {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
  }
  body:not(.home) .elementor-element-49981d9 {
    --padding-block-start: 0px !important;
    margin-top: 0px !important;
  }
}
/* End KJM Mobile Gap Fix */

/* KJM Mobile Wrapper Padding Fix */
@media (max-width: 767px) {
  body:not(.home) [data-elementor-type="wp-page"] {
    padding-top: 0px !important;
  }
}
/* End KJM Mobile Wrapper Padding Fix */


/* kjm-icon-fouc-fix: prevent Font Awesome SVG icons from flashing large on load */
.e-font-icon-svg{height:1em;width:1em;}


/* ===== Calacatta Sterling hero overlay lighten (bright photo) ===== */
body.page-id-4951 .elementor-element-20c3bdd { --overlay-opacity: 0.3 !important; }
body.page-id-4951 .elementor-element-20c3bdd > .elementor-background-overlay { opacity: 0.3 !important; }



/* kjm-tab-title-contrast-fix */
.elementor-widget-tabs .elementor-tab-title{color:#6E6E6E;}
.elementor-widget-tabs .elementor-tab-title.elementor-active{color:#2A2A2A;}
.elementor-widget-tabs .elementor-tab-title:hover{color:#C9A84C;}


/* kjm-inventory-subtitle-contrast-fix */
.elementor-element-7e75821 span,
.elementor-element-7e75821 p{color:#2A2A2A !important;}


/* kjm-gallery-signup-contrast-fix */
.elementor-element-611e563 p,
.elementor-element-611e563 div{color:#D8D2C7 !important;}


/* kjm-trade-form-helper-contrast-fix */
.elementor-element-c74f210 p:last-child,
.elementor-element-c74f210 p{color:#5A5A5A !important;}


/* kjm-about-familyfirst-overlay-fix */
.elementor-15 .elementor-element.elementor-element-e12ac2b::before{background-color:rgba(0,0,0,0.72) !important;opacity:1 !important;}


/* kjm-resources-designtrends-excerpt-fix */
.elementor-8781 .elementor-element.elementor-element-2675338 p{color:#6E6E6E !important;}



/* KJM catalogue dropdown buttons — Natural Stones (gold) & Quartz (charcoal), added via Claude */
#menu-item-2635 .elementskit-submenu-panel { padding: 12px; }
#menu-item-2635 .elementskit-submenu-panel .dropdown-item {
  display: block !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  text-align: center !important;
  font-weight: 600 !important;
  letter-spacing: .3px !important;
  transition: opacity .2s ease !important;
}
#menu-item-11550 { margin-bottom: 14px !important; }
#menu-item-11550 > .dropdown-item { background-color: rgba(201,168,76,0.18) !important; color: #1c1c1c !important; }
#menu-item-4896  > .dropdown-item { background-color: rgba(201,168,76,0.18) !important; color: #1c1c1c !important; }
#menu-item-2635 .elementskit-submenu-panel .dropdown-item:hover { opacity: .85 !important; }


/* KJM homepage polish — text padding + trade buttons, added via Claude */
@media (min-width:768px){
  .elementor-element-a1420a6 { padding-left:7% !important; padding-right:7% !important; }
}
.elementor-element-0db63dc a, .elementor-element-0db63dc .elementor-button,
.elementor-element-327df63 a, .elementor-element-327df63 .elementor-button{
  text-transform:uppercase !important;
  font-size:14px !important;
  letter-spacing:.5px !important;
}

/* ===== KJM contact section redesign (elegant unified card) v2 ===== */
.elementor-element-6ddff41.e-con{ background-color:#F5F1E8 !important; }
.elementor-element-6ddff41.e-con > .e-con-inner{ align-items:stretch !important; gap:0 !important; border-radius:20px !important; overflow:hidden !important; box-shadow:0 30px 70px rgba(30,22,10,0.14) !important; background:#FFFFFF !important; }
.page-id-16 [data-id="3cd3a99"].e-con{ background-color:#FAF6ED !important; background-image:none !important; justify-content:center !important; padding:40px 40px !important; border-right:1px solid rgba(60,48,28,0.08) !important; gap:20px !important; align-self:stretch !important; height:auto !important; }
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-wrapper{ gap:20px !important; align-items:center !important; }
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-icon{ margin:0 !important; border:none !important; background:transparent !important; box-shadow:none !important; }
.page-id-16 [data-id="3cd3a99"][data-id] .elementor-icon-box-icon .elementor-icon.elementor-icon.elementor-icon{ width:46px !important; height:46px !important; border-width:1px !important; border-style:solid !important; border-color:#A9812F !important; border-radius:50% !important; background:transparent !important; display:flex !important; align-items:center !important; justify-content:center !important; color:#8F6A1F !important; font-size:17px !important; margin:0 !important; }
.page-id-16 [data-id="3cd3a99"][data-id] .elementor-icon-box-icon .elementor-icon.elementor-icon.elementor-icon i, .page-id-16 [data-id="3cd3a99"][data-id] .elementor-icon-box-icon .elementor-icon.elementor-icon.elementor-icon svg{ color:#8F6A1F !important; fill:#8F6A1F !important; font-size:17px !important; width:17px; height:17px; }
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-title, .page-id-16 [data-id="3cd3a99"] .elementor-icon-box-title a, .page-id-16 [data-id="3cd3a99"] .elementor-icon-box-title span{ color:#8F6A1F !important; font-size:13px !important; letter-spacing:2.5px !important; text-transform:uppercase !important; font-weight:700 !important; }
.page-id-16 [data-id="3cd3a99"] .elementor-element-a812237 .elementor-icon-box-title, .page-id-16 [data-id="3cd3a99"] .elementor-element-a812237 .elementor-icon-box-title a, .page-id-16 [data-id="3cd3a99"] .elementor-element-a812237 .elementor-icon-box-title span{ color:#8F6A1F !important; font-size:13px !important; font-weight:700 !important; letter-spacing:2.5px !important; text-transform:uppercase !important; }
.page-id-16 [data-id="3cd3a99"] .elementor-icon-box-description, .page-id-16 [data-id="3cd3a99"] .elementor-icon-box-description *{ color:#1F1A12 !important; font-size:17px !important; font-weight:500 !important; line-height:1.55 !important; }
.page-id-16 [data-id="3cd3a99"] .elementor-element-a812237 .elementor-icon-box-description, .page-id-16 [data-id="3cd3a99"] .elementor-element-a812237 .elementor-icon-box-description *{ color:#1F1A12 !important; font-size:17px !important; font-weight:500 !important; }
.page-id-16 [data-id="3cd3a99"] > .elementor-widget-icon-box{ border-bottom:1px solid rgba(60,48,28,0.10) !important; padding-bottom:18px !important; }
.page-id-16 [data-id="3cd3a99"] > .elementor-widget-icon-box:nth-last-of-type(2){ border-bottom:none !important; }
.page-id-16 [data-id="3cd3a99"] hr, .page-id-16 [data-id="3cd3a99"] .elementor-divider-separator{ border-color:rgba(60,48,28,0.10) !important; }
.page-id-16 [data-id="3cd3a99"] .elementskit-btn, .page-id-16 [data-id="3cd3a99"] .elementor-button{ background:linear-gradient(135deg,#C9A84C,#B08A35) !important; border:none !important; color:#fff !important; border-radius:999px !important; padding:14px 30px !important; letter-spacing:2px !important; font-weight:600 !important; box-shadow:0 10px 24px rgba(176,138,53,0.35) !important; }
.page-id-16 [data-id="3cd3a99"] .elementskit-btn:hover, .page-id-16 [data-id="3cd3a99"] .elementor-button:hover{ transform:translateY(-1px) !important; box-shadow:0 14px 30px rgba(176,138,53,0.45) !important; color:#fff !important; }
.page-id-16 [data-id="3cd3a99"] .elementskit-btn *, .page-id-16 [data-id="3cd3a99"] .elementor-button *{ color:#fff !important; fill:#fff !important; }
.page-id-16 [data-id="7018afe"].e-con{ background:#FFFFFF !important; padding:40px 48px !important; }
.page-id-16 [data-id="7018afe"] label{ font-size:11.5px !important; letter-spacing:2px !important; color:#8B8375 !important; font-weight:600 !important; }
.page-id-16 [data-id="7018afe"] input[type="text"], .page-id-16 [data-id="7018afe"] input[type="email"], .page-id-16 [data-id="7018afe"] input[type="tel"], .page-id-16 [data-id="7018afe"] select{ background:#FAF9F6 !important; border:1px solid #E7E1D4 !important; border-radius:10px !important; color:#2E2921 !important; padding:12px 14px !important; box-shadow:none !important; transition:border-color .2s, box-shadow .2s !important; }
.page-id-16 [data-id="7018afe"] textarea{ background:#FAF9F6 !important; border:1px solid #E7E1D4 !important; border-radius:10px !important; color:#2E2921 !important; padding:12px 14px !important; height:120px !important; min-height:120px !important; box-shadow:none !important; }
.page-id-16 [data-id="7018afe"] input:focus, .page-id-16 [data-id="7018afe"] select:focus, .page-id-16 [data-id="7018afe"] textarea:focus{ border-color:#C9A84C !important; box-shadow:0 0 0 3px rgba(201,168,76,0.18) !important; outline:none !important; }
.page-id-16 [data-id="7018afe"] input[type="submit"]{ background:linear-gradient(135deg,#C9A84C,#B08A35) !important; color:#fff !important; border:none !important; border-radius:999px !important; padding:14px 20px !important; letter-spacing:2.5px !important; font-weight:600 !important; box-shadow:0 10px 24px rgba(176,138,53,0.35) !important; transition:transform .15s, box-shadow .2s !important; }
.page-id-16 [data-id="7018afe"] input[type="submit"]:hover{ transform:translateY(-1px) !important; box-shadow:0 14px 30px rgba(176,138,53,0.45) !important; }

/* ===== KJM contact mobile alignment ===== */
@media (max-width:767px){
  .elementor-element-6ddff41.e-con > .e-con-inner{ padding-top:0 !important; }
  .page-id-16 [data-id="3cd3a99"].e-con{ margin-top:0 !important; }
  .page-id-16 [data-id="3cd3a99"] .elementor-icon-box-wrapper{ display:flex !important; flex-direction:row !important; align-items:center !important; gap:16px !important; text-align:left !important; justify-content:flex-start !important; }
  .page-id-16 [data-id="3cd3a99"] .elementor-icon-box-content{ text-align:left !important; }
  .page-id-16 [data-id="3cd3a99"] .elementor-icon-box-icon{ margin:0 !important; }
  .page-id-16 [data-id="3cd3a99"] .elementskit-btn, .page-id-16 [data-id="3cd3a99"] .elementor-button{ display:flex !important; width:100% !important; justify-content:center !important; text-align:center !important; }
}


/* KJM Trade Program espresso band (added 2026-08-13) */
body .elementor-element-b58696f{background:linear-gradient(160deg,#3A332A 0%,#2A241C 100%) !important;}

/* FOOTER nav width: allow the 6 links (incl. Live Inventory) to stay on one line */
@media (min-width:768px){
  .elementor-element-7804779 ul.elementor-icon-list-items{ column-gap:20px !important; }
}


/* === KJM bottom-sections legibility fix (v1) === */
/* Theme global text colours were overriding the light text on these dark
   sections, dropping body copy to ~1.9:1 contrast. */
.kjm-cta, .kjm-cta__copy { color: rgba(255,255,255,.86) !important; }
.kjm-cta p, .kjm-cta .kjm-cta__lead { color: rgba(255,255,255,.84) !important; }
.kjm-cta .kjm-cta__lead { font-size: 17px !important; line-height: 1.65 !important; }
.kjm-cta .kjm-chip, .kjm-cta li { color: rgba(255,255,255,.92) !important; border-color: rgba(255,255,255,.30) !important; }
.kjm-eyebrow { color: #F0C08A !important; background: rgba(217,160,107,.14) !important; border-color: rgba(217,160,107,.45) !important; letter-spacing: .12em !important; }
.kjm-steps__label, .kjm-steps__num { color: #F0C08A !important; }
.kjm-steps__body, .kjm-steps__body * { color: rgba(255,255,255,.80) !important; }
.kjm-steps__body strong, .kjm-steps__title { color: #fff !important; }
.kjm-btn { font-size: 11.5px !important; }
.kjm-btn--solid { color: #171613 !important; font-weight: 700 !important; letter-spacing: .10em !important; }
.kjm-btn--ghost { color: #fff !important; border-color: rgba(255,255,255,.55) !important; }
.kjm-btn--ghost:hover { background: rgba(255,255,255,.10) !important; border-color: #fff !important; }
.kjm-signup h3 { color: #fff !important; }
.kjm-signup p, .kjm-signup .kjm-signup__note { color: rgba(255,255,255,.80) !important; }
.kjm-signup input { color: #fff !important; background: rgba(255,255,255,.10) !important; border: 1px solid rgba(255,255,255,.32) !important; }
.kjm-signup input::placeholder { color: rgba(255,255,255,.68) !important; }
.kjm-signup input:focus { border-color: #D9A06B !important; outline: 2px solid rgba(217,160,107,.45) !important; outline-offset: 1px !important; }
.kjm-signup button { color: #171613 !important; font-weight: 700 !important; }
/* Off-centre: this block was capped at 1360px while the page heading above it
   caps at 1140px, so it hung wider on large screens. Match the page width. */
.elementor-element-c76098a > .e-con-inner { max-width: min(100%, 1140px) !important; }
/* === end KJM bottom-sections legibility fix === */


/* === KJM signup > Mailchimp (v2) === */
.mc4wp-form .kjm-signup{--kjm-copper:#b77d49;--kjm-copper-lt:#d9a06b;--kjm-line:rgba(183,125,73,.28);font-family:"Jost",sans-serif;margin-top:22px;}
.mc4wp-form .kjm-signup *,.mc4wp-form .kjm-signup *::before,.mc4wp-form .kjm-signup *::after{box-sizing:border-box;}
.mc4wp-form .mc4wp-response{max-width:1140px;margin:12px auto 0;padding:0 50px;font-family:"Jost",sans-serif;font-size:15px;color:#F0C08A;}
.mc4wp-form .mc4wp-response p{margin:0;}
/* === end === */


/* === KJM signup styles made global (v3) === */
/* Signup block markup now lives in the Mailchimp form, which renders on
   multiple pages; these rules used to be inline on Live Inventory only. */

.kjm-signup h3 { color: #fff !important; }

.kjm-signup p, .kjm-signup .kjm-signup__note { color: rgba(255,255,255,.80) !important; }

.kjm-signup input { color: #fff !important; background: rgba(255,255,255,.10) !important; border: 1px solid rgba(255,255,255,.32) !important; }

.kjm-signup input::placeholder { color: rgba(255,255,255,.68) !important; }

.kjm-signup input:focus { border-color: #D9A06B !important; outline: 2px solid rgba(217,160,107,.45) !important; outline-offset: 1px !important; }

.kjm-signup button { color: #171613 !important; font-weight: 700 !important; }

/* === end KJM bottom-sections legibility fix === */


/* === KJM signup > Mailchimp (v2) === */
.mc4wp-form .kjm-signup{--kjm-copper:#b77d49;--kjm-copper-lt:#d9a06b;--kjm-line:rgba(183,125,73,.28);font-family:"Jost",sans-serif;margin-top:22px;}

.mc4wp-form .kjm-signup *,.mc4wp-form .kjm-signup *::before,.mc4wp-form .kjm-signup *::after{box-sizing:border-box;}

.kjm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.kjm-signup{
  background:linear-gradient(120deg,#252220 0%,#1a1917 100%);
  border:1px solid rgba(255,255,255,.07);
  padding:clamp(28px,3.4vw,40px) clamp(24px,4.5vw,52px);
}

.kjm-signup__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px 44px;}

.kjm-signup__copy{flex:1 1 330px;min-width:0;}

.kjm-signup__rule{display:block;width:44px;height:2px;background:var(--kjm-copper);margin-bottom:15px;}

.kjm-signup__copy h3{
  font-family:"Geologica","Jost",sans-serif;font-weight:500;
  font-size:clamp(20px,2.1vw,26px);line-height:1.25;color:#fff;margin:0;
}

.kjm-signup__copy p{margin:9px 0 0;color:rgba(255,255,255,.58);font-weight:300;font-size:14.5px;line-height:1.6;max-width:44ch;}

.kjm-signup__right{flex:1 1 400px;min-width:280px;}

.kjm-signup__form{display:flex;gap:10px;}

.kjm-signup__form input{
  flex:1 1 auto;min-width:0;
  font-family:"Jost",sans-serif;font-size:15px;font-weight:300;color:#fff;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);
  border-radius:2px;padding:15px 18px;outline:none;transition:border-color .25s,background .25s;
}

.kjm-signup__form input::placeholder{color:rgba(255,255,255,.40);}

.kjm-signup__form input:focus{border-color:var(--kjm-copper-lt);background:rgba(255,255,255,.08);}

.kjm-signup__form button{
  flex:none;cursor:pointer;
  font-family:"Jost",sans-serif;font-size:14px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;
  color:#fff;border:1px solid var(--kjm-copper);border-radius:2px;padding:15px 30px;
  background:linear-gradient(180deg,#c48a55 0%,#b77d49 100%);transition:all .28s ease;
}

.kjm-signup__form button:hover{background:linear-gradient(180deg,#d09562 0%,#c1854f 100%);transform:translateY(-2px);}

.kjm-signup__note{margin:13px 0 0;font-size:12.5px;font-weight:300;letter-spacing:.03em;color:rgba(255,255,255,.38);}

  .kjm-signup__form{flex-wrap:wrap;}

  .kjm-signup__form input,.kjm-signup__form button{flex:1 1 100%;}

/* === end v3 === */


/* === KJM form button feedback v2 === */
body .elementor-form .elementor-button{transition:background-color .3s ease,filter .2s ease,transform .1s ease;}
body .elementor-form .elementor-button:hover{filter:brightness(.82);}
body .elementor-form .elementor-button:active{transform:scale(.97);}
body .elementor-widget-form:has(.elementor-message-success) .elementor-button.elementor-button{background-color:#2E7D32 !important;filter:none !important;}
/* KJM v3 hover lock */
body .elementor-widget-form:has(.elementor-message-success) .elementor-button.elementor-button.elementor-button, body .elementor-widget-form:has(.elementor-message-success) .elementor-button.elementor-button.elementor-button:hover{background-color:#2E7D32 !important;filter:none !important;}
/* KJM v4 button text swap on success */
body .elementor-widget-form:has(.elementor-message-success) .elementor-button .elementor-button-text{font-size:0;letter-spacing:0;}
body .elementor-widget-form:has(.elementor-message-success) .elementor-button .elementor-button-text::after{content:'\2713  Submitted';font-size:15px;letter-spacing:1px;}

/* ============================================================
   KJM MOBILE V2 (Aug 2026) - phones only, appended last so it wins.
   Natural Stone page (2839): hide Why Choose, 2-col stone grid.
   To undo: delete everything from this comment to the end.
   ============================================================ */
@media (max-width: 767px) {
  /* Why Choose Natural Stone - hidden on phones (still in HTML for SEO) */
  html body .page-id-2839 .elementor-element.elementor-element-0cb9f0c,
  html body.page-id-2839 .elementor-element.elementor-element-0cb9f0c { display: none !important; }

  /* Stone grid: 2 columns */
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
  }
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .e-con,
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .elementor-element {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex: none !important;
  }
  /* Square thumbnails so every stone gets the same footprint */
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 .elementor-widget-image img {
    width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important; object-fit: cover !important;
  }
  /* Card names: smaller so they fit on one or two tidy lines */
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 .elementor-heading-title:is(*, #kjm-v2#kjm-v2#kjm-v2) {
    font-size: 16px !important; line-height: 1.3 !important; letter-spacing: 0 !important; margin: 0 !important;
  }
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 .elementor-element-feffc29,
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 > .e-con > .e-con {
    padding: 8px 0 0 !important;
  }
  html body .elementor-2839 .elementor-element.elementor-element-c75a9d9 .elementor-widget-heading {
    width: 100% !important; max-width: 100% !important;
  }
}


/* ============================================================
   KJM MOBILE V2b (Aug 2026) - phones only.
   Quartz Collection page (2501): hide quartz explainer,
   2-col quartz grids, square thumbs, tidy titles.
   To undo: delete this block.
   ============================================================ */
@media (max-width: 767px) {
  html body.page-id-2501 .elementor-element.elementor-element-f1bab9d { display: none !important; }

  html body.page-id-2501 .elementor-element.elementor-element-dd57d78,
  html body.page-id-2501 .elementor-element.elementor-element-fc8cd1e {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 12px !important;
    flex-direction: unset !important;
    flex-wrap: unset !important;
  }
  html body.page-id-2501 .elementor-element-dd57d78 > .e-con,
  html body.page-id-2501 .elementor-element-dd57d78 > .elementor-element,
  html body.page-id-2501 .elementor-element-fc8cd1e > .e-con,
  html body.page-id-2501 .elementor-element-fc8cd1e > .elementor-element {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important; flex: none !important;
  }
  html body.page-id-2501 .elementor-element-dd57d78 .elementor-widget-image img,
  html body.page-id-2501 .elementor-element-fc8cd1e .elementor-widget-image img {
    width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important; object-fit: cover !important;
  }
  html body.page-id-2501 .elementor-element-dd57d78 .elementor-heading-title:is(*, #kjm-v2#kjm-v2#kjm-v2),
  html body.page-id-2501 .elementor-element-fc8cd1e .elementor-heading-title:is(*, #kjm-v2#kjm-v2#kjm-v2) {
    font-size: 16px !important; line-height: 1.3 !important; letter-spacing: 0 !important; margin: 0 !important;
  }
  html body.page-id-2501 .elementor-element-dd57d78 .elementor-widget-heading,
  html body.page-id-2501 .elementor-element-fc8cd1e .elementor-widget-heading {
    width: 100% !important; max-width: 100% !important;
  }
}


/* KJM MOBILE V2c (Aug 2026) - phones only, site-wide:
   long buttons wrap instead of clipping off-screen. */
@media (max-width: 767px) {
  html body a.elementskit-btn, html body .elementor-button {
    max-width: 100% !important;
    white-space: normal !important;
    box-sizing: border-box !important;
  }
}


/* KJM MOBILE V2d (Aug 2026) - phones only:
   Natural Stone page - hide the duplicate "Natural Stones" heading
   (the hero directly above already says it). */
@media (max-width: 767px) {
  html body.page-id-2839 .elementor-element.elementor-element-24fce77 { display: none !important; }
}


/* ============================================================
   KJM V2e (Aug 2026) - all screen sizes.
   Get in Touch band on stone detail pages (Ready to Start Your Project):
   readable subtext, stronger overlay, crop black photo edges on desktop.
   To undo: delete this block.
   ============================================================ */
.elementor-element-7357c08::before {
  background: linear-gradient(90deg, rgba(10,10,10,.8) 0%, rgba(10,10,10,.55) 45%, rgba(10,10,10,.5) 100%) !important;
  opacity: 1 !important;
}
.elementor-element-7357c08 p { color: rgba(255,255,255,.88) !important; }
.elementor-element-7357c08 .elementor-heading-title { text-shadow: 0 2px 14px rgba(0,0,0,.5); }
@media (min-width: 768px) {
  html body .elementor-element.elementor-element-7357c08:is(*, #kjm-v2#kjm-v2#kjm-v2) {
    background-size: 145% auto !important;
    background-position: center 40% !important;
  }
}


/* ============================================================
   KJM V2f (Aug 2026) - all screen sizes, site-wide.
   Steady scrolling: content no longer hides and fades in late
   while scrolling (entrance animations resolve instantly).
   To undo: delete this block.
   ============================================================ */
html body .elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}
html body .animated {
  animation-duration: 0s !important;
  animation-delay: 0s !important;
}

/* === Desktop Menu Fix — center, larger text, more spacing === */
@media (min-width: 1025px) {
  .elementskit-navbar-nav.elementskit-menu-po-right {
    justify-content: center !important;
    gap: 22px !important;
  }
  .ekit-menu-nav-link {
    font-size: 16px !important;
  }
}

/* === Quartz Product Pages — match Natural Stone heading font === */
.parent-pageid-2501 .elementor-element-2406f7c .elementor-heading-title {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    color: rgb(26, 26, 26) !important;
}


/* Blog card text visibility fix */
.elementor-post__excerpt p {
  color: #d4c9b8 !important;
  opacity: 1 !important;
}
.elementor-post-info,
.elementor-post-info__item,
.elementor-post-info__item a,
.elementor-post-info span {
  color: #b0a898 !important;
  opacity: 1 !important;
}

/* Blog card text visibility fix */
.elementor-post__excerpt p {
  color: #d4c9b8 !important;
  opacity: 1 !important;
}
.elementor-post-info,
.elementor-post-info__item,
.elementor-post-info__item a,
.elementor-post-info span {
  color: #b0a898 !important;
  opacity: 1 !important;
}

/* Blog post article headings — match site's Cormorant Garamond heading font */
.elementor-widget-theme-post-content h2 {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 300 !important;
    font-size: 36px !important;
    letter-spacing: 0.02em;
    color: #3a3a3a;
    margin-top: 2em;
    margin-bottom: 0.5em;
}

.elementor-widget-theme-post-content h3 {
    font-family: "Cormorant Garamond", serif !important;
    font-weight: 400 !important;
    font-size: 28px !important;
    color: #3a3a3a;
}

/* ── DATE ANNOUNCEMENT BADGE (replaces scrolling banner) ── */
.kjm-july-banner { display: none !important; }
.elementor-element-3883d24::before { display: none !important; }
.elementor-element-1a53e8b { position: relative !important; }
.elementor-element-1a53e8b::before {
  content: "✦  DOORS OPEN FOR VIEWING  ·  SEPTEMBER 30  ✦" !important;
  white-space: pre-line !important;
  display: block !important;
  text-align: center !important;
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(201, 169, 110, 0.65) !important;
  border-radius: 4px !important;
  color: #F0D99A !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  margin-bottom: 18px !important;
  font-family: sans-serif !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 2 !important;
}


/* ── LIVE INVENTORY PAGE: date badge + hide bottom banner ── */
.elementor-element-9afea63 { position: relative !important; }
.elementor-element-9afea63::before {
  content: "✦  DOORS OPEN FOR VIEWING  ·  SEPTEMBER 30  ✦" !important;
  white-space: pre-line !important;
  display: block !important;
  text-align: center !important;
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(201, 169, 110, 0.65) !important;
  border-radius: 4px !important;
  color: #F0D99A !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  padding: 14px 32px !important;
  margin-bottom: 18px !important;
  font-family: sans-serif !important;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 2 !important;
}

/* ── HIDE SCROLLING BANNERS GLOBALLY ── */
.kjm-july-banner-top,
.kjm-july-banner-bottom,
.kjm-july-banner {
  display: none !important;
}

/* KJM mobile header: sit below the WP admin bar for logged-in users */
@media (max-width:767px){
  body.admin-bar #kjmHd{top:46px}
  body.admin-bar .kjm-menu{top:46px}
}


/* ================================================================
   KJM MOBILE POLISH — v1 (2026-09-05)
   Phones only (max-width:767px). Desktop and tablet are untouched.
   To undo: delete everything from this banner to END KJM MOBILE POLISH.
   ================================================================ */
@media (max-width: 767px){
  :root{ --kjm-gutter:20px; --kjm-rhythm:44px; --kjm-gold:#c9a96e; --kjm-hdr:#17130f; }

  /* 1. header — opaque, single height, nothing bleeds through */
  #kjmTop .kjm-hd.kjm-hd, .kjm-hd.kjm-hd.kjm-hd{
    background:var(--kjm-hdr) !important; background-image:none !important;
    backdrop-filter:none !important; box-shadow:none !important;
    border-bottom:1px solid rgba(201,169,110,.20) !important; }
  #kjmTop .kjm-hd .kjm-lock, .kjm-hd.kjm-hd .kjm-lock{ height:56px !important; padding:0 var(--kjm-gutter) !important; }
  #kjmTop .kjm-mark img, .kjm-hd .kjm-mark img{ height:36px !important; width:auto !important; object-fit:contain !important; clip-path:inset(0 0 26% 0) !important; margin-bottom:-6px !important; }
  #kjmBurger, #kjmBurger.kjm-burger, .kjm-burger.kjm-burger{
    height:38px !important; padding:0 13px !important; border-radius:999px !important; }
  #kjmBurger::before{ font-size:11px !important; letter-spacing:.16em !important; }

  /* 2. one gutter, one vertical rhythm */
  .elementor > .e-con, .elementor > .elementor-section{
    padding-left:var(--kjm-gutter) !important; padding-right:var(--kjm-gutter) !important;
    padding-top:var(--kjm-rhythm) !important; padding-bottom:var(--kjm-rhythm) !important; }
  .elementor > .e-con:first-child{ padding-top:calc(var(--kjm-rhythm) + 56px) !important; }
  .elementor > .e-con > .e-con-inner{ padding-left:0 !important; padding-right:0 !important; }
  .e-con .elementor-widget-heading, .e-con .elementor-widget-text-editor,
  .e-con .elementor-widget-theme-post-content, .e-con .elementor-widget-divider{
    padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; }

  /* 3. type scale */
  .elementor h1, .elementor h1.elementor-heading-title{ font-size:clamp(28px,8.2vw,34px) !important; line-height:1.14 !important; letter-spacing:-.01em !important; margin:0 0 14px !important; }
  .elementor h2, .elementor h2.elementor-heading-title{ font-size:clamp(23px,6.4vw,27px) !important; line-height:1.2 !important; margin:0 0 12px !important; }
  .elementor h3, .elementor h3.elementor-heading-title{ font-size:19px !important; line-height:1.3 !important; margin:0 0 10px !important; }
  .elementor h4, .elementor h5{ font-size:17px !important; line-height:1.35 !important; }
  .elementor h6, .elementor h6.elementor-heading-title{ font-size:12px !important; font-weight:600 !important; letter-spacing:.2em !important; line-height:1.6 !important; text-transform:uppercase !important; margin:0 0 12px !important; }
  .elementor-widget-text-editor, .elementor-widget-text-editor p{ font-size:16px !important; line-height:1.62 !important; }
  .elementor-widget-text-editor p:last-child{ margin-bottom:0 !important; }
  #kjmTop .kjm-hero .chip{ font-size:9.5px !important; letter-spacing:.06em !important; white-space:nowrap !important; padding:9px 13px !important; }
  #kjmTop .kjm-hero .chip span{ font-size:9.5px !important; letter-spacing:.09em !important; }
  #kjmTop .eyebrow, #kjmTop .kjm-shopby .eyebrow, .kjm-m .eyebrow{ font-size:11px !important; letter-spacing:.18em !important; line-height:1.5 !important; }

  /* 4. buttons — one size, one shape, one line */
  .elementor-button, #kjmTop .kjm-btn, .kjm-btn.kjm-btn, .elementor-field-type-submit button{
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:100% !important; max-width:340px !important; min-height:54px !important; padding:0 20px !important;
    font-size:12px !important; font-weight:600 !important; letter-spacing:.16em !important; text-transform:uppercase !important;
    line-height:1.2 !important; border-radius:2px !important; white-space:nowrap !important; text-align:center !important; }
  .elementor-button .elementor-button-content-wrapper{ justify-content:center !important; gap:10px !important; }
  .elementor-button .elementor-button-text{ white-space:nowrap !important; }
  .elementor-widget-button{ width:100% !important; text-align:center !important; }
  .elementor-widget-button + .elementor-widget-button{ margin-top:12px !important; }
  #kjmTop .kjm-btns, .kjm-btns{ gap:12px !important; }

  /* 5. sticky action bar — slimmer, quieter */
  .kjm-sticky.kjm-sticky{ height:56px !important; background:var(--kjm-hdr) !important;
    border-top:1px solid rgba(201,169,110,.20) !important; box-shadow:0 -6px 20px rgba(0,0,0,.28) !important; }
  .kjm-sticky.kjm-sticky a{ font-size:10px !important; letter-spacing:.12em !important; gap:4px !important;
    border-left:1px solid rgba(255,255,255,.07) !important; }
  .kjm-sticky.kjm-sticky a:first-child{ border-left:0 !important; }
  .kjm-sticky.kjm-sticky a{ height:56px !important; padding:0 !important; justify-content:center !important; }
  body{ padding-bottom:56px !important; }
  .kjm-sticky.kjm-sticky svg{ width:17px !important; height:17px !important; }
  .kjm-sticky.kjm-sticky a.cta{ background:var(--kjm-gold) !important; color:#17130f !important; font-weight:700 !important; }

  /* 6. media */
  .elementor-widget-image img{ border-radius:8px !important; display:block !important; }
  .e-con img{ max-width:100% !important; height:auto !important; }
  .elementor-divider{ padding-block:14px !important; }
  html, body{ overflow-x:hidden !important; }
}
/* ==================== END KJM MOBILE POLISH ==================== */


/* ---- KJM MOBILE POLISH v2 (2026-09-05) ---- */
@media (max-width: 767px){
  /* newsletter submit was gold on a gold band - effectively invisible */
  html body .elementor-element-01d9a0c .elementor-button.elementor-button.elementor-button{
    background:#2b2620 !important; background-image:none !important; border-color:#2b2620 !important; }
  html body .elementor-element-01d9a0c .elementor-button,
  html body .elementor-element-01d9a0c .elementor-button *{ color:#f3ede3 !important; }

  /* custom stone-craft buttons join the shared button spec */
  html body .sc-btn.sc-btn{ display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:100% !important; max-width:340px !important; min-height:54px !important; padding:0 20px !important;
    font-size:12px !important; font-weight:600 !important; letter-spacing:.16em !important;
    text-transform:uppercase !important; border-radius:2px !important; white-space:nowrap !important; }

  /* long paragraphs range left on a narrow screen */
  html body .elementor-element-4c9ea9c, html body .elementor-element-4c9ea9c p,
  html body .elementor-element-1d3ed21, html body .elementor-element-1d3ed21 p{ text-align:left !important; }

  /* raw HTML block was falling back to Georgia */
  html body .elementor-element-611e563, html body .elementor-element-611e563 *{ font-family:'Jost', sans-serif !important; }

  /* container holding nothing visible on phones */
  html body .e-con.elementor-element-49981d9.elementor-element-49981d9{
    padding-top:0 !important; padding-bottom:0 !important; padding-block:0 !important; }
}
/* ---- end v2 ---- */


/* ---- KJM POLISH v3 (2026-09-05) ---- */
/* newsletter submit sits on a gold band - give it contrast at every width */
html body .elementor-element-01d9a0c .elementor-button.elementor-button.elementor-button{
  background:#2b2620 !important; background-image:none !important; border-color:#2b2620 !important; }
html body .elementor-element-01d9a0c .elementor-button,
html body .elementor-element-01d9a0c .elementor-button *{ color:#f3ede3 !important; }
html body .elementor-element-01d9a0c .elementor-button.elementor-button.elementor-button:hover{
  background:#3d362d !important; }

@media (max-width: 767px){
  /* footer links need a real touch target */
  html body .kjm-foot .frow a{ display:inline-flex !important; align-items:center !important; min-height:44px !important; }
  html body .kjm-foot .flinks a{ display:inline-flex !important; align-items:center !important; min-height:40px !important; }
}
/* ---- end v3 ---- */


/* ---- KJM HEADING FONT v4 (2026-09-05) ---- */
/* Site standard is Cormorant Garamond. Trade Program, Flooring Installation and
   Live Inventory were falling back to Roboto, Georgia or the system font.
   Page content only - header, footer and small uppercase labels keep Montserrat.
   Font weight is deliberately left alone so existing hierarchy is preserved. */
[data-elementor-type="wp-page"] h1,
[data-elementor-type="wp-page"] h2,
[data-elementor-type="wp-page"] h3,
[data-elementor-type="wp-post"] h1,
[data-elementor-type="wp-post"] h2,
[data-elementor-type="wp-post"] h3{
  font-family:"Cormorant Garamond", Georgia, serif !important;
}
/* Trade Program also has sentence-case h4/h5 headings */
body.page-id-10327 [data-elementor-type="wp-page"] h4,
body.page-id-10327 [data-elementor-type="wp-page"] h5{
  font-family:"Cormorant Garamond", Georgia, serif !important;
}
/* ...but its small uppercase perk labels stay as label type */
body.page-id-10327 .elementor-element-6c46d58 h4,
body.page-id-10327 .elementor-element-8f4bdf4 h4,
body.page-id-10327 .elementor-element-2bffec1 h4,
body.page-id-10327 .elementor-element-4f72a23 h4,
body.page-id-10327 .elementor-element-c93f650 h4,
body.page-id-10327 .elementor-element-32b9b17 h4{
  font-family:"Montserrat", sans-serif !important;
}
/* ---- end v4 ---- */


/* ---- KJM EMOJI CLEANUP v5 (2026-09-05) ---- */
/* Trade Program, Flooring Installation and Resources used full-colour emoji as
   card icons. They clash with the gold-and-stone palette and with the type-led
   cards used everywhere else, and the site loads no icon set to swap them for.
   Hidden, not deleted - remove this block to bring them back. */
body.page-id-8781 .elementor-element-70321b8,
body.page-id-8781 .elementor-element-cb038f8,
body.page-id-8781 .elementor-element-219a5e7,
body.page-id-10327 .elementor-element-08e4cc6,
body.page-id-10327 .elementor-element-bb681f3,
body.page-id-10327 .elementor-element-33b65fa,
body.page-id-10327 .elementor-element-66aae44,
body.page-id-10327 .elementor-element-7427a29,
body.page-id-10327 .elementor-element-8bc9135,
body.page-id-10327 .elementor-element-12caae5,
body.page-id-10327 .elementor-element-4744d19,
body.page-id-10327 .elementor-element-d7a6c19,
body.page-id-10327 .elementor-element-43ccdc6,
body.page-id-10327 .elementor-element-da3c7b6,
body.page-id-10327 .elementor-element-45a7c87,
body.page-id-13265 .elementor-element-202c5ae,
body.page-id-13265 .elementor-element-26b7410,
body.page-id-13265 .elementor-element-72b3fa7{ display:none !important; }
body.page-id-8781 [data-elementor-type="wp-page"] img.emoji,
body.page-id-10327 [data-elementor-type="wp-page"] img.emoji,
body.page-id-13265 [data-elementor-type="wp-page"] img.emoji{ display:none !important; }
/* ---- end v5 ---- */


/* ===== FOOTER LINK ROWS — FIX (Sept 7, 2026) =====
   Supersedes the earlier max-width:470px / translateX nudges on the
   footer Quick Links. Puts the link strip, the Privacy/Terms line and
   the copyright on their own centered full-width rows and stops the
   labels breaking mid-phrase ("About / Us"). Desktop only. */
@media (min-width:768px){
.elementor-element-e23193a{order:50 !important;width:100% !important;flex:0 0 100% !important;max-width:100% !important;margin-top:18px !important;padding:14px 0 0 !important;border-top:1px solid rgba(255,255,255,.12) !important;align-items:center !important;}
.elementor-element-7804779{width:100% !important;}
.elementor-element-e23193a .elementor-icon-list-items,.elementor-element-7804779 ul.elementor-icon-list-items{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;width:100% !important;max-width:none !important;margin:0 !important;padding:0 !important;transform:none !important;column-gap:30px !important;row-gap:8px !important;}
.elementor-element-7804779 .elementor-icon-list-item,.elementor-element-7804779 .elementor-icon-list-item a,.elementor-element-7804779 .elementor-icon-list-text{white-space:nowrap !important;width:auto !important;flex:0 0 auto !important;}
.elementor-element-106701f{order:51 !important;width:100% !important;flex:0 0 100% !important;max-width:100% !important;margin:6px 0 0 !important;padding:0 !important;align-items:center !important;}
.elementor-element-106701f .elementor-icon-list-items{display:flex !important;flex-wrap:wrap !important;justify-content:center !important;width:100% !important;max-width:none !important;margin:0 !important;transform:none !important;column-gap:30px !important;}
.elementor-element-106701f .elementor-icon-list-item,.elementor-element-106701f .elementor-icon-list-item a{white-space:nowrap !important;width:auto !important;flex:0 0 auto !important;}
.elementor-element-bab0c4c{order:100 !important;width:100% !important;flex:0 0 100% !important;max-width:100% !important;}
}
/* ===== end footer link rows fix ===== */


/* ===== SECTION SPACING — .kjm-loc copy blocks (Sept 7, 2026) =====
   The SEO copy blocks were opening with 48px block padding on top of a
   44px heading margin, which read as dead space under the section above
   (worst on /gallery/, under the map). Tightened, first child flush. */
.kjm-loc{padding-top:26px !important;padding-bottom:34px !important;}
.kjm-loc > *:first-child{margin-top:0 !important;}
/* ===== end section spacing ===== */


/* ===== GALLERY PAGE POLISH (Sept 7, 2026) =====
   The "Be the First to Know" band ran white text on the tan ground
   (2.3:1). Ink instead. */
.elementor-element-232736a .elementor-heading-title{color:#241d12 !important;}
.elementor-element-a0b2d7e,.elementor-element-a0b2d7e p{color:#3b3428 !important;}
.elementor-element-d25163e .elementor-field-label{color:#241d12 !important;}
/* ===== end gallery polish ===== */

/* Gallery hero rhythm + card label contrast (Sept 7, 2026).
   The heading widget carries stray <br> tags; hide them rather than
   fight Elementor's element cache. */
.elementor-element-b8ee2b6 .elementor-heading-title br{display:none !important;}
.elementor-element-a7f3c21 p{margin-top:16px !important;}
.kjm-card [style*="9a927f"]{color:#b8b09a !important;}
@media (max-width:560px){.kjm-card{padding:26px 20px !important;}}
.kjm-gal .kjm-gi figcaption{font-style:normal !important;}

/* Gallery: the theme prints an empty h1.entry-title ("Gallery") while the
   visible title is the Elementor heading, now set to h1. Hide the theme one
   on this page only — other pages still use entry-title as their H1. */
body.page-id-20 .page-header{display:none !important;}

/* ===== KJM MOBILE — WHITE MINIMAL (Sept 7, 2026) =====
   Phone view turned from near-black to white: header, drawer, shop-by
   buttons, featured slabs, stats, sticky call bar and footer. The hero
   photo is kept. Scoped to max-width:767px so desktop is untouched.
   Selectors are doubled/id-prefixed on purpose: snippet 22 (kjm-mobile-ux)
   and older rules in this file use #kjmTop and doubled-class specificity. */
@media (max-width:767px){
html,body{background:#fff !important}
body .kjm-m.kjm-m{background:#fff !important}
#kjmTop .kjm-hd.kjm-hd{background:#fff !important;background-image:none !important;border-bottom:1px solid rgba(20,18,15,.10) !important;box-shadow:none !important}
#kjmTop .kjm-hd .kjm-wm,#kjmTop .kjm-hd .kjm-wm b{color:#14120f !important;-webkit-text-fill-color:#14120f !important}
#kjmTop .kjm-hd .kjm-burger.kjm-burger{background:transparent !important;color:#14120f !important;border:1px solid rgba(20,18,15,.22) !important}
#kjmTop .kjm-menu.kjm-menu{background:#fff !important}
#kjmTop .kjm-menu .mi{color:#14120f !important;border-bottom:1px solid rgba(20,18,15,.07) !important}
#kjmTop .kjm-menu .mi span{color:#b08d4f !important}
#kjmTop .kjm-menu .mfoot{color:#6b6459 !important;border-top:1px solid rgba(20,18,15,.10) !important}
#kjmTop .kjm-hero .scrim{background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.30) 45%,rgba(0,0,0,.60) 100%) !important}
#kjmTop .kjm-pill.kjm-pill{background:#fff !important;background-image:none !important;color:#14120f !important;border:1px solid rgba(20,18,15,.16) !important;box-shadow:none !important}
#kjmTop .kjm-pill.kjm-pill.active{background:#fff !important;background-image:none !important;color:#14120f !important;border-color:#c9a227 !important}
#kjmTop .kjm-dark.kjm-dark,#kjmTop .kjm-feat.kjm-feat{background:#fff !important;background-image:none !important;color:#14120f !important}
#kjmTop .kjm-feat .eyebrow{color:#b08d4f !important}
#kjmTop .kjm-feat h2,#kjmTop .kjm-feat .sec-head,#kjmTop .kjm-feat .sec-head *{color:#14120f !important}
#kjmTop .kjm-feat .kjm-card{border:1px solid rgba(20,18,15,.10) !important}
#kjmTop .kjm-vals.kjm-vals{background:#fff !important}
#kjmTop .kjm-val.kjm-val{background:#fff !important;border-bottom:1px solid rgba(20,18,15,.08) !important}
#kjmTop .kjm-acc .ttl{color:#14120f !important}
body .kjm-sticky.kjm-sticky.kjm-sticky{background:rgba(255,255,255,.96) !important;background-image:none !important;border-top:1px solid rgba(20,18,15,.12) !important}
body .kjm-sticky.kjm-sticky.kjm-sticky a,body .kjm-sticky.kjm-sticky.kjm-sticky .cta{color:#14120f !important}
body .kjm-foot.kjm-foot.kjm-foot{background:#fff !important;background-image:none !important;color:#14120f !important;border-top:1px solid rgba(20,18,15,.10) !important}
body .kjm-foot .kjm-wm,body .kjm-foot .kjm-wm b{color:#14120f !important;-webkit-text-fill-color:#14120f !important}
body .kjm-foot .frow,body .kjm-foot .frow a{color:#14120f !important}
body .kjm-foot .flinks a{color:#14120f !important}
body .kjm-foot .hours,body .kjm-foot .cr{color:#6b6459 !important}
.elementor-element-5bb2c34.elementor-element-5bb2c34{background:#fff !important;border:1px solid rgba(20,18,15,.12) !important}
.elementor-element-5bb2c34.elementor-element-5bb2c34 *{color:#14120f !important}
}


/* GET IN TOUCH CARD — mobile text contrast (Sept 7, 2026) */
@media (max-width:767px){
body .elementor-13 .elementor-element.elementor-element-5bb2c34 .elementor-element.elementor-element p,
body .elementor-13 .elementor-element.elementor-element-5bb2c34 .elementor-element.elementor-element li,
body .elementor-13 .elementor-element.elementor-element-5bb2c34 .elementor-element.elementor-element a{color:#3b3428 !important}
body .elementor-13 .elementor-element.elementor-element-5bb2c34 .elementor-element.elementor-element .elementor-icon-list-text{color:#241d12 !important}
body .elementor-13 .elementor-element.elementor-element-5bb2c34 .elementor-element.elementor-element .elementor-icon-list-icon i,
body .elementor-13 .elementor-element.elementor-element-5bb2c34 .elementor-element.elementor-element .elementor-icon-list-icon svg{color:#b08d4f !important;fill:#b08d4f !important}
}


/* ===== HEADER NAV - PARENT LINK MUST NAVIGATE (Sept 7, 2026) =====
   The small EKit down-arrow inside "About Us" / "Catalog" / "Resources"
   was swallowing the click and only toggling the dropdown.
   Desktop only - under 1025px the arrow is still how the submenu opens. */
@media (min-width: 1025px){
  .elementskit-navbar-nav .elementskit-submenu-indicator{ pointer-events: none !important; }
}


/* HOME PAGE SWEEP (Sept 7, 2026) */
/* Gold buttons: use the same dark label as every other gold button on the site */
.elementor-element-b3da44b .elementskit-btn,
.elementor-element-e0eacab .elementskit-btn,
.elementor-element-b3da44b .elementskit-btn:hover,
.elementor-element-e0eacab .elementskit-btn:hover,
.elementor-element-b3da44b .elementskit-btn:focus,
.elementor-element-e0eacab .elementskit-btn:focus{color:#2b2620 !important}
.elementor-element-b3da44b .elementskit-btn svg,
.elementor-element-e0eacab .elementskit-btn svg{fill:#2b2620 !important;stroke:#2b2620 !important}
/* Get in Touch card: center content so the card does not leave a void at the bottom */
@media (min-width:1025px){
.elementor-element-5bb2c34.elementor-element-5bb2c34{justify-content:center !important}
}
/* Mobile eyebrows: one legible gold across all three */
@media (max-width:767px){
#kjmTop .eyebrow.eyebrow,
#kjmTop .kjm-feat .sec-head .eyebrow.eyebrow{color:#7d5c24 !important}
}

/* beat post-13.css per-widget white label */
.elementor-13 .elementor-element.elementor-element-e0eacab a.elementskit-btn.elementskit-btn,
.elementor-13 .elementor-element.elementor-element-e0eacab a.elementskit-btn.elementskit-btn:hover,
.elementor-13 .elementor-element.elementor-element-b3da44b a.elementskit-btn.elementskit-btn,
.elementor-13 .elementor-element.elementor-element-b3da44b a.elementskit-btn.elementskit-btn:hover{color:#2b2620 !important}
.elementor-13 .elementor-element.elementor-element-e0eacab a.elementskit-btn.elementskit-btn svg,
.elementor-13 .elementor-element.elementor-element-b3da44b a.elementskit-btn.elementskit-btn svg{fill:#2b2620 !important;stroke:#2b2620 !important}

/* HERO SCRIM — the slideshow has no overlay, so white text sat straight on bright slides */
.elementor-element-3883d24 .elementor-background-slideshow::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,16,13,.30) 0%,rgba(18,16,13,.34) 45%,rgba(18,16,13,.52) 100%);z-index:5;pointer-events:none}
.elementor-element-3883d24 .elementor-heading-title,
.elementor-element-eab0b43,
.elementor-element-eab0b43 p{text-shadow:0 1px 14px rgba(0,0,0,.55)}

@media (max-width:767px){
body #kjmTop .eyebrow.eyebrow.eyebrow{color:#7d5c24 !important}
}

/* drawer footer: mfoot legibility — Call was tan on white */
@media (max-width:767px){
body #kjmTop .kjm-menu .mfoot a{color:#7d5c24 !important}
body #kjmTop .kjm-menu .mfoot a + a{color:#1c1813 !important}
}

/* Drawer open: hide the sticky CTA bar — it covered the bottom of the menu and duplicates the drawer's own Call / Get a Quote row */
@media (max-width:767px){
body.kjm-open .kjm-sticky.kjm-sticky.kjm-sticky{display:none !important}
}

/* MOBILE SPACING — one gutter (22px) and an even section rhythm */
@media (max-width:767px){
#kjmTop .kjm-hd.kjm-hd{padding-left:22px !important;padding-right:22px !important}
#kjmTop .kjm-pills.kjm-pills{padding-left:22px !important;padding-right:22px !important}
#kjmTop .kjm-rail.kjm-rail{padding-left:22px !important;padding-right:22px !important}
#kjmTop .kjm-feat.kjm-feat{padding-top:44px !important}
#kjmTop > section:nth-of-type(4){padding-top:66px !important}
}

/* HEADER LOGO GUTTER — the lock added its own gutter on top of the header padding, indenting the logo past every other left edge */
@media (max-width:767px){
#kjmTop .kjm-hd .kjm-lock.kjm-lock{padding-left:0 !important;padding-right:0 !important}
}

/* CTA BUTTON WIDTH — buttons were capped at 340px inside a 346px column, so their right edge sat 6px short of everything else */
@media (max-width:767px){
#kjmTop .kjm-btns > .kjm-btn,
#kjmTop .wrap > .kjm-btn,
#kjmTop .kjm-feat .kjm-btn,
#kjmTop .kjm-btn.kjm-darkbtn{width:100% !important;max-width:none !important;display:flex !important}
}


/* FOOTER CTA PAIR — side by side on desktop keeps its auto width; stacked on mobile they now match each other and the rest of the page */
@media (max-width:767px){
body .elementor-element-59a3869 .elementor-element-10714c5.elementor-element-10714c5,
body .elementor-element-59a3869 .elementor-element-887d385.elementor-element-887d385{width:100% !important;flex:0 0 100% !important}
body .elementor-element-59a3869 .elementor-element-10714c5 .elementor-button,
body .elementor-element-59a3869 .elementor-element-887d385 .elementor-button{display:flex !important;width:100% !important;max-width:none !important;justify-content:center !important}
}

/* QUARTZ CARD HEIGHT (mobile) — the 240px fixed image height was written for the wide desktop grid; on a phone it made the quartz cards far taller than the quartzite cards. Square them up like the natural stone page. */
@media (max-width:767px){
body.page-id-2501 .e-grid > .e-con .elementor-widget-image img{height:auto !important;width:100% !important;aspect-ratio:1/1 !important;object-fit:cover !important}
}
