/* EC Catering WooCommerce templates */

.ec-product-single,
.ec-shop-page {
  color: var(--ec-color-text, #222);
  font-family: "Mulish", Arial, sans-serif;
}

.ec-product-single__inner,
.ec-shop-products__inner,
.ec-shop-page__fallback-head {
  width: var(--ec-container);
  margin-inline: auto;
}

/* ------------------------------
   Single product
   ------------------------------ */
.ec-product-single {
  padding: 78rem 0 96rem;
}

.ec-product-single__main {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(430rem, .92fr);
  gap: 72rem;
  align-items: start;
}

.ec-product-single__gallery {
  min-width: 0;
}

.ec-product-single__gallery .onsale {
  position: absolute;
  z-index: 3;
  top: 18rem;
  left: 18rem;
  min-width: auto;
  min-height: auto;
  margin: 0;
  padding: 8rem 14rem;
  border-radius: 0;
  background: var(--ec-color-accent, #BB9C69);
  color: #fff;
  font-size: 13rem;
  font-weight: 700;
  line-height: 1.2;
}

.ec-product-single__gallery .woocommerce-product-gallery {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.ec-product-single__gallery .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.ec-product-single__gallery .woocommerce-product-gallery__image {
  background: #f7f7f7;
  overflow: hidden;
}

.ec-product-single__gallery .woocommerce-product-gallery__image a,
.ec-product-single__gallery .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
}

.ec-product-single__gallery .woocommerce-product-gallery__image img {
  aspect-ratio: 1 / .78;
  height: auto;
  object-fit: cover;
}

.ec-product-single__gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12rem;
  margin: 14rem 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ec-product-single__gallery .flex-control-thumbs li {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}

.ec-product-single__gallery .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / .78;
  object-fit: cover;
  border: 1px solid transparent;
  opacity: .64;
  cursor: pointer;
  transition: opacity .2s ease, border-color .2s ease;
}

.ec-product-single__gallery .flex-control-thumbs img.flex-active,
.ec-product-single__gallery .flex-control-thumbs img:hover {
  border-color: var(--ec-color-accent, #BB9C69);
  opacity: 1;
}

.ec-product-single__summary {
  padding-top: 6rem;
}

.ec-product-single__summary .product_title {
  margin: 0 0 22rem;
  font-family: "Philosopher", Georgia, serif;
  font-size: 52rem;
  font-weight: 700;
  line-height: 1.08;
  color: var(--ec-color-text, #222);
}

.ec-product-single__summary .woocommerce-product-rating {
  display: flex;
  align-items: center;
  gap: 12rem;
  margin: 0 0 18rem;
}

.ec-product-single__summary .price {
  display: block;
  margin: 0 0 26rem;
  color: var(--ec-color-accent, #BB9C69) !important;
  font-size: 30rem;
  font-weight: 700;
  line-height: 1.2;
}

.ec-product-single__summary .price del {
  margin-right: 10rem;
  color: #999;
  font-size: .72em;
  font-weight: 500;
  opacity: .85;
}

.ec-product-single__summary .woocommerce-product-details__short-description {
  margin: 0 0 30rem;
  color: #444;
  font-size: 17rem;
  line-height: 1.65;
}

.ec-product-single__summary .woocommerce-product-details__short-description > * + * {
  margin-top: 12rem;
}

.ec-product-single__summary form.cart {
  display: flex;
  align-items: stretch;
  gap: 12rem;
  margin: 0 0 26rem !important;
}

.ec-product-single__summary form.cart .quantity {
  margin: 0 !important;
}

.ec-product-single__summary form.cart .qty {
  width: 92rem;
  height: 58rem;
  padding: 0 14rem;
  border: 1px solid #ddd;
  border-radius: 0;
  background: #fff;
  color: #222;
  text-align: center;
}

.ec-product-single__summary .single_add_to_cart_button {
  min-width: 250rem;
  min-height: 58rem;
  padding: 15rem 28rem !important;
  border: 1px solid var(--ec-color-accent, #BB9C69) !important;
  border-radius: 0 !important;
  background: var(--ec-color-accent, #BB9C69) !important;
  color: #fff !important;
  font-family: "Mulish", Arial, sans-serif;
  font-size: 14rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 1rem;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}

.ec-product-single__summary .single_add_to_cart_button:hover {
  border-color: var(--ec-color-accent-hover, #A9874D) !important;
  background: var(--ec-color-accent-hover, #A9874D) !important;
}

.ec-product-single__summary .product_meta {
  padding-top: 20rem;
  border-top: 1px solid var(--ec-color-line, #F0F0F0);
  color: #777;
  font-size: 14rem;
  line-height: 1.7;
}

.ec-product-single__summary .product_meta > span {
  display: block;
}

.ec-product-single__summary .product_meta a {
  color: inherit;
}

.ec-product-description {
  margin-top: 72rem;
  padding-top: 52rem;
  border-top: 1px solid var(--ec-color-line, #F0F0F0);
}

.ec-product-description h2,
.ec-related-products__title {
  margin: 0 0 30rem;
  font-family: "Philosopher", Georgia, serif;
  font-size: 42rem;
  font-weight: 700;
  line-height: 1.15;
}

.ec-product-description__content {
  max-width: 1120rem;
  color: #444;
  font-size: 17rem;
  line-height: 1.7;
}

.ec-product-description__content > * + * {
  margin-top: 16rem;
}

/* ------------------------------
   Product cards: related + shop
   ------------------------------ */
.ec-related-products {
  margin-top: 82rem;
  padding-top: 52rem;
  border-top: 1px solid var(--ec-color-line, #F0F0F0);
}

.ec-related-products ul.products,
.ec-shop-products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28rem;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.ec-related-products ul.products::before,
.ec-related-products ul.products::after,
.ec-shop-products ul.products::before,
.ec-shop-products ul.products::after {
  display: none !important;
}

.ec-related-products ul.products li.product,
.ec-shop-products ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 0 24rem;
  border: 1px solid #eee;
  background: #fff;
}

.ec-related-products ul.products li.product a.woocommerce-LoopProduct-link,
.ec-shop-products ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
  text-decoration: none;
}

.ec-related-products ul.products li.product img,
.ec-shop-products ul.products li.product img {
  display: block;
  width: 100% !important;
  aspect-ratio: 1 / .72;
  margin: 0 0 18rem !important;
  object-fit: cover;
}

.ec-related-products ul.products li.product .woocommerce-loop-product__title,
.ec-shop-products ul.products li.product .woocommerce-loop-product__title {
  margin: 0;
  padding: 0 20rem !important;
  font-family: "Mulish", Arial, sans-serif;
  font-size: 18rem !important;
  font-weight: 700;
  line-height: 1.3;
  color: #222;
}

.ec-related-products ul.products li.product .price,
.ec-shop-products ul.products li.product .price {
  display: block;
  margin: 12rem 0 0 !important;
  padding: 0 20rem;
  color: #222 !important;
  font-size: 18rem !important;
  font-weight: 700 !important;
}

.ec-related-products ul.products li.product .button,
.ec-shop-products ul.products li.product .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48rem;
  margin: 18rem 20rem 0 !important;
  padding: 12rem 20rem !important;
  border-radius: 0 !important;
  background: var(--ec-color-accent, #BB9C69) !important;
  color: #fff !important;
  font-size: 13rem !important;
  font-weight: 700 !important;
  letter-spacing: .7rem;
  text-transform: uppercase;
}

/* ------------------------------
   Shop archive
   ------------------------------ */
.ec-shop-page {
  min-height: 300rem;
}

/* On the WooCommerce Shop archive the EC product-tabs block acts as the
   complete catalog template. Give it the same page-level breathing room as
   the rest of the site without changing this block on landing pages. */
.ec-shop-page [data-eccb-layout="product_tabs"] > .eccb-product-tabs {
  padding: 72rem 0 100rem;
}

.ec-shop-page [data-eccb-layout="product_tabs"]:first-child > .eccb-product-tabs {
  padding-top: 72rem;
}

.ec-shop-page__fallback-head {
  padding: 62rem 0 34rem;
}

.ec-shop-page__fallback-head h1 {
  margin: 0;
  font-family: "Philosopher", Georgia, serif;
  font-size: 54rem;
  line-height: 1.1;
}

.ec-shop-products {
  padding: 58rem 0 88rem;
}

.ec-shop-products__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24rem;
  margin-bottom: 28rem;
}

.ec-shop-products__toolbar .woocommerce-result-count {
  margin: 0;
  color: #777;
  font-size: 14rem;
}

.ec-shop-products__toolbar .woocommerce-ordering {
  margin: 0;
}

.ec-shop-products__toolbar select {
  min-width: 230rem;
  height: 44rem;
  padding: 0 38rem 0 14rem;
  border: 1px solid #ddd;
  border-radius: 0;
  background: #fff;
}

.ec-shop-products .woocommerce-pagination {
  margin-top: 40rem;
}

.ec-shop-products .woocommerce-pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  gap: 8rem;
  border: 0 !important;
}

.ec-shop-products .woocommerce-pagination ul.page-numbers li {
  border: 0 !important;
}

.ec-shop-products .woocommerce-pagination .page-numbers a,
.ec-shop-products .woocommerce-pagination .page-numbers span {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 42rem;
  height: 42rem;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #ddd;
  background: #fff;
  color: #222;
}

.ec-shop-products .woocommerce-pagination .page-numbers .current {
  border-color: var(--ec-color-accent, #BB9C69);
  background: var(--ec-color-accent, #BB9C69);
  color: #fff;
}

@media (max-width: 1024px) {
  .ec-product-single__main {
    grid-template-columns: 1fr 1fr;
    gap: 40rem;
  }

  .ec-product-single__summary .product_title {
    font-size: 42rem;
  }

  .ec-related-products ul.products,
  .ec-shop-products ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ec-product-single {
    padding: 32rem 0 54rem;
  }

  .ec-product-single__main {
    grid-template-columns: 1fr;
    gap: 30rem;
  }

  .ec-product-single__gallery {
    order: 1;
  }

  .ec-product-single__summary {
    order: 2;
    padding-top: 0;
  }

  .ec-product-single__gallery .flex-control-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8rem;
  }

  .ec-product-single__summary .product_title {
    margin-bottom: 16rem;
    font-size: 34rem;
  }

  .ec-product-single__summary .price {
    margin-bottom: 20rem;
    font-size: 25rem;
  }

  .ec-product-single__summary .woocommerce-product-details__short-description {
    margin-bottom: 24rem;
    font-size: 15rem;
  }

  .ec-product-single__summary form.cart {
    gap: 8rem;
  }

  .ec-product-single__summary form.cart .qty {
    width: 72rem;
    height: 52rem;
  }

  .ec-product-single__summary .single_add_to_cart_button {
    min-width: 0;
    min-height: 52rem;
    flex: 1;
    padding-inline: 16rem !important;
    font-size: 12rem !important;
  }

  .ec-product-description {
    margin-top: 44rem;
    padding-top: 34rem;
  }

  .ec-product-description h2,
  .ec-related-products__title {
    margin-bottom: 22rem;
    font-size: 30rem;
  }

  .ec-product-description__content {
    font-size: 15rem;
  }

  .ec-related-products {
    margin-top: 48rem;
    padding-top: 34rem;
  }

  .ec-related-products ul.products,
  .ec-shop-products ul.products {
    grid-template-columns: 1fr;
    gap: 18rem;
  }

  .ec-shop-page__fallback-head {
    padding: 34rem 0 22rem;
  }

  .ec-shop-page__fallback-head h1 {
    font-size: 36rem;
  }

  .ec-shop-products {
    padding: 34rem 0 54rem;
  }

  .ec-shop-products__toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 12rem;
    margin-bottom: 20rem;
  }

  .ec-shop-products__toolbar .woocommerce-ordering,
  .ec-shop-products__toolbar select {
    width: 100%;
  }
}

/* =========================================================
   Cart — compact catering order list
   ========================================================= */

body.woocommerce-cart .ec-woocommerce-shell,
body.woocommerce-checkout .ec-woocommerce-shell {
  padding-top: 58rem;
  padding-bottom: 86rem;
}

body.woocommerce-cart .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout #order_review_heading {
  font-family: "Philosopher", Georgia, serif;
  color: #222;
}

body.woocommerce-cart .woocommerce-cart-form {
  margin-bottom: 42rem;
}

body.woocommerce-cart table.shop_table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  background: #fff;
}

body.woocommerce-cart table.shop_table thead th {
  padding: 0 14rem 14rem;
  border: 0;
  border-bottom: 1rem solid #eee8de;
  color: #222;
  font-size: 16rem;
  line-height: 1.25;
  font-weight: 700;
  text-transform: none;
}

body.woocommerce-cart table.shop_table tbody td {
  padding: 11rem 14rem;
  border: 0;
  border-bottom: 1rem solid #f1eee8;
  vertical-align: middle;
  color: #242424;
  font-size: 15rem;
  line-height: 1.35;
}

body.woocommerce-cart table.shop_table .product-remove {
  width: 42rem;
  padding-left: 4rem;
  padding-right: 6rem;
  text-align: center;
}

body.woocommerce-cart table.shop_table .product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28rem;
  height: 28rem;
  margin: 0 auto;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: #d60000 !important;
  font: 400 28rem/1 Arial, sans-serif;
  text-decoration: none;
}

body.woocommerce-cart table.shop_table .product-remove a.remove:hover {
  color: #9e0000 !important;
  transform: scale(1.06);
}

body.woocommerce-cart table.shop_table .product-thumbnail {
  width: 58rem;
  padding-left: 4rem;
  padding-right: 8rem;
}

body.woocommerce-cart table.shop_table .product-thumbnail img {
  display: block;
  width: 42rem;
  height: 42rem;
  margin: 0;
  object-fit: cover;
  background: #f5f5f5;
}

body.woocommerce-cart table.shop_table .product-name {
  min-width: 360rem;
  font-weight: 500;
}

body.woocommerce-cart table.shop_table .product-name a {
  color: #222;
  text-decoration: none;
}

body.woocommerce-cart table.shop_table .product-name a:hover {
  color: var(--ec-color-accent-hover, #A9874D);
}

body.woocommerce-cart table.shop_table .product-price,
body.woocommerce-cart table.shop_table .product-subtotal {
  width: 190rem;
  white-space: nowrap;
  font-weight: 600;
}

body.woocommerce-cart table.shop_table .product-quantity {
  width: 170rem;
}

body.woocommerce-cart table.shop_table .quantity .qty {
  width: 72rem;
  height: 36rem;
  padding: 0 8rem;
  border: 1rem solid #dedede;
  border-radius: 0;
  background: #fff;
  color: #222;
  font-size: 14rem;
  text-align: center;
  box-shadow: none;
}

body.woocommerce-cart table.shop_table td.actions {
  padding: 20rem 0 0;
  border-bottom: 0;
}

body.woocommerce-cart table.shop_table td.actions .coupon {
  display: flex;
  gap: 10rem;
}

body.woocommerce-cart table.shop_table td.actions input.input-text {
  width: 230rem !important;
  height: 46rem;
  padding: 0 14rem;
  border: 1rem solid #d8d4cc;
  border-radius: 0;
}

body.woocommerce-cart .button,
body.woocommerce-cart a.button,
body.woocommerce-checkout .button,
body.woocommerce-checkout button.button,
body.woocommerce-checkout #payment #place_order {
  min-height: 46rem;
  padding: 13rem 22rem !important;
  border: 1rem solid var(--ec-color-accent, #BB9C69) !important;
  border-radius: 0 !important;
  background: var(--ec-color-accent, #BB9C69) !important;
  color: #fff !important;
  font-family: "Mulish", Arial, sans-serif;
  font-size: 13rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: 1rem;
  text-transform: uppercase;
  box-shadow: none !important;
}

body.woocommerce-cart .button:hover,
body.woocommerce-cart a.button:hover,
body.woocommerce-checkout .button:hover,
body.woocommerce-checkout button.button:hover,
body.woocommerce-checkout #payment #place_order:hover {
  border-color: var(--ec-color-accent-hover, #A9874D) !important;
  background: var(--ec-color-accent-hover, #A9874D) !important;
}

body.woocommerce-cart .cart-collaterals {
  display: flex;
  justify-content: flex-end;
  margin-top: 34rem;
}

body.woocommerce-cart .cart-collaterals .cart_totals {
  float: none;
  width: min(520rem, 100%);
  padding: 28rem 30rem 30rem;
  background: #f9f7f2;
}

body.woocommerce-cart .cart_totals h2 {
  margin: 0 0 20rem;
  font-family: "Philosopher", Georgia, serif;
  font-size: 30rem;
  line-height: 1.15;
  font-weight: 400;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
  padding: 13rem 0;
  border-bottom: 1rem solid #e8e1d5;
}

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

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

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
}

/* =========================================================
   Checkout — payment/delivery data
   ========================================================= */

body.woocommerce-checkout form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(400rem, 0.62fr);
  column-gap: 56rem;
  align-items: start;
}

body.woocommerce-checkout #customer_details {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  margin: 0;
}

body.woocommerce-checkout #customer_details .col-1 {
  float: none;
  width: 100%;
}

body.woocommerce-checkout #customer_details .col-2 {
  display: none;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3 {
  margin: 0 0 34rem;
  font-size: 38rem;
  line-height: 1.1;
  font-weight: 700;
}

body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
  display: flow-root;
}

body.woocommerce-checkout .form-row {
  margin: 0 0 25rem;
  padding: 0;
}

body.woocommerce-checkout .form-row-first,
body.woocommerce-checkout .form-row-last {
  width: calc(50% - 16rem);
}

body.woocommerce-checkout .form-row-first {
  float: left;
  clear: left;
}

body.woocommerce-checkout .form-row-last {
  float: right;
  clear: right;
}

body.woocommerce-checkout .form-row-wide {
  clear: both;
  width: 100%;
}

body.woocommerce-checkout .form-row label {
  display: block;
  margin: 0 0 9rem;
  color: #161616;
  font-size: 18rem;
  line-height: 1.25;
  font-weight: 700;
}

body.woocommerce-checkout .form-row .required {
  color: #ad0000;
  text-decoration: none;
}

body.woocommerce-checkout .input-text,
body.woocommerce-checkout input[type="text"],
body.woocommerce-checkout input[type="tel"],
body.woocommerce-checkout input[type="email"],
body.woocommerce-checkout input[type="date"],
body.woocommerce-checkout input[type="time"],
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single {
  width: 100%;
  min-height: 56rem;
  margin: 0;
  padding: 0 16rem;
  border: 1rem solid transparent;
  border-radius: 0;
  background: #f7f7f7;
  color: #222;
  font-family: "Mulish", Arial, sans-serif;
  font-size: 16rem;
  line-height: 54rem;
  box-shadow: none;
  outline: none;
}

body.woocommerce-checkout textarea {
  min-height: 82rem;
  padding-top: 13rem;
  padding-bottom: 13rem;
  line-height: 1.45;
  resize: vertical;
}

body.woocommerce-checkout input[type="date"],
body.woocommerce-checkout input[type="time"] {
  color-scheme: light;
}

body.woocommerce-checkout .input-text:focus,
body.woocommerce-checkout input:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--focus .select2-selection--single {
  border-color: var(--ec-color-accent, #BB9C69);
  background: #fff;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
  padding: 0;
  line-height: 54rem;
}

body.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
  top: 50%;
  right: 10rem;
  transform: translateY(-50%);
}

body.woocommerce-checkout .ec-checkout-privacy {
  display: block;
  padding-top: 3rem;
}

body.woocommerce-checkout .ec-checkout-privacy label {
  display: grid;
  grid-template-columns: 16rem minmax(0, 1fr);
  align-items: start;
  gap: 8rem;
  margin: 0;
  font-size: 15rem;
  line-height: 1.4;
  font-weight: 400;
}

body.woocommerce-checkout .ec-checkout-privacy input[type="checkbox"] {
  width: 14rem;
  height: 14rem;
  margin: 3rem 0 0;
  accent-color: var(--ec-color-accent, #BB9C69);
}

body.woocommerce-checkout .ec-checkout-privacy a {
  color: var(--ec-color-accent, #BB9C69);
}

body.woocommerce-checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  margin: 0 0 18rem;
  font-size: 32rem;
  line-height: 1.1;
  font-weight: 700;
}

body.woocommerce-checkout #order_review {
  grid-column: 2;
  grid-row: 2;
  position: sticky;
  top: 24rem;
  padding: 26rem 28rem 30rem;
  background: #f9f7f2;
}

body.woocommerce-checkout #order_review table.shop_table {
  margin: 0 0 22rem;
  border: 0;
  border-collapse: collapse;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
  padding: 12rem 0;
  border: 0;
  border-bottom: 1rem solid #e8e1d5;
  font-size: 14rem;
  line-height: 1.4;
}

body.woocommerce-checkout #order_review table.shop_table td.product-total,
body.woocommerce-checkout #order_review table.shop_table tfoot td {
  padding-left: 16rem;
  text-align: right;
  white-space: nowrap;
}

