  

span.woocommerce-Price-amount.amount {
    font-size: 1.5em;
}

/* Single Product - Variations Price Size. */

.variations_form .woocommerce-variation-price .price{
   font-size: 25px;
}
.variations_form .woocommerce-variation-price .price .amount {
    color: #161616;
	font-size: 25px;
  font-weight: 500
}
/* Single Product - Variations Price Size. */

@font-face {
  font-family: 'eicons';
  font-display: swap;
}
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-display: swap;
}
@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-display: swap;
}

@font-face {
  font-family: 'Manrope';
  font-display: swap;
}

@media only screen and (max-width: 768px) {
  .elementor-widget-woocommerce-products
  ul.products[class*="columns-"] > li.product {
    width: auto !important;
    float: none !important;
    clear: none !important;
    margin-bottom: 0 !important;
  }
}
/* =========================================
   MY ACCOUNT - LOGGED OUT
   ========================================= */

body.woocommerce-account #customer_login {
    display: flex !important;
    gap: 40px !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
}

/* Login + Register columns */
body.woocommerce-account #customer_login .u-column1,
body.woocommerce-account #customer_login .u-column2 {
    width: calc(50% - 20px) !important;
    float: none !important;
    margin: 0 !important;
}

/* Headings */
body.woocommerce-account #customer_login h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    margin: 0 0 18px 0 !important;
}

/* Form cards */
body.woocommerce-account #customer_login form.login,
body.woocommerce-account #customer_login form.register {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 28px !important;

    border: 1px solid #dedede !important;
    background: #fff !important;
}

/* Labels */
body.woocommerce-account #customer_login label {
    font-weight: 600 !important;
}

/* Form rows */
body.woocommerce-account #customer_login .form-row {
    margin-bottom: 16px !important;
}

/* Inputs */
body.woocommerce-account #customer_login input.input-text {
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 14px !important;
    box-sizing: border-box !important;
}

/* Buttons */
body.woocommerce-account #customer_login button.button {
    min-height: 46px !important;
    padding: 0 28px !important;
    background: #111 !important;
    color: #fff !important;
    border-radius: 2px !important;
}

/* Full-width login button */
body.woocommerce-account #customer_login form.login button.button {
    width: 100% !important;
}

/* Lost password */
body.woocommerce-account #customer_login .woocommerce-LostPassword {
    margin: 12px 0 0 0 !important;
}

/* Register information text */
body.woocommerce-account #customer_login form.register p {
    line-height: 1.5 !important;
}

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

@media (max-width: 767px) {

    body.woocommerce-account #customer_login {
        display: block !important;
    }

    body.woocommerce-account #customer_login .u-column1,
    body.woocommerce-account #customer_login .u-column2 {
        width: 100% !important;
        margin: 0 0 35px 0 !important;
    }

    body.woocommerce-account #customer_login form.login,
    body.woocommerce-account #customer_login form.register {
        padding: 20px !important;
    }

}

/* =========================================================
   MKAPTURED PRODUCT PURCHASE AREA
   Simple products + variable products
   ========================================================= */


/* =========================================================
   VARIABLE PRODUCTS — REMOVE DUPLICATE PRICE RANGE
   Keeps only the price belonging to the selected variation
   ========================================================= */

.elementor-location-single.product-type-variable
.elementor-widget-eael-woo-product-price {
    display: none !important;
}


/* =========================================================
   PURCHASE AREA CARDS
   ========================================================= */

/* Variable products */

.elementor-location-single.product-type-variable
.elementor-widget-woocommerce-product-add-to-cart {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 24px !important;

    background: #f8f8f8 !important;
    border: 1px solid #dedede !important;
    border-radius: 6px !important;
}


/* Simple product price — top half of card */

.elementor-location-single.product-type-simple
.elementor-widget-eael-woo-product-price {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 22px 24px 8px !important;

    background: #f8f8f8 !important;
    border: 1px solid #dedede !important;
    border-bottom: 0 !important;
    border-radius: 6px 6px 0 0 !important;
}


/* Simple product basket section — bottom half of card */

.elementor-location-single.product-type-simple
.elementor-widget-woocommerce-product-add-to-cart {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 8px 24px 24px !important;

    background: #f8f8f8 !important;
    border: 1px solid #dedede !important;
    border-top: 0 !important;
    border-radius: 0 0 6px 6px !important;
}


/* Remove unwanted form spacing */

.elementor-location-single.product-type-simple form.cart,
.elementor-location-single.product-type-variable form.cart {
    margin: 0 !important;
}


/* =========================================================
   PRICES
   ========================================================= */

