/* ==========================================================================
   QB Jumbo – WooCommerce
   (loaded after WooCommerce's own stylesheets)
   ========================================================================== */

/* ---------- Shop archive ---------- */
.shop-layout { display: flex; flex-direction: row; gap: 12px; max-width: calc(var(--container) + 20px); margin: 0 auto 100px; padding: 10px; }
.shop-filters { flex: 0 0 238px; width: 238px; display: flex; flex-direction: column; gap: 12px; padding: 10px; background-color: var(--c-secondary); border-radius: 16px; align-self: stretch; }
.shop-main { flex: 1 1 auto; min-width: 0; }
.shop-main .products-grid { --cols: 3; --row-gap: 30px; --col-gap: 30px; }
.shop-main .woocommerce-info, .shop-main .woocommerce-no-products-found { margin-top: 0; }
.shop-filters .widget-title, .shop-filters .wpc-filter-title { color: var(--c-body); font-size: 16px; font-weight: 400; line-height: 24px; margin: 0 0 16px; }
.shop-filters .wpc-filters-main-wrap { background: transparent; }
.shop-filters__chips:empty { display: none; }
.shop-filters .widget { margin: 0 0 20px; }
.shop-filters .widget ul { list-style: none; margin: 0; padding: 0; }
.shop-filters .widget li { margin: 0 0 4px; }

/* Pagination (shop + archives) */
.woocommerce-pagination, .qbj-pagination { margin: 30px 0 0; text-align: center; font-size: 1rem; }
.woocommerce-pagination .page-numbers, .qbj-pagination .page-numbers { display: inline-block; margin: 0 5px; padding: 0; color: var(--c-pink); }
.woocommerce-pagination .page-numbers.current, .qbj-pagination .page-numbers.current { color: var(--c-body); }
.woocommerce-pagination span.page-numbers.prev, .woocommerce-pagination span.page-numbers.next { color: var(--c-body); }
.woocommerce-pagination a.page-numbers:hover, .qbj-pagination a.page-numbers:hover { color: var(--c-primary-dark); }
.woocommerce nav.woocommerce-pagination ul { border: 0; }

/* ---------- Breadcrumb ---------- */
.woocommerce .woocommerce-breadcrumb, .woocommerce-breadcrumb { margin: 0; padding: 0; color: var(--c-text); font-size: 1rem; line-height: 1.5; }
.woocommerce .woocommerce-breadcrumb a, .woocommerce-breadcrumb a { color: var(--c-pink); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--c-primary-dark); }

/* ---------- Single product ---------- */
.product-single__breadcrumb { max-width: calc(var(--container) + 20px); margin: 20px auto 0; padding: 0 10px; }
.product-single__top { max-width: calc(var(--container) + 20px); margin: 0 auto; padding: 0 10px; display: flex; flex-direction: row; }
.woocommerce div.product .product-single__gallery, .product-single__gallery { flex: 0 0 50%; width: 50%; padding: 10px; position: relative; }
.woocommerce div.product .product-single__summary, .product-single__summary { flex: 0 0 50%; width: 50%; padding: 10px; display: flex; flex-direction: column; gap: 6px; float: none; margin: 0; }
.woocommerce div.product div.images, .woocommerce div.product .product-single__gallery div.images { width: 100%; float: none; margin: 0; }
.woocommerce div.product div.summary { float: none; width: 50%; margin: 0; }

