/* WooCommerce gallery-specific tokens */
:root {}

/*
They are WooCommerce-specific, they are not meaningful globally, they represent UI states, not brand identity.
*/

/* ====================
   1 - Components
   ==================== */

.woocommerce-page .site-content h1 {}

/* ====================
   2 - Pages Layout
   ==================== */

.archive.woocommerce,
.single-product,
.woocommerce-cart,
.woocommerce-page 
.woocommerce-checkout,
.woocommerce-page {
  background-color: var(--color-gray-50); /* no pure white background */
}

.archive.woocommerce .site-content,
.single.woocommerce .site-content,
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-page .site-content {
  /* padding: var(--spacing-xl) var(--spacing-xxl); */
  /* border: 3px dotted tan; */
}

.archive.woocommerce .content-area,
.single.woocommerce .content-area,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area,
.woocommerce-page .content-area {
  /* border: 3px solid greenyellow; */
}

@media (width >= 48rem) {
  .archive.woocommerce .site-content,
  .single.woocommerce .site-content,
  .woocommerce-cart .site-content,
  .woocommerce-checkout .site-content,
  .woocommerce-page .site-content {
    /* max-width: var(--max-width);
    margin: 0 auto; */
    /* padding: 0 64px;  */
    /* border: 3px dotted fuchsia;  */
  }
}

@media (width >= 48rem){}

main.site-main .inside-article {
  /* border: 3px dotted fuchsia; */
  background-color: transparent;
}

.woocommerce-breadcrumb {
  display: none;
}

.woocommerce-products-header {
  padding: 0 0 var(--spacing-m) 0;
  /* border: 3px dotted fuchsia; */
}

/* ===========================
   3 - Shop Grid
      3a - Layout
      3b - Data & Components
      3c - Filters
      3d - Pagination
   =========================== */

/* ===========================
   Shop Grid: A - Layout
   =========================== */

/* Replace WooCommerce floats with a modern flex layout */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(2rem, 8vw, 10rem);
  margin: 0;
  padding: 0;
}

.woocommerce ul.products::after {
  display: none;
}


@media (width >= 48rem) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr);
    /* row-gap: 3rem; */
  }
}

@media (width >= 48rem) {
  .woocommerce ul.products {
    grid-template-columns: repeat(3, 1fr);
  }
}

.woocommerce ul.products:before {
  display: none;
}

.woocommerce ul.products li.product, 
.woocommerce ul.products[class*=columns-] li.product, 
.woocommerce-page ul.products[class*=columns-] li.product {
   float: none;
   margin: 0;
   padding: 0;
   width: inherit;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   align-items: center;
   position: relative;
}

/* Remove default WC product card margins */
.woocommerce ul.products li.product {
  margin: 0 !important;
}

.woocommerce ul.products li.product a.woocommerce-loop-product__link{
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  position: relative; /* positioning sold-badge */
  background-color: var(--color-white);
  padding: 1rem;
  margin-bottom: var(--spacing-m);
  background-color: var(--color-white);
  border: var(--border-neutral-light);
}

/* ================================
   Shop Grid: B - Data & Components
   ================================ */

.woocommerce ul.products li.product a img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 1em;
  opacity: 1;
  box-shadow: none;
  position: relative;
  transition: box-shadow var(--transition), opacity var(--transition);
}

@media (hover: hover) {
  .woocommerce ul.products li.product:hover a img {
    opacity: 0.4;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
  }
}

.product-media {
  position: relative;
} /* allows icon absolute positioning */

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {

  font-size: var(--text-heading-small);
  font-size: var(--font-size-18);

  line-height: var(--line-height-4);
  font-weight: var(--font-weight-bold);
  color: var(--text-color-neutral-dark);
  letter-spacing: var(--letter-spacing-small);
  padding: 0 0 var(--spacing-xs) 0;
  border-bottom: var(--border-neutral-light);
  transition: color var(--transition);
}

@media (hover: hover) {
  .woocommerce ul.products li.product:hover .woocommerce-loop-product__title {
    color: var(--text-color-brand-medium);
  }
}

.woocommerce ul.products li.product .artwork-meta-loop {
  padding: var(--spacing-xs) 0 var(--spacing-xs) 0;
}

.woocommerce ul.products li.product .artwork-meta-loop .artist ,
.woocommerce ul.products li.product .artwork-meta-loop .medium-year{
  display: block;
  font-size: var(--font-size-16);
  line-height: var(--line-height-4);
  font-weight: var(--font-weight-regular);
  color: var(--text-color-neutral-dark);
  transition: color var(--transition);
}

