/* ============================================
   Theme Page Styles - Single Product, Cart, Blog
   ============================================ */

/* Single Product Page */
.woocommerce div.product {
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.woocommerce div.product div.images {
  border-radius: 8px;
  overflow: hidden;
}
.woocommerce div.product .product_title {
  font-size: 24px;
  font-weight: 700;
  color: #222;
  margin-bottom: 10px;
}
.woocommerce div.product p.price {
  font-size: 22px;
  font-weight: 700;
  color: var(--rootcolor-danger);
  margin-bottom: 16px;
  ins { text-decoration: none; }
  del { color: #999; font-size: 16px; }
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 20px;
}
.woocommerce div.product form.cart {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  .qty {
    width: 60px;
    padding: 10px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 15px;
  }
  .single_add_to_cart_button {
    background: var(--rootcolor2);
    color: #fff;
    border: none;
    padding: 12px 30px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    transition: background 0.3s;
    &:hover { background: #e09520; }
  }
}
.woocommerce div.product .woocommerce-tabs {
  margin-top: 30px;
  ul.tabs {
    list-style: none;
    padding: 0;
    display: flex;
    gap: 0;
    border-bottom: 2px solid #eee;
    margin-bottom: 20px;
    li {
      a {
        display: block;
        padding: 10px 20px;
        font-weight: 600;
        font-size: 14px;
        color: #666;
        text-decoration: none;
        border-bottom: 2px solid transparent;
        margin-bottom: -2px;
        transition: all 0.2s;
        &:hover { color: var(--rootcolor1); }
      }
      &.active a {
        color: var(--rootcolor1);
        border-bottom-color: var(--rootcolor1);
      }
    }
  }
}

/* Category meta */
.woocommerce div.product_meta {
  font-size: 13px;
  color: #888;
  margin-top: 16px;
  a { color: var(--rootcolor1); }
}

/* Cart Page */
.woocommerce-cart table.shop_table {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #eee;
  th {
    background: var(--rootcolor3);
    color: #fff;
    font-weight: 600;
    padding: 12px 16px;
    font-size: 14px;
  }
  td {
    padding: 12px 16px;
    vertical-align: middle;
    font-size: 14px;
  }
  .product-thumbnail img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
  }
  .product-name a {
    color: #333;
    font-weight: 600;
    &:hover { color: var(--rootcolor1); }
  }
}
.woocommerce .cart-collaterals .cart_totals {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}
.woocommerce a.checkout-button {
  background: var(--rootcolor1) !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-weight: 700;
  &:hover { background: var(--rootcolor3) !important; }
}

/* Checkout */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label {
  font-weight: 600;
  font-size: 14px;
  color: #333;
}
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 10px 12px;
  font-size: 14px;
}
.woocommerce #place_order {
  background: var(--rootcolor1);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 14px 30px;
  font-weight: 700;
  font-size: 16px;
  cursor: pointer;
  &:hover { background: var(--rootcolor3); }
}

/* Blog / Archive styles */
.cat_list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
.cat_item {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid #eee;
  .cat_thumb {
    flex-shrink: 0;
    width: 200px;
    height: 130px;
    border-radius: 8px;
    overflow: hidden;
    img { width: 100%; height: 100%; object-fit: cover; }
  }
  .cat_content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .cat_title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px;
    a { color: #333; &:hover { color: var(--rootcolor1); text-decoration: none; } }
  }
  .cat_desc {
    font-size: 13px;
    color: #666;
    margin: 0 0 8px;
    line-height: 1.5;
  }
  .cat_meta {
    font-size: 12px;
    color: #999;
    span { margin-right: 12px; }
  }
  @media (max-width: 576px) {
    flex-direction: column;
    .cat_thumb { width: 100%; height: 180px; }
  }
}

/* Archive header */
.archive-header {
  margin-bottom: 20px;
  .entry-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--rootcolor3);
    margin: 0 0 8px;
  }
  .archive-description {
    font-size: 14px;
    color: #666;
  }
}