/* ================================================================
   AlphaCamp — Custom Theme Override
   Target: WordPress Twenty Twenty-Five + WooCommerce
   ================================================================ */

:root {
  --ac-black:  #1d1d1f;
  --ac-white:  #ffffff;
  --ac-green:  #4a5240;
  --ac-grey:   #f5f5f7;
  --ac-border: #e5e5ea;
  --ac-muted:  #6e6e73;
}

/* ── Reset ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body {
  font-family: -apple-system, "Inter", BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  background: #fff !important;
  color: var(--ac-black) !important;
  margin: 0 !important;
}

/* ── Header / Nav ────────────────────────────────────────────── */
.wp-block-template-part[class*="header"],
header.wp-block-template-part,
.site-header,
header {
  background: rgba(255,255,255,0.94) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--ac-border) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* ================================================================
   HERO
   ================================================================ */
.ac-hero {
  background: var(--ac-black) !important;
  color: #fff !important;
  padding: 100px 40px 80px !important;
  text-align: center !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}
.ac-hero h1 {
  font-size: clamp(2.2rem, 6vw, 4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: #fff !important;
  margin: 0 0 16px !important;
  line-height: 1.1 !important;
}
.ac-hero p {
  font-size: 1.25rem !important;
  color: #a1a1a6 !important;
  margin: 0 0 36px !important;
}
.ac-hero-btn {
  display: inline-block !important;
  background: var(--ac-green) !important;
  color: #fff !important;
  padding: 16px 44px !important;
  border-radius: 14px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.15s !important;
  border: none !important;
}
.ac-hero-btn:hover {
  background: #3a4030 !important;
  transform: scale(1.03) !important;
  color: #fff !important;
}

/* ================================================================
   STICKY CATEGORY NAV BAR
   ================================================================ */
.ac-cat-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  background: var(--ac-black) !important;
  padding: 14px 40px !important;
  position: sticky !important;
  top: 72px !important;
  z-index: 90 !important;
  justify-content: center !important;
  width: 100vw !important;
  position: sticky !important;
  left: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}
.ac-cat-nav a {
  color: #f5f5f7 !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 9px 20px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  text-decoration: none !important;
  transition: background 0.2s, border-color 0.2s !important;
  white-space: nowrap !important;
}
.ac-cat-nav a:hover {
  background: var(--ac-green) !important;
  border-color: var(--ac-green) !important;
  color: #fff !important;
}

/* ================================================================
   CATEGORY SECTIONS
   ================================================================ */
.ac-home { display: block !important; width: 100% !important; }

.ac-cat-section {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 60px 32px 32px !important;
  border-bottom: 1px solid #f0f0f5 !important;
}
.ac-cat-section:last-child { border-bottom: none !important; }

.ac-cat-section-header {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  margin-bottom: 24px !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.ac-cat-section-header h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  margin: 0 !important;
  color: var(--ac-black) !important;
  line-height: 1.15 !important;
}
.ac-cat-view-all {
  font-size: 0.92rem !important;
  font-weight: 600 !important;
  color: var(--ac-green) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.ac-cat-view-all:hover { text-decoration: underline !important; }

/* ── Sub-category pill cards ─────────────────────────────────── */
.ac-sub-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-bottom: 32px !important;
}
.ac-sub-card {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: var(--ac-grey) !important;
  border: 1px solid var(--ac-border) !important;
  border-radius: 40px !important;
  padding: 10px 20px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  color: var(--ac-black) !important;
  text-decoration: none !important;
  transition: background 0.18s, box-shadow 0.18s, transform 0.15s !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}
.ac-sub-card:hover {
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(0,0,0,0.11) !important;
  transform: translateY(-2px) !important;
  color: var(--ac-green) !important;
  border-color: var(--ac-green) !important;
}
.ac-sub-icon {
  font-size: 1.1rem !important;
  line-height: 1 !important;
}

/* ================================================================
   PRODUCT GRID  (WooCommerce [products] shortcode)
   ================================================================ */
.woocommerce ul.products,
.wc-block-grid__products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.woocommerce ul.products li.product,
.wc-block-grid__product,
ul.products li.product {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid var(--ac-border) !important;
  transition: box-shadow 0.25s, transform 0.25s !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover,
ul.products li.product:hover {
  box-shadow: 0 8px 36px rgba(0,0,0,0.13) !important;
  transform: translateY(-5px) !important;
}

/* Product image */
.woocommerce ul.products li.product a img,
ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: var(--ac-black) !important;
  padding: 14px 16px 6px !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  flex: 1 !important;
}

