/*
 * Lana WooCommerce visual layer.
 * Copy to: /wp-content/themes/lana-bodycare/assets/css/lana-woocommerce.css
 */

/* Base WooCommerce canvas */
.lana-shop-page,
.lana-product-page,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
  background: var(--cream, #f7f1e8);
}

.lana-woocommerce-page,
.woocommerce-page main.site-main,
.woocommerce main.site-main {
  padding-top: 88px;
}

.woocommerce .woocommerce-breadcrumb {
  margin: 0;
}

.woocommerce-notices-wrapper {
  padding-inline: var(--gutter);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  margin: 18px auto !important;
  max-width: 1380px;
  border: 0;
  border-left: 3px solid var(--clay);
  background: #ece1d4;
  color: var(--ink);
}

/* ============================
   SHOP ARCHIVE
   ============================ */

.lana-shop-hero {
  min-height: 74vh;
  padding: clamp(150px, 16vw, 230px) var(--gutter) clamp(80px, 9vw, 130px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: 8vw;
  align-items: end;
  background:
    radial-gradient(circle at 83% 44%, rgba(159, 91, 73, .13), transparent 30%),
    linear-gradient(135deg, #f7f1e8, #e7dbcc);
  overflow: hidden;
}

.lana-shop-hero__copy {
  position: relative;
  z-index: 2;
  max-width: 850px;
}

.lana-shop-hero h1 {
  margin: 24px 0 34px;
  color: var(--clay);
  font-family: var(--serif);
  font-size: clamp(68px, 8.8vw, 142px);
  font-weight: 400;
  line-height: .85;
  letter-spacing: -.04em;
}

.lana-shop-hero__intro {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.8;
}

.lana-shop-hero__mark {
  position: relative;
  min-height: 430px;
  display: grid;
  place-items: center;
  color: var(--clay-dark);
}

.lana-shop-hero__mark::before,
.lana-shop-hero__mark::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(116, 73, 63, .24);
  border-radius: 50%;
}

.lana-shop-hero__mark::before {
  width: min(36vw, 480px);
  aspect-ratio: 1;
}

.lana-shop-hero__mark::after {
  width: min(25vw, 330px);
  aspect-ratio: 1;
}

.lana-shop-hero__mark span {
  position: relative;
  z-index: 2;
  font-family: var(--serif);
  font-size: clamp(54px, 7vw, 105px);
  letter-spacing: .16em;
}

.lana-shop-hero__mark i {
  position: absolute;
  z-index: 2;
  width: 1px;
  height: 72%;
  background: rgba(116, 73, 63, .28);
  transform: rotate(38deg);
}

.lana-shop-hero__mark small {
  position: absolute;
  right: 2%;
  bottom: 9%;
  z-index: 2;
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.lana-shop-toolbar {
  position: sticky;
  top: 88px;
  z-index: 80;
  min-height: 68px;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 260px 1fr 260px;
  align-items: center;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(247, 241, 232, .94);
  backdrop-filter: blur(16px);
}

.lana-filter-toggle {
  display: none;
  border: 0;
  background: transparent;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px;
}

.lana-shop-result {
  justify-self: start;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lana-shop-result .woocommerce-result-count {
  float: none;
  margin: 0;
}

.lana-shop-ordering {
  justify-self: end;
}

.lana-shop-ordering .woocommerce-ordering {
  float: none;
  margin: 0;
}

.lana-shop-ordering select {
  max-width: 230px;
  border: 0;
  background: transparent;
  color: var(--ink);
  text-align: right;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: 10px;
}

.lana-shop-layout {
  padding: 72px var(--gutter) 150px;
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  gap: clamp(42px, 6vw, 90px);
  align-items: start;
}

.lana-shop-filters {
  position: sticky;
  top: 185px;
}

.lana-shop-filters__header {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lana-filter-close {
  display: none;
}

.lana-shop-filters nav {
  padding-top: 20px;
}

.lana-shop-filters nav a {
  padding: 14px 0;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
}

.lana-shop-filters nav a:hover,
.lana-shop-filters nav a.is-current {
  color: var(--clay);
}

.lana-shop-filters nav small {
  font-size: 10px;
}

.lana-shop-note {
  margin-top: 46px;
  padding: 27px;
  background: var(--clay-dark);
  color: #fff;
}

.lana-shop-note h2 {
  margin: 18px 0;
  font-size: 34px;
  line-height: 1.05;
}

.lana-shop-note > p:last-child {
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  line-height: 1.7;
}

.lana-shop-products .products {
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(56px, 7vw, 100px) 28px !important;
}

.lana-shop-products .products::before,
.lana-shop-products .products::after {
  display: none !important;
}

.lana-product-card {
  width: auto !important;
  margin: 0 !important;
}

.lana-product-card__inner {
  position: relative;
}

.lana-product-card__visual {
  min-height: min(54vw, 720px);
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #d9cdbb;
}

.lana-product-card:nth-child(4n + 2) .lana-product-card__visual {
  background: #d8b5ab;
}

.lana-product-card:nth-child(4n + 3) .lana-product-card__visual {
  background: #8c5d51;
}

.lana-product-card:nth-child(4n + 4) .lana-product-card__visual {
  background: #afb09a;
}

.lana-product-card__image {
  width: 68%;
  height: 78%;
  display: grid;
  place-items: center;
  transition: transform .7s var(--ease);
}

.lana-product-card__image img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  background: transparent !important;
  filter: drop-shadow(0 30px 28px rgba(55, 35, 30, .16));
}

.lana-product-card:hover .lana-product-card__image {
  transform: translateY(-10px) scale(1.025);
}

.lana-product-card__number,
.lana-product-card__badge,
.lana-product-card__ingredient,
.lana-product-card__view {
  position: absolute;
  z-index: 2;
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lana-product-card__number {
  left: 18px;
  top: 18px;
}

.lana-product-card__badge {
  right: 18px;
  top: 18px;
  padding: 8px 10px;
  background: var(--clay);
  color: #fff;
}

.lana-product-card__ingredient {
  right: 17px;
  bottom: 18px;
  writing-mode: vertical-rl;
}

.lana-product-card__view {
  left: 50%;
  bottom: 20px;
  opacity: 0;
  transform: translate(-50%, 16px);
  transition: .35s var(--ease);
}

.lana-product-card:hover .lana-product-card__view {
  opacity: 1;
  transform: translate(-50%, 0);
}

.lana-product-card__content {
  padding: 21px 0 17px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.lana-product-card__collection {
  margin: 0 0 7px;
  color: var(--clay);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lana-product-card .woocommerce-loop-product__title {
  padding: 0 !important;
  font-family: var(--sans) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.35;
}

.lana-product-card__subtitle {
  margin-top: 7px;
  max-width: 380px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

.lana-product-card__price {
  flex: 0 0 auto;
  font-size: 14px;
}

.lana-product-card__price .price {
  color: var(--ink) !important;
}

.lana-product-card__actions .button {
  width: 100%;
  margin: 0 !important;
  padding: 16px 0 !important;
  display: flex !important;
  justify-content: space-between;
  border: 0 !important;
  border-top: 1px solid var(--line) !important;
  background: transparent !important;
  color: var(--ink) !important;
}

.lana-product-card__actions .button::after {
  content: "+";
  font-size: 17px;
  font-weight: 300;
}

.lana-product-card__actions .button:hover {
  color: var(--clay) !important;
}

.lana-shop-products .woocommerce-pagination {
  margin-top: 90px;
}

.lana-shop-products .woocommerce-pagination ul.page-numbers {
  border: 0;
}

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

.lana-shop-products .woocommerce-pagination .page-numbers a,
.lana-shop-products .woocommerce-pagination .page-numbers span {
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: transparent;
}

.lana-shop-products .woocommerce-pagination .page-numbers .current {
  background: var(--clay-dark);
  color: #fff;
}

/* ============================
   SINGLE PRODUCT
   ============================ */

.lana-single-product {
  padding-top: 88px;
}

.lana-product-hero {
  min-height: 100vh;
  padding: 70px var(--gutter) 110px;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: start;
}

.lana-product-gallery {
  position: sticky;
  top: 120px;
  min-width: 0;
}

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

.lana-product-gallery .woocommerce-product-gallery__wrapper {
  background: #ded2c3;
}

.lana-product-gallery .woocommerce-product-gallery__image {
  min-height: 690px;
  display: grid !important;
  place-items: center;
}

.lana-product-gallery .woocommerce-product-gallery__image img {
  width: 78% !important;
  height: 620px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 34px 30px rgba(50, 30, 25, .15));
}

.lana-product-gallery .flex-control-thumbs {
  margin-top: 12px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.lana-product-gallery .flex-control-thumbs li {
  width: auto !important;
  float: none !important;
  background: #e7ddd0;
}

.lana-product-gallery .flex-control-thumbs img {
  aspect-ratio: 1;
  object-fit: cover;
}

.lana-product-summary {
  padding-top: 34px;
  min-width: 0;
}

.lana-back-link {
  margin-bottom: 50px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lana-back-link svg {
  width: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.lana-product-summary h1 {
  margin: 20px 0 18px;
  color: var(--clay);
  font-family: var(--serif);
  font-size: clamp(64px, 6.8vw, 112px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.035em;
}

.lana-product-subtitle {
  max-width: 590px;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.35;
}

.lana-product-rating-price {
  margin: 32px 0;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.lana-product-rating .woocommerce-product-rating {
  margin: 0 !important;
}

.lana-product-price .price {
  margin: 0 !important;
  color: var(--ink) !important;
  font-family: var(--serif);
  font-size: 38px !important;
}

.lana-product-excerpt {
  font-size: 16px;
  line-height: 1.8;
}

.lana-product-highlights {
  margin: 28px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.lana-product-highlights span {
  padding: 10px 13px;
  border: 1px solid var(--line);
  font-size: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.lana-product-cart {
  margin: 34px 0 22px;
}

.lana-product-cart form.cart {
  margin: 0 !important;
  display: flex;
  gap: 12px;
}

.lana-product-cart .quantity .qty {
  height: 54px;
  min-width: 76px;
  border: 1px solid var(--line);
  background: transparent;
}

.lana-product-cart .single_add_to_cart_button {
  min-height: 54px;
  flex: 1;
  border-radius: 0 !important;
  background: var(--clay-dark) !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px !important;
}

.lana-product-cart table.variations {
  margin-bottom: 18px !important;
}

.lana-product-cart table.variations th,
.lana-product-cart table.variations td {
  display: block;
  width: 100%;
  padding: 0 0 8px !important;
  text-align: left;
}

.lana-product-cart table.variations select {
  width: 100%;
  min-height: 50px;
  border: 1px solid var(--line);
  background: transparent;
}

.lana-product-meta {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.8;
}

.lana-product-meta .product_meta > span {
  display: block;
}

.lana-product-accordions {
  margin-top: 30px;
}

.lana-product-accordions details {
  border-top: 1px solid var(--line);
}

.lana-product-accordions details:last-child {
  border-bottom: 1px solid var(--line);
}

.lana-product-accordions summary {
  padding: 19px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  cursor: pointer;
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.lana-product-accordions summary::-webkit-details-marker {
  display: none;
}

.lana-product-accordions summary i,
.lana-product-accordions summary i::after {
  width: 14px;
  height: 1px;
  background: currentColor;
}

.lana-product-accordions summary i {
  position: relative;
}

.lana-product-accordions summary i::after {
  content: "";
  position: absolute;
  transform: rotate(90deg);
  transition: transform .25s;
}

.lana-product-accordions details[open] summary i::after {
  transform: rotate(0);
}

.lana-product-accordion-content {
  padding: 0 0 24px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.lana-product-accordion-content h2 {
  display: none;
}

.lana-product-accordion-content .woocommerce-Reviews-title {
  display: block;
  font-size: 34px;
}

.lana-product-sensory,
.lana-product-ingredient {
  min-height: 90vh;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
}

.lana-product-sensory {
  background: var(--clay-dark);
  color: #fff;
}

.lana-product-sensory__copy,
.lana-product-ingredient__copy {
  padding: 11vw 7vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lana-product-sensory__copy h2,
.lana-product-ingredient__copy h2 {
  margin: 24px 0 30px;
  font-size: clamp(56px, 6vw, 96px);
  line-height: .92;
}

.lana-product-sensory__copy > div,
.lana-product-ingredient__copy > div {
  max-width: 610px;
  line-height: 1.85;
}

.lana-product-sensory__copy > div {
  color: rgba(255, 255, 255, .72);
}

.lana-product-sensory__image,
.lana-product-ingredient__image {
  min-height: 680px;
  overflow: hidden;
}

.lana-product-sensory__image img,
.lana-product-ingredient__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lana-product-ingredient {
  grid-template-columns: 1.1fr .9fr;
  background: #ded2c3;
}

.lana-product-quote {
  min-height: 82vh;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  color: #fff;
  background:
    var(--lana-quote-image, linear-gradient(135deg, #7f594e, #412823))
    center / cover no-repeat;
}

.lana-product-quote__overlay {
  position: absolute;
  inset: 0;
  background: rgba(44, 27, 24, .46);
}

.lana-product-quote__content {
  position: relative;
  z-index: 2;
  width: min(1050px, 86vw);
  text-align: center;
}

.lana-product-quote blockquote {
  margin-top: 24px;
  font-size: clamp(50px, 6.8vw, 108px);
  line-height: 1;
}

.lana-product-reviews {
  padding: clamp(100px, 12vw, 180px) var(--gutter);
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 8vw;
}

.lana-product-reviews__heading h2 {
  margin-top: 20px;
  font-size: clamp(52px, 5.8vw, 86px);
  line-height: 1;
}

.lana-product-reviews__content #reviews {
  padding: 0;
}

.lana-product-reviews__content #comments,
.lana-product-reviews__content #review_form_wrapper {
  width: 100%;
  float: none;
}

.lana-product-reviews__content .commentlist {
  padding: 0 !important;
}

.lana-product-reviews__content .comment {
  padding: 28px 0 !important;
  border-top: 1px solid var(--line);
}

.lana-product-reviews__content .comment_container {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 18px;
}

.lana-product-reviews__content .avatar {
  position: static !important;
  width: 54px !important;
  border: 0 !important;
  border-radius: 50%;
}

.lana-related-products {
  padding: 0 var(--gutter) clamp(100px, 12vw, 180px);
}

.lana-related-products > .related > h2 {
  margin-bottom: 55px;
  font-size: clamp(52px, 5.5vw, 82px);
}

.lana-related-products .products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 28px !important;
}

.lana-related-products .products::before,
.lana-related-products .products::after {
  display: none !important;
}

/* ============================
   CART + CHECKOUT BLOCKS
   ============================ */

.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content {
  max-width: 1500px;
  padding: 145px var(--gutter) 120px;
}

.wc-block-cart,
.wc-block-checkout {
  gap: clamp(32px, 6vw, 90px) !important;
}

.wc-block-cart__main,
.wc-block-checkout__main {
  min-width: 0;
}

.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
  position: sticky;
  top: 115px;
  align-self: start;
  padding: 30px !important;
  background: #e9ded0;
}

.wc-block-components-title,
.wc-block-components-checkout-step__title {
  font-family: var(--serif) !important;
  font-weight: 400 !important;
}

.wc-block-components-checkout-step__title {
  font-size: clamp(31px, 3vw, 48px) !important;
}

.wc-block-components-checkout-step {
  padding: 28px 0 !important;
  border-bottom: 1px solid var(--line);
}

.wc-block-components-text-input input,
.wc-block-components-address-form select,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-textarea {
  min-height: 54px !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, .38) !important;
}

.wc-block-components-button {
  min-height: 56px !important;
  border-radius: 0 !important;
  background: var(--clay-dark) !important;
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 10px !important;
}

.wc-block-components-button:hover {
  background: var(--clay) !important;
}

.wc-block-cart-items,
.wc-block-components-order-summary {
  border: 0 !important;
}

.wc-block-cart-items__row,
.wc-block-components-order-summary-item {
  border-bottom: 1px solid var(--line) !important;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
  background: #ded2c3;
  object-fit: contain;
}

.wc-block-components-product-name {
  font-family: var(--serif);
  font-size: 22px !important;
}

.wc-block-components-totals-wrapper {
  border-top: 1px solid var(--line) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--serif);
  font-size: 27px !important;
  font-weight: 400 !important;
}

.wc-block-components-radio-control__option {
  padding: 19px 0 !important;
  border-bottom: 1px solid var(--line);
}

.wc-block-components-radio-control__option::after {
  border-color: var(--clay) !important;
}

.wc-block-components-panel__button {
  font-family: var(--sans) !important;
  font-size: 11px !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Classic cart and checkout fallback */
.woocommerce-cart-form,
.woocommerce-checkout form.checkout {
  margin-top: 38px;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
  border: 0;
  border-collapse: collapse;
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  padding: 20px 12px;
  border-color: var(--line);
}

.woocommerce-checkout .col2-set {
  width: 58%;
  float: left;
  padding-right: 5vw;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
  width: 42%;
  float: right;
  padding: 30px;
  background: #e9ded0;
}

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

/* Product editor */
.lana-media-field {
  display: flex;
  align-items: flex-start;
}

.lana-media-control {
  width: 50%;
}

.lana-media-preview img {
  width: 90px;
  height: 90px;
  margin-bottom: 10px;
  object-fit: cover;
  background: #eee;
}

/* ============================
   RESPONSIVE
   ============================ */

@media (max-width: 980px) {
  .lana-shop-hero {
    min-height: auto;
    padding-top: 130px;
    grid-template-columns: 1fr;
  }

  .lana-shop-hero__mark {
    min-height: 350px;
  }

  .lana-shop-hero__mark::before {
    width: min(75vw, 450px);
  }

  .lana-shop-hero__mark::after {
    width: min(54vw, 320px);
  }

  .lana-shop-toolbar {
    top: 74px;
    grid-template-columns: 1fr auto;
  }

  .lana-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    cursor: pointer;
  }

  .lana-filter-toggle i,
  .lana-filter-toggle i::after {
    display: block;
    width: 15px;
    height: 1px;
    background: currentColor;
  }

  .lana-filter-toggle i {
    position: relative;
  }

  .lana-filter-toggle i::after {
    content: "";
    position: absolute;
    transform: rotate(90deg);
  }

  .lana-shop-result {
    display: none;
  }

  .lana-shop-layout {
    grid-template-columns: 1fr;
  }

  .lana-shop-filters {
    position: fixed;
    inset: 74px 0 0;
    z-index: 300;
    padding: 28px var(--gutter) 60px;
    overflow-y: auto;
    background: var(--cream);
    transform: translateX(-102%);
    transition: transform .45s var(--ease);
  }

  .lana-shop-filters.is-open {
    transform: translateX(0);
  }

  body.lana-filters-open {
    overflow: hidden;
  }

  .lana-filter-close {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    border: 0;
    background: transparent;
  }

  .lana-filter-close::before,
  .lana-filter-close::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 14px;
    width: 20px;
    height: 1px;
    background: currentColor;
  }

  .lana-filter-close::before {
    transform: rotate(45deg);
  }

  .lana-filter-close::after {
    transform: rotate(-45deg);
  }

  .lana-shop-note {
    max-width: 420px;
  }

  .lana-product-hero,
  .lana-product-sensory,
  .lana-product-ingredient,
  .lana-product-reviews {
    grid-template-columns: 1fr;
  }

  .lana-product-gallery {
    position: relative;
    top: auto;
  }

  .lana-product-summary {
    padding-top: 10px;
  }

  .lana-product-sensory__image,
  .lana-product-ingredient__image {
    min-height: 62vh;
  }

  .lana-product-ingredient__image {
    order: 1;
  }

  .lana-product-ingredient__copy {
    order: 2;
  }

  .lana-related-products .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    position: static;
  }

  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    width: 100%;
    float: none;
    padding-right: 0;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    margin-top: 28px;
  }
}

@media (max-width: 680px) {
  .lana-shop-hero {
    padding-inline: var(--gutter);
  }

  .lana-shop-hero h1 {
    font-size: clamp(62px, 18vw, 84px);
  }

  .lana-shop-hero__mark {
    min-height: 270px;
  }

  .lana-shop-ordering select {
    max-width: 150px;
  }

  .lana-shop-layout {
    padding-top: 48px;
  }

  .lana-shop-products .products {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 65px !important;
  }

  .lana-product-card__visual {
    min-height: min(128vw, 620px);
  }

  .lana-product-card__content {
    align-items: flex-start;
  }

  .lana-product-hero {
    padding: 105px var(--gutter) 90px;
  }

  .lana-product-gallery .woocommerce-product-gallery__image {
    min-height: 500px;
  }

  .lana-product-gallery .woocommerce-product-gallery__image img {
    width: 88% !important;
    height: 460px !important;
  }

  .lana-product-summary h1 {
    font-size: clamp(58px, 16vw, 78px);
  }

  .lana-product-rating-price {
    align-items: flex-start;
    flex-direction: column;
  }

  .lana-product-cart form.cart {
    flex-wrap: wrap;
  }

  .lana-product-cart .single_add_to_cart_button {
    flex: 1 1 100%;
  }

  .lana-product-sensory__copy,
  .lana-product-ingredient__copy {
    padding: 90px var(--gutter);
  }

  .lana-product-sensory__copy h2,
  .lana-product-ingredient__copy h2 {
    font-size: clamp(48px, 13vw, 64px);
  }

  .lana-product-sensory__image,
  .lana-product-ingredient__image {
    min-height: 55vh;
  }

  .lana-product-quote blockquote {
    font-size: clamp(43px, 12vw, 62px);
  }

  .lana-product-reviews {
    gap: 55px;
  }

  .lana-related-products .products {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content,
  .woocommerce-account .entry-content {
    padding: 115px var(--gutter) 90px;
  }

  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar {
    padding: 22px !important;
  }
}


/* =========================================================
   LANA 2.2.1 — FULL-VIEWPORT SHOP HERO + VISIBLE FILTERS
   ========================================================= */

/* The Shop archive owns its full width; do not inherit the old
   global WooCommerce page padding from style.css. */
body.lana-shop-page main.site-main,
body.lana-shop-page .site-main,
body.post-type-archive-product main,
body.tax-product_cat main,
body.tax-product_tag main {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 !important;
  overflow: visible;
}

body.lana-shop-page .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_tag .woocommerce-breadcrumb {
  display: none;
}

.lana-shop-hero {
  position: relative;
  width: 100%;
  min-height: calc(100svh - 88px);
  padding: clamp(150px, 18vh, 230px) var(--gutter) clamp(72px, 10vh, 120px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 38%, rgba(159, 91, 73, .17) 0 14%, transparent 38%),
    radial-gradient(circle at 88% 44%, transparent 0 20%, rgba(116, 73, 63, .16) 20.2% 20.5%, transparent 20.8%),
    radial-gradient(circle at 88% 44%, transparent 0 31%, rgba(116, 73, 63, .11) 31.2% 31.5%, transparent 31.8%),
    linear-gradient(135deg, #f8f2e9 0%, #eaded0 56%, #d9c3b5 100%);
}

.lana-shop-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(247, 241, 232, .95) 0%, rgba(247, 241, 232, .66) 48%, rgba(247, 241, 232, .12) 78%),
    linear-gradient(0deg, rgba(103, 61, 52, .08), transparent 42%);
}

.lana-shop-hero__copy {
  position: relative;
  z-index: 2;
  width: min(880px, 76vw);
  max-width: 880px;
}

.lana-shop-hero h1 {
  margin: 24px 0 30px;
  max-width: 830px;
  font-size: clamp(72px, 9.2vw, 150px);
  line-height: .84;
}

.lana-shop-hero__intro {
  max-width: 610px;
  font-size: clamp(15px, 1.25vw, 19px);
}

/* The former oversized LANA mark is intentionally disabled. */
.lana-shop-hero__mark {
  display: none !important;
}

.lana-shop-toolbar {
  top: 88px;
  grid-template-columns: minmax(245px, .6fr) minmax(0, 1fr) minmax(220px, .6fr);
  min-height: 72px;
}

/* Make the category action visible on desktop as a label rather than
   hiding the entire first toolbar column. */
.lana-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  justify-self: start;
  cursor: default;
  pointer-events: none;
}

.lana-filter-toggle i,
.lana-filter-toggle i::after {
  display: block;
  width: 14px;
  height: 1px;
  background: currentColor;
}

.lana-filter-toggle i {
  position: relative;
}

.lana-filter-toggle i::after {
  content: "";
  position: absolute;
  transform: rotate(90deg);
}

.lana-shop-layout {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding-top: 70px;
}

.lana-shop-filters {
  display: block;
  visibility: visible;
  opacity: 1;
}

.lana-shop-filters nav:empty::after {
  content: "Create product categories in Products → Categories.";
  display: block;
  padding: 18px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .lana-shop-hero {
    min-height: calc(100svh - 74px);
    padding-top: max(120px, calc(env(safe-area-inset-top) + 100px));
    padding-bottom: max(65px, calc(env(safe-area-inset-bottom) + 46px));
    align-items: flex-end;
  }

  .lana-shop-hero__copy {
    width: 100%;
  }

  .lana-shop-hero h1 {
    font-size: clamp(62px, 16vw, 104px);
  }

  .lana-shop-toolbar {
    top: 74px;
    grid-template-columns: 1fr auto;
  }

  .lana-filter-toggle {
    cursor: pointer;
    pointer-events: auto;
  }

  .lana-shop-filters {
    display: block;
    visibility: visible;
    opacity: 1;
  }
}

@media (max-width: 680px) {
  .lana-shop-hero {
    background:
      radial-gradient(circle at 88% 27%, rgba(159, 91, 73, .16), transparent 35%),
      linear-gradient(145deg, #f8f2e9, #dfcfc2);
  }

  .lana-shop-hero::before {
    background: linear-gradient(0deg, rgba(247, 241, 232, .9) 0%, rgba(247, 241, 232, .4) 62%, transparent 100%);
  }

  .lana-shop-hero__intro {
    font-size: 15px;
  }

  .lana-shop-toolbar {
    padding-inline: var(--gutter);
  }

  .lana-shop-ordering select {
    width: 145px;
    max-width: 145px;
  }
}

/* =========================================================
   LANA 2.2.2 — SINGLE PRODUCT FIDELITY + GRID CONFLICT FIX
   ========================================================= */

/* The global theme previously turned the complete product root into a grid. */
.woocommerce div.product.lana-single-product,
.woocommerce-page div.product.lana-single-product,
.lana-single-product {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.lana-single-product > section {
  width: 100%;
  max-width: none;
}

.lana-product-hero.product-detail-hero {
  padding-top: 130px;
}

.lana-gallery-main {
  min-height: 720px;
  background: #d9cdbb;
}

.lana-gallery-main-image {
  width: 68%;
  height: 76%;
  object-fit: contain;
  filter: drop-shadow(0 34px 32px rgba(68, 44, 37, .16));
}

.lana-gallery-thumbnails {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.lana-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.lana-product-rating-row .star-rating,
.lana-product-reviews .star-rating {
  float: none;
  margin: 0;
}

.lana-product-purchase {
  grid-template-columns: auto minmax(250px, 1fr);
}

.lana-product-purchase .lana-product-cart {
  margin: 0;
}

.lana-product-purchase .lana-product-cart form.cart {
  display: grid;
  grid-template-columns: auto minmax(190px, 1fr);
  gap: 12px;
  margin: 0 !important;
}

.lana-product-purchase .lana-product-cart .quantity .qty {
  min-width: 86px;
}

.lana-product-sensory,
.lana-product-ingredient,
.lana-ritual-steps,
.lana-product-quote,
.lana-product-reviews,
.lana-related-products {
  clear: both;
}

.lana-product-sensory__image,
.lana-product-ingredient__image {
  position: relative;
}

.lana-product-sensory__image img,
.lana-product-ingredient__image img {
  position: absolute;
  inset: 0;
}

.lana-product-quote {
  background-image: var(--lana-quote-image);
  background-size: cover;
  background-position: center;
}

.lana-product-reviews {
  align-items: start;
}

.lana-product-reviews__heading h2 {
  max-width: 620px;
  font-size: clamp(48px, 5vw, 78px);
  overflow-wrap: normal;
  word-break: normal;
}

.lana-product-reviews__content #reviews,
.lana-product-reviews__content #comments,
.lana-product-reviews__content #review_form_wrapper {
  width: 100% !important;
  float: none !important;
}

.lana-product-reviews__content #reply-title {
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 400;
}

.lana-product-reviews__content textarea,
.lana-product-reviews__content input[type="text"],
.lana-product-reviews__content input[type="email"] {
  width: 100%;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.45);
  padding: 14px;
}

.lana-product-reviews__content .form-submit input {
  border-radius: 0;
  background: var(--ink);
  color: #fff;
}

.lana-related-products .related > h2 {
  display: none;
}

@media (max-width: 980px) {
  .lana-product-hero.product-detail-hero {
    padding-top: 105px;
  }

  .lana-product-purchase {
    grid-template-columns: 1fr;
  }

  .lana-product-sensory__image img,
  .lana-product-ingredient__image img {
    position: relative;
    min-height: 62vh;
  }
}

@media (max-width: 680px) {
  .lana-gallery-main {
    min-height: 520px;
  }

  .lana-gallery-main-image {
    width: 82%;
    height: 72%;
  }

  .lana-gallery-thumbnails {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .lana-product-purchase .lana-product-cart form.cart {
    grid-template-columns: 1fr;
  }

  .lana-product-purchase .lana-product-cart .quantity,
  .lana-product-purchase .lana-product-cart .quantity .qty {
    width: 100%;
  }

  .lana-product-reviews__heading h2 {
    font-size: clamp(44px, 12vw, 60px);
  }
}


/* =========================================================
   LANA 2.2.3 — PRODUCT EDITORIAL SECTION FIXES
   ========================================================= */

/* Rotate only the plus/minus icon—never the accordion title. */
.product-accordions summary > span,
.lana-product-accordions summary > span,
.product-accordions details[open] summary > span,
.lana-product-accordions details[open] summary > span {
  transform: none !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.product-accordions summary > i,
.lana-product-accordions summary > i {
  transform: none !important;
  transition: transform .25s var(--ease);
}

.product-accordions details[open] summary > i,
.lana-product-accordions details[open] summary > i {
  transform: rotate(45deg) !important;
}

/* Each major product chapter should read as a full-screen editorial panel. */
.lana-product-hero,
.lana-product-sensory,
.lana-product-ingredient,
.lana-ritual-steps,
.lana-product-quote,
.lana-product-reviews {
  width: 100%;
  min-height: 100svh;
}

.lana-product-hero {
  align-items: stretch;
}

.lana-product-gallery,
.lana-product-summary {
  align-self: stretch;
}

.lana-gallery-main {
  min-height: calc(100svh - 235px);
}

.lana-product-sensory,
.lana-product-ingredient {
  grid-template-rows: minmax(100svh, auto);
}

.lana-product-sensory__copy,
.lana-product-ingredient__copy,
.lana-product-sensory__image,
.lana-product-ingredient__image {
  min-height: 100svh;
}

.lana-product-sensory__image img,
.lana-product-ingredient__image img {
  width: 100%;
  height: 100%;
  min-height: 100svh;
  object-fit: cover;
}

.lana-ritual-steps {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lana-product-reviews {
  align-content: center;
}

@media (max-width: 980px) {
  .lana-product-hero,
  .lana-product-sensory,
  .lana-product-ingredient,
  .lana-ritual-steps,
  .lana-product-quote,
  .lana-product-reviews {
    min-height: auto;
  }

  .lana-gallery-main {
    min-height: 68svh;
  }

  .lana-product-sensory,
  .lana-product-ingredient {
    grid-template-rows: auto;
  }

  .lana-product-sensory__copy,
  .lana-product-ingredient__copy,
  .lana-product-sensory__image,
  .lana-product-ingredient__image,
  .lana-product-sensory__image img,
  .lana-product-ingredient__image img {
    min-height: 62svh;
  }
}

@media (max-width: 680px) {
  .lana-gallery-main {
    min-height: 58svh;
  }

  .lana-product-sensory__copy,
  .lana-product-ingredient__copy {
    min-height: auto;
  }

  .lana-product-sensory__image,
  .lana-product-ingredient__image,
  .lana-product-sensory__image img,
  .lana-product-ingredient__image img {
    min-height: 55svh;
  }
}
