/*
 * WooCommerce integration for PNP Decor.
 * The plugin keeps ownership of markup and behaviour; this file provides the
 * visual system for catalog, product, cart, checkout and account flows.
 */

.pnp-shop-main {
  min-height: 65vh;
  padding: clamp(48px, 7vw, 96px) 0 clamp(90px, 11vw, 160px);
}

.pnp-shop-main .woocommerce-breadcrumb {
  margin: 0 0 38px;
  color: #686a62;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pnp-shop-main .woocommerce-breadcrumb a {
  color: var(--pnp-ink);
  text-decoration: none;
}

.woocommerce-products-header {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 420px);
  gap: 40px;
  align-items: end;
  padding: clamp(30px, 5vw, 72px) 0 clamp(50px, 7vw, 90px);
  border-bottom: 1px solid var(--pnp-line);
}

.woocommerce-products-header__title.page-title {
  max-width: 11ch;
  margin: 0;
  font-family: var(--pnp-display);
  font-size: clamp(4rem, 8vw, 9rem);
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.06em;
  text-transform: uppercase;
}

.term-description,
.woocommerce-products-header .page-description {
  color: #565851;
  font-size: 1rem;
}

.term-description > :last-child,
.woocommerce-products-header .page-description > :last-child {
  margin-bottom: 0;
}

.woocommerce .woocommerce-result-count {
  margin: 30px 0 36px;
  color: #686a62;
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce .woocommerce-ordering {
  margin: 22px 0 30px;
}

.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
  min-width: 230px;
  height: 48px;
  padding: 0 38px 0 13px;
  color: var(--pnp-ink);
  background-color: transparent;
  border: 1px solid var(--pnp-line);
  border-radius: 0;
  font-size: 0.72rem;
  font-weight: 700;
}

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

.woocommerce::after,
.woocommerce-page::after {
  clear: both;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  position: relative;
  padding: 20px 22px 20px 28px;
  margin: 0 0 34px;
  color: var(--pnp-ink);
  background: var(--pnp-paper);
  border: 0;
  border-left: 5px solid var(--pnp-cobalt);
  list-style: none;
}

.woocommerce-error {
  border-left-color: #bd2c26;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none;
}

.woocommerce-message .button,
.woocommerce-info .button {
  float: right;
  margin: -8px -8px -8px 20px;
}

/* Buttons and inputs */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button,
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 20px;
  color: #fff;
  background: var(--pnp-ink);
  border: 1px solid var(--pnp-ink);
  border-radius: 0;
  box-shadow: none;
  font-size: 0.7rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 0.25s ease, background 0.25s ease, transform 0.25s var(--pnp-ease);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.wc-block-components-button:hover,
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
  color: #fff;
  background: var(--pnp-cobalt);
  border-color: var(--pnp-cobalt);
  transform: translateY(-1px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.wc-block-components-button:not(.is-link) {
  color: #fff;
  background: var(--pnp-cobalt);
  border-color: var(--pnp-cobalt);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover {
  color: #fff;
  background: var(--pnp-cobalt-dark);
  border-color: var(--pnp-cobalt-dark);
}

.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
  color: #777;
  background: #d9d6ce;
  border-color: #d9d6ce;
  opacity: 1;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
  min-height: 48px;
  padding: 11px 13px;
  color: var(--pnp-ink);
  background: var(--pnp-paper);
  border: 1px solid rgba(17, 18, 15, 0.25);
  border-radius: 0;
  box-shadow: none;
  outline: 0;
}

.woocommerce textarea {
  min-height: 115px;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.wc-block-components-text-input input:focus {
  border-color: var(--pnp-cobalt);
  box-shadow: 0 0 0 1px var(--pnp-cobalt);
}

.woocommerce form .form-row label,
.wc-block-components-text-input label,
.wc-block-components-checkbox__label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Product and category cards */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(34px, 4vw, 62px) clamp(18px, 2.4vw, 38px);
  padding: 0;
  margin: 0;
  clear: both;
}

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

.woocommerce ul.products.columns-1 {
  grid-template-columns: 1fr;
}

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

.woocommerce ul.products.columns-4,
.woocommerce ul.products.columns-5,
.woocommerce ul.products.columns-6 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  position: relative;
  display: flex;
  flex-direction: column;
  float: none;
  width: auto;
  padding: 0;
  margin: 0;
}

