/*
 * Global site styling on top of the token layer in style.css.
 * Visual composition stays in Elementor; this file carries the dark
 * theme base, typography roles, and WooCommerce restyling that must
 * apply everywhere (archives, cart, checkout, account, emails aside).
 */

/* ---------- Typography roles ---------- */

h1, h2, h3, h4, h5, h6,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--duse-font-heading);
  color: var(--duse-ink);
  font-weight: 400;
}

body,
.woocommerce,
.woocommerce p {
  font-family: var(--duse-font-body);
}

/* ---------- Page background video (edge case: Elementor has no body-level
   video control; the boxed column itself is built natively with nested
   containers inside Elementor) ---------- */

body {
  background: #000000 url('../../../../uploads/2026/07/bg-earth-texture.jpg') center top / cover no-repeat fixed;
}

.duse-bg-video {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: -1;
}

@media (prefers-reduced-motion: reduce) {
  .duse-bg-video {
    display: none;
  }
}

/*
 * Cross-document view transitions were tried here and REMOVED on purpose:
 * with @view-transition{navigation:auto}, Chromium leaves rendering
 * permanently suppressed after form-POST navigations (login, checkout) —
 * reproduced in headed and headless. Do not re-add without re-testing the
 * login flow. The background-video resume below provides the continuity.
 */

/* ---------- Non-Elementor surfaces (WooCommerce archive/cart/checkout
   templates) get the same centered 980px black column ---------- */

body:not(.elementor-page) .site-main {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  background: var(--duse-surface);
  color: var(--duse-ink);
  padding: 40px 32px;
  overflow-x: hidden;
}

body:not(.elementor-page) .site-main .alignwide,
body:not(.elementor-page) .site-main .alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:not(.elementor-page) .site-main .woocommerce,
body:not(.elementor-page) .site-main .wp-block-woocommerce-cart,
body:not(.elementor-page) .site-main .wp-block-woocommerce-checkout {
  max-width: 100%;
}

.woocommerce table.shop_table {
  width: 100%;
  table-layout: auto;
}

.woocommerce-cart .site-main .woocommerce {
  overflow-x: auto;
}

a {
  color: var(--duse-peach);
}

a:hover {
  color: var(--duse-lilac);
}

/* ---------- Buttons (lilac accent from the Wix reference) ---------- */

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt,
.woocommerce-page .checkout-button,
.wc-block-components-button {
  background: var(--duse-lilac-soft);
  color: var(--duse-lilac-ink);
  border-radius: var(--duse-radius);
  font-family: var(--duse-font-body);
  font-weight: 600;
  transition: all 0.2s ease;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
.wc-block-components-button:hover {
  background: var(--duse-lilac);
  color: var(--duse-lilac-ink);
}

/* ---------- WooCommerce dark restyle ---------- */

.woocommerce ul.products li.product,
.woocommerce div.product {
  background: transparent;
  color: var(--duse-ink);
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--duse-peach);
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
  color: var(--duse-ink-soft);
}

.woocommerce span.onsale {
  background: var(--duse-orange);
  color: #ffffff;
  border-radius: 0;
  text-transform: uppercase;
  font-family: var(--duse-font-body);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce table.shop_table,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-cart table.cart td,
.woocommerce-checkout #payment {
  background: #111111;
  color: var(--duse-ink);
  border-color: var(--duse-line);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  border: 1px solid var(--duse-line);
  border-radius: var(--duse-radius);
  padding: 0.6em 0.8em;
}

.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  background: #111111;
  color: var(--duse-ink);
  border-top-color: var(--duse-lilac);
  border-radius: var(--duse-radius);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: transparent;
  color: var(--duse-ink);
  border-color: var(--duse-line);
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--duse-lilac);
  color: var(--duse-lilac-ink);
}

/* Product tabs — WooCommerce ships light defaults with higher load order. */
body.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-color: var(--duse-line);
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: rgba(20, 16, 18, 0.85) !important;
  border-color: var(--duse-line) !important;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: #181314 !important;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none;
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--duse-ink);
}

body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--duse-peach);
}

body.woocommerce div.product .woocommerce-tabs .panel {
  background: transparent;
}

/* Single-product cart row: quantity box matches the button height and
   shares the dark translucent field styling. */
