/**
 * TUQANO — WooCommerce overrides
 * Loaded only when WC is active (see inc/setup.php)
 */

/* ── Layout ──────────────────────────────────────────────────────── */
.woocommerce-page .woocommerce,
.woocommerce .woocommerce-page {
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: var(--space-6);
}

/* Clear the fixed header on cart / checkout / account (default WC wrapper) */
.woocommerce-cart .container.section,
.woocommerce-checkout .container.section,
.woocommerce-account .container.section,
.single-product .container.section {
  padding-top: calc(var(--header-total) + var(--space-8));
}

/* ── Product grid (archive) ──────────────────────────────────────── */
.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--space-8);
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce ul.products li.product {
  margin: 0;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

/* ── Product card titles/prices ──────────────────────────────────── */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  color: var(--color-black);
  margin: var(--space-3) 0 var(--space-1);
}

.woocommerce ul.products li.product .price {
  font-size: var(--text-base);
  color: var(--color-green);
  font-weight: 600;
}

.woocommerce ul.products li.product .price del {
  color: rgba(26,26,26,0.35);
  font-weight: 400;
}

/* ── Buttons ─────────────────────────────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--space-6);
  background: var(--color-green);
  color: var(--color-cream);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
  text-decoration: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--color-gold);
  color: var(--color-black);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--color-gold);
  color: var(--color-black);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--color-green);
  color: var(--color-cream);
}

/* ── Single product ──────────────────────────────────────────────── */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-16);
  align-items: start;
  padding: var(--space-16) 0;
}

@media (max-width: 768px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }
}

.woocommerce div.product div.images img {
  width: 100%;
  border-radius: var(--radius-sm);
}

.woocommerce div.product .product_title {
  font-family: var(--font-serif);
  font-size: var(--text-4xl);
  color: var(--color-black);
  margin-bottom: var(--space-4);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: var(--text-2xl);
  color: var(--color-green);
  font-weight: 700;
  margin-bottom: var(--space-6);
}

.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: var(--text-base);
  line-height: 1.8;
  color: rgba(26,26,26,0.7);
  margin-bottom: var(--space-8);
}

/* ── Quantity input ──────────────────────────────────────────────── */
.woocommerce .quantity .qty {
  width: 64px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid rgba(33,58,46,0.3);
  font-size: var(--text-base);
  text-align: center;
  background: transparent;
  color: var(--color-black);
  border-radius: 0;
}

/* ── Cart ────────────────────────────────────────────────────────── */
.woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart table.cart th {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(26,26,26,0.5);
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid rgba(26,26,26,0.1);
}

.woocommerce-cart table.cart td {
  padding: var(--space-4);
  border-bottom: 1px solid rgba(26,26,26,0.07);
  vertical-align: middle;
}

.woocommerce-cart table.cart td.product-name a {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  color: var(--color-black);
  text-decoration: none;
}

.woocommerce-cart .cart-collaterals {
  margin-top: var(--space-12);
}

.woocommerce-cart .cart_totals h2 {
  font-size: var(--text-2xl);
  margin-bottom: var(--space-6);
}

.woocommerce-cart .cart_totals table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid rgba(26,26,26,0.07);
  text-align: left;
}

/* ── Checkout ────────────────────────────────────────────────────── */
.woocommerce-checkout #order_review_heading {
  font-size: var(--text-2xl);
}

.woocommerce form .form-row label {
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(26,26,26,0.65);
  margin-bottom: var(--space-1);
  display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: 1px solid rgba(33,58,46,0.3);
  background: transparent;
  font-size: var(--text-base);
  color: var(--color-black);
  border-radius: 0;
  outline: none;
  transition: border-color var(--transition-base);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--color-green);
}

/* ── Order review table ──────────────────────────────────────────── */
.woocommerce-checkout #order_review table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-checkout #order_review table th,
.woocommerce-checkout #order_review table td {
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid rgba(26,26,26,0.07);
}

.woocommerce-checkout #order_review tfoot tr td,
.woocommerce-checkout #order_review tfoot tr th {
  font-weight: 600;
}

/* ── Notices ─────────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  padding: var(--space-4) var(--space-6);
  margin-bottom: var(--space-6);
  border-left: 3px solid var(--color-green);
  background: rgba(33,58,46,0.05);
  font-size: var(--text-sm);
  list-style: none;
}

.woocommerce-error {
  border-color: #c0392b;
  background: rgba(192,57,43,0.05);
}

/* ── Rating stars ────────────────────────────────────────────────── */
.woocommerce .star-rating {
  color: var(--color-gold);
}

/* ── Breadcrumb ──────────────────────────────────────────────────── */
.woocommerce-breadcrumb {
  font-size: var(--text-sm);
  color: rgba(26,26,26,0.45);
  margin-bottom: var(--space-8);
  font-family: var(--font-sans);
  letter-spacing: 0.04em;
}