.woocommerce ul.products li.product a {
  color: inherit;
  text-decoration: none;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  margin: 0 0 18px;
  aspect-ratio: 0.92;
  object-fit: cover;
  background: #dedbd3;
  filter: saturate(0.78) contrast(1.02);
  transition: filter 0.45s ease, transform 0.7s var(--pnp-ease);
}

.woocommerce ul.products li.product:hover a img {
  filter: saturate(1) contrast(1);
  transform: translateY(-4px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
  padding: 0;
  margin: 0 0 9px;
  font-family: var(--pnp-display);
  font-size: clamp(1.55rem, 2.2vw, 2.35rem);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.035em;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .price {
  display: flex;
  gap: 7px;
  align-items: baseline;
  margin: 0 0 16px;
  color: var(--pnp-ink);
  font-size: 0.9rem;
  font-weight: 850;
}

.woocommerce ul.products li.product .price del {
  color: #898b83;
  font-size: 0.76rem;
  opacity: 1;
}

.woocommerce ul.products li.product .price ins {
  font-weight: inherit;
  text-decoration: none;
}

.woocommerce ul.products li.product .star-rating {
  margin: 0 0 12px;
  color: var(--pnp-cobalt);
  font-size: 0.76rem;
}

.woocommerce ul.products li.product .button {
  align-self: flex-start;
  margin-top: auto;
}

.woocommerce span.onsale {
  top: 14px;
  right: auto;
  left: 14px;
  z-index: 2;
  min-width: 0;
  min-height: 0;
  padding: 8px 10px;
  margin: 0;
  color: #fff;
  background: var(--pnp-cobalt);
  border-radius: 0;
  font-size: 0.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce ul.products li.product-category img {
  aspect-ratio: 1.15;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title {
  display: flex;
  gap: 9px;
  align-items: baseline;
  justify-content: space-between;
}

.woocommerce ul.products li.product-category .count {
  color: var(--pnp-cobalt);
  background: transparent;
  font-family: var(--pnp-sans);
  font-size: 0.65rem;
  font-weight: 850;
}

/* Single product */
.woocommerce div.product {
  position: relative;
}

.woocommerce div.product::after {
  display: table;
  clear: both;
  content: "";
}

.woocommerce div.product div.images,
.woocommerce-page div.product div.images {
  float: left;
  width: 56%;
  margin: 0 0 80px;
}

.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary {
  position: sticky;
  top: calc(var(--pnp-header-h) + 30px);
  float: right;
  width: 38%;
  margin: 0 0 80px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image {
  overflow: hidden;
  background: #dedbd3;
}

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

.woocommerce div.product div.images .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  float: none;
  width: auto;
}

.woocommerce div.product div.images .flex-control-thumbs img {
  aspect-ratio: 1;
  object-fit: cover;
}

.woocommerce div.product .product_title {
  margin: 0 0 24px;
  font-family: var(--pnp-display);
  font-size: clamp(3.5rem, 5.5vw, 6.4rem);
  font-weight: 900;
  line-height: 0.84;
  letter-spacing: -0.055em;
  text-transform: uppercase;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 0 0 24px;
  color: var(--pnp-ink);
  font-size: 1.15rem;
  font-weight: 900;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  color: #85877e;
  font-size: 0.9rem;
  opacity: 1;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  text-decoration: none;
}

.woocommerce-product-details__short-description {
  margin-bottom: 28px;
  color: #50524b;
}

.woocommerce div.product form.cart {
  display: flex;
  gap: 10px;
  align-items: stretch;
  margin: 30px 0;
  flex-wrap: wrap;
}

.woocommerce div.product form.cart .quantity {
  float: none;
  margin: 0;
}

.woocommerce .quantity .qty {
  width: 72px;
  height: 52px;
  padding: 5px;
  background: var(--pnp-paper);
  border: 1px solid var(--pnp-line);
  border-radius: 0;
  text-align: center;
}

.woocommerce div.product form.cart .button {
  flex: 1 1 210px;
  min-height: 52px;
}

.woocommerce div.product form.cart.variations_form {
  display: block;
}

.woocommerce div.product form.cart .variations {
  width: 100%;
  margin: 0 0 20px;
  border-collapse: collapse;
}

.woocommerce div.product form.cart .variations tr {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-bottom: 1px solid var(--pnp-line);
}

.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td {
  display: block;
  padding: 0;
  text-align: left;
}

.woocommerce div.product form.cart .variations label {
  font-size: 0.66rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.woocommerce div.product form.cart .variations select {
  width: 100%;
  max-width: none;
  min-height: 46px;
}

.woocommerce div.product form.cart .reset_variations {
  display: inline-block;
  margin-top: 6px;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
}

.woocommerce div.product .woocommerce-variation-add-to-cart {
  display: flex;
  gap: 10px;
}

.woocommerce div.product .product_meta {
  display: grid;
  gap: 7px;
  padding-top: 22px;
  border-top: 1px solid var(--pnp-line);
  color: #666860;
  font-size: 0.67rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.woocommerce div.product .product_meta a {
  color: var(--pnp-ink);
}

.pnp-product-cue {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  padding: 15px;
  margin: 24px 0;
  background: rgba(82, 107, 255, 0.09);
  border-left: 3px solid var(--pnp-cobalt);
  font-size: 0.78rem;
}

.pnp-product-cue > span {
  color: var(--pnp-cobalt);
  font-size: 1.3rem;
  font-weight: 900;
}

.pnp-product-cue p {
  margin: 0;
}

.pnp-product-cue a {
  font-weight: 850;
}

.woocommerce div.product .woocommerce-tabs {
  clear: both;
  padding-top: 20px;
  margin-bottom: clamp(80px, 10vw, 140px);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 30px;
  padding: 0;
  margin: 0 0 40px;
  overflow-x: auto;
  border-bottom: 1px solid var(--pnp-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding: 0;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  position: relative;
  display: block;
  padding: 16px 0;
  color: #71736b;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--pnp-ink);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 3px;
  content: "";
  background: var(--pnp-cobalt);
}

.woocommerce div.product .woocommerce-tabs .panel {
  width: min(760px, 100%);
  margin: 0 auto;
}

.woocommerce div.product .woocommerce-tabs .panel h2:first-child {
  font-size: clamp(2rem, 4vw, 4rem);
}

.woocommerce .related.products,
.woocommerce .upsells.products {
  clear: both;
  margin-top: 90px;
}

.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2 {
  margin-bottom: 40px;
  font-family: var(--pnp-display);
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.045em;
  text-transform: uppercase;
}

/* Product personalizer on the light product page */
.woocommerce .pnp-personalizer,
.woocommerce .pnp-inquiry-form {
  --pnp-form-line: rgba(17, 18, 15, 0.25);
  padding: 24px;
  margin: 24px 0;
  color: var(--pnp-ink);
  background: var(--pnp-paper);
  border-top: 4px solid var(--pnp-cobalt);
}

.woocommerce .pnp-upload-field {
  border-color: rgba(17, 18, 15, 0.34);
}

/* Tables, cart and order details */
.woocommerce table.shop_table,
.woocommerce table.shop_table_responsive {
  width: 100%;
  margin: 0 0 34px;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 18px 14px;
  border: 0;
  border-bottom: 1px solid var(--pnp-line);
  text-align: left;
}

.woocommerce table.shop_table th {
  color: #676960;
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce table.cart img {
  width: 94px;
  aspect-ratio: 1;
  object-fit: cover;
}

.woocommerce table.cart .product-name a {
  font-family: var(--pnp-display);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-decoration: none;
  text-transform: uppercase;
}

.woocommerce table.cart .product-remove a.remove {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: var(--pnp-ink) !important;
  border: 1px solid var(--pnp-line);
  border-radius: 50%;
  font-size: 1.2rem;
}

.woocommerce table.cart .product-remove a.remove:hover {
  color: #fff !important;
  background: #bd2c26;
  border-color: #bd2c26;
}

.woocommerce table.cart td.actions {
  padding: 24px 0;
}

.woocommerce table.cart td.actions .coupon {
  display: flex;
  gap: 8px;
}

.woocommerce table.cart td.actions .coupon .input-text {
  width: min(260px, 50vw);
  margin: 0;
}

.woocommerce .cart-collaterals {
  display: grid;
  grid-template-columns: 1fr minmax(340px, 0.72fr);
  gap: 50px;
  align-items: start;
  margin-top: 50px;
}

.woocommerce .cart-collaterals .cross-sells,
.woocommerce-page .cart-collaterals .cross-sells {
  float: none;
  width: auto;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
	grid-column: 2;
  float: none;
  width: auto;
  padding: 30px;
  background: var(--pnp-paper);
  border-top: 5px solid var(--pnp-ink);
}

.woocommerce .cart_totals h2 {
  margin-bottom: 22px;
  font-size: 2.6rem;
  text-transform: uppercase;
}

.woocommerce .wc-proceed-to-checkout {
  padding: 22px 0 0;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
  width: 100%;
  min-height: 58px;
  margin: 0;
}

.woocommerce .cart-empty {
  padding: 60px 20px;
  margin-bottom: 26px;
  border: 1px solid var(--pnp-line);
  border-left: 6px solid var(--pnp-cobalt);
  text-align: center;
}

.woocommerce .return-to-shop {
  text-align: center;
}

/* Checkout */
.woocommerce-checkout .pnp-shop-main,
.woocommerce-cart .pnp-shop-main,
.woocommerce-account .pnp-shop-main {
  padding-top: clamp(50px, 7vw, 95px);
}

.woocommerce-checkout h1,
.woocommerce-cart h1,
.woocommerce-account h1,
.woocommerce-order-received .woocommerce-order > h2,
.woocommerce-order-received .woocommerce-order-details__title {
  margin-bottom: 42px;
  font-size: clamp(3.6rem, 7vw, 7.5rem);
  text-transform: uppercase;
}

.woocommerce form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: start;
}

.woocommerce form.checkout #customer_details {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: 1fr;
  gap: 40px;
}

.woocommerce form.checkout #customer_details .col-1,
.woocommerce form.checkout #customer_details .col-2 {
  float: none;
  width: auto;
}

.woocommerce form.checkout h3 {
  margin-bottom: 24px;
  font-size: clamp(2rem, 3.3vw, 3.5rem);
  text-transform: uppercase;
}

.woocommerce form.checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  z-index: 1;
  align-self: start;
  margin: 0;
  padding: 28px 28px 0;
  background: var(--pnp-paper);
  border-top: 5px solid var(--pnp-ink);
}

.woocommerce form.checkout #order_review {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  padding: 108px 28px 28px;
  margin: 0;
  background: var(--pnp-paper);
}

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

.woocommerce-checkout #payment ul.payment_methods {
  padding: 18px 0;
  border-bottom-color: var(--pnp-line);
}

.woocommerce-checkout #payment div.payment_box {
  color: var(--pnp-ink);
  background: var(--pnp-bone);
  border-radius: 0;
  font-size: 0.82rem;
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--pnp-bone);
}