body.woocommerce-checkout #payment {
  border-radius: 0;
  background: transparent;
}

body.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 0 18rem;
  border-bottom: 1rem solid #e8e1d5;
}

body.woocommerce-checkout #payment div.form-row {
  margin: 0;
  padding: 22rem 0 0;
}

body.woocommerce-checkout #payment #place_order {
  float: none;
  width: 100%;
  margin: 0;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  font-size: 13rem;
  line-height: 1.45;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-cart .woocommerce-error,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-message {
  border-top-color: var(--ec-color-accent, #BB9C69);
  background: #f9f7f2;
}

@media (max-width: 1024px) {
  body.woocommerce-checkout form.checkout {
    grid-template-columns: 1fr;
    row-gap: 34rem;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review_heading,
  body.woocommerce-checkout #order_review {
    grid-column: 1;
    grid-row: auto;
  }

  body.woocommerce-checkout #order_review {
    position: static;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart .ec-woocommerce-shell,
  body.woocommerce-checkout .ec-woocommerce-shell {
    padding-top: 28rem;
    padding-bottom: 56rem;
  }

  body.woocommerce-cart table.shop_table_responsive thead {
    display: none;
  }

  body.woocommerce-cart table.shop_table_responsive tbody tr.cart_item {
    position: relative;
    display: grid;
    grid-template-columns: 38rem 58rem minmax(0, 1fr);
    gap: 0 8rem;
    padding: 14rem 0;
    border-bottom: 1rem solid #eee8de;
  }

  body.woocommerce-cart table.shop_table_responsive tbody tr.cart_item td {
    display: block;
    width: auto;
    min-width: 0;
    padding: 3rem 0;
    border: 0;
    text-align: left !important;
  }

  body.woocommerce-cart table.shop_table_responsive tbody tr.cart_item td::before {
    display: none;
  }

  body.woocommerce-cart table.shop_table .product-remove {
    grid-column: 1;
    grid-row: 1 / span 3;
    align-self: center;
  }

  body.woocommerce-cart table.shop_table .product-thumbnail {
    grid-column: 2;
    grid-row: 1 / span 3;
    align-self: start;
  }

  body.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 52rem;
    height: 52rem;
  }

  body.woocommerce-cart table.shop_table .product-name,
  body.woocommerce-cart table.shop_table .product-price,
  body.woocommerce-cart table.shop_table .product-quantity,
  body.woocommerce-cart table.shop_table .product-subtotal {
    grid-column: 3;
  }

  body.woocommerce-cart table.shop_table .product-name {
    font-size: 14rem;
  }

  body.woocommerce-cart table.shop_table .product-price,
  body.woocommerce-cart table.shop_table .product-subtotal {
    width: auto;
    font-size: 13rem;
  }

  body.woocommerce-cart table.shop_table .product-quantity {
    width: auto;
  }

  body.woocommerce-cart table.shop_table td.actions .coupon {
    float: none;
    width: 100%;
  }

  body.woocommerce-cart table.shop_table td.actions input.input-text {
    flex: 1;
    width: auto !important;
    min-width: 0;
  }

  body.woocommerce-cart table.shop_table td.actions > .button {
    width: 100%;
    margin-top: 10rem;
  }

  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
  }

  body.woocommerce-cart .cart-collaterals .cart_totals {
    padding: 22rem 18rem 24rem;
  }

  body.woocommerce-checkout .woocommerce-billing-fields > h3 {
    margin-bottom: 26rem;
    font-size: 30rem;
  }

  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last {
    float: none;
    clear: both;
    width: 100%;
  }

  body.woocommerce-checkout .form-row {
    margin-bottom: 18rem;
  }

  body.woocommerce-checkout .form-row label {
    margin-bottom: 7rem;
    font-size: 15rem;
  }

  body.woocommerce-checkout .input-text,
  body.woocommerce-checkout input[type="text"],
  body.woocommerce-checkout input[type="tel"],
  body.woocommerce-checkout input[type="email"],
  body.woocommerce-checkout input[type="date"],
  body.woocommerce-checkout input[type="time"],
  body.woocommerce-checkout textarea,
  body.woocommerce-checkout select,
  body.woocommerce-checkout .select2-container .select2-selection--single {
    min-height: 52rem;
    padding-inline: 14rem;
    font-size: 15rem;
    line-height: 50rem;
  }

  body.woocommerce-checkout textarea {
    line-height: 1.45;
  }

  body.woocommerce-checkout #order_review_heading {
    font-size: 28rem;
  }

  body.woocommerce-checkout #order_review {
    padding: 22rem 18rem 24rem;
  }
}


