/* LG CSS Library v0.5.6 */

/* Icons */
.icons .icon-box .icon-inner {
    background-color: #20b46b !important;
    border: 2px solid #20b46b !important;
    border-radius: 50%;
    transition: all 0.25s ease;
}

.icons .icon-box .icon-inner img {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
    transition: all 0.25s ease;
}


.icons .icon-box:hover .icon-inner {
    background-color: #fff !important;
    border-color: #20b46b !important;
    color: #20b46b !important;
}

.icons .icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%) saturate(441%)
            hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
}

.icons .col > .col-inner {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    transition: transform 0.25s ease,
                border-color 0.25s ease,
                box-shadow 0.25s ease;
}

.icons .col:hover > .col-inner {
    transform: translateY(-4px);
    border-color: #20b46b;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
}

@scope (.icons) {
.icon-box .icon-inner {
    background-color: #20b46b !important;
    border: 2px solid #20b46b !important;
    border-radius: 50%;
    transition: all 0.25s ease;
}

.icon-box .icon-inner img {
    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;
    transition: all 0.25s ease;
}

/* Hover */
.icon-box:hover .icon-inner {
    background-color: #fff !important;
    border-color: #20b46b !important;
    color: #20b46b !important;
}

.icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%) saturate(441%)
            hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
}

.col > .col-inner {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 24px;
    transition: transform 0.25s ease,
                border-color 0.25s ease,
                box-shadow 0.25s ease;
}

.col:hover > .col-inner {
    transform: translateY(-4px);
    border-color: #20b46b;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.10);
}
}

/* Buttons */
/* Flatsome buttons - content, header and footer */
#main .button,
#header .button,
#footer .button {
    padding: 0 23px !important;
    min-height: 42px;
    line-height: 40px !important;
    font-weight: 400 !important;
}

#main .button span,
#header .button span,
#footer .button span {
    font-weight: 400 !important;
}

/* Outline buttons - 1px border */
#main .button.is-outline,
#header .button.is-outline,
#footer .button.is-outline {
    border-width: 1px !important;
}

/* Banner Round edges */
/* Rounded banner */
.banner.round {
    border-radius: 14px;
    overflow: hidden;
}

.banner.round .banner-inner,
.banner.round .banner-bg,
.banner.round .banner-link {
    border-radius: 16px;
}

/* Icon2 */
.icon2 .icon-box .icon-inner,
.icon2 .icon-box:hover .icon-inner {
    background-color: #dff2ec !important;
    border-color: #dff2ec !important;
    color: #20b46b !important;
}


.icon2 .icon-box .icon-inner img,
.icon2 .icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%)
            saturate(441%) hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
    transform: none !important;
}


.icon2 .icon-inner,
.icon2 .icon-inner img {
    transition: none !important;
}

.icon2 .icon-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.icon2 .icon-inner img {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

@scope (.icon2) {
/* Icon2 - fixed light green style */
.icon2 .icon-box .icon-inner,
.icon2 .icon-box:hover .icon-inner {
    background-color: #dff2ec !important;
    border-color: #dff2ec !important;
    color: #20b46b !important;
}

/* Green SVG icon - normal and hover */
.icon2 .icon-box .icon-inner img,
.icon2 .icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%)
            saturate(441%) hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
    transform: none !important;
}

/* No hover transition/change */
.icon2 .icon-inner,
.icon2 .icon-inner img {
    transition: none !important;
}
/* Icon2 - perfectly centre SVG */
.icon2 .icon-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.icon2 .icon-inner img {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}
}

/* Column Rounding fix */
/* =========================================
   FLATSOME IMAGE BOX CARDS
   Class: fix on the ROW
   ========================================= */

/* Column/card rounding */
.fix > .col > .col-inner {
    border-radius: 14px !important;
}

/* Image rounding */
.fix .image-cover {
    border-radius: 14px 14px 0 0 !important;
}

.fix .image-cover img {
    border-radius: 14px 14px 0 0 !important;
}

/* Remove Flatsome's outer text padding */
.fix .box-text {
    padding: 0 !important;
}

/* 20px internal content padding */
.fix .box-text-inner {
    padding: 20px !important;
}

