/*
Theme Name:   TM Shop Child Theme
Theme URI:    https://store.tailormade.uk/
Description:  A Storefront child theme 
Author:       Porcelain Tiles
Author URI:   https://store.tailormade.uk/
Template:     storefront
Version:      4.7.117
Text Domain:  tmshopchild
*/
:root {
  --brand-colour:#968762;
  --brand-alt-colour:#8499a7;
  --font-colour:#222;
  --brand-font: 'Futura PT W01 Book', 'Open Sans', arial, sans-serif;
  --brand-font-bold: 'Futura PT W01 Demi', 'Open Sans', arial, sans-serif;
  --brand-font-light: 'Futura PT W01 Light', 'Open Sans', arial, sans-serif;
  --font-light-colour:#888;
  --border-colour:rgba(0, 0, 0, 0.05);
  --link-colour:#999;
  --bg-colour:#f7f6f1;
  --bg-colour-tint:#eeeadf;
  --bg-colour-light-tint:#f5f3ec;
  --bg-dark-colour:#222;
  --button-colour:#fff;
  --button-bg-colour:#111;
  --border-radius:3px;
  --notificationheight: 2.25rem;
  --headerheight: 4.5rem;
  --headerheightmargin: -4.5rem;
  --shopmaxwidth: 98vw;
  --input-text-size:18px;
  --input-height:50px;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}


body{background-color:var(--bg-colour) !important; margin:0; padding:0; font-size: 1.2em;
    line-height: 1.5;}

body, button, input, textarea, select{
    font-family:  var(--brand-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color:var(--font-colour);
}



.col-full {
        max-width: var(--shopmaxwidth) !important;
        margin-left: auto;
        margin-right: auto;
        padding: 0 2vw !important;
}

h1, h2, h3, h4, h5 ,h5{line-height:1;font-weight: 100;}

h1{font-family:  var(--brand-font-light); letter-spacing: 0.05em; text-transform: none;}

h2, .widget-title, .woocommerce-MyAccount-content h2{font-family:  var(--brand-font-light); letter-spacing: 0.02em; margin:1em 0; display:block}

h3{font-family:  var(--brand-font);}

h4{font-family:  var(--brand-font); }

h5{font-family:  var(--brand-font-bold); letter-spacing: 0.2em; text-transform: uppercase;}

h6{font-family:  var(--brand-font-light); letter-spacing: 0.05em; text-transform: none; margin-top:1em; margin-bottom:1em;}



h1 {font-size: calc(28px + 1vw);}
h2, .widget-title {font-size: calc(15px + 1vw);}
h3 {font-size: calc(14px + 1vw);}
h4 {font-size: calc(13px + 1vw);}
ul.products li.product .woocommerce-loop-product__title {font-size: calc(15px + 1.5vw);}
.related ul.products li.product .woocommerce-loop-product__title {font-size: calc(13px + 1vw);}
.newsletter-section h2{font-size:25px;}

.product-model-title h1{margin:0 auto;}

a{color:var(--link-colour);}

strong{font-family:  var(--brand-font-bold); font-weight: 100;}

form{position:relative;}

fieldset {
    border: none;
    padding: 0;
    margin: auto;}
    
legend{font-family:var(--brand-font-bold);}

input[type=text], input[type=number], input[type=email], input[type=tel], input[type=url], input[type=password], input[type=search], textarea, .input-text {
   background-color: #fff;
   border-radius: var(--border-radius);
    line-height: 50px;
    padding: 0 20px;
    border: 1px solid var(--border-colour);
    color:var(--font-colour);
    font-family:  var(--brand-font);
    font-size:var(--input-text-size);
}

.wp-block-button__link {
    color: #fff;
    background-color: var(--brand-colour);
    box-shadow: none;
    text-decoration: none;
    font-family: var(--brand-font-bold);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 14px !important;
    line-height: var(--input-height);
    padding: 0 2em;
    border-radius: var(--border-radius);
}

.tailor-made {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 80%;
    line-height: 100%;
    font-family: var(--brand-font-bold);
    margin-left: 0.3em;
    white-space: nowrap;
}

.tailor-made sup {
    font-size: 100%;
    line-height: 100%;
    font-family: var(--brand-font);
}

.screen-reader-text{display:none;}

address, span em{font-size:smaller; font-style:normal; color:var(--font-light-colour);}

img{border-radius:unset; height:auto; max-width:100%; color:var(--font-colour);font-size: 12px; text-transform:capitalize; text-align:left; letter-spacing:0px; font-family:var(--brand-font);}

.product-slideshow a, .menu a, .woocommerce-breadcrumb a{text-decoration:none; color:var(--font-colour);}

.menu{list-style:none;padding: 0;
    margin: 0;}

.storefront-breadcrumb{margin:0;padding:0.5em 0;}

.woocommerce-breadcrumb {
    line-height:1em;
    text-transform: uppercase;
    font-size: x-small;
    letter-spacing: 0.05em;
}

.storefront-sorting {
margin: auto;}
form.woocommerce-ordering {
    display: none;
}

.fixed-header-bar {
    height: var(--headerheight);
    display: flex;
    align-items: center;
    justify-content: space-around;
        position: sticky;
        top: 0px;
        z-index: 4;
        background:rgba(247, 246, 241,0.7);
        
        -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
}

.site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
        display: block;}


.header-search-bar {
    display: flex;
    justify-content: center;
    order: 2;
}

  


  .menu-main-navigation-container ul{list-style: none;}
  
  .mobile-menu-icon {
    text-align: center;
    line-height: var(--headerheight);
  }
 
 
  .header-search-bar, .desktop-site-branding, .mobile-menu-icon, .header-account-bar{width:33%;}   
    
  
  .mobile-menu-icon a {
      display: flex;
      flex-direction: column-reverse;
      justify-content: space-evenly;
      flex-wrap: nowrap;
      text-decoration: none;
    padding: 0 10px;
    color:var(--font-colour);
  }

  .active-mobile-menu{color:var(--brand-alt-colour);}
  
  .mobile-menu-icon span {
      text-transform: uppercase;
      font-size: 10px;
      letter-spacing: 0.1em;
      line-height: 10px;
      font-weight: 500;
      display:none;
  }

  .desktop-site-branding{display:none;}
  
   .woocommerce-MyAccount-navigation-link--downloads{display:none;}
   
   .woocommerce-account .entry-content{min-height: 70vh;}

  .header-site-branding{
    align-content: center;
    height: var(--headerheight);
  }
  
  
  .header-site-branding a{
    display: block;
    max-width: 200px;
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -10000px;
    margin:auto;
    background-image: url(/wp-content/uploads/tailor-made-logo.svg);
  }

  .header-account-bar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    column-gap: 1em;
    text-align: right;
    height: var(--headerheight);
    border: none;
    order: 3;
}


.header-account-bar ul{
    font-size: 13px;
    font-family:  var(--brand-font-bold);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    text-decoration: none;
    font-weight: 100;
    display: flex;
    justify-content: center;
    padding: 0;
    margin: 0;
    white-space: nowrap;
    line-height: var(--headerheight);
    column-gap: 5px;
}

.header-account-bar ul li{
 display: block;
}

.header-account-bar a {
    color:var(--font-colour);
    text-decoration:none;
}


.header-account-bar > a {
    line-height: var(--headerheight);
    display: block;
    padding: 0 10px;
}





.widget_shopping_cart .product_list_widget {
    display: block;
    height:auto !important;
    max-height: 55vh;
    overflow: scroll;
}

.site-header-cart{position:unset !important;}
 
.site-header-cart:hover .widget_shopping_cart, .site-header-cart .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
        left: unset;
        display: none;
        height: auto;
        right:2vw;
        width: 20vw;
        min-width: 300px; 
        text-align: center;
}

.site-header-cart:hover .widget_shopping_cart,.site-header-cart.focus .widget_shopping_cart {
        display: block;
}


.widget_shopping_cart_content {
    background: #fff; border-radius: var(--border-radius);
}

.site-header-cart .widget_shopping_cart .woocommerce-mini-cart__empty-message{margin:auto;}