body.woocommerce div.product form.cart {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

body.woocommerce div.product form.cart div.quantity {
  margin: 0;
  display: flex;
}

body.woocommerce div.product form.cart .qty {
  height: 100%;
  width: 64px;
  background: rgba(17, 17, 17, 0.75);
  color: var(--duse-ink);
  border: 1px solid var(--duse-line);
  border-radius: var(--duse-radius);
  text-align: center;
}

/* WooCommerce blocks (cart/checkout) form fields — same language as the
   quantity picker: translucent dark, white text, subtle border. */
.wp-block-woocommerce-cart input:not([type='checkbox']):not([type='radio']),
.wp-block-woocommerce-checkout input:not([type='checkbox']):not([type='radio']),
.wp-block-woocommerce-cart select,
.wp-block-woocommerce-checkout select,
.wc-block-components-combobox input {
  background: rgba(17, 17, 17, 0.75) !important;
  color: var(--duse-ink) !important;
  border-color: var(--duse-line) !important;
}

.wp-block-woocommerce-cart .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-cart .wc-block-components-country-input label,
.wp-block-woocommerce-checkout .wc-block-components-country-input label,
.wc-block-components-combobox label {
  color: var(--duse-ink-soft) !important;
}

.wc-block-components-totals-coupon__button {
  border: none !important;
}

.wc-block-components-shipping-calculator-address__button {
  background: transparent !important;
  color: var(--duse-ink) !important;
  border: 1px solid var(--duse-line) !important;
}

/* My Account: quiet vertical navigation and dark fieldsets. */
.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.woocommerce-MyAccount-navigation li {
  margin: 0 0 2px;
}

.woocommerce-MyAccount-navigation a {
  display: block;
  padding: 10px 14px;
  color: var(--duse-ink);
  text-decoration: none;
  border-left: 2px solid transparent;
  transition: all 0.15s ease;
}

.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
  color: var(--duse-lilac);
  border-left-color: var(--duse-lilac);
  background: rgba(230, 199, 235, 0.08);
}

.woocommerce-MyAccount-content fieldset {
  border: 1px solid var(--duse-line);
  border-radius: var(--duse-radius);
  padding: 16px 20px;
  margin: 24px 0;
}

.woocommerce-MyAccount-content legend {
  color: var(--duse-peach);
  padding: 0 8px;
}

.woocommerce-MyAccount-content .woocommerce-table--order-details td,
.woocommerce-MyAccount-content .woocommerce-orders-table td,
.woocommerce-MyAccount-content .woocommerce-orders-table th {
  border-color: var(--duse-line);
}

/* Empty catalog state — same voice as the Nálepky sebelásky placeholder. */
.duse-empty-catalog {
  text-align: center;
  padding: 48px 24px 64px;
}

.duse-empty-catalog h2 {
  font-family: var(--duse-font-script);
  font-size: 44px;
  font-weight: 400;
  color: var(--duse-ink);
  margin-bottom: 0.4em;
}

.duse-empty-catalog p {
  color: var(--duse-ink-soft);
  max-width: 480px;
  margin: 0 auto 1.6em;
  line-height: 1.8;
}

/* AJAX "Zobrazit košík" link appears after the add-to-cart button; give it
   its own line as a quiet secondary action instead of colliding with it. */