@media (hover: hover) {
  .woocommerce ul.products li.product:hover .artwork-meta-loop .artist ,
  .woocommerce ul.products li.product:hover .artwork-meta-loop .medium-year {
    color: var(--text-color-neutral-medium);
  }  
}
@media (hover: hover) {}

.woocommerce ul.products li.product .price {
  font-size: var(--font-size-16);
  line-height: var(--line-height-2);
  font-weight: var(--font-weight-bold);  
  color: var(--text-color-brand-dark);
}

.woocommerce ul.products li.product .price .amount{
  display: block;
}

.woocommerce ul.products li.product .button {
  display: inline-block;
  margin: 0;
  padding: 0.75rem 1rem;
  background-color: var(--surface-color-brand-light);
  border: 1px solid var(--stroke-color-brand-dark);
  border-radius: 0;
  font-size: var(--font-size-16);
  color: var(--text-color-brand-dark);
  font-weight: var(--font-weight-regular);
  box-shadow: var( --box-shadow-medium);
  transition: 
  border-color var(--transition), 
  background-color var(--transition), 
  color var(--transition);
}

.woocommerce ul.products li.product:hover .button{
  background-color: var(--surface-color-neutral-light);
  border-color: var(--stroke-color-neutral-dark);
  color: var(--text-color-neutral-dark);
}

.woocommerce ul.products li.product a.button.added {
  background: var(--color-gray-100);
  border: 1px solid var(--color-gray-500);
  border-radius: 0;
  color: var(--color-gray-500);
}

.woocommerce ul.products li.product a.added_to_cart {
  margin-top: var(--spacing-s);
  padding: 0.75rem 1rem;

  background-color: var(--surface-color-brand-dark);
  border: 1px solid var(--color-white);
  box-shadow: var( --box-shadow-medium);


  font-size: var(--font-size-16);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);

  transition: 
  border-color var(--transition), 
  background-color var(--transition), 
  color var(--transition);
}

.woocommerce ul.products li.product a.added_to_cart:hover {
  background-color: var(--color-white);
  border: 1px solid var(--color-brand-500);
  color: var(--color-brand-500);
}

.woocommerce ul.products li.product.outofstock a.button {
  display: none !important;
}

/* sold badge styles here */

.woocommerce .artwork-sold-cta,
.single.woocommerce .artwork-sold-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: var(--spacing-xxl);
  padding: var(--spacing-xs) var(--spacing-s);
  font-family: var(--typeface-heading);
  font-size: var(--text-body-regular);
  font-weight: var(--font-weight-medium);
  color: var(--text-color-neutral-dark);  
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-medium);
  background-color: var(--surface-color-neutral-light);
  border: var(--border-neutral-light);
  cursor: default;
}

/* New artwork for sale products list */

ul.wc-block-grid__products {
  display: grid;
  grid-template-columns: 1fr;        
  gap: clamp(2rem, 8vw, 10rem);
  margin: 0;
  padding: 0 0 var(--spacing-xxl);  
}

@media (width >= 48rem) {
  ul.wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width >= 48rem) {
  ul.wc-block-grid__products {
    grid-template-columns: repeat(3, 1fr);
  }
}

ul.wc-block-grid__products:before {
  display: none;
}

.wc-block-grid .wc-block-grid__products .wc-block-grid__product {
  /* border: 3px dotted red; */
  float: none;
  margin: 0;
  padding: 0;
  width: inherit;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  background-color: var(--color-white);
  border: var(--border-neutral-light);
  position: relative; 
}

a.wc-block-grid__product-link {
  /* border: 3px dotted blue; */
  flex-grow: 1;
  display: block;
  width: 100%;
  position: relative; 
  padding: 1rem;
  margin-bottom: var(--spacing-m);
}

a.wc-block-grid__product-link .wc-block-grid__product-title {
  /* border: 1px solid gold; */
  font-size: var(--font-size-16);
  line-height: var(--line-height-6);
  font-weight: var(--font-weight-bold);
  color: var(--text-color-neutral-dark);
  letter-spacing: var(--letter-spacing-small);
  margin: 0 0 var(--spacing-xs) 0;
  padding: 0 0 var(--spacing-xs) 0;
  border-bottom: var(--border-light);  
}

.wc-block-grid__product-price .amount {
  font-size: var(--font-size-16);
  line-height: var(--line-height-2);
  font-weight: var(--font-weight-bold);  
  color: var(--color-brand-400);
}