.elementor-location-single.product-type-simple
.eael-single-product-price .price,

.elementor-location-single.product-type-variable
.woocommerce-variation-price .price {
    margin: 0 !important;
    color: #161616 !important;
    font-size: 27px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
}


/* Override existing WooCommerce amount sizing */

.elementor-location-single.product-type-simple
.eael-single-product-price .woocommerce-Price-amount,

.elementor-location-single.product-type-variable
.woocommerce-variation-price .woocommerce-Price-amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}


/* Selected variation price */

.elementor-location-single.product-type-variable
.woocommerce-variation-price {
    margin: 2px 0 18px !important;
    text-align: center !important;
}


/* =========================================================
   VARIABLE PRODUCT LAYOUT
   ========================================================= */

.elementor-location-single.product-type-variable
form.variations_form table.variations {
    width: 100% !important;
    margin: 0 !important;

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


.elementor-location-single.product-type-variable
form.variations_form table.variations tbody,

.elementor-location-single.product-type-variable
form.variations_form table.variations tr,

.elementor-location-single.product-type-variable
form.variations_form table.variations th,

.elementor-location-single.product-type-variable
form.variations_form table.variations td {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
}


/* Space between Size and Framing rows */

.elementor-location-single.product-type-variable
form.variations_form table.variations tr {
    margin: 0 0 25px !important;
}


/* Size and Framing labels */

.elementor-location-single.product-type-variable
form.variations_form table.variations th.label {
    padding: 0 0 5px !important;
    background: transparent !important;
    text-align: left !important;
}


.elementor-location-single.product-type-variable
form.variations_form table.variations th.label label {
    margin: 0 !important;
    color: #161616 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
}


.elementor-location-single.product-type-variable
form.variations_form table.variations td.value {
    padding: 0 !important;
    background: transparent !important;
    text-align: center !important;
}


/* =========================================================
   SIZE BUTTONS — DESKTOP
   ========================================================= */

.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_size"] {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: left !important;

    width: 100% !important;
    margin: 0 auto !important;
    gap: 10px !important;
}


.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_size"] .cfvsw-label-option {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing: border-box !important;
    width: 82px !important;
    min-width: 82px !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 0 10px !important;

    color: #161616 !important;
    background: #ffffff !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 5px !important;

    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    cursor: pointer !important;

    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}


.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_size"] .cfvsw-swatch-inner {
    width: 100% !important;
    text-align: center !important;
    white-space: nowrap !important;
}


.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_size"] .cfvsw-label-option:hover {
    border-color: #161616 !important;
    transform: translateY(-1px) !important;
}


/* Selected size */

.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_size"] .cfvsw-selected-swatch {
    color: #ffffff !important;
    background: #161616 !important;
    border-color: #161616 !important;
}


/* =========================================================
   FRAMING OPTIONS — CENTRED DESKTOP AND MOBILE
   ========================================================= */

.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_framing"] {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: left !important;

    width: 100% !important;
    margin: 0 auto !important;
    gap: 12px !important;
}


.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_framing"] .cfvsw-swatches-option {
    box-sizing: border-box !important;

    width: 68px !important;
    min-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;

    margin: 0 !important;
    padding: 3px !important;

    background-color: #ffffff !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 4px !important;

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


.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_framing"] .cfvsw-swatch-inner {
    width: 100% !important;
    height: 100% !important;
    border-radius: 2px !important;
}


.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_framing"] .cfvsw-swatches-option:hover {
    border-color: #161616 !important;
    transform: translateY(-1px) !important;
}


/* Selected framing option */

.elementor-location-single.product-type-variable
[swatches-attr="attribute_pa_framing"] .cfvsw-selected-swatch {
    border-color: #161616 !important;
    box-shadow: 0 0 0 1px #161616 !important;
}


/* Keep unavailable options faded */

.elementor-location-single.product-type-variable
.cfvsw-swatches-option.cfvsw-swatches-disabled {
    opacity: 0.35 !important;
}


/* Centre the Clear link */

.elementor-location-single.product-type-variable
a.reset_variations {
    display: block !important;
    width: 100% !important;
    margin: 10px auto 0 !important;

    color: #666666 !important;
    font-size: 12px !important;
    text-align: right !important;
}


/* =========================================================
   STOCK AND ADD-TO-BASKET AREA
   ========================================================= */

.elementor-location-single.product-type-simple .stock,
.elementor-location-single.product-type-variable .stock {
    margin: 0 0 12px !important;
    text-align: center !important;
}


.elementor-location-single.product-type-simple
.e-atc-qty-button-holder,

