/*
Theme Name:   	Storefront Child Theme
Theme URI:    	https://github.com/stuartduff/storefront-child-theme
Author:       	Stuart Duff
Author URI:     http://stuartduff.com
Template:     	storefront
Description:  	This is a blank child theme for WooThemes StoreFront theme
Version:      	1.0.0
License:      	GNU General Public License v2 or later
License URI:  	http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  	storefront
Tags:         	black, white, light, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, full-width-template, threaded-comments, accessibility-ready
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Storefront is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
FontAwesome License: SIL Open Font License - http://scripts.sil.org/OFL
Images License: GNU General Public License v2 or later
*/
/*
 * Add your own custom css below this text.
 */
 
#page {
	padding:1ex;
	width: auto;
}

.mobile-menu-wrapper .toggle-submenu::after {
    content: "▸";
    position: absolute;
    right: 10px;
    font-size: 16px;
}

.woocommerce-Tabs-panel figure {
	width: auto !important;
	max-width: 100%;
}

/*pre https://v2025.cuecreator.com/shop/product-category/custom-cues-in-stock/ */
ul.products.columns-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  padding: 0;
  margin: 0 auto;
  max-width: 1200px;
}

ul.products.columns-3 li.product {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 16px;
  list-style: none;
  width: calc(33.333% - 50px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.3s ease;
}

ul.products.columns-3 li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

ul.products.columns-3 li.product img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
  margin-bottom: 12px;
}

ul.products.columns-3 li.product h2.woocommerce-loop-product__title {
  font-size: 18px;
  color: #222;
  margin: 8px 0;
  font-weight: 600;
  line-height: 1.4;
}

ul.products.columns-3 li.product .price {
  font-size: 16px;
  color: #007cba;
  margin: 8px 0;
}

ul.products.columns-3 li.product .onsale {
  background-color: #e53935;
  color: #fff;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  position: absolute;
  top: 8px;
  left: 8px;
  border-radius: 4px;
}

ul.products.columns-3 li.product a.button {
  background-color: #007cba;
  color: #fff !important;
  padding: 10px 16px;
  border: none;
  border-radius: 4px;
  margin-top: auto;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
}

ul.products.columns-3 li.product a.button:hover {
  background-color: #005f8d;
}

.woocommerce-tabs ul.tabs li {
  position: relative;
}

.woocommerce-tabs ul.tabs li::after {
  content: "";
  position: absolute;
  right: 1.6rem !important; /* o trochu viac doľava */
  top: 50% !important;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border: solid #000;
  border-width: 1px 1px 0 0;
  display: none;
}

.woocommerce-tabs ul.tabs li.active::after {
  display: block;
}

.woocommerce-message {
  background-color: #f3f9f3;
  color: #2d572c;
  border: 1px solid #c5e1c5;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.4;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  position: relative;
}

.woocommerce-message a.button.wc-forward {
  background-color: #4b2991;
  color: #fff;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  margin-left: 1rem;
  transition: background-color 0.3s ease;
}

.woocommerce-message a.button.wc-forward:hover {
  background-color: #351f6b;
}

.woocommerce-mini-cart-item.mini_cart_item a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
}

.woocommerce-mini-cart-item img {
  width: 50px;
  height: auto;
  border-radius: 4px;
  flex-shrink: 0;
}

.woocommerce-mini-cart-item a {
  color: inherit;
  font-size: 0.85rem;
  line-height: 1.3;
}

.mini-cart-content {
  display: flex;
  flex-direction: column;
}

.woocommerce-error {
  list-style: none;
  padding: 1.25rem 1.5rem;
  margin-bottom: 2rem;
  background-color: #fff3f3;
  color: #a94442;
  border: 1px solid #f5c6cb;
  border-left: 5px solid #c0392b;
  border-radius: 6px;
  font-size: 1rem;
  line-height: 1.5;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  position: relative;
}

.woocommerce-error a.button.wc-forward {
  background-color: #c0392b;
  color: #fff;
  font-weight: 600;
  padding: 0.5rem 1rem;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  margin-left: 1rem;
  transition: background-color 0.3s ease;
}

.woocommerce-error a.button.wc-forward:hover {
  background-color: #992d22;
}

button.single_add_to_cart_button.processing {
  background-color: #aaa !important;
  cursor: wait;
  opacity: 0.8;
}

button.single_add_to_cart_button.processing:hover {
  background-color: #aaa !important;
}

.spinner {
  animation: spin 1s linear infinite;
  display: inline-block;
}

@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

input.qty {
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 0.4rem 0.6rem;
  font-size: 1rem;
  width: 60px;
  margin-bottom: 0.5rem;
}

/* Posunutie nahor pre stránky s reCAPTCHA */
body.tml-action-lostpassword .fab-container,
body.tml-action-register .fab-container,
body.tml-action-login .fab-container,
body.woocommerce-checkout .fab-container,
body.woocommerce-account .fab-container {
  bottom: 80px; /* alebo viac podľa potreby, kľudne aj 100px */
}

.visually-disabled {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}

/* 📅 Kalendár */
.ui-datepicker {
    font-family: sans-serif!important;
    font-size: 14px!important;
    border: none!important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2)!important;
    border-radius: 8px!important;
    padding: 10px!important;
    background: #fff!important;
}
.ui-datepicker td a {
    padding: 6px 10px!important;
    border-radius: 4px!important;
    background: #f4f4f4!important;
    color: #333!important;
    text-decoration: none!important;
}
.ui-datepicker td a:hover {
    background-color: #d0eaff!important;
    color: #000!important;
}
.ui-datepicker .ui-datepicker-header {
    background-color: #005fa3!important;
    color: #fff!important;
    padding: 10px!important;
    border-radius: 6px 6px 0 0!important;
}

/* 🕒 Časové sloty */
.time-slot {
    display: inline-block!important;
    margin: 4px!important;
    padding: 8px 12px!important;
    border: 2px solid #005fa3!important;
    border-radius: 6px!important;
    background-color: #f9f9f9!important;
    cursor: pointer!important;
    font-weight: bold!important;
    transition: background-color 0.3s ease, color 0.3s ease!important;
}
.time-slot:hover,
.time-slot.selected {
    background-color: #005fa3!important;
    color: #fff!important;
}