/* =========================
   Shop Grid: C - Filters
   ========================= */

/* Filters */  

.artwork-filters {
   border-top: 1px solid var(--color-gray-900);
   border-bottom: 1px solid var(--color-gray-900);
   margin: var(--spacing-s) 0 var(--spacing-xl) 0;
   padding: 0;
}

.woocommerce-result-count {
   display: none;
}

.artwork-filters select.artist-filter-dropdown,
.artwork-filters select.medium-filter-dropdown,
.artwork-filters select.availability-filter-dropdown{

   background-color: transparent;
   box-shadow: none;
   padding: var(--spacing-xxs)  0;
   max-width: 100%;

   font-family: var(--typeface-body);
   color: var(--color-gray-900);

   transition: color var(--transition);
}

.artwork-filters select.artist-filter-dropdown:hover,
.artwork-filters select.medium-filter-dropdown:hover,
.artwork-filters select.availability-filter-dropdown:hover {
 color: var(--text-color-brand-medium);
}

.artwork-filters select.medium-filter-dropdown {
   /* display: none; */
}

.artwork-filters .select-wrapper {
   display: inline-block;
   background-color: transparent;
   padding: var(--spacing-m) var(--spacing-m);
   margin-right: 0.5rem;
}

.artwork-filters .select-wrapper.select-artist-wrapper,
.artwork-filters .select-wrapper.select-medium-wrapper {
   padding: 0 var(--spacing-m) 0 0;
   border-right: var(--border-neutral-light);
}

.artwork-filters .select-wrapper select {
   border: none;
}

.artwork-filters .active-artwork-filters {
 padding: var(--spacing-xs) 0 var(--spacing-xs) 0;
 display: none;
}

/* atención! width = menor o igual que 48rem */
@media (width <= 48rem) {
  .artwork-filters {
    border-top: 1px solid var(--color-gray-900);
    border-bottom: none;
  }

  .artwork-filters .select-wrapper {
    display: block;
    margin-right: 0;
  }  

  .artwork-filters .select-wrapper.select-artist-wrapper,
  .artwork-filters .select-wrapper.select-medium-wrapper,
  .artwork-filters .select-wrapper.select-availability-wrapper {
    padding: var(--spacing-s) 0;
    border-right: none;
  }

  .artwork-filters .select-wrapper.select-availability-wrapper {
    margin-bottom: var(--spacing-m);
  }

  a.reset-artwork-filters {
    display: block;
  }
}

/* ============================
   Products Archives
   ============================ */

/* Filtered page header */

.archive.woocommerce .woocommerce-products-header{
  padding: 0 0 var(--spacing-l) 0;
}

.archive.tax-pa_medium.woocommerce .woocommerce-products-header h1,
.archive.tax-pa_artist.woocommerce .woocommerce-products-header h1{
  color: var(  --text-color-neutral-dark);
  font-size: var(--font-size-32);
}

.archive.tax-pa_medium.woocommerce .woocommerce-products-header .term-description,
.archive.tax-pa_artist.woocommerce .woocommerce-products-header .term-description{
display: none;
}

.archive .woocommerce-archive-wrapper .products {
  padding: 0 0 var(--spacing-xxl) 0;
}

/* ============================
   Shop Grid: D - Pagination
   ============================ */

/* pagination */
.woocommerce-pagination {}

.woocommerce nav.woocommerce-pagination ul {
  border: var(--border-neutral-light);
  border-right: 0;
  margin-bottom: var(--spacing-xxl);
}

.woocommerce nav.woocommerce-pagination ul li {
 border-right: var(--border-neutral-light);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  padding: 1em;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover {
 background :var(--color-brand-100);
 color: var(--color-brand-300);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-gray-100);
  color: var(--color-brand-500);
}

/* =========================
   4 - Cart & Checkout
   ========================= */

.wc-block-components-product-low-stock-badge {
    display: none !important;
}

.wc-block-components-checkout-return-to-cart-button {
  font-size: 1rem;
  color: var(--color-brand-500);
}

/* .wc-block-checkout__terms {
    font-size: var(--text-body-small);
    line-height: 1.3em;
    margin: 0 0 24px;
} */

/* =============================
   5 - Single Artwork Page
   ============================= */

.woocommerce div.product {
 /* padding: var(--spacing-xxxl) 0 0 0; */
}

.woocommerce #content div.product div.images, 
.woocommerce div.product div.images, 
.woocommerce-page #content div.product div.images, 
.woocommerce-page div.product div.images,
.single .woocommerce-product-gallery {
  display: block;  
  /* border: 3px dotted red; */
}

