.woocommerce-page main#cc-main { padding-top: var(--cc-space-md); }
.woocommerce-breadcrumb { max-width: var(--cc-max); margin: 0 auto var(--cc-space-md); padding: 0 20px; font-size: 0.85rem; opacity: 0.6; }
.woocommerce-breadcrumb a { text-decoration: underline; }

/* Shop archive intro banner (added via hook) */
.cc-shop-banner { text-align: center; padding: var(--cc-space-lg) 20px var(--cc-space-md); }
.cc-shop-banner h1 { margin-bottom: 6px; }

.woocommerce ul.products { max-width: var(--cc-max); margin: 0 auto; padding: 0 20px var(--cc-space-xl); }
.woocommerce nav.woocommerce-pagination { text-align: center; margin-bottom: var(--cc-space-xl); }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: 6px; list-style: none; padding: 0; border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination a, .woocommerce nav.woocommerce-pagination span { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--cc-surface); box-shadow: var(--cc-shadow); font-family: 'Fredoka', sans-serif; font-weight: 600; }
.woocommerce nav.woocommerce-pagination .current { background: var(--cc-accent); }

.woocommerce-ordering select, .woocommerce-widget-layered-nav select { border-radius: var(--cc-radius-pill); border: 2px solid rgba(43,42,74,0.12); padding: 8px 16px; font-family: 'Nunito', sans-serif; }
.woocommerce .woocommerce-result-count { opacity: 0.65; }
.woocommerce-result-count, .woocommerce-ordering { max-width: var(--cc-max); margin: 0 auto; padding: 0 20px; }

/* Single product */
.single-product #cc-main { max-width: var(--cc-max); margin: 0 auto; padding: var(--cc-space-lg) 20px var(--cc-space-xl); }
.woocommerce div.product { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cc-space-lg); }
.woocommerce div.product .woocommerce-product-gallery { border-radius: var(--cc-radius-md); overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--cc-radius-md); }
.woocommerce div.product .product_title { margin-bottom: 8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 1.4rem; color: var(--cc-ink); }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 16px; }
.woocommerce div.product form.cart { margin-top: var(--cc-space-md); display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.woocommerce div.product form.cart .quantity input { width: 64px; border-radius: var(--cc-radius-sm); border: 2px solid rgba(43,42,74,0.12); padding: 10px; text-align: center; }
.woocommerce div.product form.cart button.single_add_to_cart_button {
  background: var(--cc-accent) !important; color: var(--cc-ink) !important; border-radius: var(--cc-radius-pill) !important;
  padding: 14px 32px !important; font-family: 'Fredoka', sans-serif !important; font-weight: 600 !important; border: none !important; font-size: 1rem !important;
}
.woocommerce div.product .woocommerce-tabs { margin-top: var(--cc-space-lg); }
.woocommerce div.product .woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 10px; padding: 0; border-bottom: 2px solid rgba(43,42,74,0.08); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: none; margin: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-family: 'Fredoka', sans-serif; font-weight: 600; padding: 10px 16px; display: inline-block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { border-bottom: 3px solid var(--cc-accent); }
.related.products { max-width: var(--cc-max); margin: var(--cc-space-xl) auto 0; padding: 0 20px; }
.related.products > h2 { text-align: center; margin-bottom: var(--cc-space-lg); }

/* Cart */
.woocommerce-cart #cc-main, .woocommerce-checkout #cc-main, .woocommerce-account #cc-main { max-width: var(--cc-max); margin: 0 auto; padding: var(--cc-space-lg) 20px var(--cc-space-xl); }
.woocommerce table.shop_table { border: none; border-radius: var(--cc-radius-md); overflow: hidden; box-shadow: var(--cc-shadow); background: var(--cc-surface); border-collapse: collapse; width: 100%; }
.woocommerce table.shop_table th { background: rgba(192,178,217,0.18); font-family: 'Fredoka', sans-serif; font-weight: 600; padding: 14px; text-align: left; }
.woocommerce table.shop_table td { padding: 14px; border-top: 1px solid rgba(43,42,74,0.06); }
.woocommerce table.shop_table td.product-thumbnail img { border-radius: var(--cc-radius-sm); width: 64px; }
.woocommerce table.cart td.actions .coupon .input-text { border-radius: var(--cc-radius-pill); border: 2px solid rgba(43,42,74,0.12); padding: 10px 18px; }
.woocommerce #content table.cart td.actions .button, .woocommerce table.cart td.actions .button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--cc-accent); color: var(--cc-ink); border-radius: var(--cc-radius-pill); padding: 12px 26px;
  font-family: 'Fredoka', sans-serif; font-weight: 600; border: none !important;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit.alt { background: var(--cc-ink); color: #fff; }
.woocommerce a.remove { color: var(--cc-ink) !important; background: var(--cc-pink); border-radius: 50%; }
.cart_totals, .cross-sells { background: var(--cc-surface); border-radius: var(--cc-radius-md); box-shadow: var(--cc-shadow); padding: var(--cc-space-md); margin-top: var(--cc-space-md); }
.cart_totals h2 { margin-top: 0; }

/* Checkout */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--cc-space-lg); }
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-additional-fields { background: var(--cc-surface); border-radius: var(--cc-radius-md); box-shadow: var(--cc-shadow); padding: var(--cc-space-md); margin-bottom: var(--cc-space-md); }
.woocommerce-checkout #order_review { background: var(--cc-surface); border-radius: var(--cc-radius-md); box-shadow: var(--cc-shadow); padding: var(--cc-space-md); align-self: start; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce-checkout select {
  border-radius: var(--cc-radius-sm); border: 2px solid rgba(43,42,74,0.12); padding: 10px 14px; font-family: 'Nunito', sans-serif; width: 100%;
}
.woocommerce form .form-row label { font-weight: 700; font-size: 0.9rem; }
#payment { background: rgba(192,178,217,0.12); border-radius: var(--cc-radius-md); padding: var(--cc-space-md); margin-top: var(--cc-space-md); }
#payment ul.payment_methods { list-style: none; padding: 0; }
#place_order { width: 100%; padding: 16px !important; font-size: 1.05rem !important; }

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation { float: none; width: auto; margin-bottom: var(--cc-space-md); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: inline-block; padding: 10px 20px; border-radius: var(--cc-radius-pill); background: var(--cc-surface); box-shadow: var(--cc-shadow); font-family: 'Fredoka', sans-serif; font-weight: 600; font-size: 0.9rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--cc-accent); }
.woocommerce-account .woocommerce-MyAccount-content { background: var(--cc-surface); border-radius: var(--cc-radius-md); box-shadow: var(--cc-shadow); padding: var(--cc-space-lg); }
.woocommerce-MyAccount-content .woocommerce-Button { margin-top: 10px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  max-width: var(--cc-max); margin: var(--cc-space-md) auto; padding: 14px 20px; border-radius: var(--cc-radius-md);
  background: var(--cc-yellow); border: none; list-style: none; font-family: 'Nunito', sans-serif; font-weight: 700;
}
.woocommerce-error { background: var(--cc-pink); }
.woocommerce-message .button, .woocommerce-info .button { background: var(--cc-ink); color: #fff; }

@media (max-width: 860px) {
  .woocommerce div.product { grid-template-columns: 1fr; }
  .woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
}