/*
Theme Name: Vibe Urban Theme
Template: astra
Author: Child Theme Configurator
Version: 1.0.1785764881
Updated: 2026-08-03 15:48:01

*/

/****************************************************************************************************************************************
 * Homepage kategórie list
****************************************************************************************************************************************/

#homepage_category_list li.product-category img {
	border-radius: 30px !important;
}

#homepage_category_list h2.woocommerce-loop-category__title {
	color: #f3d615 !important;
	background: transparent !important;
	bottom: 0 !important;
	z-index: 2;
}
#homepage_category_list h2.woocommerce-loop-category__title .count {
	display: none !important;
}

/* Čierny overlay pod názvom kategórie na homepage — ako na /shop/ */
#homepage_category_list li.product-category > a {
	position: relative;
	display: block;
}
#homepage_category_list li.product-category > a::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.85) 100%);
	border-radius: 30px;
	z-index: 1;
	pointer-events: none;
}

/* Desktop: 8 stĺpcov */
#homepage_category_list ul.products {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  gap: 14px !important;
  margin: 0 !important;
}
#homepage_category_list ul.products li.product-category {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

/* Tablet: 4 stĺpce */
@media (max-width: 1024px) {
  #homepage_category_list ul.products {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* Mobil: 2 stĺpce */
@media (max-width: 600px) {
  #homepage_category_list ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/****************************************************************************************************************************************
 * Podkategórie archív
****************************************************************************************************************************************/

.vibe-subcategories h2.woocommerce-loop-category__title {
	color: #f3d615;
	background: transparent !important;
	bottom: 0em !important;
}

.woocommerce ul.products li.product {
  background-color: #1f1f1f !important;
}

.ast-woocommerce-container {
	padding: 20px !important;
}

.astra-shop-summary-wrap {
	padding: 10px;
}

.vibe-subcategories h2.woocommerce-loop-category__title .count {
	display: none !important;
}

.vibe-subcategories { 
	margin: 12px 0 12px;
}

.vibe-subcategories ul.products {
  display: grid !important;
  grid-template-columns: repeat(8, 1fr) !important;
  gap: 14px !important;
  margin: 0 !important;
}

.vibe-subcategories li.product-category {
	border-radius: 30px;
}

.vibe-subcategories li.product-category  {
	margin-bottom: 12px !important;
}

.vibe-subcategories li.product-category img {
	border-radius: 30px !important;	
}

@media (max-width: 1024px) { .vibe-subcategories ul.products { grid-template-columns: repeat(4, 1fr) !important; } }
@media (max-width: 600px)  { .vibe-subcategories ul.products { grid-template-columns: repeat(2, 1fr) !important; } }

.vibe-subcategories li.product-category > a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.85) 100%);
  z-index: 1;
  pointer-events: none;
}

.vibe-subcategories h2.woocommerce-loop-category__title {
  z-index: 2;
}

.tax-product_cat .primary, .tax-product_cat .secondary {
	margin-top: 12px !important;
}

.tax-product_cat .ast-article-post
{
	background-color: #1f1f1f;
}

.tax-product_cat .ast-article-post .astra-shop-summary-wrap {
	padding: 10px;
}

.tax-product_cat .ast-article-post .astra-shop-summary-wrap .add_to_cart_button {
	padding: 10px;
	width: 100%;
	text-align: center;
}

/****************************************************************************************************************************************
 * Mega menu kategorie
****************************************************************************************************************************************/
.wpr-nav-menu .wpr-sub-menu {
  background-color: #0d0d0d !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.55) !important;
  border-radius: 8px !important;
  padding: 6px 0 !important;
  min-width: 220px !important;
}
.wpr-nav-menu .wpr-sub-menu li { border: 0 !important; }
.wpr-nav-menu .wpr-sub-menu li a {
  color: #fff !important;
  background: transparent !important;
  padding: 11px 20px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: 14px;
  border: 0 !important;
}
.wpr-nav-menu .wpr-sub-menu li a:hover,
.wpr-nav-menu .wpr-sub-menu li:hover > a {
  color: #f5d400 !important;                 /* brand žltá */
  background: rgba(255,255,255,.06) !important;
}

