/* =========================================================
   FAIRYTALE MARQUEES
   PRODUCT DETAILS PAGE
   ========================================================= */

/* Page background / spacing */
body.com-virtuemart #sp-main-body {
    padding: 55px 0 75px;
    background: #f7f7f8;
}

body.com-virtuemart #sp-main-body > .container {
    max-width: 1280px;
}

/* Main product wrapper */
.productdetails-view.productdetails {
    padding-top: 0;
}

/* =========================================================
   TOP PRODUCT LAYOUT
   ========================================================= */

.productdetails-view.productdetails > .row {
    align-items: start;
}

/* =========================================================
   LEFT: IMAGE AREA
   ========================================================= */

.productdetails-view .vm-product-media-container {
    padding-right: 20px;
}

.productdetails-view .vm-product-media-container .main-image {
    background: #ffffff;
    border: 1px solid #e6e6ea;
    border-radius: 20px;
    padding: 22px;
    box-shadow: 0 14px 34px rgba(22, 22, 30, 0.07);
    overflow: hidden;
}

.productdetails-view .vm-product-media-container .main-image > a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 390px;
}

.productdetails-view .vm-product-media-container .main-image img {
    max-width: 100%;
    max-height: 480px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 14px;
    transition: transform 0.3s ease;
}

.productdetails-view .vm-product-media-container .main-image:hover img {
    transform: scale(1.015);
}

.productdetails-view .vm-img-desc {
    display: none;
}

/* Expand button */
.productdetails-view .vm-btn-expand {
    position: absolute;
    right: 14px;
    bottom: 14px;
    top: auto;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    color: #3c3b98;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    z-index: 3;
}

.productdetails-view .vm-btn-expand:hover {
    transform: translateY(-2px);
    background: #3c3b98;
    color: #ffffff;
}

/* Thumbnail strip */
.productdetails-view .additional-images {
    margin-top: 18px !important;
    row-gap: 14px !important;
}

.productdetails-view .additional-images .col-3 {
    display: flex;
}

.productdetails-view .additional-images a {
    width: 100%;
    display: block;
    padding: 6px;
    background: #ffffff;
    border: 1px solid #e5e5ea;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

.productdetails-view .additional-images a:hover {
    transform: translateY(-3px);
    border-color: #4b45b5;
    box-shadow: 0 14px 28px rgba(31, 27, 94, 0.14);
}

.productdetails-view .additional-images img.product-image {
    width: 100%;
    height: 92px;
    object-fit: cover;
    border-radius: 10px;
    border: none;
    box-shadow: none;
}

/* =========================================================
   RIGHT: PRODUCT INFO PANEL
   ========================================================= */

.productdetails-view .vm-product-details-container {
    background: #ffffff;
    border: 1px solid #e7e7ed;
    border-radius: 24px;
    padding: 34px 34px 30px;
    box-shadow: 0 16px 38px rgba(22, 22, 30, 0.08);
}

/* Product title */
.productdetails-view .vm-page-title {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 18px !important;
    font-size: 2.25rem;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #202124;
    position: relative;
}

.productdetails-view .vm-page-title::after {
    content: "";
    display: block;
    width: 90px;
    height: 4px;
    margin-top: 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, #4a46b8 0%, #635de0 100%);
}

/* Short description */
.productdetails-view .product-short-description {
    margin-bottom: 26px !important;
    color: #666a73 !important;
    font-size: 1.05rem;
    line-height: 1.8;
    max-width: 42ch;
}

/* Main CTA button */
.productdetails-view .vm-product-details-container .btn.btn-primary.btn-lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 56px;
    padding: 14px 24px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #4a46b8 0%, #3d399d 100%);
    color: #ffffff;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: 0 14px 28px rgba(61, 57, 157, 0.28);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}

.productdetails-view
    .vm-product-details-container
    .btn.btn-primary.btn-lg:hover,
.productdetails-view
    .vm-product-details-container
    .btn.btn-primary.btn-lg:focus {
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 18px 34px rgba(61, 57, 157, 0.34);
    filter: brightness(1.02);
}

/* Price / lower divider area */
.productdetails-view .product-price {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #ececf2;
    min-height: 70px;
}

.productdetails-view .product-price [class*="Price"],
.productdetails-view .product-price .PricesalesPrice,
.productdetails-view .product-price .price-salesprice,
.productdetails-view .product-price .sales-price,
.productdetails-view .product-price .product-price-value {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.1;
    color: #1f1f1f;
}

/* Optional trust-note feel if you later add text blocks */
.productdetails-view .addtocart-area {
    margin-top: 6px;
}

/* =========================================================
   DESCRIPTION SECTION
   ========================================================= */

.productdetails-view .product-description {
    margin-top: 40px;
    background: #ffffff;
    border: 1px solid #e7e7ed;
    border-radius: 24px;
    padding: 34px 36px;
    box-shadow: 0 16px 38px rgba(22, 22, 30, 0.06);
}

.productdetails-view .product-description .vm-section-title {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 22px !important;
    font-size: 1.65rem;
    font-weight: 700;
    color: #202124;
    position: relative;
}

.productdetails-view .product-description .vm-section-title::after {
    content: "";
    display: block;
    width: 90px;
    height: 4px;
    margin-top: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, #4a46b8 0%, #635de0 100%);
}

.productdetails-view .product-description p,
.productdetails-view .product-description li {
    color: #4f5560;
    font-size: 1.05rem;
    line-height: 1.9;
}

.productdetails-view .product-description p + p {
    margin-top: 14px;
}

.productdetails-view .product-description ul {
    margin: 18px 0 0;
    padding-left: 1.3rem;
}

.productdetails-view .product-description li {
    margin-bottom: 10px;
}

/* Back link */
.productdetails-view .back-to-category {
    margin-top: 24px;
    padding-left: 6px;
}

.productdetails-view .back-to-category .btn-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    color: #4a46b8;
    font-weight: 600;
    text-decoration: none;
}

.productdetails-view .back-to-category .btn-link:hover {
    color: #2f2c8e;
}

/* =========================================================
   DESKTOP STICKY OFFSET
   ========================================================= */

@media (min-width: 992px) {
    .productdetails-view .vm-product-media-container.sticky-lg-top {
        top: 105px;
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {
    .productdetails-view .vm-product-media-container {
        padding-right: 0;
    }

    .productdetails-view .vm-product-details-container {
        margin-top: 14px;
        padding: 26px 24px;
    }

    .productdetails-view .vm-page-title {
        font-size: 1.95rem;
    }

    .productdetails-view .product-description {
        padding: 28px 24px;
    }
}

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

@media (max-width: 767.98px) {
    body.com-virtuemart #sp-main-body {
        padding: 30px 0 50px;
    }

    .productdetails-view .vm-product-media-container .main-image {
        padding: 14px;
        border-radius: 16px;
    }

    .productdetails-view .vm-product-media-container .main-image > a {
        min-height: 260px;
    }

    .productdetails-view .vm-product-media-container .main-image img {
        max-height: 320px;
    }

    .productdetails-view .additional-images img.product-image {
        height: 72px;
    }

    .productdetails-view .vm-product-details-container {
        padding: 22px 18px;
        border-radius: 18px;
    }

    .productdetails-view .vm-page-title {
        font-size: 1.65rem;
    }

    .productdetails-view .product-short-description {
        font-size: 1rem;
        line-height: 1.7;
    }

    .productdetails-view .vm-product-details-container .btn.btn-primary.btn-lg {
        width: 100%;
        border-radius: 12px;
    }

    .productdetails-view .product-description {
        padding: 24px 18px;
        border-radius: 18px;
    }

    .productdetails-view .product-description .vm-section-title {
        font-size: 1.4rem;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   VIRTUEMART CATEGORY / SUBCATEGORY PAGE
   ========================================================= */

/* Main page background + spacing */
body.com-virtuemart #sp-main-body {
    background: #f7f7f8;
    padding: 55px 0 75px;
}

body.com-virtuemart #sp-main-body > .container {
    max-width: 1280px;
}

/* Main category wrapper */
.category-view {
    padding-top: 0;
}

/* Main title */
.category-view .vm-category-title {
    font-size: 2.6rem;
    line-height: 1.1;
    font-weight: 700 !important;
    letter-spacing: -0.02em;
    color: #202124;
    margin-bottom: 18px !important;
    position: relative;
}

.category-view .vm-category-title::after {
    content: "";
    display: block;
    width: 92px;
    height: 4px;
    margin: 16px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #4a46b8 0%, #635de0 100%);
}

/* Remove the extra <br> effect a bit */
.category-view > br {
    display: none;
}

/* Intro text */
.category-view .vm-category-description {
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 36px !important;
}

.category-view .vm-category-description p {
    margin: 0;
    color: #5f6570;
    font-size: 1.08rem;
    line-height: 1.85;
}

/* Grid spacing */
.category-view .vm-category-subcategories {
    margin-top: 10px;
}

.category-view .vm-category-subcategories > .row {
    row-gap: 28px !important;
}

/* =========================================================
   CATEGORY CARDS
   ========================================================= */

.category-view .vm-subcategory {
    display: flex;
}

.category-view .vm-subcategory > a {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #ffffff;
    border: 1px solid #e7e7ed;
    border-radius: 22px;
    padding: 14px 14px 18px;
    box-shadow: 0 14px 34px rgba(22, 22, 30, 0.06);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease;
    overflow: hidden;
    text-decoration: none;
    height: 100%;
}

.category-view .vm-subcategory > a:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(31, 27, 94, 0.14);
    border-color: #4b45b5;
}

/* Image wrapper feel */
.category-view .vm-subcategory .browseCategoryImage {
    width: 100%;
    height: 270px;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 16px !important;
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

.category-view .vm-subcategory > a:hover .browseCategoryImage {
    transform: scale(1.035);
    filter: saturate(1.03);
}

/* Title */
.category-view .vm-subcategory-title {
    margin: 0;
    padding-top: 16px !important;
    border-top: 1px solid #ececf2 !important;
    font-size: 1.12rem;
    line-height: 1.4;
    font-weight: 600 !important;
    color: #2c2f36;
    transition: color 0.25s ease;
}

.category-view .vm-subcategory > a:hover .vm-subcategory-title {
    color: #3d399d;
}

/* =========================================================
   OPTIONAL: make card heights align better
   ========================================================= */

.category-view .vm-subcategory > a {
    justify-content: flex-start;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {
    .category-view .vm-category-title {
        font-size: 2.1rem;
    }

    .category-view .vm-category-description {
        max-width: 860px;
        margin-bottom: 30px !important;
    }

    .category-view .vm-subcategory .browseCategoryImage {
        height: 240px;
    }
}

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

@media (max-width: 767.98px) {
    body.com-virtuemart #sp-main-body {
        padding: 32px 0 50px;
    }

    .category-view .vm-category-title {
        font-size: 1.8rem;
        margin-bottom: 14px !important;
    }

    .category-view .vm-category-title::after {
        margin-top: 12px;
        width: 74px;
    }

    .category-view .vm-category-description {
        margin-bottom: 24px !important;
        padding-left: 8px;
        padding-right: 8px;
    }

    .category-view .vm-category-description p {
        font-size: 1rem;
        line-height: 1.75;
    }

    .category-view .vm-category-subcategories > .row {
        row-gap: 18px !important;
    }

    .category-view .vm-subcategory > a {
        border-radius: 16px;
        padding: 10px 10px 14px;
    }

    .category-view .vm-subcategory .browseCategoryImage {
        height: 180px;
        border-radius: 12px;
        margin-bottom: 12px !important;
    }

    .category-view .vm-subcategory-title {
        font-size: 1rem;
        padding-top: 12px !important;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   CATEGORY PRODUCT GRID CARDS
   For products inside VirtueMart category pages
   ========================================================= */

/* Product grid container */
.category-view .browse-view .vm-product-grid {
    margin-top: 30px !important;
    margin-bottom: 10px !important;
    padding-left: 0;
    padding-right: 0;
}

/* Better spacing between products */
.category-view .browse-view .vm-product-grid > .row {
    row-gap: 30px !important;
}

/* Product column */
.category-view .browse-view .product {
    display: flex;
}

/* Main card */
.category-view .browse-view .product .product-container {
    width: 100%;
    background: #ffffff;
    border: 1px solid #e7e7ed;
    border-radius: 22px;
    padding: 18px 18px 20px;
    box-shadow: 0 14px 34px rgba(22, 22, 30, 0.06);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease;
    overflow: hidden;
}

.category-view .browse-view .product .product-container:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 42px rgba(31, 27, 94, 0.14);
    border-color: #4b45b5;
}

/* =========================================================
   IMAGE AREA
   ========================================================= */

.category-view .browse-view .product .vm-product-media-container {
    min-height: auto !important;
    background: #f8f8fb;
    border: 1px solid #ededf3;
    border-radius: 18px;
    padding: 14px;
    margin-bottom: 16px;
    overflow: hidden;
}

.category-view .browse-view .product .vm-product-media-container a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
}

.category-view .browse-view .product .browseProductImage {
    width: 100%;
    max-width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 14px;
    transition:
        transform 0.38s ease,
        filter 0.38s ease;
}

.category-view
    .browse-view
    .product
    .product-container:hover
    .browseProductImage {
    transform: scale(1.035);
    filter: saturate(1.03);
}

/* =========================================================
   REMOVE EMPTY RATING STRIP LOOK
   ========================================================= */

.category-view .browse-view .product .vm-product-rating-container {
    display: none !important;
}

/* =========================================================
   TITLE
   ========================================================= */

.category-view .browse-view .product .vm-product-title {
    padding-bottom: 0 !important;
    margin-bottom: 8px !important;
    border: 0;
    font-size: 1.4rem;
    line-height: 1.25;
    font-weight: 700;
}

.category-view .browse-view .product .vm-product-title a {
    color: #2a2d34;
    text-decoration: none;
    transition: color 0.25s ease;
}

.category-view
    .browse-view
    .product
    .product-container:hover
    .vm-product-title
    a {
    color: #3d399d;
}

/* =========================================================
   SHORT DESCRIPTION (FIXED SPACING)
   ========================================================= */

.category-view .browse-view .product .vm-product-s-desc {
    color: #6a707a !important;
    font-size: 1rem;
    line-height: 1.75;
    margin-top: 6px;
    margin-bottom: 16px;

    /* IMPORTANT: remove forced height causing gaps */
    min-height: unset;

    /* keep clean truncation */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-wrap: balance;

    /* makes layout feel tighter but still aligned */
    flex-grow: 1;
}

.category-view .browse-view .product .vm-product-s-desc p {
    margin: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

/* =========================================================
   PRICE AREA
   ========================================================= */

.category-view .browse-view .product .product-price {
    margin-top: auto;
    padding-top: 0;
    padding-bottom: 0 !important;
    min-height: 0;
}

/* =========================================================
   CTA BUTTON
   ========================================================= */

.category-view .browse-view .product .btn.btn-secondary.w-100 {
    margin-top: 20px !important;
    min-height: 52px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #4a46b8 0%, #3d399d 100%);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 24px rgba(61, 57, 157, 0.24);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease;
}

.category-view .browse-view .product .btn.btn-secondary.w-100:hover,
.category-view .browse-view .product .btn.btn-secondary.w-100:focus {
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(61, 57, 157, 0.32);
    filter: brightness(1.02);
}

/* =========================================================
   MAKE TITLE + TEXT AREA FEEL MORE STRUCTURED
   ========================================================= */

.category-view .browse-view .product .vm-product-title::after {
    content: "";
    display: block;
    width: 56px;
    height: 3px;
    margin: 8px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #4a46b8 0%, #635de0 100%);
    opacity: 0.85;
}

/* =========================================================
   DESKTOP POLISH
   ========================================================= */

@media (min-width: 992px) {
    .category-view .browse-view .product .product-container {
        padding: 20px 20px 22px;
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991.98px) {
    .category-view .browse-view .product .vm-product-title {
        font-size: 1.25rem;
    }

    .category-view .browse-view .product .vm-product-media-container a {
        min-height: 250px;
    }

    .category-view .browse-view .product .browseProductImage {
        height: 240px;
    }

    .category-view .browse-view .product .vm-product-s-desc {
        min-height: 78px;
    }
}

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

@media (max-width: 767.98px) {
    .category-view .browse-view .vm-product-grid {
        margin-top: 20px !important;
    }

    .category-view .browse-view .vm-product-grid > .row {
        row-gap: 18px !important;
    }

    .category-view .browse-view .product .product-container {
        border-radius: 16px;
        padding: 12px 12px 14px;
    }

    .category-view .browse-view .product .vm-product-media-container {
        border-radius: 14px;
        padding: 10px;
        margin-bottom: 12px;
    }

    .category-view .browse-view .product .vm-product-media-container a {
        min-height: 180px;
    }

    .category-view .browse-view .product .browseProductImage {
        height: 180px;
        border-radius: 10px;
    }

    .category-view .browse-view .product .vm-product-title {
        font-size: 1.05rem;
        line-height: 1.35;
        margin-bottom: 10px !important;
    }

    .category-view .browse-view .product .vm-product-title::after {
        width: 42px;
        margin-top: 10px;
    }

    .category-view .browse-view .product .vm-product-s-desc {
        font-size: 0.95rem;
        line-height: 1.6;
        min-height: 64px;
        margin-bottom: 14px;
    }

    .category-view .browse-view .product .btn.btn-secondary.w-100 {
        min-height: 46px;
        border-radius: 12px;
        font-size: 0.95rem;
        margin-top: 14px !important;
    }
}

/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 575.98px) {
    .category-view .browse-view .product.col-6 {
        width: 100%;
    }
}

/* =========================================================
   FIX MEGA MENU OVERLAPPING / CLIPPING PRODUCT PAGE
   ========================================================= */

/* Make sure the header and menu sit above all page content */
#sp-header,
#sp-header .container,
#sp-header .container-inner,
#sp-header .row,
#sp-header .sp-column,
#sp-menu,
#sp-menu .sp-column,
.sp-megamenu-wrapper {
    overflow: visible !important;
    z-index: 99999 !important;
}

/* Force dropdown above product cards */
.sp-megamenu-parent,
.sp-megamenu-parent > li,
.sp-megamenu-parent .sp-dropdown {
    z-index: 999999 !important;
}

/* Make the dropdown start from the bottom of the nav, not over it */
.sp-megamenu-parent .sp-dropdown.sp-dropdown-main {
    top: 100% !important;
}

/* Give dropdown a clean panel look */
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18) !important;
}

/* Push product detail content down slightly below purple page title */
body.com-virtuemart .productdetails-view.productdetails {
    margin-top: 45px !important;
}
/* =========================================================
   FAIRYTALE MARQUEES
   HOME MIDDLE TEXT SECTION ONLY
   Section: #section-id-1674476663364
   ========================================================= */

#section-id-1674476663364 {
    position: relative;
    overflow: hidden;
    padding: clamp(58px, 7vw, 100px) 0 !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* Full section overlay - keeps the background readable without hiding it too much */