.woocommerce #content div.product div.summary, 
.woocommerce div.product div.summary, 
.woocommerce-page #content div.product div.summary, 
.woocommerce-page div.product div.summary,
.single .summary {
  /* border: 3px dotted greenyellow; */
  display: block;
  padding: 0 0 var(--spacing-xl) 0;
}

@media (width >= 48rem) {
  .woocommerce #content div.product div.images, 
  .woocommerce div.product div.images, 
  .woocommerce-page #content div.product div.images, 
  .woocommerce-page div.product div.images,
  .single .woocommerce-product-gallery {
    /* border: 3px dotted blue; */
    width: 50%;
  }

  .woocommerce #content div.product div.summary, 
  .woocommerce div.product div.summary, 
  .woocommerce-page #content div.product div.summary, 
  .woocommerce-page div.product div.summary,
  .single .summary {
    /* border: 3px dotted gold; */
    width: 50%;
    padding: 0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);
  }  
}

/* artwork metadata layout */

.woocommerce-page h1.product_title {
   max-width: 20ch;
   font-size: var(--font-size-32);
   font-size: var(--text-heading-medium);
   font-weight: var(--font-weight-medium);
   text-transform: capitalize;
   word-spacing: 0.2em;
   margin-bottom: var(--spacing-m);
}

.woocommerce-page .product-artist p,
.woocommerce-page .artwork-details p,
.woocommerce-page .artwork-description p {
  font-size: var(--text-body-regular);
  line-height: var(--line-height-4);
}

.woocommerce-page .product-artist p strong,
.woocommerce-page .artwork-details p strong,
.woocommerce-page .artwork-description p strong {
  font-weight: var(--font-weight-regular);
  color: var(--color-gray-300);
  margin-right: var(--spacing-xxs);
}

.woocommerce-page .artwork-description {
 padding: var(--spacing-xs) 0 0 0;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
.woocommerce-page .product p.price {
   font-size: var(--font-size-18);
   line-height: var(--line-height-2);
   font-weight: var(--font-weight-bold);
   color: var(--text-color-brand-dark);
   padding: var(--spacing-m) 0 var(--spacing-s) 0;
}

.related-artwork {
  clear: both;
  padding: 0 0 var(--spacing-xl) 0;
}

.related-artwork h2{
  padding: 0 0 var(--spacing-m) 0;
  font-size: var(--text-heading-medium);
}

@media (width >= 48rem) {
  .related-artwork {
    padding: var(--spacing-xl) 0 var(--spacing-xxxl) 0;
  }
}

/* =======================
   6 - Account
   ======================= */

nav.woocommerce-MyAccount-navigation ul{
  margin: 0 0 0 0;
}   

/* ======================
   6 - Common markup
   ====================== */

a.wc-block-components-product-name,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  color: var(--text-color-neutral-dark);
  font-size: var(--font-size-16);
  font-size: var(--font-weight-medium);
  letter-spacing: var(--letter-spacing-small);  
}

/* cart page */   
table.wc-block-cart-items .wc-block-cart-items__header th,
table.wc-block-cart-items .wc-block-cart-items__header th,
.wc-block-cart h2.wc-block-cart__totals-title {
  font-family: var(--typeface-heading);
  font-size: var(--font-size-18);
  color: var(--text-color-neutral-dark);
  letter-spacing: var(--letter-spacing-small);
}

/* checkout page */
.wc-block-components-title.wc-block-components-title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label  {
  font-family: var(--typeface-heading);
  font-size: var(--font-size-18);
  color: var(--text-color-neutral-dark);
  letter-spacing: var(--letter-spacing-small);
}

/* ======================
   Cart page
   ====================== */

.wc-block-cart__submit-button .wc-block-components-button__text{
  color: var(--text-color-brand-dark);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-small);
}

.wc-block-cart__submit-button:hover .wc-block-components-button__text{
  color: var(--text-color-neutral-dark);
}

.wc-block-components-button__text {
  color: var(--text-color-brand-dark);
}

/* ======================
   Empty cart page
   ====================== */

.wp-block-woocommerce-empty-cart-block {
  /* border: 3px dotted fuchsia; */
}

/* El bloque que muestra el icono (emoticon) y el texto "Your cart is currently empty!" */
.with-empty-cart-icon {
  /* display: none; */
  font-size: var(--text-heading-small);
}