/* =========================================================
   Cart / checkout page shell — project REM layout
   ========================================================= */
body.woocommerce-cart .ec-woocommerce-page,
body.woocommerce-checkout .ec-woocommerce-page {
  width: 100%;
  padding: 64rem 0 92rem;
  background: #fff;
}

body.woocommerce-cart .ec-woocommerce-page__inner,
body.woocommerce-checkout .ec-woocommerce-page__inner {
  width: min(1544rem, calc(100vw - 80rem));
  margin: 0 auto;
}

body.woocommerce-cart .ec-woocommerce-page__inner > .woocommerce,
body.woocommerce-checkout .ec-woocommerce-page__inner > .woocommerce {
  width: 100%;
  margin: 0;
}

/* Kill Gutenberg/Woo Blocks outer spacing if old page content or fragments
   accidentally leak in. The project uses the classic shortcode markup here. */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-cart .wc-block-cart,
body.woocommerce-checkout .wc-block-checkout {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Cart stays intentionally compact: one thin row per product. */
body.woocommerce-cart .ec-woocommerce-page table.shop_table {
  table-layout: auto;
}

body.woocommerce-cart .ec-woocommerce-page table.shop_table thead th {
  padding-top: 0;
  padding-bottom: 15rem;
}

body.woocommerce-cart .ec-woocommerce-page table.shop_table tbody tr.cart_item {
  min-height: 64rem;
}

body.woocommerce-cart .ec-woocommerce-page table.shop_table tbody tr.cart_item td {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

body.woocommerce-cart .ec-woocommerce-page table.shop_table .product-thumbnail img {
  width: 44rem;
  height: 44rem;
}

body.woocommerce-cart .ec-woocommerce-page table.shop_table .quantity .qty {
  width: 68rem;
  height: 36rem;
}

/* Checkout: left data form + right order card, all dimensions in project rem. */
body.woocommerce-checkout .ec-woocommerce-page form.checkout {
  width: 100%;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390rem, 0.56fr);
  column-gap: 72rem;
  align-items: start;
}

body.woocommerce-checkout .ec-woocommerce-page #customer_details,
body.woocommerce-checkout .ec-woocommerce-page #order_review,
body.woocommerce-checkout .ec-woocommerce-page #order_review_heading {
  min-width: 0;
}