/* 📝 Formulár */
#booking-form label {
    display: block!important;
    margin-top: 1em!important;
    font-weight: 600!important;
    color: #333!important;
}
#booking-form input[type="text"],
#booking-form input[type="email"] {
    width: 100%!important;
    max-width: 400px!important;
    padding: 8px!important;
    margin-top: 4px!important;
    border: 1px solid #ccc!important;
    border-radius: 4px!important;
    box-sizing: border-box!important;
}
#booking-form input[type="submit"] {
    margin-top: 1.5em!important;
    padding: 10px 20px!important;
    background-color: #005fa3!important;
    color: #fff!important;
    border: none!important;
    border-radius: 4px!important;
    font-weight: bold!important;
    cursor: pointer!important;
    transition: background-color 0.3s ease!important;
}
#booking-form input[type="submit"]:hover {
    background-color: #004080!important;
}

/* 🛡️ CAPTCHA */
#booking-form img {
    margin-top: 1em!important;
    border: 1px solid #ccc!important;
    border-radius: 4px!important;
}

/* 📦 Kontajner */
#booking-form {
    padding: 20px!important;
    border: 1px solid #ddd!important;
    border-radius: 10px!important;
    background: #fefefe!important;
    max-width: 600px!important;
    margin: 0 auto!important;
}

#fbuilder .medium, #hdcaptcha_cp_appbooking_post_2, div.slots, button.pbSubmit, select.ahbfield_service {
	border-radius: 0.5ex !important;
	padding: 1ex !important;
	font-size: 1rem !important;
	border: 1px solid #888 !important;
   width: 100% !important;
   padding: 10px !important;
	-webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5) !important;
	-moz-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5) !important;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, .5) !important;
}

span.uh {
	padding-top:1rem;
}

div.dfield input {
	padding:1ex !important;
}

img.mainLogo {
	max-width: 100%;
	height: auto;
}

.signatureImg {
	max-width: 100%;
}

@media (max-width: 768px) {
  ul.products.columns-3 li.product {
    width: 48%;
  }
  
  .woocommerce-tabs.wc-tabs-wrapper>ul.tabs.wc-tabs {
		width: auto !important;
		min-width: 100%;
  }
  
	.woocommerce-Tabs-panel.woocommerce-Tabs-panel--description.panel.entry-content.wc-tab {
		width: auto !important;
		padding: 0 !important;
	}
}

/*pre sorting*/
/* Zoradenie (select box) */
.storefront-sorting select.orderby {
  padding: 10px 16px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  font-size: 14px;
  color: #333;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='14' viewBox='0 0 24 24' width='14' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px;
  cursor: pointer;
  transition: border-color 0.3s ease;
}

.storefront-sorting select.orderby:hover {
  border-color: #007cba;
}

/* Výpis výsledkov */
.woocommerce-result-count {
  margin-top: 12px;
  margin-bottom: 12px;
  font-weight: 500;
  color: #444;
}

/* Stránkovanie */
.woocommerce-pagination {
  margin-top: 20px;
  text-align: center;
}

.woocommerce-pagination .page-numbers {
  list-style: none;
  padding: 0;
  display: inline-flex;
  gap: 10px;
  justify-content: center;
}

.woocommerce-pagination .page-numbers li {
  display: inline;
}

.woocommerce-pagination .page-numbers a,
.woocommerce-pagination .page-numbers span {
  padding: 8px 14px;
  background: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.2s ease;
}

.woocommerce-pagination .page-numbers .current {
  background: #007cba;
  color: #fff;
  border-color: #007cba;
}

.woocommerce-pagination .page-numbers a:hover {
  background: #007cba;
  color: #fff;
}

/*pre kosik*/
/* Štýly pre vyhľadávanie */
.woocommerce-product-search {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 400px;
  margin: 0 auto;
}

.woocommerce-product-search input[type="search"] {
  padding: 8px 12px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 6px;
  flex-grow: 1;
}

.woocommerce-product-search button[type="submit"] {
  background-color: #222;
  color: white;
  border: none;
  padding: 8px 16px;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.woocommerce-product-search button[type="submit"]:hover {
  background-color: #444;
}

/* Mini-košík */
.woocommerce-mini-cart-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid #e0e0e0;
}

.woocommerce-mini-cart-item img {
  width: 60px;
  height: auto;
  border-radius: 4px;
}

.woocommerce-mini-cart-item a {
  font-size: 14px;
  color: #222;
  text-decoration: none;
  font-weight: 500;
}

.woocommerce-mini-cart-item .quantity {
  margin-left: auto;
  font-weight: bold;
  font-size: 14px;
  white-space: nowrap;
}

.widget_shopping_cart_content {
  padding: 10px;
  max-width: 400px;
}

.woocommerce-mini-cart__total {
  font-size: 16px;
  font-weight: bold;
  margin-top: 10px;
  border-top: 1px solid #ccc;
  padding-top: 10px;
}

.woocommerce-mini-cart__buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
}

.woocommerce-mini-cart__buttons a.button {
  background-color: #222;
  color: white;
  padding: 8px 16px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.woocommerce-mini-cart__buttons a.button:hover {
  background-color: #444;
}

/*pre galeriu*/
/* Hlavný obrázok */
.woocommerce-product-gallery__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 1rem;
}

.woocommerce-product-gallery__image {
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.woocommerce-product-gallery__image img {
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.15);
  transition: transform 0.3s ease;
}

.woocommerce-product-gallery__image img:hover {
  transform: scale(1.02);
}

/* Thumbnails pod hlavným obrázkom */
.flex-control-nav.flex-control-thumbs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 1rem;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scroll-behavior: smooth;
}