.wp-block-heading.has-text-align-center.with-empty-cart-icon.wc-block-cart__empty-cart__title:before,
.with-empty-cart-icon:before {
  display: none;
}

h2.wp-block-heading {
  margin-bottom: var(--spacing-xl);
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid ul li a {
  margin-bottom: var(--spacing-m);
  margin-bottom: 0;
  padding: var(--spacing-m) var(--spacing-m) 0 var(--spacing-m);

  font-weight: var(--font-weight-regular);
  text-align: left;
}

.wc-block-grid__product  .wc-block-grid__product-image img{
  margin-bottom: var(--spacing-s);
  opacity: 1;
  transition: opacity var(--transition);
}

.wc-block-grid__product  .wc-block-grid__product-title {
  font-weight: var(--font-weight-regular) !important;
  line-height: var(--line-height-3) !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid ul li a div,
.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image) {
  margin: 0;
}

 .wc-block-grid__product .wc-block-grid__product-title {
  border-bottom: var(--border-neutral-light) !important;
  margin-bottom: var(--spacing-m) !important;
  transition: color var(--transition);
 }

 @media (hover: hover) {
  .wc-block-grid__product:hover .wc-block-grid__product-title {
    border-bottom: var(--border-brand-light) !important;
  }
 }

a.wp-block-button__link:not(.has-background) {
  font-weight: var(--font-weight-regular) !important;margin-bottom: var(--spacing-xl) ;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart {
  margin: 0 auto var(--spacing-l) auto;
}

.wc-block-grid__product .wc-block-grid__product-image img {
  opacity: 1;
  box-shadow: none;
  transition: 
    opacity var(--transition),
    box-shadow var(--transition);
}

.wc-block-grid__product .wc-block-grid__product-image::after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);;
  display: inline-block;
  content: '';
  width: 1.5em;
  height: 1.5em;
  background:
     url(../img/plus-hover.svg)   
     center center / 1.5em 1.5em 
     no-repeat ;
  opacity: 0;
  transition: opacity var(--transition), transform var(--transition);
  pointer-events: none; 
  z-index: 2;  
}

@media (hover: hover) {
  .wc-block-grid__product:hover .wc-block-grid__product-image img{
    opacity: 0.5;
    box-shadow: rgba(0, 0, 0, 0.25) 0px 0.0625em 0.0625em, rgba(0, 0, 0, 0.25) 0px 0.125em 0.5em, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset;
  }

  .wc-block-grid__product:hover .wc-block-grid__product-image::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.5);
  }

  .wc-block-grid__product:hover .wc-block-grid__product-title {
    color: var(--text-color-brand-medium);
  }

  a.wp-block-button__link:not(.has-background):hover,
  a.wp-block-button__link:not(.has-background):focus {
    color: var(--text-color-neutral-dark) !important;
    background-color: var(--surface-color-neutral-light) !important;
    border: var(--border-neutral-light);
    font-weight: var(--font-weight-regular);
  }
}

/* ========================
Woocommerce-order-received
=========================== */

.woocommerce-checkout .woocommerce {
  width: 100%; 
  padding: 0 0 var(--spacing-xxl);
}

@media (width >= 48rem) {
 .woocommerce-checkout .woocommerce {
    width: clamp(480px, 60vw, 768px); 
    margin: 0 auto;
  } 
}

@media (width >= 64rem) {}

/*-------------------------------------
Modern Two-Column Checkout for Sigillara
--------------------------------------*/

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before { 
  color: var(--color-gray-900);
} 
/* Este es el icono que aparece en los menasjes de alerta. */

.woocommerce-checkout form.checkout {
  display: block;
}

/* Styling col-1 (billing) and col-2 (shipping) */
#customer_details .col-1,
#customer_details .col-2 {
  width: 100%;
  float: none;
}

.woocommerce-billing-fields, 
.woocommerce-additional-fields, 
.woocommerce-billing-fields {
  padding-bottom: var(--spacing-xl);
}

.woocommerce-billing-fields {
}
.woocommerce-additional-fields {
}
.woocommerce-billing-fields {
}

 #customer_details h3,
 h3#order_review_heading {
  background-color: var(--color-gray-900);

  padding: var(--spacing-xxs) var(--spacing-m);

  font-size: var(--text-heading-small);
  line-height: var(--line-height-3);
  font-weight: var(--font-weight-small);
  color: var(--color-white);
}

h3#order_review_heading {}

/* order table */
/* 1 Reset the Table*/

.woocommerce-checkout-review-order-table {
  border-collapse: collapse;
  border: none;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  border: none;
  padding: 0.75rem 0;
}

