html,body{overflow-x:hidden!important;width:100%!important;max-width:100vw!important;-webkit-overflow-scrolling:touch!important}*,*::before,*::after{box-sizing:border-box!important}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-black);color:var(--color-ivory);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-gold);font-weight:600;margin-bottom:1rem}a{color:var(--color-gold);text-decoration:none;transition:var(--transition-smooth)}a:hover{color:var(--color-gold-light)}.jimwal-boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.jimwal-container{max-width:1400px;margin:0 auto;padding:0 2rem}.jimwal-main-content{min-height:70vh;padding-top:100px}.jimwal-scent-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;padding:2rem 0;width:100%;align-items:stretch}.jimwal-product-card{background-color:var(--color-dark);border:1px solid var(--color-gold-dark);border-radius:4px;overflow:hidden;text-align:center;transition:var(--transition-smooth);display:flex;flex-direction:column;height:100%}.jimwal-product-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-luxury);border-color:var(--color-gold)}.card-image{overflow:hidden;border-bottom:1px solid var(--color-black)}.card-image img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:var(--transition-smooth)}.jimwal-product-card:hover .card-image img{transform:scale(1.05)}.card-content{padding:1.5rem}.card-title{font-size:1.2rem;letter-spacing:1px;margin-bottom:.5rem}.card-price{color:var(--color-ivory);font-weight:300;font-size:1.1rem}.card-actions{padding:0 1.5rem 1.5rem;margin-top:auto}.card-actions .button{display:block;width:100%;background-color:transparent;color:var(--color-gold);border:1px solid var(--color-gold-dark);text-align:center;padding:.8rem;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;font-weight:500;cursor:pointer;transition:var(--transition-smooth)}.card-actions .button:hover{background-color:var(--color-gold);color:var(--color-black);border-color:var(--color-gold)}.card-actions .button.loading{opacity:.7;pointer-events:none}.card-actions .button.added{display:none}.card-actions .added_to_cart{display:block;width:100%;background-color:var(--color-dark);color:var(--color-ivory);text-align:center;padding:.8rem;font-size:.9rem;text-transform:uppercase;border:1px solid var(--color-gold)}.jimwal-single-product{padding-top:50px;padding-bottom:3.5rem}.jimwal-product-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-bottom:5rem}.jimwal-product-gallery{position:sticky;top:120px}.jimwal-product-gallery .woocommerce-product-gallery__image{border:1px solid var(--color-gold-dark);border-radius:4px;overflow:hidden;background-color:var(--color-dark)}.jimwal-product-gallery img{width:100%;height:auto;display:block}.jimwal-product-summary h1.product_title{font-size:3rem;margin-bottom:1rem;line-height:1.1}.jimwal-product-summary p.price{font-size:1.5rem;color:var(--color-ivory);margin-bottom:2rem;font-weight:300}.jimwal-product-summary .woocommerce-product-details__short-description{font-size:1.1rem;color:#ccc;margin-bottom:2.5rem;line-height:1.8}.jimwal-product-summary form.cart{display:flex;gap:1rem;margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid var(--color-dark)}.jimwal-product-summary form.cart .quantity input.qty{background-color:transparent;border:1px solid var(--color-gold-dark);color:var(--color-ivory);padding:1rem;width:80px;text-align:center;font-size:1.1rem}.jimwal-product-summary form.cart button.single_add_to_cart_button{flex-grow:1;background-color:var(--color-gold);color:var(--color-black);border:0;padding:1rem 2rem;font-size:1rem;text-transform:uppercase;letter-spacing:2px;font-weight:600;cursor:pointer;transition:var(--transition-smooth)}.jimwal-product-summary form.cart button.single_add_to_cart_button:hover{background-color:var(--color-gold-light);transform:translateY(-2px);box-shadow:var(--shadow-luxury)}@media(max-width:991px){.jimwal-product-split-layout{grid-template-columns:1fr;gap:2rem}.jimwal-product-gallery{position:relative;top:0}}.jimwal-luxury-header,.jimwal-main-footer,.site-main,#main,#content,.woocommerce-products-header{max-width:1440px!important;margin-left:auto!important;margin-right:auto!important;padding-left:6%!important;padding-right:6%!important}@media(min-width:1600px){.jimwal-luxury-header,.jimwal-main-footer,.site-main,#main,#content{padding-left:8%!important;padding-right:8%!important}}@media(max-width:768px){.jimwal-luxury-header,.jimwal-main-footer,.site-main,#main,#content{padding-left:1.5rem!important;padding-right:1.5rem!important}}@media(max-width:768px){h1,h2,h3,.woocommerce-products-header__title.page-title{font-size:2rem!important;line-height:1.3!important;word-wrap:break-word}p,.jimwal-menu li a{font-size:.9rem!important;line-height:1.5}.site-footer,.jimwal-footer{padding:3rem 1rem!important;margin-top:3rem!important;display:block!important;height:auto!important}.jimwal-footer-inner,.footer-widgets{display:flex!important;flex-direction:column!important;gap:2rem!important;text-align:center!important}#jimwal-main-content{padding-left:1rem!important;padding-right:1rem!important;overflow-x:hidden!important}.elementor-section{padding-top:3rem!important;padding-bottom:3rem!important}}.jimwal-contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4rem;max-width:1400px;margin:4rem auto;padding:0 2rem;align-items:stretch}.jimwal-contact-form-side{background:rgba(5,5,5,.5);padding:3rem;border:1px solid rgba(212,175,55,.15)}.contact-title{font-family:var(--font-serif);color:var(--color-gold);font-size:2.5rem;margin-bottom:.5rem;font-weight:400}.contact-subtitle{color:var(--color-ivory);font-size:.9rem;opacity:.8;margin-bottom:2rem}.jimwal-form .form-group{margin-bottom:1.5rem}.jimwal-form input,.jimwal-form textarea{width:100%;background:0 0;border:0;border-bottom:1px solid rgba(249,246,240,.3);color:var(--color-ivory);padding:1rem 0;font-family:var(--font-sans);font-size:1rem;transition:all .3s ease}.jimwal-form input:focus,.jimwal-form textarea:focus{outline:0;border-bottom-color:var(--color-gold)}.jimwal-form input::placeholder,.jimwal-form textarea::placeholder{color:rgba(249,246,240,.5);text-transform:uppercase;font-size:.8rem;letter-spacing:1px}.jimwal-btn-gold{display:inline-block;width:100%;background:var(--color-gold);color:var(--color-black);border:1px solid var(--color-gold);padding:1rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .3s ease;margin-top:1rem}.jimwal-btn-gold:hover{background:0 0;color:var(--color-gold)}.jimwal-contact-map-side{min-height:500px;box-shadow:0 10px 30px rgba(0,0,0,.8)}.form-success{color:#4CAF50;border:1px solid #4CAF50;padding:1rem;margin-bottom:1.5rem}.form-error{color:#f44336;border:1px solid #f44336;padding:1rem;margin-bottom:1.5rem}@media(max-width:991px){.jimwal-contact-wrapper{grid-template-columns:1fr;gap:2rem}.jimwal-contact-map-side{min-height:400px}}@media(max-width:480px){h1,.woocommerce-products-header__title.page-title{font-size:1.75rem!important}}@media(max-width:1024px){.jimwal-scent-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}@media(max-width:768px){.jimwal-scent-grid{display:grid!important;grid-template-columns:1fr!important;gap:3rem!important;height:auto!important;overflow:visible!important}.jimwal-product-card{width:100%!important;margin:0!important;display:block}.elementor-widget-jimwal_scent_grid .elementor-widget-container{height:auto!important;overflow:hidden}}.jimwal-full-width{width:100vw!important;position:relative!important;left:50%!important;right:50%!important;margin-left:-50vw!important;margin-right:-50vw!important;max-width:100vw!important}.jimwal-full-width.jimwal-copyright-bar{padding-left:6%!important;padding-right:6%!important;box-sizing:border-box!important;background:#000;border-top:1px solid rgba(212,175,55,.2)}@media(min-width:1600px){.jimwal-full-width.jimwal-copyright-bar{padding-left:8%!important;padding-right:8%!important}}

/* JIMWAL: 404 ERROR PAGE STYLES */

.jimwal-404-container {
    background-color: var(--color-black, #000000);
    color: var(--color-ivory, #f9f6f0);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    text-align: center;
    padding: 4rem 2rem;
}

.jimwal-404-content {
    max-width: 600px;
    margin: 0 auto;
}

.jimwal-404-content h1 {
    font-size: 6rem;
    font-weight: 700;
    margin: 0;
    color: var(--color-gold, #d4af37);
    line-height: 1;
    font-family: var(--font-serif, serif);
}

.jimwal-404-content .not-found-title {
    font-size: 2rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-ivory, #f9f6f0);
    letter-spacing: 1px;
}

.jimwal-404-content .not-found-desc {
    font-size: 1rem;
    margin-bottom: 2.5rem;
    opacity: 0.8;
    line-height: 1.6;
}

.jimwal-404-actions {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    flex-wrap: wrap;
}

.jimwal-404-actions a {
    padding: 0.8rem 2.5rem;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    letter-spacing: 1px;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.jimwal-404-actions .btn-gold {
    background-color: var(--color-gold, #d4af37);
    color: #000000;
    border: 1px solid var(--color-gold, #d4af37);
}

.jimwal-404-actions .btn-gold:hover {
    background-color: transparent;
    color: var(--color-gold, #d4af37);
}

.jimwal-404-actions .btn-gold-outline {
    background-color: transparent;
    color: var(--color-gold, #d4af37);
    border: 1px solid var(--color-gold, #d4af37);
}

.jimwal-404-actions .btn-gold-outline:hover {
    background-color: var(--color-gold, #d4af37);
    color: #000000;
}

/* ==========================================================================
   JIMWAL: USER DROPDOWN MENU
   ========================================================================== */
.jimwal-user-dropdown-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.jimwal-user-dropdown {
    position: absolute;
    top: calc(100% + 15px); /* Positioned slightly below the icon */
    right: -10px; /* Aligns smoothly under the icon */
    background-color: var(--color-black, #050505);
    border: 1px solid var(--color-gold, #d4af37);
    min-width: 220px;
    z-index: 9999;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8);
    border-radius: 2px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
}

/* Invisible bridge so the menu doesn't close when the mouse leaves the icon to go down */
.jimwal-user-dropdown-wrapper::after {
    content: '';
    position: absolute;
    top: 100%;
    left: -20px;
    right: -20px;
    height: 20px;
}

/* Show the menu on hover */
.jimwal-user-dropdown-wrapper:hover .jimwal-user-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Individual Dropdown Links */
.jimwal-user-dropdown a {
    display: block;
    padding: 14px 24px;
    color: var(--color-ivory, #f9f6f0);
    text-decoration: none;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: 'Inter', sans-serif;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(212, 175, 55, 0.1);
    text-align: left;
}

.jimwal-user-dropdown a:hover {
    background-color: rgba(212, 175, 55, 0.08);
    color: var(--color-gold, #d4af37);
    padding-left: 28px; /* Slight slide-right effect on hover */
}

/* Special styling for the Logout button */
.jimwal-user-dropdown a.jimwal-logout-link {
    color: var(--color-gold, #d4af37);
    border-top: 1px solid rgba(212, 175, 55, 0.3);
    border-bottom: none;
}

.jimwal-user-dropdown a.jimwal-logout-link:hover {
    background-color: transparent;
    color: #fff;
}

/* ==========================================================================
   JIMWAL VIP PORTAL: FLOATING TOAST NOTIFICATIONS (FIXED)
   ========================================================================== */

/* 1. The Floating Bubble (Hidden by Default) */
.mc4wp-response {
    position: fixed !important;
    bottom: 40px !important;
    right: 40px !important;
    background: #050505 !important;
    border: 1px solid var(--color-gold, #d4af37) !important;
    color: var(--color-ivory, #f9f6f0) !important;
    padding: 18px 25px !important;
    border-radius: 4px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.9), 0 0 15px rgba(212, 175, 55, 0.1) !important;
    z-index: 99999 !important; 
    font-family: 'Inter', sans-serif !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    pointer-events: none; 
    
    /* NEW: Start completely hidden */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
    transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s !important;
}

/* 2. Failsafe: If the div is literally empty, remove it entirely */
.mc4wp-response:empty {
    display: none !important;
    padding: 0 !important;
    border: none !important;
}

/* 3. Reveal ONLY when Mailchimp fires a Success or Error */
.mc4wp-response.mc4wp-success,
.mc4wp-response.mc4wp-error {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Colors */
.mc4wp-response.mc4wp-success {
    border-left: 4px solid var(--color-gold, #d4af37) !important;
}

.mc4wp-response.mc4wp-error {
    border-color: #990000 !important;
    border-left: 4px solid #ff3333 !important;
}

/* 4. The Fade Out Class (Triggered by our JS) */
.mc4wp-response.jimwal-toast-fade {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(20px) !important;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .mc4wp-response {
        right: 20px !important;
        left: 20px !important;
        bottom: 20px !important;
        text-align: center !important;
    }
}

/* ==========================================================================
   JIMWAL: DROPDOWN PERSONALIZATION & CARET ANIMATION
   ========================================================================== */

/* Flip the caret arrow upside down when hovering */
.jimwal-user-dropdown-wrapper:hover .jimwal-caret {
    transform: rotate(180deg);
    stroke: var(--color-gold, #d4af37);
}

/* The beautiful greeting box inside the top of the dropdown */
.jimwal-dropdown-user-header {
    padding: 16px 24px;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2);
    margin-bottom: 5px;
    text-align: left;
    background: linear-gradient(180deg, rgba(212, 175, 55, 0.05) 0%, transparent 100%);
}

.jimwal-dropdown-user-header .greeting {
    display: block;
    font-size: 0.7rem;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 4px;
}

.jimwal-dropdown-user-header .name {
    display: block;
    color: var(--color-gold, #d4af37);
    font-size: 1.1rem;
    font-family: var(--font-serif, serif);
    letter-spacing: 1px;
}

/* Mobile Tweak: Ensure the dropdown aligns nicely if opened on a phone */
@media (max-width: 991px) {
    .jimwal-user-dropdown {
        right: -40px; /* Shifts the dropdown slightly left so it doesn't bleed off the phone screen */
    }
}