li.woocommerce-mini-cart-item.mini_cart_item {
    display: flex;
    flex-wrap: wrap;
    padding: 0.5em;
    justify-content: center;
    flex-direction: column;
    line-height: 2;
}

li.woocommerce-mini-cart-item.mini_cart_item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    order:2;
    max-width: 100%;
}

.product_list_widget li img{max-width:90%;margin:auto !important;float:unset;aspect-ratio: 1 / 0.4; object-fit: contain;}
.widget_shopping_cart .product_list_widget li .quantity{order:3;  width: 100%; text-align: center;}



.widget_shopping_cart .buttons a{color:var(--button-colour);}
.widget_shopping_cart p.total, .widget_shopping_cart p.buttons {padding: 1em; line-height: 1.25em;
    font-size: 1.25em;}

.site-search {
    font-size: unset;
    clear: unset;
    display: unset;
    flex-grow: 1;
    max-width:400px;
}

.site-search .widget{margin:unset;}




span.header-items-count {
    width: 16px;
    height: 16px;
    background: #222;
    color: #fff;
    line-height: 16px;
    border-radius: 50%;
    display: inline-block;
    text-align: center;
    font-size: 10px;
    letter-spacing: 0;
    position: relative;
    transform: translate(-10px, -10px);
}



/* mega menu styles */

.menu-mega-menu-container{
    display:none;
    width: 100%;
    position: relative;
    z-index: 3;
    text-transform: uppercase;
    font-size: 0.6em;
    letter-spacing: 0.1em;
    font-family:  var(--brand-font-bold);
    border-bottom: 1px solid var(--border-colour);
    border-top: 1px solid var(--border-colour);
    
}

.menu-mega-menu-container.active-mobile-nav{
    display:block;
    
}

.menu-mega-menu-container .sub-menu{transition: all 0.3s ease-in-out;}

.menu-mega-menu-container ul{       
    margin: 0;
    padding: 0;
}

.menu-mega-menu-container li{   
    line-height: 3rem;    
    margin: 0;
    padding: 0;
    white-space:nowrap;
}

.menu-mega-menu-container a {
    display: block;
    position: relative;
}

.menu-mega-menu-container .sub-menu .sub-menu li:last-child a{border-bottom:unset}

.menu-mega-menu-container a {
    padding: 0 4vw;
    background:rgba(0, 0, 0, 0);
    
}

.menu-mega-menu-container .sub-menu a {
    padding: 0 4vw 0 8vw;
}

.menu-mega-menu-container .sub-menu .sub-menu a {
    padding: 0 4vw 0 12vw;
}

.menu-mega-menu-container .active-menu-list > a {
    background:rgba(0, 0, 0, 0.025);
}

.menu-mega-menu-container .active-menu-list .active-menu-list > a {
    background:rgba(0, 0, 0, 0.075);
}




.menu-mega-menu-container .menu-item-has-children > a:after{
    content: "\f0d7";
    position: absolute;
    right: 5%;
    transform: rotate(-90deg);
    font: var(--fa-font-solid);
    line-height: 3rem;}

.menu-mega-menu-container .menu-item-has-children > a.active-menu:after{ transform: rotate(0deg);}

.menu-mega-menu-container .sub-menu{display:flex; flex-direction: column; opacity: 0; height: 0; overflow: hidden;}

.active-menu-list > .sub-menu{opacity: 1; height: auto;}

/* end mega menu styles */
/* new vis-search box */



form.vis-search {
position: relative;
background: #fff;
border-radius: 2rem;
text-align: left;
flex-grow:0.5;
line-height:1;
}

form.vis-search:before {
  font-family: 'Font Awesome 6 Pro';
  content: '\f002';
  font-size: 12px;
  position: absolute;
  left: 11px;
  z-index: 2;
 line-height: calc(var(--headerheight) / 2);
}

input.vis-search-input , button.vis-search-button {
height: calc(var(--headerheight) / 2);
border: 0;
}

input.vis-search-input {
outline: 0;
width: 100%;
background:#e7e6e1;
padding: 0 5px 0 30px !important;
border-radius: 2rem;
appearance: none;
transition: all .3s cubic-bezier(0, 0, 0.43, 1.49);
transition-property: width, border-radius;
z-index: 1;
position: relative;
-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

}
button.vis-search-button {
-webkit-appearance: button;
position: absolute;
top: 0;
right: 0;
width: 30%;
font-weight: 500;
color:#fff;
background: #bdbbb2;
border-radius: 0 2rem 2rem 0;
line-height: normal;
margin: 0;
}
input.vis-search-input:not(:placeholder-shown) {
  border-radius: 2rem 0 0 2rem;
width: 70%;
+ button {
  display: block;
}
}

input.vis-search-input:-webkit-autofill, input.vis-search-input:-webkit-autofill:focus {
  transition: background-color 0s 600000s, color 0s 600000s !important;
}
label.vis-search-label{
position: absolute;
clip: rect(1px, 1px, 1px, 1px);
padding: 0;
border: 0;
height: 1px;
width: 1px;
overflow: hidden;
}

/* end new vis-search box */

.content-area {
    padding-bottom: 4vw;
}

.term-description {
    max-width: 1100px;
    margin: auto;
    font-size: large;
}


.site-footer {
   background: var(--bg-colour-tint);
   color: var(--font-colour);
   clear:both;
   padding: 2vw 0;
   margin-top: 2vw;
}

button.cta, button.alt, .button.alt, button, input[type=button], input[type=reset], input[type=submit], .button, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link, .added_to_cart {
    background-color: var(--button-bg-colour);
    border-color: var(--button-bg-colour);
    color: var(--button-colour);
    font-family:  var(--brand-font-bold);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 14px !important;
    line-height: var(--input-height);
    padding: 0 2em;
    border-radius: var(--border-radius);
    display: inline-block;
    text-decoration:none;
    border: 1px solid var(--button-bg-colour);
    cursor:pointer;
}

button.single_add_to_cart_button.button.alt {
    flex-grow: 1;
}

.product_cat-swatch .playground-add-to-cart .quanity, .product_cat-swatch .woocommerce-product-gallery__trigger{display:none;}


.wapf input[type=email], .wapf input[type=number], .wapf input[type=text], .wapf input[type=url], .wapf select, .wapf textarea{line-height: var(--input-height);height: var(--input-height) !important;}
.wapf select {
    background-position: calc(100% - 12px) 18px  !important;
}

span.wapf-label-text {
    line-height: 1;
    font-size: smaller;
}

.woocommerce-tabs ul.tabs li::after, .show-password-input::after, .addresses header.title a::before, .woocommerce-MyAccount-navigation ul li a::before, .single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before, .wc-forward::after, .woocommerce-Button--next::after,.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before, .woocommerce-noreviews::before, p.no-comments::before  {
    font-family: "Font Awesome 6 Pro";
    font-weight: 300;
    font-size: 18px;
    text-decoration:none;
}
    
.wc-forward::after, .woocommerce-Button--next::after {content: "\f061";}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before, .woocommerce-noreviews::before, p.no-comments::before {content: "\f058";}

.show-password-input {
    padding: 0 1em;
    line-height: 50px;
}



.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before{content: "\f065";font-size: 14px;}

.notification-bar{
	display: flex;
	white-space: nowrap;
    align-items: center;
    background: var(--bg-colour-tint);
    text-align: center;
    color:var(--font-light-colour);
    font-size: 0.6em;
    line-height: var(--notificationheight);
    height: var(--notificationheight);
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family:  var(--brand-font-bold);
}

    
@-webkit-keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.ticker {
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  will-change: transform;
  overflow: hidden;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-name: ticker;
  animation-name: ticker;
  -webkit-animation-duration: 30s;
  animation-duration: 30s;

}
.ticker__item {
  display: block;
  margin-right: 4rem;
}

.ticker__item a{
  color:#bdbbb2;
}



/* homepage styles */