/* icon3 */
/* Icon3 - white background, green border */
.icon3 .icon-box .icon-inner,
.icon3 .icon-box:hover .icon-inner {
    background-color: #ffffff !important;
    border: 1px solid #20b46b !important;
    color: #20b46b !important;
}

/* Green SVG - normal and hover */
.icon3 .icon-box .icon-inner img,
.icon3 .icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%)
            saturate(441%) hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
}

/* Perfectly centre icon */
.icon3 .icon-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Keep SVG positioning fixed */
.icon3 .icon-inner img,
.icon3 .icon-box:hover .icon-inner img {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

/* No hover animation or transition */
.icon3 .icon-inner,
.icon3 .icon-inner img {
    transition: none !important;
}

/* image box 2 */
/* Fix2 - rounded overlay Image Boxes */
.fix2 .box {
    border-radius: 14px !important;
    overflow: hidden !important;
}

.fix2 .box-image,
.fix2 .image-cover,
.fix2 .image-cover img,
.fix2 .overlay {
    border-radius: 14px !important;
}

/* icon4 */
/* Icon4 - dark background, green icon */
.icon4 .icon-box .icon-inner,
.icon4 .icon-box:hover .icon-inner {
    background-color: #253147 !important;
    border-color: #253147 !important;
    color: #20b46b !important;
}

/* Green SVG - normal and hover */
.icon4 .icon-box .icon-inner img,
.icon4 .icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%)
            saturate(441%) hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
}

/* Perfectly centre icon */
.icon4 .icon-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Keep icon fixed on hover */
.icon4 .icon-inner img,
.icon4 .icon-box:hover .icon-inner img {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

/* No hover transition */
.icon4 .icon-inner,
.icon4 .icon-inner img {
    transition: none !important;
}

/* icon5 */
/* Icon5 - grey background, white icon */
.icon5 .icon-box .icon-inner,
.icon5 .icon-box:hover .icon-inner {
    background-color: #44474e !important;
    border-color: #44474e !important;
    border-radius: 12px !important;
    color: #ffffff !important;

    width: 61px !important;
    height: 61px !important;

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

    transition: none !important;
}

/* Icon itself - 35px */
.icon5 .icon-inner img,
.icon5 .icon-box:hover .icon-inner img {
    width: 35px !important;
    height: 35px !important;
    max-width: 35px !important;

    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;

    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;

    transition: none !important;
}

/* Vertically centre icon and text */
.icon5 .icon-box {
    display: flex !important;
    align-items: center !important;
}

/* Keep icon container at 61px */
.icon5 .icon-box-img {
    width: 61px !important;
    min-width: 61px !important;
    flex: 0 0 61px !important;
}

/* Vertically centred, left-aligned text */
.icon5 .icon-box-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    text-align: left !important;
    align-self: stretch !important;
}

/* Remove unwanted heading spacing */
.icon5 .icon-box-text h1,
.icon5 .icon-box-text h2,
.icon5 .icon-box-text h3,
.icon5 .icon-box-text h4 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Checkmark new */
/* Flatsome checkmark with circular background */
li.bullet-checkmark {
    position: relative !important;
    padding-left: 40px !important;
    min-height: 24px !important;
    margin-bottom: 8px !important;

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

    line-height: 1.3 !important;

    border: 0 !important;
    border-bottom: 0 !important;
}

/* Remove any Flatsome list dividers */
li.bullet-checkmark + li.bullet-checkmark {
    border-top: 0 !important;
}

/* Keep Flatsome native checkmark and add circle */
li.bullet-checkmark::before {
    width: 24px !important;
    height: 24px !important;

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

    position: absolute !important;
    left: 0 !important;
    top: 50% !important;

    margin: 0 !important;

    transform: translateY(-50%) !important;

    background-color: rgba(32, 180, 107, 0.15) !important;
    border-radius: 50% !important;

    color: #20b46b !important;

    font-size: 14px !important;
    line-height: 24px !important;
}

/* icons6 */
/* Icon6 - 20% white background, white icon */
.icon6 .icon-box .icon-inner,
.icon6 .icon-box:hover .icon-inner {
    background-color: rgba(255, 255, 255, 0.20) !important;
    border-color: transparent !important;
    border-radius: 12px !important;
    color: #ffffff !important;

    width: 61px !important;
    height: 61px !important;

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

    transition: none !important;
}