#section-id-1674476663364::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 62% 44%,
            rgba(255, 255, 255, 0.07) 0%,
            rgba(255, 255, 255, 0.02) 28%,
            rgba(7, 12, 20, 0.32) 56%,
            rgba(7, 12, 20, 0.76) 100%
        ),
        linear-gradient(
            90deg,
            rgba(7, 12, 20, 0.82) 0%,
            rgba(7, 12, 20, 0.62) 46%,
            rgba(7, 12, 20, 0.42) 76%,
            rgba(7, 12, 20, 0.34) 100%
        );
}

/* Keep SPPB overlay behind the custom styling */
#section-id-1674476663364 .sppb-row-overlay {
    z-index: 0 !important;
}

/* Keep all section content above overlay */
#section-id-1674476663364 .sppb-row-container,
#section-id-1674476663364 .sppb-row,
#section-id-1674476663364 .sppb-column,
#section-id-1674476663364 .sppb-column-addons,
#section-id-1674476663364 .sppb-addon-wrapper,
#section-id-1674476663364 .sppb-addon,
#section-id-1674476663364 .sppb-addon-content {
    position: relative;
    z-index: 2;
}

/* Match the main website content width */
#section-id-1674476663364 .sppb-row-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Main glass card */
#section-id-1674476663364 .sppb-column-addons {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(38px, 4.6vw, 66px);
    border-radius: 26px;
    overflow: hidden;

    background: linear-gradient(
        135deg,
        rgba(9, 15, 25, 0.78) 0%,
        rgba(16, 23, 34, 0.66) 46%,
        rgba(9, 15, 25, 0.58) 100%
    );

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-top-color: rgba(242, 215, 138, 0.34);

    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.42),
        0 8px 28px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 90px rgba(255, 255, 255, 0.035);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* Soft premium highlight inside the card */
#section-id-1674476663364 .sppb-column-addons::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 78% 16%,
            rgba(242, 215, 138, 0.08) 0%,
            rgba(242, 215, 138, 0.035) 24%,
            transparent 54%
        ),
        radial-gradient(
            circle at 16% 88%,
            rgba(255, 255, 255, 0.06) 0%,
            transparent 46%
        );
}

/* Gold accent line at the top of the card */
#section-id-1674476663364 .sppb-column-addons::before {
    content: "";
    position: absolute;
    top: 0;
    left: clamp(38px, 4.6vw, 66px);
    width: 125px;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #b8923f, #f2d78a, #ffffff);
    box-shadow:
        0 0 18px rgba(242, 215, 138, 0.44),
        0 0 34px rgba(242, 215, 138, 0.22);
}

/* Main heading - reduced slightly so it feels less cramped */
#section-id-1674476663364 h1 {
    color: #ffffff !important;
    font-size: clamp(36px, 3.45vw, 52px) !important;
    line-height: 1.09 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 0 24px !important;
    max-width: 1010px;
    text-shadow:
        0 4px 16px rgba(0, 0, 0, 0.54),
        0 14px 38px rgba(0, 0, 0, 0.36);
}

/* Gold underline below heading */
#section-id-1674476663364 h1::after {
    content: "";
    display: block;
    width: 96px;
    height: 4px;
    margin-top: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #b8923f, #f2d78a, #ffffff);
    box-shadow:
        0 0 16px rgba(242, 215, 138, 0.42),
        0 0 28px rgba(242, 215, 138, 0.18);
}

/* Intro subheading */
#section-id-1674476663364 h3 {
    color: #ffffff !important;
    font-size: clamp(22px, 1.75vw, 28px) !important;
    line-height: 1.42 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 30px !important;
    max-width: 965px;
    text-shadow:
        0 3px 16px rgba(0, 0, 0, 0.5),
        0 10px 30px rgba(0, 0, 0, 0.32);
}

/* Main paragraph */
#section-id-1674476663364 p {
    color: rgba(255, 255, 255, 0.93) !important;
    font-size: clamp(16px, 1.08vw, 18px) !important;
    line-height: 1.78 !important;
    font-weight: 400 !important;
    max-width: 965px;
    margin: 0 0 26px !important;
    text-shadow: 0 3px 14px rgba(0, 0, 0, 0.46);
}

/* Bottom h4 section */
#section-id-1674476663364 h4 {
    color: rgba(255, 255, 255, 0.96) !important;
    font-size: clamp(17px, 1.2vw, 20px) !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
    max-width: 965px;
    margin: 34px 0 0 !important;
    padding-top: 30px;
    border-top: 1px solid rgba(242, 215, 138, 0.26);
    text-shadow: 0 3px 14px rgba(0, 0, 0, 0.46);
}

/* Links inside this section only */
#section-id-1674476663364 a {
    color: #f2d78a !important;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
    text-decoration-color: rgba(242, 215, 138, 0.72);
    transition:
        color 0.25s ease,
        text-decoration-color 0.25s ease,
        text-shadow 0.25s ease;
}

#section-id-1674476663364 a:hover,
#section-id-1674476663364 a:focus {
    color: #ffffff !important;
    text-decoration-color: #ffffff;
    text-shadow: 0 0 16px rgba(242, 215, 138, 0.45);
}

/* Tidy spacing between addons */
#section-id-1674476663364 .sppb-addon-wrapper {
    margin-bottom: 0 !important;
}

#section-id-1674476663364 #sppb-addon-wrapper-1641283005622 {
    margin-bottom: 0 !important;
}

#section-id-1674476663364 #sppb-addon-wrapper-1674475802937 {
    margin-bottom: 20px !important;
}

#section-id-1674476663364 #sppb-addon-wrapper-1674475802908 {
    margin-bottom: 0 !important;
}

/* Tablet */
@media (max-width: 991px) {
    #section-id-1674476663364 {
        padding: 56px 0 !important;
    }

    #section-id-1674476663364 .sppb-row-container {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    #section-id-1674476663364 .sppb-column-addons {
        padding: 36px 30px;
        border-radius: 22px;
    }

    #section-id-1674476663364 .sppb-column-addons::before {
        left: 30px;
    }

    #section-id-1674476663364 h1 {
        font-size: 39px !important;
        line-height: 1.1 !important;
        max-width: 900px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #section-id-1674476663364 {
        padding: 44px 0 !important;
        background-position: center center !important;
    }

    #section-id-1674476663364::before {
        background: linear-gradient(
            180deg,
            rgba(7, 12, 20, 0.78) 0%,
            rgba(7, 12, 20, 0.72) 46%,
            rgba(7, 12, 20, 0.84) 100%
        );
    }

    #section-id-1674476663364 .sppb-row-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    #section-id-1674476663364 .sppb-column-addons {
        padding: 30px 22px;
        border-radius: 18px;
        background: linear-gradient(
            135deg,
            rgba(9, 15, 25, 0.8) 0%,
            rgba(16, 23, 34, 0.7) 52%,
            rgba(9, 15, 25, 0.66) 100%
        );
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
    }

    #section-id-1674476663364 .sppb-column-addons::before {
        left: 22px;
        width: 90px;
        height: 3px;
    }

    #section-id-1674476663364 h1 {
        font-size: 31px !important;
        line-height: 1.13 !important;
        letter-spacing: -0.035em !important;
        margin-bottom: 20px !important;
        max-width: 100%;
    }

    #section-id-1674476663364 h1::after {
        width: 72px;
        height: 3px;
        margin-top: 20px;
    }

    #section-id-1674476663364 h3 {
        font-size: 20px !important;
        line-height: 1.45 !important;
        margin-bottom: 22px !important;
    }

    #section-id-1674476663364 p {
        font-size: 16px !important;
        line-height: 1.72 !important;
        margin-bottom: 24px !important;
    }

    #section-id-1674476663364 h4 {
        font-size: 16px !important;
        line-height: 1.62 !important;
        padding-top: 24px;
        margin-top: 28px !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    #section-id-1674476663364 {
        padding: 38px 0 !important;
    }

    #section-id-1674476663364 .sppb-row-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #section-id-1674476663364 .sppb-column-addons {
        padding: 28px 18px;
        border-radius: 16px;
    }

    #section-id-1674476663364 .sppb-column-addons::before {
        left: 18px;
    }

    #section-id-1674476663364 h1 {
        font-size: 28px !important;
    }

    #section-id-1674476663364 h3 {
        font-size: 19px !important;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   HOME MIDDLE TEXT SECTION ONLY
   Section: #section-id-1674476663364
   ========================================================= */

#section-id-1674476663364 {
    position: relative;
    overflow: hidden;
    padding: clamp(58px, 7vw, 100px) 0 !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* Full section overlay - keeps the background readable without hiding it too much */
#section-id-1674476663364::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 62% 44%,
            rgba(255, 255, 255, 0.07) 0%,
            rgba(255, 255, 255, 0.02) 28%,
            rgba(7, 12, 20, 0.32) 56%,
            rgba(7, 12, 20, 0.76) 100%
        ),
        linear-gradient(
            90deg,
            rgba(7, 12, 20, 0.82) 0%,
            rgba(7, 12, 20, 0.62) 46%,
            rgba(7, 12, 20, 0.42) 76%,
            rgba(7, 12, 20, 0.34) 100%
        );
}

/* Keep SPPB overlay behind the custom styling */
#section-id-1674476663364 .sppb-row-overlay {
    z-index: 0 !important;
}

/* Keep all section content above overlay */
#section-id-1674476663364 .sppb-row-container,
#section-id-1674476663364 .sppb-row,
#section-id-1674476663364 .sppb-column,
#section-id-1674476663364 .sppb-column-addons,
#section-id-1674476663364 .sppb-addon-wrapper,
#section-id-1674476663364 .sppb-addon,
#section-id-1674476663364 .sppb-addon-content {
    position: relative;
    z-index: 2;
}

/* Match the main website content width */
#section-id-1674476663364 .sppb-row-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Main glass card */
#section-id-1674476663364 .sppb-column-addons {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: clamp(38px, 4.6vw, 66px);
    border-radius: 26px;
    overflow: hidden;

    background: linear-gradient(
        135deg,
        rgba(9, 15, 25, 0.78) 0%,
        rgba(16, 23, 34, 0.66) 46%,
        rgba(9, 15, 25, 0.58) 100%
    );

    border: 1px solid rgba(255, 255, 255, 0.16);
    border-top-color: rgba(242, 215, 138, 0.34);

    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.42),
        0 8px 28px rgba(0, 0, 0, 0.24),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 90px rgba(255, 255, 255, 0.035);

    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

/* Soft premium highlight inside the card */
#section-id-1674476663364 .sppb-column-addons::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 78% 16%,
            rgba(242, 215, 138, 0.08) 0%,
            rgba(242, 215, 138, 0.035) 24%,
            transparent 54%
        ),
        radial-gradient(
            circle at 16% 88%,
            rgba(255, 255, 255, 0.06) 0%,
            transparent 46%
        );
}

/* Gold accent line at the top of the card */
#section-id-1674476663364 .sppb-column-addons::before {
    content: "";
    position: absolute;
    top: 0;
    left: clamp(38px, 4.6vw, 66px);
    width: 125px;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #b8923f, #f2d78a, #ffffff);
    box-shadow:
        0 0 18px rgba(242, 215, 138, 0.44),
        0 0 34px rgba(242, 215, 138, 0.22);
}

/* Main heading - reduced slightly so it feels less cramped */
#section-id-1674476663364 h1 {
    color: #ffffff !important;
    font-size: clamp(36px, 3.45vw, 52px) !important;
    line-height: 1.09 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
    margin: 0 0 24px !important;
    max-width: 1010px;
    text-shadow:
        0 4px 16px rgba(0, 0, 0, 0.54),
        0 14px 38px rgba(0, 0, 0, 0.36);
}

/* Gold underline below heading */
#section-id-1674476663364 h1::after {
    content: "";
    display: block;
    width: 96px;
    height: 4px;
    margin-top: 24px;
    border-radius: 999px;
    background: linear-gradient(90deg, #b8923f, #f2d78a, #ffffff);
    box-shadow:
        0 0 16px rgba(242, 215, 138, 0.42),
        0 0 28px rgba(242, 215, 138, 0.18);
}

/* Intro subheading */
#section-id-1674476663364 h3 {
    color: #ffffff !important;
    font-size: clamp(22px, 1.75vw, 28px) !important;
    line-height: 1.42 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 30px !important;
    max-width: 965px;
    text-shadow:
        0 3px 16px rgba(0, 0, 0, 0.5),
        0 10px 30px rgba(0, 0, 0, 0.32);
}

/* Main paragraph */
#section-id-1674476663364 p {
    color: rgba(255, 255, 255, 0.93) !important;
    font-size: clamp(16px, 1.08vw, 18px) !important;
    line-height: 1.78 !important;
    font-weight: 400 !important;
    max-width: 965px;
    margin: 0 0 26px !important;
    text-shadow: 0 3px 14px rgba(0, 0, 0, 0.46);
}

/* Bottom h4 section */
#section-id-1674476663364 h4 {
    color: rgba(255, 255, 255, 0.96) !important;
    font-size: clamp(17px, 1.2vw, 20px) !important;
    line-height: 1.7 !important;
    font-weight: 600 !important;
    max-width: 965px;
    margin: 34px 0 0 !important;
    padding-top: 30px;
    border-top: 1px solid rgba(242, 215, 138, 0.26);
    text-shadow: 0 3px 14px rgba(0, 0, 0, 0.46);
}

/* Links inside this section only */
#section-id-1674476663364 a {
    color: #f2d78a !important;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 5px;
    text-decoration-color: rgba(242, 215, 138, 0.72);
    transition:
        color 0.25s ease,
        text-decoration-color 0.25s ease,
        text-shadow 0.25s ease;
}

#section-id-1674476663364 a:hover,
#section-id-1674476663364 a:focus {
    color: #ffffff !important;
    text-decoration-color: #ffffff;
    text-shadow: 0 0 16px rgba(242, 215, 138, 0.45);
}

/* Tidy spacing between addons */
#section-id-1674476663364 .sppb-addon-wrapper {
    margin-bottom: 0 !important;
}

#section-id-1674476663364 #sppb-addon-wrapper-1641283005622 {
    margin-bottom: 0 !important;
}

#section-id-1674476663364 #sppb-addon-wrapper-1674475802937 {
    margin-bottom: 20px !important;
}

#section-id-1674476663364 #sppb-addon-wrapper-1674475802908 {
    margin-bottom: 0 !important;
}

/* Tablet */
@media (max-width: 991px) {
    #section-id-1674476663364 {
        padding: 56px 0 !important;
    }

    #section-id-1674476663364 .sppb-row-container {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    #section-id-1674476663364 .sppb-column-addons {
        padding: 36px 30px;
        border-radius: 22px;
    }

    #section-id-1674476663364 .sppb-column-addons::before {
        left: 30px;
    }

    #section-id-1674476663364 h1 {
        font-size: 39px !important;
        line-height: 1.1 !important;
        max-width: 900px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    #section-id-1674476663364 {
        padding: 44px 0 !important;
        background-position: center center !important;
    }

    #section-id-1674476663364::before {
        background: linear-gradient(
            180deg,
            rgba(7, 12, 20, 0.78) 0%,
            rgba(7, 12, 20, 0.72) 46%,
            rgba(7, 12, 20, 0.84) 100%
        );
    }

    #section-id-1674476663364 .sppb-row-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    #section-id-1674476663364 .sppb-column-addons {
        padding: 30px 22px;
        border-radius: 18px;
        background: linear-gradient(
            135deg,
            rgba(9, 15, 25, 0.8) 0%,
            rgba(16, 23, 34, 0.7) 52%,
            rgba(9, 15, 25, 0.66) 100%
        );
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
    }

    #section-id-1674476663364 .sppb-column-addons::before {
        left: 22px;
        width: 90px;
        height: 3px;
    }

    #section-id-1674476663364 h1 {
        font-size: 31px !important;
        line-height: 1.13 !important;
        letter-spacing: -0.035em !important;
        margin-bottom: 20px !important;
        max-width: 100%;
    }

    #section-id-1674476663364 h1::after {
        width: 72px;
        height: 3px;
        margin-top: 20px;
    }

    #section-id-1674476663364 h3 {
        font-size: 20px !important;
        line-height: 1.45 !important;
        margin-bottom: 22px !important;
    }

    #section-id-1674476663364 p {
        font-size: 16px !important;
        line-height: 1.72 !important;
        margin-bottom: 24px !important;
    }

    #section-id-1674476663364 h4 {
        font-size: 16px !important;
        line-height: 1.62 !important;
        padding-top: 24px;
        margin-top: 28px !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    #section-id-1674476663364 {
        padding: 38px 0 !important;
    }

    #section-id-1674476663364 .sppb-row-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #section-id-1674476663364 .sppb-column-addons {
        padding: 28px 18px;
        border-radius: 16px;
    }

    #section-id-1674476663364 .sppb-column-addons::before {
        left: 18px;
    }

    #section-id-1674476663364 h1 {
        font-size: 28px !important;
    }

    #section-id-1674476663364 h3 {
        font-size: 19px !important;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   FLIP BOX / MARQUEE CATEGORY CARDS
   Light image version with readable text
   ========================================================= */

/* Main purple area spacing */
.sppb-section:has(.sppb-addon-flibox),
.sppb-section:has(.sppb-addon-flip-box),
.sppb-section:has(.sppb-flipbox-panel),
.sppb-section:has(.sppb-flip-box) {
    position: relative;
}

/* Flip box outer wrappers */
.sppb-addon-flibox,
.sppb-addon-flip-box,
.sppb-flipbox-panel,
.sppb-flip-box {
    border-radius: 22px !important;
    overflow: hidden !important;
    margin-bottom: 18px !important;
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        filter 0.35s ease !important;
}

/* Make the cards feel less flat on hover */
.sppb-addon-flibox:hover,
.sppb-addon-flip-box:hover,
.sppb-flipbox-panel:hover,
.sppb-flip-box:hover {
    transform: translateY(-5px);
    filter: saturate(1.06);
}

/* Main flip box card panels */
.sppb-flipbox-front,
.sppb-flipbox-back,
.sppb-flip-box-front,
.sppb-flip-box-back,
.sppb-addon-flibox .sppb-flipbox-front,
.sppb-addon-flibox .sppb-flipbox-back,
.sppb-addon-flip-box .sppb-flipbox-front,
.sppb-addon-flip-box .sppb-flipbox-back {
    border-radius: 22px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-top-color: rgba(242, 215, 138, 0.38) !important;
    box-shadow:
        0 22px 55px rgba(0, 0, 0, 0.26),
        0 8px 20px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}

/* Improve spacing inside the image cards */
.sppb-flipbox-front,
.sppb-flip-box-front {
    padding: 26px !important;
}

/* Back side has tighter padding so text fits */
.sppb-flipbox-back,
.sppb-flip-box-back {
    padding: 22px 20px !important;
}

/* =========================================================
   FRONT IMAGE VISIBILITY
   Lighter overlay so the image is clearer
   ========================================================= */

.sppb-flipbox-front::before,
.sppb-flip-box-front::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        135deg,
        rgba(7, 12, 20, 0.08) 0%,
        rgba(7, 12, 20, 0.2) 42%,
        rgba(7, 12, 20, 0.36) 100%
    ) !important;
}