.flex-control-nav.flex-control-thumbs li {
  flex: 0 0 auto;
  border: 2px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.flex-control-nav.flex-control-thumbs li:hover,
.flex-control-nav.flex-control-thumbs li img.flex-active {
  border-color: #7a0bc0; /* fialová pre cuecreator */
}

.flex-control-nav.flex-control-thumbs img {
  border-radius: 6px;
  width: 80px;
  height: auto;
  object-fit: cover;
}

/* Štýl pre SELECT */
.variations select {
  padding: 0.6rem 1rem;
  font-size: 1rem;
  border: 1px solid #bbb;
  border-radius: 8px;
  background-color: #f9f9f9;
  transition: border-color 0.3s ease;
  width: 100%;
  max-width: 400px;
  appearance: none;
}

.variations select:focus {
  border-color: #444;
  outline: none;
  background-color: #fff;
}

/* Štýl pre INPUT typu číslo */
.variations_button .quantity input[type="number"] {
  padding: 0.5rem;
  font-size: 1rem;
  width: 80px;
  border: 1px solid #bbb;
  border-radius: 8px;
  background-color: #f9f9f9;
  transition: border-color 0.3s ease;
}

.variations_button .quantity input[type="number"]:focus {
  border-color: #444;
  outline: none;
  background-color: #fff;
}

/* Štýl pre tlačidlo "Add to cart" */
.variations_button button.single_add_to_cart_button {
  background-color: #333;
  color: #fff;
  padding: 0.65rem 1.5rem;
  font-size: 1rem;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-left: 1rem;
  transition: background-color 0.3s ease;
}

.variations_button button.single_add_to_cart_button:hover {
  background-color: #555;
}

.storefront-product-pagination {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
	margin-top: 3rem;
	padding: 1rem 0;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}

.storefront-product-pagination a {
	position: relative;
	display: block;
	width: 48%;
	text-align: center;
	text-decoration: none;
	overflow: hidden;
	border-radius: 8px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease;
	background-color: #fff;
}

.storefront-product-pagination a:hover {
	transform: translateY(-4px);
}

.storefront-product-pagination img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px 8px 0 0;
}

.storefront-product-pagination__title {
	display: block;
	background: #111;
	color: #fff;
	font-weight: 600;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s ease;
	border-radius: 0 0 8px 8px;
}

.storefront-product-pagination a:hover .storefront-product-pagination__title {
	opacity: 1;
	transform: translateY(0%);
}

.storefront-product-pagination {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 3rem 0;
	padding: 0;
}

.storefront-product-pagination a {
	position: relative;
	display: block;
	width: 48%;
	max-width: 320px;
	text-decoration: none;
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	overflow: hidden;
	transition: transform 0.2s ease;
	background-color: #fff;
}

.storefront-product-pagination a:hover {
	transform: translateY(-3px);
}

.storefront-product-pagination img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 6px;
}

.storefront-product-pagination__title {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 500;
	text-align: center;
	padding: 0.4rem 0.6rem;
	opacity: 0;
	transform: translateY(100%);
	transition: all 0.3s ease;
}

.storefront-product-pagination a:hover .storefront-product-pagination__title {
	opacity: 1;
	transform: translateY(0%);
}

.storefront-product-pagination a {
	max-width: 150px;
}

.woocommerce-product-search::before {
	display: none !important;
}

.storefront-product-pagination img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 6px;
}

@media (max-width: 768px) {
	.storefront-product-pagination {
		flex-direction: column;
	}

	.storefront-product-pagination a {
		width: 100%;
	}
}

div.storefront-breadcrumb, div.site-search, ul#site-header-cart {
    max-width: 1024px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
}

.woocommerce-breadcrumb .breadcrumb-separator {
	padding: 0 0.5rem;
}

/* Celý košík */
.widget_shopping_cart_content {
    max-width: 100%;
    background: #fff;
    padding: 15px;
    box-shadow: 0 0 10px rgba(0,0,0,0.15);
    border-radius: 8px;
    font-size: 14px;
}

/* Položka */
.woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
}

/* Obrázky – rovnaká výška aj keď niektoré majú len 1px x 1px */
.woocommerce-mini-cart-item img {
    width: auto;
    height: 60px;
    object-fit: cover;
    border-radius: 4px;
    background: #f0f0f0;
    max-width: 100px;
}

/* Názov produktu */
.woocommerce-mini-cart-item a {
    flex-grow: 1;
    font-weight: 500;
    color: #333;
    text-decoration: none;
    line-height: 1.2em;
}

/* Tlačidlo odstrániť */
.woocommerce-mini-cart-item .remove {
    font-size: 18px;
    color: #900;
    margin-left: auto;
    padding: 4px 8px;
}

/* Cena a počet */
.woocommerce-mini-cart-item .quantity {
    display: block;
    color: #222;
    font-weight: bold;
    white-space: nowrap;
}

/* Súčet */
.woocommerce-mini-cart__total {
    font-weight: bold;
    text-align: right;
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px solid #ccc;
}

/* Tlačidlá */
.woocommerce-mini-cart__buttons {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 15px;
}

.woocommerce-mini-cart__buttons a.button {
    flex: 1;
    text-align: center;
    background-color: #333;
    color: white;
    padding: 10px;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.woocommerce-mini-cart__buttons a.button:hover {
    background-color: #000;
}

/* 1. Odstránenie bulletov */
.woocommerce-mini-cart.cart_list,
.woocommerce-mini-cart.cart_list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 2. Všeobecné štýly pre mini-košík */
.widget_shopping_cart {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    max-width: 100%;
    background-color: #fff;
    box-shadow: 0 6px 25px rgba(0, 0, 0, 0.07);
    border-radius: 12px;
    padding: 1rem;
    color: #111;
}

.woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid #eee;
}

.woocommerce-mini-cart-item:last-child {
    border-bottom: none;
}

/* 3. Obrázok produktu */
.woocommerce-mini-cart-item img {
    width: auto;
    height: 60px;
    border-radius: 6px;
    object-fit: contain;
}

/* 4. Text a cena */
.woocommerce-mini-cart-item a {
    color: #222;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease;
}

.woocommerce-mini-cart-item a:hover {
    color: #bf9000; /* zlatá */
}

.woocommerce-mini-cart-item .quantity {
    margin-left: auto;
    font-weight: 600;
    white-space: nowrap;
}