/* Price */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
  color: var(--ac-green) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  padding: 0 16px 10px !important;
  display: block !important;
  margin: 0 !important;
}

/* Add to cart button */
.woocommerce ul.products li.product .button,
ul.products li.product .button {
  margin: 0 16px 16px !important;
  width: calc(100% - 32px) !important;
  display: block !important;
  text-align: center !important;
  background: var(--ac-black) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 11px 16px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  border: none !important;
  transition: background 0.2s !important;
  text-decoration: none !important;
}
.woocommerce ul.products li.product .button:hover,
ul.products li.product .button:hover {
  background: var(--ac-green) !important;
  color: #fff !important;
}

/* ================================================================
   GLOBAL BUTTONS
   ================================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: var(--ac-black) !important;
  color: #fff !important;
  border-radius: 10px !important;
  padding: 13px 28px !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  border: none !important;
  transition: background 0.2s, transform 0.1s !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--ac-green) !important;
  color: #fff !important;
  transform: scale(1.02) !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
  background: var(--ac-green) !important;
}

/* ================================================================
   SINGLE PRODUCT
   ================================================================ */
.woocommerce div.product .product_title {
  font-size: clamp(1.5rem, 3vw, 2.2rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
  color: var(--ac-black) !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--ac-green) !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
}

/* ================================================================
   BREADCRUMBS
   ================================================================ */
.woocommerce .woocommerce-breadcrumb {
  color: var(--ac-muted) !important;
  font-size: 0.85rem !important;
  padding: 14px 0 !important;
  margin: 0 !important;
}

/* ================================================================
   CATEGORY PAGE HEADER
   ================================================================ */
.woocommerce .woocommerce-products-header {
  background: var(--ac-grey) !important;
  padding: 36px 40px !important;
  border-radius: 16px !important;
  margin-bottom: 32px !important;
}
.woocommerce .woocommerce-products-header__title {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: var(--ac-black) !important;
}

/* ================================================================
   CART (Kosár)
   ================================================================ */
.ac-page-wrapper { max-width: 1100px !important; margin: 0 auto !important; padding: 48px 24px 80px !important; }
.ac-page-header { text-align: center !important; margin-bottom: 48px !important; }
.ac-page-header h1 { font-size: clamp(1.8rem, 4vw, 2.8rem) !important; font-weight: 800 !important; letter-spacing: -0.02em !important; margin: 0 0 10px !important; }
.ac-page-header p { font-size: 1.05rem !important; color: var(--ac-muted) !important; margin: 0 !important; }
.ac-cart-container { max-width: 960px !important; margin: 0 auto !important; }