/****************************************************************************************************************************************
 * Pokladňa
****************************************************************************************************************************************/

.wpr-cart-section-wrap .coupon-col {
	padding: 12px 20px !important;
}

.woocommerce-cart .woocommerce-shipping-totals, .woocommerce-cart .cart-subtotal {
	display: none;
}

.woocommerce-cart .cart-collaterals .cart_totals>h2, .cart_totals th {
	margin: 0px !important;
    background-color: transparent !important;
    border: 0px;
    padding: 10px !important;
}

.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading { color:#fff !important; }
.woocommerce-checkout .form-row label,
.woocommerce-checkout form.checkout label { color:#d6d6d6 !important; font-weight:600 !important; margin-bottom:6px !important; }

.wpmc-tabs-list .wpmc-tab-number { background:#0d0d0d !important; color:#fff !important; border:2px solid rgba(255,255,255,.35) !important; }
.wpmc-tabs-list .wpmc-tab-text { color:#cfcfcf !important; }
.wpmc-tabs-list .wpmc-tab-item.current .wpmc-tab-number { background:#f5d400 !important; color:#0d0d0d !important; border-color:#f5d400 !important; box-shadow:0 0 0 6px rgba(245,212,0,.15) !important; }
.wpmc-tabs-list .wpmc-tab-item.current .wpmc-tab-text { color:#f5d400 !important; }

.elementor-element-674f7ee .wpr-customer-details-wrapper { display:block !important; }
.elementor-element-674f7ee .woocommerce-billing-fields,
.elementor-element-674f7ee .woocommerce-shipping-fields,
.elementor-element-674f7ee #customer_details { width:100% !important; max-width:100% !important; flex:1 1 100% !important; }

.woocommerce-billing-fields__field-wrapper { display:flex !important; flex-wrap:wrap !important; column-gap:10px !important; }
.woocommerce-billing-fields__field-wrapper .form-row { float:none !important; width:100% !important; margin:0 0 2px 0 !important; }
#billing_email_field      { order:1; width:49.5% !important; }
#billing_phone_field      { order:2; width:49.5% !important; }
#billing_first_name_field { order:3; width:49.5% !important; }
#billing_last_name_field  { order:4; width:49.5% !important; }
#billing_address_1_field  { order:5; width:100% !important; }
#billing_city_field       { order:6; width:49.5% !important; }
#billing_postcode_field   { order:7; width:49.5% !important; }
#billing_country_field    { order:8; width:100% !important; }
#billing_state_field      { display:none !important; }

.elementor-element-674f7ee .input-text,
.elementor-element-674f7ee input[type=text],
.elementor-element-674f7ee input[type=email],
.elementor-element-674f7ee input[type=tel],
.elementor-element-674f7ee input[type=number],
.elementor-element-674f7ee input[type=password],
.elementor-element-674f7ee textarea,
.elementor-element-674f7ee select {
  background-color:#17171a !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:8px !important;
  color:#fff !important;
  box-shadow:none !important;
  padding:12px 16px !important;
  height:auto !important;
  min-height:50px !important;
}
.elementor-element-674f7ee ::placeholder { color:#8a8a8a !important; }
.elementor-element-674f7ee .input-text:focus,
.elementor-element-674f7ee select:focus,
.elementor-element-674f7ee textarea:focus {
  border-color:#f5d400 !important;
  box-shadow:0 0 0 3px rgba(245,212,0,.15) !important;
  outline:none !important;
}

.elementor-element-674f7ee .button,
.elementor-element-674f7ee button,
.wpmc-nav-buttons a, .wpmc-nav-buttons button { border-radius:8px !important; }

.woocommerce-billing-fields__field-wrapper .form-row {
  float: none !important;
  width: 100% !important;
  margin: 0 0 2px 0 !important;
}

.woocommerce-checkout form.checkout label {
	margin-bottom: 0px !important;
}

.woocommerce-billing-fields__field-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}

/****************************************************************************************************************************************
 * Doprava, platba
****************************************************************************************************************************************/
#shipping_method, .wc_payment_methods { list-style:none !important; margin:0 !important; padding:0 !important; }

#shipping_method li,
.wc_payment_methods li.wc_payment_method {
  display:flex !important; align-items:center; flex-wrap:wrap;
  background:#17171a !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:10px !important;
  padding:14px 18px !important;
  margin:0 0 12px 0 !important;
}

#shipping_method li:has(input:checked),
.wc_payment_methods li.wc_payment_method:has(input:checked) {
  border-color:#f5d400 !important;
  background:rgba(245,212,0,.06) !important;
}

#shipping_method li label,
.wc_payment_methods li.wc_payment_method > label {
  color:#fff !important; font-weight:600 !important; margin:0 !important; cursor:pointer;
  display:flex !important; justify-content:space-between; align-items:center; flex:1;
}

#shipping_method input[type=radio],
.wc_payment_methods input[type=radio] {
  accent-color:#f5d400 !important; width:18px !important; height:18px !important; margin-right:12px !important;
}

#shipping_method .woocommerce-Price-amount,
#shipping_method .amount { color:#f5d400 !important; font-weight:700 !important; }

.wc_payment_methods li .payment_box { background:transparent !important; color:#bdbdbd !important; width:100% !important; margin-top:8px !important; }
.wc_payment_methods li .payment_box::before { display:none !important; }
.woocommerce-checkout #payment { background:transparent !important; border:0 !important; }

/****************************************************************************************************************************************
 * Pokladňa krok 2
****************************************************************************************************************************************/

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon { display:none !important; }

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout .woocommerce-checkout-review-order-table { border:0 !important; padding:0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th { border:0 !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { padding-bottom:18px !important; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td { padding:6px 0 22px !important; }

.woocommerce-checkout .cart-subtotal { display:none !important; }

.woocommerce-checkout h3.payment_heading { margin:30px 0 16px !important; }

.woocommerce-checkout .place-order { text-align:right !important; }
.woocommerce-checkout #place_order {
  padding:16px 42px !important; border-radius:8px !important; border:0 !important;
  width:auto !important; float:none !important; display:inline-block !important;
	margin: 10px 0px 50px 0px;
}

.validate-required {
	margin-top: 30px !important;
}

#shipping_method li, .wc_payment_methods li.wc_payment_method { /* … */ gap:12px !important; }
#shipping_method input[type=radio], .wc_payment_methods input[type=radio] { /* … */ margin:0 !important; flex:0 0 auto !important; }

#order_review {
	background: #2a2a2a;
    border-radius: 10px !important;
}

#order_review_heading {
	display: none;
}

#order_review thead {
	background: #222222;
	border-radius: 10px 0;
}

#order_review th, #order_review td {
	padding: 20px !important;
}

.shipping td {
	display: flex;
    justify-content: end;
}

ul#shipping_method {
	width: 72%;
}

.packeta-widget.after-rate .packeta-widget-button {
	display: flex;
}

label[for=shipping_method_0_packeta_method_zpointsk3] {
	font-size: 10px !important;
}

.packeta-widget.after-rate .packeta-widget-button img {
	max-width: 60px;
    object-fit: cover;
    border-radius: 10px 0px 00px 10px;
}

#shipping_method li label {
	padding-left: 20px;
}

#payment_heading {
	margin-bottom: 30px;
}

.wc_payment_methods li .payment_box {
	margin: 0 !important;
}

.woocommerce-privacy-policy-text {
	display: none;
}

.woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-order-details__title, .woocommerce-page.woocommerce-checkout .woocommerce-order h2.woocommerce-column__title {
	background: transparent;
	border: none;
}

.woocommerce-js .woocommerce table.shop_table, .woocommerce-page.woocommerce-checkout .woocommerce-customer-details address {
	border-radius: 10px;
    background: #191919;
    border: none;
}

.woocommerce-js .woocommerce table.shop_table td, .woocommerce-js .woocommerce table.shop_table th {
	border: none;
}

.woocommerce-page.woocommerce-checkout .woocommerce-order ul.order_details{
	width: 100%;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 1024px) {
  .wpr-cart-wrapper {
    flex-direction: column !important;
  }
  .wpr-cart-wrapper > .woocommerce-cart-form,
  .wpr-cart-wrapper > .cart-collaterals {
    width: 100% !important;
    max-width: 100% !important;
  }
}

.shop_table_responsive .product-thumbnail {
	margin-top: -30px;
}

.shop_table_responsive .woocommerce-cart-form__cart-item {
	padding-top: 2px;
}

@media (max-width: 767px) {
  .woocommerce-checkout #billing_email_field,
  .woocommerce-checkout #billing_phone_field,
  .woocommerce-checkout #billing_first_name_field,
  .woocommerce-checkout #billing_last_name_field,
  .woocommerce-checkout #billing_city_field,
  .woocommerce-checkout #billing_postcode_field,
  .woocommerce-checkout #billing_country_field,
  .woocommerce-checkout #billing_address_1_field {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .woocommerce-checkout-review-order-table,
  .woocommerce-checkout-review-order-table thead,
  .woocommerce-checkout-review-order-table tbody,
  .woocommerce-checkout-review-order-table tfoot { display: block !important; width: 100% !important; }

  .woocommerce-checkout-review-order-table tr:not(.shipping) {
    display: flex !important; justify-content: space-between !important;
    align-items: baseline; gap: 12px; width: 100% !important;
  }
  .woocommerce-checkout-review-order-table tr:not(.shipping) th,
  .woocommerce-checkout-review-order-table tr:not(.shipping) td { display: block !important; width: auto !important; }

  .woocommerce-checkout-review-order-table tr.shipping,
  .woocommerce-checkout-review-order-table tr.shipping th,
  .woocommerce-checkout-review-order-table tr.shipping td,
  .woocommerce-checkout-review-order-table tr.shipping #shipping_method,
  .woocommerce-checkout-review-order-table tr.shipping #shipping_method li {
    display: block !important; width: 100% !important; box-sizing: border-box !important;
  }
  .woocommerce-checkout-review-order-table tr.shipping #shipping_method li { display: flex !important; }
  .woocommerce-checkout-review-order-table tr.shipping th { padding-bottom: 8px !important; text-align: left !important; }
}


/****************************************************************************************************************************************
 * Single product šablóna
****************************************************************************************************************************************/

.woocommerce-product-gallery img {
	max-width: 600px !important;
    max-height: 600px !important;
	object-fit: cover;
	border-radius: 20px !important;
}

.woocommerce-product-gallery .flex-direction-nav, .entry-summary>.price, .single-product .reset_variations, .single-product .woocommerce-message::before {
	display: none !important;
}

.single-product #primary {
	margin-top: 0px !important;
}

