.elementor-415 .elementor-element.elementor-element-2c1e14d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-415 .elementor-element.elementor-element-b0b2f15{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-415 .elementor-element.elementor-element-ffdee29{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-widget-theme-archive-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.woocommerce .elementor-415 .elementor-element.elementor-element-2174dfc .term-description{color:var( --e-global-color-text );font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-415 .elementor-element.elementor-element-3a5ca79{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-415 .elementor-element.elementor-element-02e682f{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-415 .elementor-element.elementor-element-941146c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:22px 22px;--row-gap:22px;--column-gap:22px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-415 .elementor-element.elementor-element-941146c.e-con{--align-self:center;}.elementor-415 .elementor-element.elementor-element-529e300{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-415 .elementor-element.elementor-element-a32224e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-415 .elementor-element.elementor-element-6b7b723 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 9px 0px;}.elementor-415 .elementor-element.elementor-element-777c5fd{--display:flex;}.elementor-415 .elementor-element.elementor-element-09bb254{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;}.elementor-415 .elementor-element.elementor-element-171e6cc > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-415 .elementor-element.elementor-element-619d42f{--display:flex;}.elementor-415 .elementor-element.elementor-element-d4b9bc2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;}.elementor-415 .elementor-element.elementor-element-f17f176 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-415 .elementor-element.elementor-element-1e9481b{--display:flex;}.elementor-415 .elementor-element.elementor-element-6b5dd4f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;}.elementor-415 .elementor-element.elementor-element-a7e9413 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price ins .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products{--products-title-color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.products-heading-show .related-products > h2, .elementor-widget-woocommerce-products.products-heading-show .upsells > h2, .elementor-widget-woocommerce-products.products-heading-show .cross-sells > h2{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del .amount{color:var( --e-global-color-primary );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price del {font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-woocommerce-products.elementor-wc-products .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product{text-align:center;--button-align-display:flex;--button-align-direction:column;--button-align-justify:space-between;border-style:solid;border-width:1px 1px 1px 1px;padding:13px 13px 13px 13px;border-color:#D0BB98;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products .attachment-woocommerce_thumbnail{border-style:solid;border-width:1px 1px 1px 1px;border-color:#E7D8BF;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .woocommerce-loop-product__title, .elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .woocommerce-loop-category__title{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:600;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .price{color:#7F6A47;font-family:"Poppins", Sans-serif;font-size:21px;font-weight:600;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .price ins{color:#7F6A47;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .price ins .amount{color:#7F6A47;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .button{color:var( --e-global-color-secondary );background-color:var( --e-global-color-primary );font-family:"Montserrat", Sans-serif;font-weight:500;border-style:solid;border-width:0px 0px 0px 0px;border-radius:4px 4px 4px 4px;padding:15px 33px 15px 33px;}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product .button:hover{background-color:var( --e-global-color-49a9937 );}.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products ul.products li.product span.onsale{display:block;}body.elementor-page-415:not(.elementor-motion-effects-element-type-background), body.elementor-page-415 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-eb5556f );}@media(min-width:768px){.elementor-415 .elementor-element.elementor-element-b0b2f15{--width:45%;}.elementor-415 .elementor-element.elementor-element-941146c{--width:100%;}}@media(max-width:1024px){.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}@media(max-width:767px){.elementor-415 .elementor-element.elementor-element-611f410.elementor-wc-products  ul.products{grid-column-gap:20px;grid-row-gap:40px;}}/* Start custom CSS for container, class: .elementor-element-941146c *//* ==========================================================
   NEATEDGE BOOK FILTER SYSTEM
   Grade + Subject + Clear Filters
   ========================================================== */


/* ----------------------------------------------------------
   MAIN FILTER ROW
   ---------------------------------------------------------- */

.neatedge-book-filters {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
    flex-wrap: nowrap;

    gap: 16px;

    width: 100%;
    max-width: 100%;

    margin-top: 20px;
    margin-bottom: 32px;

    padding: 0;
}


/* ----------------------------------------------------------
   GRADE + SUBJECT CONTAINERS
   ---------------------------------------------------------- */

.neatedge-book-filters .filter-grade,
.neatedge-book-filters .filter-subject {
    width: 240px;
    max-width: 240px;

    flex: 0 0 240px;

    margin: 0;
    padding: 0;
}


/* ----------------------------------------------------------
   CLEAR FILTER CONTAINER
   ---------------------------------------------------------- */

.neatedge-book-filters .filter-clear {
    width: auto;
    max-width: none;

    flex: 0 0 auto;

    margin: 0;
    padding: 0;
}


/* ----------------------------------------------------------
   LABELS
   ---------------------------------------------------------- */

.neatedge-book-filters .elementor-heading-title {
    margin: 0 0 9px 0;

    padding: 0;

    color: #26383b;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
}


/* ----------------------------------------------------------
   FACETWP WRAPPER
   Removes FacetWP default spacing
   ---------------------------------------------------------- */

.neatedge-book-filters .facetwp-facet {
    margin: 0 !important;
    padding: 0 !important;
}


/* ----------------------------------------------------------
   DROPDOWNS
   ---------------------------------------------------------- */

.neatedge-book-filters .facetwp-dropdown {
    display: block;

    width: 100%;
    height: 46px;

    margin: 0;

    padding: 0 40px 0 15px;

    box-sizing: border-box;

    border: 1px solid #d4bf96;
    border-radius: 4px;

    background-color: #fffdf8;

    color: #26383b;

    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 46px;

    cursor: pointer;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}


/* Dropdown hover */

.neatedge-book-filters .facetwp-dropdown:hover {
    border-color: #a78347;
}


/* Dropdown focus */

.neatedge-book-filters .facetwp-dropdown:focus {
    outline: none;

    border-color: #a78347;

    background-color: #ffffff;

    box-shadow:
        0 0 0 3px rgba(167, 131, 71, 0.12);
}


/* ----------------------------------------------------------
   CLEAR FILTERS BUTTON
   ---------------------------------------------------------- */

.neatedge-book-filters .facetwp-reset {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    height: 46px;
    min-width: 125px;

    margin: 0;

    padding: 0 20px;

    box-sizing: border-box;

    border: 1px solid #26383b;
    border-radius: 4px;

    background-color: #26383b;

    color: #ffffff;

    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}


/* Clear button hover */

.neatedge-book-filters .facetwp-reset:hover {
    background-color: #a78347;
    border-color: #a78347;

    color: #ffffff;
}


/* ----------------------------------------------------------
   PREVENT FACETWP FROM ADDING WEIRD SPACING
   ---------------------------------------------------------- */

.neatedge-book-filters select,
.neatedge-book-filters button {
    margin-bottom: 0 !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 1024px) {

    .neatedge-book-filters {
        flex-wrap: wrap;

        gap: 16px;
    }


    .neatedge-book-filters .filter-grade,
    .neatedge-book-filters .filter-subject {
        width: calc(50% - 8px);
        max-width: none;

        flex: 1 1 calc(50% - 8px);
    }


    .neatedge-book-filters .filter-clear {
        flex: 0 0 auto;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .neatedge-book-filters {
        display: flex;

        flex-direction: column;
        align-items: stretch;

        gap: 16px;

        width: 100%;

        margin-top: 16px;
        margin-bottom: 25px;
    }


    .neatedge-book-filters .filter-grade,
    .neatedge-book-filters .filter-subject,
    .neatedge-book-filters .filter-clear {
        width: 100%;
        max-width: 100%;

        flex: 0 0 auto;
    }


    .neatedge-book-filters .facetwp-dropdown {
        width: 100%;
    }


    .neatedge-book-filters .facetwp-reset {
        width: 100%;
    }

}

/* ==========================================================
   NEATEDGE FILTER TYPOGRAPHY
   ========================================================== */

.neatedge-book-filters,
.neatedge-book-filters * {
    font-family: "Montserrat", "Poppins", Arial, sans-serif;
}

/* Filter labels */
.neatedge-book-filters .elementor-heading-title {
    font-family: "Montserrat", "Poppins", Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.2px;
    color: #26383b;
}

/* Dropdown text */
.neatedge-book-filters .facetwp-dropdown {
    font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    color: #26383b;
}

/* Dropdown options */
.neatedge-book-filters .facetwp-dropdown option {
    font-family: "Montserrat", "Poppins", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
}

/* Clear Filters button */
.neatedge-book-filters .facetwp-reset {
    font-family: "Montserrat", "Poppins", Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

/* ==========================================================
   FILTER ALIGNMENT FIX
   ========================================================== */

.neatedge-book-filters {
    align-items: flex-end;
}

/* Make the clear button sit on the same baseline
   as the Grade / Subject dropdowns */
.neatedge-book-filters .filter-clear {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    min-height: 70px;
}

/* Remove any accidental spacing inside clear container */
.neatedge-book-filters .filter-clear .elementor-widget,
.neatedge-book-filters .filter-clear .facetwp-facet {
    margin: 0 !important;
}

/* Keep all controls visually consistent */
.neatedge-book-filters .facetwp-dropdown,
.neatedge-book-filters .facetwp-reset {
    height: 46px;
}

/* ==========================================================
   HARD ALIGNMENT FIX
   Force Grade / Subject / Clear onto exact same baseline
   ========================================================== */

.neatedge-book-filters {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 20px !important;
}

/* Reset Elementor spacing on all three filter columns */
.neatedge-book-filters .filter-grade,
.neatedge-book-filters .filter-subject,
.neatedge-book-filters .filter-clear {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;

    margin: 0 !important;
    padding: 0 !important;

    min-height: 72px !important;
}

/* Grade + Subject same width */
.neatedge-book-filters .filter-grade,
.neatedge-book-filters .filter-subject {
    width: 280px !important;
    max-width: 280px !important;
    flex: 0 0 280px !important;
}

/* Clear stays button-width */
.neatedge-book-filters .filter-clear {
    width: auto !important;
    flex: 0 0 auto !important;
}

/* Kill Elementor widget spacing */
.neatedge-book-filters .elementor-element,
.neatedge-book-filters .elementor-widget,
.neatedge-book-filters .elementor-widget-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Labels */
.neatedge-book-filters .filter-grade .elementor-heading-title,
.neatedge-book-filters .filter-subject .elementor-heading-title {
    height: 18px !important;
    margin: 0 0 9px 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;

    font-size: 14px !important;
    line-height: 18px !important;
}

/* FacetWP wrapper reset */
.neatedge-book-filters .facetwp-facet {
    margin: 0 !important;
    padding: 0 !important;
}

/* Identical control heights */
.neatedge-book-filters .facetwp-dropdown,
.neatedge-book-filters .facetwp-reset {
    height: 46px !important;
    min-height: 46px !important;
    box-sizing: border-box !important;
}

/* Clear column only has button */
.neatedge-book-filters .filter-clear {
    padding-top: 27px !important;
}

/* If a Clear heading still exists, hide it completely */
.neatedge-book-filters .filter-clear .elementor-widget-heading {
    display: none !important;
}


/* MOBILE */
@media (max-width: 767px) {

    .neatedge-book-filters {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 16px !important;
    }

    .neatedge-book-filters .filter-grade,
    .neatedge-book-filters .filter-subject,
    .neatedge-book-filters .filter-clear {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        min-height: auto !important;
    }

    .neatedge-book-filters .filter-clear {
        padding-top: 0 !important;
    }

    .neatedge-book-filters .facetwp-reset {
        width: 100% !important;
    }
}/* End custom CSS */