.woocommerce table.shop_table { border-collapse: collapse !important; width: 100% !important; border: 1px solid var(--ac-border) !important; border-radius: 16px !important; overflow: hidden !important; }
.woocommerce table.shop_table thead th { background: var(--ac-grey) !important; font-weight: 700 !important; font-size: 0.82rem !important; letter-spacing: 0.05em !important; text-transform: uppercase !important; padding: 14px 20px !important; border: none !important; }
.woocommerce table.shop_table tbody td { padding: 20px !important; border-bottom: 1px solid #f0f0f5 !important; vertical-align: middle !important; }
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th { padding: 14px 20px !important; border-top: 1px solid var(--ac-border) !important; font-weight: 700 !important; }

.woocommerce-cart table.cart td.product-thumbnail img { border-radius: 10px !important; width: 72px !important; height: 72px !important; object-fit: cover !important; border: 1px solid var(--ac-border) !important; }
.woocommerce .quantity .qty { border: 1px solid var(--ac-border) !important; border-radius: 8px !important; padding: 8px 12px !important; font-size: 1rem !important; width: 64px !important; text-align: center !important; }
.woocommerce-cart table.cart td.product-remove a.remove { color: var(--ac-muted) !important; font-size: 1.3rem !important; }
.woocommerce-cart table.cart td.product-remove a.remove:hover { color: #ff3b30 !important; background: transparent !important; }

.woocommerce .cart_totals { background: var(--ac-grey) !important; border-radius: 16px !important; padding: 32px !important; border: 1px solid var(--ac-border) !important; }
.woocommerce .cart_totals h2 { font-size: 1.3rem !important; font-weight: 700 !important; margin: 0 0 20px !important; }
.woocommerce .cart_totals table th,
.woocommerce .cart_totals table td { padding: 12px 0 !important; border-bottom: 1px solid var(--ac-border) !important; }
.woocommerce .cart_totals table .order-total td { color: var(--ac-green) !important; font-size: 1.3rem !important; font-weight: 800 !important; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { display: block !important; width: 100% !important; text-align: center !important; padding: 16px !important; border-radius: 12px !important; font-size: 1.05rem !important; font-weight: 700 !important; margin-top: 20px !important; }

/* ================================================================
   CHECKOUT (Pénztár)
   ================================================================ */
.ac-checkout-container { max-width: 1000px !important; margin: 0 auto !important; }

.woocommerce .woocommerce-billing-fields,
.woocommerce .woocommerce-shipping-fields { background: #fff !important; border: 1px solid var(--ac-border) !important; border-radius: 16px !important; padding: 32px !important; margin-bottom: 24px !important; }
.woocommerce .woocommerce-billing-fields h3,
.woocommerce .woocommerce-shipping-fields h3 { font-size: 1.1rem !important; font-weight: 700 !important; margin: 0 0 24px !important; padding-bottom: 12px !important; border-bottom: 2px solid #f0f0f5 !important; }

.woocommerce form .form-row { margin-bottom: 16px !important; }
.woocommerce form .form-row label { font-size: 0.875rem !important; font-weight: 600 !important; display: block !important; margin-bottom: 6px !important; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea { border: 1px solid var(--ac-border) !important; border-radius: 10px !important; padding: 12px 14px !important; font-size: 1rem !important; width: 100% !important; background: #fff !important; color: var(--ac-black) !important; transition: border-color 0.2s, box-shadow 0.2s !important; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus { outline: none !important; border-color: var(--ac-green) !important; box-shadow: 0 0 0 3px rgba(74,82,64,0.12) !important; }

.woocommerce-checkout-review-order { background: var(--ac-grey) !important; border-radius: 16px !important; padding: 32px !important; border: 1px solid var(--ac-border) !important; }
#payment { background: #fff !important; border: 1px solid var(--ac-border) !important; border-radius: 16px !important; padding: 28px !important; margin-top: 24px !important; }
#payment #place_order { width: 100% !important; padding: 18px !important; font-size: 1.1rem !important; font-weight: 700 !important; border-radius: 14px !important; }

/* ================================================================
   NOTICES
   ================================================================ */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info { border-radius: 10px !important; padding: 14px 18px !important; font-size: 0.95rem !important; margin-bottom: 20px !important; list-style: none !important; }
.woocommerce-error { background: #fff2f2 !important; border-left: 4px solid #ff3b30 !important; }
.woocommerce-message { background: #f0faf4 !important; border-left: 4px solid #34c759 !important; }
.woocommerce-info { background: #f0f4ff !important; border-left: 4px solid #007aff !important; }

/* ================================================================
   FOOTER
   ================================================================ */
.site-footer, footer {
  background: var(--ac-black) !important;
  color: #a1a1a6 !important;
  padding: 48px 40px !important;
  margin-top: 60px !important;
}
.site-footer a, footer a { color: #f5f5f7 !important; }

/* ================================================================
   RESPONSIVE
   ================================================================ */
@media (max-width: 960px) {
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 700px) {
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .woocommerce ul.products li.product a img,
  ul.products li.product a img { height: 160px !important; }
  .ac-hero { padding: 60px 20px 48px !important; }
  .ac-cat-nav { padding: 10px 16px !important; top: 56px !important; }
  .ac-cat-nav a { font-size: 0.72rem !important; padding: 7px 12px !important; }
  .ac-cat-section { padding: 40px 16px 24px !important; }
  .ac-page-wrapper { padding: 32px 16px 60px !important; }
  .woocommerce .woocommerce-billing-fields,
  .woocommerce .woocommerce-shipping-fields { padding: 20px !important; }
  .woocommerce .cart_totals { padding: 20px !important; }
  #payment { padding: 18px !important; }
}
@media (max-width: 480px) {
  .woocommerce ul.products,
  ul.products { grid-template-columns: 1fr !important; }
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last { width: 100% !important; float: none !important; }
}