.homepage-content h2{font-family:var(--brand-font-bold); text-transform:uppercase; letter-spacing:0.3em; font-weight:500; font-size: 0.8rem;line-height: normal; margin:0 1em 1rem 1em;}
.homepage-content h1{font-size: clamp(24px, 4vw, 4.5rem); line-height:1; margin:1rem 1em;}
.homepage-content h3{text-transform:unset; font-size:1.15rem; font-weight:400; line-height: normal; margin:1.5em 1em 1em 1em; letter-spacing:unset;}

.button.level-02 {
    width: auto;
    background: #fff;
    color:  var(--brand-colour);
    border-color: var(--brand-colour);
    max-width:400px;
    margin:1em auto 0 0;
}

.button.level-03 {
    width: auto;
    background: #fff;
    color: #333;
    border: unset;
    max-width:400px;
    margin:1em auto 0 0;
}

.homepage-wrapper {
  height: calc(75vh - var(--notificationheight));
  width: 100%;
  z-index: 1;
  display: flex;
    align-items: flex-end;
    align-content: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.backstretch {
  opacity: 1;
  filter: alpha(opacity=100);
}

::selection {
    background: var(--brand-alt-colour);
    color: #ffffff;
}

.homepage-01 h1, .homepage-02 a{animation: bsfadeIn 0.5s;}

@keyframes bsfadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}


.homepage-content {
  width:100%;
  height:100%;
  color: #fff;
  align-items: center;
  text-align:center;
  background:linear-gradient(to bottom,  rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.1) 70%, rgba(0,0,0,0.5) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* .show-consent-banner .homepage-content {transform: translate(0, 50%);} */


.homepage-02 {margin-bottom: 4vh;}

.horizontal-list {
    padding: 2vw 0 2vw 0 !important;
    
}

.horizontal-list .product-list {
    padding: 0 0 2em 0;
    max-width: var(--shopmaxwidth);
    margin: 0 auto;
    display: grid;
    grid-gap: 10px;
    row-gap: 10px;
    scrollbar-width: thin;
    grid-auto-flow: column;
    overflow: auto;
    position: relative;
    grid-template-columns: repeat(8, minmax(40%, 1fr));
    grid-gap: 1vw;
}

@media screen and (min-width: 767px) {
    .horizontal-list .product-list {
        grid-template-columns: repeat(8, minmax(31%, 1fr));
    }
}

@media screen and (min-width: 1023px) {
    .horizontal-list .product-list {
        grid-template-columns: repeat(8, minmax(23%, 1fr));
    }
}

.product-list > li {
    position: relative;
    text-align: center;
    overflow: hidden;
}

.product-list a {
    position: relative;
    line-height: 0;
    display: block;
    text-decoration: none;
}

.swatch-container {
    display: block;
    position: relative;
}

.swatch-container > img:first-child {
    transition: all 0.7s;
    z-index: 1;
    object-fit: contain;
}

.swatch-container img {
    position: absolute;
    top: 0;
    left: 0;
    aspect-ratio: 1 / 0.6;
    object-fit: cover;
    width: 100%;
    background:var(--bg-colour);
}

img.swatchspacer {aspect-ratio: 1 / 0.6;
    object-fit: contain;
    width: 100%;}


.swatch-container:hover > img:first-child {
  opacity: 0;
}

.show-ambients .swatch-container:hover > img:first-child {
  opacity: 1;
}

.product-list-attributes {
    line-height: 1;
    padding: 0;
    margin: 0.5em 0;
    font-size: 0.9em;
    letter-spacing: 0.05em;
}

.product-list-attributes .product-title{font-family:var(--brand-font-bold); text-transform:uppercase;letter-spacing:0.05em; font-size:small; color:var(--font-colour);}
.product-list-attributes .product-description{margin-top:0.5em; font-family: var(--brand-font-light);}


.pagination,.woocommerce-pagination {
    padding: 1em 0;
    text-align: center;
}

.pagination ul.page-numbers:before,.pagination ul.page-numbers:after,.woocommerce-pagination ul.page-numbers:before,.woocommerce-pagination ul.page-numbers:after {
    content: "";
    display: table
}

.pagination ul.page-numbers:after,.woocommerce-pagination ul.page-numbers:after {
    clear: both
}

.pagination .page-numbers,.woocommerce-pagination .page-numbers {
    list-style: none;
    margin: 0;
    vertical-align: middle
}

.pagination .page-numbers li,.woocommerce-pagination .page-numbers li {
    display: inline-block
}

.pagination .page-numbers li .page-numbers,.woocommerce-pagination .page-numbers li .page-numbers {
    border-left-width: 0;
    display: inline-block;
    padding: .3342343017em .875em;
    background-color: rgba(0,0,0,.025);
    color: var(--font-colour);
    text-decoration:none;
}

.pagination .page-numbers li .page-numbers.current,.woocommerce-pagination .page-numbers li .page-numbers.current {
    background-color: #2c2d33;
    border-color: #2c2d33;
    color:#fff;
}

.pagination .page-numbers li .page-numbers.dots,.woocommerce-pagination .page-numbers li .page-numbers.dots {
    background-color: var(--font-color);
}

.pagination .page-numbers li .page-numbers.prev,.pagination .page-numbers li .page-numbers.next,.woocommerce-pagination .page-numbers li .page-numbers.prev,.woocommerce-pagination .page-numbers li .page-numbers.next {
    padding-left: 1em;
    padding-right: 1em
}

.pagination .page-numbers li a.page-numbers:hover,.woocommerce-pagination .page-numbers li a.page-numbers:hover {
    background-color: rgba(0,0,0,.05)
}

.rtl .pagination a.next,.rtl .pagination a.prev,.rtl .woocommerce-pagination a.next,.rtl .woocommerce-pagination a.prev {
    transform: rotateY(180deg)
}

.home-typography-content {
    font-family: var(--brand-font-light);
    font-size: clamp(30px, 5vw, 4rem);
    line-height: 1.2em;
    background: linear-gradient(35deg, rgb(150, 135, 98) 0%, rgb(232, 214, 168) 25%, rgb(150, 135, 98) 45%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}




.home-typography-container {
    padding: 10vh 10vw 10vh 0;
}

.column-with-text{padding:2vw 0;}

.column-with-text-content {
    display: flex;
    gap: 4vw;
    line-height:1.75em;
}

.column-with-text-content h3, .column-with-text-content p{margin-top:0;}
.column-with-text-content h3{line-height: 1.3; letter-spacing:0em;}

.column-with-text-column-one {
    width: 35%;
}

.column-with-text-column-two {
    width: 70%;
}


.text-image-column{margin: 2vw 0;}

.text-image-column-container {
    display: flex;
    align-items: center;
    column-gap: 2vw;
}

.text-image-column-content {padding:2vw 0;line-height:1.75em;}
.text-image-column-heading h1{margin-top:0;}
.text-image-column-container .text-image-column-content, .text-image-column-container .text-image-column-image {
    width: 50%;
}

.banner-with-text {
    margin: 2vw 0;
}

.banner-with-text-container {
    position: relative;
    
}

.banner-with-text-content {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    padding:2vw;
    padding-bottom:4vh;
}


.banner-with-text-image {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.banner-with-text-image-01 img {
    width: 100%;
    height: 50vh;
    object-fit: cover;
}

.banner-with-text-text {
   padding: 0 4vw;
    column-count: 2;
    column-rule: rgba(255,255,255,0.1);
    column-gap: 4vw;
    column-rule-style: solid;
    text-align:justify;
}

.banner-with-text-text p:first-of-type{margin-top:0;}

.tm-benefits{margin:2vw 0;}

ul.tm-benefits-list{
    list-style-type: none;
    padding: 0;
    margin: 0px auto;
    display: flex;
    flex-wrap: wrap;
    max-width:1600px;
}
.tm-benefits-list li {
    width:25%;
    padding: 0 1%;
    text-align: center;
}
.tm-benefits-list img{
    margin: 0 auto;
    max-width: 50%;
}

.tm-benefits-list h3 {
    margin: 0 auto;
    line-height: 1;
    white-space: nowrap;
    text-transform: uppercase;
    font-size: clamp(0.65rem, 1rem, 1vw);
    letter-spacing: 0.2em;
}

.tm-benefits-list p{font-size:0.9em;}

.tm-benefits-cta {
    text-align: center;
    margin: 1em;
}

.tm-cta {
    margin: 1em 0;
}

.term-description{
    column-count: 2;
    column-gap: 4vw;
    text-align: justify;
    text-align-last: center;
}
.term-description p{margin-top:0;}



.full-width-banner-content{
    display: flex;
    flex-direction: column;
    position: relative;
    justify-content: flex-end;
    flex-direction: column;
        font-size: 0;
}
    
.full-width-banner-content .banner-cta{position:absolute; position: absolute;
    padding: 0 0 2vw 3vw;
    line-height: 1;}

.banner-cta-button {
    font-size: calc(3px + 1vw);
    color: white;
    text-decoration: none;
    font-family: var(--brand-font-bold);
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

a.banner-cta-button.button-dark{color:;}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption, .full-width-banner figcaption{
    text-transform: uppercase;
    text-align:center;
    letter-spacing: 0.2em;
    font-size: 8px;
    padding: 0.5em 2em;
    text-shadow:unset;
    color:var(--font-colour);
    background:unset;
}
    
.full-width-banner-content img {
    max-height: 100vh;
    object-fit: cover;
    width: 100%;
}



/* newsletter section */

.newsletter-section{display:flex;    justify-content: center;background: var(--bg-colour-light-tint);}

.newsletter-section h2, .newsletter-section p{margin:0 auto 0.5em auto; color: var(--font-light-colour);}
.newsletter-section p{font-size:small; width:80%;}

div#mc_embed_shell {
    max-width: 500px;
    text-align:center;
    padding: 4vh 2vw;
}

div#mc_embed_signup_scroll {
    display: flex;
    flex-direction: column;
    text-align: center;
}

#mc_embed_signup input.newsletter-button{border:none; margin: 0;}

.newsletter-field-group{display: flex; justify-content: space-between; padding: 0.25em;
    background: #fff;}
.newsletter-inputfield-container {flex-grow: 2;}
.newsletter-inputfield-container input{width: 100%;border:none; outline: 0; -webkit-appearance: none;}
.content__gdpr {
    padding: 1em;
}
.content__gdpr .subfield {
    display: flex !important;
    flex-direction: row;
    align-items: flex-start;
    text-align:left;
}
.content__gdpr .subfield span.subfield-span{font-size:small; padding: 0 1em 1em; color:var(--font-light-colour);}
#mc_embed_signup div.mce_inline_error { background: var(--brand-alt-colour) !important;}
/* end homepage styles */


/* footer styles */

.footer-widgets{
    display: flex;
    column-gap: 5%;
    flex-wrap: wrap;
}

.footer-widgets.col-3 .block{width:25%;}
.footer-widgets.col-3 .block.footer-widget-1{width:40%;}

.footer-widgets .block li{margin:0.5em 0;}

.footer-widgets  ul {
    list-style: none;
    margin:0;
    padding:0;
}


.footer {
    background:var(--bg-dark-colour);
    width: 100%;
    clear: both;
    text-align: center;
}

.footer a {
    color: #777;
    text-decoration: none;
    padding: 0 7px;
    /* display: block; */
}

.storefront-handheld-footer-bar{z-index:999;}

.cookie-consent-button.btn-outline {
    background-color: var(--border-colour) !important;}

.cookie-consent-banner {background-color: rgba(224, 221, 207, 0.9) !important; padding: 10px 10px !important;}

.legal-info{text-align: center;}

.legal-info ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-transform: uppercase;
    font-size: 14px;
    display:flex;
    justify-content: space-evenly;
    border-top: 1px solid var(--border-colour);}

.legal-info ul li {margin: 5vw 0;}

.accreditations {
    margin: auto;
    padding: 2em 0;
    width: 100%;
    max-width: 650px;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    opacity: 0.8;
    transition: all 0.5s ease-in-out;
    
}
.accreditation {
    width: 35%;
}
.accreditation-intro {
    text-align: left;
    font-size: 12px;
    line-height: 1.1em;
    letter-spacing: 0.2em;
    font-weight: 100;
    text-transform: uppercase;
    color: #a2a2a2;
    font-family:  var(--brand-font-bold);
}

.accreditation.sbid {
    width: 26%;
    padding-left: 1%;
}


.widget_nav_menu ul li::before{content:unset;}
.widget_nav_menu ul li{padding-left:unset;}


#obj3dviewer {
    width: 100%;
    margin:auto;
    display: block;
    overflow: hidden;
    position:relative;
    padding-bottom: 56.25%;
}


#obj3dviewer canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
}

