/* ══════════════════════════════════════
   A Coffee Thing — WooCommerce Styles
   ══════════════════════════════════════ */

/* ── SHOP PAGE ── */
.woocommerce-page #primary,
.woocommerce #primary { max-width:1400px; margin:0 auto; padding:7rem 3rem 4rem; }

.woocommerce-products-header { text-align:center; margin-bottom:3rem; }
.woocommerce-products-header__title {
  font-family:'Black Han Sans',sans-serif;
  font-size:clamp(2.5rem,5vw,5rem); color:var(--white);
}

/* Override WooCommerce grid */
.woocommerce ul.products {
  display:grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap:2px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.woocommerce ul.products li.product {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
  transition: border-color .3s, transform .3s;
  overflow:hidden;
  float:none !important;
  width:auto !important;
  margin:0 !important;
}
.woocommerce ul.products li.product:hover {
  border-color: var(--lime);
  transform: translateY(-4px);
}
.woocommerce ul.products li.product a img {
  width:100%; object-fit:cover;
  transition:transform .5s;
}
.woocommerce ul.products li.product:hover a img { transform:scale(1.04); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family:'Black Han Sans',sans-serif;
  font-size:1.3rem; letter-spacing:.04em;
  color:var(--white); padding:.5rem 1.5rem 0;
}
.woocommerce ul.products li.product .price {
  font-family:'Syne',sans-serif; font-weight:800;
  color:var(--lime) !important; font-size:1.1rem;
  padding:0 1.5rem;
}
.woocommerce ul.products li.product .button {
  display:block; width:calc(100% - 3rem);
  margin:1rem 1.5rem;
  background:var(--lime) !important; color:var(--black) !important;
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.8rem; border:none; cursor:pointer;
  transition:background .2s, color .2s;
  text-align:center;
}
.woocommerce ul.products li.product:hover .button {
  background:var(--orange) !important; color:var(--white) !important;
}

/* ── SINGLE PRODUCT ── */
.woocommerce div.product {
  max-width:1200px; margin:7rem auto 4rem;
  padding:0 3rem;
  display:grid; grid-template-columns:1fr 1fr; gap:4rem;
  align-items:start;
}
.woocommerce div.product .woocommerce-product-gallery {
  position:sticky; top:6rem;
}
.woocommerce div.product .woocommerce-product-gallery img {
  background:var(--dark);
}
.woocommerce div.product .product_title {
  font-family:'Black Han Sans',sans-serif;
  font-size:clamp(2rem,4vw,3.5rem);
  letter-spacing:.04em; color:var(--white);
  margin-bottom:1rem;
}
.woocommerce div.product .price {
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:2rem; color:var(--lime) !important;
  margin-bottom:1.5rem; display:block;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size:1rem; line-height:1.8;
  color:rgba(245,240,232,.65); margin-bottom:2rem;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
  background:var(--lime) !important; color:var(--black) !important;
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  padding:1.1rem 2.4rem; border:none; cursor:pointer;
  transition:background .3s, color .3s;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background:var(--orange) !important; color:var(--white) !important;
}
.woocommerce div.product form.cart .quantity input {
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
  color:var(--white); font-size:1rem; padding:.5rem; width:70px;
  text-align:center;
}

/* ── TABS ── */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display:flex; gap:0; list-style:none; margin-bottom:0; padding:0;
  border-bottom:2px solid rgba(255,255,255,.08);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background:none; border:none; border-radius:0; margin:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family:'Syne',sans-serif; font-size:.75rem; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase;
  color:rgba(245,240,232,.4); padding:1rem 1.5rem; display:block;
  transition:color .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--lime); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
  content:''; display:block; height:2px; background:var(--lime); margin-top:-2px;
}
.woocommerce div.product .woocommerce-tabs .panel {
  padding:2rem 0; color:rgba(245,240,232,.7); line-height:1.8;
}

/* ── CART ── */
.woocommerce-cart #primary,
.woocommerce-checkout #primary { max-width:1100px; margin:7rem auto 4rem; padding:0 3rem; }

.woocommerce table.cart { width:100%; border-collapse:collapse; }
.woocommerce table.cart th {
  font-family:'Syne',sans-serif; font-size:.65rem; font-weight:800;
  letter-spacing:.2em; text-transform:uppercase;
  color:rgba(245,240,232,.4); padding:.75rem; border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
}
.woocommerce table.cart td { padding:1rem .75rem; border-bottom:1px solid rgba(255,255,255,.05); vertical-align:middle; }
.woocommerce table.cart td.product-name a { font-family:'Black Han Sans',sans-serif; font-size:1.1rem; color:var(--white); }
.woocommerce table.cart td.product-price .amount,
.woocommerce table.cart td.product-subtotal .amount { color:var(--lime); font-weight:700; }

.woocommerce .cart_totals { background:rgba(255,255,255,.04); padding:2rem; }
.woocommerce .cart_totals h2 {
  font-family:'Black Han Sans',sans-serif; font-size:1.5rem;
  color:var(--white); margin-bottom:1.5rem;
}
.woocommerce .cart_totals table { width:100%; }
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td { padding:.75rem 0; border-bottom:1px solid rgba(255,255,255,.06); }
.woocommerce .cart_totals .order-total .amount { color:var(--lime); font-size:1.3rem; font-weight:800; }

.woocommerce a.checkout-button,
.woocommerce #place_order {
  background:var(--lime) !important; color:var(--black) !important;
  font-family:'Syne',sans-serif; font-weight:800;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  padding:1.1rem 2.4rem; border:none; cursor:pointer; width:100%;
  display:block; text-align:center; margin-top:1rem;
  transition:background .3s, color .3s;
}
.woocommerce a.checkout-button:hover,
.woocommerce #place_order:hover {
  background:var(--orange) !important; color:var(--white) !important;
}

/* ── CHECKOUT FIELDS ── */
.woocommerce-checkout .woocommerce-input-wrapper input,
.woocommerce-checkout .woocommerce-input-wrapper select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select {
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:var(--white) !important;
  padding:.8rem 1rem; font-family:'DM Sans',sans-serif;
}
.woocommerce form .form-row label { color:rgba(245,240,232,.6); font-size:.8rem; }
.woocommerce-checkout h3 {
  font-family:'Black Han Sans',sans-serif;
  font-size:1.5rem; color:var(--white); margin-bottom:1.5rem;
}

/* ── NOTICES ── */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background:rgba(200,241,53,.1) !important;
  border-top-color:var(--lime) !important;
  color:var(--white) !important;
  padding:1rem 1.5rem; list-style:none;
}
.woocommerce-error { background:rgba(255,92,0,.1) !important; border-top-color:var(--orange) !important; }

/* ── RESPONSIVE ── */
@media (max-width:768px) {
  .woocommerce ul.products { grid-template-columns:1fr !important; }
  .woocommerce div.product { grid-template-columns:1fr; margin-top:5rem; padding:0 1.5rem; }
  .woocommerce div.product .woocommerce-product-gallery { position:static; }
}
