/* Brand finishing for the existing WooCommerce layout and interactions. */
.woocommerce .woocommerce-product-gallery {
  opacity:1!important;
  transition:none!important;
}
.woocommerce-product-details__short-description {
  color:var(--im-muted);
  font-size:14px;
  line-height:1.85;
  margin-bottom:25px;
}
.woocommerce-product-details__short-description p {
  margin-bottom:18px;
}
.woocommerce-product-details__short-description ul {
  padding-left:18px;
  margin:0;
  font-size:12px;
}
.woocommerce-product-details__short-description li {
  padding-left:3px;
  margin-bottom:9px;
}
.woocommerce-product-details__short-description li::marker {
  color:var(--im-red);
}
.wc-block-components-product-metadata__description {
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.wc-block-components-product-metadata__description ul {
  display:none;
}
.wp-block-woocommerce-cart .wp-block-button__link,
.wp-block-woocommerce-checkout .wp-block-button__link,
.wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-components-button:not(.is-link) {
  background:var(--im-red)!important;
  color:#fff!important;
  border:1px solid var(--im-red)!important;
  border-radius:5px!important;
  font-weight:650;
  text-decoration:none;
}
.wc-block-components-button:not(.is-link):hover {
  background:var(--im-red-dark)!important;
}
.wc-block-components-button .wc-block-components-button__text {
  color:inherit!important;
}
.wp-block-woocommerce-cart .wc-block-components-product-button .wp-block-button__link {
  background:var(--im-red)!important;
  border-radius:5px!important;
  box-shadow:none;
}
.wp-block-woocommerce-cart .wc-block-components-product-button .wp-block-button__link:hover {
  background:var(--im-red-dark)!important;
}
.wp-block-woocommerce-cart .wc-block-components-product-price {
  color:var(--im-red);
}
.wp-block-woocommerce-cart .wp-block-post-title a {
  color:var(--im-navy);
}
.wp-block-woocommerce-cart .wp-block-heading::after {
  background:var(--im-red)!important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  max-width:900px;
  margin-inline:auto;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  max-width:none;
  width:100%;
}
@media(max-width:600px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    grid-template-columns:1fr;
  }
}
.wc-block-components-text-input input[type],
.wc-block-components-combobox .components-combobox-control__input {
  border-color:#cfd9e5!important;
  border-radius:6px!important;
  background:#fcfdff;
}
.wc-block-components-product-name {
  color:var(--im-navy);
  line-height:1.5;
}
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
  border:1px solid var(--im-line);
  border-radius:10px;
  padding:22px;
  background:#f8f9fc;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .components-combobox-control__input:focus {
  border-color:var(--im-red)!important;
  box-shadow:0 0 0 1px var(--im-red)!important;
}
.wc-block-components-title,
.wc-block-components-checkout-step__heading {
  color:var(--im-navy);
}
.woocommerce form.login,
.woocommerce form.register {
  border-color:var(--im-line);
  background:#fff;
  border-radius:10px;
  padding:30px;
}
.woocommerce form .form-row input.input-text {
  min-height:46px;
  padding:10px 12px;
  border:1px solid #cbd5e1;
  border-radius:5px;
}
.woo-page-wrapper {
  background:#fff;
  padding:0
}
.woo-content-container {
  padding-block:45px 75px
}
.im-shop-hero .im-guide-hero-grid {
  min-height:340px;
  padding-block:45px
}
.im-shop-hero h1 {
  font-size:58px
}
.im-shop-hero .im-guide-visual {
  height:260px
}
.woocommerce .woocommerce-result-count {
  font-size:11px;
  color:var(--im-muted)
}
.woocommerce .woocommerce-ordering select {
  padding:10px 15px;
  border:1px solid #d9e2ec;
  border-radius:5px;
  background:#f9fafc;
  font-size:11px;
  color:var(--im-navy)
}
.post-type-archive-product.woocommerce .woo-content-container ul.products {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px
}
.woocommerce .woo-content-container ul.products li.product {
  border:1px solid #e2e7ee;
  border-radius:11px;
  box-shadow:0 5px 18px #0b264808
}
.woocommerce .woo-content-container ul.products li.product a img {
  height:370px;
  width:100%;
  object-fit:contain;
  background:#f5f7fa;
  padding:18px
}
.woocommerce .woo-content-container ul.products li.product .woocommerce-loop-product__title {
  font-family:Barlow,Arial,sans-serif;
  font-size:25px;
  line-height:1.1;
  color:var(--im-navy);
  font-weight:800;
  text-transform:uppercase;
  padding:0 25px;
  margin-block:24px 13px
}
.woocommerce .woo-content-container ul.products li.product .price {
  color:var(--im-red);
  font-family:Barlow,Arial,sans-serif;
  font-weight:700;
  font-size:26px;
  padding-inline:25px;
  margin-bottom:22px
}
.woocommerce .woo-content-container ul.products li.product a.button:not(.steve-quick-cart-btn) {
  padding:13px 20px!important;
  border-radius:5px!important;
  background:var(--im-navy)!important;
  border-color:var(--im-navy)!important;
  color:#fff!important;
  font-size:10px!important;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:none!important
}
.woocommerce .woo-content-container ul.products li.product a.button:not(.steve-quick-cart-btn):hover {
  background:var(--im-red)!important;
  border-color:var(--im-red)!important;
  box-shadow:0 6px 18px #c3263c20!important
}
.woocommerce ul.products li.product a.steve-quick-cart-btn:not(.added) {
  background:var(--im-red)!important;
  box-shadow:0 8px 22px #c3263c40!important
}
.woocommerce .single_add_to_cart_button.button.alt,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.woocommerce .checkout-button,.wc-block-components-button.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button {
  background:var(--im-red)!important;
  border-color:var(--im-red)!important;
  color:#fff!important;
  box-shadow:0 6px 18px #c3263c20!important;
  border-radius:5px!important
}
.woocommerce .single_add_to_cart_button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover {
  background:var(--im-red-dark)!important;
  border-color:var(--im-red-dark)!important
}
.woocommerce div.product .product_title {
  color:var(--im-navy);
  font-family:Barlow,Arial,sans-serif;
  font-weight:800;
  text-transform:uppercase;
  font-size:43px;
  line-height:1.03
}
.woocommerce div.product p.price,.woocommerce div.product span.price {
  color:var(--im-red)
}
.woocommerce div.product .summary {
  color:#64798f
}
.woocommerce div.product .summary .single_add_to_cart_button {
  font-size:12px;
  letter-spacing:.03em
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color:var(--im-red)
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-color:var(--im-red)
}
.woocommerce div.product .woocommerce-tabs .panel {
  color:#62768e;
  font-size:14px;
  line-height:1.9
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  color:var(--im-navy);
  font-size:31px;
  font-family:Barlow,sans-serif;
  font-weight:800
}
.woocommerce div.product .woocommerce-tabs .panel p {
  line-height:1.9
}
.woocommerce div.product .woocommerce-tabs .panel img {
  max-height:550px;
  object-fit:contain
}
.woocommerce-info {
  border-top-color:var(--im-red)
}
.woocommerce-info::before {
  color:var(--im-red)
}
.woocommerce-MyAccount-navigation a {
  color:var(--im-navy)
}
.woocommerce-MyAccount-navigation .is-active a {
  color:var(--im-red)
}
.woocommerce .woocommerce-form-login button.button,.woocommerce .woocommerce-form-register button.button {
  color:#fff;
  background:var(--im-red);
  border-color:var(--im-red)
}
.woocommerce .woocommerce-breadcrumb {
  font-size:10px;
  color:#8999ad
}
.woocommerce .woocommerce-breadcrumb a {
  color:var(--im-navy)
}
.woocommerce .related.products>h2 {
  font-family:Barlow,sans-serif;
  color:var(--im-navy);
  font-size:35px;
  font-weight:800;
  text-transform:uppercase
}
@media(max-width:991px) {
  .im-shop-hero h1 {
    font-size:47px
  }
  .woocommerce .woo-content-container ul.products li.product a img {
    height:300px
  }
  .woocommerce .woo-content-container ul.products li.product .woocommerce-loop-product__title {
    font-size:23px
  }
  .woocommerce div.product .product_title {
    font-size:36px
  }
}
@media(max-width:700px) {
  .woo-content-container {
    padding-block:32px 55px
  }
  .im-shop-hero .im-guide-hero-grid {
    min-height:0;
    padding-block:40px;
    gap:25px
  }
  .im-shop-hero h1 {
    font-size:42px
  }
  .im-shop-hero .im-guide-visual {
    height:225px
  }
  .post-type-archive-product.woocommerce .woo-content-container ul.products {
    grid-template-columns:1fr;
    gap:24px
  }
  .woocommerce .woo-content-container ul.products li.product a img {
    height:320px
  }
  .woocommerce .woo-content-container ul.products li.product .woocommerce-loop-product__title {
    font-size:26px
  }
  .woocommerce div.product .product_title {
    font-size:33px
  }
  .woocommerce div.product .woocommerce-tabs .panel {
    font-size:14px
  }
  .woocommerce .related.products>h2 {
    font-size:30px
  }
  .woocommerce .woocommerce-result-count {
    font-size:10px
  }
  .woocommerce .woocommerce-ordering select {
    font-size:10px;
    padding:9px 11px
  }
}

/* Match store reading sizes to the site's primary desktop text. */
@media(min-width:992px) {
  .woocommerce-product-details__short-description,
  .woocommerce div.product .woocommerce-tabs .panel { font-size:16px }
  .woocommerce-product-details__short-description ul { font-size:15px }
  .woocommerce div.product .summary .single_add_to_cart_button { font-size:14px }
  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering select { font-size:14px }
  .woocommerce .woo-content-container ul.products li.product a.button:not(.steve-quick-cart-btn) { font-size:13px!important }
}