div#obj3dviewer.obj3dviewer-fullscreen {
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    z-index: 20;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger,

a.obj3dviewer-toggle {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: block;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius:var(--border-radius);
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:before, a.obj3dviewer-toggle:after{
    content: "\f065";
    font-family: "Font Awesome 6 Pro";
    padding: 0;
    background: var(--brand-colour);
    color: #fff;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 0;
    width: 48px;
    height: 48px;
    font-size: 18px;
    line-height: 48px;
    text-align: center;
}

.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{top:0;}



.single-product div.product .woocommerce-product-gallery .zoomImg {
    background-color: var(--bg-colour);
    background-image: url(/wp-content/uploads/casa-table-background-pale.jpg);
}

.pswp__bg,.pswp__img--placeholder--blank {
     background: #f7f6f1 !important; 
     opacity:1 !important;
}

img.pswp__img {
    background: #f7f6f1;
}


.pswp__caption, .pswp__top-bar {
    background-color: var(--brand-colour);
}

svg.pswp__icn path {
    stroke: none;
}

.pswp__counter {
    text-shadow: unset;
}


button.pswp__button.pswp__button--share{
    display: none;
}

 
 /* category overdies */
/*.term-230 .products .product .my-product-subtitles, .term-230 .products .product .price, 
.term-229 .products .product .my-product-subtitles, .term-229 .products .product .price,
.term-228 .products .product .my-product-subtitles, .term-228 .products .product .price,
.term-227 .products .product .my-product-subtitles, .term-227 .products .product .price,*/
.product_cat-swatch .woocommerce-product-gallery__trigger
 {display:none !important;}
.term-230 li.product.type-product.product-type-simple img,
.term-229 li.product.type-product.product-type-simple img,
.term-228 li.product.type-product.product-type-simple img,
.term-227 li.product.type-product.product-type-simple img
{ background-image:none;}
 
 
/* ajx search */

.aws-container {width: 100%;}

.aws-container .aws-search-form .aws-wrapper {
    background: var(--bg-colour-tint);
    border-bottom-left-radius: 22px !important;
    border-top-left-radius: 22px !important;
}

.aws-container .aws-search-form .aws-form-btn{width:50px; border-top-right-radius: 22px !important; border-bottom-right-radius: 22px !important; border:none; background: var(--bg-colour-tint);}
.aws-container .aws-search-form .aws-search-btn_icon{width:50px;}
.aws-container .aws-search-field{background:transparent;border:none; padding-left:20px;}
.aws-container .aws-search-field, .aws_result_link a.aws_result_link_top, .aws-search-result .aws_result_title, .aws-search-result .aws_search_more a {color: var(--font-colour);}
.aws-container .aws-search-field, .aws-container .aws-search-form .aws-loader, .aws-search-result{font-size:initial;}
.aws-search-result {border:none;}
.aws-search-result .aws_result_image img {width: 100px;}
.aws-search-result ul { max-height: 60vh;}
.aws-search-result ul li {border-bottom: unset; }
.aws-search-result .aws_result_item.hovered,.aws-search-result .aws_result_item:hover,.aws-search-result .aws_search_more a:hover {
    background: var(--bg-colour);
}
.aws_search_more a{color: var(--button-colour);
    font-family:  var(--brand-font-bold);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 14px !important;
    line-height:50px!important;
}

/* woocommerse overrides */

.required {
    text-decoration: none;
}

.woocommerce-message::before, .woocommerce-info::before, .woocommerce-message, .woocommerce-info{color: var(--brand-alt-colour);}
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a, .woocommerce-noreviews a, p.no-comments a {color: var(--brand-alt-colour);}
.woocommerce-message, .woocommerce-info{background-color: var(--bg-colour-tint);}
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button, .woocommerce-noreviews .button, p.no-comments .button{color: var(--brand-alt-colour);}


table.cart td.actions{border-top: 1px solid var(--brand-colour);}

ul.products, .wc-block-grid__products {
    margin-left: 0;
    margin-bottom: 0;
    clear: both;
    padding:0;
    list-style:none;
}

ul.products li.product .woocommerce-loop-product__title {
    line-height: 1;
    margin: auto;
}

ul.products li a{text-decoration:none; color:var(--font-colour);}

.my-lead-time-message {
    margin-bottom: 1em;
}

table.cart .product-thumbnail img {
    max-width: 200px;
    aspect-ratio: 1 / 0.4;
    object-fit: contain;
}

.woocommerce-breadcrumb a:first-of-type::before{content:none;}

form {
    margin-bottom: unset;
}

.single-product div.product .product_meta a {
    font-weight: 100;
    text-decoration: none;
}

.my-excerpt {
    font-style: italic;
    color:var(--brand-colour);
}

li.product .my-excerpt::before {
    content: " ";
    display: block;
    height: 2vw;
    background-size: 100%;
}

li.product.product_tag-metal .my-excerpt::before {
    background-image: url(/wp-content/uploads/product-list-swatches.png);
}

li.product.product_cat-solido .my-excerpt::before {
    background-image: url(/wp-content/uploads/product-list-swatches-solido-12.png);
}

li.product.product_cat-solido-20 .my-excerpt::before {
    background-image: url(/wp-content/uploads/product-list-swatches-solido-20.png);
}

li.product.type-product.product-type-simple img {
    background-image: url(/wp-content/uploads/casa-table-background.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin: 0 auto;
}

ul.products li.product .button{display: none;}

ul.products li.product{margin-bottom:3em;}


.product-model-titles {
    position: absolute;
    z-index: 2;
    padding: 1em 0;
    text-align: center;
    width: 100%;
}

.product-model-titles .product-model-price:before {
    content: "From ";
}


.product-model-titles .product-model-price{/*color:var(--brand-colour);*/}


.my-product-subtitles{
    padding:0 2vw;
}
.my-short-description, .my-lead-time-message{
    display: inline;
    color:var(--link-colour);
}
.my-lead-time-message{padding-left:0.2em;}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::before, .single-product div.product .woocommerce-product-gallery .flex-control-thumbs::after{content:none;}



.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    margin: 0;
    padding: 0;
    display: flex;
    grid-gap: 1%;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    width: 100%;
    overflow: scroll;
    scrollbar-width: thin;
    position:relative;
}


.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
    width: 15% !important;
    float: none !important;
    margin: unset !important;
    flex-grow: 1;
    min-width: 160px;
}