/* 5. Odstrániť tlačidlo (krížik) */
.woocommerce-mini-cart-item .remove {
    font-size: 18px;
    color: #c00;
    margin-right: 0.25rem;
    transition: color 0.2s ease;
}

.woocommerce-mini-cart-item .remove:hover {
    color: #900;
}

/* 6. Spodné tlačidlá */
.woocommerce-mini-cart__buttons .button {
    background: #111;
    color: white;
    font-weight: 600;
    border-radius: 6px;
    padding: 0.75rem 1.25rem;
    margin-right: 0.5rem;
    display: inline-block;
    text-align: center;
    transition: background 0.3s ease;
}

.woocommerce-mini-cart__buttons .button:hover {
    background: #333;
}

/* 7. Subtotal */
.woocommerce-mini-cart__total {
    text-align: right;
    font-weight: 700;
    padding-top: 0.5rem;
}

/* 8. Linky všeobecne */
a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* 9. Ak chceš vyladiť aj tlačidlo "Build Your Cue", pridaj: */
a.custom-cta {
    background-color: #d4aa00;
    color: black;
    padding: 0.75rem 1.75rem;
    border-radius: 2rem;
    font-weight: 700;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    transition: all 0.25s ease;
}

a.custom-cta:hover {
    background-color: #c09500;
    transform: translateY(-2px);
}

ul#site-header-cart>li {
	list-style-type: none;
}

a.cart-contents, span.price, span.woocommerce-Price-amount.amount	{
	font-family: 'Source Serif Pro', serif;
	font-variant-numeric: tabular-nums;
}

.woocommerce-product-gallery__wrapper {
	/*max-width: 30%;*/
}

.summary.entry-summary {
	max-width: 50%;
}

.woocommerce div.product {
	display: flex;
	flex-wrap: wrap; /* zabezpečí responzivitu na menších zariadeniach */
	gap: 2rem; /* medzera medzi galériou a sumárom */
	align-items: flex-start;
}

span.onsale {
	position: absolute;
}

span.onsale {
	top: 0.5rem;
	left: 0.5rem;
	z-index: 3;
	background: #d40000;
	color: white;
	padding: 0.3rem 0.6rem;
	border-radius: 0.2rem;
	font-size: 0.9rem;
	text-transform: uppercase;
	font-weight: bold;
}

a.woocommerce-product-gallery__trigger {
	bottom: 0.5rem;
	right: 0.5rem;
	z-index: 2;
}

.woocommerce div.product {
	position: relative;
}

a span.onsale {
	display: none;
}

.woocommerce-product-gallery {
	position: relative;
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	right: 0;
	top: 0;
}

.up-sells.upsells.products>ul>li {
	width: auto;
}

@media (max-width: 768px) {
	.woocommerce div.product {
		flex-direction: column;
	}

	.woocommerce-product-gallery,
	.summary.entry-summary {
		max-width: 100%;
	}
}

table.variations th, table.variations td {
	display: block;
	width: 100%;
}

.single_add_to_cart_button, .single_add_to_cart_button.button.alt {
	margin-left: 0;
}

.product_title.entry-title {
	margin-top: 0.25rem;
}

.sku_wrapper {
	display: block;
}

.woocommerce-tabs.wc-tabs-wrapper {
	display: flex;
}

ul.tabs.wc-tabs {
	max-width: 30%;
	position: relative;
	margin-top:0;
}

.woocommerce-Tabs-panel.woocommerce-Tabs-panel--description.panel.entry-content.wc-tab, .woocommerce-Tabs-panel.woocommerce-Tabs-panel--additional_information.panel.entry-content.wc-tab {
	/*max-width: 70%;*/
}

.woocommerce-Tabs-panel.woocommerce-Tabs-panel--description.panel.entry-content.wc-tab>section {
	padding:0;
}

.woocommerce-tabs ul.tabs li.active::after {
	top:0;
}

.woocommerce-Tabs-panel.woocommerce-Tabs-panel--description.panel.entry-content.wc-tab>h2 {
	margin-top:0 !important;
}

nav.storefront-product-pagination {
    width: 100%;
    position: fixed;
    top: 50%;
    z-index: 1;
    left: 0;
    margin: 0;
    padding: 0;
    border: none;
}

nav.storefront-product-pagination {
    width: 100%;
    position: fixed;
    top: 50%;
    z-index: 1;
    left: 0;
    margin: 0;
    padding: 0;
    border: none;
    pointer-events: none; /* Zakáže klikateľnosť pre celý nav */
}

nav.storefront-product-pagination a {
    pointer-events: auto; /* Povolené iba pre odkazy vnútri */
}

@media (max-width: 768px) {
  nav.storefront-product-pagination {
    display: none;
  }
}

.woocommerce-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 200px;
  border: none;
  background: #f5f5f7;
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  overflow: hidden;
}

.woocommerce-tabs ul.tabs li {
  padding: 1em;
  border-bottom: 1px solid #e0e0e0;
  background: transparent;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  color: #333;
  font-weight: 500;
}

.woocommerce-tabs ul.tabs li:last-child {
  border-bottom: none;
}

.woocommerce-tabs ul.tabs li.active {
  background: #fff;
  color: #000;
  font-weight: 600;
  border-left: 4px solid #673ab7; /* fialový nádych ak sa hodí k téme */
}

.woocommerce-tabs .panel {
  flex: 1;
  padding: 1.5em;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  border: 1px solid #eee;
  min-width: 300px;
}

.woocommerce-tabs ul.tabs li:hover {
  background-color: #eaeaea;
}

/* Kontajner formulára */
form.woocommerce-form-login {
    max-width: 400px;
    margin: 2em auto;
    padding: 2em;
    background-color: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    font-family: 'Segoe UI', sans-serif;
}

/* Pole */
.woocommerce-form-row {
    margin-bottom: 1.5em;
}

.woocommerce-form-row label {
    font-weight: 600;
    display: block;
    margin-bottom: 0.5em;
    color: #222;
}

