.elementor-kit-12{--e-global-color-primary:#111111;--e-global-color-secondary:#2F6494;--e-global-color-text:#1A1A1A;--e-global-color-accent:#C5A059;--e-global-color-611532b:#333333;--e-global-color-2da9d55:#F4F5F7;--e-global-color-4cc13e9:#FFFFFF;--e-global-color-16cb061:#E2E4E8;--e-global-color-33a3fa7:#2E7D32;--e-global-color-f767ebb:#8C6D1F;--e-global-color-f30a397:#F0F4F8;--e-global-color-3d628ba:#FAFAFA;--e-global-color-77f6e88:#CCCCCC;--e-global-color-467dae3:#1E405F;--e-global-color-3c908fe:#0C903E;--e-global-color-d4d6705:#07722F;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:0em;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.42em;--e-global-typography-accent-letter-spacing:0.02em;--e-global-typography-3aefcf7-font-family:"Plus Jakarta Sans";--e-global-typography-3aefcf7-font-weight:600;--e-global-typography-3aefcf7-text-transform:none;--e-global-typography-3aefcf7-line-height:1.5em;--e-global-typography-4c3d721-font-family:"Plus Jakarta Sans";--e-global-typography-4c3d721-font-weight:700;--e-global-typography-4c3d721-line-height:1.2em;--e-global-typography-90d5549-font-family:"Plus Jakarta Sans";--e-global-typography-90d5549-font-weight:700;--e-global-typography-90d5549-line-height:1.33em;--e-global-typography-4d222f7-font-family:"Plus Jakarta Sans";--e-global-typography-4d222f7-font-weight:600;--e-global-typography-4d222f7-line-height:1.4em;--e-global-typography-bf2c4b9-font-family:"Plus Jakarta Sans";--e-global-typography-bf2c4b9-font-weight:600;--e-global-typography-bf2c4b9-line-height:1.5em;--e-global-typography-23489a7-font-family:"Plus Jakarta Sans";--e-global-typography-23489a7-font-weight:700;--e-global-typography-23489a7-line-height:1.5em;--e-global-typography-23489a7-letter-spacing:0.05em;--e-global-typography-2dde319-font-size:0.875rem;background-color:#FAFAFA;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:75rem;}.e-con{--container-max-width:75rem;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}.elementor-widget:not(:last-child){--kit-widget-spacing:2rem;}.elementor-element{--widgets-spacing:2rem 2rem;--widgets-spacing-row:2rem;--widgets-spacing-column:2rem;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{--lightbox-ui-color:var( --e-global-color-accent );--lightbox-ui-color-hover:var( --e-global-color-accent );--lightbox-text-color:var( --e-global-color-4cc13e9 );}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}}@media(max-width:767px){.elementor-kit-12{--e-global-typography-primary-font-size:clamp(2.5rem, 2.15rem + 1.5vw, 4rem);--e-global-typography-primary-line-height:1.1em;--e-global-typography-text-font-size:clamp(1rem, 0.97rem + 0.13vw, 1.125rem);--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-size:clamp(0.875rem, 0.85rem + 0.13vw, 1rem);--e-global-typography-accent-line-height:1em;--e-global-typography-4c3d721-font-size:clamp(2rem, 1.77rem + 1vw, 3rem);--e-global-typography-4c3d721-line-height:1.2em;--e-global-typography-90d5549-font-size:clamp(1.5rem, 1.38rem + 0.5vw, 2rem);--e-global-typography-90d5549-line-height:1.3em;--e-global-typography-4d222f7-font-size:clamp(1.25rem, 1.16rem + 0.25vw, 1.5rem);--e-global-typography-4d222f7-line-height:1.4em;--e-global-typography-bf2c4b9-font-size:clamp(1.125rem, 1.08rem + 0.13vw, 1.25rem);--e-global-typography-bf2c4b9-line-height:1.4em;--e-global-typography-23489a7-font-size:clamp(0.875rem, 0.82rem + 0.13vw, 1rem);--e-global-typography-23489a7-line-height:1.5em;}.elementor-kit-12 button,.elementor-kit-12 input[type="button"],.elementor-kit-12 input[type="submit"],.elementor-kit-12 .elementor-button{padding:1.5rem 2rem 1.5rem 2rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}}/* Start custom CSS *//* =========================================
   1. VIPER VIDEO - MASTER FIX
   ========================================= */

/* --- DESKTOP STYLES --- */
.vip-video-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* Force 16:9 */
    border: 2px solid #E2E4E8; 
    border-radius: 1rem;       
    overflow: hidden; 
    background: #000;
    transition: border-color 0.3s ease;
}

/* Shared Positioning */
.vip-video-player, 
.vip-overlay-image {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Video Zoom (3% for side bars) */
.vip-video-player {
    transform: translate(-50%, -50%) scale(1.03);
}

/* Image Zoom (10% for top/bottom bars) */
.vip-overlay-image {
    transform: translate(-50%, -50%) scale(1.10);
    z-index: 1; 
}

/* Overlay Wrapper */
.vip-video-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 5; 
    cursor: pointer;
    transition: opacity 0.8s ease-in-out;
    opacity: 1;
    background: #000; 
}