body.woocommerce-checkout .ec-woocommerce-page .woocommerce-billing-fields > h3 {
  margin-bottom: 38rem;
  font-size: 40rem;
}

body.woocommerce-checkout .ec-woocommerce-page .form-row label {
  margin-bottom: 9rem;
  font-size: 18rem;
}

body.woocommerce-checkout .ec-woocommerce-page .input-text,
body.woocommerce-checkout .ec-woocommerce-page input[type="text"],
body.woocommerce-checkout .ec-woocommerce-page input[type="tel"],
body.woocommerce-checkout .ec-woocommerce-page input[type="email"],
body.woocommerce-checkout .ec-woocommerce-page input[type="date"],
body.woocommerce-checkout .ec-woocommerce-page input[type="time"],
body.woocommerce-checkout .ec-woocommerce-page textarea,
body.woocommerce-checkout .ec-woocommerce-page select,
body.woocommerce-checkout .ec-woocommerce-page .select2-container .select2-selection--single {
  min-height: 56rem;
  padding-inline: 16rem;
  font-size: 16rem;
}

@media (max-width: 1100px) {
  body.woocommerce-cart .ec-woocommerce-page__inner,
  body.woocommerce-checkout .ec-woocommerce-page__inner {
    width: calc(100vw - 48rem);
  }

  body.woocommerce-checkout .ec-woocommerce-page form.checkout {
    grid-template-columns: 1fr;
    row-gap: 38rem;
  }
}