.woocommerce-checkout #payment div.form-row {
  padding: 20px 0 0;
}

.woocommerce-checkout #payment #place_order {
  width: 100%;
  min-height: 58px;
}

.woocommerce .woocommerce-form-login,
.woocommerce .woocommerce-form-coupon,
.woocommerce form.login,
.woocommerce form.register {
  padding: 26px;
  margin: 24px 0 40px;
  background: var(--pnp-paper);
  border: 1px solid var(--pnp-line);
  border-radius: 0;
}

.woocommerce ul.order_details {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 0;
  margin: 35px 0;
  background: var(--pnp-line);
}

.woocommerce ul.order_details li {
  float: none;
  padding: 18px;
  margin: 0;
  background: var(--pnp-paper);
  border: 0;
  font-size: 0.63rem;
}

.woocommerce ul.order_details li strong {
  margin-top: 5px;
  font-size: 0.85rem;
}

/* My account */
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: clamp(40px, 7vw, 100px);
  align-items: start;
}

.woocommerce-account .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce > h2,
.woocommerce-account .woocommerce > form.login,
.woocommerce-account .woocommerce > form.register,
.woocommerce-account .woocommerce > .u-columns {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  float: none;
  width: auto;
  padding: 22px;
  background: var(--pnp-ink);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 13px 2px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  color: #fff;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
  margin-right: 8px;
  color: var(--pnp-cobalt);
  content: "→";
}