.woocommerce-product-gallery .flex-control-thumbs img
{    aspect-ratio: 2 / 1;
    object-fit: cover;
    width:100%;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
    opacity: unset;

}


.tt-img {
    max-width: 180px !important;
}


.woocommerce-product-gallery__image.flex-active-slide{
    /* pointer-events: none !important; */
}

/* end woocommerse overrides */




/* form filed overides */



dl.variation {
    font-size: .8em
}

dl {
  display: grid;
  grid-template-columns: max-content auto;
  text-align:left;
  margin:0.25em 0;
}

dl.variation dd, dl.variation dt {
    margin: 0 0 0.25em 0;
}

dt {
  grid-column-start: 1;
  padding-right: 1em;
  font-family:  var(--brand-font-bold);
}

dd {
  grid-column-start: 2;
}

dd p{margin:auto;}

a:focus,input:focus,textarea:focus,button:focus {
    outline: unset;
}

table.shop_table, table.shop_attributes{width:100%; border-collapse:collapse;}


table.shop_table th, table.shop_table td, table.shop_table td.product-remove, table.shop_attributes th, table.shop_attributes td,table.cart tr:first-child td.product-remove{
        padding: 0.5em 1em;
        text-align: left !important;
        border:none;
            vertical-align: top;
}



table.shop_attributes th, table.shop_attributes td, tr.cart_item{border:1px solid var(--border-colour);}

table.woocommerce-checkout-review-order-table .product-name {width: 50%;}

#payment .payment_methods li, #payment .payment_methods li:last-child:not(.woocommerce-notice) {
    border: 1px solid var(--border-colour);
}

#payment .payment_methods li:last-child:not(.woocommerce-notice){border-top:unset;}

#payment .payment_methods li .payment_box {
    padding-top: 0;
}

.wc-proceed-to-checkout::after{
    content: " ";
    display: block;
    height: 40px;
    width: 290px;
    background: url(/wp-content/uploads/payment-providers.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: auto;
    margin-top: 1vw;
}

tr.cart_item:nth-child(even), #payment .payment_methods li:nth-child(even) {
    background: var(--bg-colour-light-tint);
}

ul#shipping_method{
        padding: 0;
    margin: 0;
}

p.woocommerce-shipping-destination {
    margin: 0;
}

.woocommerce-product-attributes-item--attribute_specifications td {
    column-count: 4;
    column-gap: 2em;
}
.woocommerce-product-attributes-item--attribute_specifications td p{margin 0 0 2em 0;    font-size: medium; break-inside: avoid;}
.woocommerce-product-attributes-item--attribute_specifications td p::first-line {
  font-size: 1.2rem;
  font-family:  var(--brand-font-bold);}

table.shop_attributes td p{margin-top:unset;}

table.shop_attributes th {vertical-align: -webkit-baseline-middle; min-width: 200px;}

table.shop_table th, table.shop_attributes th{font-family:  var(--brand-font-bold); font-weight:normal;}

table.shop_table td.actions, .wc-proceed-to-checkout{padding: 1em; border:unset; text-align:right !important;}

table.shop_table td.product-thumbnail, table.shop_table td.product-remove{text-align:center !important;}

table.shop_table th.product-name{font-family:  var(--brand-font); }
table.shop_table th.product-name a{text-decoration:none;}
table.shop_table th.product-name a:after{content: "\f08e";
    font-family: "Font Awesome 6 Pro";
    font-size: 9px;
    vertical-align: top;
    margin-left: 5px;}



strong.product-quantity {
    font-weight: unset;
}

table.cart td.product-remove a.remove, a.remove{
          float: none;
        position: relative;
        top: auto;
        right: auto;
        font-size: 1em;
        text-align: center;
        width: 30px;
    height: 30px;
    line-height: 30px;
            margin: auto;
}
a.remove::before {
    content: "\f00d";
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: 30px;
    line-height:30px;
    color: var(--font-colour);
}

select {
  padding: 12px;
  font-size:var(--input-text-size);
  font-family:  var(--brand-font);
  color:  var(--font-colour);
  width: 100%;
  border: 0 !important;
  border-radius:var(--border-radius);
  background-color: #fff;
  /* needed */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* SVG background image */
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%23000000%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-size: .6em;
    background-position: calc(100% - 1.3em) center;
    background-repeat: no-repeat;
}
select::-ms-expand {
    display: none;
}