.single-product .entry-summary, .single-product .custom-product-description, .single-product .woocommerce-message {
	padding: 30px;
    background-color: #282828;
    border-radius: 20px;
}

.single-product .woocommerce-message {
	border: none;
	border-radius: 10px;
	color: white;
}

.single-product .woocommerce-notices-wrapper {
	margin-bottom: 30px !important;
}

.single-product .entry-title {
	font-size: 40px;
    font-weight: 700;
    margin: 30px 0px 20px 0px;
}

.single-product .variations {
	border: none !important;
}

.single-product .variations th, .woocommerce div.product form.cart .variations td {
	width: 100% !important;
}

.single-product .variations .label label, .single-product .woocommerce-variation-price .price {
	color: #f5d400;
	font-size: 30px !important;
	font-weight: 600 !important;
}

.single-product input.qty {
	border-radius: 10px !important;
}

.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
	padding: 12.5px 25px;
	border-radius: 10px;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
	height: auto !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img:not(.zoomImg) {
	object-fit: contain !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
}

/* --- Neorezané náhľady PRODUKTOV v katalógu (nie kategórií) --- */
ul.products li.product:not(.product-category) a img,
ul.products li.product:not(.product-category) img {
	object-fit: contain !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
}

#homepage_category_list .woocommerce ul.products li.product {
	background: transparent !important;
}