.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
  min-width: 0;
}

.woocommerce-account .addresses .title h3 {
  font-size: 2.4rem;
  text-transform: uppercase;
}

/* Reviews */
.woocommerce #reviews #comments ol.commentlist {
  padding: 0;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
  width: 52px;
  padding: 0;
  background: var(--pnp-paper);
  border: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
  margin-left: 70px;
  padding: 18px;
  background: var(--pnp-paper);
  border: 0;
  border-radius: 0;
}

.woocommerce #review_form #respond {
  padding: 30px;
  margin-top: 30px;
  background: var(--pnp-paper);
}

.woocommerce p.stars a {
  color: var(--pnp-cobalt);
}

/* WooCommerce Blocks */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  font-family: var(--pnp-sans);
}

.wc-block-components-sidebar-layout {
  gap: clamp(32px, 5vw, 76px);
}

.wc-block-components-sidebar {
  padding: 26px !important;
  background: var(--pnp-paper);
  border-top: 5px solid var(--pnp-ink);
}

.wc-block-components-main {
  padding-right: 0 !important;
}

.wc-block-cart-items,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary .wc-block-components-order-summary-item {
  border-color: var(--pnp-line) !important;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
  aspect-ratio: 1;
  object-fit: cover;
}

.wc-block-components-product-name {
  font-family: var(--pnp-display);
  font-size: 1.25rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  text-decoration: none;
  text-transform: uppercase;
}