/* Slight bottom vignette for text readability without hiding image */
.sppb-flipbox-front .sppb-flipbox-content::before,
.sppb-flip-box-front .sppb-flip-box-content::before,
.sppb-flipbox-front .flip-box-inner::before,
.sppb-flip-box-front .flip-box-inner::before {
    content: "";
    position: absolute;
    inset: auto 8% 18% 8%;
    height: 46%;
    z-index: -1;
    pointer-events: none;
    border-radius: 18px;
    background: radial-gradient(
        ellipse at center,
        rgba(7, 12, 20, 0.48) 0%,
        rgba(7, 12, 20, 0.34) 42%,
        rgba(7, 12, 20, 0) 76%
    );
    filter: blur(6px);
}

/* Stronger readable back overlay */
.sppb-flipbox-back::before,
.sppb-flip-box-back::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        145deg,
        rgba(9, 14, 27, 0.95) 0%,
        rgba(22, 28, 54, 0.94) 55%,
        rgba(54, 49, 137, 0.92) 100%
    ) !important;
}

/* Soft gold highlight */
.sppb-flipbox-front::after,
.sppb-flipbox-back::after,
.sppb-flip-box-front::after,
.sppb-flip-box-back::after {
    content: "";
    position: absolute;
    top: 0;
    left: 28px;
    width: 92px;
    height: 4px;
    z-index: 2;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #b8923f, #f2d78a, #ffffff);
    box-shadow:
        0 0 18px rgba(242, 215, 138, 0.42),
        0 0 34px rgba(242, 215, 138, 0.2);
    opacity: 0.95;
}

/* Keep inner content above overlays */
.sppb-flipbox-front .sppb-flipbox-content,
.sppb-flipbox-back .sppb-flipbox-content,
.sppb-flip-box-front .sppb-flip-box-content,
.sppb-flip-box-back .sppb-flip-box-content,
.sppb-flipbox-front .flip-box-inner,
.sppb-flipbox-back .flip-box-inner,
.sppb-flip-box-front .flip-box-inner,
.sppb-flip-box-back .flip-box-inner,
.sppb-addon-flibox .sppb-addon-content,
.sppb-addon-flip-box .sppb-addon-content {
    position: relative;
    z-index: 3;
}

/* Flip box images */
.sppb-addon-flibox img,
.sppb-addon-flip-box img,
.sppb-flipbox-panel img,
.sppb-flip-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    filter: brightness(1.08) contrast(1.05) saturate(1.08) !important;
    transition:
        transform 0.45s ease,
        filter 0.45s ease !important;
}

/* Hover image movement */
.sppb-addon-flibox:hover img,
.sppb-addon-flip-box:hover img,
.sppb-flipbox-panel:hover img,
.sppb-flip-box:hover img {
    transform: scale(1.06) !important;
    filter: brightness(1.12) contrast(1.08) saturate(1.12) !important;
}

/* =========================================================
   FRONT SIDE TITLE
   Image stays visible, text remains readable
   ========================================================= */

.sppb-flipbox-front h1,
.sppb-flipbox-front h2,
.sppb-flipbox-front h3,
.sppb-flipbox-front h4,
.sppb-flip-box-front h1,
.sppb-flip-box-front h2,
.sppb-flip-box-front h3,
.sppb-flip-box-front h4,
.sppb-flipbox-front .sppb-flipbox-title,
.sppb-flip-box-front .sppb-flip-box-title {
    color: #ffffff !important;
    font-size: clamp(24px, 2.1vw, 34px) !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    text-align: center !important;
    text-shadow:
        0 2px 4px rgba(0, 0, 0, 0.95),
        0 6px 14px rgba(0, 0, 0, 0.78),
        0 14px 34px rgba(0, 0, 0, 0.55) !important;
}

/* Optional subtle text backing, without hiding the image */
.sppb-flipbox-front h1,
.sppb-flipbox-front h2,
.sppb-flipbox-front h3,
.sppb-flipbox-front h4,
.sppb-flip-box-front h1,
.sppb-flip-box-front h2,
.sppb-flip-box-front h3,
.sppb-flip-box-front h4 {
    padding: 8px 12px !important;
    border-radius: 12px !important;
}

/* =========================================================
   BACK SIDE TEXT FIX
   ========================================================= */

/* Make back content vertically centred and contained */
.sppb-flipbox-back .sppb-flipbox-content,
.sppb-flip-box-back .sppb-flip-box-content,
.sppb-flipbox-back .flip-box-inner,
.sppb-flip-box-back .flip-box-inner,
.sppb-flipbox-back .sppb-addon-content,
.sppb-flip-box-back .sppb-addon-content {
    height: 100% !important;
    min-height: 100% !important;
    max-height: 100% !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: hidden !important;
}

/* Back heading: smaller than front so long headings fit */
.sppb-flipbox-back h1,
.sppb-flipbox-back h2,
.sppb-flipbox-back h3,
.sppb-flipbox-back h4,
.sppb-flip-box-back h1,
.sppb-flip-box-back h2,
.sppb-flip-box-back h3,
.sppb-flip-box-back h4,
.sppb-flipbox-back .sppb-flipbox-title,
.sppb-flip-box-back .sppb-flip-box-title {
    color: #ffffff !important;
    font-size: clamp(18px, 1.45vw, 24px) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    text-align: center !important;
    max-width: 96% !important;
    margin: 0 auto 9px !important;
    padding: 0 !important;
    text-shadow:
        0 3px 12px rgba(0, 0, 0, 0.58),
        0 10px 24px rgba(0, 0, 0, 0.36) !important;
}

/* Back paragraph: compact so descriptions stay inside card */
.sppb-flipbox-back p,
.sppb-flip-box-back p,
.sppb-flipbox-back .sppb-flipbox-content,
.sppb-flip-box-back .sppb-flip-box-content {
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: clamp(11px, 0.88vw, 13.5px) !important;
    line-height: 1.38 !important;
    font-weight: 500 !important;
    text-align: center !important;
    max-width: 96% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-shadow: 0 3px 12px rgba(0, 0, 0, 0.46) !important;
}

/* Remove unwanted paragraph spacing on back */
.sppb-flipbox-back p,
.sppb-flip-box-back p {
    margin-bottom: 0 !important;
}

/* Hide any oversized extra gaps inside the back */
.sppb-flipbox-back br,
.sppb-flip-box-back br {
    line-height: 0.8 !important;
}

/* If template adds extra wrappers, stop them making text overflow */
.sppb-flipbox-back *,
.sppb-flip-box-back * {
    box-sizing: border-box !important;
}

/* =========================================================
   BUTTONS DIRECTLY UNDER FLIP BOXES
   ========================================================= */

.sppb-addon-flibox + .sppb-addon-button,
.sppb-addon-flip-box + .sppb-addon-button,
.sppb-flipbox-panel + .sppb-addon-button,
.sppb-flip-box + .sppb-addon-button {
    margin-top: 18px !important;
}

/* Orange category buttons */
.sppb-btn,
.sppb-btn-primary,
.sppb-btn-default,
.sppb-addon-button .sppb-btn,
.sppb-addon-button .sppb-btn-primary,
.sppb-addon-button .sppb-btn-default {
    border-radius: 9px !important;
}

/* Target orange buttons used below the flip boxes */
.sppb-addon-button .sppb-btn,
.sppb-addon-button a.sppb-btn {
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        135deg,
        #ff7a00 0%,
        #f26400 52%,
        #dc5200 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.22);
    box-shadow:
        0 14px 28px rgba(0, 0, 0, 0.2),
        0 5px 12px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.24) !important;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease !important;
}

/* Button shine */
.sppb-addon-button .sppb-btn::before,
.sppb-addon-button a.sppb-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.2) 50%,
        transparent 100%
    );
    transform: translateX(-120%);
    transition: transform 0.45s ease;
}

/* Button hover */
.sppb-addon-button .sppb-btn:hover,
.sppb-addon-button .sppb-btn:focus,
.sppb-addon-button a.sppb-btn:hover,
.sppb-addon-button a.sppb-btn:focus {
    background: linear-gradient(
        135deg,
        #ff8a14 0%,
        #f76c00 52%,
        #e45a00 100%
    ) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow:
        0 18px 34px rgba(0, 0, 0, 0.26),
        0 8px 18px rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.28) !important;
}

.sppb-addon-button .sppb-btn:hover::before,
.sppb-addon-button .sppb-btn:focus::before,
.sppb-addon-button a.sppb-btn:hover::before,
.sppb-addon-button a.sppb-btn:focus::before {
    transform: translateX(120%);
}

/* If your flip boxes are inside columns, improve the column spacing */
.sppb-section .sppb-row > div[class*="sppb-col"] {
    margin-bottom: 28px;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {
    .sppb-flipbox-front,
    .sppb-flipbox-back,
    .sppb-flip-box-front,
    .sppb-flip-box-back {
        border-radius: 20px !important;
    }

    .sppb-flipbox-front,
    .sppb-flip-box-front {
        padding: 24px !important;
    }

    .sppb-flipbox-back,
    .sppb-flip-box-back {
        padding: 20px 18px !important;
    }

    .sppb-flipbox-front h1,
    .sppb-flipbox-front h2,
    .sppb-flipbox-front h3,
    .sppb-flipbox-front h4,
    .sppb-flip-box-front h1,
    .sppb-flip-box-front h2,
    .sppb-flip-box-front h3,
    .sppb-flip-box-front h4,
    .sppb-flipbox-front .sppb-flipbox-title,
    .sppb-flip-box-front .sppb-flip-box-title {
        font-size: 28px !important;
    }

    .sppb-flipbox-back h1,
    .sppb-flipbox-back h2,
    .sppb-flipbox-back h3,
    .sppb-flipbox-back h4,
    .sppb-flip-box-back h1,
    .sppb-flip-box-back h2,
    .sppb-flip-box-back h3,
    .sppb-flip-box-back h4,
    .sppb-flipbox-back .sppb-flipbox-title,
    .sppb-flip-box-back .sppb-flip-box-title {
        font-size: 20px !important;
        line-height: 1.12 !important;
    }

    .sppb-flipbox-back p,
    .sppb-flip-box-back p,
    .sppb-flipbox-back .sppb-flipbox-content,
    .sppb-flip-box-back .sppb-flip-box-content {
        font-size: 12px !important;
        line-height: 1.34 !important;
    }
}

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

@media (max-width: 767px) {
    .sppb-flipbox-front,
    .sppb-flipbox-back,
    .sppb-flip-box-front,
    .sppb-flip-box-back {
        border-radius: 18px !important;
    }

    .sppb-flipbox-front,
    .sppb-flip-box-front {
        padding: 22px !important;
    }

    .sppb-flipbox-back,
    .sppb-flip-box-back {
        padding: 18px 16px !important;
    }

    .sppb-flipbox-front::after,
    .sppb-flipbox-back::after,
    .sppb-flip-box-front::after,
    .sppb-flip-box-back::after {
        left: 22px;
        width: 76px;
        height: 3px;
    }

    .sppb-flipbox-front h1,
    .sppb-flipbox-front h2,
    .sppb-flipbox-front h3,
    .sppb-flipbox-front h4,
    .sppb-flip-box-front h1,
    .sppb-flip-box-front h2,
    .sppb-flip-box-front h3,
    .sppb-flip-box-front h4,
    .sppb-flipbox-front .sppb-flipbox-title,
    .sppb-flip-box-front .sppb-flip-box-title {
        font-size: 25px !important;
        line-height: 1.2 !important;
    }

    .sppb-flipbox-back h1,
    .sppb-flipbox-back h2,
    .sppb-flipbox-back h3,
    .sppb-flipbox-back h4,
    .sppb-flip-box-back h1,
    .sppb-flip-box-back h2,
    .sppb-flip-box-back h3,
    .sppb-flip-box-back h4,
    .sppb-flipbox-back .sppb-flipbox-title,
    .sppb-flip-box-back .sppb-flip-box-title {
        font-size: 19px !important;
        line-height: 1.12 !important;
        margin-bottom: 8px !important;
    }

    .sppb-flipbox-back p,
    .sppb-flip-box-back p,
    .sppb-flipbox-back .sppb-flipbox-content,
    .sppb-flip-box-back .sppb-flip-box-content {
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .sppb-addon-button .sppb-btn,
    .sppb-addon-button a.sppb-btn {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
    .sppb-flipbox-front,
    .sppb-flipbox-back,
    .sppb-flip-box-front,
    .sppb-flip-box-back {
        border-radius: 16px !important;
    }

    .sppb-flipbox-front,
    .sppb-flip-box-front {
        padding: 20px !important;
    }

    .sppb-flipbox-back,
    .sppb-flip-box-back {
        padding: 16px 14px !important;
    }

    .sppb-flipbox-front h1,
    .sppb-flipbox-front h2,
    .sppb-flipbox-front h3,
    .sppb-flipbox-front h4,
    .sppb-flip-box-front h1,
    .sppb-flip-box-front h2,
    .sppb-flip-box-front h3,
    .sppb-flip-box-front h4,
    .sppb-flipbox-front .sppb-flipbox-title,
    .sppb-flip-box-front .sppb-flip-box-title {
        font-size: 23px !important;
    }

    .sppb-flipbox-back h1,
    .sppb-flipbox-back h2,
    .sppb-flipbox-back h3,
    .sppb-flipbox-back h4,
    .sppb-flip-box-back h1,
    .sppb-flip-box-back h2,
    .sppb-flip-box-back h3,
    .sppb-flip-box-back h4,
    .sppb-flipbox-back .sppb-flipbox-title,
    .sppb-flip-box-back .sppb-flip-box-title {
        font-size: 18px !important;
        line-height: 1.1 !important;
    }

    .sppb-flipbox-back p,
    .sppb-flip-box-back p,
    .sppb-flipbox-back .sppb-flipbox-content,
    .sppb-flip-box-back .sppb-flip-box-content {
        font-size: 11px !important;
        line-height: 1.26 !important;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   HOME HERO CTA BUTTON SECTION
   FIXED MOBILE EDGE / OVERFLOW VERSION
   ========================================================= */

/* Make sizing predictable */
.com-sppagebuilder #sp-main-body .sppb-section:first-child *,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type * {
    box-sizing: border-box;
}

/* Main hero section */
.com-sppagebuilder #sp-main-body .sppb-section:first-child,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type {
    position: relative;
    overflow: hidden;
}

/* Keep section content above background */
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-row-container,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-row-container {
    position: relative;
    z-index: 5;
}

/* Hero column/addon stack */
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-column-addons,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-column-addons {
    position: relative;
    z-index: 10;
}

/* Wrapper safety */
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-addon-wrapper,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-addon-wrapper {
    position: relative;
    z-index: 15;
    max-width: 100%;
}

/* CTA addon content wrapper */
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-addon-content,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-addon-content {
    position: relative;
    z-index: 20;
    text-align: center;
    max-width: 100%;
}

/* Desktop/tablet glass CTA panel */
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-child
    .sppb-addon-content:has(.sppb-btn),
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-addon-content:has(.sppb-btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    width: auto;
    max-width: 760px;
    padding: 28px 46px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 18px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at top left,
            rgba(255, 255, 255, 0.12),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            rgba(9, 15, 34, 0.88) 0%,
            rgba(42, 39, 116, 0.86) 100%
        );
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 24px 65px rgba(0, 0, 0, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Desktop/tablet buttons */
.com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn,
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 255px !important;
    min-height: 64px !important;
    padding: 18px 36px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(
        135deg,
        #ff8500 0%,
        #f26600 52%,
        #d94f00 100%
    ) !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.42) !important;
    box-shadow:
        0 14px 32px rgba(0, 0, 0, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.32) !important;
    transition: all 0.25s ease;
}

/* Force button text/icons to stay white */
.com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn *,
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn *,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn *,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Force FontAwesome icons to stay white */
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn i,
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn i::before,
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn .fa,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-child
    .sppb-btn
    .fa::before,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn i,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-btn
    i::before,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn .fa,
.com-sppagebuilder
    #sp-main-body
    .sppb-section:first-of-type
    .sppb-btn
    .fa::before {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

/* Button hover */
.com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn:hover,
.com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn:hover,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn:hover,
.com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn:hover {
    transform: translateY(-3px);
    background: linear-gradient(
        135deg,
        #ff981f 0%,
        #ff7200 52%,
        #e75a00 100%
    ) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   MOBILE FIX
   ========================================================= */

@media (max-width: 767px) {
    /* Prevent horizontal overflow */
    html,
    body,
    .body-wrapper,
    .body-innerwrapper,
    #sp-main-body,
    .com-sppagebuilder #sp-main-body {
        max-width: 100%;
        overflow-x: hidden !important;
    }

    /* Main hero section */
    .com-sppagebuilder #sp-main-body .sppb-section:first-child,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type {
        overflow: hidden !important;
    }

    /* Remove hidden row/container offsets */
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-row-container,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-row-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        overflow: visible !important;
    }

    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-row,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-row {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        [class*="sppb-col-"],
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        [class*="sppb-col-"] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-column,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-column,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-column-addons,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-column-addons,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-addon-wrapper,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-addon-wrapper,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-addon,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-addon {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow: visible !important;
    }

    /* This is the important fix:
       the inner dark panel must be slightly smaller than the outer/purple panel */
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-addon-content:has(.sppb-btn),
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-addon-content:has(.sppb-btn) {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 16px !important;

        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;

        margin-left: 12px !important;
        margin-right: 12px !important;
        padding: 20px !important;

        border-radius: 18px !important;
        overflow: hidden !important;

        background:
            radial-gradient(
                circle at top left,
                rgba(255, 255, 255, 0.13),
                transparent 40%
            ),
            linear-gradient(
                135deg,
                rgba(9, 15, 34, 0.94) 0%,
                rgba(43, 41, 117, 0.9) 100%
            ) !important;

        border: 1px solid rgba(255, 255, 255, 0.24) !important;
        box-shadow:
            0 18px 45px rgba(0, 0, 0, 0.36),
            inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;

        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    /* Mobile buttons */
    .com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 62px !important;
        padding: 16px 14px !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 14px !important;
        background: linear-gradient(
            135deg,
            #ff8a00 0%,
            #f26700 52%,
            #d94f00 100%
        ) !important;
        border: 1px solid rgba(255, 255, 255, 0.42) !important;

        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;

        font-size: 18px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
        letter-spacing: -0.01em !important;
        text-align: center !important;

        text-shadow:
            0 2px 8px rgba(0, 0, 0, 0.55),
            0 1px 1px rgba(0, 0, 0, 0.35) !important;

        box-shadow:
            0 12px 28px rgba(0, 0, 0, 0.36),
            inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
    }

    /* Critical mobile text/icon visibility */
    .com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn span,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn i,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        a.sppb-btn
        i::before,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn span,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn i,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-btn
        i::before,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        a.sppb-btn
        span,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn i,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        a.sppb-btn
        i::before,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn span,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn i,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-btn
        i::before {
        color: #ffffff !important;
        -webkit-text-fill-color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* Very small phones */
@media (max-width: 480px) {
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-row-container,
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-row-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-child
        .sppb-addon-content:has(.sppb-btn),
    .com-sppagebuilder
        #sp-main-body
        .sppb-section:first-of-type
        .sppb-addon-content:has(.sppb-btn) {
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
        margin-left: 10px !important;
        margin-right: 10px !important;
        padding: 16px !important;
        gap: 14px !important;
        border-radius: 16px !important;
    }

    .com-sppagebuilder #sp-main-body .sppb-section:first-child a.sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-child .sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type a.sppb-btn,
    .com-sppagebuilder #sp-main-body .sppb-section:first-of-type .sppb-btn {
        min-height: 58px !important;
        font-size: 17px !important;
        border-radius: 13px !important;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   TESTIMONIALS SECTION - CLEAN EDGELESS PREMIUM VERSION
   Section: #section-id-1519279374340
   ========================================================= */

/* Main testimonials section */
#section-id-1519279374340 {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 6.5vw, 96px) 20px clamp(64px, 6.5vw, 96px);
    background:
        radial-gradient(
            circle at 14% 18%,
            rgba(245, 166, 35, 0.075) 0%,
            rgba(245, 166, 35, 0) 32%
        ),
        radial-gradient(
            circle at 86% 18%,
            rgba(55, 48, 130, 0.075) 0%,
            rgba(55, 48, 130, 0) 36%
        ),
        linear-gradient(180deg, #ffffff 0%, #fbfbff 100%);
}

/* Hide built-in SVG wave */
#section-id-1519279374340 .sppb-shape-container {
    display: none !important;
}

/* Remove all section-level pseudo panels */
#section-id-1519279374340::before,
#section-id-1519279374340::after {
    content: none !important;
}

/* Main content container */
#section-id-1519279374340 > .sppb-row-container {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin: 0 auto;
}

/* =========================================================
   SECTION HEADING
   ========================================================= */

#section-id-1519279374340 .sppb-section-title {
    max-width: 920px;
    margin: 0 auto 44px;
    text-align: center !important;
}

#section-id-1519279374340 .sppb-title-heading {
    position: relative;
    display: inline-block;
    margin: 0;
    color: #242332;
    font-size: clamp(30px, 3vw, 42px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.045em;
    text-align: center;
    text-transform: none;
}

#section-id-1519279374340 .sppb-title-heading::before {
    content: "Trusted by happy customers";
    display: block;
    margin-bottom: 12px;
    color: #f5a623;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.2;
    text-transform: uppercase;
}

