/*
Theme Name:   xstore-child
Theme URI:    https://xstore.8theme.com
Description:  XStore is a multi-purpose theme that offers the ultimate WordPress and WooCommerce synergy, providing a comprehensive, all-in-one solution.
Author:       8theme
Author URI:   https://www.8theme.com
Template:     xstore
Version:      1.0
Text Domain:  xstore-child
Tags: e-commerce, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, custom-logo, featured-images, full-width-template, threaded-comments, accessibility-ready, rtl-language-support, footer-widgets, sticky-post, theme-options, translation-ready, ecommerce, woocommerce, shop, elementor, business, corporate, blog, news, light, dark
*/

/* Elementor breakpoints: 
Tablet: 1199px
Mobile: 767px */


/* primary lighter hover colour: #f7894e */

@import url('https://fonts.googleapis.com/css2?family=Albert+Sans:wght@300;400;500;600;700;900&display=swap');


:root,
html,
body {
    --et_main-color: #000000;
    --et_dark-color: #000000;
    --et_red-color: #e2401c;
    --et_quantity-height: 50px;
    --grey-background-colour: #f2f2f2;
    --h1-font-size-desktop: 3.1rem;
    --h1-font-size-tablet: 2.75rem;
    --h1-font-size-mobile: 1.75rem;
    --h2-font-size-desktop: 2.4rem;
    --h2-font-size-tablet: 2.2rem;
    --h2-font-size-mobile: 1.5rem;
    --h2-font-weight: 600;
    --primary-colour-lighter: #f7894e;
}

::selection {
    background-color: var(--primary-colour-lighter);
    color: #ffffff;
}

html {
    font-size: 20px;
}

body {
    font-family: 'Albert Sans', sans-serif;
}

.h1,
h1 {
    font-weight: 600;
}

.btn,
.button,
.et_b_header-button {
    font-weight: 600;
}

.banner-no-link {
    cursor: default !important;
    pointer-events: none;
}
.element-container-full-width .elementor-element-populated .container {
    width: 100%;
}
.element-no-vertical-padding .elementor-element-populated {
    padding-top: 0!important;
    padding-bottom: 0!important;
}


/* primary button styling */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce-address-fields .button {
    background-color: var(--et_active-color);
    text-transform: uppercase;
    border-radius: 32px;
    font-weight: 600;
    color: #FFFFFF;
    transition: background-color 0.3s ease!important;
    line-height: 1.1;
    border-color: var(--et_active-color);
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce-address-fields .button:hover {
    background-color: var(--primary-colour-lighter);
    border-color: var(--primary-colour-lighter);
    color: #FFFFFF;
}

/* secondary button styling */
.addresses a.edit {
    background-color: #000000;
    text-transform: uppercase;
    border-radius: 32px;
    font-weight: 600;
    color: #FFFFFF;
    transition: background-color 0.3s ease!important;
    line-height: 1.1;
    padding-top: 13px;
    padding-right: 30px;
    padding-bottom: 12px;
    padding-left: 30px;
}
.addresses a.edit:hover {
    background-color: #1d1d1b;
    color: #FFFFFF;
}


/* Formidable Forms */
/* Placeholder Styles */
.frm_style_formidable-style.with_frm_style input::placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style textarea::placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style select::placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style input::-webkit-input-placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style textarea::-webkit-input-placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style input::-moz-placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style textarea::-moz-placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style input:-ms-input-placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.frm_style_formidable-style.with_frm_style textarea:-ms-input-placeholder {
    color: #000;
    text-transform: uppercase;
    letter-spacing: 1px;
}
/* Checkbox override */
.with_frm_style .frm_checkbox input[type=checkbox] {
    border-radius: 0!important;
}
/* headings */
.with_frm_style h2 {
    font-size: 1.4rem;
}
@media (min-width: 768px) {
    .with_frm_style h2 {
        font-size: 2rem;
    }
}

/* elementor text editor element */
.elementor-widget-text-editor ul {
    list-style: outside;
    padding-left: 0.9rem;
    margin-bottom: 1.43rem;
}
.elementor-widget-text-editor p:has(+ ul) { 
    margin-bottom: 0.5rem;
}


/* - - - - - - - HEADER - START - - - - - - - */

.site-header {
    font-size: 18px;
}
.site-header .header-widget1 {
    display: flex;
}
.site-header .widget_custom_html {
    width: 100%;
}
.et_b_header-menu.et_element-top-level .menu>li>a {
    font-weight: 600;
}
.header-main-menu.et_element-top-level .menu > li:first-child > a {
    padding-left: 0;
}
.header-top .header-main-menu2.et_element-top-level .menu > .current-menu-item > a {
    color: var(--et_active-color);
}
@media (min-width: 768px) {
    .site-header .et-container {
        max-width: 780px;
    }
}
@media only screen and (min-width: 992px) {
    .site-header .et-container {
        max-width: 1000px;
    }
}
@media only screen and (min-width: 1200px) {
    .site-header .et-container {
        max-width: 1630px;
    }
}
@media (max-width: 1535px) {
    .site-header {
        font-size: 14px;
    }
}


/* Custom Social Icons */
.custom-social-icons {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 1px;
}

.custom-social-icons .social-label {
    font-weight: 600;
    text-transform: uppercase;
    line-height: 1;
    display: block;
    padding-top: 2px;
}

.custom-social-icons .social-icons-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.custom-social-icons .social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    transition: opacity 0.3s ease;
}