/* THE BUTTON */
.vip-custom-play-btn {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 80px; height: 80px;
    z-index: 10; 
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* Hover Effects */
.vip-video-overlay:hover .vip-custom-play-btn {
    transform: translate(-50%, -50%) scale(1.1);
}
.vip-video-container:hover {
    border-color: #C5A059; 
}

/* --- TABLET (Max 1024px) --- */
@media (max-width: 1024px) {
    .vip-custom-play-btn { width: 70px; height: 70px; }
}

/* --- MOBILE (Max 767px) --- */
@media (max-width: 767px) {
    .vip-video-container { border-radius: 0.75rem; }
    .vip-custom-play-btn { width: 55px; height: 55px; }
    .vip-video-overlay:hover .vip-custom-play-btn { transform: translate(-50%, -50%); }
}


/* =========================================
   2. LIGHTBOX - SCOPED TO IMAGE GALLERY ONLY
   ========================================= */

/* Kill Default Ghosts */
.elementor-lightbox .elementor-lightbox-button svg, 
.elementor-lightbox .elementor-lightbox-button i,
.elementor-lightbox .dialog-lightbox-close-button svg,
.elementor-lightbox .dialog-lightbox-close-button i {
    display: none !important;
}

/* Gold Ring Buttons */
.elementor-lightbox .elementor-lightbox-button,
.elementor-lightbox .dialog-lightbox-close-button {
    font-size: 0 !important; 
    background-color: transparent !important;
    border: 0.125rem solid #C5A059 !important; /* 2px */
    width: 3.2rem !important;  
    height: 3.2rem !important; 
    border-radius: 50% !important;
    display: flex !important;
    align-items: center; justify-content: center;
    opacity: 1 !important;
    z-index: 99999 !important;
    transition: all 0.3s ease !important;
}

.elementor-lightbox .elementor-lightbox-button:hover,
.elementor-lightbox .dialog-lightbox-close-button:hover {
    background-color: #C5A059 !important;
}

/* SVG Replacements (Arrows & Close) */
.elementor-lightbox .elementor-lightbox-button--prev::before {
    content: ""; display: block; width: 1.25rem; height: 1.25rem; background-color: #C5A059; 
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
}
.elementor-lightbox .elementor-lightbox-button--next::before {
    content: ""; display: block; width: 1.25rem; height: 1.25rem; background-color: #C5A059;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
}
.elementor-lightbox .dialog-lightbox-close-button::before {
    content: ""; display: block; width: 1.25rem; height: 1.25rem; background-color: #C5A059;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") no-repeat center;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") no-repeat center;
}
.elementor-lightbox .elementor-lightbox-button:hover::before,
.elementor-lightbox .dialog-lightbox-close-button:hover::before {
    background-color: #ffffff !important;
}

/* Lightbox Image Uniformity */
.elementor-lightbox .elementor-lightbox-image {
    width: 75vw !important; height: 75vh !important;
    object-fit: cover !important; 
    border: 0.125rem solid #C5A059 !important;
    border-radius: 1rem !important; background: #000 !important;
}
@media (max-width: 767px) {
    .elementor-lightbox .elementor-lightbox-image {
        width: 90vw !important; height: 90vw !important; /* Square */
        aspect-ratio: 1 / 1 !important;
        transform: translateY(-10vh) !important; 
    }
}

/* Instruction Pill */
.elementor-lightbox:after {
    content: "Click and Drag to navigate" !important;
    position: fixed; top: 3.5rem; left: 50%; transform: translateX(-50%);
    font-family: 'Inter', sans-serif !important; font-size: 0.75rem !important;
    letter-spacing: 0.2rem !important; text-transform: uppercase !important;
    color: #ffffff !important; background-color: rgba(0, 0, 0, 0.6) !important;
    border: 0.0625rem solid #C5A059 !important; padding: 0.75rem 1.5rem !important;
    border-radius: 3rem !important; pointer-events: none; z-index: 99999999 !important;
}
@media (max-width: 1024px) {
    .elementor-lightbox:after,
    .elementor-lightbox .elementor-lightbox-button--prev,
    .elementor-lightbox .elementor-lightbox-button--next { display: none !important; }
}


/* =========================================
   3. MOBILE LOOP GRID FIX (Prevents Overflow)
   ========================================= */

@media (max-width: 767px) {
    /* Safety: Force main containers to respect screen width */
    body, html {
        overflow-x: hidden !important;
    }

    /* Force the Loop Grid Items to shrink */
    .elementor-loop-container .elementor-grid-item, 
    .e-loop-item,
    .elementor-widget-loop-grid .elementor-grid-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important; /* The Magic Fix */
        margin-right: 0 !important;
        margin-left: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure the Grid container itself doesn't force width */
    .elementor-grid {
        display: flex !important;
        flex-direction: column !important; /* Stack vertically */
        width: 100% !important;
    }
}

/* =========================================
   4. GRID SAFETY LOCK (FIXED FOR HOVER)
   ========================================= */
/* Forces cards to behave without clipping the hover effect */
.elementor-grid-item, 
.e-loop-item {
    max-width: 100% !important;
    min-width: 0 !important;       /* Prevents width explosion */
    overflow: visible !important;  /* CHANGED: Lets the shadow/hover pop out */
    box-sizing: border-box !important;
    position: relative !important; /* Prepares it for layering */
    z-index: 1;
}

/* POP ON HOVER */
/* Ensures the active card sits ON TOP of its neighbors */
.elementor-grid-item:hover, 
.e-loop-item:hover {
    z-index: 99 !important; 
}


/* =========================================
   5. UTILITIES
   ========================================= */
.hide-form-labels .elementor-field-label {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
.elementor-field-type-acceptance label a {
    color: #8C6D1F !important; text-decoration: none; font-weight: 500;
}
.elementor-field-type-acceptance label a:hover {
    opacity: 0.8; text-decoration: underline;
}
.price-val { display: inline-block; min-height: 2.5rem; min-width: 9.375rem; }
.currency-toggle { display: flex; align-items: center; min-height: 1.1rem; line-height: 1; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('https://rocksinvestments.com/wp-content/uploads/2025/12/inter-v20-latin-regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://rocksinvestments.com/wp-content/uploads/2025/12/inter-v20-latin-600.woff2') format('woff2');
}
/* End Custom Fonts CSS */