.quantity {
  position: relative;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button
{
  -webkit-appearance: none;
  margin: 0;
}

input[type=number]
{
  -moz-appearance: textfield;
}

.quantity input {
  width: 100px !important;
  height: 52px;
  line-height: 1.65;
  float: left;
  display: block;
  padding: 0 30px 0 6px !important;
  margin: 0;
  border: 1px solid #eee;
}

.quantity input:focus {
  outline: 0;
}

.quantity-nav {
  float: left;
  position: relative;
  height: 52px;
}

.quantity-button {
  position: relative;
  cursor: pointer;
  border-left: 1px solid #eee;
  width: 30px;
  text-align: center;
  color: #333;
  font-size: 13px;
  font-family: "Trebuchet MS", Helvetica, sans-serif !important;
  line-height: 26px;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.quantity-button.quantity-up {
  position: absolute;
  height: 50%;
  top: 0;
  border-bottom: 1px solid #eee;
}

.quantity-button.quantity-down {
  position: absolute;
  bottom: -1px;
  height: 50%;
}

.site-header .site-search .search-field {border-radius:25px;}

/* end form filed overides */

/* single product image overides */ 

.flex-viewport{height:100% !important;
    margin-bottom: 0 !important;
}

ul.products li.product img, .woocommerce-product-gallery__wrapper img
{    aspect-ratio: 1 / 0.5;
    object-fit: contain;
    width:100%;
}

.wapf-layers {
    position: relative;
    background-image: url(/wp-content/uploads/casa-table-background-pale.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.wapf-swatch-label {
    text-align: center;
    padding: 4px 0;
    line-height: 1;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.075em;
    
}


.wapf-wrapper, .wapf-field-container{margin:0 0 2% 0 !important; padding:0px !important;}

.wapf-image-swatch-wrapper {
    display: flex !important;
    grid-gap: 0.5% !important;
    grid-template-columns: unset !important;
    flex-direction: row;
    flex-wrap: nowrap !important;
    width: 100%;
    overflow: scroll;
    padding-bottom: 1em;
    scrollbar-width: thin;
}

.wapf-field-container .wapf-swatch--image{width: 100%;
    flex: 1; }
    
    
.obj-top-colour .wapf-image-swatch-wrapper .wapf-swatch--image {
width:18%;
max-width: 200px !important;
min-width: 140px;
}

.obj-metal-edge-veneer .wapf-image-swatch-wrapper .wapf-swatch--image {
max-width: 12%;
min-width: 80px;
}

.obj-base .wapf-image-swatch-wrapper .wapf-swatch--image {
max-width: 5%;
min-width: 60px;
}


.wapf-swatch--image.apf-pick-box{overflow:hidden;border-radius:unset !important;border:1px solid rgba(0,0,0,0) !important; font-size:0; line-height:0;}
.wapf-swatch--image input[type="radio"]:checked ~ div:first-of-type{border:1px solid rgba(0,0,0,0.5) !important;}


.wapf-swatch--image img { object-fit: cover; border-radius:unset !important; }


.obj-top-colour .wapf-swatch--image img {aspect-ratio: 2 / 1;}
.product_cat-luna .obj-top-colour .wapf-swatch--image img {aspect-ratio: 1 / 1;}

.product_cat-mezzaluna .obj-top-colour .wapf-swatch--image.apf-pick-box div{border-radius: 4rem !important;overflow:hidden;}
.product_cat-piazza .obj-top-colour .wapf-swatch--image.apf-pick-box div{border-radius: 0.5rem !important;overflow:hidden;}
.product_cat-contorno .obj-top-colour .wapf-swatch--image.apf-pick-box div{border-radius: 1.75rem !important;overflow:hidden;}
.product_cat-luna .obj-top-colour .wapf-swatch--image.apf-pick-box div{border-radius: 50% !important;overflow:hidden;}

.obj-base .wapf-swatch--image img {aspect-ratio: 1 / 1.5;}

.obj-base .wapf-swatch--image .apf-pick-box{border-radius:var(--border-radius) !important;}

.wapf-field-label label, .wapf-product-totals .wapf--inner{
    font-family: var(--brand-font-bold);
    font-size: 15px !important;
    font-weight: 100;
    letter-spacing: 0.05em;
    text-transform: uppercase;}
    
.wapf-product-totals div span:first-child {
    font-weight: 100 !important;
}

.single-product div.product .product_meta{font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; border:unset;}

span.posted_in, span.tagged_as {
    font-size: 0;letter-spacing: 0;
}

.tagged_as a, .posted_in a {
    display: inline-block;
    background: rgba(0, 0, 0, 0.1);
    line-height: 2em;
    margin: 0.5em 1em 0.5em 0;
    border-radius: 3px;
    color: #fff;
    padding: 0 1em;
    font-size: 12px; 
    letter-spacing: 0.1em;
}
    
.playground .woocommerce-product-details__short-description, .playground .product_title, .playground h1 + .price{display:none;}
 
.playground{padding: 0;}  

.order-swatch-wrapper.label-above {
    margin: 4em 0 0 0;
    border-top: 1px solid var(--border-colour);
    padding: 2em 0;
}

.wapf-field-select, .wapf .wapf-product-totals, .playground-add-to-cart,.product-add-sample {
    max-width: 360px;
    margin-right: auto;
}

.metal-edge-checkbox .wapf-input-label {
    display: flex;
    align-items: flex-start;
}

.select2-swatch{width:50px; height:auto;margin-right: 8px;
    object-fit: cover;
    aspect-ratio: 1 / 1;}
    
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] {background-color:var(--brand-alt-colour);}
.select2-dropdown, .select2-container--default .select2-selection--single, .select2-container--open .select2-dropdown--below{border:none;}

.swatch-dropdown-wrapper {
    height: 100px;
}

.metal-edge-checkbox, .product-add-sample-message-metal{display:none;}
.product_tag-metal .metal-edge-checkbox{display:block;}
.product_tag-metal .product-add-sample-message-metal{display:inline;}

.playground-add-to-cart {display: flex;justify-content: space-between;}
.product-add-sample::before{    content: "All prices shown include VAT";
    font-size: smaller;
    margin-bottom: 3em;
    display: block;}

p.product-add-sample-message {
    font-size: medium;
}

.single-product div.product form.cart {margin-bottom: unset;}
    
.storefront-full-width-content.single-product div.product .woocommerce-product-gallery{width:100%; margin:auto;    position: relative;}


/* product page tabs */
.woocommerce-tabs .panel h2:first-of-type{display:none;}

.storefront-full-width-content .woocommerce-tabs ul.tabs {
        width: 100%;
        float: none;
        margin-right: 0;
        margin:auto;
        display: flex;
        justify-content: space-between;
        border:unset;
        border-left: 1px solid var(--border-colour);
        padding:0;
}

.woocommerce-tabs ul.tabs li{flex-grow: 1; border:unset;}

.woocommerce-tabs ul.tabs li a{text-decoration:none; display:block; text-align: center;}
.woocommerce-tabs ul.tabs li.active a {color:var(--font-colour);}

.woocommerce-tabs ul.tabs li{
    text-transform: uppercase;
    font-size: 0.7em;
    letter-spacing: 0.1em;
    font-family: var(--brand-font-bold);
    border-top: 1px solid var(--border-colour);
    border-right: 1px solid var(--border-colour);
}

.woocommerce-tabs ul.tabs li::after {
    right: 1em !important;
    transform: translateY(-50%) rotate(90deg);
    content:"\f105" !important;
}

.storefront-full-width-content .woocommerce-tabs .panel {
        width: 100%;
        float: none;
        margin-right: 0;
    }
    
.single-product tr.woocommerce-product-attributes-item.woocommerce-product-attributes-item--dimensions,.single-product tr.woocommerce-product-attributes-item.woocommerce-product-attributes-item--weight {
    display: none;
}
    

/* End product tabs */


.woocommerce-checkout .mobile-menu-icon, .woocommerce-checkout .storefront-breadcrumb, .woocommerce-checkout .site-footer, .woocommerce-checkout .header-account-bar, .woocommerce-checkout .header-search-bar, .woocommerce-checkout .menu-mega-menu-container, .woocommerce-checkout .notification-bar {
    display: none;
}
.woocommerce-checkout .entry-header{padding:0 !important;}
.woocommerce-checkout .entry-title{margin:0 auto;}
.woocommerce-checkout .fixed-header-bar{height:auto;}


table.woocommerce-checkout-review-order-table .product-name {
overflow-wrap: normal;
word-break: unset;}



/* end single product images overides */

  .side-menu-container ul li {
    line-height: 1.5em;
    margin: 0.5em 0;
}
    
    
    .side-menu-container ul li a {
    display: block;
    background: rgba(0, 0, 0, 0.02);
    padding: 0.5em;
}

.side-menu-container .current_page_item a {
    background: var(--bg-colour-tint);
}




@media (min-width: 768px) {
    .col-full {
        max-width: var(--shopmaxwidth) !important;
    }
    
    .site-branding, .site-search, .site-header-cart, .site-logo-anchor, .site-logo-link, .custom-logo-link {
        margin-bottom: 0;
    }
    
    .page-with-sidebar {
    margin: auto;
    max-width: 1600px;
    display: flex;}
    
    .homepage-01 span, .home-typography-content span{display:block;}

    
    .page-with-sidebar .widget-area {
        width: 22%;
       
        margin-right: 0;}
        
        
    .page-with-sidebar .content-area {
        width: 74%;
        
        margin-right: 4%;
    }
    


 
    
 .desktop-site-branding{display:block;}
 .mobile-site-branding{display:none;}   
 .mobile-menu-icon{display:none;}
 
/* mega menu styles */

 .menu-mega-menu-container{
    display:block;
}

    .menu-mega-menu-container .sub-menu{flex-direction: row;        text-transform: initial;
        letter-spacing: normal;
        font-family: 'Futura PT W01 Book';
        font-size: 18px;}
    .menu-mega-menu-container .sub-menu .sub-menu{flex-direction: column;}
    .active-menu-list .sub-menu{opacity: 1; height: auto;}

.menu-mega-menu-container a {
    border-bottom: unset;
    background:none !important;
}

.menu-mega-menu-container li > a {
    padding: 0 !important;
}

.menu-mega-menu-container .sub-menu a {
    padding: 0 2vw !important;
}

.menu-mega-menu-container .menu span {
        
}


.menu-mega-menu-container .menu-item-has-children > a:after, .menu-mega-menu-container .menu-item-has-children > a.active-menu:after{content:unset;}


.menu-mega-menu-container .menu {       
    display: flex;
    text-align: justify;
    justify-content: space-evenly;
    align-items: flex-start;}

.menu-mega-menu-container .menu > li > .sub-menu{
    position:absolute; 
    left:0;
    width:100%; 
    justify-content: center;
    background:var(--bg-colour-tint);
    padding: 0;
}

.menu-mega-menu-container .menu > li > .sub-menu > li{padding-top:2vw;padding-bottom:2vw;}

.menu > li > .sub-menu > li.menu-item-has-children > a, a.active-menu{
        color: var(--font-colour);
} 

.menu-mega-menu-container .menu > li.current-menu-item > a, .menu-mega-menu-container .menu li.current-menu-parent a {
        color: var(--brand-alt-colour);
}
    
/*.menu > li > .sub-menu > li.menu-item-has-children > a, a.active-menu, .menu-mega-menu-container .menu > li.active-menu-list > a{color: var(--brand-alt-colour);}*/
.active-menu-list a, .current-product-parent a{color:var(--brand-alt-colour);}


.menu > li > .sub-menu > li{
    border-right:1px solid var(--border-colour);   
    
}
.menu > li > .sub-menu > li:last-child{border-right:unset;    margin-right: unset;}

.sub-menu li {
    flex-grow: 1;
    max-width:250px;
}


.menu-mega-menu-container:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
}


/*.menu-mega-menu-container .menu > li:nth-child(4), .menu-mega-menu-container .menu > li:nth-child(5) {
    display: none;
}*/

.menu-mega-menu-container li#menu-item-30999 {
    display: none;
}


.menu > .active-menu-list > .sub-menu:before {
    content: " ";
    background-size: cover;
    height: 350px;
    max-width:250px;
    background-repeat: no-repeat;
    position: relative;
    top: 2vw;
    display: flex;
    justify-content: center;
            align-items: center;
            color: #fff;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-size: 13px;
            font-weight: 500;
            
}

.menu > li > .sub-menu:after {
    content: "* All items manufactured with Italian porcelain stoneware surfaces";
    display: block;
    position: absolute;
    bottom: 5px;
    line-height: 1;
    right: 2vw;
    font-size: 0.8em;
}



 /* end mega menu styles */
 
 
     .woocommerce-active .site-header .site-search {
        width: unset;
        float: unset;}

 .header-account-bar, .header-search-bar, .header-site-branding,.mobile-menu-icon {
    flex: 1 0 0;
}

    .site-header-cart .cart-contents {
        padding: 0 10px;}
        
            .site-header-cart .cart-contents::after {
        
        height:auto; 
        float: unset;
        line-height: 3rem;
    }

  span.carttext, span.woofc-menu-item-inner-bag-label {
    display: inline;
  }

.woofc-menu-item .woofc-menu-item-inner i {
    margin-right: 0;
    font-style: normal;
    width: auto;
}




span.carttext, span.woofc-menu-item-inner-bag-label {
  margin-left: 0.5em;
  display: none;
}

.cartfull .cartCount,
.cartfull .basketCount {
display: inline-block;
}
    
    .storefront-full-width-content .woocommerce-products-header {
        text-align: center;
        padding: 0 0 1em;
    }
    
    
   
    
    .woocommerce-result-count {
    padding: 1em 0;
    }
}

@media screen and (max-width: 1000px) {
    .menu-mega-menu-container .menu span, .menu-legal-menu-container .menu span{
            display: none;
    }
    
    .woocommerce-product-attributes-item--attribute_specifications td {
    column-count: 2;}
    
    .tm-benefits-list li{width:50%;}
}

@media screen and (max-width: 760px) {
    
    
    .menu-mega-menu-container .menu span{
            display: inline;
    }
    
.tm-benefits-list li{width:auto;}

.mobilehide{display:none !important;}

.header-search-bar{
    width: 50%;
} 
.desktop-site-branding, .mobile-menu-icon, .header-account-bar {
    width: 25%;
}

.header-site-branding{
    height: 3rem;
  }
  
  .homepage-content {background:linear-gradient(to bottom,  rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.5) 100%);}
  
  .horizontal-list .product-list {grid-template-columns: unset; display:flex;flex-direction: column;    grid-gap: 0;}
      .term-description {
    column-count: 1; text-align: left;
    text-align-last: left;}
  
  .header-site-branding a {
    background-position: center bottom;max-width: 170px;}
    
.text-image-column-container  {padding:0;} 
.text-image-column-container { flex-direction: column;}

.text-image-column-container .text-image-column-content, .text-image-column-container .text-image-column-image {width: 100%;}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {min-width:90px;}

.newsletter-section p{width:auto;}

.banner-with-text-text {
    padding: 0 2vw;
    column-count: 1;
}

.footer-widgets.col-3 .block{width:45%;} 
.footer-widgets.col-3 .block.footer-widget-1{width:100%;}

    .accreditation-intro {
        width: 100%;
    }
        .accreditations {
        padding: 2em 2em 7em 2em;
        max-width: 450px;
        width: auto;
    }
        .accreditation.sbid {
        width: 40%;
        padding-left: 0;
    }
    .accreditation.biid {
        width: 60%;
    }
    
   
   .aws-search-result{left:2% !important; width:96% !important;}
    
    .column-with-text-content {flex-direction: column;}
    .column-with-text-column-one, .column-with-text-column-two {width: 100%;}
    
    .product-model-titles {padding: 0; position:relative;}
    
    .woocommerce-tabs ul.tabs{    flex-direction: column;}
    
    .storefront-breadcrumb{display:none;}
    
    #obj3dviewer {padding-bottom: 100%;}
    .obj-top-colour .wapf-image-swatch-wrapper .wapf-swatch--image {min-width: 92px;}
    .obj-base .wapf-image-swatch-wrapper .wapf-swatch--image {min-width: 52px;}
    
    .wapf-field-select, .wapf .wapf-product-totals, .playground-add-to-cart {max-width:unset;}
    
    ul.products li.product img, .woocommerce-product-gallery__wrapper img {
    aspect-ratio: 1 / 0.65;}

    li.product .my-excerpt::before {height: 5vw;}
    
    table.shop_attributes tr{display:flex; flex-direction: column;}
    table.shop_attributes th, table.shop_attributes td{width:100%; border-top:unset;}
    .woocommerce-Tabs-panel table.shop_attributes th{display:none;}
    
}