/* Title / price / text */
.woocommerce div.product .product_title { margin: 0; color: #000; font-size: 1.75rem; font-weight: 900; line-height: 1; }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 0; color: var(--c-text); font-size: 1.25rem; font-weight: 700; line-height: 1.5; }
.woocommerce div.product .product-single__summary > p.price { margin-bottom: .9rem; }
.woocommerce div.product p.price ins, .woocommerce div.product span.price ins { text-decoration: underline; font-weight: 700; background: none; }
.woocommerce div.product p.price del { opacity: 1; color: var(--c-text); }
.woocommerce-product-details__short-description { color: var(--c-body); }
.woocommerce-product-details__short-description p { margin: 0 0 14.4px; }
.size-table-link { margin: 0; }
.size-table-link a { color: var(--c-pink); }
.size-table-link a:hover { color: var(--c-primary-dark); }

/* Gallery (WooCommerce flexslider styled like the original compact gallery) */
.woocommerce-product-gallery { position: relative; background: #000; }
.woocommerce-product-gallery .flex-viewport { background: #fff; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery__image a { display: block; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce-product-gallery__image img { display: block; width: 100%; height: 414px; object-fit: cover; object-position: center; }
.woocommerce-product-gallery:not(.flexslider-on) .woocommerce-product-gallery__image:not(:first-child) { display: none; }
.woocommerce div.product div.images .flex-control-thumbs, .woocommerce-product-gallery .flex-control-thumbs {
	display: flex; gap: 6px; margin: 0; padding: 8px; overflow-x: auto; overflow-y: hidden; background: #000; scrollbar-width: none; list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar { display: none; }
.woocommerce div.product div.images .flex-control-thumbs li { flex: 0 0 100px; width: 100px !important; float: none; margin: 0; padding: 0; }
.woocommerce div.product div.images .flex-control-thumbs li img { width: 100px; height: 70px; object-fit: cover; opacity: .7; border: 2px solid transparent; transition: opacity .2s, border-color .2s; cursor: pointer; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: #fff; }
.woocommerce-product-gallery .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.woocommerce-product-gallery .flex-direction-nav a { position: absolute; top: calc((100% - 82px) / 2); transform: translateY(-50%); z-index: 3; width: 30px; height: 50px; overflow: hidden; color: transparent; }
.woocommerce-product-gallery .flex-direction-nav a::before { content: ""; position: absolute; inset: 0; margin: auto; width: 16px; height: 16px; border: solid #fff; border-width: 0 2px 2px 0; filter: drop-shadow(0 0 2px rgba(0, 0, 0, .6)); }
.woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 8px; }
.woocommerce-product-gallery .flex-direction-nav .flex-prev::before { transform: rotate(135deg); }
.woocommerce-product-gallery .flex-direction-nav .flex-next { right: 8px; }
.woocommerce-product-gallery .flex-direction-nav .flex-next::before { transform: rotate(-45deg); }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { top: 10px; right: 10px; width: 28px; height: 28px; background: rgba(0, 0, 0, .25); border: 1px solid rgba(255, 255, 255, .8); border-radius: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::before { border-color: #fff; width: 9px; height: 9px; top: 7px; left: 7px; }
.woocommerce div.product div.images .woocommerce-product-gallery__trigger::after { background: #fff; top: 17px; left: 17px; }
.woocommerce span.onsale { display: none; }

/* Add to cart / variations */
.woocommerce div.product form.cart { margin: 0; }
.woocommerce div.product form.cart .variations { margin-bottom: 1em; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { border: 0; vertical-align: top; line-height: 2em; }
.woocommerce div.product form.cart .variations th.label { padding: 15px; font-weight: 700; color: var(--c-body); }
.woocommerce div.product form.cart .variations td.value { padding: 15px 15px 15px 0; }
.woocommerce div.product form.cart .variations tr { display: block; padding: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; text-align: left; }
.woocommerce div.product form.cart .variations select { max-width: 100%; min-width: 75%; }
.woocommerce div.product form.cart .reset_variations { font-size: .75em; color: var(--c-pink); }
.woocommerce div.product .woocommerce-variation-price, .woocommerce div.product .woocommerce-variation-availability { margin-bottom: 1em; }
.woocommerce div.product .stock { color: #958e09; }
.woocommerce div.product form.cart div.quantity { margin-right: 14px; }
.woocommerce .quantity .qty { width: 58px; height: 40px; padding: 0 12px; text-align: left; border: 1px solid #69727d; border-radius: 0; }
.woocommerce div.product form.cart .button, .woocommerce div.product form.cart button.single_add_to_cart_button,
.woocommerce button.button.alt.single_add_to_cart_button {
	height: 40px; padding: 0 16px; border: 0; border-radius: 3px; background-color: var(--c-primary); color: var(--c-text);
	font-size: 1rem; font-weight: 700; line-height: 40px; transition: all .2s;
}
.woocommerce div.product form.cart .button:hover, .woocommerce button.button.alt.single_add_to_cart_button:hover { background-color: var(--c-primary-dark); color: var(--c-text); }
.woocommerce div.product form.cart .button.disabled, .woocommerce div.product form.cart .button:disabled,
.woocommerce button.button.alt.single_add_to_cart_button.disabled { opacity: .5; background-color: var(--c-primary); color: var(--c-text); }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart, .woocommerce div.product form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; align-items: center; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart > *:not(.quantity):not(.single_add_to_cart_button) { flex-basis: 100%; }

/* "Zamiluješ si je" flip boxes */
.benefits { margin-top: 48px; }
.benefits__title { max-width: calc(var(--container) + 20px); margin: 0 auto; padding: 10px; text-align: center; color: #000; font-size: 3rem; font-weight: 900; line-height: 1; text-transform: uppercase; }
.benefits__grid { max-width: calc(var(--container) + 20px); margin: 0 auto; padding: 10px; display: flex; }
.flip-box { position: relative; flex: 1 1 0; height: 280px; margin: 0 10px; overflow: hidden; outline-offset: 2px; }
.flip-box__front, .flip-box__back { position: absolute; inset: 0; transition: transform .6s ease-in-out, opacity .6s; background-size: cover; background-position: center; background-repeat: no-repeat; }
.flip-box__back { background-color: var(--c-text); transform: translateY(100%); }
.flip-box:hover .flip-box__front, .flip-box:focus .flip-box__front { transform: translateY(-100%); }
.flip-box:hover .flip-box__back, .flip-box:focus .flip-box__back { transform: none; }
.flip-box__overlay { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; padding: 35px; text-align: center; }
.flip-box__front .flip-box__overlay { background-color: rgba(0, 0, 0, .5); }
.flip-box__title { margin: 0 0 10px; color: #fff; font-size: 1.5em; font-weight: 600; line-height: 1; }
.flip-box__front .flip-box__title { margin: 0; }
.flip-box__desc { margin: 0; color: #fff; font-size: 14px; line-height: 1.5; }

/* Accordion */
.accordion { max-width: calc(var(--container) + 20px); margin: 0 auto; padding: 10px; }
.accordion__item { border: 0; }
.accordion__title { display: flex; align-items: center; gap: 10px; padding: 20px 0; border-bottom: 2px solid #000; cursor: pointer; list-style: none; color: #000; background: #fff; }
.accordion__title::-webkit-details-marker { display: none; }
.accordion__title::marker { content: ""; }
.accordion__item[open] > .accordion__title { border-bottom-width: 0; }
.accordion__title h2 { margin: 0; color: inherit; font-size: 1.5rem; font-weight: 900; line-height: 1.2; text-transform: uppercase; }
.accordion__item[open] > .accordion__title { color: #1f2124; }
.accordion__icon { display: inline-flex; flex: none; width: 16px; height: 18px; color: inherit; }
.accordion__icon .qbj-icon { width: 16px; height: 18px; }
.accordion__icon .icon-opened { display: none; }
.accordion__item[open] .icon-opened { display: inline-block; }
.accordion__item[open] .icon-closed { display: none; }
.accordion__content { border-bottom: 2px solid #000; }
.accordion__inner { padding: 20px; }
.accordion__inner.product-description { color: var(--c-text); }
.product-description { color: var(--c-body); }
.product-description p { margin: 0 0 14.4px; }

/* Vlastnosti a funkce (mirrors the original container structure) */
.accordion__inner.product-features { display: flex; flex-direction: column; padding: 10px; }
.pf-block { padding: 10px; }
.pf-block--grid { margin-bottom: 24px; }
.pf-block--stack { display: flex; flex-direction: column; gap: 12px; }
.pf-block--composition { margin-top: 24px; }
.pf-heading { margin: 0; color: #000; font-size: 1.35rem; font-weight: 700; line-height: 1; }
.pf-cols { display: flex; }
.pf-col { flex: 1 1 0; display: flex; flex-direction: column; gap: 12px; }
.pf-text { color: #000; }
.pf-text > :last-child { margin-bottom: 0; }
.pf-text ul, .pf-text ol { margin: 0; padding-left: 40px; }
.pf-text p { margin: 0 0 14.4px; }
.feature-boxes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.feature-box { display: flex; align-items: center; gap: 6px; }
.feature-box__icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 34px; height: 34px; padding: 8px; border-radius: 50%; background-color: var(--c-primary); color: #fff; transition: background-color .3s; }
.feature-box__icon .qbj-icon { width: 18px; height: 18px; }
.feature-box__title { margin: 8px 0 6px; color: #000; font-size: 1rem; font-weight: 400; line-height: 1.2; }
.pf-info__title { margin: 8px 0 16px; color: #000; font-size: 1.35rem; font-weight: 700; line-height: 1.2; }
.woocommerce table.shop_attributes { color: #000; font-size: .9em; border-top: 1px dotted rgba(0, 0, 0, .1); margin-bottom: 1.618em; }
.woocommerce table.shop_attributes th { width: 150px; font-weight: 700; padding: 8px; line-height: 1.5; border-top: 0; border-bottom: 1px dotted rgba(0, 0, 0, .1); text-align: center; }
.woocommerce table.shop_attributes td { padding: 0 0 0 12px; line-height: 1.5; font-style: italic; border-top: 0; border-bottom: 1px dotted rgba(0, 0, 0, .1); }
.woocommerce table.shop_attributes td p { padding: 8px 0; margin: 0; }
.woocommerce table.shop_attributes tr:nth-child(odd) td, .woocommerce table.shop_attributes tr:nth-child(odd) th { background: rgba(128, 128, 128, .07); }
.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th { background: rgba(0, 0, 0, .025); }

/* Size tables */
.size-tables { color: #000; }
.accordion__inner.size-tables { padding: 10px; }
.size-tables h4 { margin: 8px 0 16px; font-size: 1.25rem; font-weight: 700; line-height: 1.2; }
.size-tables .table-scroll { overflow-x: auto; }
.size-tables table { margin: 0 0 15px; }
.size-tables table * { font-size: .8rem !important; }
.size-tables table td, .size-tables table th { padding: 4px; text-align: left; }
.size-tables table th { background-color: var(--c-primary); }

/* Kategorie e-shopu */
.shop-cats { margin-top: 64px; }
.shop-cats__title { max-width: calc(var(--container) + 20px); margin: 0 auto; padding: 10px; color: #000; font-size: 1.55rem; font-weight: 900; line-height: 1; text-transform: uppercase; }
.cat-tiles { list-style: none; margin: 0; padding: 10px; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 40px 20px; }
.cat-tiles a { display: block; }
.cat-tiles img { display: block; width: 100%; height: auto; margin: 0 0 16px; aspect-ratio: 1 / 1; object-fit: cover; }

/* ---------- Cart / checkout / account ---------- */
.content-page--shop { padding-bottom: 110px; }
.content-page--shop .content-page__title { margin: 74px 0 20px; font-size: 3rem; line-height: 1; }
.content-page--shop .entry-content { display: flow-root; }
.back-to-cart { margin: 42px 0 0; }
.back-to-cart + .content-page__title { margin: 12px 0 0; }
.checkout-note { margin: 12px 0 34.4px; color: var(--c-text); }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	border-radius: 3px; font-weight: 700; background-color: #e9e6ed; color: #515151;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button, .woocommerce #place_order {
	background-color: var(--c-primary); color: var(--c-text);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce #place_order:hover {
	background-color: var(--c-primary-dark); color: #000;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1px solid #666; border-radius: 3px; padding: .5rem 1rem; }

/* ---------- Cart page: mirrors the original Elementor Pro cart widget ---------- */
.qbj-cart { font-family: "Roboto", sans-serif; }
.qbj-cart a, .qbj-cart h2 { font-family: var(--font); }
.qbj-cart .woocommerce table tbody tr:hover > td, .qbj-cart .woocommerce table tbody tr:hover > th { background-color: inherit; }
.qbj-cart .e-cart__container { display: grid; align-items: stretch; grid-template-columns: 59% auto; gap: 30px; }
.qbj-cart .e-cart-section { margin: 0 0 30px; padding: 16px 30px; background-color: #fff; border: 1px solid #d5d8dc; border-radius: 3px; }
.qbj-cart .e-cart-content { color: #69727d; font-size: 15px; font-weight: 400; line-height: 23px; }
.qbj-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward) { color: var(--c-pink); }
.qbj-cart .woocommerce a:not(.add_to_cart_button):not(.restore-item):not(.wc-backward):not(.wc-forward):hover { color: #5bc0de; }
.qbj-cart .woocommerce .product-name a { color: var(--c-pink); }
.qbj-cart .woocommerce button.button { padding: .88rem 2rem; width: auto; background-color: #fff; border: 2px solid var(--c-primary); border-radius: 3px; color: #000; line-height: 1; }
.qbj-cart .woocommerce button.button:hover { border-color: var(--c-primary-dark); background-color: var(--c-primary-dark); color: #000; transition-duration: .3s; }
.qbj-cart .woocommerce button.button:disabled, .qbj-cart .woocommerce button.button:disabled[disabled] { padding: .88rem 2rem; color: #000; }
.qbj-cart .woocommerce #shipping_method li label { color: #69727d; }
.qbj-cart .woocommerce #shipping_method li input { vertical-align: middle; }
.qbj-cart .woocommerce .shipping-calculator-form { margin-top: 15px; }
.qbj-cart .woocommerce .woocommerce-shipping-destination { margin-bottom: 0; color: #69727d; }
.qbj-cart .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.qbj-cart .woocommerce .cart_totals h2 { margin: 0 0 1rem; padding: 0 20px 8px 0; color: #000; font-size: 14px; font-weight: 700; line-height: 1.2; text-align: left; }
.qbj-cart .woocommerce .cart_totals table.shop_table_responsive tbody th { display: none; }
.qbj-cart .woocommerce .cart_totals table.shop_table td { padding: 12px 12px 9px 0; text-align: right !important; }
.qbj-cart .woocommerce .cart_totals table.shop_table td::before { content: attr(data-title); float: left; color: #69727d; font-weight: 700; }
.qbj-cart .woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals td { padding-right: 0; text-align: left !important; }
.qbj-cart .woocommerce .cart_totals table.shop_table tr.woocommerce-shipping-totals td::before { display: block; width: 100%; margin-bottom: 10px; }
.qbj-cart .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount { color: #69727d; font-weight: 700; }
.qbj-cart .woocommerce .cart_totals table.shop_table tr.order-total td { border-top: 0; }
.qbj-cart .woocommerce .cart_totals .form-row { margin-bottom: 6px; }
.qbj-cart .woocommerce .form-row { margin: 0; padding: 3px 0; }
.qbj-cart .woocommerce .input-text.qty { min-height: 28px; max-height: 28px; padding: 1px 2px; background-color: transparent; border: 1px solid #d5d8dc; border-radius: 3px; color: #000; font-size: 14px; text-align: left; }
.qbj-cart .woocommerce .wc-proceed-to-checkout { display: flex; flex-direction: column; flex-wrap: wrap; align-items: stretch; padding: 1em 0 0; }
.qbj-cart .woocommerce .wc-proceed-to-checkout .checkout-button { width: auto; min-height: auto; margin-bottom: 0; padding: 15px 1em; background-color: var(--c-primary); border-radius: 3px; color: var(--c-text); font-size: 15px; text-align: center; }
.qbj-cart .woocommerce .wc-proceed-to-checkout .checkout-button:hover { background-color: var(--c-primary-dark); color: #000; transition-duration: .3s; }
.qbj-cart .woocommerce a.remove { width: auto; background: transparent; color: #000 !important; }
.qbj-cart .woocommerce a.remove:hover { background: transparent; color: #5bc0de !important; }
.qbj-cart .woocommerce .coupon .button { float: right; width: 100%; }
.qbj-cart .woocommerce .coupon .form-row { padding: 0; }
.qbj-cart .woocommerce .coupon-col { display: flex; }
.qbj-cart .woocommerce .coupon-col-start { flex: 2; padding-right: 30px; }
.qbj-cart .woocommerce .coupon-col-end { flex: 1; }
.qbj-cart .woocommerce form .form-row input#coupon_code { padding: .5em; background-color: #fff; border: 1px solid rgba(32, 7, 7, .8); border-radius: 4px; color: #000; font-size: 14px; line-height: normal; }
.qbj-cart .woocommerce table.shop_table { margin: 0 -1px 0 0; border: 0 solid; border-radius: 5px; font-size: .9em; }
.qbj-cart .woocommerce table.shop_table td, .qbj-cart .woocommerce table.shop_table th, .qbj-cart .woocommerce table.shop_table tr { border: 0 solid; }
.qbj-cart .woocommerce table.shop_table tr:nth-child(odd) > td, .qbj-cart .woocommerce table.shop_table tr:nth-child(odd) > th { background-color: transparent; }
.qbj-cart .woocommerce table.shop_table .actions { padding: 16px 0 0; }
.qbj-cart .woocommerce table.shop_table .product-remove a { display: inline-block; }
.js .qbj-cart .woocommerce table.shop_table.cart tr.cart-actions-row { display: none; }
.qbj-cart .woocommerce table.cart img { display: block; width: 55px; height: auto; }
.qbj-cart .woocommerce table.cart td { padding: 20px 20px 20px 0; vertical-align: middle; }
.qbj-cart .woocommerce table.cart td span { color: #000; font-size: 14px; font-weight: 400; }
.qbj-cart .woocommerce table.cart td.actions, .qbj-cart .woocommerce table.cart td.product-name, .qbj-cart .woocommerce table.cart td.product-price,
.qbj-cart .woocommerce table.cart td.product-quantity, .qbj-cart .woocommerce table.cart td.product-remove, .qbj-cart .woocommerce table.cart td.product-subtotal,
.qbj-cart .woocommerce table.cart td.product-thumbnail { border-top: 1px solid #d5d8dc; }
.qbj-cart .woocommerce table.cart td.product-remove { padding-left: 0; padding-right: 0; }
.qbj-cart .woocommerce .cart th { margin-top: 0; padding: 0 20px 8px 0; color: #000; font-size: 14px; font-weight: 700; line-height: 1.5; }
.qbj-cart .woocommerce .cart td::before { color: #000; }
.qbj-cart .woocommerce .product-name .variation { color: #000; }
@media (min-width: 767px) {
	.qbj-cart .woocommerce table.cart tbody tr:first-child td { border-top: none; }
}
@media (min-width: 1024px) {
	.qbj-cart .e-cart-section:last-child { margin: 0; }
}
@media (max-width: 1024px) {
	.qbj-cart .e-cart__container { grid-template-columns: 1fr; }
	.qbj-cart .woocommerce .coupon-col { display: block; }
	.qbj-cart .woocommerce .coupon-col-start { padding-right: 0; }
	.qbj-cart .woocommerce .coupon-col-end { text-align: center; }
	.qbj-cart .woocommerce .coupon { margin: 0; }
	.qbj-cart .woocommerce form .form-row input#coupon_code { width: 100%; margin: 0 0 15px; }
	.qbj-cart .woocommerce .coupon .button { float: none; width: 100%; }
	.qbj-cart .woocommerce table.cart tr { border-top: 1px solid #d5d8dc; }
	.qbj-cart .woocommerce table.cart tr:first-child { border-top: none; }
	.qbj-cart .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background-color: transparent; }
	.qbj-cart .woocommerce .cart_totals .shop_table_responsive td { padding-left: 0; }
}
@media (max-width: 768px) {
	.qbj-cart .woocommerce table.cart td.actions, .qbj-cart .woocommerce table.cart td.product-name, .qbj-cart .woocommerce table.cart td.product-price,
	.qbj-cart .woocommerce table.cart td.product-quantity, .qbj-cart .woocommerce table.cart td.product-remove, .qbj-cart .woocommerce table.cart td.product-subtotal,
	.qbj-cart .woocommerce table.cart td.product-thumbnail { border-top-width: 0; }
	.qbj-cart .woocommerce table.cart td { padding-left: 0; padding-right: 0; }
}
@media (max-width: 767px) {
	.qbj-cart .woocommerce table.cart { padding: 0; }
	.qbj-cart .woocommerce table.cart tr { padding: 16px 28px; }
	.qbj-cart .woocommerce table.cart td.actions { padding: 0; }
}

/* ---------- Checkout: mirrors the original Elementor Pro checkout widget ---------- */
.qbj-checkout { color: #69727d; font-family: "Roboto", sans-serif; font-size: 14px; line-height: 21px; }
.qbj-checkout a { color: #5bc0de; font-family: var(--font); }
.qbj-checkout a:hover { color: #5bc0de; }
.qbj-checkout ::placeholder { color: inherit; font-family: inherit; opacity: .6; }
.qbj-checkout table tbody tr:hover > td, .qbj-checkout table tbody tr:hover > th { background-color: transparent; }
.qbj-checkout .select2-container--default .select2-selection--single { height: 45px; background-color: #f9fafa; border: none; border-radius: 0; color: #69727d; }
.qbj-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder { color: #69727d; }
.qbj-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0 1rem; color: #69727d; line-height: 45px; }
.qbj-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { height: 45px; }
.qbj-checkout .select2-container { margin-bottom: 4px; }
.qbj-checkout .e-checkout__container { display: grid; align-items: stretch; grid-template-columns: 56% auto; gap: 24px; }
.qbj-checkout .e-checkout-secondary-title { margin-bottom: 0; color: #69727d; }
.qbj-checkout .e-woocommerce-coupon-nudge { text-align: left; }
.qbj-checkout .e-coupon-anchor { margin-top: 24px; }
.qbj-checkout .e-coupon-anchor[hidden] { display: none; }
.qbj-checkout .e-coupon-anchor-description { display: block; margin-bottom: 3px; color: #69727d; }
.qbj-checkout .e-apply-coupon { width: 90%; }
.qbj-checkout #ship-to-different-address { margin: 13px 0 30px; padding-left: 12px; }
.qbj-checkout #ship-to-different-address label { display: inline-block; line-height: 1; vertical-align: middle; }
.qbj-checkout #ship-to-different-address span { font-weight: 400; }
.qbj-checkout .woocommerce #customer_details .form-row, .qbj-checkout .woocommerce .e-coupon-box .form-row { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
.qbj-checkout .woocommerce #customer_details .form-row label, .qbj-checkout .woocommerce .e-coupon-box .form-row label { margin-bottom: 3px; color: #69727d; line-height: 2; }
.qbj-checkout .woocommerce #customer_details .form-row .input-text, .qbj-checkout .woocommerce #customer_details .form-row select, .qbj-checkout .woocommerce #customer_details .form-row textarea,
.qbj-checkout .woocommerce .e-coupon-box .form-row .input-text {
	padding: 16px; background-color: #f9fafa; border: none; border-radius: 0; color: #69727d; font-size: 14px; font-weight: 400; line-height: normal;
}
.qbj-checkout .woocommerce #customer_details .form-row .input-text:focus, .qbj-checkout .woocommerce #customer_details .form-row select:focus, .qbj-checkout .woocommerce #customer_details .form-row textarea:focus,
.qbj-checkout .woocommerce .e-coupon-box .form-row .input-text:focus { background-color: #f9fafa; border-color: #69727d; color: #69727d; transition-duration: .3s; }
.qbj-checkout .woocommerce #customer_details #billing_address_1_field { margin-bottom: 5px; }
.qbj-checkout .woocommerce .create-account, .qbj-checkout .woocommerce .e-coupon-box .form-row { margin-bottom: 0 !important; }
.qbj-checkout .woocommerce #shipping_method li input, .qbj-checkout .woocommerce .input-radio { vertical-align: middle; }
.qbj-checkout .woocommerce-form__input-checkbox { margin: 0 5px 0 0; vertical-align: middle; }
.qbj-checkout .woocommerce-form__label-for-checkbox span { position: relative; top: 2px; color: #69727d; }
.qbj-checkout .woocommerce #shipping_method li label, .qbj-checkout .woocommerce .wc_payment_method label { color: #69727d; }
.qbj-checkout .woocommerce .wc_payment_method label { display: inline; }
.qbj-checkout .woocommerce button.woocommerce-button { padding: 1rem; background-color: #fff; border: 2px solid var(--c-primary); border-radius: 8px; color: #000; font-weight: 700; line-height: 1; }
.qbj-checkout .woocommerce button.woocommerce-button:hover { background-color: var(--c-primary-dark); border-color: var(--c-primary-dark); color: #000; transition-duration: .3s; }
.qbj-checkout .woocommerce #coupon_code { margin-right: 1%; }
.qbj-checkout .woocommerce-info { padding: 0; background-color: transparent; border-top-color: transparent; }
.qbj-checkout .woocommerce-privacy-policy-text p { margin-top: 25px; font-size: 12px; font-weight: 400; }
.qbj-checkout .woocommerce #customer_details .col-1, .qbj-checkout .woocommerce .e-checkout__order_review, .qbj-checkout .woocommerce .e-coupon-box,
.qbj-checkout .woocommerce .shipping_address, .qbj-checkout .woocommerce .woocommerce-additional-fields, .qbj-checkout .woocommerce .woocommerce-checkout #payment {
	display: block; margin: 0 0 24px; padding: 12px; background: #fff; border: 1px solid #d5d8dc; border-radius: 3px;
}
.qbj-checkout .woocommerce .e-checkout-message, .qbj-checkout .woocommerce .woocommerce-checkout #payment .payment_box, .qbj-checkout .woocommerce .woocommerce-privacy-policy-text { color: #69727d; font-weight: 400; }
.qbj-checkout .woocommerce #customer_details.col2-set .col-1 { margin-bottom: 0; }
.qbj-checkout .woocommerce #customer_details.col2-set .col-2 { padding-top: 15px; }
.qbj-checkout .woocommerce-checkout .col2-set .col-1, .qbj-checkout .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
.qbj-checkout .woocommerce #order_review_heading { text-align: left; }
.qbj-checkout .woocommerce .shop_table { margin: 0 -1px 0 0; border: 0; border-radius: 5px; font-size: 14px; }
.qbj-checkout .woocommerce .shop_table thead { background-color: transparent; }
.qbj-checkout .woocommerce .shop_table thead tr th { padding-top: 0; }
.qbj-checkout .woocommerce .shop_table tbody td { color: #000; }
.qbj-checkout .woocommerce .shop_table tbody td .product-quantity { font-weight: 400; }
.qbj-checkout .woocommerce .shop_table tfoot td, .qbj-checkout .woocommerce .shop_table tfoot th { color: #69727d; }
.qbj-checkout .woocommerce .shop_table td, .qbj-checkout .woocommerce .shop_table th, .qbj-checkout .woocommerce .shop_table tr { padding: 15px 12px 15px 0; border: 0; font-weight: inherit; }
.qbj-checkout .woocommerce .shop_table th, .qbj-checkout .woocommerce .shop_table tfoot td { font-weight: 700; }
.qbj-checkout .woocommerce .shop_table .order-total td, .qbj-checkout .woocommerce .shop_table .order-total th { padding-bottom: 0; }
.qbj-checkout .woocommerce .shop_table tr:nth-child(odd) > td, .qbj-checkout .woocommerce .shop_table tr:nth-child(odd) > th,
.qbj-checkout .woocommerce .shop_table tr:nth-child(even) > td, .qbj-checkout .woocommerce .shop_table tr:nth-child(even) > th { background-color: transparent; }
.qbj-checkout .woocommerce .woocommerce-checkout-review-order-table .cart_item td { border-bottom: 0 solid #69727d; color: #000; font-weight: 400; }
.qbj-checkout .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-name { max-width: 150px; padding-right: 40px; }
.qbj-checkout .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-total { vertical-align: top; }
.qbj-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot td, .qbj-checkout .woocommerce .woocommerce-checkout-review-order-table tfoot th,
.qbj-checkout .woocommerce .woocommerce-checkout-review-order-table thead th { color: #69727d; vertical-align: top; }
.qbj-checkout .woocommerce .woocommerce-checkout-review-order-table .order-total td, .qbj-checkout .woocommerce .woocommerce-checkout-review-order-table .order-total th { border-top: 0 solid #69727d; }
.qbj-checkout .woocommerce-checkout-review-order-table th, .qbj-checkout .woocommerce-checkout-review-order-table td { width: auto; text-align: left; }
.qbj-checkout .woocommerce-checkout-review-order-table th:first-child, .qbj-checkout .woocommerce-checkout-review-order-table td:first-child { width: 70%; }
.qbj-checkout .woocommerce-checkout-review-order-table th:last-child, .qbj-checkout .woocommerce-checkout-review-order-table td:last-child { width: 30%; text-align: right; }
.qbj-checkout .woocommerce-shipping-totals th, .qbj-checkout .woocommerce-shipping-totals td { display: block; min-width: 150%; text-align: left; }
.qbj-checkout .woocommerce-shipping-totals td { max-width: 70px; }
.qbj-checkout .woocommerce-shipping-totals td li { text-align: left; }
.qbj-checkout .woocommerce [packetery-renderer="after-rate"] .packeta-widget-button button { width: auto; }
.qbj-checkout .woocommerce h3 { margin: 0 0 30px; color: #000; font-family: var(--font); font-size: 14px; font-weight: 700; line-height: 1.2; }
.qbj-checkout .woocommerce-checkout .form-row > span { margin-bottom: 3px; color: #69727d; font-size: 14px; font-weight: 400; }
.qbj-checkout .woocommerce-checkout .form-row-first, .qbj-checkout .woocommerce-checkout .form-row-last { width: 48%; }
.qbj-checkout .woocommerce-checkout .form-row .input-checkbox { margin: 0 5px 0 0; vertical-align: middle; }
.qbj-checkout .woocommerce-checkout .woocommerce-billing-fields h3 { text-align: left; }
.qbj-checkout .woocommerce-checkout .woocommerce-account-fields .form-row, .qbj-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row,
.qbj-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row { margin-bottom: 5px; }
.qbj-checkout .woocommerce-checkout .woocommerce-account-fields .form-row:last-child, .qbj-checkout .woocommerce-checkout .woocommerce-billing-fields .form-row:last-child,
.qbj-checkout .woocommerce-checkout .woocommerce-shipping-fields .form-row:last-child { margin-bottom: 15px; }
.qbj-checkout .woocommerce-form-coupon-toggle { display: none; }
.qbj-checkout .woocommerce-additional-fields h3 { text-align: left; }
/* WooCommerce 11+ always prints this heading; the original layout (WooCommerce 10) did not when shipping is needed. */
.qbj-checkout .col-2:has(#ship-to-different-address) .woocommerce-additional-fields > h3 { display: none; }
.qbj-checkout .woocommerce-shipping-fields .shipping_address { margin-bottom: 20px; }
.qbj-checkout .woocommerce-checkout #payment .payment_methods { padding: 0; border-bottom: none; }
.qbj-checkout .woocommerce-checkout #payment .payment_methods .payment_box { background-color: #f9fafa; }
.qbj-checkout .woocommerce-checkout #payment .payment_methods .payment_box::before { display: none; }
.qbj-checkout .woocommerce-checkout #payment .payment_methods li { line-height: 21px; }
.qbj-checkout .woocommerce-checkout #payment .payment_methods li label a { padding-left: 15px; font-size: 12px; }
.qbj-checkout .woocommerce-checkout #payment .place-order { display: flex; flex-direction: column; flex-wrap: wrap; align-items: stretch; margin-bottom: 0; padding: 0; }
.qbj-checkout .woocommerce-checkout #payment #place_order { float: none; width: auto; min-height: auto; padding: 1em; background-color: var(--c-primary); border-radius: 3px; color: var(--c-text); font-family: "Roboto", sans-serif; font-size: 14px; }
.qbj-checkout .woocommerce-checkout #payment #place_order:hover { background-color: var(--c-primary-dark); color: #000; transition-duration: .3s; }
.qbj-checkout .woocommerce-checkout #payment .woocommerce-info::before { display: none; }
.qbj-checkout .woocommerce .coupon-container-grid { display: grid; grid-template-columns: auto auto; align-items: center; }
.qbj-checkout .woocommerce .coupon-container-grid .coupon-col-2 { text-align: right; }
.qbj-checkout .woocommerce #account_password_field { margin-bottom: 10px; }
.qbj-checkout .woocommerce .product-name .variation { color: #000; font-size: 14px; font-style: normal; line-height: 21px; }
.qbj-checkout .e-coupon-box .woocommerce-message, .qbj-checkout .e-coupon-box .woocommerce-error { margin: 0 0 12px; }
@media (min-width: 1024px) {
	.qbj-checkout .woocommerce .woocommerce-additional-fields { margin: 0; }
}
@media (max-width: 1024px) {
	.qbj-checkout .e-checkout__container { grid-template-columns: 1fr; }
	.qbj-checkout .e-apply-coupon { width: auto; }
	.qbj-checkout .woocommerce #coupon_code { width: 100%; margin: 0 0 15px; }
	.qbj-checkout .woocommerce-checkout .form-row-first, .qbj-checkout .woocommerce-checkout .form-row-last { width: 100%; }
	.qbj-checkout .woocommerce-checkout #payment .payment_methods li label a { float: none; padding-left: 10px; font-size: 11px; }
	.qbj-checkout .woocommerce-checkout #payment .payment_methods li label img { width: 55px; }
	.qbj-checkout .woocommerce .coupon-container-grid { display: block; }
	.qbj-checkout .woocommerce .coupon-container-grid .coupon-col-2 { text-align: left; }
}
.woocommerce-account .content-page--shop .entry-content { margin-bottom: 0; }

/* Thank-you page ("Objednávka přijata") – original Elementor layout: 2/3 order, 1/3 athletes */
.thankyou-page { max-width: calc(var(--container) + 20px); margin: 0 auto; padding: 42px 10px 0; }
.thankyou-page__title { margin: 0 0 10px; color: #000; font-size: 30px; font-weight: 900; line-height: 1; }
.thankyou-page__row { display: flex; padding: 10px 0; }
.thankyou-page__main { flex: 0 0 66.6666%; width: 66.6666%; min-width: 0; padding: 10px; }
.thankyou-page__side { flex: 0 0 33.3333%; width: 33.3333%; min-width: 0; padding: 10px; }
.thankyou-page__side-title { margin: 0 0 12px; color: #000; font-size: 24px; font-weight: 900; line-height: 1; }
.thankyou-page .athletes-grid { --cols: 2; gap: 30px; }
.thankyou-page__main .woocommerce-order > p:first-child,
.thankyou-page__main .woocommerce-thankyou-order-received { margin-top: 0; }
.thankyou-page__main .woocommerce ul.order_details { margin-bottom: 2em; }
.thankyou-page__main .woocommerce-order-details,
.thankyou-page__main .woocommerce-customer-details { margin-bottom: 2em; }
.thankyou-page__main .woocommerce table.shop_table { margin-bottom: 0; }
@media only screen and (max-width: 768px) {
	.woocommerce-customer-details .col2-set .col-1 { margin-bottom: 24px; }
}

/* ---------- Mini cart (side cart) – original Elementor Pro "Menu Cart" look ---------- */
.side-cart .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1 1 auto; font-size: 14px; line-height: 21px; }
.side-cart .woocommerce-mini-cart__empty-message { margin: 0; color: var(--c-body); font-size: 14px; font-weight: 600; text-align: left; }
.qbj-mc__products { max-height: calc(100vh - 240px); overflow: hidden auto; -webkit-overflow-scrolling: touch; }
.qbj-mc__product { position: relative; display: grid; grid-template-columns: 28% auto; grid-template-rows: auto auto; padding: 0 30px 20px 0; border-bottom: 1px solid #d5d8dc; }
.qbj-mc__product:not(:first-of-type) { padding-top: 20px; }
.qbj-mc__product:last-child { border: none; }
.qbj-mc__product-image { grid-row: 1 / 3; width: 100%; }
.qbj-mc__product-image a, .qbj-mc__product-image img { display: block; }
.qbj-mc__product-image img { width: 100%; height: auto; }
.qbj-mc__product-name, .qbj-mc__product-price { grid-column: 2 / 3; padding-left: 20px; font-size: 14px; }
.qbj-mc__product-name { margin: 0; }
.qbj-mc__product-name a { color: var(--c-pink); font-weight: 600; transition: color .3s; }
.qbj-mc__product-name a:hover { color: var(--c-primary-dark); }
.qbj-mc__product-name dl.variation { display: grid; grid-template-columns: max-content auto; margin: 10px 0; color: #1f2124; font-size: 12px; }
.qbj-mc__product-name dl.variation dt { grid-column-start: 1; margin: 0; font-weight: 400; }
.qbj-mc__product-name dl.variation dd { grid-column-start: 2; margin: 0 0 0 5px; padding: 0; }
.qbj-mc__product-name dl.variation dd p { margin: 0; }
.qbj-mc__product-price { align-self: end; color: #d5d8dc; font-weight: 600; }
.qbj-mc__product-remove { position: absolute; right: 0; bottom: 20px; width: 22px; height: 22px; overflow: hidden; border: 1px solid #d5d8dc; border-radius: 22px; color: #69727d; text-align: center; transition: .3s; }
.qbj-mc__product-remove::before, .qbj-mc__product-remove::after { content: ""; position: absolute; top: 50%; left: 25%; z-index: 1; width: 50%; height: 1px; margin-top: -1px; background: #d5d8dc; transition: .3s; }
.qbj-mc__product-remove::before { transform: rotate(45deg); }
.qbj-mc__product-remove::after { transform: rotate(-45deg); }
.qbj-mc__product-remove > a.remove { position: absolute; inset: 0; z-index: 2; display: block; width: 100%; height: 100%; overflow: hidden; opacity: 0; font-size: 0; }
.qbj-mc__product-remove:hover, .qbj-mc__product-remove:focus-within { border-color: #69727d; }
.qbj-mc__product-remove:hover::before, .qbj-mc__product-remove:hover::after, .qbj-mc__product-remove:focus-within::before, .qbj-mc__product-remove:focus-within::after { background: #69727d; }
.qbj-mc__subtotal { margin: 0; padding: 20px 0; border-top: 1px solid #d5d8dc; border-bottom: 1px solid #d5d8dc; color: var(--c-body); font-size: 20px; font-weight: 600; line-height: 1.5; text-align: center; }
.qbj-mc__subtotal strong { font-weight: 900; }
.qbj-mc__footer-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; padding-top: 20px; font-size: 20px; text-align: center; }
.qbj-mc__footer-buttons .button, .woocommerce .qbj-mc__footer-buttons a.button { display: inline-block; height: fit-content; margin: 0; padding: 15px; border-radius: 0; background-color: #69727d; color: #fff; font-family: var(--font); font-size: 16px; font-weight: 600; line-height: 1; text-align: center; }
.qbj-mc__footer-buttons .button:hover, .woocommerce .qbj-mc__footer-buttons a.button:hover { background-color: #69727d; color: #fff; }
@media (max-width: 767px) {
	.qbj-mc__footer-buttons .button, .woocommerce .qbj-mc__footer-buttons a.button { padding-left: 10px; padding-right: 10px; }
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1024px) {
	.shop-layout { flex-direction: column; }
	.shop-filters { flex-basis: auto; width: 100%; align-items: center; align-self: auto; }
	.shop-main .products-grid { --cols: 3; }
	.cat-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.feature-boxes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.shop-main .products-grid { --cols: 2; --row-gap: 12px; --col-gap: 12px; }
	.product-single__top { flex-direction: column; padding: 0; }
	.woocommerce div.product .product-single__gallery, .product-single__gallery,
	.woocommerce div.product .product-single__summary, .product-single__summary, .woocommerce div.product div.summary { flex-basis: auto; width: 100%; }
	.product-single__gallery, .woocommerce div.product .product-single__gallery { padding: 0; }
	.product-single__breadcrumb { text-align: left; }
	.benefits__title { font-size: 2rem; }
	.benefits__grid { flex-direction: column; gap: 20px; padding: 10px 0; }
	.flip-box { flex: 0 0 auto; height: 280px; margin: 0 10px; }
	.accordion__title h2 { font-size: 1.25rem; }
	.feature-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pf-cols { flex-direction: column; }
	.cat-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.content-page--shop .content-page__title { font-size: 2rem; }
	.back-to-cart .btn { padding: 8px; font-size: .9rem; }
	.thankyou-page__title { font-size: 28px; }
	.thankyou-page__row { flex-direction: column; }
	.thankyou-page__main, .thankyou-page__side { flex-basis: auto; width: 100%; }
	.thankyou-page .athletes-grid { --cols: 1; }
}