.custom-social-icons .social-icon:hover {
    opacity: 0.7;
}

.custom-social-icons .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Social icon placeholders */
.custom-social-icons .social-icon span[class^="icon-"] {
    display: block;
    width: 100%;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Custom icon styles */
.custom-social-icons .icon-facebook {
    background-image: url('svg/facebook-icon.svg');
}

.custom-social-icons .icon-instagram {
    background-image: url('svg/instagram-icon.svg');
}

/* Add more icons as needed - use the same pattern:
.custom-social-icons .icon-twitter {
    background-image: url('svg/twitter-icon.svg');
}

.custom-social-icons .icon-youtube {
    background-image: url('svg/youtube-icon.svg');
}

.custom-social-icons .icon-linkedin {
    background-image: url('svg/linkedin-icon.svg');
}
*/

/* Account Links */
.account-links {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    justify-content: flex-end;
}

.account-links .account-link {
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
    color: #FFFFFF;
    text-transform: uppercase;
}

.account-links .account-link:hover {
    color: #222222;
}

/* - - - - - - - HEADER - END - - - - - - - - */





/* - - - - - - - FOOTER - START - - - - - - - */

footer.footer {
    padding: 0;
}
footer.footer .container {
    max-width: 100%;
    padding: 0;
}
footer.footer .phone-link a {
    color: #ea5b0c;
    background: url('svg/phone-primary-icon.svg') no-repeat left center;
    background-size: 18px auto;
    padding-left: 25px;
    display: inline-block;
}
footer.footer h3.top-level-menu-title {
    font-weight: 600;
    margin: 0 0 10px;
    font-size: 1.2rem;
}
footer.footer ul.top-level-menu {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
footer.footer ul.top-level-menu li {
    padding: 0;
}
footer.footer ul.top-level-menu li a {
    padding: 0;
    font-size: 1rem;
}
footer.footer ul.top-level-menu li a:hover {
    color: var(--et_active-color);
}
footer.footer ul.top-level-menu li a:focus {
    color: #FFFFFF;
}
footer.footer .copyright-text {
    color: #FFFFFF;
    font-size: 1rem;
    line-height: 1.2;
    display: block;
}
@media (max-width: 1199px) {
    footer.footer h3.top-level-menu-title,
    footer.footer ul.top-level-menu li {
        text-align: center;
    }
}
@media (max-width: 767px) {
    footer.footer .copyright-text {
        text-align: center;
        margin-bottom: 15px;
    }
}

/* - - - - - - - FOOTER - END - - - - - - - - */





/* - - - - - - - SINGLE PRODUCT - START - - - - - - - */

body.single-product .page-heading .container {
    max-width: 1600px;
    padding: 0;
}
body.single-product .woocommerce-breadcrumb a:last-of-type {
    font-weight: 600;
}
body.single-product .content-page {
    max-width: 100%;
    padding: 0;
    width: 100%;
}
.single-product .woocommerce-tabs {
    max-width: 1660px;
    margin: 0 auto;
    float: none;
    padding: 0 30px 75px;
}
.single-product .woocommerce-tabs .content li {
    line-height: 1.2;
}
.single-product .woocommerce-tabs .content > :last-child,
.single-product .woocommerce-tabs .content > ul:last-child li:last-child {
    margin-bottom: 0;
}
body.single-product .product-content {
    max-width: 1660px;
    margin: 0 auto;
    float: none;
    padding: 75px 30px 75px;
}
body.single-product .product-content .row {
    display: flex;
    column-gap: 50px;
    margin: 0;
}
body.single-product .product-content .row:before,
body.single-product .product-content .row:after {
    display: none;
}
body.single-product .product-images {
    width: calc(45% - 25px);
    border: solid 1px #ea5b0c;
    border-radius: 12px;
    float: none;
    padding: 35px 30px 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}
body.single-product .product-information {
    width: calc(55% - 25px);
    float: none;
    background: var(--grey-background-colour);
    border-radius: 12px;
    margin: 0;
    padding: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}
body.single-product .product-information-inner {
    max-width: 640px;
}
.product-content .product_title {
    font-size: var(--h1-font-size-desktop);
    line-height: 1.1;
    display: block;
    margin-bottom: 8px;
}
.product-content .price,
.related-products .content-product .price {
    font-weight: 600;
    color: #ea5b0c;
    font-size: 2.45rem;
}
/* Orange bullet points */
.woocommerce-product-details__short-description ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding-left: 0;
    row-gap: 10px;
}
.woocommerce-product-details__short-description ul li {
    margin: 0;
    padding-left: 30px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='%23ea5b0c'%3E%3Ccircle cx='6' cy='6' r='6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 0 0.35em;
    background-size: 12px 12px;
    line-height: 1.2;
    font-size: 1.15rem;
}
.product-information form.cart table.variations th.label label {
    font-size: 20px;
}
.single_add_to_cart_button.button {
    background-color: var(--et_active-color);
    height: 50px;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.et_cart-type-4 .single_add_to_cart_button:before {
    display: none;
}
div.quantity>span,
td.quantity>span {
    background-color: var(--et_active-color);
    color: #FFFFFF;
    padding-left: 10px;
    padding-right: 10px;
    border-color: var(--et_active-color);
}
div.quantity>span .et-icon,
td.quantity>span .et-icon {
    font-weight: 700;
}
div.quantity>.minus,
td.quantity>.minus {
    border-radius: 32px 0 0 32px;
}
div.quantity>.plus,
td.quantity>.plus {
    border-radius: 0 32px 32px 0;
}
div.quantity>input[type=number] {
    border-color: var(--et_active-color);
}
.single_add_to_cart_button.button:hover,
.single_add_to_cart_button.button.disabled:hover {
    background-color: var(--primary-colour-lighter);
}
.related-products-title {
    background: var(--grey-background-colour);
    padding-top: 125px;
    padding-bottom: 100px;
    margin: 0;
    font-size: var(--h2-font-size-desktop);
    font-weight: var(--h2-font-weight);
}
.related-products-title:before {
    content: 'Shop';
    display: block;
    color: var(--et_active-color);
    text-transform: uppercase;
    font-size: 1.1rem;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-weight: 400;
}
.related-products {
    width: 100%;
    padding-left: calc((100% - 1660px) / 2 + 30px);
    padding-right: calc((100% - 1660px) / 2 + 30px);
    margin: 0;
    padding-bottom: 170px;
    background: var(--grey-background-colour);
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}
.related-products:before,
.related-products:after {
    display: none;
}
.related-products .product {
    background: #FFFFFF;
    border: solid 1px #B4B4B4;
    border-radius: 18px;
    padding: 20px;
    width: 250px!important;
}
.related-products .content-product {
    margin-bottom: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
}
.related-products .product-details {
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-grow: 1;
}
.related-products .st-swatch-in-loop {
    display: none;
}
.related-products .content-product .product-title {
    font-size: 1.3rem;
    font-weight: 600;
    text-align: left;
    line-height: 1.2;
}
.related-products .content-product .price {
    font-size: 1.3rem;
    font-weight: 900;
    text-align: left;
}
.related-products .product .add_to_cart_button,
.related-products .product .product_type_variable {
    display: none;
}
@media (max-width: 1659px) {
    .related-products {
        padding-left: calc((100% - 850px) / 2 + 30px);
        padding-right: calc((100% - 850px) / 2 + 30px);
    }
}
@media (max-width: 1199px) {
    body.single-product .page-heading .container {
        max-width: 100%;
        width: 100%;
    }
    body.single-product .product-content {
        padding-top: 60px;
        padding-bottom: 90px;
    }
    .product-content .product_title {
        font-size: var(--h1-font-size-tablet);
    }
    .product-content .price {
        font-size: 2rem;
    }
    .woocommerce-product-details__short-description ul li {
        font-size: 1rem;
    }
    .related-products-title {
        padding-top: 90px;
        padding-bottom: 60px;
        font-size: var(--h2-font-size-tablet);
    }
    .related-products-title:before {
        font-size: 1rem;
    }
    .related-products {
        padding-bottom: 120px;
    }
}
@media (max-width: 992px) {
    body.single-product .page-heading .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    .related-products {
        padding-left: calc((100% - 580px) / 2 + 30px);
        padding-right: calc((100% - 580px) / 2 + 30px);
    }
}
@media (max-width: 991px) {
    body.single-product .page-heading .container {
        max-width: 780px;
        font-size: 0.8rem;
    }
    body.single-product .product-content {
        max-width: 810px;
    }
    body.single-product .product-content .row {
        flex-wrap: wrap;
        row-gap: 45px;
    }
    body.single-product .product-images {
        width: 100%;
    }
    body.single-product .product-information {
        width: 100%;
    }
}
@media (max-width: 767px) {
    .single-product .woocommerce-tabs {
        padding-bottom: 60px;
    }
    .single-product .woocommerce-tabs h2 {
        font-size: var(--h2-font-size-mobile);
    }
    .single-product .woocommerce-tabs .content,
    .single-product .woocommerce-tabs .content p,
    .single-product .woocommerce-tabs .content li {
        font-size: 0.9rem;
    }
    body.single-product .product-content {
        padding-top: 30px;
        padding-bottom: 60px;
    }
    body.single-product .product-content .row {
        row-gap: 30px;
    }
    body.single-product .product-images {
        padding: 15px;
    }
    body.single-product .product-information {
        padding: 20px;
    }
    .product-content .product_title {
        font-size: var(--h1-font-size-mobile);
    }
    .product-content .price {
        font-size: 1.5rem;
    }
    .woocommerce-product-details__short-description ul li {
        font-size: 0.9rem;
    }
    .related-products-title {
        padding-top: 60px;
        padding-bottom: 45px;
        font-size: var(--h2-font-size-mobile);
    }
    .related-products-title:before {
        font-size: 0.9rem;
    }
    .related-products {
        padding-bottom: 90px;
    }
}



/* - - - - - - - SINGLE PRODUCT - END - - - - - - - - */





/* - - - - - - - PRODUCT CARD - START - - - - - - - - */

/* Uniform image container — fixed 1:1 ratio, image contained and centred */
/* Covers both the Elementor product grid and the standard XStore loop card */
.etheme-product-grid-image,
.content-product .images-slider-wrapper {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.etheme-product-grid-image a,
.content-product .product-content-image {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}
.etheme-product-grid-image img,
.content-product .product-content-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
    object-position: center center;
}

.etheme-product-grid-item,
.etheme-product-grid-content {
    display: flex;
    flex-direction: column;
}
.etheme-product-grid-content {
    flex-grow: 1;
}
.etheme-product-grid-content > .etheme-product-grid-button {
    margin-top: auto;
}

/* - - - - - - - PRODUCT CARD - END - - - - - - - - */





/* - - - - - - - PRODUCT ARCHIVE - START - - - - - - - - */

.product-archive-sort-by .elementor-widget-wrap {
    align-items: center;
    gap: 30px;
}
.product-archive-sort-by .elementor-widget-wrap > .elementor-element {
    width: auto;
    margin: 0;
}
.product-archive-sort-by .elementor-widget-wrap > .elementor-widget-woocommerce-archive-etheme_product_per_page {
    margin-left: auto;
}
.product-archive-sort-by .elementor-widget-woocommerce-archive-etheme_product_per_page .mob-hide {
    display: block!important;
}
.product-archive-sort-by .woocommerce-ordering select {
    width: 225px;
}
@media (max-width: 767px) {
    .product-archive-sort-by {
        font-size: 0.8rem;
    }
    .product-archive-sort-by .elementor-widget-wrap {
        gap: 15px;
    }
    .product-archive-sort-by .elementor-widget-wrap > .elementor-widget-woocommerce-archive-etheme_result_count {
        width: 100%;
    }
    .product-archive-sort-by select {
        height: 40px;
        padding-right: 2.05em;
        padding-left: 0.65em;
    }
    .product-archive-sort-by .elementor-widget-wrap > .elementor-widget-woocommerce-archive-etheme_product_per_page {
        margin-left: 0;
    }
    .product-archive-sort-by .elementor-widget-wrap > .elementor-widget-woocommerce-archive-etheme_product_sorting {
        margin-left: auto;
    }
    .product-archive-sort-by .woocommerce-ordering select {
        width: 155px;
    }
}

/* - - - - - - - PRODUCT ARCHIVE - END - - - - - - - - - */





/* - - - - - - - CART WIDGET / PAGE - START - - - - - - - - */

.cart-checkout-nav {
    padding-left: 15px!important;
    padding-right: 15px!important;
}
.cart-checkout-nav a {
    margin-top: 5px;
    margin-bottom: 5px;
}

.product_list_widget .variation {
    column-gap: 8px;
}

.wc-block-components-product-details.wc-block-components-product-details li {
    font-size: 1rem;
    line-height: 1.4;
    margin: 0;
}

/* Replace sad face emoji with cart icon in empty cart */
.wc-block-cart__empty-cart__title.with-empty-cart-icon {
    margin-top: 15px;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before {
    content: '' !important;
    display: block !important;
    width: 4em !important;
    height: 4em !important;
    margin: 0 auto 20px !important;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000000' d='M23.928 9.144c0.024-0.384-0.12-0.768-0.408-1.056s-0.672-0.456-1.104-0.456h-4.368l-5.52-7.368c-0.096-0.144-0.288-0.24-0.48-0.24s-0.36 0.096-0.456 0.24l-5.52 7.368h-4.464c-0.84 0-1.512 0.672-1.512 1.512v1.896c0 0.84 0.672 1.512 1.512 1.512h0.456l1.536 9.336c0.192 1.2 1.2 2.064 2.424 2.064h11.976c1.2 0 2.232-0.864 2.424-2.064l1.536-9.336h0.456c0.84 0 1.512-0.672 1.512-1.512v-1.896zM1.224 9.144c0-0.192 0.168-0.36 0.384-0.36h3.6l-0.192 0.264c-0.024 0-0.048 0-0.072 0-0.576 0-1.056 0.48-1.056 1.056s0.48 1.056 1.056 1.056c0.576 0 1.056-0.48 1.056-1.056 0-0.12-0.024-0.264-0.072-0.384l0.72-0.96h10.824l0.72 0.96c-0.048 0.096-0.072 0.216-0.072 0.384 0 0.576 0.48 1.056 1.056 1.056s1.056-0.48 1.056-1.056c0-0.576-0.48-1.056-1.056-1.056-0.024 0-0.048 0-0.072 0l-0.192-0.264h3.6c0.192 0 0.384 0.192 0.384 0.384v1.872c0 0.192-0.192 0.384-0.384 0.384h-20.904c-0.192 0-0.384-0.192-0.384-0.384v-1.896zM7.512 7.632l4.536-6.072 4.56 6.072h-9.096zM3.24 12.576h17.664l-1.536 9.144c-0.12 0.648-0.672 1.104-1.296 1.104h-12c-0.648 0-1.2-0.48-1.296-1.104l-1.536-9.144zM12.048 0.312v0 0 0zM15.864 22.08c0.312 0 0.576-0.264 0.576-0.576v-7.608c0-0.312-0.264-0.576-0.576-0.576s-0.576 0.264-0.576 0.576v7.608c0 0.312 0.264 0.576 0.576 0.576zM8.28 22.08c0.312 0 0.576-0.264 0.576-0.576v-7.608c0-0.312-0.264-0.576-0.576-0.576s-0.576 0.264-0.576 0.576v7.608c0 0.312 0.264 0.576 0.576 0.576zM12.072 22.08c0.312 0 0.576-0.264 0.576-0.576v-7.608c0-0.312-0.264-0.576-0.576-0.576s-0.576 0.264-0.576 0.576v7.608c0 0.312 0.264 0.576 0.576 0.576z'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    mask-image: none !important;
    mask-position: unset !important;
    mask-repeat: unset !important;
    mask-size: unset !important;
}

/* - - - - - - - CART WIDGET / PAGE - END - - - - - - - - */





/* - - - - - - - CHECKOUT - START - - - - - - - - */

@media (min-width: 730px) and (max-width: 991px) {
    .wc-block-components-order-summary-item {
        flex-wrap: wrap;
        column-gap: 10px;
        row-gap: 5px;
    }
    .wc-block-components-order-summary .wc-block-components-order-summary-item__image {
        padding-bottom: 0!important;
    }
    .wc-block-components-order-summary .wc-block-components-order-summary-item__description {
        padding-left: 0!important;
        padding-right: 0!important;
    }
}

/* - - - - - - - CHECKOUT - END - - - - - - - - - */





/* - - - - - - - ORDER CONFIRMATION - START - - - - - - - - */

ul.wc-item-meta li {
    line-height: 1.4;
    font-size: 1rem;
}

.woocommerce-order-details table,
.woocommerce-customer-details address {
    font-size: 1rem;
}

/* - - - - - - - ORDER CONFIRMATION - END - - - - - - - - - */





/* - - - - - - - ACCOUNT - START - - - - - - - - */

.woocommerce-account .content-page {
    padding-top: 45px;
}

/* Prevent long email addresses from breaking out of container */
.MyAccount-user-info {
    overflow: hidden;
}

.MyAccount-user-info > div {
    min-width: 0;
    overflow: hidden;
}

.MyAccount-user-info .MyAccount-user-name + div {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
}

.woocommerce-account .u-columns h2 {
    margin-left: 0;
}

@media (max-width: 1191px) {
    .woocommerce-MyAccount-navigation-wrapper li a {
        font-size: 1rem;
    }
}

@media (max-width: 767px) {
    .MyAccount-dashboard-buttons {
        margin: 0;
        gap: 10px;
    }
    .MyAccount-dashboard-buttons .btn {
        margin: 0;
        font-size: 0.9rem;
    }
}

/* - - - - - - - ACCOUNT - END - - - - - - - - - */





/* - - - - - - - HOMEPAGE - START - - - - - - - - - */

.homepage-hero-banner .banner-title {
    max-width: 900px;
}
.homepage-welcome-heading h2 {
    font-size: 2.75rem;
    margin: 0;
    line-height: 1;
    font-weight: 600;
}
.homepage-welcome-heading h2 strong {
    font-weight: 900;
}
.homepage-cta .content-inner p {
    max-width: 415px;
    margin-bottom: 0;
    line-height: 1.25;
}
.home .etheme-product-grid .price {
    margin: auto 0 0;
}
@media (max-width: 1199px) {
    .homepage-hero-banner .content-inner p {
        margin-bottom: 10px;
    }
    .homepage-welcome-heading h2 {
        font-size: 2.5rem;
    }
}
@media (max-width: 767px) {
    .homepage-hero-banner .banner img,
    .homepage-cta .banner img {
        object-fit: cover;
        aspect-ratio: 1;
    }
    .elementor .elementor-element .homepage-hero-banner .banner img {
        object-position: left center !important;
    }
    .homepage-welcome-heading h2 {
        font-size: 1.9rem;
    }
}

/* - - - - - - - HOMEPAGE - END - - - - - - - - - - */





/* - - - - - - - CONTACT US PAGE - START - - - - - - - - - */

.contact-us-page-location-panel h2 {
    font-size: 34px;
    font-weight: 600;
    color: var(--et_active-color);
}
.contact-us-page-location-panel a {
    color: var(--et_active-color);
    font-weight: 600;
}
.contact-us-page-location-panel :last-child {
    margin-bottom: 0;
}
@media (max-width: 767px) {
    .contact-us-page-location-panel h2 {
        font-size: 28px;
    }
}

/* - - - - - - - CONTACT US PAGE - END - - - - - - - - - - */




/* - - - - - - - CATEGORY TEMPLATES - START - - - - - - - - */

/* Shared wrapper */
.scotcrest-category-template {
    display: block;
}

/* ---- Banner ---- */
.scotcrest-cat-banner {
    width: 100%;
    max-width: 1660px;
    margin: 45px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
}

.scotcrest-cat-banner__image {
    width: 100%;
    aspect-ratio: 1660 / 422;
    background-color: #333;
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.scotcrest-cat-banner__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 90%);
    border-radius: 16px;
}

.scotcrest-cat-banner__inner {
    position: relative;
    z-index: 1;
    padding: 7%;
    width: 100%;
}

.scotcrest-cat-banner__title {
    color: #ffffff;
    font-size: var(--h1-font-size-desktop);
    font-weight: 600;
    line-height: 1.1;
    margin: 0;
}

/* ---- Text Panel ---- */
.scotcrest-cat-text-panel {
    width: 100%;
    max-width: 1660px;
    margin: 30px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
}

.scotcrest-cat-text-panel__body {
    background: var(--grey-background-colour);
    border-radius: 16px;
    padding: 35px 60px 40px;
}

.scotcrest-cat-text-panel__inner {
    margin: 0 auto;
    text-align: center;
}

.scotcrest-cat-text-panel__heading {
    font-size: var(--h2-font-size-desktop);
    font-weight: var(--h2-font-weight);
    margin: 0 0 20px;
    line-height: 1.15;
}

.scotcrest-cat-text-panel__description {
    font-size: 1rem;
    line-height: 1.2;
    margin-bottom: 16px;
}

.scotcrest-cat-text-panel__description p {
    margin-bottom: 0;
}

.scotcrest-cat-text-panel__contact {
    color: var(--et_active-color);
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.scotcrest-cat-text-panel__contact a {
    color: inherit;
    text-decoration: none;
}

.scotcrest-cat-text-panel__contact a:hover {
    text-decoration: underline;
}

/* Grid wrapper */
.scotcrest-cat-grid-wrapper {
    max-width: 1660px;
    margin: 0 auto;
    padding: 60px 15px;
    width: 100%;
}

/* Base grid */
.scotcrest-cat-grid {
    display: grid;
    row-gap: 30px;
    column-gap: 25px;
}

/* 4-column grid (areas) */
.scotcrest-cat-grid--4col {
    grid-template-columns: repeat(4, 1fr);
}

/* 6-column grid (schools) */
.scotcrest-cat-grid--6col {
    grid-template-columns: repeat(6, 1fr);
}

/* Category card */
.scotcrest-cat-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.scotcrest-cat-card:hover {
    color: inherit;
}

/* Card image */
.scotcrest-cat-card__image {
    aspect-ratio: 221 / 178;
    width: 100%;
    overflow: hidden;
    background: #ffffff;
    border: solid 1px #B4B4B4;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5%;
    box-sizing: border-box;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.scotcrest-cat-card:hover .scotcrest-cat-card__image {
    border-color: var(--et_active-color);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.scotcrest-cat-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

/* Card name */
.scotcrest-cat-card__name {
    padding: 12px 4px 0;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.2;
    text-align: center;
}

@media (max-width: 1199px) {
    .scotcrest-cat-banner__title {
        font-size: 48px;
    }
    .scotcrest-cat-text-panel__heading {
        font-size: var(--h2-font-size-tablet);
    }
}

@media (max-width: 767px) {
    .scotcrest-cat-banner {
        padding: 0 15px;
        margin-top: 15px;
    }
    .scotcrest-cat-banner__title {
        font-size: calc(var(--h1-font-size-mobile) * 0.8);
    }
    .scotcrest-cat-text-panel {
        padding: 0 15px;
        margin-top: 15px;
    }
    .scotcrest-cat-text-panel__body {
        padding: 20px 15px 25px;
    }
    .scotcrest-cat-text-panel__description,
    .scotcrest-cat-text-panel__description p,
    .scotcrest-cat-text-panel__contact {
        font-size: 0.8rem;
    }
    .scotcrest-cat-text-panel__heading {
        display: none;
    }
}

/* Responsive — 6col grid */
@media (max-width: 1399px) {
    .scotcrest-cat-grid--6col {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 991px) {
    .scotcrest-cat-grid-wrapper {
        padding: 45px 20px;
    }
    .scotcrest-cat-grid--4col {
        grid-template-columns: repeat(2, 1fr);
    }
    .scotcrest-cat-grid--6col {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 767px) {
    .scotcrest-cat-grid-wrapper {
        padding: 30px 15px;
    }
    .scotcrest-cat-grid--4col {
        grid-template-columns: repeat(2, 1fr);
    }
    .scotcrest-cat-grid--6col {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .scotcrest-cat-grid--4col,
    .scotcrest-cat-grid--6col {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 12px;
    }
    .scotcrest-cat-card__name {
        font-size: 0.75rem;
    }
}

/* - - - - - - - CATEGORY TEMPLATES - END - - - - - - - - - */