#section-id-1519279374340 .sppb-title-heading::after {
    content: "";
    display: block;
    width: 86px;
    height: 4px;
    margin: 20px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #373082 0%, #f5a623 100%);
}

/* =========================================================
   REMOVE OLD / UNWANTED CAROUSEL BOXES
   ========================================================= */

#section-id-1519279374340 .sppb-addon-wrapper,
#section-id-1519279374340 .sppb-addon,
#section-id-1519279374340 .sppb-carousel-extended,
#section-id-1519279374340 .sppb-carousel-extended-list,
#section-id-1519279374340 .sppb-carousel-extended-outer-stage,
#section-id-1519279374340 .sppb-carousel-extended::before,
#section-id-1519279374340 .sppb-carousel-extended::after,
#section-id-1519279374340 .sppb-carousel-extended-list::before,
#section-id-1519279374340 .sppb-carousel-extended-list::after,
#section-id-1519279374340 .sppb-carousel-extended-outer-stage::before,
#section-id-1519279374340 .sppb-carousel-extended-outer-stage::after {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Remove dotted / dashed borders from any carousel wrappers */
#section-id-1519279374340 [class*="carousel"],
#section-id-1519279374340 [class*="Carousel"],
#section-id-1519279374340 [class*="testimonial"] {
    outline: none !important;
}

/* Main carousel wrapper */
#section-id-1519279374340 .addon-root-testimonial-carousel {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
}

/* No outer feature box */
#section-id-1519279374340 .sppb-carousel-extended {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    padding: 0 !important;
    overflow: visible;
    border-radius: 0 !important;
}

/* Carousel viewport */
#section-id-1519279374340 .sppb-carousel-extended-list {
    position: relative;
    overflow: hidden !important;
    max-width: 980px;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto;
    padding: 12px 0 0;
}

/* Carousel stage */
#section-id-1519279374340 .sppb-carousel-extended-outer-stage {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible;
}

/* Individual carousel item */
#section-id-1519279374340 .sppb-carousel-extended-item {
    padding: 0 10px;
}

/* =========================================================
   TESTIMONIAL CARD
   ========================================================= */

#section-id-1519279374340 .sppb-testimonial-carousel-item-content {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
    padding: clamp(40px, 4vw, 58px) clamp(30px, 5vw, 74px);
    overflow: visible;
    background: #ffffff;
    border: 1px solid rgba(55, 48, 130, 0.12);
    border-radius: 30px;
    box-shadow:
        0 24px 70px rgba(41, 39, 51, 0.12),
        0 8px 24px rgba(41, 39, 51, 0.055);
}

/* Soft glow directly behind the card */
#section-id-1519279374340 .sppb-testimonial-carousel-item-content {
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg, rgba(55, 48, 130, 0.2), rgba(245, 166, 35, 0.3))
            border-box;
    border: 1px solid transparent;
}

/* Quote mark */
#section-id-1519279374340 .sppb-testimonial-carousel-item-content::before {
    content: "“";
    position: absolute;
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(55, 48, 130, 0.12);
    font-family: Georgia, serif;
    font-size: 102px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
    z-index: 1;
}

/* Accent line inside card */
#section-id-1519279374340 .sppb-testimonial-carousel-item-content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 160px;
    height: 4px;
    transform: translateX(-50%);
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #373082, #f5a623, #373082);
    z-index: 4;
}

/* Keep real content above quote mark */
#section-id-1519279374340 .sppb-testimonial-carousel-item-content > * {
    position: relative;
    z-index: 3;
}

/* =========================================================
   STARS
   ========================================================= */

#section-id-1519279374340 .sppb-testimonial-carousel-client-rating {
    position: relative;
    z-index: 4;
    display: block;
    height: 24px;
    margin: 0 0 23px;
    padding: 11px 0 0;
    text-align: center;
    line-height: 1;
}

/* Hide theme-generated stars */
#section-id-1519279374340 .sppb-testimonial-carousel-rating,
#section-id-1519279374340 .sppb-testimonial-carousel-rating *,
#section-id-1519279374340 .sppb-testimonial-carousel-rating i,
#section-id-1519279374340 .sppb-testimonial-carousel-rating .fa,
#section-id-1519279374340 .sppb-testimonial-carousel-rating .fas,
#section-id-1519279374340 .sppb-testimonial-carousel-rating .far {
    font-size: 0 !important;
    letter-spacing: 0 !important;
    color: transparent !important;
    text-shadow: none !important;
}

/* Star container */
#section-id-1519279374340 .sppb-testimonial-carousel-rating {
    display: inline-block !important;
    width: auto !important;
    height: 20px !important;
    line-height: 20px !important;
}

/* Clean stars */
#section-id-1519279374340 .sppb-testimonial-carousel-rating::before {
    content: "★★★★★";
    display: inline-block;
    color: #f5a623 !important;
    font-size: 20px !important;
    font-weight: 800;
    line-height: 20px;
    letter-spacing: 4px;
    text-shadow: 0 3px 12px rgba(245, 166, 35, 0.25);
}

/* =========================================================
   REVIEW TEXT
   ========================================================= */

#section-id-1519279374340 .sppb-testimonial-carousel-message {
    position: relative;
    z-index: 4;
    max-width: 760px;
    margin: 0 auto;
    color: #565966;
    font-size: clamp(16px, 1.08vw, 17px);
    font-weight: 400;
    line-height: 1.82;
    text-align: center;
    white-space: pre-line;
}

/* Speech bubble point */
#section-id-1519279374340 .sppb-testimonial-carousel-content-wrap::before {
    content: "";
    position: absolute;
    top: -13px;
    left: 50%;
    width: 26px;
    height: 26px;
    background: #ffffff;
    border-right: 1px solid rgba(55, 48, 130, 0.1);
    border-bottom: 1px solid rgba(55, 48, 130, 0.1);
    transform: translateX(-50%) rotate(45deg);
    z-index: 2;
}

/* Customer wrapper */
#section-id-1519279374340 .sppb-testimonial-carousel-content-wrap {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
    padding: 32px 20px 0;
    text-align: center;
}

/* Customer name pill */
#section-id-1519279374340 .sppb-testimonial-carousel-name-designation {
    position: relative;
    z-index: 3;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 176px;
    padding: 12px 22px;
    background: #ffffff;
    border: 1px solid rgba(55, 48, 130, 0.1);
    border-radius: 999px;
    box-shadow:
        0 14px 34px rgba(41, 39, 51, 0.1),
        0 4px 12px rgba(41, 39, 51, 0.04);
}

/* Customer name */
#section-id-1519279374340 .sppb-testimonial-carousel-name {
    margin: 0;
    color: #242332;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

/* Customer location */
#section-id-1519279374340 .sppb-testimonial-carousel-designation {
    margin: 3px 0 0;
    color: #777986;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
}

/* =========================================================
   DOTS
   ========================================================= */

#section-id-1519279374340 .sppb-carousel-extended-dots {
    position: relative;
    z-index: 5;
    margin-top: 28px;
    text-align: center;
}

#section-id-1519279374340 .sppb-carousel-extended-dots ul {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0;
    padding: 9px 13px;
    list-style: none;
    background: #ffffff;
    border: 1px solid rgba(55, 48, 130, 0.1);
    border-radius: 999px;
    box-shadow:
        0 10px 26px rgba(41, 39, 51, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

#section-id-1519279374340 .sppb-carousel-extended-dots li {
    width: 10px !important;
    height: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: none !important;
    border-radius: 999px !important;
    background: #d9d9e3 !important;
    cursor: pointer;
    transition: all 0.3s ease !important;
}

#section-id-1519279374340 .sppb-carousel-extended-dots li span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: transparent !important;
}

#section-id-1519279374340 .sppb-carousel-extended-dots li.active,
#section-id-1519279374340 .sppb-carousel-extended-dots li:has(.active) {
    width: 32px !important;
    background: #373082 !important;
}

#section-id-1519279374340 .sppb-carousel-extended-dots li.active span,
#section-id-1519279374340 .sppb-carousel-extended-dots li span.active {
    background: linear-gradient(90deg, #373082, #5d54bf) !important;
}

/* Text rendering */
#section-id-1519279374340,
#section-id-1519279374340 * {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {
    #section-id-1519279374340 {
        padding: 58px 18px 78px;
    }

    #section-id-1519279374340 .sppb-section-title {
        margin-bottom: 36px;
    }

    #section-id-1519279374340 .addon-root-testimonial-carousel,
    #section-id-1519279374340 .sppb-carousel-extended-list {
        max-width: 860px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-item-content {
        max-width: 760px;
        padding: 38px 30px;
        border-radius: 25px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-item-content::before {
        top: -22px;
        font-size: 92px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-message {
        max-width: 680px;
        font-size: 16px;
        line-height: 1.74;
    }
}

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

@media (max-width: 767px) {
    #section-id-1519279374340 {
        padding: 50px 14px 66px;
        background:
            radial-gradient(
                circle at 50% 5%,
                rgba(245, 166, 35, 0.08) 0%,
                rgba(245, 166, 35, 0) 38%
            ),
            linear-gradient(180deg, #ffffff 0%, #fbfaff 100%);
    }

    #section-id-1519279374340 .sppb-section-title {
        margin-bottom: 30px;
    }

    #section-id-1519279374340 .sppb-title-heading {
        max-width: 340px;
        font-size: 27px;
        line-height: 1.16;
        letter-spacing: -0.035em;
    }

    #section-id-1519279374340 .sppb-title-heading::before {
        margin-bottom: 10px;
        font-size: 12px;
        letter-spacing: 0.11em;
    }

    #section-id-1519279374340 .sppb-title-heading::after {
        width: 76px;
        height: 4px;
        margin-top: 16px;
    }

    #section-id-1519279374340 .addon-root-testimonial-carousel,
    #section-id-1519279374340 .sppb-carousel-extended-list {
        max-width: 100%;
    }

    #section-id-1519279374340 .sppb-carousel-extended-list {
        padding-top: 4px;
    }

    #section-id-1519279374340 .sppb-carousel-extended-item {
        padding: 0;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-item-content {
        max-width: 100%;
        padding: 34px 20px 30px;
        border-radius: 21px;
        box-shadow:
            0 18px 46px rgba(41, 39, 51, 0.12),
            0 6px 18px rgba(41, 39, 51, 0.05);
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-item-content::before {
        top: -12px;
        font-size: 70px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-item-content::after {
        width: 132px;
        height: 4px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-client-rating {
        height: 22px;
        margin-bottom: 18px;
        padding-top: 7px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-rating::before {
        font-size: 17px !important;
        letter-spacing: 3px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-message {
        max-width: 100%;
        font-size: 15px;
        line-height: 1.66;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-content-wrap {
        padding: 30px 10px 0;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-name-designation {
        min-width: 158px;
        padding: 11px 18px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-name {
        font-size: 15.5px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-designation {
        font-size: 13px;
    }

    #section-id-1519279374340 .sppb-carousel-extended-dots {
        margin-top: 26px;
    }

    #section-id-1519279374340 .sppb-carousel-extended-dots ul {
        gap: 8px;
        padding: 8px 12px;
    }

    #section-id-1519279374340 .sppb-carousel-extended-dots li {
        width: 9px !important;
        height: 9px !important;
    }

    #section-id-1519279374340 .sppb-carousel-extended-dots li.active,
    #section-id-1519279374340 .sppb-carousel-extended-dots li:has(.active) {
        width: 27px !important;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
    #section-id-1519279374340 {
        padding: 46px 12px 60px;
    }

    #section-id-1519279374340 .sppb-title-heading {
        max-width: 310px;
        font-size: 24px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-item-content {
        padding: 32px 17px 27px;
        border-radius: 19px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-message {
        font-size: 14.5px;
        line-height: 1.62;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-rating::before {
        font-size: 16px !important;
        letter-spacing: 2px;
    }

    #section-id-1519279374340 .sppb-testimonial-carousel-name-designation {
        min-width: 150px;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   BUILD YOUR MARQUEE ONLINE SECTION - REFINED PREMIUM VERSION
   Section: #section-id-1519279374154
   ========================================================= */

/* Main section */
#section-id-1519279374154 {
    position: relative;
    overflow: hidden;
    padding: clamp(62px, 6vw, 88px) 20px clamp(70px, 6vw, 96px);
    background:
        radial-gradient(
            circle at 18% 18%,
            rgba(245, 166, 35, 0.12) 0%,
            rgba(245, 166, 35, 0) 34%
        ),
        radial-gradient(
            circle at 82% 20%,
            rgba(255, 255, 255, 0.08) 0%,
            rgba(255, 255, 255, 0) 36%
        ),
        linear-gradient(135deg, #373082 0%, #4740a8 52%, #312b7a 100%);
}

/* Bottom brush shape */
#section-id-1519279374154 .sppb-shape-container {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 1;
    color: rgba(45, 39, 115, 0.92);
    fill: rgba(45, 39, 115, 0.92);
    pointer-events: none;
}

/* Subtle background texture */
#section-id-1519279374154::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: 56px 56px;
    opacity: 0.12;
    pointer-events: none;
    z-index: 0;
}

/* Soft glow */
#section-id-1519279374154::after {
    content: "";
    position: absolute;
    right: -220px;
    top: 48%;
    width: 620px;
    height: 620px;
    transform: translateY(-50%);
    background: radial-gradient(
        circle,
        rgba(245, 166, 35, 0.15) 0%,
        rgba(245, 166, 35, 0) 68%
    );
    pointer-events: none;
    z-index: 0;
}

/* Main container */
#section-id-1519279374154 > .sppb-row-container {
    position: relative;
    z-index: 2;
    max-width: 1180px;
    margin: 0 auto;
}

/* Row */
#section-id-1519279374154 .sppb-row {
    align-items: center;
}

/* =========================================================
   LEFT CONTENT
   ========================================================= */

#section-id-1519279374154 #column-id-1519279374152 .sppb-column-addons {
    position: relative;
    max-width: 560px;
    padding: 0 8px 0 0;
}

/* Heading */
#section-id-1519279374154 .sppb-addon-title {
    position: relative;
    max-width: 520px;
    margin: 0 0 18px;
    color: #ffffff;
    font-size: clamp(32px, 3.2vw, 46px);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.055em;
    text-transform: none;
}

/* Heading underline */
#section-id-1519279374154 .sppb-addon-title::after {
    content: "";
    display: block;
    width: 88px;
    height: 4px;
    margin: 19px 0 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #f5a623, rgba(255, 255, 255, 0.85));
}

/* Text */
#section-id-1519279374154 .sppb-addon-text-block .sppb-addon-content {
    max-width: 540px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.78;
}

/* Links */
#section-id-1519279374154 .sppb-addon-text-block .sppb-addon-content a {
    color: #ffd15c !important;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 209, 92, 0.6);
}

#section-id-1519279374154 .sppb-addon-text-block .sppb-addon-content a:hover {
    color: #ffffff !important;
    border-bottom-color: #ffffff;
}

/* Button spacing */
#section-id-1519279374154 .addon-root-button {
    margin-top: 30px;
}

/* Button */
#section-id-1519279374154 #btn-1675263590073 {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: min(100%, 520px);
    min-height: 56px;
    padding: 16px 30px;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    background: linear-gradient(135deg, #ff8a00 0%, #ff7100 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 11px !important;
    box-shadow:
        0 16px 36px rgba(255, 115, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
    transform: translateY(0);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

#section-id-1519279374154 #btn-1675263590073 i {
    margin-right: 7px;
    font-size: 15px;
    transition: transform 0.25s ease;
}

#section-id-1519279374154 #btn-1675263590073:hover {
    color: #ffffff !important;
    background: linear-gradient(135deg, #ff980f 0%, #ff7600 100%) !important;
    transform: translateY(-2px);
    box-shadow:
        0 20px 44px rgba(255, 115, 0, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.26) !important;
}

#section-id-1519279374154 #btn-1675263590073:hover i {
    transform: translateX(3px);
}

/* =========================================================
   RIGHT IMAGE
   ========================================================= */

#section-id-1519279374154 #column-id-1519279374153 .sppb-column-addons {
    position: relative;
    max-width: 560px;
    margin-left: auto;
}

/* Remove old extra panels */
#section-id-1519279374154 #column-id-1519279374153 .sppb-column-addons::before,
#section-id-1519279374154 #column-id-1519279374153 .sppb-column-addons::after {
    content: none !important;
}

/* Image container */
#section-id-1519279374154 .sppb-addon-single-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow:
        0 28px 76px rgba(0, 0, 0, 0.26),
        0 8px 24px rgba(0, 0, 0, 0.14);
}

/* Add simple premium accent on image */
#section-id-1519279374154 .sppb-addon-single-image-container::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 0;
    height: 4px;
    z-index: 3;
    border-radius: 999px 999px 0 0;
    background: linear-gradient(90deg, transparent, #f5a623, transparent);
}