/* Fullscreen active styles */
#obj3dviewer.fullscreen-active {
  position: fixed !important;
  padding:0;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100dvh !important; /* Use dynamic viewport height for mobile */
  background: var(--bg-colour) !important;
  z-index: 99999 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: hidden !important;
}

#obj3dviewer.fullscreen-active canvas {
  width: 100% !important;
  height: auto !important;
  max-height: 100dvh !important;
   background: var(--bg-colour) !important;
}

#loading-screen {
	display:block; 
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--bg-colour);
	opacity: 1;
	transition: opacity 0.8s;
    
}

#loading-screen.fade-out {
    opacity: 0;
    pointer-events: none;
}

#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #615840;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
}
#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #968863;
    -webkit-animation: spin 3s linear infinite;
    animation: spin 3s linear infinite;
}
#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #cfbd92;
    -webkit-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
@keyframes spin {
    0%   {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


/* embed classes */

.embed-class .notification-bar, .embed-class .fixed-header-bar, .embed-class .newsletter-section, .embed-class .site-footer, .embed-class .footer,
.embed-class .storefront-breadcrumb, .embed-class .related.products, .embed-class .product_meta,.embed-class .playground-add-to-cart, .embed-class .product-add-sample,
.embed-class .my-lead-time-message, .embed-class .term-description, .embed-class .menu-item-5029, .embed-class .menu-item-5807, .embed-class .obj3dviewer-toggle,.embed-class  .woocommerce-product-gallery__trigger
{
    display: none !important;
}
.embed-class .col-full {max-width: none !important;}

/*  Cart counter flash gold background */
.cart-animate {
    animation: cart-animate-bg 1.5s ease;
}

@keyframes cart-animate-bg {
    0% { background-color: var(  --font-colour); }
    30% { background-color: var(--brand-colour); }
    100% { background-color: var(  --font-colour); }
}


/* pdf classes */

.pdf-working {color: var(--bg-colour-tint) !important; position:relative;}


.pdf-working:after{
  font-family: 'Font Awesome 6 Pro';
  content: '\e1d4';
  font-size: 30px;
  position: absolute;
  left: 43%;
  z-index: 2;
  text-align:center;
  animation: spin 1.5s linear infinite;
  color: var(--brand-colour);
}
  

@page  
{ 
    size: auto;   /* auto is the initial value */ 

    /* this affects the margin in the printer settings */ 
    margin: 15mm 15mm 15mm 15mm;  
    padding:0;
} 

.pdf-class {
    font-size: 12px !important;
    background:transparent !important;
    text-align:center;
    position:relative;
    margin:auto;
}

.pdf-class .pdf-logo {
    margin: auto; width:35%;}
  
.qrcode{display:none;}  
    
.pdf-class .qrcode {
    position: absolute;
    display:inline-block;
    top: 0;
    right: 0;
    width: 20mm;
}

.pdf-class .wapf-field-group {
    justify-content: space-around;margin: auto;
    width: 80%;
}

.pdf-class .wapf-field-group .wapf-field-container{width: 33.3% !important; text-align: center;
}

.pdf-class .obj-model-selection.wapf-field-container.wapf-field-select {
    width: 100% !important;     min-width: 100%;
}

.pdf-class .product-model-titles {
    position: relative;padding:0;
}

.pdf-class .product-model-title h1 {
    font-size: 30px;
}

.pdf-class  h2{
    font-size: 25px;
    margin: auto auto 1em auto;
}

.pdf-class .break-after {
   page-break-after: always;
}

.pdf-class .break-before {
   page-break-before: always;
}

.pdf-class .wapf-product-totals {
    margin: auto; max-width:310px;
}

.wapf-product-totals .wapf--inner {
    font-size: 14px !important;
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border-colour);
    padding-top: 10px;
}

.wapf-product-totals .wapf--inner>div:last-child {
    padding: 10px 0 !important;
    border-top: 1px solid var(--border-colour);
    border-bottom: 1px solid var(--border-colour);
    line-height: 2em;
    display: flex;
    justify-content: space-between;
}

.wapf-product-totals div span {
    text-align: left;
    float: left;
}

.pdf-class  .wapf-wrapper{
    margin: 0 auto !important;}

.pdf-class .obj-base .wapf-swatch--image img, .pdf-class .obj-top-colour .wapf-swatch--image img{
    max-width: 80% !important;
    min-width: 80% !important;
    width: 80% !important;
    margin:auto !important;
}

 .pdf-class .obj-top-colour .wapf-image-swatch-wrapper .wapf-swatch--image, .pdf-class .wapf-image-swatch-wrapper .wapf-swatch--image{    width: 100%;
    max-width: 100% !important;}

.pdf-class .wapf-field-label {
    justify-content: center;
}
   
.pdf-class .obj-base .wapf-swatch--image img, .pdf-class .obj-top-colour .wapf-swatch--image img{aspect-ratio: 1 / 2;
    object-fit: cover;}
    
.pdf-class img:is([sizes="auto" i], .pdf-class [sizes^="auto," i]) {
    contain-intrinsic-size: unset;
}
    
.pdf-class .wapf-layers{background-image: unset;}

.pdf-class .wapf-swatch--image.apf-pick-box {
display: none;
}

.pdf-class .wapf-swatch--image input[type="radio"]:checked ~ div:first-of-type {
    border: none !important;
}

.pdf-class .wapf-swatch--image.apf-pick-box:has(label input[type="radio"]:checked){
display: block !important;
}

.pdf-class .required, .pdf-class .edit-link, .pdf-class .playground .qrcode, .pdf-class .playground #make-pdf, .pdf-class .order-swatch-wrapper{display:none;}

.pdf-class table.shop_attributes th {
min-width: unset;
}

.pdf-class .woocommerce-product-attributes-item__value{text-align:left;}
.pdf-class .woocommerce-product-attributes-item--attribute_specifications th{display:none;}

.pdf-class .woocommerce-product-attributes-item--attribute_specifications td p, .pdf-class .woocommerce-product-attributes-item--attribute_specifications td p::first-line {
    margin: unset;
    font-size: unset;}
    
.pdf-class .woocommerce-product-attributes-item--attribute_specifications td {
        column-count: 4 !important;
    }    
    
.pdf-class .wapf-field-label label{
font-size: 12px !important;}


.pdf-class .wapf-image-swatch-wrapper {
    overflow: visible;}
    
.pdf-class .wapf-tt-content {
    display: block !important;
     margin-top: 10px;
}    
.pdf-class .wapf-ttp {
    padding: unset;
    font-size: 16px;
    border-radius: unset;
    color: #000;
    background: unset;
    line-height: 1;
    margin-top: 5px;
}

.pdf-class  .select{font-size: 16px;}

.pdf-class .wapf-ttp:after{content:unset;}
    
    
.pdf-class .wapf-image-swatch-wrapper {
    display: block !important;
}

.pdf-class .wapf select{
background: transparent;
    padding: 0;line-height: 1;text-align: center;
    height: auto !important;}

.pdf-class .wapf-swatch--image.apf-pick-box{line-height:3}

.pdf-class .ajax-add-to-cart-message, .pdf-class .product-model-price, .pdf-class .tagged_as, .pdf-class .posted_in, .pdf-class .legal-info, .pdf-class .wc-tabs, .pdf-class .flex-control-thumbs, .pdf-class #obj3dviewer, .pdf-class .menu-mega-menu-nav, .pdf-class .notification-bar, .pdf-class .fixed-header-bar, .pdf-class .newsletter-section, .pdf-class .site-footer, .pdf-class .footer, .pdf-class .storefront-breadcrumb, .pdf-class .related.products, .pdf-class .playground-add-to-cart, .pdf-class .product-add-sample, .pdf-class .my-lead-time-message, .pdf-class .term-description, .pdf-class .menu-item-5029, .pdf-class .menu-item-5807, .pdf-class .obj3dviewer-toggle, .pdf-class .woocommerce-product-gallery__trigger {
    display: none !important;
}