.woocommerce ul.products li.product a.added_to_cart {
  display: block;
  margin-top: 0.6em;
  padding: 0;
  background: transparent;
  color: var(--duse-peach);
  font-size: 0.9em;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.woocommerce ul.products li.product a.added_to_cart:hover {
  color: var(--duse-lilac);
}

/* Distinctive out-of-stock presentation (project requirement). */
.woocommerce ul.products li.product.outofstock img {
  filter: grayscale(1) brightness(0.6);
}

.woocommerce ul.products li.product.outofstock::after {
  content: 'Vyprodáno';
  display: block;
  text-align: center;
  color: var(--duse-peach);
  font-family: var(--duse-font-script);
  font-size: 1.4em;
  margin-top: 0.4em;
}

/* Side-cart drawer — fallback for parts without native widget controls. */
body .elementor-menu-cart__main {
  background: #141012 !important;
  color: var(--duse-ink);
}

.elementor-menu-cart__main .widget_shopping_cart_content,
.elementor-menu-cart__products,
.elementor-menu-cart__footer-buttons {
  background: transparent;
  color: var(--duse-ink);
}

.elementor-menu-cart__main .woocommerce-mini-cart-item,
.elementor-menu-cart__main .woocommerce-mini-cart__total {
  border-color: var(--duse-line);
  color: var(--duse-ink);
}

body .elementor-menu-cart__main .woocommerce-mini-cart-item a {
  color: var(--duse-ink) !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart-item .amount,
.elementor-menu-cart__main .woocommerce-mini-cart__total .amount {
  color: var(--duse-peach);
}

.elementor-menu-cart__close-button {
  color: var(--duse-ink);
}

body .elementor-menu-cart__footer-buttons {
  align-items: stretch;
}

body .elementor-menu-cart__footer-buttons .elementor-button--view-cart,
body .elementor-menu-cart__footer-buttons .elementor-button--checkout {
  background: var(--duse-lilac-soft) !important;
  color: var(--duse-lilac-ink) !important;
  border-radius: var(--duse-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  height: auto;
  padding: 8px 12px;
  font-size: 14px;
  white-space: nowrap;
}

body .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
body .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
  background: var(--duse-lilac) !important;
  color: var(--duse-lilac-ink) !important;
}

/* Cart toggle — no native controls for the toggle border/counter colors. */
[data-elementor-type='header'] .elementor-menu-cart__toggle .elementor-button {
  background: transparent;
  border: none;
  padding: 4px 8px;
  color: var(--duse-lilac);
}

[data-elementor-type='header'] .elementor-menu-cart__toggle .elementor-button-icon-qty {
  background: var(--duse-lilac) !important;
  color: var(--duse-lilac-ink) !important;
  border-color: var(--duse-lilac) !important;
}

/* Icon-only toggle like the Wix bag (the widget's subtotal toggle is unreliable). */
[data-elementor-type='header'] .elementor-menu-cart__toggle .elementor-button-text {
  display: none;
}

/* ---------- Cookie banner (GDPR Cookie Compliance) in the site's dark
   language: dark surfaces, lilac primary actions, Josefin type. ---------- */

#moove_gdpr_cookie_info_bar,
#moove_gdpr_cookie_info_bar.moove-gdpr-dark-scheme,
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
  background: rgba(10, 8, 9, 0.96) !important;
  color: var(--duse-ink) !important;
  border-top: 1px solid var(--duse-line);
  box-shadow: none;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content,
#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice,
#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p {
  color: var(--duse-ink) !important;
  font-family: var(--duse-font-body);
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content a,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content span.change-settings-button,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content u.change-settings-button {
  color: var(--duse-peach);
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content a.mgbutton,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton {
  background: var(--duse-lilac-soft) !important;
  color: var(--duse-lilac-ink) !important;
  border-radius: var(--duse-radius);
}

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content a.mgbutton:hover,
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-content button.mgbutton:hover {
  background: var(--duse-lilac) !important;
  color: var(--duse-lilac-ink) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content.moove_gdpr_modal_theme_v1 {
  background: #141012 !important;
  color: var(--duse-ink) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content {
  background: #0d0a0b !important;
  border-right: 1px solid var(--duse-line);
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li a,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li button {
  background: transparent !important;
  color: var(--duse-ink) !important;
  border: none !important;
  font-family: var(--duse-font-body);
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected a,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-left-content #moove-gdpr-menu li.menu-item-selected button {
  color: var(--duse-lilac) !important;
  background: rgba(230, 199, 235, 0.08) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-tab-main .moove-gdpr-tab-main-content,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-right-content {
  background: #141012 !important;
}

/* Consent toggle: red "off" default reads as an error next to our palette. */
#moove_gdpr_cookie_modal .cookie-slider.cookie-round {
  background: rgba(255, 255, 255, 0.25) !important;
}

#moove_gdpr_cookie_modal input:checked + .cookie-slider.cookie-round {
  background: var(--duse-lilac) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content h1,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content h2,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content h3,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content h4,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content p,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content span,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content label {
  color: var(--duse-ink) !important;
  font-family: var(--duse-font-body) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content {
  background: #0d0a0b !important;
  border-top: 1px solid var(--duse-line) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton {
  background: var(--duse-lilac-soft) !important;
  color: var(--duse-lilac-ink) !important;
  border-radius: var(--duse-radius);
  font-family: var(--duse-font-body);
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder a.mgbutton:hover,
#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton:hover {
  background: var(--duse-lilac) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-company-logo-holder,
#moove_gdpr_cookie_modal .moove-gdpr-branding-cnt {
  display: none !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-close {
  background: var(--duse-lilac) !important;
  color: var(--duse-lilac-ink) !important;
}