.woocommerce-Input {
    width: 100%;
    padding: 0.75em 1em;
    border-radius: 8px;
    border: 1px solid #ccc;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-Input:focus {
    border-color: #800080;
    box-shadow: 0 0 0 3px rgba(128, 0, 128, 0.2);
    outline: none;
}

/* Checkbox */
.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.95em;
    margin-bottom: 1em;
}

/* Tlačidlo */
.woocommerce-form-login__submit {
    background-color: #0073aa;
    color: #fff;
    border: none;
    padding: 0.75em 1.5em;
    border-radius: 8px;
    font-size: 1em;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.woocommerce-form-login__submit:hover {
    background-color: #005a8c;
}

/* Linka "Lost password" */
.woocommerce-LostPassword a {
    display: inline-block;
    margin-top: 1em;
    color: #800080;
    font-weight: 500;
    text-decoration: none;
}

.woocommerce-LostPassword a:hover {
    text-decoration: underline;
}

.woocommerce h2 {
  text-align: center;
  margin-bottom: 1.5rem;
}

.woocommerce form.login {
  max-width: 400px;
  margin: 0 auto;
  padding: 2rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);
}

.woocommerce-button {
  background-color: #005d8f;
  color: #fff;
  padding: 0.6rem 1.4rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  margin-top: 1rem;
  transition: background-color 0.2s ease;
}

.woocommerce-button:hover {
  background-color: #003d5e;
}

.woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  margin-top: 1rem;
  gap: 0.5rem;
  font-size: 0.95rem;
}

.woocommerce-LostPassword {
  text-align: center;
  margin-top: 1.5rem;
}

form[name="register"] {
  max-width: 480px;
  margin: 3rem auto;
  padding: 2rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.05);
  font-family: inherit;
}

.tml-field-wrap {
  margin-bottom: 1.5rem;
}

.tml-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #222;
}

.tml-field {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  background-color: #f0f6ff;
  font-size: 1rem;
  transition: border-color 0.2s ease-in-out;
}

.tml-field:focus {
  border-color: #007cba;
  outline: none;
}

#reg_passmail {
  font-size: 0.9rem;
  color: #555;
  margin-top: 0;
}

.tml-button {
  background-color: #007cba;
  color: white;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 0.2s ease-in-out;
}

.tml-button:hover {
  background-color: #005fa3;
}

/* Zarovnanie odkazov vedľa seba */
.tml-links {
  display: flex;
  justify-content: center;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

/* Štýl pre samotné odkazy */
.tml-links a {
  text-decoration: none;
  color: #004080;
  font-weight: 500;
  transition: color 0.2s ease;
}

.tml-links a:hover {
  color: #0073aa;
  text-decoration: underline;
}

.tml-links {
  border-top: 1px solid #ddd;
  padding-top: 15px;
  margin-top: 30px;
}

.widget_shopping_cart {
  position: absolute;
  right: 0;
  top: 100%;
  background: #fff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 99;
  width: 300px;
  padding: 1rem;
}
.site-header-cart {
  position: relative;
}

.site-header-cart:hover .widget_shopping_cart {
  display: block;
}
.widget_shopping_cart {
  display: none;
  /* zvyšok ako vyššie */
}

.woocommerce-cart-form {
  background-color: #fff;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
}

.woocommerce-cart-form table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart-form table th,
.woocommerce-cart-form table td {
  padding: 1rem;
  border-bottom: 1px solid #eee;
  text-align: left;
  vertical-align: middle;
}

.woocommerce-cart-form table thead th {
  background-color: #f6f6f6;
  color: #333;
  font-weight: bold;
  font-size: 1rem;
}

.woocommerce-cart-form .product-thumbnail img {
  max-width: 80px;
  height: auto;
  border-radius: 0.5rem;
  box-shadow: 0 0 4px rgba(0,0,0,0.1);
}

.woocommerce-cart-form .quantity input {
  max-width: 60px;
  text-align: center;
  border: 1px solid #ccc;
  border-radius: 0.3rem;
  padding: 0.3rem;
}

.cart_totals {
  background-color: #fff;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
}

.cart_totals h2 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  color: #333;
}

.cart_totals table {
  width: 100%;
}

.cart_totals table th,
.cart_totals table td {
  padding: 0.75rem 0;
  border-bottom: 1px solid #eee;
}

.cart_totals .order-total td {
  font-weight: bold;
  color: #4B0082;
}

.woocommerce .button,
.woocommerce-page .button {
  background-color: #4B0082;
  color: #fff;
  padding: 0.6rem 1.2rem;
  border-radius: 0.5rem;
  font-weight: bold;
  transition: background-color 0.2s ease-in-out;
}

.woocommerce .button:hover,
.woocommerce-page .button:hover {
  background-color: #6a0dad;
}

.woocommerce input[type="text"] {
  border: 1px solid #ccc;
  padding: 0.5rem;
  border-radius: 0.3rem;
  width: 100%;
}

.checkout-button.button.alt.wc-forward {
    display: block;
    background-color: #41006b;
    color: white;
    font-weight: bold;
    padding: 0.75rem 1.25rem !important;
    border-radius: 8px;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    margin-top:1rem !important;
    text-align: center;
}
.checkout-button.button.alt.wc-forward:hover {
    background-color: #5a008c;
}

a.checkout-button.button.alt.wc-forward {
	display: block !important;
}

div.coupon>button.button {
    margin-bottom: 1ex;
}

div#mini-cart-container {
	/*display:none;*/
}