@media (max-width: 767px) {
  body.woocommerce-cart .ec-woocommerce-page,
  body.woocommerce-checkout .ec-woocommerce-page {
    padding: 28rem 0 64rem;
  }

  body.woocommerce-cart .ec-woocommerce-page__inner,
  body.woocommerce-checkout .ec-woocommerce-page__inner {
    width: calc(100vw - 40rem);
  }
}

/* =========================================================
   Checkout polish v27
   ========================================================= */

/* WooCommerce itself appends the optional marker. Keep it once and in one line. */
body.woocommerce-checkout .ec-telegram-field > label,
body.woocommerce-checkout .ec-delivery-date-field > label,
body.woocommerce-checkout .ec-delivery-time-field > label,
body.woocommerce-checkout #ec_order_note_field > label,
body.woocommerce-checkout #ec_payer_type_field > label {
  white-space: nowrap;
}

body.woocommerce-checkout .form-row label .optional {
  font-size: .9em;
  font-weight: 400;
  color: #5f5f5f;
}

/* Keep order heading and card together instead of letting CSS Grid create a tall empty row. */
body.woocommerce-checkout .ec-woocommerce-page #customer_details {
  grid-row: 1;
}

body.woocommerce-checkout .ec-woocommerce-page #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  margin: 0;
}