/* op11 */
.woocommerce table.shop_table {
  border: none;
}

/* 2 Header: Single Strong Separator */

.woocommerce-checkout-review-order-table thead th {
  font-weight: 600;
  text-transform: none;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid var(--color-gray-900);
}

/* 3 Body Rows: Light Dividers Only Between Items */

.woocommerce table.shop_table tbody tr + tr td {
  border-top: 1px solid var(--color-gray-100);
} /* tr + tr means: No border above first item, orders only between products */


/* 4  Footer: Visual Separation From Items */

.woocommerce table.shop_table {
  border-collapse: collapse;
}
.woocommerce table.shop_table tfoot {
  border-top: 2px solid #b5b5b5;

  /* background-color: gainsboro; */
}

/* 5  Subtotal Row: Quiet but Structured */

/* .woocommerce table.shop_table tfoot th {
  border: none;
} */

.woocommerce table.shop_table tfoot tr + tr {
 border-top: 2px solid transparent;
 /* border-top: none; */
}

.woocommerce-checkout-review-order-table tfoot .cart-subtotal th,
.woocommerce-checkout-review-order-table tfoot .cart-subtotal td {
  padding-top: 8px;
  font-weight: var(--font-weight-medium);
  border: none;
}

/* 6 Total Row: Strong, Final */

.woocommerce-checkout-review-order-table tfoot .order-total {
  background-color: rgba(230, 230, 230, 0.5);
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-weight: var(--font-weight-medium);
}

.woocommerce-checkout-review-order-table tfoot .order-total th, .woocommerce-checkout-review-order-table tfoot .order-total td {
  padding: 8px 12px;
  font-weight: var(--font-weight-medium);
}

/* 7 Column Alignment (Often Overlooked) */

.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table td:last-child {
  text-align: right;
}

/* 8 Optional: Reduce Visual Noise in Product Names */

.woocommerce-checkout-review-order-table .product-name {
  padding-right: 1rem;
}

.woocommerce-checkout-review-order-table .product-quantity {
  font-weight: var(--font-weight-regular);
}

/* Payment */

.woocommerce-checkout #payment {
  border: var(--border-neutral-light);
  border-radius: 0;
  background-color: var(--color-white);
}

.woocommerce-checkout #payment ul.payment_methods {
  border-bottom: var(--border-neutral-light);
}

.woocommerce-checkout #payment div.payment_box {
  background-color: var(--color-gray-100);
}

.woocommerce-checkout #payment div.payment_box::before {
  border: 1em solid var(--color-gray-100);
  border-right-color: transparent;
  border-left-color: transparent;
  border-top-color: transparent;
}

/*-------------------------------------
Responsive: Collapse to Single Column
--------------------------------------*/
@media (max-width: 768px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
    margin-bottom: var(--spacing-xxl);
  }

  #order_review_heading,
  #order_review {
    /* grid-column: 1; */
  }

  #customer_details {
    grid-template-rows: auto auto; 
    /* still stack col-1/col-2 */
    gap: var(--spacing-l);
    margin-bottom: var(--spacing-xl);
  }

  #customer_details .col-1,
  #customer_details .col-2,
  #order_review {
    /* padding: 1.5rem; */
  }

  .woocommerce-checkout #place_order {
    /* padding: 1rem;
    font-size: 0.95rem; */
  }
}

/* =========================
   Notices & System Messages
============================ */

.woocommerce-error, .woocommerce-info, .woocommerce-message {
  padding: 1em 2em 1em 3.5em;
  margin: 0 0 2em;
  position: relative;
  background-color: var(--color-gray-100);
  color: var(--color-gray-900);
  border-top: var(--border-brand-bold);
  list-style: none outside;
  width: auto;
  word-wrap: break-word;
}

.woocommerce-message {
  border-top-color: #16a34a;
  background-color: #DCFCE7;
  color: #16a34a;      
}

.woocommerce-error {
  border-top-color: #DC2626;
  background-color: #FEE2E2;
  color: #DC2626;
}