/* Image */
#section-id-1519279374154 img.sppb-img-responsive {
    display: block;
    width: 100%;
    height: 360px;
    min-height: 0;
    object-fit: cover;
    object-position: center center;
    border-radius: 18px;
    transform: scale(1);
    transition: transform 0.45s ease;
}

/* Gentle overlay */
#section-id-1519279374154 .sppb-addon-single-image-container::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        180deg,
        rgba(55, 48, 130, 0.02),
        rgba(55, 48, 130, 0.12)
    );
    pointer-events: none;
}

/* Hover */
#section-id-1519279374154
    .sppb-addon-single-image-container:hover
    img.sppb-img-responsive {
    transform: scale(1.025);
}

/* Better text rendering */
#section-id-1519279374154,
#section-id-1519279374154 * {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {
    #section-id-1519279374154 {
        padding: 60px 18px 80px;
    }

    #section-id-1519279374154 .sppb-row {
        row-gap: 36px;
    }

    #section-id-1519279374154 #column-id-1519279374152 .sppb-column-addons,
    #section-id-1519279374154 #column-id-1519279374153 .sppb-column-addons {
        max-width: 100%;
        margin: 0 auto;
    }

    #section-id-1519279374154 img.sppb-img-responsive {
        height: 320px;
    }
}

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

@media (max-width: 767px) {
    #section-id-1519279374154 {
        padding: 52px 14px 70px;
        background:
            radial-gradient(
                circle at 50% 8%,
                rgba(245, 166, 35, 0.1) 0%,
                rgba(245, 166, 35, 0) 36%
            ),
            linear-gradient(135deg, #373082 0%, #4540a3 100%);
    }

    #section-id-1519279374154::before {
        background-size: 36px 36px;
        opacity: 0.11;
    }

    #section-id-1519279374154 .sppb-row {
        row-gap: 30px;
    }

    #section-id-1519279374154 #column-id-1519279374152 .sppb-column-addons {
        padding: 0;
        text-align: center;
    }

    #section-id-1519279374154 .sppb-addon-title {
        max-width: 100%;
        font-size: 29px;
        line-height: 1.13;
        text-align: center;
    }

    #section-id-1519279374154 .sppb-addon-title::after {
        margin: 16px auto 0;
    }

    #section-id-1519279374154 .sppb-addon-text-block .sppb-addon-content {
        max-width: 100%;
        font-size: 15px;
        line-height: 1.7;
        text-align: center;
    }

    #section-id-1519279374154 .addon-root-button {
        margin-top: 24px;
    }

    #section-id-1519279374154 #btn-1675263590073 {
        width: 100%;
        min-height: 50px;
        padding: 14px 20px;
    }

    #section-id-1519279374154 img.sppb-img-responsive {
        height: 250px;
        border-radius: 16px;
    }

    #section-id-1519279374154 .sppb-addon-single-image-container {
        border-radius: 16px;
    }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
    #section-id-1519279374154 {
        padding: 46px 12px 64px;
    }

    #section-id-1519279374154 .sppb-addon-title {
        font-size: 26px;
    }

    #section-id-1519279374154 img.sppb-img-responsive {
        height: 220px;
        border-radius: 14px;
    }

    #section-id-1519279374154 .sppb-addon-single-image-container {
        border-radius: 14px;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   ORANGE CATEGORY BUTTON FIX
   Restores nicer button shape and fixes long text alignment
   ========================================================= */

/* Main orange buttons under marquee category cards */
#sp-page-builder .sppb-btn.sppb-btn-custom,
#sp-main-body .sppb-btn.sppb-btn-custom {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;

    width: 100% !important;
    min-height: 54px !important;

    padding: 13px 24px !important;
    border-radius: 999px !important;

    background: linear-gradient(135deg, #ff9b18 0%, #ff6f00 100%) !important;
    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    box-shadow: 0 12px 24px rgba(255, 111, 0, 0.28) !important;
    border: none !important;

    transition: all 0.25s ease !important;
}

/* Icon alignment */
#sp-page-builder .sppb-btn.sppb-btn-custom i,
#sp-main-body .sppb-btn.sppb-btn-custom i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    line-height: 1 !important;
    font-size: 14px !important;
}

/* Button hover */
#sp-page-builder .sppb-btn.sppb-btn-custom:hover,
#sp-main-body .sppb-btn.sppb-btn-custom:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 16px 30px rgba(255, 111, 0, 0.36) !important;
}

/* Stop short labels looking tiny or stretched */
#sp-page-builder .sppb-addon-button-group .sppb-btn,
#sp-main-body .sppb-addon-button-group .sppb-btn {
    max-width: 100% !important;
}

/* Medium screens: keep buttons neat */
@media (max-width: 1199px) {
    #sp-page-builder .sppb-btn.sppb-btn-custom,
    #sp-main-body .sppb-btn.sppb-btn-custom {
        font-size: 14px !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

/* Mobile: allow the longer labels to wrap cleanly */
@media (max-width: 767px) {
    #sp-page-builder .sppb-btn.sppb-btn-custom,
    #sp-main-body .sppb-btn.sppb-btn-custom {
        min-height: 52px !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
        padding: 12px 18px !important;
    }
}

/* Button shown inside the flipped card only */
.ftm-flip-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 12px 26px;
    min-width: 210px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff9b18 0%, #ff6f00 100%);
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(255, 111, 0, 0.35);
    transition: all 0.25s ease;
}

.ftm-flip-card-btn:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #ffad32 0%, #ff7600 100%);
    color: #ffffff !important;
}
/* =========================================================
   FAIRYTALE MARQUEES
   HERO BUTTON GROUP FIX
   Desktop: side by side
   Tablet/Mobile: stacked
   ========================================================= */

/* Remove unwanted backgrounds around the button group */
.sppb-section .addon-root-button-group,
.sppb-section .addon-root-button-group .sppb-addon,
.sppb-section .addon-root-button-group .sppb-addon-content {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

/* DESKTOP: buttons side by side */
@media (min-width: 992px) {
    .sppb-section .addon-root-button-group .sppb-addon-content {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 24px !important;

        width: 100% !important;
        max-width: 920px !important;

        margin: 0 auto !important;
        padding: 0 !important;
    }

    .sppb-section
        .addon-root-button-group
        .sppb-btn.sppb-btn-custom.sppb-btn-3d,
    .sppb-section
        .addon-root-button-group
        a.sppb-btn.sppb-btn-custom.sppb-btn-3d {
        width: 100% !important;
        max-width: 420px !important;
        min-height: 56px !important;
        margin: 0 !important;
    }
}

/* Main button styling */
.sppb-section .addon-root-button-group .sppb-btn.sppb-btn-custom.sppb-btn-3d,
.sppb-section .addon-root-button-group a.sppb-btn.sppb-btn-custom.sppb-btn-3d {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;

    padding: 16px 32px !important;

    background: linear-gradient(90deg, #ff9f17 0%, #ff6b00 100%) !important;
    background-color: #ff7a00 !important;
    color: #ffffff !important;

    border: 0 !important;
    border-radius: 999px !important;

    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;

    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24) !important;
    transform: none !important;
    transition: all 0.25s ease !important;
}

/* Remove SPPB 3D button underline/shadow effect */
.sppb-section .addon-root-button-group .sppb-btn.sppb-btn-3d::before,
.sppb-section .addon-root-button-group .sppb-btn.sppb-btn-3d::after,
.sppb-section .addon-root-button-group a.sppb-btn.sppb-btn-3d::before,
.sppb-section .addon-root-button-group a.sppb-btn.sppb-btn-3d::after {
    display: none !important;
    content: none !important;
}

/* Fix icon alignment */
.sppb-section .addon-root-button-group .sppb-btn i,
.sppb-section .addon-root-button-group a.sppb-btn i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1 !important;

    position: static !important;
    transform: translateY(1px) !important;
}

/* Hover */
.sppb-section
    .addon-root-button-group
    .sppb-btn.sppb-btn-custom.sppb-btn-3d:hover,
.sppb-section
    .addon-root-button-group
    a.sppb-btn.sppb-btn-custom.sppb-btn-3d:hover {
    background: linear-gradient(90deg, #ff8f00 0%, #ff5600 100%) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.3) !important;
}

/* MOBILE/TABLET: stacked full-width */
@media (max-width: 991px) {
    .sppb-section .addon-root-button-group .sppb-addon-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 16px !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 auto !important;
        padding: 0 18px !important;
    }

    .sppb-section
        .addon-root-button-group
        .sppb-btn.sppb-btn-custom.sppb-btn-3d,
    .sppb-section
        .addon-root-button-group
        a.sppb-btn.sppb-btn-custom.sppb-btn-3d {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 52px !important;
        padding: 15px 22px !important;
        font-size: 14px !important;
        margin: 0 !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .sppb-section .addon-root-button-group .sppb-addon-content {
        gap: 14px !important;
        padding: 0 14px !important;
    }

    .sppb-section
        .addon-root-button-group
        .sppb-btn.sppb-btn-custom.sppb-btn-3d,
    .sppb-section
        .addon-root-button-group
        a.sppb-btn.sppb-btn-custom.sppb-btn-3d {
        min-height: 50px !important;
        font-size: 13.5px !important;
        padding: 14px 18px !important;
    }
}
/* =========================================================
   HERO BUTTON PANEL EDGE FIX
   Removes the visible purple box edges around the buttons
   ========================================================= */

/* Remove the dark panel/background around the button group */
.sppb-section .addon-root-button-group,
.sppb-section .addon-root-button-group > div,
.sppb-section .addon-root-button-group .clearfix,
.sppb-section .addon-root-button-group .sppb-addon,
.sppb-section .addon-root-button-group .sppb-addon-button-group,
.sppb-section .addon-root-button-group .sppb-addon-content {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Remove any pseudo overlay that may be creating the purple rectangle */
.sppb-section .addon-root-button-group::before,
.sppb-section .addon-root-button-group::after,
.sppb-section .addon-root-button-group > div::before,
.sppb-section .addon-root-button-group > div::after,
.sppb-section .addon-root-button-group .clearfix::before,
.sppb-section .addon-root-button-group .clearfix::after,
.sppb-section .addon-root-button-group .sppb-addon::before,
.sppb-section .addon-root-button-group .sppb-addon::after,
.sppb-section .addon-root-button-group .sppb-addon-button-group::before,
.sppb-section .addon-root-button-group .sppb-addon-button-group::after,
.sppb-section .addon-root-button-group .sppb-addon-content::before,
.sppb-section .addon-root-button-group .sppb-addon-content::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Desktop spacing without the purple panel showing */
@media (min-width: 992px) {
    .sppb-section .addon-root-button-group .sppb-addon-content {
        padding: 0 !important;
        gap: 22px !important;
        background: transparent !important;
    }
}

/* Keep only the buttons visible */
.sppb-section .addon-root-button-group .sppb-btn.sppb-btn-custom.sppb-btn-3d {
    position: relative !important;
    z-index: 2 !important;
}
/* =========================================================
   HERO BUTTON EDGE / PADDING FIX
   Adds breathing room around the two desktop buttons
   ========================================================= */

/* Give the button group proper padding so buttons don't touch the panel edge */
@media (min-width: 992px) {
    .sppb-section .addon-root-button-group .sppb-addon-content {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 24px !important;

        width: 100% !important;
        max-width: 780px !important;

        margin: 0 auto !important;

        /* This is the important bit */
        padding: 22px 34px !important;

        box-sizing: border-box !important;
        border-radius: 18px !important;
    }

    .sppb-section
        .addon-root-button-group
        .sppb-btn.sppb-btn-custom.sppb-btn-3d,
    .sppb-section
        .addon-root-button-group
        a.sppb-btn.sppb-btn-custom.sppb-btn-3d {
        width: 100% !important;
        max-width: 330px !important;
        min-height: 54px !important;

        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - GLASS IMAGE TILE OVERRIDE
   Paste this at the VERY BOTTOM of your custom CSS
   ========================================================= */

:root {
    --ftm-builder-purple: #4943ac;
    --ftm-builder-purple-dark: #302676;
    --ftm-builder-orange: #ff7a00;
    --ftm-builder-orange-2: #ff9b18;
    --ftm-builder-blue: #173f5f;
    --ftm-tile-radius: 24px;
    --ftm-tile-shadow: 0 22px 55px rgba(31, 26, 88, 0.28);
    --ftm-tile-shadow-hover: 0 28px 70px rgba(31, 26, 88, 0.38);
}

/* Better spacing between the option tiles */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group) {
    display: grid !important;
    gap: 30px !important;
    align-items: stretch !important;
}

/* Desktop: 3 columns */
@media (min-width: 1200px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Tablet: 2 columns */
@media (min-width: 768px) and (max-width: 1199px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile: 1 column */
@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group) {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }
}

/* Remove Bootstrap inline spacing so the glass tiles line up cleanly */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-inline {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    min-width: 0 !important;
}

/* Hide native inputs */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"],
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Main glass tile style */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label {
    position: relative !important;
    z-index: 0 !important;
    isolation: isolate !important;
    overflow: hidden !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: clamp(235px, 24vw, 320px) !important;
    margin: 0 !important;
    padding: 28px !important;

    border-radius: var(--ftm-tile-radius) !important;
    border: 1px solid rgba(255, 255, 255, 0.36) !important;

    background: linear-gradient(
        135deg,
        rgba(73, 67, 172, 0.38),
        rgba(23, 63, 95, 0.18)
    ) !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(1.25rem, 1.75vw, 1.65rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    text-align: center !important;
    text-shadow:
        0 3px 10px rgba(0, 0, 0, 0.75),
        0 1px 2px rgba(0, 0, 0, 0.75) !important;

    box-shadow:
        var(--ftm-tile-shadow),
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        inset 0 -80px 100px rgba(0, 0, 0, 0.16) !important;

    backdrop-filter: blur(12px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(135%) !important;

    cursor: pointer !important;
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        background-color 0.28s ease,
        color 0.28s ease !important;
}

/* Turn your existing ::before images into full background images */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;

    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    margin: 0 !important;

    border-radius: inherit !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    filter: brightness(0.74) saturate(1.12) contrast(1.04) !important;
    transform: scale(1.03) !important;
    transition:
        transform 0.45s ease,
        filter 0.45s ease !important;
}

/* Default hidden tick */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label::after {
    content: "" !important;
    display: none !important;
}

/* Hover style */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label:hover {
    color: #ffffff !important;
    transform: translateY(-6px) !important;
    border-color: rgba(255, 255, 255, 0.66) !important;
    background: linear-gradient(
        135deg,
        rgba(73, 67, 172, 0.44),
        rgba(255, 122, 0, 0.18)
    ) !important;
    box-shadow:
        var(--ftm-tile-shadow-hover),
        0 0 0 1px rgba(255, 255, 255, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.48) !important;
}

:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    transform: scale(1.09) !important;
    filter: brightness(0.82) saturate(1.18) contrast(1.07) !important;
}

/* Selected style for radios and checkboxes */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.85) !important;
    background: linear-gradient(
        135deg,
        rgba(73, 67, 172, 0.56),
        rgba(255, 122, 0, 0.26)
    ) !important;
    transform: translateY(-7px) scale(1.015) !important;
    box-shadow:
        0 0 0 4px rgba(255, 122, 0, 0.28),
        0 30px 75px rgba(31, 26, 88, 0.44),
        inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;
}

/* Darken selected image slightly so white text stays readable */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::before,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    filter: brightness(0.56) saturate(1.08) contrast(1.08) !important;
    transform: scale(1.08) !important;
}

/* Selected tick badge */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::after,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::after {
    content: "✓" !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    transform: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 46px !important;
    height: 46px !important;
    border-radius: 999px !important;

    color: #ffffff !important;
    background: linear-gradient(
        135deg,
        var(--ftm-builder-orange),
        var(--ftm-builder-orange-2)
    ) !important;

    font-size: 26px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-shadow: none !important;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;

    z-index: 5 !important;
}

/* Keyboard focus */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input:focus-visible
    + .form-check-label {
    outline: 4px solid rgba(255, 122, 0, 0.55) !important;
    outline-offset: 4px !important;
}

/* Accessories/logo tile fix so the logo does not crop badly */
#Marquee_Type5 + .form-check-label::before {
    background-size: 64% auto !important;
    background-color: rgba(255, 255, 255, 0.86) !important;
    filter: none !important;
}

#Marquee_Type5 + .form-check-label {
    color: var(--ftm-builder-blue) !important;
    text-shadow: none !important;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.56),
        rgba(255, 255, 255, 0.22)
    ) !important;
}

/* Mobile tile height/text tuning */
@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        .form-check-label {
        min-height: 220px !important;
        border-radius: 20px !important;
        padding: 24px 20px !important;
        font-size: 1.25rem !important;
    }

    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        input[type="radio"]:checked
        + .form-check-label::after,
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label::after {
        width: 40px !important;
        height: 40px !important;
        font-size: 23px !important;
        top: 12px !important;
        right: 12px !important;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - HOMEPAGE STYLE GLASS TILE FINISH
   Paste this at the VERY BOTTOM after the previous glass CSS
   ========================================================= */

/* Brighter homepage-style image tiles with glass edges */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label {
    min-height: clamp(250px, 24vw, 315px) !important;
    border-radius: 24px !important;

    /* Glass edge */
    border: 1px solid rgba(255, 255, 255, 0.62) !important;
    outline: 1px solid rgba(255, 255, 255, 0.18) !important;
    outline-offset: -6px !important;

    /* Less purple/dark overlay than before */
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.1) 0%,
        rgba(255, 255, 255, 0.02) 35%,
        rgba(0, 0, 0, 0.14) 100%
    ) !important;

    color: #ffffff !important;
    font-size: clamp(1.35rem, 1.8vw, 1.8rem) !important;
    font-weight: 800 !important;

    /* Strong enough text shadow without making whole image dark */
    text-shadow:
        0 4px 12px rgba(0, 0, 0, 0.82),
        0 2px 4px rgba(0, 0, 0, 0.72) !important;

    /* Homepage-style raised glass card */
    box-shadow:
        0 22px 50px rgba(24, 18, 89, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.72),
        inset 0 -1px 0 rgba(255, 255, 255, 0.22),
        inset 1px 0 0 rgba(255, 255, 255, 0.28),
        inset -1px 0 0 rgba(255, 255, 255, 0.16) !important;

    backdrop-filter: blur(10px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(135%) !important;
}

/* Make the actual images brighter and closer to the homepage */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label::before {
    filter: brightness(0.94) saturate(1.12) contrast(1.02) !important;
    transform: scale(1.025) !important;
}

/* Glass shine / rim overlay */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: auto !important;
    height: auto !important;
    transform: none !important;

    border-radius: inherit !important;
    pointer-events: none !important;
    z-index: 3 !important;

    /* This gives the tile the homepage-style glass edge */
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.42) 0%,
            rgba(255, 255, 255, 0.1) 18%,
            rgba(255, 255, 255, 0) 40%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0) 28%,
            rgba(0, 0, 0, 0.12) 100%
        ) !important;

    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.38),
        inset 0 12px 24px rgba(255, 255, 255, 0.12),
        inset 0 -28px 45px rgba(0, 0, 0, 0.1) !important;
}