body.woocommerce-checkout .ec-woocommerce-page #order_review {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  margin-top: 62rem;
}

/* Native HTML date/time controls, visually integrated with the site. */
body.woocommerce-checkout .ec-delivery-date-field .woocommerce-input-wrapper,
body.woocommerce-checkout .ec-delivery-time-field .woocommerce-input-wrapper {
  position: relative;
  display: block;
}

body.woocommerce-checkout .ec-delivery-date-field input[type="date"],
body.woocommerce-checkout .ec-delivery-time-field input[type="time"] {
  min-height: 58rem;
  padding: 0 54rem 0 16rem;
  border: 1rem solid #e4d6bf;
  background-color: #fbfaf7;
  color: #222;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-checkout .ec-delivery-date-field input[type="date"]:hover,
body.woocommerce-checkout .ec-delivery-time-field input[type="time"]:hover {
  border-color: #cdb184;
  background-color: #fff;
}

body.woocommerce-checkout .ec-delivery-date-field input[type="date"]:focus,
body.woocommerce-checkout .ec-delivery-time-field input[type="time"]:focus {
  border-color: var(--ec-color-accent, #BB9C69);
  background-color: #fff;
  box-shadow: 0 0 0 3rem rgba(187, 156, 105, .12);
}

body.woocommerce-checkout .ec-delivery-date-field input[type="date"]::-webkit-calendar-picker-indicator,
body.woocommerce-checkout .ec-delivery-time-field input[type="time"]::-webkit-calendar-picker-indicator {
  width: 22rem;
  height: 22rem;
  margin: 0;
  padding: 14rem 15rem;
  cursor: pointer;
  opacity: .72;
}

/* =========================================================
   Order received / customer order information
   ========================================================= */
body.woocommerce-order-received .ec-woocommerce-page {
  background: #fff;
}

body.woocommerce-order-received .ec-woocommerce-page__inner > .woocommerce {
  max-width: 1180rem;
  margin: 0 auto;
}

body.woocommerce-order-received .woocommerce-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 30rem;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0;
  padding: 28rem 32rem;
  border-left: 4rem solid var(--ec-color-accent, #BB9C69);
  background: #f9f7f2;
  color: #222;
  font-size: 20rem;
  line-height: 1.45;
  font-weight: 600;
}

body.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 0 !important;
  padding: 1rem;
  border: 0;
  background: #eee7dc;
}

body.woocommerce-order-received .woocommerce-order-overview li {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 18rem 20rem;
  border: 0;
  background: #fff;
  color: #666;
  font-size: 12rem;
  line-height: 1.35;
  text-transform: uppercase;
}

body.woocommerce-order-received .woocommerce-order-overview li strong {
  display: block;
  margin-top: 7rem;
  color: #222;
  font-size: 16rem;
  line-height: 1.35;
  font-weight: 700;
  text-transform: none;
  overflow-wrap: anywhere;
}

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-view-order .woocommerce-order-details,
body.woocommerce-view-order .woocommerce-customer-details,
.ec-order-delivery-card {
  margin: 0;
  padding: 30rem 32rem 34rem;
  border: 1rem solid #eee7dc;
  background: #fff;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-view-order .woocommerce-order-details__title,
body.woocommerce-view-order .woocommerce-column__title,
.ec-order-delivery-card h2 {
  margin: 0 0 22rem;
  font-family: "Philosopher", Georgia, serif;
  font-size: 30rem;
  line-height: 1.15;
  font-weight: 400;
}

body.woocommerce-order-received table.woocommerce-table--order-details,
body.woocommerce-view-order table.woocommerce-table--order-details {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
}

body.woocommerce-order-received table.woocommerce-table--order-details th,
body.woocommerce-order-received table.woocommerce-table--order-details td,
body.woocommerce-view-order table.woocommerce-table--order-details th,
body.woocommerce-view-order table.woocommerce-table--order-details td {
  padding: 14rem 0;
  border: 0;
  border-bottom: 1rem solid #eee7dc;
  font-size: 15rem;
  line-height: 1.45;
}

body.woocommerce-order-received table.woocommerce-table--order-details td:last-child,
body.woocommerce-order-received table.woocommerce-table--order-details th:last-child,
body.woocommerce-view-order table.woocommerce-table--order-details td:last-child,
body.woocommerce-view-order table.woocommerce-table--order-details th:last-child {
  padding-left: 20rem;
  text-align: right;
}

body.woocommerce-order-received .woocommerce-customer-details address,
body.woocommerce-view-order .woocommerce-customer-details address {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 15rem;
  line-height: 1.65;
}

.ec-order-delivery-card {
  background: #f9f7f2;
}

.ec-order-delivery-card__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16rem 24rem;
  margin: 0;
}

.ec-order-delivery-card__grid > div {
  padding: 16rem 18rem;
  background: #fff;
}

.ec-order-delivery-card__grid dt {
  margin: 0 0 5rem;
  color: #777;
  font-size: 13rem;
  line-height: 1.35;
}

.ec-order-delivery-card__grid dd {
  margin: 0;
  color: #222;
  font-size: 16rem;
  line-height: 1.4;
  font-weight: 700;
}

.ec-order-delivery-card__note {
  margin-top: 18rem;
  padding: 18rem;
  background: #fff;
}

.ec-order-delivery-card__note strong {
  display: block;
  margin-bottom: 7rem;
  font-size: 14rem;
}

.ec-order-delivery-card__note p {
  margin: 0;
  font-size: 15rem;
  line-height: 1.55;
}

@media (max-width: 1100px) {
  body.woocommerce-checkout .ec-woocommerce-page #customer_details,
  body.woocommerce-checkout .ec-woocommerce-page #order_review_heading,
  body.woocommerce-checkout .ec-woocommerce-page #order_review {
    grid-column: 1;
    grid-row: auto;
  }

  body.woocommerce-checkout .ec-woocommerce-page #order_review {
    margin-top: 0;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.woocommerce-checkout .ec-telegram-field > label,
  body.woocommerce-checkout .ec-delivery-date-field > label,
  body.woocommerce-checkout .ec-delivery-time-field > label,
  body.woocommerce-checkout #ec_order_note_field > label,
  body.woocommerce-checkout #ec_payer_type_field > label {
    white-space: normal;
  }

  body.woocommerce-order-received .woocommerce-thankyou-order-received {
    padding: 20rem 18rem;
    font-size: 16rem;
  }

  body.woocommerce-order-received .woocommerce-order-overview {
    grid-template-columns: 1fr;
  }

  body.woocommerce-order-received .woocommerce-order-details,
  body.woocommerce-order-received .woocommerce-customer-details,
  body.woocommerce-view-order .woocommerce-order-details,
  body.woocommerce-view-order .woocommerce-customer-details,
  .ec-order-delivery-card {
    padding: 22rem 18rem 24rem;
  }

  body.woocommerce-order-received .woocommerce-order-details__title,
  body.woocommerce-order-received .woocommerce-column__title,
  body.woocommerce-view-order .woocommerce-order-details__title,
  body.woocommerce-view-order .woocommerce-column__title,
  .ec-order-delivery-card h2 {
    font-size: 24rem;
  }

  .ec-order-delivery-card__grid {
    grid-template-columns: 1fr;
  }
}

