/* WooCommerce a BEE arculatban: csak felülírások, a WooCommerce saját elrendezése (woocommerce-layout) marad.
   Színek és betűk a bee.css változóiból jönnek, így az Akadémia-termékeknél (body.acad) automatikusan lila. */

.woocommerce, .woocommerce-page { --wc-red: #e0634f; --wc-green: var(--accent); --wc-highlight: var(--accent); }

/* ---------- oldalkeret ---------- */
.shop-page .woocommerce-breadcrumb { margin: 0 0 22px; }
.shop-page .woocommerce-products-header { margin-bottom: clamp(28px, 4vw, 48px); padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.shop-page .woocommerce-products-header__title,
.shop-page .product_title { font-size: clamp(36px, 5.6vw, 72px); line-height: .92; }
.woocommerce .term-description, .woocommerce-products-header .page-description { color: var(--bone-dim); margin-top: 16px; max-width: 66ch; }

/* ---------- értesítések ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.wc-block-components-notice-banner {
  background: var(--graphite) !important; color: var(--bone) !important;
  border: 1px solid var(--line) !important; border-left: 3px solid var(--accent) !important; border-radius: 0 !important;
  font-size: 15px;
}
.woocommerce-error { border-left-color: var(--wc-red) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--accent); }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

/* ---------- gombok ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wc-block-components-button:not(.is-link), .wp-element-button.wc-block-cart__submit-button {
  --c: 10px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--accent) !important; color: var(--accent-ink) !important;
  font: 700 14px/1 var(--f-display) !important; letter-spacing: .08em; text-transform: uppercase;
  padding: 15px 20px !important; border: 0 !important; border-radius: 0 !important;
  clip-path: polygon(var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%,0 var(--c));
  transition: background .25s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.wc-block-components-button:not(.is-link):hover { background: var(--accent-glow) !important; }
.woocommerce a.button:disabled, .woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .5; }
/* másodlagos gombok (kupon, kosár frissítése) */
.woocommerce .cart button[name="update_cart"], .woocommerce .coupon button.button {
  background: transparent !important; color: var(--bone) !important; box-shadow: inset 0 0 0 1.5px rgba(241,239,232,.6);
}
.woocommerce .cart button[name="update_cart"]:hover, .woocommerce .coupon button.button:hover { background: var(--bone) !important; color: var(--black) !important; }

/* ---------- űrlapmezők (pénztár, fiók, kupon) ---------- */
.woocommerce form .form-row label, .woocommerce-page form .form-row label,
.wc-block-components-text-input label, .wc-block-components-combobox label {
  font: 500 12px/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--smoke);
}
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce-page form .form-row .input-text,
.woocommerce .quantity .qty, .woocommerce .coupon .input-text, .select2-container--default .select2-selection--single,
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control input,
.wc-blocks-components-select select, .wc-block-components-textarea {
  background: var(--graphite) !important; border: 1px solid var(--line) !important; color: var(--bone) !important;
  border-radius: 0 !important; font: 400 16px/1.4 var(--f-body); padding: 12px 14px;
}
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus,
.wc-block-components-text-input input:focus {
  outline: none; border-color: var(--accent) !important; box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .18) !important;
}
.select2-container--default .select2-selection--single { height: auto; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--bone); line-height: 1.4; padding: 0; }
.select2-dropdown { background: var(--graphite); border-color: var(--line); color: var(--bone); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--accent); color: var(--accent-ink); }
.woocommerce form .form-row .required { color: var(--accent); text-decoration: none; }
.woocommerce .quantity .qty { width: 4.2em; text-align: center; padding: 12px 6px; }