/* Small pale tab at the top, similar to the homepage cards */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label {
    position: relative !important;
}

/* Top decorative glass tab */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label {
    background-clip: padding-box !important;
}

/* Hover: brighter image, stronger glass edge */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(255, 255, 255, 0.86) !important;
    outline-color: rgba(255, 255, 255, 0.34) !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.14) 0%,
        rgba(255, 255, 255, 0.03) 35%,
        rgba(0, 0, 0, 0.12) 100%
    ) !important;

    box-shadow:
        0 28px 65px rgba(24, 18, 89, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        inset 0 -1px 0 rgba(255, 255, 255, 0.28),
        inset 1px 0 0 rgba(255, 255, 255, 0.36),
        inset -1px 0 0 rgba(255, 255, 255, 0.22) !important;
}

:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    filter: brightness(1.02) saturate(1.18) contrast(1.04) !important;
    transform: scale(1.075) !important;
}

/* Selected state: keep it bright, not grey/dark */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label {
    border-color: rgba(255, 255, 255, 0.95) !important;
    outline-color: rgba(255, 255, 255, 0.42) !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.14) 0%,
        rgba(255, 255, 255, 0.02) 35%,
        rgba(73, 67, 172, 0.2) 100%
    ) !important;

    box-shadow:
        0 0 0 4px rgba(255, 122, 0, 0.26),
        0 30px 70px rgba(24, 18, 89, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.86),
        inset 0 -1px 0 rgba(255, 255, 255, 0.3),
        inset 1px 0 0 rgba(255, 255, 255, 0.36),
        inset -1px 0 0 rgba(255, 255, 255, 0.22) !important;
}

/* Do not grayscale/darken selected images */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::before,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    filter: brightness(0.9) saturate(1.16) contrast(1.04) !important;
    transform: scale(1.065) !important;
}

/* Selected tick badge */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::after,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::after {
    content: "✓" !important;
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;

    color: #ffffff !important;
    background: linear-gradient(135deg, #ff7a00, #ff9f1c) !important;
    font-size: 25px !important;
    font-weight: 900 !important;
    text-shadow: none !important;

    box-shadow:
        0 10px 24px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.5) !important;

    z-index: 5 !important;
}

/* Mobile tuning */
@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        .form-check-label {
        min-height: 225px !important;
        border-radius: 20px !important;
        font-size: 1.28rem !important;
        outline-offset: -5px !important;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - STRONGER SELECTED STATE
   Paste this at the VERY BOTTOM of your custom CSS
   ========================================================= */

:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label {
    border: 3px solid #ff8a00 !important;
    outline: 3px solid rgba(255, 255, 255, 0.72) !important;
    outline-offset: -9px !important;

    transform: translateY(-8px) scale(1.025) !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.04) 36%,
        rgba(255, 122, 0, 0.28) 100%
    ) !important;

    box-shadow:
        0 0 0 6px rgba(255, 138, 0, 0.25),
        0 0 0 11px rgba(73, 67, 172, 0.16),
        0 30px 75px rgba(24, 18, 89, 0.44),
        0 18px 36px rgba(255, 122, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        inset 0 -1px 0 rgba(255, 255, 255, 0.35),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
}

/* Keep the selected image bright but with enough contrast */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::before,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    filter: brightness(0.86) saturate(1.22) contrast(1.08) !important;
    transform: scale(1.08) !important;
}

/* Bigger selected badge */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::after,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::after {
    content: "✓ Selected" !important;

    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    width: auto !important;
    height: auto !important;
    min-width: 108px !important;
    min-height: 38px !important;
    padding: 9px 14px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;

    color: #ffffff !important;
    background: linear-gradient(135deg, #ff7a00 0%, #ff9f1c 100%) !important;

    font-size: 0.88rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    text-shadow: none !important;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.34),
        0 0 0 4px rgba(255, 255, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;

    z-index: 10 !important;
    pointer-events: none !important;
}

/* Add a subtle selected glow from the bottom */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label {
    color: #ffffff !important;
}

:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label {
    color: #ffffff !important;
}

/* Mobile selected badge */
@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        input[type="radio"]:checked
        + .form-check-label,
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label {
        outline-offset: -7px !important;
        box-shadow:
            0 0 0 4px rgba(255, 138, 0, 0.25),
            0 0 0 8px rgba(73, 67, 172, 0.14),
            0 22px 50px rgba(24, 18, 89, 0.38),
            0 12px 26px rgba(255, 122, 0, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.88),
            inset 0 0 0 1px rgba(255, 255, 255, 0.36) !important;
    }

    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        input[type="radio"]:checked
        + .form-check-label::after,
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label::after {
        top: 12px !important;
        right: 12px !important;
        min-width: 94px !important;
        min-height: 34px !important;
        padding: 8px 12px !important;
        font-size: 0.78rem !important;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - STOP PRODUCT IMAGES BEING CUT OFF
   Paste this at the VERY BOTTOM of your CSS
   ========================================================= */

/* Product/item sections should show the full item, not crop it */
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2
    )
    .formControls:not(.btn-group)
    .form-check-label::before {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;

    /* Stop the zoom from cropping the product */
    transform: none !important;

    /* Keep product images bright and clean */
    filter: brightness(1) saturate(1.05) contrast(1.02) !important;
}

/* Keep hover nice without cutting the image */
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2
    )
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    background-size: contain !important;
    transform: none !important;
    filter: brightness(1.03) saturate(1.08) contrast(1.03) !important;
}

/* Keep selected item visible, not dark/cropped */
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::before,
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    background-size: contain !important;
    transform: none !important;
    filter: brightness(0.98) saturate(1.12) contrast(1.04) !important;
}

/* Add a softer background behind product images so they still feel like glass cards */
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2
    )
    .formControls:not(.btn-group)
    .form-check-label {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.22) 0%,
        rgba(255, 255, 255, 0.08) 45%,
        rgba(73, 67, 172, 0.08) 100%
    ) !important;
}
/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - FIX WEIRD IMAGE EDGES
   Paste this at the VERY BOTTOM of your custom CSS
   ========================================================= */

/* =========================================================
   PHOTO-STYLE SECTIONS
   These should fill the tile like the homepage, so use COVER.
   This removes the strange white side edges.
   ========================================================= */

:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-marquee-lining,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-dance-floors,
        .rsform-block-matting
    )
    .formControls:not(.btn-group)
    .form-check-label::before {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;

    /* Fill the card softly like the homepage */
    transform: scale(1.035) !important;
    filter: brightness(0.96) saturate(1.12) contrast(1.03) !important;
}

/* Hover state for photo-style tiles */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-marquee-lining,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-dance-floors,
        .rsform-block-matting
    )
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    background-size: cover !important;
    transform: scale(1.075) !important;
    filter: brightness(1.03) saturate(1.18) contrast(1.04) !important;
}

/* Selected state for photo-style tiles */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-marquee-lining,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-dance-floors,
        .rsform-block-matting
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::before,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-marquee-lining,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-dance-floors,
        .rsform-block-matting
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    background-size: cover !important;
    transform: scale(1.065) !important;
    filter: brightness(0.92) saturate(1.18) contrast(1.05) !important;
}

/* =========================================================
   PRODUCT CUT-OUT SECTIONS
   These should NOT crop, so use CONTAIN.
   This is best for chairs, tables, carpets, power items, etc.
   ========================================================= */

:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-misc,
        .rsform-block-carpet
    )
    .formControls:not(.btn-group)
    .form-check-label::before {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;

    /* Do not zoom product cut-out images */
    transform: none !important;
    filter: brightness(1) saturate(1.06) contrast(1.02) !important;
}

/* Hover state for product cut-out sections */
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-misc,
        .rsform-block-carpet
    )
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    background-size: contain !important;
    transform: none !important;
    filter: brightness(1.03) saturate(1.1) contrast(1.03) !important;
}

/* Selected state for product cut-out sections */
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-misc,
        .rsform-block-carpet
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label::before,
:is(
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-power-supplies,
        .rsform-block-heating-and-cooling,
        .rsform-block-misc,
        .rsform-block-carpet
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    background-size: contain !important;
    transform: none !important;
    filter: brightness(0.98) saturate(1.12) contrast(1.04) !important;
}

/* =========================================================
   RESTORE HOMEPAGE-STYLE GLASS FINISH
   Keeps the rounded glass edge without the harsh white strips.
   ========================================================= */

:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    .form-check-label {
    border: 1px solid rgba(255, 255, 255, 0.68) !important;
    outline: 1px solid rgba(255, 255, 255, 0.22) !important;
    outline-offset: -6px !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.03) 38%,
        rgba(0, 0, 0, 0.12) 100%
    ) !important;

    box-shadow:
        0 22px 50px rgba(24, 18, 89, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.74),
        inset 0 -1px 0 rgba(255, 255, 255, 0.24),
        inset 1px 0 0 rgba(255, 255, 255, 0.28),
        inset -1px 0 0 rgba(255, 255, 255, 0.18) !important;
}

/* Keep the selected option obvious */
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="radio"]:checked
    + .form-check-label,
:is(
        .rsform-block-marquee-type,
        .rsform-block-lighting-options,
        .rsform-block-lighting-options-2,
        .rsform-block-hard-flooring-type,
        .rsform-block-hard-flooring-type-1,
        .rsform-block-hard-flooring-type-2,
        .rsform-block-hard-flooring-type-3,
        .rsform-block-hard-flooring-type-4,
        .rsform-block-hard-flooring-type-5,
        .rsform-block-hard-flooring-type-6,
        .rsform-block-marquee-lining,
        .rsform-block-matting,
        .rsform-block-carpet,
        .rsform-block-annexes-1,
        .rsform-block-catering-annex,
        .rsform-block-power-supplies,
        .rsform-block-entrance-porch,
        .rsform-block-entrance-porch-2,
        .rsform-block-formal-and-occasional-seating,
        .rsform-block-event-tables,
        .rsform-block-bar-area,
        .rsform-block-heating-and-cooling,
        .rsform-block-dance-floors,
        .rsform-block-misc
    )
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label {
    border: 3px solid #ff8a00 !important;
    outline: 3px solid rgba(255, 255, 255, 0.72) !important;
    outline-offset: -9px !important;

    box-shadow:
        0 0 0 6px rgba(255, 138, 0, 0.24),
        0 0 0 11px rgba(73, 67, 172, 0.14),
        0 30px 75px rgba(24, 18, 89, 0.4),
        0 18px 36px rgba(255, 122, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        inset 0 -1px 0 rgba(255, 255, 255, 0.34),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
}
/* =========================================================
   FAIRYTALE MARQUEES
   MISC SECTION - FIX MIXED PHOTO / PRODUCT IMAGE EDGES
   Paste this at the VERY BOTTOM of your custom CSS
   ========================================================= */

/* Outdoor Privacy Screen + Glazed Door are photo-style images.
   Use COVER so they fill the tile like the homepage cards. */
#Misc0 + .form-check-label::before,
#Misc1 + .form-check-label::before {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
    transform: scale(1.035) !important;
    filter: brightness(0.96) saturate(1.12) contrast(1.03) !important;
}

/* Hover state for the photo-style Misc images */
#Misc0 + .form-check-label:hover::before,
#Misc1 + .form-check-label:hover::before {
    background-size: cover !important;
    background-position: center center !important;
    transform: scale(1.075) !important;
    filter: brightness(1.03) saturate(1.18) contrast(1.04) !important;
}

/* Selected state for the photo-style Misc images */
#Misc0:checked + .form-check-label::before,
#Misc1:checked + .form-check-label::before {
    background-size: cover !important;
    background-position: center center !important;
    transform: scale(1.065) !important;
    filter: brightness(0.92) saturate(1.18) contrast(1.05) !important;
}

/* Coat Rail is a cut-out product image.
   Use CONTAIN so the whole product remains visible. */
#Misc2 + .form-check-label::before {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;
    transform: none !important;
    filter: brightness(1) saturate(1.06) contrast(1.02) !important;
}

/* Hover state for Coat Rail */
#Misc2 + .form-check-label:hover::before {
    background-size: contain !important;
    background-position: center center !important;
    transform: none !important;
    filter: brightness(1.03) saturate(1.1) contrast(1.03) !important;
}

/* Selected state for Coat Rail */
#Misc2:checked + .form-check-label::before {
    background-size: contain !important;
    background-position: center center !important;
    transform: none !important;
    filter: brightness(0.98) saturate(1.12) contrast(1.04) !important;
}

/* Remove the harsh white-strip look from photo Misc tiles */
#Misc0 + .form-check-label,
#Misc1 + .form-check-label {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.03) 38%,
        rgba(0, 0, 0, 0.12) 100%
    ) !important;
}

/* Keep Coat Rail cleaner because it has a white product background */
#Misc2 + .form-check-label {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.26) 0%,
        rgba(255, 255, 255, 0.12) 45%,
        rgba(73, 67, 172, 0.08) 100%
    ) !important;
}
/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - MOBILE IMAGE CROP FIX
   Paste this at the VERY BOTTOM of your custom CSS
   ========================================================= */

/* =========================================================
   1. Make mobile cards taller so images have more height
   ========================================================= */

@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        .form-check-label {
        min-height: 320px !important;
        height: auto !important;
        border-radius: 22px !important;
        padding: 26px 18px !important;
    }
}

/* =========================================================
   2. On mobile, reduce image zoom so cover images crop less
   ========================================================= */

@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-marquee-lining,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-dance-floors,
            .rsform-block-matting
        )
        .formControls:not(.btn-group)
        .form-check-label::before {
        background-size: cover !important;
        background-position: center center !important;
        transform: scale(1.01) !important;
        filter: brightness(0.96) saturate(1.12) contrast(1.03) !important;
    }

    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-marquee-lining,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-dance-floors,
            .rsform-block-matting
        )
        .formControls:not(.btn-group)
        .form-check-label:hover::before {
        background-size: cover !important;
        background-position: center center !important;
        transform: scale(1.025) !important;
        filter: brightness(1.02) saturate(1.16) contrast(1.04) !important;
    }

    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-marquee-lining,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-dance-floors,
            .rsform-block-matting
        )
        .formControls:not(.btn-group)
        input[type="radio"]:checked
        + .form-check-label::before,
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-marquee-lining,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-dance-floors,
            .rsform-block-matting
        )
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label::before {
        background-size: cover !important;
        background-position: center center !important;
        transform: scale(1.015) !important;
        filter: brightness(0.92) saturate(1.16) contrast(1.04) !important;
    }
}

/* =========================================================
   3. Lighting product images should not crop on mobile
   Chandelier and disco ball are product images, not background photos.
   ========================================================= */

@media (max-width: 767px) {
    #Lighting_Options0 + .form-check-label::before,
    #Lighting_Options1 + .form-check-label::before,
    #Lighting_Options_20 + .form-check-label::before {
        background-size: contain !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-color: #ffffff !important;
        transform: none !important;
        filter: brightness(1) saturate(1.06) contrast(1.02) !important;
    }

    #Lighting_Options0 + .form-check-label:hover::before,
    #Lighting_Options1 + .form-check-label:hover::before,
    #Lighting_Options_20 + .form-check-label:hover::before {
        background-size: contain !important;
        background-position: center center !important;
        transform: none !important;
        filter: brightness(1.03) saturate(1.1) contrast(1.03) !important;
    }

    #Lighting_Options0:checked + .form-check-label::before,
    #Lighting_Options1:checked + .form-check-label::before,
    #Lighting_Options_20:checked + .form-check-label::before {
        background-size: contain !important;
        background-position: center center !important;
        transform: none !important;
        filter: brightness(0.98) saturate(1.12) contrast(1.04) !important;
    }
}

/* =========================================================
   4. Slightly reduce mobile text size so it does not dominate
   ========================================================= */

@media (max-width: 767px) {
    :is(
            .rsform-block-marquee-type,
            .rsform-block-lighting-options,
            .rsform-block-lighting-options-2,
            .rsform-block-hard-flooring-type,
            .rsform-block-hard-flooring-type-1,
            .rsform-block-hard-flooring-type-2,
            .rsform-block-hard-flooring-type-3,
            .rsform-block-hard-flooring-type-4,
            .rsform-block-hard-flooring-type-5,
            .rsform-block-hard-flooring-type-6,
            .rsform-block-marquee-lining,
            .rsform-block-matting,
            .rsform-block-carpet,
            .rsform-block-annexes-1,
            .rsform-block-catering-annex,
            .rsform-block-power-supplies,
            .rsform-block-entrance-porch,
            .rsform-block-entrance-porch-2,
            .rsform-block-formal-and-occasional-seating,
            .rsform-block-event-tables,
            .rsform-block-bar-area,
            .rsform-block-heating-and-cooling,
            .rsform-block-dance-floors,
            .rsform-block-misc
        )
        .formControls:not(.btn-group)
        .form-check-label {
        font-size: clamp(1.15rem, 5vw, 1.45rem) !important;
        line-height: 1.12 !important;
    }
}
/* =========================================================
   FAIRYTALE MARQUEES
   Custom Styling Pack
   ---------------------------------------------------------
   Includes:
   1. Alternating luxury image/text collage cards
   2. Why Choose Us premium card grid
   3. Marquee Builder Accessories Only tile
   4. Carpet option tile fixes
   ========================================================= */

/* =========================================================
   1. IMAGE/TEXT COLLAGE CARDS
   ---------------------------------------------------------
   Targets SP Page Builder Image Layout Collage sections.
   Creates large alternating image/text cards with a luxury
   purple content panel and orange CTA styling.
   ========================================================= */

/* Outer layout container */
.sppb-addon-image-layouts {
    width: 100%;
}

/* Controls card width and spacing between collage sections */
.sppb-addon-image-layout-wrap.image-layout-preset-style-collage {
    max-width: 1180px;
    margin: 0 auto 90px;
    padding-left: 24px;
    padding-right: 24px;
}

/* Main card wrapper */
.sppb-addon-image-layout-wrap.image-layout-preset-style-collage > .sppb-row {
    display: flex;
    align-items: stretch;
    justify-content: center;
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
    border-radius: 26px;
    background: #ffffff;
    box-shadow: 0 26px 60px rgba(20, 20, 40, 0.14);
}

/* Removes SP Page Builder’s default column padding */
.sppb-addon-image-layout-wrap.image-layout-preset-style-collage .sppb-col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

/* Image column */
.sppb-addon-image-layout-image.image-fit {
    width: 100%;
    height: 100%;
    min-height: 500px;
    overflow: hidden;
    background: #eeeeee;
}

.sppb-addon-image-layout-image.image-fit img,
.sppb-addon-image-layout-image img.image-fit {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 500px;
    object-fit: cover;
    object-position: center;
    transition: transform 0.45s ease;
}

/* Subtle image zoom on hover */
.sppb-addon-image-layout-wrap.image-layout-preset-style-collage:hover
    .sppb-addon-image-layout-image.image-fit
    img,
.sppb-addon-image-layout-wrap.image-layout-preset-style-collage:hover
    .sppb-addon-image-layout-image
    img.image-fit {
    transform: scale(1.035);
}

