.elementor-8255 .elementor-element.elementor-element-4c0d954{--display:flex;--min-height:500px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.6;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:99999;}.elementor-8255 .elementor-element.elementor-element-4c0d954:not(.elementor-motion-effects-element-type-background), .elementor-8255 .elementor-element.elementor-element-4c0d954 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;background-image:url("https://stoneplanet.com.au/wp-content/uploads/2026/07/Ledge-stone.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-8255 .elementor-element.elementor-element-4c0d954::before, .elementor-8255 .elementor-element.elementor-element-4c0d954 > .elementor-background-video-container::before, .elementor-8255 .elementor-element.elementor-element-4c0d954 > .e-con-inner > .elementor-background-video-container::before, .elementor-8255 .elementor-element.elementor-element-4c0d954 > .elementor-background-slideshow::before, .elementor-8255 .elementor-element.elementor-element-4c0d954 > .e-con-inner > .elementor-background-slideshow::before, .elementor-8255 .elementor-element.elementor-element-4c0d954 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-d9b14a9 );--background-overlay:'';}.elementor-8255 .elementor-element.elementor-element-23532f2{width:100%;max-width:100%;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-layout-box{max-height:600px;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-overlay{opacity:0.5;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn{top:5px;right:5px;width:36px;height:36px;color:var( --e-global-color-be13655 );background-color:var( --e-global-color-primary );border-radius:50% 50% 50% 50%;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn::before, .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn::after{width:20px;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn:hover{color:#ffffff;background-color:#000000;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-layout-content{text-align:left;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-title{color:#111111;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-subtitle{color:var( --e-global-color-primary );}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-desc, .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-desc p{color:var( --e-global-color-primary );}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap textarea, .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap select{background-color:var( --e-global-color-text );border-color:rgba(0,0,0,0.1) !important;color:var( --e-global-color-primary );border-radius:16px 16px 16px 16px !important;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap input[type="submit"], .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap button[type="submit"]{color:var( --e-global-color-primary );background-color:var( --e-global-color-text );border-radius:16px 16px 16px 16px !important;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap input[type="submit"]:hover, .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-form-wrap button[type="submit"]:hover{color:#ffffff !important;background-color:#333333 !important;}#elementor-popup-modal-8255 .dialog-widget-content{animation-duration:1s;background-color:#FFFFFF00;margin:0px 0px 0px 0px;}#elementor-popup-modal-8255{background-color:rgba(255, 255, 255, 0.7);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-8255 .dialog-message{width:950px;height:525px;align-items:flex-end;padding:0% 3% 0% 3%;}@media(max-width:1024px){.elementor-8255 .elementor-element.elementor-element-4c0d954{--margin-top:100px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn{top:56px;right:10px;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn::before, .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn::after{width:20px;}#elementor-popup-modal-8255 .dialog-message{width:100vw;height:58vh;padding:5% 5% 5% 5%;}}@media(max-width:767px){.elementor-8255 .elementor-element.elementor-element-4c0d954{--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn{top:4px;}.elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn::before, .elementor-8255 .elementor-element.elementor-element-23532f2 .ts-popup-close-btn::after{width:20px;}#elementor-popup-modal-8255 .dialog-message{width:100vw;height:94vh;padding:3% 3% 3% 3%;}#elementor-popup-modal-8255{justify-content:center;align-items:center;}#elementor-popup-modal-8255 .dialog-widget-content{margin:0% 0% 0% 0%;}}/* Start custom CSS for ts-popup-content-widget, class: .elementor-element-23532f2 *//* ============================================
   HARDCORE RESET - Overrides ALL theme CSS
   Forces compact popup layout (max 600px)
   ============================================ */

/* --- Reset everything inside the wrapper --- */
.compact-form-wrapper,
.compact-form-wrapper *,
.compact-form-wrapper *::before,
.compact-form-wrapper *::after {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* --- Force rows to stack properly --- */
.compact-form-wrapper .form-row {
    display: block !important;
    width: 100% !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    clear: both !important;
}

/* --- Two-column grid (forced) --- */
.compact-form-wrapper .form-row.two-col {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-bottom: 8px !important;
}

/* --- Form groups --- */
.compact-form-wrapper .form-group {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- LABELS: Force them ABOVE the input --- */
.compact-form-wrapper label {
    display: block !important;
    width: 100% !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    margin-bottom: 2px !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    background: transparent !important;
    border: none !important;
}

/* --- Required asterisk --- */
.compact-form-wrapper .required-asterisk {
    color: #dc2626 !important;
    margin-left: 2px !important;
}

/* --- INPUTS, TEXTAREA, SELECT: Force uniform compact style --- */
.compact-form-wrapper .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
    display: block !important;
    width: 100% !important;
    height: 34px !important;
    padding: 4px 10px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    /*color: #0f172a !important;*/
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    outline: none !important;
    line-height: 1.4 !important;
    transition: border 0.2s !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* --- Textarea specific --- */
.compact-form-wrapper .wpcf7-form-control.wpcf7-textarea {
    height: 56px !important;
    min-height: 44px !important;
    resize: vertical !important;
    padding: 6px 10px !important;
}

/* --- Focus states --- */

/* --- Placeholder --- */
.compact-form-wrapper .wpcf7-form-control::placeholder {

    font-size: 12px !important;
    opacity: 1 !important;
}

/* --- CONSENT & CERTIFICATION (Checkboxes) --- */
.compact-form-wrapper .consent-row,
.compact-form-wrapper .certification-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    padding: 2px 0 !important;
}

/* Force CF7's acceptance wrapper to flex */
.compact-form-wrapper .wpcf7-acceptance {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

/* The actual checkbox */
.compact-form-wrapper .wpcf7-acceptance input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    accent-color: #2563eb !important;
    border: 1px solid #cbd5e1 !important;
    background: #fff !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    appearance: auto !important;
}

/* The label text next to checkbox */
.compact-form-wrapper .wpcf7-acceptance .wpcf7-list-item-label {
    font-size: 12px !important;
    font-weight: 400 !important;
    /*color: #334155 !important;*/
    line-height: 1.5 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    display: inline !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- SUBMIT BUTTON --- */
.compact-form-wrapper .wpcf7-submit {
    display: block !important;
    width: 100% !important;
    height: 40px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    /*background: #2563eb !important;*/
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-shadow: none !important;
    transition: background 0.25s !important;
    margin: 4px 0 0 0 !important;
    line-height: 1 !important;
}

.compact-form-wrapper .wpcf7-submit:hover {
    background: #1d4ed8 !important;
}

/* --- ERROR / VALIDATION STATES --- */
.compact-form-wrapper .wpcf7-not-valid {
    border-color: #dc2626 !important;
    background: #fef2f2 !important;
}

.compact-form-wrapper .wpcf7-not-valid-tip {
    display: block !important;
    color: #dc2626 !important;
    font-size: 11px !important;
    margin-top: 2px !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
}

.compact-form-wrapper .wpcf7-response-output {
    margin: 8px 0 0 0 !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    font-size: 13px !important;
    border: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
}

/* --- Spinner (in case it shows) --- */
.compact-form-wrapper .wpcf7-spinner {
    margin-left: 8px !important;
    vertical-align: middle !important;
}


/* ============================================
   RESPONSIVE - MOBILE FIRST BREAKPOINTS
   ============================================ */

/* Tablets & small laptops (collapse grid) */
@media (max-width: 550px) {
    .compact-form-wrapper .form-row.two-col {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .compact-form-wrapper .form-row {
        margin-bottom: 6px !important;
    }

    .compact-form-wrapper label {
        font-size: 10px !important;
    }

    .compact-form-wrapper .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
        height: 32px !important;
        font-size: 12px !important;
        padding: 3px 8px !important;
    }

    .compact-form-wrapper .wpcf7-form-control.wpcf7-textarea {
        height: 48px !important;
        min-height: 38px !important;
        font-size: 12px !important;
        padding: 5px 8px !important;
    }

    .compact-form-wrapper .wpcf7-submit {
        height: 38px !important;
        font-size: 13px !important;
    }

    .compact-form-wrapper .wpcf7-acceptance .wpcf7-list-item-label {
        font-size: 11px !important;
    }
}

/* Very small phones */
@media (max-width: 380px) {
    .compact-form-wrapper {
        padding: 2px 0 !important;
    }

    .compact-form-wrapper .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
        height: 30px !important;
        font-size: 11px !important;
        padding: 2px 6px !important;
    }

    .compact-form-wrapper .wpcf7-form-control.wpcf7-textarea {
        height: 40px !important;
        min-height: 32px !important;
        font-size: 11px !important;
        padding: 4px 6px !important;
    }

    .compact-form-wrapper .wpcf7-submit {
        height: 36px !important;
        font-size: 12px !important;
    }

    .compact-form-wrapper label {
        font-size: 9px !important;
    }

    .compact-form-wrapper .wpcf7-acceptance .wpcf7-list-item-label {
        font-size: 10px !important;
    }
}
.woocommerce form .form-row::after, .woocommerce form .form-row::before, .woocommerce-page form .form-row::after, .woocommerce-page form .form-row::before {
    content: unset !important;
}
.ts-form-wrap .cf7-consent, .ts-form-wrap .wpforms-field-checkbox label {
    color:#000 !important;
}/* End custom CSS */