.woocommerce-info {
  border-top-color: #EAB308;
  background-color: #FEF9C3;
  color: #CA8A04;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button {
  padding: 0.5rem 1rem;
  font-weight: var(--font-weight-medium);
  border: var(--border-brand-light);
  border-radius: 0;
  color: var(--text-color-brand-dark);
  background-color: var(--surface-color-brand-light);
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover {
  border: var(--border-neutral-light);
  border-radius: 0;
  color: var(--text-color-neutral-dark);
  background-color: var(--surface-color-neutral-light);
}

.woocommerce-error:focus,
.woocommerce-message:focus,
.woocommerce-info:focus {
  outline: var(--border-brand-regular);
  outline-offset: 2px;
}

/* ================
   Woocommerce Cart
=================== */

.return-to-shop {
  padding: var(--spacing-xxl) 0 var(--spacing-xxxl) 0;
  text-align: center;
}

.woocommerce-cart .return-to-shop a {
  padding: 1rem 1.5rem;
}

.woocommerce-cart .entry-content {
  /* text-align: center; */
}

.woocommerce-cart .woocommerce{
  display: block;
}

@media (width >= 48rem) {
  .woocommerce-cart .woocommerce {
    /* display: grid;
    grid-template-columns: 2fr 1fr;
    column-gap: clamp(3rem, 6vw, 10rem);
    row-gap: 1.5rem;
    margin: 0;
    padding: 0;
    grid-template-areas: 
    "notices notices"
    "items total";   */


    /* max-width: 768px;
    margin: 0 auto; */
  }

  .woocommerce-cart.cart-has-items .woocommerce{
    /* grid-template-columns: 1fr;
    column-gap: clamp(3rem, 6vw, 10rem);
    column-gap: 0;
    row-gap: 1.5rem; */

    display: grid;
    grid-template-columns: 2fr 1fr;
    column-gap: clamp(3rem, 6vw, 10rem);
    grid-template-areas: 
    "notices notices"
    "empty-cart-message empty-cart-message"
    "product-suggestions product-suggestions"
    "items total"
    "return-to-shop-button return-to-shop-button";

  } 

  .woocommerce-cart.cart-is-empty .woocommerce{
    display: grid;
    grid-template-columns: 1fr;
    /* grid-template-rows: repeat(3, 1fr); */
    column-gap: 0;
    row-gap: 1.5rem;

    grid-template-areas: 
    "empty-cart-message"
    "product-suggestions"
    "return-to-shop-button";
  } 
}

.woocommerce-notices-wrapper {
  /* border: 2px dotted greenyellow; */
  grid-area: notices;
}

.woocommerce-cart-form {
  /* border: 2px dotted fuchsia; */
  grid-area: items;
}

.cart-collaterals {
  grid-area: total;
}

.wc-empty-cart-message {
  grid-area: empty-cart-message;
}

.cart-artwork-suggestions {
  grid-area: product-suggestions;
}

.return-to-shop {
  grid-area: return-to-shop-button;
}

form.woocommerce-cart-form table.shop_table {
  border: none;
}

form.woocommerce-cart-form table.shop_table thead{
  border: none;
  border-top: 1px solid var(--color-gray-900);
  border-right: 1px solid var(--color-gray-900);
  border-left: 1px solid var(--color-gray-900);
}

form.woocommerce-cart-form table.shop_table th{
  border: none;
  border-bottom: 2px solid var(--color-gray-900);
  padding: 4px;
}

form.woocommerce-cart-form table.shop_table tbody .cart_item {
  border: 1px solid var(--color-gray-200);
  margin-bottom: var(--spacing-xl);
  /* padding: 1rem 1.5rem; */
  background-color: var(--color-white);
}

.woocommerce table.shop_table_responsive tr:nth-child(2n) td, 
.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
  background-color: var(--color-white);
}

@media (width >= 48rem) {
  .woocommerce table.shop_table_responsive tr:nth-child(2n) td, 
  .woocommerce-page table.shop_table_responsive tr:nth-child(2n) td {
    background-color: transparent;
  }
}

form.woocommerce-cart-form table.shop_table tbody .cart_item td{
  border: none;
  border-bottom: 1px solid var(--color-gray-200);
  min-height: 3em;
  padding: 1rem 1rem;
}

.woocommerce a.remove {
  font-size: 2em;
  font-weight: 400;
  color: #DC2626 !important;
}

.woocommerce a.remove:hover {
  background: #DC2626;
}

form.woocommerce-cart-form table.shop_table tbody .cart_item .product-thumbnail{
 padding: 4px;
}

form.woocommerce-cart-form table.shop_table .product-thumbnail img {
 width: 80px;
 max-width: 80px;
 height: auto;
}