/* ---------- termékrács ---------- */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
  width: auto !important; margin: 0 !important; float: none !important;
  border: 1px solid var(--line); background: var(--black); padding: 0 0 20px; display: grid; align-content: start;
  transition: border-color .25s ease, transform .25s ease;
}
.woocommerce ul.products li.product:hover { border-color: var(--accent); transform: translateY(-3px); }
.woocommerce ul.products li.product a img { margin: 0 0 18px; aspect-ratio: 1; object-fit: cover; background: var(--graphite); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font: 700 20px/1.1 var(--f-display); text-transform: uppercase; color: var(--bone); padding: 0 20px !important;
}
.woocommerce ul.products li.product .price { color: var(--accent) !important; font: 500 14px/1 var(--f-mono) !important; letter-spacing: .06em; padding: 0 20px; margin: 10px 0 16px !important; }
.woocommerce ul.products li.product .button { margin: 0 20px !important; justify-self: start; }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce span.onsale {
  background: var(--accent); color: var(--accent-ink); border-radius: 0; min-height: 0; min-width: 0; line-height: 1;
  padding: 8px 10px; font: 600 11px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; top: 12px; left: 12px; right: auto; margin: 0;
}
.woocommerce .woocommerce-result-count { color: var(--smoke); font: 500 12px/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; margin-top: 14px; }
.woocommerce .woocommerce-ordering select { background: var(--graphite); color: var(--bone); border: 1px solid var(--line); padding: 10px 12px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border: 1px solid var(--line); color: var(--bone); padding: 10px 14px; font: 500 13px/1 var(--f-mono); }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }

/* ---------- egy termék ---------- */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product div.images { position: relative; }
.woocommerce div.product div.images::before, .woocommerce div.product div.images::after {
  content: ""; position: absolute; width: 18px; height: 18px; border: 2px solid var(--accent); z-index: 3; pointer-events: none;
}
.woocommerce div.product div.images::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.woocommerce div.product div.images::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.woocommerce div.product div.images img { background: var(--graphite); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--accent); font: 600 26px/1 var(--f-display); margin: 18px 0 22px; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--bone-dim); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 26px 0; }
.woocommerce div.product form.cart div.quantity { margin: 0; }
.woocommerce div.product form.cart .variations { margin-bottom: 8px; width: 100%; }
.woocommerce div.product form.cart .variations th { font: 500 12px/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--smoke); text-align: left; padding: 8px 12px 8px 0; }
.woocommerce div.product form.cart .variations select { background: var(--graphite); color: var(--bone); border: 1px solid var(--line); padding: 12px 14px; min-width: 220px; }
.woocommerce div.product form.cart .reset_variations { color: var(--smoke); font-size: 13px; margin-left: 8px; }
/* egyedi mezőfelirat (név, mezszám) – a bővítmények saját inputjai is ide esnek */
.woocommerce div.product form.cart input[type="text"], .woocommerce div.product form.cart input[type="number"], .woocommerce div.product form.cart textarea {
  background: var(--graphite); color: var(--bone); border: 1px solid var(--line); padding: 12px 14px; border-radius: 0;
}
.woocommerce div.product .product_meta { border-top: 1px solid var(--line); padding-top: 18px; font: 500 12px/1.8 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--smoke); }
.woocommerce div.product .product_meta a { color: var(--bone-dim); }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; display: flex; gap: 6px; border-bottom: 1px solid var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font: 600 14px/1 var(--f-display); letter-spacing: .08em; text-transform: uppercase; color: var(--smoke); padding: 14px 16px; display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bone); box-shadow: inset 0 -2px 0 var(--accent); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--bone-dim); max-width: 820px; }
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 24px; margin-bottom: 16px; color: var(--bone); }
.woocommerce .related > h2, .woocommerce .upsells > h2, .cross-sells > h2 { font-size: clamp(28px, 3.4vw, 44px); margin: clamp(56px, 7vw, 90px) 0 24px; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--line); background: transparent !important; color: var(--bone-dim); padding: 10px 12px; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--line); border-radius: 0; }
.woocommerce .star-rating span, .woocommerce p.stars a { color: var(--accent); }