/* Cart totals must read as one light card, not a white table inside a beige card. */
body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
  background: #f9f7f2 !important;
}

/* =========================================================
   EC checkout: custom date / time picker
   ========================================================= */
body.woocommerce-checkout .ec-picker-source {
  display: none !important;
}

body.woocommerce-checkout .ec-picker-control {
  position: relative;
  width: 100%;
}

body.woocommerce-checkout .ec-picker-display {
  width: 100%;
  min-height: 58rem;
  padding: 0 54rem 0 16rem !important;
  border: 1rem solid #e4d6bf !important;
  border-radius: 0 !important;
  background: #fbfaf7 !important;
  color: #222 !important;
  font: inherit;
  cursor: pointer;
  caret-color: transparent;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-checkout .ec-picker-display:hover {
  border-color: #cdb184 !important;
  background: #fff !important;
}

body.woocommerce-checkout .ec-picker-display:focus {
  border-color: var(--ec-color-accent, #BB9C69) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3rem rgba(187, 156, 105, .12) !important;
  outline: 0;
}

body.woocommerce-checkout .ec-picker-trigger {
  position: absolute;
  top: 50%;
  right: 14rem;
  width: 30rem;
  height: 30rem;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: #2a2a2a;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: none;
}

body.woocommerce-checkout .ec-picker-trigger:hover,
body.woocommerce-checkout .ec-picker-trigger:focus,
body.woocommerce-checkout .ec-picker-trigger:active {
  background: transparent;
  color: var(--ec-color-accent, #BB9C69);
  outline: 0;
  box-shadow: none;
}

body.woocommerce-checkout .ec-picker-trigger svg {
  width: 21rem;
  height: 21rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ec-checkout-picker-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100050;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: default;
}

.ec-checkout-picker {
  position: fixed;
  z-index: 100060;
  padding: 18rem;
  border: 1rem solid #e7dcc9;
  background: #fffdf9;
  color: #222;
  box-shadow: 0 14rem 46rem rgba(28, 24, 18, .18);
  font-family: inherit;
}

.ec-checkout-picker button {
  font-family: inherit;
}

.ec-checkout-picker__head {
  display: grid;
  grid-template-columns: 38rem 1fr 38rem;
  align-items: center;
  gap: 8rem;
  margin-bottom: 15rem;
}

.ec-checkout-picker__title {
  text-align: center;
  font-size: 18rem;
  line-height: 1.2;
  font-weight: 700;
}

.ec-checkout-picker__nav {
  width: 38rem;
  height: 38rem;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: #f7f3ec;
  color: #222;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ec-checkout-picker__nav:hover,
.ec-checkout-picker__nav:focus {
  background: #eee5d7;
  outline: 0;
}

.ec-checkout-picker__nav:disabled {
  opacity: .3;
  cursor: default;
}

.ec-checkout-picker__nav svg {
  width: 20rem;
  height: 20rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ec-checkout-picker__week,
.ec-checkout-picker__days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4rem;
}

.ec-checkout-picker__week {
  margin-bottom: 5rem;
}

.ec-checkout-picker__week span {
  text-align: center;
  color: #8a8277;
  font-size: 12rem;
  line-height: 1;
  font-weight: 600;
}

.ec-checkout-picker__day {
  aspect-ratio: 1 / 1;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #222;
  font-size: 14rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: none;
}

.ec-checkout-picker__day:hover,
.ec-checkout-picker__day:focus {
  background: #f2ece2;
  outline: 0;
}

.ec-checkout-picker__day.is-outside {
  color: #b8b1a8;
}

.ec-checkout-picker__day.is-today {
  box-shadow: inset 0 0 0 1rem var(--ec-color-accent, #BB9C69);
}

.ec-checkout-picker__day.is-selected {
  background: var(--ec-color-accent, #BB9C69);
  color: #fff;
}

.ec-checkout-picker__day.is-disabled,
.ec-checkout-picker__day:disabled {
  color: #d9d5cf;
  background: transparent;
  cursor: default;
  box-shadow: none;
}

.ec-checkout-picker__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 12rem;
  padding-top: 12rem;
  border-top: 1rem solid #eee6d9;
}

.ec-checkout-picker__link {
  padding: 7rem 10rem;
  border: 0;
  background: transparent;
  color: var(--ec-color-accent-hover, #A9874D);
  font-size: 14rem;
  font-weight: 600;
  cursor: pointer;
}

.ec-checkout-picker__time-title {
  margin-bottom: 15rem;
  font-size: 18rem;
  line-height: 1.2;
  font-weight: 700;
}

.ec-checkout-picker__time-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12rem;
}

.ec-checkout-picker__time-label {
  margin-bottom: 7rem;
  color: #837a6e;
  font-size: 12rem;
  line-height: 1.2;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.ec-checkout-picker__time-list {
  max-height: 216rem;
  padding: 4rem;
  overflow-y: auto;
  background: #faf7f2;
  scrollbar-width: thin;
  scrollbar-color: #d2c1a5 transparent;
}

.ec-checkout-picker__time-list--minutes {
  max-height: none;
}

.ec-checkout-picker__time-option {
  width: 100%;
  min-height: 40rem;
  padding: 8rem 10rem;
  margin: 0;
  border: 0;
  background: transparent;
  color: #222;
  font-size: 15rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  box-shadow: none;
}

.ec-checkout-picker__time-option:hover,
.ec-checkout-picker__time-option:focus {
  background: #efe7db;
  outline: 0;
}

.ec-checkout-picker__time-option.is-selected {
  background: var(--ec-color-accent, #BB9C69);
  color: #fff;
}

.ec-checkout-picker__time-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10rem;
  margin-top: 15rem;
  padding-top: 15rem;
  border-top: 1rem solid #eee6d9;
}

.ec-checkout-picker__time-cancel,
.ec-checkout-picker__time-done {
  min-height: 44rem;
  padding: 9rem 14rem;
  border: 1rem solid #d9cab3;
  font-size: 14rem;
  font-weight: 600;
  cursor: pointer;
}

.ec-checkout-picker__time-cancel {
  background: #fff;
  color: #333;
}

.ec-checkout-picker__time-done {
  border-color: var(--ec-color-accent, #BB9C69);
  background: var(--ec-color-accent, #BB9C69);
  color: #fff;
}

.ec-checkout-picker__time-done:hover,
.ec-checkout-picker__time-done:focus {
  border-color: var(--ec-color-accent-hover, #A9874D);
  background: var(--ec-color-accent-hover, #A9874D);
  outline: 0;
}

@media (max-width: 767px) {
  html.ec-checkout-picker-open,
  body.ec-checkout-picker-open {
    overflow: hidden;
  }

  .ec-checkout-picker-backdrop {
    background: rgba(0, 0, 0, .28);
  }

  .ec-checkout-picker {
    left: 0 !important;
    right: 0;
    top: auto !important;
    bottom: 0;
    width: 100% !important;
    max-height: 78dvh;
    padding: 20rem 18rem calc(20rem + env(safe-area-inset-bottom));
    overflow-y: auto;
    border: 0;
    border-radius: 20rem 20rem 0 0;
    box-shadow: 0 -12rem 40rem rgba(0, 0, 0, .17);
  }

  .ec-checkout-picker__title,
  .ec-checkout-picker__time-title {
    font-size: 20rem;
  }

  .ec-checkout-picker__week span {
    font-size: 13rem;
  }

  .ec-checkout-picker__day {
    font-size: 15rem;
  }

  .ec-checkout-picker__time-list {
    max-height: 260rem;
  }
}

@media (max-width: 767px) {
  .ec-shop-page [data-eccb-layout="product_tabs"] > .eccb-product-tabs {
    padding: 38rem 0 56rem;
  }
}

/* =========================================================
   Default Shop / product-category template = EC product tabs
   ========================================================= */
.ec-shop-catalog-tabs {
  width: 100%;
  padding: 72rem 0 100rem;
  background: #fff;
}

.ec-shop-catalog-tabs > .eccb-product-tabs__inner {
  width: var(--ec-container);
  max-width: 100%;
  margin: 0 auto;
}

/* The common renderer is the catalog; suppress any accidental archive title,
   native ordering or pagination injected by Woo extensions around it. */
.ec-shop-page > .woocommerce-products-header,
.ec-shop-page > .woocommerce-result-count,
.ec-shop-page > .woocommerce-ordering,
.ec-shop-page > nav.woocommerce-pagination {
  display: none !important;
}

@media (max-width: 767px) {
  .ec-shop-catalog-tabs {
    padding: 38rem 0 56rem;
  }
}