/* Icon itself - 35px */
.icon6 .icon-inner img,
.icon6 .icon-box:hover .icon-inner img {
    width: 35px !important;
    height: 35px !important;
    max-width: 35px !important;

    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;

    filter: brightness(0) invert(1) !important;
    opacity: 1 !important;

    transition: none !important;
}

/* Vertically centre icon and text */
.icon6 .icon-box {
    display: flex !important;
    align-items: center !important;
}

/* Keep icon container at 61px */
.icon6 .icon-box-img {
    width: 61px !important;
    min-width: 61px !important;
    flex: 0 0 61px !important;
}

/* Vertically centred, left-aligned text */
.icon6 .icon-box-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;

    text-align: left !important;
    align-self: stretch !important;
}

/* Remove unwanted heading spacing */
.icon6 .icon-box-text h1,
.icon6 .icon-box-text h2,
.icon6 .icon-box-text h3,
.icon6 .icon-box-text h4 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* icon7 */
/* Icon7 - light green background, green icon */
.icon7 .icon-box .icon-inner,
.icon7 .icon-box:hover .icon-inner {
    background-color: #e8f7f0 !important;
    border-color: #e8f7f0 !important;
    color: #20b46b !important;
}

/* Green SVG - normal and hover */
.icon7 .icon-box .icon-inner img,
.icon7 .icon-box:hover .icon-inner img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(76%)
            saturate(441%) hue-rotate(99deg) brightness(93%) contrast(91%) !important;
    opacity: 1 !important;
}

/* Perfectly centre icon */
.icon7 .icon-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Keep icon fixed on hover */
.icon7 .icon-inner img,
.icon7 .icon-box:hover .icon-inner img {
    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

/* No hover transition */
.icon7 .icon-inner,
.icon7 .icon-inner img {
    transition: none !important;
}

/* icon8 */
/* Icon8 - light green background, larger green icon */
.icon8 .icon-box .icon-inner,
.icon8 .icon-box:hover .icon-inner {
    background-color: #e8f7f0 !important;
    border-color: #e8f7f0 !important;
    color: #20b46b !important;

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

    transition: none !important;
}

/* Larger green SVG - background size stays unchanged */
.icon8 .icon-box .icon-inner img,
.icon8 .icon-box:hover .icon-inner img {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;

    filter: brightness(0) saturate(100%) invert(53%) sepia(76%)
            saturate(441%) hue-rotate(99deg) brightness(93%) contrast(91%) !important;

    opacity: 1 !important;

    display: block !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;

    transition: none !important;
}

/* Formcraft Cover */
.form-cover {
    border-radius: 16px !important;
}

.form-cover .fc-form {
    border-radius: 16px !important;
}

/* If multi-page navigation is displayed */
.form-cover .prev-next {
    border-radius: 0 0 16px 16px !important;
}

/* Form field labels - regular weight */
.form-cover .field-cover .main-label,
.form-cover .field-cover .main-label span {
    font-weight: 400 !important;
}

/* dancefloor */
/* ==========================================================
   DANCE FLOOR RENTAL PAGE
   Rental Information + Flooring Options + Contact
   ========================================================== */


/* ==========================================================
   RENTAL INFORMATION
   ========================================================== */

.dance-rental-info h2 {
    font-size: 32px;
    margin-bottom: 24px;
}


/* ==========================================================
   RENTAL INFORMATION TABLE
   ========================================================== */

.rental-info-table {
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 14px;
    overflow: hidden;
}

.rental-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    padding: 18px 20px;

    border-bottom: 1px solid #e8e8e8;
}

.rental-info-row:last-child {
    border-bottom: 0;
}

.rental-info-row strong {
    color: #0c1a32;
    font-weight: 600;
}

.rental-info-row span {
    color: #666;
    text-align: right;
}


/* ==========================================================
   IMPORTANT NOTES
   ========================================================== */

.rental-notes {
    margin-top: 25px;
    padding: 22px;

    background: #f2faf6;
    border: 1px solid rgba(32, 180, 107, 0.22);
    border-radius: 14px;
}