/* Text column */
.sppb-addon-image-layout-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    min-height: 500px;
    padding: 58px 62px;
    background: linear-gradient(135deg, #342985 0%, #211b58 100%);
    color: #ffffff;
}

/* Orange accent above text */
.sppb-addon-image-layout-content::before {
    content: "";
    display: block;
    width: 68px;
    height: 4px;
    margin-bottom: 26px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffb12a 0%, #ff7a00 100%);
}

/* Normalises SP Page Builder alignment classes */
.sppb-addon-image-layout-content.sppb-text-alignment,
.sppb-addon-image-layout-content.collage-content-right,
.sppb-addon-image-layout-content.collage-content-left {
    text-align: left;
}

/* Keeps content readable and prevents very wide text lines */
.sppb-addon-image-layout-text {
    max-width: 610px;
}

/* Section headings */
.sppb-addon-image-layout-text h1,
.sppb-addon-image-layout-text h2,
.sppb-addon-image-layout-text h3 {
    margin: 0 0 24px;
    padding: 0;
    color: #ffffff;
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.04em;
}

/* Overrides inline editor font sizes */
.sppb-addon-image-layout-text h1 span,
.sppb-addon-image-layout-text h2 span,
.sppb-addon-image-layout-text h3 span {
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Removes unwanted editor line breaks inside headings */
.sppb-addon-image-layout-text h1 br,
.sppb-addon-image-layout-text h2 br,
.sppb-addon-image-layout-text h3 br {
    display: none;
}

/* Body copy */
.sppb-addon-image-layout-text p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 16px;
    line-height: 1.72;
    font-weight: 400;
}

.sppb-addon-image-layout-text p:last-child {
    margin-bottom: 30px;
}

/* CTA buttons inside collage cards */
.sppb-addon-image-layout-content .sppb-btn,
.sppb-addon-image-layout-content a.sppb-btn,
.sppb-addon-image-layout-content .sppb-btn-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 240px;
    max-width: 100%;
    min-height: 58px;
    padding: 16px 34px;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ffb12a 0%, #ff7a00 100%) !important;
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    box-shadow: 0 14px 32px rgba(255, 122, 0, 0.34);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.sppb-addon-image-layout-content .sppb-btn:hover,
.sppb-addon-image-layout-content a.sppb-btn:hover,
.sppb-addon-image-layout-content .sppb-btn-custom:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #ffc04a 0%, #ff8508 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 38px rgba(255, 122, 0, 0.44);
}

/* Makes alternating SP Page Builder columns fill evenly */
.sppb-addon-image-layout-wrap.image-layout-preset-style-collage
    .collage-content-vertical-center {
    display: flex;
    align-items: stretch;
}

.sppb-addon-image-layout-wrap.image-layout-preset-style-collage
    .collage-content-vertical-center
    .sppb-addon-image-layout-content {
    width: 100%;
}

/* Desktop layout */
@media (min-width: 992px) {
    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        > .sppb-row {
        min-height: 500px;
    }

    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        .sppb-col-sm-6 {
        display: flex;
    }

    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        .sppb-addon-image-layout-image,
    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        .sppb-addon-image-layout-content {
        flex: 1;
    }
}

/* Tablet layout */
@media (max-width: 991px) {
    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage {
        max-width: 94%;
        margin-bottom: 72px;
        padding-left: 0;
        padding-right: 0;
    }

    .sppb-addon-image-layout-content {
        min-height: 460px;
        padding: 46px 42px;
    }

    .sppb-addon-image-layout-image.image-fit,
    .sppb-addon-image-layout-image.image-fit img,
    .sppb-addon-image-layout-image img.image-fit {
        min-height: 460px;
    }

    .sppb-addon-image-layout-text h1,
    .sppb-addon-image-layout-text h2,
    .sppb-addon-image-layout-text h3 {
        font-size: 34px;
    }

    .sppb-addon-image-layout-text p {
        font-size: 15px;
        line-height: 1.68;
    }
}

/* Mobile layout */
@media (max-width: 767px) {
    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage {
        max-width: calc(100% - 30px);
        margin-bottom: 56px;
    }

    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        > .sppb-row {
        display: flex;
        flex-direction: column;
        border-radius: 22px;
    }

    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        .sppb-col-sm-6 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    /* Keeps the image above the text on mobile */
    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        .sppb-addon-image-layout-image {
        order: 1;
    }

    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage
        .collage-content-vertical-center {
        order: 2;
    }

    .sppb-addon-image-layout-image.image-fit,
    .sppb-addon-image-layout-image.image-fit img,
    .sppb-addon-image-layout-image img.image-fit {
        height: 285px;
        min-height: 285px;
    }

    .sppb-addon-image-layout-content {
        min-height: auto;
        padding: 36px 26px 38px;
    }

    .sppb-addon-image-layout-content::before {
        width: 56px;
        height: 4px;
        margin-bottom: 22px;
    }

    .sppb-addon-image-layout-text h1,
    .sppb-addon-image-layout-text h2,
    .sppb-addon-image-layout-text h3 {
        margin-bottom: 20px;
        font-size: 30px;
    }

    .sppb-addon-image-layout-text p {
        margin-bottom: 16px;
        font-size: 15px;
        line-height: 1.65;
    }

    .sppb-addon-image-layout-text p:last-child {
        margin-bottom: 26px;
    }

    .sppb-addon-image-layout-content .sppb-btn,
    .sppb-addon-image-layout-content a.sppb-btn,
    .sppb-addon-image-layout-content .sppb-btn-custom {
        width: 100%;
        min-width: 0;
        min-height: 56px;
    }
}

/* Small mobile layout */
@media (max-width: 480px) {
    .sppb-addon-image-layout-wrap.image-layout-preset-style-collage {
        max-width: calc(100% - 22px);
        margin-bottom: 46px;
    }

    .sppb-addon-image-layout-content {
        padding: 32px 22px 34px;
    }

    .sppb-addon-image-layout-image.image-fit,
    .sppb-addon-image-layout-image.image-fit img,
    .sppb-addon-image-layout-image img.image-fit {
        height: 245px;
        min-height: 245px;
    }

    .sppb-addon-image-layout-text h1,
    .sppb-addon-image-layout-text h2,
    .sppb-addon-image-layout-text h3 {
        font-size: 27px;
    }

    .sppb-addon-image-layout-text p {
        font-size: 14.5px;
    }
}

/* =========================================================
   2. WHY CHOOSE US SECTION
   ---------------------------------------------------------
   Converts the text-heavy section into a clean premium grid.
   Uses individual paragraph cards with tick icons and gold
   accents for better readability.
   ========================================================= */

/* Main section width */
#column-id-1611313423836 {
    max-width: 1180px;
    margin: 0 auto;
}

/* Section padding */
#column-id-1611313423836 .sppb-column-addons {
    padding: 35px 22px 45px;
}

/* Centres the heading area */
#sppb-addon-wrapper-1611313423837,
#sppb-addon-1611313423837,
#sppb-addon-1611313423837 .sppb-addon-header {
    text-align: center;
}

/* Main heading */
#sppb-addon-1611313423837 .sppb-addon-title {
    position: relative;
    display: inline-block;
    margin: 0 0 34px;
    padding-bottom: 14px;
    color: #74213f;
    font-size: clamp(32px, 3vw, 44px);
    font-weight: 800;
    letter-spacing: -0.8px;
    text-transform: uppercase;
    line-height: 1.1;
}

/* Gold underline below heading */
#sppb-addon-1611313423837 .sppb-addon-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 82px;
    height: 4px;
    background: linear-gradient(90deg, #b98932, #e7c978, #b98932);
    border-radius: 999px;
    transform: translateX(-50%);
}

/* Removes old boxed styling from the text block */
#sppb-addon-1611313540255 .sppb-addon-text-block {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

/* Two-column card grid */
#sppb-addon-1611313540255 .sppb-addon-content > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

/* Individual reason cards */
#sppb-addon-1611313540255 .sppb-addon-content p {
    position: relative;
    margin: 0;
    padding: 28px 30px 28px 74px;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(116, 33, 63, 0.1);
    border-radius: 22px;
    color: #222222;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.7;
    text-align: left;
    box-shadow: 0 18px 45px rgba(20, 20, 20, 0.07);
}

/* Makes the opening paragraph feel like an intro card */
#sppb-addon-1611313540255 .sppb-addon-content p:first-child {
    grid-column: 1 / -1;
    max-width: 860px;
    margin: 0 auto;
}

/* Tick icon on each card */
#sppb-addon-1611313540255 .sppb-addon-content p::before {
    content: "✓";
    position: absolute;
    top: 30px;
    left: 30px;
    width: 30px;
    height: 30px;
    background: #74213f;
    color: #ffffff;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 800;
    line-height: 30px;
    text-align: center;
    box-shadow: 0 8px 18px rgba(116, 33, 63, 0.24);
}

/* Small gold accent inside each card */
#sppb-addon-1611313540255 .sppb-addon-content p::after {
    content: "";
    position: absolute;
    left: 30px;
    bottom: 22px;
    width: 42px;
    height: 3px;
    background: linear-gradient(90deg, #b98932, #e7c978);
    border-radius: 999px;
    opacity: 0.75;
}

/* Desktop hover lift */
@media (hover: hover) {
    #sppb-addon-1611313540255 .sppb-addon-content p {
        transition:
            transform 0.25s ease,
            box-shadow 0.25s ease,
            border-color 0.25s ease;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p:hover {
        transform: translateY(-4px);
        border-color: rgba(116, 33, 63, 0.22);
        box-shadow: 0 24px 58px rgba(20, 20, 20, 0.1);
    }
}

/* Why Choose Us tablet layout */
@media (max-width: 991px) {
    #column-id-1611313423836 {
        max-width: 94%;
    }

    #sppb-addon-1611313540255 .sppb-addon-content > div {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p:first-child {
        max-width: none;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p {
        padding: 24px 26px 24px 68px;
        font-size: 16px;
        line-height: 1.65;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p::before {
        top: 26px;
        left: 26px;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p::after {
        left: 26px;
    }
}

/* Why Choose Us mobile layout */
@media (max-width: 767px) {
    #column-id-1611313423836 .sppb-column-addons {
        padding: 25px 14px 35px;
    }

    #sppb-addon-1611313423837 .sppb-addon-title {
        margin-bottom: 24px;
        font-size: 30px;
    }

    #sppb-addon-1611313540255 .sppb-addon-content > div {
        gap: 15px;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p {
        padding: 22px 20px 22px 58px;
        border-radius: 18px;
        font-size: 15.5px;
        line-height: 1.6;
        box-shadow: 0 12px 30px rgba(20, 20, 20, 0.065);
    }

    #sppb-addon-1611313540255 .sppb-addon-content p::before {
        top: 23px;
        left: 20px;
        width: 26px;
        height: 26px;
        font-size: 14px;
        line-height: 26px;
    }

    #sppb-addon-1611313540255 .sppb-addon-content p::after {
        display: none;
    }
}

/* =========================================================
   3. MARQUEE BUILDER - ACCESSORIES ONLY TILE
   ---------------------------------------------------------
   Rebuilds the Accessories Only option as a premium branded
   glass tile with the Fairytale logo panel, orange emphasis,
   hover state, and clear selected badge.
   ========================================================= */

/* Main Accessories Only tile */
#Marquee_Type5 + .form-check-label {
    position: relative !important;
    overflow: hidden !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;

    min-height: clamp(250px, 24vw, 315px) !important;
    padding: 28px 28px 30px !important;

    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    outline: 1px solid rgba(255, 255, 255, 0.28) !important;
    outline-offset: -6px !important;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(255, 255, 255, 0.96) 0%,
            rgba(255, 255, 255, 0.76) 31%,
            rgba(73, 67, 172, 0.2) 58%,
            rgba(73, 67, 172, 0.34) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.16) 0%,
            rgba(255, 255, 255, 0.04) 46%,
            rgba(255, 122, 0, 0.42) 100%
        ) !important;
    background-clip: padding-box !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(1.15rem, 1.5vw, 1.45rem) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;

    box-shadow:
        0 22px 50px rgba(24, 18, 89, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        inset 0 -1px 0 rgba(255, 255, 255, 0.25),
        inset 1px 0 0 rgba(255, 255, 255, 0.28),
        inset -1px 0 0 rgba(255, 255, 255, 0.18) !important;
}

/* Logo panel inside the Accessories Only tile */
#Marquee_Type5 + .form-check-label::before {
    content: "" !important;
    position: absolute !important;

    top: 34px !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;

    width: min(72%, 310px) !important;
    height: 58% !important;
    max-width: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;

    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.72) !important;

    background-image: url("/images/fairytale-logo-builder.png") !important;
    background-size: 74% auto !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: rgba(255, 255, 255, 0.92) !important;

    filter: none !important;
    opacity: 1 !important;
    z-index: -1 !important;

    box-shadow:
        0 16px 35px rgba(24, 18, 89, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        inset 0 -1px 0 rgba(73, 67, 172, 0.1) !important;
}

/* Keeps any nested label content above the logo panel */
#Marquee_Type5 + .form-check-label > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Accessories hover state */
#Marquee_Type5 + .form-check-label:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(255, 255, 255, 0.88) !important;
    outline-color: rgba(255, 255, 255, 0.38) !important;

    box-shadow:
        0 28px 65px rgba(24, 18, 89, 0.34),
        0 14px 30px rgba(255, 122, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.88),
        inset 0 -1px 0 rgba(255, 255, 255, 0.3),
        inset 1px 0 0 rgba(255, 255, 255, 0.36),
        inset -1px 0 0 rgba(255, 255, 255, 0.22) !important;
}

#Marquee_Type5 + .form-check-label:hover::before {
    transform: translateX(-50%) scale(1.025) !important;
    filter: none !important;
}

/* Accessories selected state */
#Marquee_Type5:checked + .form-check-label {
    transform: translateY(-8px) scale(1.025) !important;

    border: 3px solid #ff8a00 !important;
    outline: 3px solid rgba(255, 255, 255, 0.76) !important;
    outline-offset: -9px !important;

    background:
        radial-gradient(
            circle at 50% 32%,
            rgba(255, 255, 255, 0.98) 0%,
            rgba(255, 255, 255, 0.78) 31%,
            rgba(255, 138, 0, 0.24) 58%,
            rgba(73, 67, 172, 0.36) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.18) 0%,
            rgba(255, 255, 255, 0.05) 45%,
            rgba(255, 122, 0, 0.48) 100%
        ) !important;

    box-shadow:
        0 0 0 6px rgba(255, 138, 0, 0.25),
        0 0 0 11px rgba(73, 67, 172, 0.16),
        0 30px 75px rgba(24, 18, 89, 0.42),
        0 18px 36px rgba(255, 122, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.94),
        inset 0 -1px 0 rgba(255, 255, 255, 0.36),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
}

#Marquee_Type5:checked + .form-check-label::before {
    transform: translateX(-50%) scale(1.02) !important;
    background-size: 74% auto !important;
    filter: none !important;
}

/* Accessories selected badge */
#Marquee_Type5:checked + .form-check-label::after {
    content: "✓ Selected" !important;

    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: auto !important;
    min-width: 108px !important;
    min-height: 38px !important;
    padding: 9px 14px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;

    background: linear-gradient(135deg, #ff7a00 0%, #ff9f1c 100%) !important;
    color: #ffffff !important;

    font-size: 0.88rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-shadow: none !important;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.34),
        0 0 0 4px rgba(255, 255, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;

    z-index: 10 !important;
    pointer-events: none !important;
}

/* Accessories mobile layout */
@media (max-width: 767px) {
    #Marquee_Type5 + .form-check-label {
        min-height: 300px !important;
        padding: 24px 20px 28px !important;
        border-radius: 22px !important;
        font-size: 1.2rem !important;
    }

    #Marquee_Type5 + .form-check-label::before {
        top: 32px !important;
        width: 78% !important;
        height: 55% !important;
        border-radius: 18px !important;
        background-size: 78% auto !important;
    }

    #Marquee_Type5:checked + .form-check-label::after {
        top: 12px !important;
        right: 12px !important;
        min-width: 94px !important;
        min-height: 34px !important;
        padding: 8px 12px !important;
        font-size: 0.78rem !important;
    }
}

/* =========================================================
   4. MARQUEE BUILDER - CARPET OPTION TILES
   ---------------------------------------------------------
   Fixes carpet options so every swatch fills the full tile,
   removes white side strips, keeps the glass-card style, and
   adds clear hover/selected states.
   ========================================================= */

/* Carpet option grid */
.rsform-type-checkboxgroup.rsform-block-carpet .formControls {
    display: grid !important;
    gap: 30px !important;
}

/* Carpet grid - desktop */
@media (min-width: 1200px) {
    .rsform-type-checkboxgroup.rsform-block-carpet .formControls {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Carpet grid - tablet */
@media (min-width: 768px) and (max-width: 1199px) {
    .rsform-type-checkboxgroup.rsform-block-carpet .formControls {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Carpet grid - mobile */
@media (max-width: 767px) {
    .rsform-type-checkboxgroup.rsform-block-carpet .formControls {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }
}

/* Removes Bootstrap spacing around each carpet option */
.rsform-type-checkboxgroup.rsform-block-carpet .form-check,
.rsform-type-checkboxgroup.rsform-block-carpet .form-check-inline {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Hides native carpet checkboxes */
.rsform-type-checkboxgroup.rsform-block-carpet
    input[type="checkbox"].rsform-checkbox,
.rsform-type-checkboxgroup.rsform-block-carpet
    input[type="checkbox"].form-check-input {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Main carpet tile */
.rsform-type-checkboxgroup.rsform-block-carpet .form-check-label {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(250px, 24vw, 315px) !important;
    margin: 0 !important;
    padding: 28px !important;

    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
    outline: 1px solid rgba(255, 255, 255, 0.24) !important;
    outline-offset: -6px !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.1) 0%,
        rgba(0, 0, 0, 0.12) 42%,
        rgba(0, 0, 0, 0.26) 100%
    ) !important;
    background-color: transparent !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(1.25rem, 1.75vw, 1.65rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    text-align: center !important;

    text-shadow:
        0 3px 10px rgba(0, 0, 0, 0.78),
        0 1px 3px rgba(0, 0, 0, 0.78) !important;

    box-shadow:
        0 22px 50px rgba(24, 18, 89, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.74),
        inset 0 -1px 0 rgba(255, 255, 255, 0.24),
        inset 1px 0 0 rgba(255, 255, 255, 0.28),
        inset -1px 0 0 rgba(255, 255, 255, 0.18) !important;

    cursor: pointer !important;

    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        outline-color 0.28s ease !important;
}

/* Full-tile carpet image layer */
.rsform-type-checkboxgroup.rsform-block-carpet .form-check-label::before,
#Carpet0 + .form-check-label::before,
#Carpet1 + .form-check-label::before,
#Carpet2 + .form-check-label::before,
#Carpet3 + .form-check-label::before,
#Carpet4 + .form-check-label::before,
#Carpet5 + .form-check-label::before,
#Carpet6 + .form-check-label::before,
#Carpet7 + .form-check-label::before,
#Carpet8 + .form-check-label::before {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;

    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;

    border-radius: inherit !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;

    transform: scale(1.02) !important;
    filter: brightness(0.92) saturate(1.12) contrast(1.05) !important;

    z-index: -2 !important;
    opacity: 1 !important;

    transition:
        transform 0.35s ease,
        filter 0.35s ease !important;
}

/* Carpet swatch images */
#Carpet0 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-anthracite.jpg") !important;
}

#Carpet1 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-black.jpg") !important;
}

#Carpet2 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-blue.jpg") !important;
}

#Carpet3 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-coffee.jpg") !important;
}