.woocommerce-breadcrumb a {
  color: rgba(26,26,26,0.45);
  text-decoration: none;
}

.woocommerce-breadcrumb a:hover {
  color: var(--color-green);
}

/* ── Pagination ──────────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul {
  display: flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0;
  margin: var(--space-12) 0 0;
  justify-content: center;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: block;
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  border: 1px solid rgba(33,58,46,0.2);
  color: var(--color-black);
  text-decoration: none;
  transition: all var(--transition-base);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-green);
  color: var(--color-cream);
  border-color: var(--color-green);
}

/* ── Product tabs ────────────────────────────────────────────────── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: var(--space-12) 0 0;
  border-bottom: 1px solid rgba(26,26,26,0.1);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: var(--space-3) var(--space-6);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(26,26,26,0.45);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all var(--transition-base);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--color-green);
  border-bottom-color: var(--color-green);
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding: var(--space-8) 0;
  line-height: 1.8;
  color: rgba(26,26,26,0.7);
}

/* ── Related products ────────────────────────────────────────────── */
.related.products {
  margin-top: var(--space-16);
  border-top: 1px solid rgba(26,26,26,0.08);
  padding-top: var(--space-12);
}

.related.products h2 {
  font-family: var(--font-serif);
  font-size: var(--text-3xl);
  margin-bottom: var(--space-8);
}

/* ── Account pages ───────────────────────────────────────────────── */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 240px;
}

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

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  color: rgba(26,26,26,0.6);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all var(--transition-base);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--color-green);
  border-color: var(--color-green);
  background: rgba(33,58,46,0.04);
}

/* ── Empty cart ──────────────────────────────────────────────────── */
.woocommerce-cart .cart-empty {
  text-align: center;
  padding: var(--space-16) 0;
  font-family: var(--font-serif);
  font-size: var(--text-2xl);
  color: rgba(26,26,26,0.4);
}


/* ==================================================================
   C23-INSPIRED SHOP (custom archive-product.php / content-product.php)
   ================================================================== */
.shop { background: var(--color-bg); }

.shop-hero {
  text-align: left;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: calc(var(--header-total) + var(--space-12)) var(--space-8) var(--space-10);
}
.shop-hero__eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: var(--space-4);
}
.shop-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(2.75rem, 7vw, 6rem);
  font-style: italic;
  font-weight: 500;
  line-height: 0.95;
  color: var(--color-text);
  margin: 0;
}
.shop-hero__sub {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  margin: var(--space-5) 0 0;
  max-width: 460px;
}

/* Toolbar: count + sort */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-6);
  border-top: 1px solid rgba(33,58,46,0.08);
  flex-wrap: wrap;
  gap: var(--space-4);
}
.shop-toolbar__count {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0;
}
.shop-toolbar__sort .woocommerce-ordering { margin: 0; }
.shop-toolbar__sort select,
.woocommerce-ordering select {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: 0.08em;
  color: var(--color-text);
  background: transparent;
  border: 1px solid rgba(33,58,46,0.25);
  border-radius: var(--radius);
  padding: var(--space-3) var(--space-8) var(--space-3) var(--space-4);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23213A2E' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-3) center;
}

/* Product grid */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-10) var(--space-8);
  padding-block: var(--space-8) var(--space-16);
}
@media (max-width: 1000px) { .shop-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .shop-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-8) var(--space-5); } }