.elementor-location-single.product-type-variable
.e-atc-qty-button-holder {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;

    width: 100% !important;
    gap: 10px !important;
}


/* Quantity box */

.elementor-location-single.product-type-simple .quantity .qty,
.elementor-location-single.product-type-variable .quantity .qty {
    box-sizing: border-box !important;

    width: 64px !important;
    min-height: 48px !important;
    margin: 0 !important;

    text-align: center !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 4px !important;
}


/* Add-to-basket button */

.elementor-location-single.product-type-simple
.single_add_to_cart_button,

.elementor-location-single.product-type-variable
.single_add_to_cart_button {
    flex: 1 1 auto !important;

    min-height: 48px !important;
    margin: 0 !important;
    padding: 10px 22px !important;

    color: #ffffff !important;
    background: #161616 !important;
    border: 1px solid #161616 !important;
    border-radius: 4px !important;

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


.elementor-location-single.product-type-simple
.single_add_to_cart_button:hover,

.elementor-location-single.product-type-variable
.single_add_to_cart_button:hover {
    color: #ffffff !important;
    background: #333333 !important;
    border-color: #333333 !important;
}


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

@media (max-width: 767px) {

    /* Purchase card spacing */

    .elementor-location-single.product-type-variable
    .elementor-widget-woocommerce-product-add-to-cart {
        width: 100% !important;
        padding: 18px 14px !important;
    }


    .elementor-location-single.product-type-simple
    .elementor-widget-eael-woo-product-price {
        width: 100% !important;
        padding: 18px 14px 7px !important;
    }


    .elementor-location-single.product-type-simple
    .elementor-widget-woocommerce-product-add-to-cart {
        width: 100% !important;
        padding: 7px 14px 18px !important;
    }


    /* Slightly smaller mobile price */

    .elementor-location-single.product-type-simple
    .eael-single-product-price .price,

    .elementor-location-single.product-type-variable
    .woocommerce-variation-price .price {
        font-size: 24px !important;
    }


    /* Four equal size buttons across the available phone width */

    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_size"] {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

        width: 100% !important;
        margin: 0 auto !important;
        gap: 6px !important;
    }


    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_size"] .cfvsw-label-option {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;

        margin: 0 !important;
        padding: 0 3px !important;

        font-size: clamp(12px, 3.4vw, 13px) !important;
    }


    /* Keep framing options centred */

    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_framing"] {
        justify-content: center !important;
        width: 100% !important;
        gap: 12px !important;
    }


    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_framing"] .cfvsw-swatches-option {
        width: 66px !important;
        min-width: 66px !important;
        height: 66px !important;
        min-height: 66px !important;
    }
}

/* Extra spacing between price, basket button and PayPal message */

/* Variable product: price to button */
.elementor-location-single.product-type-variable
.woocommerce-variation-price {
    margin: 2px 0 22px !important;
}

/* Simple product: price to button */
.elementor-location-single.product-type-simple
.elementor-widget-eael-woo-product-price {
    padding-bottom: 16px !important;
}

.elementor-location-single.product-type-simple
.elementor-widget-woocommerce-product-add-to-cart {
    padding-top: 12px !important;
}

/* Basket button to PayPal message — both product types */
.elementor-location-single.product-type-simple .ppcp-messages,
.elementor-location-single.product-type-variable .ppcp-messages {
    margin-top: 14px !important;
}
/* Mobile only — align framing options to the left */
@media (max-width: 767px) {
    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_framing"] {
        justify-content: flex-start !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
/* Divider between framing options and selected price */
.elementor-location-single.product-type-variable
form.variations_form table.variations tr:last-child {
    padding-bottom: 22px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #d5d5d5 !important;
}
/* iPad/tablet — full-screen menu background */
@media (min-width: 768px) and (max-width: 1024px) {

    .elementor-12173 .elementor-element.elementor-element-6f22c5f {
        isolation: isolate !important;
        z-index: 9999 !important;
    }

    .elementor-12173 .elementor-element.elementor-element-6f22c5f:has(.elementor-menu-toggle[aria-expanded="true"])::before {
        content: "";
        position: fixed;
        inset: 0;
        background: #161616;
        pointer-events: none;
        z-index: -1;
    }
}
/* Tablet/iPad — keep all four size buttons inside the module */
@media (min-width: 768px) and (max-width: 1024px) {

    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_size"] {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: 100% !important;
        gap: 7px !important;
    }

    .elementor-location-single.product-type-variable
    [swatches-attr="attribute_pa_size"] .cfvsw-label-option {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 0 3px !important;
        font-size: clamp(12px, 1.7vw, 13px) !important;
    }
}