.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .cart .wc-proceed-to-checkout a.checkout-button,
a.checkout-button.button.alt.wc-forward,
div.form-row.place-order>.button.alt,
.woocommerce-mini-cart__buttons.buttons>a {
    /*background-color: #4b0082;
    color: #fff !important;
    border-radius: 0.5rem;
    font-weight: bold;
    padding: 0.75rem 1.25rem;
    text-decoration: none;
    transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out;
    cursor: pointer;*/
	font-family: "Playfair Display", serif;
	font-size: 1rem;
	font-weight: 600;
	color: #fff !important;
	background: linear-gradient(135deg, #6a0dad, #9b51e0);
	border: none;
	border-radius: 8px;
	padding: 0.75rem 1.5rem;
	box-shadow: 0 4px 12px rgba(155, 81, 224, 0.4);
	cursor: pointer;
	transition: all 0.2s ease-in-out;
	display: inline-block;
}

.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .cart .wc-proceed-to-checkout a.checkout-button:hover,
a.checkout-button.button.alt.wc-forward:hover,
div.form-row.place-order>.button.alt:hover,
.woocommerce-mini-cart__buttons.buttons>a:hover {
	background: linear-gradient(135deg, #7e23e0, #b47aff);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(155, 81, 224, 0.6);
	color:white !important;
}

.button:active,
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce .cart .wc-proceed-to-checkout a.checkout-button:active {
	transform: scale(0.97);
	box-shadow: 0 3px 8px rgba(155, 81, 224, 0.4);
}

.woocommerce .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}

a.remove.remove_from_cart_button {
	max-width: 1ex;
}

/* Základný kontajner pre sekcie (billing, shipping, atď.) */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  background: #fff;
  padding: 2rem;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
}

/* Nadpisy sekcií */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem;
  color: #2a0a63;
}

/* Labely polí */
.woocommerce form .form-row label {
  font-weight: 500;
  margin-bottom: 0.5rem;
  display: block;
  color: #333;
}

/* Inputy, selecty */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  background: #fff;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: #6b21a8;
  box-shadow: 0 0 0 3px rgba(107, 33, 168, 0.15);
  outline: none;
}

/* Chyby a validácie */
.woocommerce-invalid .input-text,
.woocommerce-invalid select {
  border-color: #b91c1c;
  background: #fef2f2;
}

/* Telefón a email vedľa seba */
#billing_phone,
#billing_email {
  max-width: 300px;
  display: inline-block;
  margin-right: 1rem;
}

/* Reponsívna medzera */
@media (max-width: 600px) {
  #billing_phone,
  #billing_email {
    display: block;
    margin-right: 0;
  }
}

/*#place_order.button.alt {
    background-color: #222;
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-size: 16px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

#place_order.button.alt:hover {
    background-color: #444 !important;
}*/

.wc_payment_methods li label {
    display: flex;
    align-items: center;
    gap: 10px;
}

.wc_payment_methods li label img {
    max-height: 26px;
}

#order_review {
    border: 1px solid #ddd;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 4px;
}

.wc_payment_methods {
    list-style: none;
    padding-left: 0;
}

.wc_payment_methods li {
    margin-bottom: 15px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    text-align: right;
}

.woocommerce-checkout-review-order-table th:first-child,
.woocommerce-checkout-review-order-table td:first-child {
    text-align: left;
}

.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot th {
    font-weight: bold;
    font-size: 16px;
}

.wc_payment_methods img {
    max-height: 26px;
    object-fit: contain;
}

.woocommerce-checkout-review-order-table .product-name {
    padding-right: 20px;
}

/*#place_order.button.alt {
    background-color: #222;
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-size: 16px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#place_order.button.alt:hover {
    background-color: #fff;
    color: #222;
    border: 2px solid #222;
}

#place_order.button.alt {
    background-color: #222;
    color: #fff;
    border: none;
    padding: 12px 24px;
    font-size: 16px;
    text-transform: uppercase;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#place_order.button.alt:hover {
    background-color: #fff;
    color: #222;
    border: 2px solid #222;
}*/

.ui-dialog {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  position: fixed !important;
  z-index: 10000;
}

.ui-button-icon-primary.ui-icon.ui-icon-closethick {
	margin-top:0;
	margin-left:0;	
}

.ui-icon.ui-icon-circle-check {
	margin-top:0.5rem !important;
}

.woocommerce-MyAccount-navigation {
	padding: 2rem;
	background: #f4f4f9;
	border-radius: 10px;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
	max-width: 300px;
	margin: auto;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.woocommerce-MyAccount-navigation li {
	transition: transform 0.2s ease, background 0.2s ease;
}

.woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.8rem 1rem;
	text-decoration: none;
	color: #1a237e;
	font-weight: 600;
	border-radius: 8px;
	background-color: #fff;
	border-left: 4px solid transparent;
	transition: all 0.2s ease;
}

.woocommerce-MyAccount-navigation a:hover {
	background-color: #e8eaf6;
	border-left-color: #3f51b5;
	transform: translateX(4px);
}

.woocommerce-MyAccount-navigation .is-active a {
	background-color: #3f51b5;
	color: #fff;
	border-left-color: #d32f2f;
}

.woocommerce-MyAccount-navigation a::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f0e4"; /* default icon */
	display: inline-block;
	width: 1em;
	text-align: center;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before { content: "\f0e4"; } /* tachometer */
.woocommerce-MyAccount-navigation-link--orders a::before { content: "\f07a"; } /* shopping-cart */
.woocommerce-MyAccount-navigation-link--downloads a::before { content: "\f019"; } /* download */
.woocommerce-MyAccount-navigation-link--wc-smart-coupons a::before { content: "\f02b"; } /* tags */
.woocommerce-MyAccount-navigation-link--edit-address a::before { content: "\f015"; } /* home */
.woocommerce-MyAccount-navigation-link--edit-account a::before { content: "\f007"; } /* user */
.woocommerce-MyAccount-navigation-link--customer-logout a::before { content: "\f2f5"; } /* sign-out-alt */

.woocommerce-Addresses {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
	margin-top: 2rem;
	padding: 2rem;
	background-color: #f9f9f9;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.woocommerce-Address {
	background: white;
	border: 2px solid #1f3f74;
	border-radius: 12px;
	padding: 1.5rem 2rem;
	flex: 1 1 300px;
	max-width: 420px;
	position: relative;
	transition: transform 0.2s ease-in-out;
}

.woocommerce-Address:hover {
	transform: scale(1.02);
}

.woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1rem;
}

.woocommerce-Address-title h2 {
	font-size: 1.6rem;
	color: #1f3f74;
	margin: 0;
}

.woocommerce-Address-title .edit {
	font-size: 0.9rem;
	color: #1f3f74;
	text-decoration: none;
	background-color: #e0ecff;
	padding: 6px 10px;
	border-radius: 6px;
	transition: background-color 0.2s;
}