.wc-block-components-title.wc-block-components-title,
.wc-block-components-checkout-step__title {
  font-family: var(--pnp-display);
  font-size: clamp(1.9rem, 3vw, 3rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  text-transform: uppercase;
}

.wc-block-components-checkout-step {
  padding: 0 0 34px;
}

.wc-block-components-radio-control-accordion-option,
.wc-block-components-checkout-step__container {
  background: transparent;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked {
  border-color: var(--pnp-cobalt);
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked::before {
  background: var(--pnp-cobalt);
}

.wc-block-components-totals-coupon__form {
  align-items: stretch;
}

/* Header product search */
.pnp-search-panel .woocommerce-product-search {
  color: #fff;
}

/* Small widgets */
.woocommerce.widget_shopping_cart .cart_list li,
.woocommerce.widget_shopping_cart .mini_cart_item {
  padding: 12px 0 12px 68px;
  min-height: 64px;
}

.woocommerce.widget_shopping_cart .cart_list li img,
.woocommerce.widget_shopping_cart .mini_cart_item img {
  width: 54px;
  height: 54px;
  object-fit: cover;
}

.woocommerce.widget_price_filter .ui-slider .ui-slider-range,
.woocommerce.widget_price_filter .ui-slider .ui-slider-handle {
  background-color: var(--pnp-cobalt);
}

.woocommerce.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background-color: #c8c5bc;
}

@media (max-width: 1100px) {
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images {
    width: 52%;
  }

  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.summary {
    width: 42%;
  }

  .woocommerce form.checkout {
    grid-template-columns: 1fr minmax(330px, 0.8fr);
    gap: 42px;
  }
}

@media (max-width: 860px) {
  .woocommerce-products-header {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images,
  .woocommerce div.product div.summary,
  .woocommerce-page div.product div.summary {
    position: static;
    float: none;
    width: 100%;
  }

  .woocommerce div.product div.images,
  .woocommerce-page div.product div.images {
    margin-bottom: 48px;
  }

  .woocommerce .cart-collaterals {
    grid-template-columns: 1fr;
  }

  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals {
    grid-column: 1;
  }

  .woocommerce form.checkout {
    grid-template-columns: 1fr;
  }

  .woocommerce form.checkout #order_review_heading,
  .woocommerce form.checkout #order_review {
    grid-column: 1;
    grid-row: 2;
  }

  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.order_details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .wc-block-components-sidebar,
  .wc-block-components-main {
    width: 100% !important;
  }

  .wc-block-components-sidebar {
    margin-top: 40px;
  }
}

@media (max-width: 600px) {
  .pnp-shop-main {
    padding-top: 36px;
  }

  .woocommerce-products-header__title.page-title,
  .woocommerce div.product .product_title,
  .woocommerce-checkout h1,
  .woocommerce-cart h1,
  .woocommerce-account h1 {
    font-size: clamp(3.2rem, 15.5vw, 5.2rem);
  }

  .woocommerce .woocommerce-result-count,
  .woocommerce .woocommerce-ordering {
    float: none;
    width: 100%;
  }

  .woocommerce .woocommerce-ordering select {
    width: 100%;
  }

  .woocommerce ul.products,
  .woocommerce ul.products.columns-2,
  .woocommerce ul.products.columns-3,
  .woocommerce ul.products.columns-4,
  .woocommerce ul.products.columns-5,
  .woocommerce ul.products.columns-6 {
    grid-template-columns: 1fr;
  }

  .woocommerce ul.products li.product a img {
    aspect-ratio: 1;
  }

  .woocommerce-message .button,
  .woocommerce-info .button {
    float: none;
    width: 100%;
    margin: 0 0 14px;
  }

  .woocommerce div.product form.cart .variations tr {
    grid-template-columns: 1fr;
  }

  .woocommerce table.shop_table_responsive thead {
    display: none;
  }

  .woocommerce table.shop_table_responsive tr {
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid var(--pnp-line);
  }

  .woocommerce table.shop_table_responsive tr td {
    display: block;
    padding: 8px 0;
    border: 0;
    text-align: right !important;
  }

  .woocommerce table.shop_table_responsive tr td::before {
    float: left;
    font-size: 0.65rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .woocommerce table.cart .product-thumbnail {
    display: block;
  }

  .woocommerce table.cart .product-thumbnail::before {
    display: none;
  }

  .woocommerce table.cart td.actions .coupon {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .woocommerce table.cart td.actions .coupon .input-text,
  .woocommerce table.cart td.actions .coupon .button,
  .woocommerce table.cart td.actions > .button {
    width: 100%;
  }

  .woocommerce .cart-collaterals .cart_totals,
  .woocommerce-page .cart-collaterals .cart_totals,
  .woocommerce form.checkout #order_review,
  .woocommerce form.checkout #order_review_heading {
    padding-right: 18px;
    padding-left: 18px;
  }

  .woocommerce ul.order_details {
    grid-template-columns: 1fr;
  }

  .wc-block-components-sidebar {
    padding: 20px !important;
  }
}