/* ---------- kosár (shortcode) ---------- */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: 0; border-collapse: collapse; background: var(--black); }
.woocommerce table.shop_table th { font: 500 12px/1.3 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--smoke); background: var(--graphite); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--line) !important; padding: 14px 16px; }
.woocommerce table.shop_table td.product-name a { color: var(--bone); font: 600 17px/1.2 var(--f-display); text-transform: uppercase; text-decoration: none; }
.woocommerce table.shop_table img { width: 72px; background: var(--graphite); }
.woocommerce a.remove { color: var(--smoke) !important; border-radius: 0; }
.woocommerce a.remove:hover { background: var(--wc-red); color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout h3, #order_review_heading { font-size: clamp(22px, 2.4vw, 30px); margin-bottom: 16px; }
.woocommerce .cart-collaterals .cart_totals table { border: 1px solid var(--line); }
.woocommerce .cart-collaterals .cart_totals .order-total .amount, .woocommerce-checkout-review-order-table .order-total .amount { color: var(--accent); font: 700 22px/1 var(--f-display); }
.woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; font-size: 16px !important; padding: 20px !important; }
.woocommerce .coupon { display: flex; gap: 8px; }
.woocommerce .coupon .input-text { width: 180px !important; }

/* ---------- pénztár ---------- */
.woocommerce-checkout #customer_details { margin-bottom: 28px; }
.woocommerce-checkout #payment { background: var(--graphite); border-radius: 0; border: 1px solid var(--line); }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--line); }
.woocommerce-checkout #payment div.payment_box { background: var(--black); color: var(--bone-dim); border-radius: 0; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--black); }
.woocommerce-checkout #payment .place-order { padding: 20px !important; }
.woocommerce-checkout #payment #place_order { width: 100%; font-size: 16px !important; padding: 20px !important; }
.woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text { color: var(--smoke); font-size: 14px; }
.woocommerce-terms-and-conditions-wrapper a, .woocommerce-privacy-policy-text a { color: var(--accent); }
.woocommerce-order-overview { border: 1px solid var(--line); padding: 20px !important; display: flex; flex-wrap: wrap; gap: 20px; }
.woocommerce ul.order_details li { border-color: var(--line); color: var(--smoke); font: 500 12px/1.4 var(--f-mono); text-transform: uppercase; }
.woocommerce ul.order_details li strong { color: var(--bone); font: 600 17px/1.3 var(--f-display); text-transform: none; }

/* ---------- fiókom (tagság, rendelések) ---------- */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(24px, 4vw, 56px); }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { width: auto; float: none; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); }
.woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--line); }
.woocommerce-MyAccount-navigation a { display: block; padding: 14px 16px; text-decoration: none; font: 600 14px/1 var(--f-display); letter-spacing: .06em; text-transform: uppercase; color: var(--bone-dim); }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: var(--graphite); color: var(--bone); box-shadow: inset 3px 0 0 var(--accent); }
.woocommerce-MyAccount-content { color: var(--bone-dim); }
.woocommerce-MyAccount-content a { color: var(--accent); }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon, .woocommerce form.lost_reset_password {
  border: 1px solid var(--line) !important; border-radius: 0 !important; padding: clamp(20px, 3vw, 32px) !important; background: var(--black);
}
.woocommerce-account .woocommerce:has(> .u-columns) { display: block; }

/* ---------- kosár/pénztár blokkok (ha a WooCommerce blokkos kosarat használjuk) ---------- */
.wc-block-cart, .wc-block-checkout { color: var(--bone); }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-sidebar { color: var(--bone); }
.wc-block-components-totals-wrapper, .wc-block-components-order-summary, .wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th { border-color: var(--line) !important; }
.wc-block-components-product-name { color: var(--bone) !important; font-family: var(--f-display); text-transform: uppercase; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--accent); }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--line) !important; }
.wc-block-components-title.wc-block-components-title { font-family: var(--f-display); text-transform: uppercase; }

/* ---------- reszponzív ---------- */
@media (max-width: 960px) {
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
  .woocommerce-account .woocommerce { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
  .woocommerce .coupon { flex-wrap: wrap; }
  .woocommerce .coupon .input-text { width: 100% !important; }
}