.woocommerce-Address-title .edit:hover {
	background-color: #c7dcff;
}

.woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
	color: #333;
	font-size: 1rem;
}


/* Celý dialóg */
.ui-dialog {
  border: 2px solid #333;
  background: #fefefe;
  border-radius: 12px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.35);
  font-family: "Segoe UI", sans-serif;
  z-index: 9999;
}

/* Hlavička */
.ui-dialog-titlebar {
  background: linear-gradient(to right, #2b2b2b, #4a4a4a);
  color: #fff;
  font-weight: bold;
  padding: 12px 16px;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  font-size: 16px;
}

/* Zatváracie tlačidlo */
.ui-dialog-titlebar-close {
  background: #ff4c4c;
  border: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  top: 10px;
  right: 10px;
  position: absolute;
}
.ui-dialog-titlebar-close:hover {
  background: #e60000;
}

.ui-dialog .ui-dialog-buttonpane button, .ui-dialog .ui-dialog-buttonpane button:hover {
    cursor: pointer;
    margin: 1ex !important;
    padding: 1ex !important;
    border: none !important;
    text-transform: uppercase;
}

/* Obsah */
#dialog-message {
  padding: 20px;
  font-size: 15px;
  color: #222;
  line-height: 1.5em;
}
#dialog-message a {
  color: #0066cc;
  text-decoration: underline;
}
#dialog-message a:hover {
  color: #004999;
}

/* Ikona */
#dialog-message .ui-icon-circle-check {
  color: #4CAF50;
  font-size: 24px;
}

/* Tlačidlo Ok */
.ui-dialog-buttonpane {
  padding: 10px 20px;
  text-align: right;
  background: #f3f3f3;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}
.ui-dialog-buttonset button {
  background: #333;
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
.ui-dialog-buttonset button:hover {
  background: #555;
}


/* --- Checkout Table Styling --- */
.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
  font-family: 'Segoe UI', sans-serif;
  font-size: 15px;
  color: #111;
  background: #fff;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
}

.woocommerce-checkout-review-order-table thead {
  background-color: #f8f8f8;
  border-bottom: 2px solid #ddd;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #eee;
  vertical-align: top;
}

.woocommerce-checkout-review-order-table .product-name {
  font-weight: 600;
}

.woocommerce-checkout-review-order-table .product-quantity {
  display: inline-block;
  color: #555;
  margin-left: 4px;
  font-weight: normal;
}

.woocommerce-checkout-review-order-table tfoot th {
  font-weight: 700;
  background-color: #fafafa;
}

.woocommerce-checkout-review-order-table tfoot td {
  font-weight: 700;
  color: #222;
}

.woocommerce-checkout-review-order-table .order-total strong {
  font-size: 18px;
  color: #800080;
}

/* --- Payment Methods --- */
.woocommerce-checkout-payment {
  background: #fafafa;
  padding: 20px;
  border-radius: 6px;
  border: 1px solid #ddd;
  margin-bottom: 2rem;
}

.woocommerce-checkout-payment li {
  margin-bottom: 1rem;
}

.woocommerce-checkout-payment label {
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.woocommerce-checkout-payment img {
  height: 20px;
}

.payment_box {
  background: #f0f0f0;
  padding: 10px 15px;
  border-left: 4px solid #800080;
  margin-top: 10px;
  font-size: 14px;
  color: #333;
}

/* --- Totals: AUD Rate Highlight --- */
#audCurrency {
  color: #333;
  font-size: 16px;
}

#audCurrency small {
  color: #666;
  font-size: 12px;
}

/* --- Subtle UX improvements --- */
input[type="radio"] {
  accent-color: #800080;
}


#order_review .shop_table {
    width: 100%;
    border-collapse: collapse;
}

#order_review .shop_table th,
#order_review .shop_table td {
    padding: 10px 0;
    text-align: left;
}

#order_review .shop_table th {
    font-weight: 600;
}

#order_review .shop_table tfoot td {
    font-weight: bold;
}

ul.woocommerce-shipping-methods li {
    list-style-type: none;
}

ul#shipping_method {
	padding-left: 0;
}

.wc_payment_methods li label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer; /* Pridáme kurzor */
}

.site-header-cart a.cart-contents,
.woocommerce-mini-cart__buttons a {
    color: #004e8a;
    font-weight: 500;
}

.site-header-cart a.cart-contents:hover,
.woocommerce-mini-cart__buttons a:hover {
    color: #d35400;
}

.woocommerce-breadcrumb a {
    color: #4466aa;
    font-weight: 500;
}

.woocommerce-breadcrumb a:hover {
    color: #b54e00;
}

.woocommerce-breadcrumb a:first-child::before,
.site-header-cart a::before {
    color: #4466aa;
}

.woocommerce-breadcrumb a:first-child:hover::before,
.site-header-cart a:hover::before {
    color: #b54e00;
}

.hero.visible {
    display: block !important;
}

.widget_shopping_cart {
	position: relative;
	/* z-index: 1000000; */
	background: white;
	/*display: block;*/
	width: 100%;
}

.widget_shopping_cart {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  position: absolute;
  right: 0;
  top: 100%; /* priamo pod trigger */
  background: white;
  box-shadow: 0 2px 10px rgba(0,0,0,0.2);
  z-index: 10000;
  pointer-events: none;
}

.widget_shopping_cart.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#cartDropdown {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  z-index: 10000;
  pointer-events: none;
  position: relative !important;
}

#cartDropdown.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

#cartDropdown.fade-in {
    visibility: visible;
    opacity: 1;
}

#cartDropdown.widget_shopping_cart {
    /* pre základný stav */
}

#cartDropdown.widget_shopping_cart.fade-in {
    visibility: visible;
    opacity: 1;
}

#cartDropdown {
    opacity: 0;
    visibility: hidden;
    display: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    position: absolute;
    right: 0;
    top: 100%;
    background: white;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    z-index: 10000;
    pointer-events: none;
}