@media (max-width: 768px) {
  .woocommerce table.cart .product-thumbnail, 
  .woocommerce-page #content table.cart .product-thumbnail, 
  .woocommerce-page table.cart .product-thumbnail {
    display: block;
    width: 100%;
  } 

  .woocommerce table.shop_table_responsive tr td.product-thumbnail, 
  .woocommerce-page table.shop_table_responsive tr td.product-thumbnail {
        text-align: center !important;
  }

  .woocommerce table.shop_table_responsive tr td.product-thumbnail::before, 
  .woocommerce-page table.shop_table_responsive tr td.product-thumbnail::before {
    display: none;
  }
}/* max-width: 768px */

form.woocommerce-cart-form table.shop_table tbody tr + tr td {
  border: none;
}

form.woocommerce-cart-form table.shop_table .cart-artwork-quantity {
  display: inline;
  text-align: right;
  font-weight: 500;
}

@media (width >= 48rem) {
  form.woocommerce-cart-form table.shop_table .cart-artwork-quantity {
    display: inline-block;
    width: 100%;
    min-width: 2ch;
  }
}

.woocommerce-cart-form table.shop_table td.actions {
  padding: 1rem 0;
}

.woocommerce-cart-form .actions button{
  padding: 0.75rem 1rem;
  background-color: var(--color-white);
  border: 1px solid var(--stroke-color-neutral-dark);
  opacity: 1 !important;
  font-weight: var(--font-weight-regular);
  color: var(--text-color-neutral-dark) !important;
}

form.woocommerce-cart-form .actions button:hover {
  background-color: var(--surface-color-neutral-light) !important;
}

.cart-only-artworks .woocommerce-cart-form button[name="update_cart"] {
    display: none;
}

@media (width >= 48rem) {}

/* cart collaterals */

.cart-collaterals {
}

.woocommerce .cart-collaterals .cart_totals, 
.woocommerce-page .cart-collaterals .cart_totals {
  float: none;
  width: 100%;
  padding-bottom: var(--spacing-xxl);
}

.woocommerce .cart-collaterals .cart_totals h2 {
  background-color: var(--color-gray-900);
  padding: var(--spacing-xxs) var(--spacing-m);
  font-size: var(--text-heading-small);
  line-height: var(--line-height-3);
  font-weight: var(--font-weight-small);
  color: var(--color-white);
  margin-bottom: 0.5rem;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
  border-collapse: collapse;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr th,
.woocommerce-cart .cart-collaterals .cart_totals table tr td{
  border: none;
}

.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total {
  border-top: 1px solid var(--color-gray-200);
}

.woocommerce .cart-collaterals .cart_totals table.shop_table  {
  text-align: right;
}

.woocommerce-cart .wc-proceed-to-checkout {
  padding: 0.5rem 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block !important;
  padding: 1rem 2rem;
  width: 100%;
}

/* Order Received */

.woocommerce-order-received p.woocommerce-notice.woocommerce-notice--success{
  border-top: 3px solid #16a34a;
  background-color: #DCFCE7;
  color: #16a34a;
  margin-bottom: var(--spacing-l);
  padding: var(--spacing-s) var(--spacing-m);
}

.woocommerce-order-overview.woocommerce-thankyou-order-details.order_details {
  border: 1px solid var(--color-gray-900);
  padding: var(--spacing-m) var(--spacing-l);
}

.woocommerce-order-received h2 {
  background-color: var(--color-gray-900);
  padding: var(--spacing-xxs) var(--spacing-m);
  font-size: var(--text-heading-small);
  line-height: var(--line-height-3);
  font-weight: var(--font-weight-small);
  color: var(--color-white);
}

.woocommerce-order-received {}

.woocommerce ul.order_details li {
  float: none;
  display: block;

  text-transform: uppercase;
  font-size: var(--font-size-14);
  line-height: var(--line-height-3);

  border-right: none;
  padding: var(--spacing-xs) 0;

  margin: 0;
  list-style-type: none;
}

.woocommerce ul.order_details li strong {
  font-size: var(--font-size-18);
  line-height: var(--line-height-3);
}

table.woocommerce-table--order-details th {
  border: none;
}

table.woocommerce-table--order-details td {
  border: none;
}

.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tbody td {
    border-top: 2px solid var(--color-gray-900);
}
.woocommerce-table.woocommerce-table--order-details.shop_table.order_details tfoot {
    border-top: 1px solid var(--color-gray-900);
}

.woocommerce .woocommerce-customer-details address {
  border: none;
  padding: 0;
}

.woocommerce-customer-details address p.woocommerce-customer-details--phone,
.woocommerce-customer-details address p.woocommerce-customer-details--email {
 padding: var(--spacing-xxs) 0;
}