.rental-notes h3 {
    margin: 0 0 12px;

    color: #0c1a32;
    font-size: 18px;
}

.rental-notes ul {
    list-style: none;

    margin: 0;
    padding: 0;
}

.rental-notes li {
    position: relative;

    margin: 8px 0;
    padding-left: 27px;

    color: #666;
    font-size: 14px;
}

.rental-notes li::before {
    content: "✓";

    position: absolute;
    left: 0;
    top: 0;

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

    width: 18px;
    height: 18px;

    color: #20b46b;
    font-size: 12px;
    font-weight: 700;

    border: 1.5px solid #20b46b;
    border-radius: 50%;
}


/* ==========================================================
   QUICK ORDER CARD
   ========================================================== */

.quick-order-card {
    height: 100%;

    padding: 28px;

    text-align: center;

    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 14px;

    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
}


/* QR icon at top */

.quick-order-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin: 0 auto 14px;

    background: rgba(250, 110, 29, 0.10);
    border-radius: 50%;
}

.quick-order-icon img {
    display: block;

    width: 25px;
    height: 25px;

    margin: 0 !important;

    object-fit: contain;
}


/* Quick Order heading */

.quick-order-card h3 {
    margin: 0 0 8px !important;

    color: #0c1a32;
    font-size: 21px;
}


/* Quick Order description */

.quick-order-card > p {
    max-width: 300px;

    margin: 0 auto 16px !important;

    color: #777;
    font-size: 14px;
    line-height: 1.6;
}


/* ==========================================================
   QR CODE
   ========================================================== */

.quick-order-qr {
    display: table;

    margin: 0 auto 16px;
    padding: 8px;

    background: #fff;

    border: 1px solid #e4e4e4;
    border-radius: 12px;

    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
}

.quick-order-qr img {
    display: block;

    width: 176px;
    height: 176px;

    margin: 0 !important;

    object-fit: contain;
}


/* ==========================================================
   QUICK ORDER BUTTON
   ========================================================== */

.quick-order-card .quick-order-button {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 42px;

    margin: 0 !important;
    padding: 8px 18px !important;

    line-height: 1.2 !important;

    border-radius: 8px !important;
}


/* Prevent Flatsome paragraph spacing around button
   if WordPress adds a paragraph automatically */

.quick-order-card p:has(.quick-order-button) {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}


/* Remove accidental BR spacing inside button */

.quick-order-button br {
    display: none !important;
}


/* ==========================================================
   FLOORING OPTIONS SECTION
   ========================================================== */

.flooring-options-section {
    background: #f8f9f9;

    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}


/* Flooring heading */

.flooring-heading {
    display: flex;
    align-items: center;
    gap: 15px;

    margin-bottom: 28px;
}

.flooring-heading h2 {
    margin: 0 0 4px;

    color: #0c1a32;
    font-size: 30px;
}

.flooring-heading p {
    margin: 0;

    color: #777;
}

.flooring-heading-icon {
    display: flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    background: #dff2ec;

    color: #20b46b;
    font-size: 20px;

    border-radius: 50%;
}


/* ==========================================================
   FLOORING OPTION CARDS
   ========================================================== */

.flooring-option-card {
    height: 100%;

    padding: 28px;

    text-align: center;

    background: #fff;

    border: 1px solid #e4e4e4;
    border-radius: 14px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.flooring-option-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.10);
}

.flooring-option-card h3 {
    margin: 20px 0 8px;

    color: #0c1a32;
    font-size: 19px;
}

.flooring-option-card p {
    margin: 0;

    color: #777;
    font-size: 14px;
}


/* ==========================================================
   FLOORING COLOUR SAMPLES
   ========================================================== */

.floor-swatch {
    width: 82px;
    height: 82px;

    margin: 0 auto;

    border: 2px solid #ddd;
    border-radius: 12px;

    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.08);
}


/* Black */

.floor-black {
    background: #171717;
}


/* White */

.floor-white {
    background: #fff;
}


/* Black & White checkerboard */