/* Product card */
.product-card {
  display: block;
  text-decoration: none;
  color: var(--color-text);
}
.product-card__media {
  position: relative;
  aspect-ratio: 4/5;
  background: var(--color-bg-alt);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-5);
  transition: background var(--transition-base);
}
.product-card[data-variety="acai"]    .product-card__media { background: #F5ECF2; }
.product-card[data-variety="cupuacu"] .product-card__media { background: #F5EEE5; }
.product-card[data-variety="mango"]   .product-card__media { background: #F5F0E0; }
.product-card[data-variety="ananas"]  .product-card__media { background: #F5F2DC; }

.product-card__img {
  width: auto;
  height: 86%;
  max-width: 78%;
  object-fit: contain;
  filter: drop-shadow(var(--shadow-bottle));
  transition: transform var(--transition-slow);
}
.product-card:hover .product-card__img { transform: translateY(-8px) scale(1.03); }

.product-card__badge {
  position: absolute;
  top: var(--space-4); left: var(--space-4);
  background: var(--color-text);
  color: var(--color-bg);
  font-family: var(--font-sans);
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 100px;
}
.product-card__name {
  font-family: var(--font-serif);
  font-size: var(--text-xl);
  font-weight: 500;
  font-style: italic;
  color: var(--color-text);
  margin: 0 0 var(--space-2);
  line-height: 1.2;
}
.product-card__price {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.product-card__price .amount { color: var(--color-text); }
.product-card__price del { opacity: 0.4; margin-right: 6px; }
.product-card__price ins { text-decoration: none; color: var(--color-gold-dark, var(--color-gold)); }

/* Pagination + empty */
.shop-pagination { padding-bottom: var(--space-20); text-align: center; }
.shop-pagination .page-numbers {
  display: inline-flex;
  gap: var(--space-2);
  list-style: none;
  padding: 0; margin: 0;
}
.shop-pagination .page-numbers li a,
.shop-pagination .page-numbers li span {
  display: flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px;
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--color-text);
  text-decoration: none;
  border: 1px solid rgba(33,58,46,0.18);
  border-radius: var(--radius);
}
.shop-pagination .page-numbers li span.current {
  background: var(--color-text);
  color: var(--color-bg);
  border-color: var(--color-text);
}
.shop-empty {
  padding: var(--space-20) var(--space-8);
  text-align: center;
  font-family: var(--font-serif);
  font-style: italic;
  font-size: var(--text-2xl);
  color: var(--color-text-muted);
}


/* ==================================================================
   C23-INSPIRED SINGLE PRODUCT (content-single-product.php)
   ================================================================== */
.tq-product { background: var(--color-bg); }

.tq-product__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: var(--space-16);
  align-items: start;
  padding-top: calc(var(--header-total) + var(--space-12));
  padding-bottom: var(--space-16);
}

/* Gallery */
.tq-product__gallery {
  position: sticky;
  top: calc(var(--header-total) + var(--space-6));
  background: var(--color-bg-alt);
  border-radius: var(--radius-lg);
  aspect-ratio: 4/5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.tq-product[data-variety="acai"]    .tq-product__gallery { background: #F5ECF2; }
.tq-product[data-variety="cupuacu"] .tq-product__gallery { background: #F5EEE5; }
.tq-product[data-variety="mango"]   .tq-product__gallery { background: #F5F0E0; }
.tq-product[data-variety="ananas"]  .tq-product__gallery { background: #F5F2DC; }
.tq-product__img {
  width: auto;
  height: 88%;
  max-width: 72%;
  object-fit: contain;
  filter: drop-shadow(var(--shadow-bottle));
}

/* Summary */
.tq-product__summary { padding-top: var(--space-4); }
.tq-product__eyebrow {
  display: block;
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: var(--space-5);
}
.tq-product__title {
  font-family: var(--font-serif);
  font-size: var(--text-display);
  font-style: italic;
  font-weight: 500;
  line-height: 0.95;
  color: var(--color-text);
  margin: 0 0 var(--space-5);
}
.tq-product__subtitle {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--color-text-muted);
  margin-bottom: var(--space-6);
}
.tq-product__price {
  font-family: var(--font-serif);
  font-size: var(--text-3xl);
  font-style: italic;
  color: var(--color-text);
  margin-bottom: var(--space-5);
}
.tq-product__price del { opacity: 0.4; margin-right: 10px; }
.tq-product__price ins { text-decoration: none; color: var(--color-gold); }

.tq-product__sep {
  width: 100%;
  height: 1px;
  background: rgba(33,58,46,0.1);
  margin: var(--space-8) 0;
}
.tq-product__desc {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.85;
  color: var(--color-text-muted);
  margin-bottom: var(--space-8);
}
.tq-product__desc p { margin-bottom: var(--space-4); }

/* Add-to-cart form */
.tq-product__cart form.cart {
  display: flex;
  gap: var(--space-4);
  align-items: stretch;
  margin-bottom: var(--space-8);
  flex-wrap: wrap;
}
.tq-product__cart .quantity {
  display: flex;
  align-items: center;
  border: 1px solid rgba(33,58,46,0.25);
  border-radius: var(--radius);
}
.tq-product__cart .quantity .qty {
  width: 64px;
  height: 100%;
  min-height: 54px;
  border: none;
  background: transparent;
  text-align: center;
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-text);
  -moz-appearance: textfield;
}
.tq-product__cart .single_add_to_cart_button {
  flex: 1;
  min-width: 220px;
  min-height: 54px;
  background: var(--color-text);
  color: var(--color-bg);
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--radius);
  cursor: pointer;
  transition: background var(--transition-base), color var(--transition-base);
}
.tq-product__cart .single_add_to_cart_button:hover {
  background: var(--color-gold);
  color: var(--color-text);
}

/* Meta */
.tq-product__meta {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
}
.tq-product__meta a { color: var(--color-text-muted); text-decoration: underline; text-underline-offset: 2px; }

/* Star rating */
.tq-product__summary .woocommerce-product-rating { margin-bottom: var(--space-4); }

@media (max-width: 900px) {
  .tq-product__grid { grid-template-columns: 1fr; gap: var(--space-10); }
  .tq-product__gallery { position: static; aspect-ratio: 3/4; }
}