#Carpet4 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-cream.jpg") !important;
}

#Carpet5 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-green.jpg") !important;
}

#Carpet6 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-pink.jpg") !important;
}

#Carpet7 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-purple.jpg") !important;
}

#Carpet8 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/new-corded-carpet-red.jpg") !important;
}

/* Carpet hover state */
.rsform-type-checkboxgroup.rsform-block-carpet .form-check-label:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(255, 255, 255, 0.86) !important;
    outline-color: rgba(255, 255, 255, 0.34) !important;
    color: #ffffff !important;

    box-shadow:
        0 28px 65px rgba(24, 18, 89, 0.34),
        inset 0 1px 0 rgba(255, 255, 255, 0.86),
        inset 0 -1px 0 rgba(255, 255, 255, 0.3),
        inset 1px 0 0 rgba(255, 255, 255, 0.36),
        inset -1px 0 0 rgba(255, 255, 255, 0.22) !important;
}

.rsform-type-checkboxgroup.rsform-block-carpet .form-check-label:hover::before {
    transform: scale(1.045) !important;
    background-size: cover !important;
    filter: brightness(0.98) saturate(1.18) contrast(1.06) !important;
}

/* Carpet selected state */
.rsform-type-checkboxgroup.rsform-block-carpet
    input[type="checkbox"]:checked
    + .form-check-label {
    transform: translateY(-8px) scale(1.02) !important;

    border: 3px solid #ff8a00 !important;
    outline: 3px solid rgba(255, 255, 255, 0.76) !important;
    outline-offset: -9px !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(0, 0, 0, 0.1) 42%,
        rgba(255, 122, 0, 0.24) 100%
    ) !important;

    box-shadow:
        0 0 0 6px rgba(255, 138, 0, 0.24),
        0 0 0 11px rgba(73, 67, 172, 0.14),
        0 30px 75px rgba(24, 18, 89, 0.4),
        0 18px 36px rgba(255, 122, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        inset 0 -1px 0 rgba(255, 255, 255, 0.34),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
}

.rsform-type-checkboxgroup.rsform-block-carpet
    input[type="checkbox"]:checked
    + .form-check-label::before {
    transform: scale(1.035) !important;
    background-size: cover !important;
    background-position: center center !important;
    filter: brightness(0.92) saturate(1.2) contrast(1.06) !important;
}

/* Carpet selected badge */
.rsform-type-checkboxgroup.rsform-block-carpet
    input[type="checkbox"]:checked
    + .form-check-label::after {
    content: "✓ Selected" !important;

    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: auto !important;
    min-width: 108px !important;
    min-height: 38px !important;
    padding: 9px 14px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;

    background: linear-gradient(135deg, #ff7a00 0%, #ff9f1c 100%) !important;
    color: #ffffff !important;

    font-size: 0.88rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    text-shadow: none !important;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.34),
        0 0 0 4px rgba(255, 255, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;

    z-index: 10 !important;
    pointer-events: none !important;
}

/* Carpet mobile tuning */
@media (max-width: 767px) {
    .rsform-type-checkboxgroup.rsform-block-carpet .form-check-label {
        min-height: 230px !important;
        padding: 22px 18px !important;
        border-radius: 22px !important;
        font-size: clamp(1.1rem, 5vw, 1.35rem) !important;
        line-height: 1.12 !important;
    }

    .rsform-type-checkboxgroup.rsform-block-carpet .form-check-label::before {
        border-radius: 22px !important;
        transform: scale(1.01) !important;
    }

    .rsform-type-checkboxgroup.rsform-block-carpet
        .form-check-label:hover::before {
        transform: scale(1.025) !important;
    }

    .rsform-type-checkboxgroup.rsform-block-carpet
        input[type="checkbox"]:checked
        + .form-check-label::before {
        transform: scale(1.02) !important;
    }

    .rsform-type-checkboxgroup.rsform-block-carpet
        input[type="checkbox"]:checked
        + .form-check-label::after {
        top: 12px !important;
        right: 12px !important;
        min-width: 94px !important;
        min-height: 34px !important;
        padding: 8px 12px !important;
        font-size: 0.78rem !important;
    }
}

/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE BUILDER - MARQUEE LINING 1 MATCH CURRENT TILE DESIGN
   Field class: .rsform-block-marquee-lining-1
   ========================================================= */

/* =========================================================
   GRID LAYOUT
   Matches the existing builder tile layout
   ========================================================= */

.rsform-block-marquee-lining-1 .formControls:not(.btn-group) {
    display: grid !important;
    gap: 30px !important;
    align-items: stretch !important;
}

/* Desktop: 3 columns */
@media (min-width: 1200px) {
    .rsform-block-marquee-lining-1 .formControls:not(.btn-group) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Tablet: 2 columns */
@media (min-width: 768px) and (max-width: 1199px) {
    .rsform-block-marquee-lining-1 .formControls:not(.btn-group) {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile: 1 column */
@media (max-width: 767px) {
    .rsform-block-marquee-lining-1 .formControls:not(.btn-group) {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
    }
}

/* Remove Bootstrap inline spacing */
.rsform-block-marquee-lining-1 .formControls:not(.btn-group) .form-check,
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-inline {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Validation message sits below the grid */
.rsform-block-marquee-lining-1 .formControls > div:not(.form-check) {
    grid-column: 1 / -1 !important;
}

/* Hide native checkbox */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    input[type="checkbox"] {
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   MAIN TILE STYLE
   Copied to match your current glass image tile design
   ========================================================= */

.rsform-block-marquee-lining-1 .formControls:not(.btn-group) .form-check-label {
    position: relative !important;
    z-index: 0 !important;
    isolation: isolate !important;
    overflow: hidden !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: clamp(250px, 24vw, 315px) !important;
    margin: 0 !important;
    padding: 28px !important;

    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;
    outline: 1px solid rgba(255, 255, 255, 0.22) !important;
    outline-offset: -6px !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.03) 38%,
        rgba(0, 0, 0, 0.12) 100%
    ) !important;

    color: #ffffff !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: clamp(1.35rem, 1.8vw, 1.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    text-align: center !important;

    text-shadow:
        0 4px 12px rgba(0, 0, 0, 0.82),
        0 2px 4px rgba(0, 0, 0, 0.72) !important;

    box-shadow:
        0 22px 50px rgba(24, 18, 89, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.74),
        inset 0 -1px 0 rgba(255, 255, 255, 0.24),
        inset 1px 0 0 rgba(255, 255, 255, 0.28),
        inset -1px 0 0 rgba(255, 255, 255, 0.18) !important;

    backdrop-filter: blur(10px) saturate(135%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(135%) !important;

    cursor: pointer !important;

    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease,
        outline-color 0.28s ease,
        background 0.28s ease !important;
}

/* =========================================================
   IMAGE / BACKGROUND LAYER
   Uses the same ::before image-layer method as your other tiles
   ========================================================= */

.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-label::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;

    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;

    border-radius: inherit !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;

    transform: scale(1.035) !important;
    filter: brightness(0.96) saturate(1.12) contrast(1.03) !important;

    transition:
        transform 0.45s ease,
        filter 0.45s ease !important;
}

/* =========================================================
   FAIRYTALE MARQUEES
   MARQUEE LINING 1 - RESTORE PHOTO BACKGROUNDS
   ========================================================= */

/* Black-out Star Cloth photo */
#Marquee_Lining_10 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/black-out-star-cloth.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}

/* Pleated Ivory Lining photo */
#Marquee_Lining_11 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/pleated-ivory-lining.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}

/* Reveal Curtain photo */
#Marquee_Lining_12 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/reveal-curtain.jpg") !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}

/* Keep the photo look consistent with the rest of the tiles */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-label::before {
    transform: scale(1.035) !important;
    filter: brightness(0.96) saturate(1.12) contrast(1.03) !important;
}

/* Hover photo zoom */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    transform: scale(1.075) !important;
    filter: brightness(1.03) saturate(1.18) contrast(1.04) !important;
}

/* Selected photo contrast */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    transform: scale(1.065) !important;
    filter: brightness(0.9) saturate(1.16) contrast(1.04) !important;
}

/* Mobile crop fix */
@media (max-width: 767px) {
    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        .form-check-label::before {
        transform: scale(1.01) !important;
        background-position: center center !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        .form-check-label:hover::before {
        transform: scale(1.025) !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label::before {
        transform: scale(1.015) !important;
    }
}

/* =========================================================
   HOVER STATE
   Matches your existing tile hover movement
   ========================================================= */

.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-label:hover {
    color: #ffffff !important;
    transform: translateY(-6px) !important;

    border-color: rgba(255, 255, 255, 0.86) !important;
    outline-color: rgba(255, 255, 255, 0.34) !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.14) 0%,
        rgba(255, 255, 255, 0.03) 35%,
        rgba(0, 0, 0, 0.12) 100%
    ) !important;

    box-shadow:
        0 28px 65px rgba(24, 18, 89, 0.36),
        inset 0 1px 0 rgba(255, 255, 255, 0.82),
        inset 0 -1px 0 rgba(255, 255, 255, 0.28),
        inset 1px 0 0 rgba(255, 255, 255, 0.36),
        inset -1px 0 0 rgba(255, 255, 255, 0.22) !important;
}

.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-label:hover::before {
    transform: scale(1.075) !important;
    filter: brightness(1.03) saturate(1.18) contrast(1.04) !important;
}

/* =========================================================
   SELECTED STATE
   Matches your strong orange selected style
   ========================================================= */

.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label {
    color: #ffffff !important;

    border: 3px solid #ff8a00 !important;
    outline: 3px solid rgba(255, 255, 255, 0.72) !important;
    outline-offset: -9px !important;

    transform: translateY(-8px) scale(1.025) !important;

    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.18) 0%,
        rgba(255, 255, 255, 0.04) 36%,
        rgba(255, 122, 0, 0.28) 100%
    ) !important;

    box-shadow:
        0 0 0 6px rgba(255, 138, 0, 0.25),
        0 0 0 11px rgba(73, 67, 172, 0.16),
        0 30px 75px rgba(24, 18, 89, 0.44),
        0 18px 36px rgba(255, 122, 0, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        inset 0 -1px 0 rgba(255, 255, 255, 0.35),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
}

.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::before {
    transform: scale(1.065) !important;
    filter: brightness(0.9) saturate(1.16) contrast(1.04) !important;
}

/* Selected badge */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    input[type="checkbox"]:checked
    + .form-check-label::after {
    content: "✓ Selected" !important;

    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;

    width: auto !important;
    height: auto !important;
    min-width: 108px !important;
    min-height: 38px !important;
    padding: 9px 14px !important;

    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.68) !important;

    color: #ffffff !important;
    background: linear-gradient(135deg, #ff7a00 0%, #ff9f1c 100%) !important;

    font-size: 0.88rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    text-shadow: none !important;

    box-shadow:
        0 10px 25px rgba(0, 0, 0, 0.34),
        0 0 0 4px rgba(255, 255, 255, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.55) !important;

    z-index: 10 !important;
    pointer-events: none !important;
}

/* Keyboard focus */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    input:focus-visible
    + .form-check-label {
    outline: 4px solid rgba(255, 122, 0, 0.55) !important;
    outline-offset: 4px !important;
}

/* =========================================================
   MOBILE TUNING
   Matches the newer mobile tile sizing in your CSS
   ========================================================= */

@media (max-width: 767px) {
    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        .form-check-label {
        min-height: 320px !important;
        height: auto !important;
        border-radius: 22px !important;
        padding: 26px 18px !important;

        font-size: clamp(1.15rem, 5vw, 1.45rem) !important;
        line-height: 1.12 !important;

        outline-offset: -5px !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        .form-check-label::before {
        transform: scale(1.01) !important;
        background-position: center center !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        .form-check-label:hover::before {
        transform: scale(1.025) !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label {
        outline-offset: -7px !important;

        box-shadow:
            0 0 0 4px rgba(255, 138, 0, 0.25),
            0 0 0 8px rgba(73, 67, 172, 0.14),
            0 22px 50px rgba(24, 18, 89, 0.38),
            0 12px 26px rgba(255, 122, 0, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.88),
            inset 0 0 0 1px rgba(255, 255, 255, 0.36) !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label::before {
        transform: scale(1.015) !important;
        filter: brightness(0.92) saturate(1.16) contrast(1.04) !important;
    }

    .rsform-block-marquee-lining-1
        .formControls:not(.btn-group)
        input[type="checkbox"]:checked
        + .form-check-label::after {
        top: 12px !important;
        right: 12px !important;

        min-width: 94px !important;
        min-height: 34px !important;
        padding: 8px 12px !important;

        font-size: 0.78rem !important;
    }
}

/* =========================================================
   FIX MARQUEE LINING 1 BLANK PHOTOS
   Paste at the VERY BOTTOM of your CSS
   ========================================================= */

/* Make sure the photo layer sits above the card background */
.rsform-block-marquee-lining-1
    .formControls:not(.btn-group)
    .form-check-label::before {
    z-index: -1 !important;
    opacity: 1 !important;
    display: block !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}

/* Keep the tile background transparent enough so the photo shows */
.rsform-block-marquee-lining-1 .formControls:not(.btn-group) .form-check-label {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.08) 0%,
        rgba(255, 255, 255, 0.02) 38%,
        rgba(0, 0, 0, 0.18) 100%
    ) !important;
}

/* Black-out Star Cloth */
#Marquee_Lining_10 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/Marquee_Star_Cloth5.jpg") !important;
}

/* Pleated Ivory Lining */
#Marquee_Lining_11 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/9M_Frame_Marquee_wedding_2.jpg") !important;
}

/* Reveal Curtain */
#Marquee_Lining_12 + .form-check-label::before {
    background-image: url("/images/virtuemart/product/clear-span-frame-reveal-curtain.jpg") !important;
}

/* =========================================================
   FAIRYTALE MARQUEES
   CUSTOMER DETAILS PAGE - CLEANUP FIX
   Hides helper captions and restores bottom buttons
   Paste at the VERY BOTTOM of custom CSS
   ========================================================= */

/* =========================================================
   1. HIDE VALIDATION / CAPTION TEXT UNDER INPUTS
   ========================================================= */

#userForm #rsform_29_page_8 .formValidation,
#userForm #rsform_29_page_8 .formValidation span,
#userForm #rsform_29_page_8 .formNoError,
#userForm #rsform_29_page_8 .formError {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

/* Tighten spacing now validation captions are hidden */
#userForm #rsform_29_page_8 .rsform-block {
    margin-bottom: 34px !important;
}

/* =========================================================
   2. KEEP CUSTOMER DETAILS INPUTS FULL WIDTH
   ========================================================= */

#userForm
    #rsform_29_page_8
    .rsform-block:not(.rsform-block-venue-address):not(
        .rsform-block-build-my-marquee
    )
    .formControls {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#userForm #rsform_29_page_8 .rsform-input-box,
#userForm #rsform_29_page_8 .rsform-text-box,
#userForm #rsform_29_page_8 input.form-control,
#userForm #rsform_29_page_8 textarea.form-control,
#userForm #rsform_29_page_8 select.form-control,
#userForm #rsform_29_page_8 input[type="text"],
#userForm #rsform_29_page_8 input[type="email"],
#userForm #rsform_29_page_8 input[type="tel"],
#userForm #rsform_29_page_8 input[type="number"],
#userForm #rsform_29_page_8 textarea,
#userForm #rsform_29_page_8 select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;

    height: 54px !important;
    min-height: 54px !important;

    margin: 0 !important;
    padding: 12px 16px !important;

    background: #ffffff !important;
    border: 1px solid #bcc7d3 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    outline: none !important;

    color: #222b38 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
}

/* Textarea stays taller */
#userForm #rsform_29_page_8 textarea,
#userForm #rsform_29_page_8 .rsform-text-box {
    height: 150px !important;
    min-height: 150px !important;
    resize: vertical !important;
}

/* Focus state */
#userForm #rsform_29_page_8 .rsform-input-box:focus,
#userForm #rsform_29_page_8 .rsform-text-box:focus,
#userForm #rsform_29_page_8 input.form-control:focus,
#userForm #rsform_29_page_8 textarea.form-control:focus,
#userForm #rsform_29_page_8 select.form-control:focus {
    border-color: #2698d6 !important;
    box-shadow: 0 0 0 3px rgba(38, 152, 214, 0.14) !important;
}

/* =========================================================
   3. RESTORE CUSTOMER ADDRESS BUTTON
   ========================================================= */

#userForm #rsform_29_page_8 .rsform-block-venue-address .formControls {
    display: block !important;
    width: auto !important;
    max-width: none !important;
}

#userForm #rsform_29_page_8 .rsform-block-venue-address .form-check,
#userForm #rsform_29_page_8 .rsform-block-venue-address .form-check-inline {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#userForm #rsform_29_page_8 .rsform-block-venue-address input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
}

#userForm #rsform_29_page_8 .rsform-block-venue-address .form-check-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 260px !important;
    min-height: 58px !important;

    margin: 0 !important;
    padding: 14px 28px !important;

    border-radius: 8px !important;
    border: 0 !important;
    outline: none !important;

    background: #747d86 !important;
    color: #ffffff !important;

    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-shadow: none !important;

    box-shadow: none !important;
    cursor: pointer !important;
}

/* Remove unwanted pseudo-elements */
#userForm
    #rsform_29_page_8
    .rsform-block-venue-address
    .form-check-label::before,
#userForm
    #rsform_29_page_8
    .rsform-block-venue-address
    .form-check-label::after {
    display: none !important;
    content: none !important;
}

/* Checked customer address button */
#userForm
    #rsform_29_page_8
    .rsform-block-venue-address
    input[type="checkbox"]:checked
    + .form-check-label {
    background: #4943ac !important;
    color: #ffffff !important;
}

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

@media (max-width: 767px) {
    #userForm #rsform_29_page_8 {
        padding-bottom: 150px !important;
    }

    #userForm #rsform_29_page_8 .rsform-block-build-my-marquee {
        padding: 14px 14px !important;
    }

    #userForm #rsform_29_page_8 .rsform-block-build-my-marquee .formControls {
        justify-content: center !important;
        gap: 12px !important;
    }

    #userForm #rsform_29_page_8 #Build_My_MarqueePrev,
    #userForm #rsform_29_page_8 #Build_My_Marquee {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        width: 50% !important;
        min-height: 56px !important;
        padding: 14px 12px !important;
        font-size: 15px !important;
    }

    #userForm #rsform_29_page_8 .rsform-block-venue-address .form-check-label {
        width: 100% !important;
        min-width: 0 !important;
    }
}