#cartDropdown.fade-in {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.woocommerce-product-gallery.woocommerce-product-gallery--with-images {
	max-width: 40%;
}

.sudruh-gallery-wrapper img {
  aspect-ratio: 4 / 5;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
  max-height: 400px;
}

.sudruh-gallery-wrapper {
    display: flex;
    flex-direction: column;
    max-width: 40%;
    padding-top:1rem;
}

.sudruh-main-image img {
    width: 100%;
    height: auto;
    border: 1px solid #ccc;
}

.sudruh-thumbnails {
    display: flex;
    gap: 6px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.sudruh-thumb img {
    width: 60px;
    height: auto;
    cursor: pointer;
    border: 2px solid transparent;
}

.sudruh-thumb img:hover {
    border-color: #333;
}

.sudruh-main-image img,
.sudruh-thumb img {
    border-radius: 12px;
    transition: border-radius 0.3s ease, box-shadow 0.3s ease;
}

.sudruh-thumb img:hover {
    box-shadow: 0 0 8px rgba(0,0,0,0.3);
}

a.reset_variations {
	padding-left: 1em;
}

.sudruh-main-image img {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.pswp__img {
  max-width: 100%;
  height: auto !important;
}

.pswp__img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  max-height: 100vh;
  height: auto !important;
  width: auto !important;
  object-fit: contain;
  position: relative;
}

.pswp__caption__center {
  font-size: 16px;
  color: white;
  font-family: sans-serif;
}

.pswp__caption__center {
  background: rgba(0, 0, 0, 0.7); /* decentný tmavý podklad */
  padding: 8px 16px;
  border-radius: 4px;
  font-size: 14px;
  font-family: sans-serif;
  color: #fff;
  max-width: 95vw;
  word-break: break-word;
  text-align: center;
}

figure.active {
  outline: 3px solid #0073aa;
  border-radius: 4px;
}

.sudruh-thumb.active img {
  outline: 3px solid #cc0000;
  border-radius: 4px;
}

.sudruh-main-image img {
  display: block;
  width: 100%;
  height: auto;
  cursor: zoom-in;
}

@media (max-width: 480px) {
  ul.products.columns-3 li.product {
    width: 100%;
  }
  
	.sudruh-gallery-wrapper {
		max-width: 95%;
	}
}

/*kosik na mobiloch*/
@media only screen and (max-width: 480px) {
  table.shop_table.cart {
    display: block;
    width: 100%;
    overflow-x: auto;
  }

  table.shop_table.cart thead {
    display: none;
  }

  table.shop_table.cart tbody tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 10px;
  }

  table.shop_table.cart td,
  table.shop_table.cart th {
    display: block;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
  }

  table.shop_table.cart td[data-title]::before {
    content: attr(data-title) ": ";
    font-weight: bold;
    display: inline-block;
  }

  table.shop_table.cart td.product-thumbnail img {
    width: 100%;
    height: auto;
  }

  table.shop_table.cart td.product-remove {
    text-align: right;
  }

  table.shop_table.cart .actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  table.shop_table.cart .actions .coupon {
    width: 100%;
  }

  table.shop_table.cart .checkout-button {
    width: 100%;
  }
  
  a.checkout-button.button.alt.wc-forward {
		max-width: 90%;
  }
  
  table.woocommerce-cart-form__contents button.button {
  		text-align: left;
  }
  
  .woocommerce-mini-cart-item a {
    display: flex;
    align-items: flex-start;
    gap: 10px;
	}

	.woocommerce-mini-cart-item a img {
		flex-shrink: 0;
		width: 60px;
		height: auto;
		border-radius: 4px;
		float: left;
		margin-right: 1ex;
	}

	.woocommerce-mini-cart-item a {
		flex-wrap: wrap;
		max-width: 100%;
		word-break: break-word;
	}

	.woocommerce-mini-cart-item a:last-of-type {
		flex: 1 1 auto;
		max-width: calc(100% - 70px); /* prevent overflow */
		display: block;
	}
	
	.woocommerce-mini-cart__image {
		float: left;
		margin-right: 10px;
		width: 60px;
		height: auto;
		display: block;
	}

	.woocommerce-mini-cart__product {
		overflow: hidden;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
	}

	.woocommerce-mini-cart__product .quantity {
		margin-left: auto;
		white-space: nowrap;
	}

	.woocommerce-mini-cart__product-name {
		margin-top: 0;
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 1.3;
	}

	.woocommerce-mini-cart__buttons {
		flex-direction: column;
		gap: 10px;
	}
	
	#customer_details, .woocommerce-additional-fields {
		width: auto;
	}
	
	span.woocommerce-input-wrapper>input {
		max-width: 95% !important;
	}
	
	form.checkout_coupon.woocommerce-form-coupon input.input-text, form.woocommerce-form.woocommerce-form-login.login input.input-text, form.woocommerce-ResetPassword.lost_reset_password input {
		max-width: 80%;
	}
}

@media screen and (max-width: 768px) {
  #customCueDetails {
    width: 100%;
    border-collapse: collapse;
  }

  #customCueDetails thead {
    display: none;
  }

  #customCueDetails tr {
    display: block;
    border-bottom: 1px solid #ccc;
    margin-bottom: 1rem;
    padding: 0.5rem 0;
  }

  #customCueDetails td {
    display: block;
    text-align: left;
    padding: 0.3rem 0;
  }

  #customCueDetails td:nth-child(1)::before {
    content: "Selection: ";
    font-weight: bold;
  }

  #customCueDetails td:nth-child(2)::before {
    content: "Option: ";
    font-weight: bold;
  }

  #customCueDetails td:nth-child(3)::before {
    content: "Price: ";
    font-weight: bold;
  }

  #customCueDetails td::before {
    display: inline-block;
    width: 90px;
    color: #333;
  }
  
  div#pricingTable {
		margin-left: -3rem;
  }
  
  #customCueDetails td:last-child {
		text-align: left !important;
  }
  
	.attribute {
		margin-left: 1.5rem;
		width: auto !important;
	}
	
	.post-11296.page.type-page.status-publish.hentry #pricingTable {
		margin:0;
	}
}