.floor-checker {
    background:
        conic-gradient(
            #171717 0deg 90deg,
            #fff 90deg 180deg,
            #171717 180deg 270deg,
            #fff 270deg 360deg
        );
}


/* ==========================================================
   CONTACT SECTION
   ========================================================== */

.dance-contact-section h2 {
    font-size: 32px;
}

.contact-intro {
    max-width: 620px;

    margin: 10px auto 30px;

    text-align: center;

    color: #777;
}


/* ==========================================================
   CONTACT CARDS
   ========================================================== */

.dance-contact-card {
    height: 100%;

    padding: 26px;

    background: #fff;

    border: 1px solid #e4e4e4;
    border-radius: 14px;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.dance-contact-card:hover {
    transform: translateY(-4px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.dance-contact-card h3 {
    margin: 0 0 18px;

    color: #0c1a32;
    font-size: 20px;
}


/* Contact details */

.contact-detail {
    display: flex;
    align-items: center;
    gap: 11px;

    margin: 11px 0;
}

.contact-detail a {
    color: #666;
    font-size: 14px;

    transition: color 0.2s ease;
}

.contact-detail a:hover {
    color: #20b46b;
}


/* Contact icon */

.contact-symbol {
    display: flex;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    background: #dff2ec;

    color: #20b46b;

    border-radius: 50%;
}


/* ==========================================================
   SERVICE AREA
   ========================================================== */

.dance-service-area {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    margin-top: 25px;
    padding: 18px 20px;

    background: #fff;

    color: #666;
    font-size: 14px;

    border: 1px solid #e4e4e4;
    border-radius: 14px;
}

.service-area-pin {
    color: #20b46b;
}


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

@media (max-width: 849px) {

    .dance-rental-info,
    .flooring-options-section,
    .dance-contact-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }


    /* Headings */

    .dance-rental-info h2,
    .flooring-heading h2,
    .dance-contact-section h2 {
        font-size: 26px;
    }


    /* Rental information */

    .rental-info-row {
        display: block;

        padding: 16px 18px;
    }

    .rental-info-row strong,
    .rental-info-row span {
        display: block;
        text-align: left;
    }

    .rental-info-row span {
        margin-top: 5px;
    }


    /* Quick order */

    .quick-order-card {
        height: auto;

        margin-top: 20px;
        padding: 24px 20px;
    }

    .quick-order-qr img {
        width: 160px;
        height: 160px;
    }


    /* Flooring */

    .flooring-heading {
        align-items: flex-start;
    }

    .flooring-option-card {
        margin-bottom: 12px;
    }


    /* Contact */

    .dance-contact-card {
        margin-bottom: 12px;
    }

    .dance-service-area {
        align-items: flex-start;

        text-align: left;
    }
}

/* EP Flooring */
/* ==========================================
   EP EXHIBITIONS - EXHIBITION FLOORING
   ========================================== */

/* Main section */

.ep-flooring-section {
    background: #ffffff;
}

.ep-flooring-intro h5,
.ep-flooring-heading h5 {
    color: #ed6b25;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.ep-flooring-intro h2 {
    color: #0c1a32;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 25px;
}

.ep-flooring-intro p {
    color: #505b6b;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 18px;
}

/* Main image */

.ep-flooring-main-image img {
    border-radius: 20px;
    border: 3px solid #0c1a32;
    box-shadow: 0 15px 40px rgba(12,26,50,0.12);
    transition: transform 0.4s ease;
}

.ep-flooring-main-image:hover img {
    transform: scale(1.02);
}

/* Section headings */

.ep-flooring-heading {
    text-align: center;
    margin-bottom: 35px;
}

.ep-flooring-heading h2 {
    color: #0c1a32;
    font-size: 34px;
    font-weight: 700;
    margin-bottom: 15px;
}

.ep-flooring-heading p {
    color: #606a78;
    font-size: 16px;
}

/* Flooring option cards */

.ep-flooring-options-section .col-inner {
    background: #ffffff;
    border-radius: 15px;
    padding: 30px 25px;
    box-shadow: 0 8px 30px rgba(12,26,50,0.06);
    transition: all 0.3s ease;
}

.ep-flooring-options-section .col-inner:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(12,26,50,0.12);
}

.ep-flooring-option-card {
    text-align: center;
}

.ep-flooring-option-card h3 {
    color: #0c1a32;
    font-size: 20px;
    margin-bottom: 12px;
}

.ep-flooring-option-card p {
    color: #606a78;
    font-size: 15px;
    line-height: 1.7;
}

/* Flooring swatches */

.ep-flooring-swatch {
    width: 100px;
    height: 100px;
    margin: 0 auto 25px;
    border-radius: 15px;
    border: 2px solid #0c1a32;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.ep-flooring-black {
    background: #111111;
}

.ep-flooring-white {
    background: #ffffff;
}

/* Black & White Flooring - Fixed Checkerboard */

.ep-flooring-checker {
    background-color: #ffffff !important;

    background-image:
        conic-gradient(
            #111111 25%,
            #ffffff 0 50%,
            #111111 0 75%,
            #ffffff 0
        ) !important;

    background-size: 40px 40px !important;
    background-position: 0 0 !important;
    background-repeat: repeat !important;
}

/* Benefits */

.ep-flooring-benefits-section .row > .col > .col-inner {
    text-align: center;
}

.ep-flooring-benefits-section .row > .col > .col-inner:has(.ep-flooring-benefit) {
    background: #f7f9fc;
    border: 1px solid #e5eaf0;
    border-radius: 15px;
    padding: 30px 20px;
    height: 100%;
    transition: all 0.3s ease;
}

.ep-flooring-benefits-section .row > .col > .col-inner:has(.ep-flooring-benefit):hover {
    transform: translateY(-5px);
    border-color: #0c1a32;
    box-shadow: 0 12px 30px rgba(12,26,50,0.10);
}

.ep-flooring-icon {
    margin: 0 auto 20px;
}

.ep-flooring-icon img {
    max-width: 65px;
    height: auto;
}

.ep-flooring-benefit {
    text-align: center;
}

.ep-flooring-benefit h3 {
    color: #0c1a32;
    font-size: 18px;
    margin-bottom: 12px;
}

.ep-flooring-benefit p {
    color: #606a78;
    font-size: 14px;
    line-height: 1.7;
}

/* CTA */

.ep-flooring-cta-section {
    background: #0c1a32;
}

.ep-flooring-cta-text {
    text-align: center;
}

.ep-flooring-cta-text h5 {
    color: #ed6b25;
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 15px;
}

.ep-flooring-cta-text h2 {
    color: #ffffff !important;
    font-size: 36px;
    margin-bottom: 20px;
}

.ep-flooring-cta-text p {
    color: #d9e0eb;
    font-size: 16px;
    line-height: 1.8;
}

/* Buttons */

.ep-flooring-section .button,
.ep-flooring-cta-section .button {
    border-radius: 10px;
    font-weight: 600;
    padding-left: 25px;
    padding-right: 25px;
    transition: all 0.3s ease;
}

.ep-flooring-section .button:hover,
.ep-flooring-cta-section .button:hover {
    transform: translateY(-3px);
}

/* Mobile */

@media (max-width: 849px) {

    .ep-flooring-intro h2 {
        font-size: 30px;
    }

    .ep-flooring-heading h2 {
        font-size: 28px;
    }

    .ep-flooring-cta-text h2 {
        font-size: 28px;
    }

    .ep-flooring-section,
    .ep-flooring-options-section,
    .ep-flooring-benefits-section,
    .ep-flooring-cta-section {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

}

@media (max-width: 549px) {

    .ep-flooring-intro h2 {
        font-size: 27px;
    }

    .ep-flooring-heading h2 {
        font-size: 26px;
    }

    .ep-flooring-cta-text h2 {
        font-size: 26px;
    }

    .ep-flooring-section .button,
    .ep-flooring-cta-section .button {
        width: 100%;
        margin-bottom: 12px;
    }

    .ep-flooring-swatch {
        width: 90px;
        height: 90px;
    }

}
/* EP Exhibitions - Flooring Option Columns */

.ep-flooring-options-section .row-solid > .col > .col-inner {
    border-radius: 0 !important;
}

/* Remove rounded corners from the option cards */
.ep-flooring-options-section .col-inner {
    border-radius: 0 !important;
}
