/* =====================================================================
   apnoe-spanek.cz – nový vzhled celého webu (skin nad šablonou WoodMart)
   Jen vzhled: žádná pravidla nemění chování (košík, pokladna, menu, filtry).
   Barvy a písma: DESIGN.md (svět velkoobchodní stránky a Aktualit).
   ===================================================================== */

:root:root {
  --sk-blue: #2d9cda; --sk-band-a: #1f78ba; --sk-band-b: #14568e; --sk-navy: #0f3d66;
  --sk-green: #29c093; --sk-green-deep: #1f9e78; --sk-green-text: #167a5c;
  --sk-ink: #1d2a36; --sk-text: #4a5763; --sk-muted: #66727d; --sk-ground: #f9f9f9; --sk-tint: #eef6fb;
  --sk-line: rgba(29, 42, 54, .12);
  --sk-head: "Yantramanav", Arial, Helvetica, sans-serif; --sk-body: "Inter", Arial, Helvetica, sans-serif;
  --sk-ease: cubic-bezier(.16, 1, .3, 1);
  --sk-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 38C240 6 420 6 720 34s520 38 720 2v34H0z' fill='%23f9f9f9'/%3E%3C/svg%3E");

  /* proměnné šablony WoodMart */
  --wd-primary-color: #29c093;
  --wd-title-font: var(--sk-head); --wd-title-font-weight: 700; --wd-title-color: #1d2a36;
  --wd-entities-title-font: var(--sk-head); --wd-entities-title-font-weight: 700; --wd-entities-title-color: #1d2a36; --wd-entities-title-color-hover: #14568e;
  --wd-text-color: #4a5763; --wd-text-font-size: 15px;
  --wd-link-color: #14568e; --wd-link-color-hover: #1d2a36;
  --wd-form-brd-width: 1px; --wd-form-brd-color: #cfd8e0; --wd-form-brd-color-focus: #1f78ba; --wd-form-height: 48px; --wd-form-bg: #fff;
  --btn-accented-bgcolor: #29c093; --btn-accented-bgcolor-hover: #1f9e78;
  --btn-default-bgcolor: #fff; --btn-default-bgcolor-hover: #eef6fb; --btn-default-color: #1d2a36; --btn-default-color-hover: #1d2a36;
}
body { background: var(--sk-ground); color: var(--sk-text); }
::selection { background: rgba(41, 192, 147, .28); color: var(--sk-ink); }
:focus-visible { outline: 3px solid var(--sk-band-a); outline-offset: 2px; }

/* ---------- typografie ---------- */
:is(h1, h2, h3, h4, h5, h6, .title) { font-family: var(--sk-head); color: var(--sk-ink); }
.wd-entry-content :is(h2, h3) { letter-spacing: .005em; }

/* ---------- tlačítka (hranatá, verzálky, jako na velkoobchodní stránce) ---------- */
:is(.button, button.button, .btn, .wd-btn, input[type="submit"], .single_add_to_cart_button, .checkout-button, [id="place_order"], .wc-proceed-to-checkout .button) {
  border-radius: 0 !important; letter-spacing: .06em; font-weight: 600; text-transform: uppercase;
}
:is(.btn-color-primary, .button.alt, .single_add_to_cart_button, .checkout-button, [id="place_order"], .woocommerce-button.alt, .wd-add-btn .add_to_cart_button) {
  background-color: var(--sk-green) !important; color: #fff !important;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14), 0 10px 22px -12px rgba(16, 90, 68, .55) !important;
  transition: background-color .25s, transform .25s var(--sk-ease) !important;
}
:is(.btn-color-primary, .button.alt, .single_add_to_cart_button, .checkout-button, [id="place_order"], .wd-add-btn .add_to_cart_button):hover { background-color: var(--sk-green-deep) !important; transform: translateY(-1px); }

/* ---------- formulářová pole ---------- */
:is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea, .select2-container .select2-selection) {
  border-radius: 0 !important; background-color: #fff; color: var(--sk-ink);
}
:is(input, select, textarea):focus { box-shadow: 0 0 0 3px rgba(31, 120, 186, .15); }
label { color: var(--sk-ink); font-weight: 500; }

/* =====================================================================
   HLAVIČKA
   ===================================================================== */
.wd-header-banner, .header-banner { background: var(--sk-navy) !important; }
.wd-header-banner :is(.header-banner-container, .container, a, p, span), .header-banner * { color: #fff !important; font-size: 13px; letter-spacing: .01em; }

/* hlavička leží přes modrý pruh stránky; bez pruhu (detail produktu, košík…) dostane vlastní modrou */
body:not(.hp-page):not(:has(.wd-page-title)):not(:has(.an-art-band)) .whb-general-header,
.whb-sticked .whb-general-header { background: linear-gradient(110deg, var(--sk-band-a), var(--sk-band-b)) !important; }
.whb-sticked .whb-general-header { box-shadow: 0 12px 30px -18px rgba(8, 30, 55, .6); }
.whb-general-header { border-bottom: 1px solid rgba(255, 255, 255, .12) !important; }

.wd-nav-main > li > a { font-family: var(--sk-body); font-size: 13px !important; font-weight: 600; letter-spacing: .06em; color: #fff !important; background: transparent !important; position: relative; }
.wd-nav-main > li > a::after { content: ""; position: absolute; left: 50%; right: 50%; bottom: 6px; height: 2px; background: var(--sk-green); transition: left .3s var(--sk-ease), right .3s var(--sk-ease); }
.wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 14px; right: 14px; }
.wd-nav-main .wd-dropdown { border-radius: 0; box-shadow: 0 24px 50px -20px rgba(8, 30, 55, .45); }
.wd-nav-main .wd-sub-menu a { font-size: 13px; letter-spacing: .03em; }

/* ikony vpravo: jeden tvar – hranaté. Hledání a účet průsvitné, košík zelený (akce) s tmavou ikonou na bílém. */
.whb-header .wd-tools-element > a { border-radius: 0 !important; }
.whb-header .wd-tools-element .wd-tools-icon { border-radius: 0 !important; }
.whb-header .wd-tools-element:not(.wd-header-cart) > a { background: transparent !important; color: #fff !important; }
.whb-header .wd-tools-element:not(.wd-header-cart) .wd-tools-icon { background: rgba(255, 255, 255, .16) !important; color: #fff !important; }
.whb-header .wd-tools-element:not(.wd-header-cart) > a:hover .wd-tools-icon { background: rgba(255, 255, 255, .3) !important; }
.whb-header .wd-tools-element:not(.wd-header-cart) :is(.wd-tools-icon, .wd-tools-icon::before) { color: #fff !important; }
/* košík v hlavičce: jeden zelený blok (bez zakulaceného pozadí šablony, které vylézalo ven), ikona bílá na tmavší ploše, „Kč“ malými písmeny */
.whb-header .wd-header-cart > a { position: relative; display: inline-flex !important; align-items: center; height: 42px; padding: 0 !important; background: var(--sk-green) !important; color: #fff !important; transition: background-color .25s; }
.whb-header .wd-header-cart > a:hover { background: var(--sk-green-deep) !important; }
.whb-header .wd-header-cart .wd-tools-inner { position: static !important; display: inline-flex !important; align-items: center; height: 100% !important; padding: 0 !important; background: transparent !important; border-radius: 0 !important; box-shadow: none !important; }
.whb-header .wd-header-cart .wd-tools-icon { width: 42px !important; height: 42px !important; display: inline-grid !important; place-items: center; margin: 0 !important; background: rgba(0, 0, 0, .14) !important; }
.whb-header .wd-header-cart :is(.wd-tools-icon, .wd-tools-icon::before) { color: #fff !important; }
.whb-header .wd-header-cart .wd-tools-text { margin: 0 14px 0 12px !important; font: 600 14px/1 var(--sk-body) !important; letter-spacing: 0 !important; text-transform: none !important; }
.whb-header .wd-header-cart .wd-tools-text, .whb-header .wd-header-cart .wd-tools-text * { color: #fff !important; text-transform: none !important; }
.whb-header .wd-header-cart .wd-tools-count { position: absolute !important; top: -7px !important; right: -5px !important; left: auto !important; bottom: auto !important; transform: none !important; min-width: 19px; height: 19px; padding: 0 4px; line-height: 19px; font-size: 11px; text-align: center; }
.whb-header .wd-tools-element .wd-tools-count { background: var(--sk-ink) !important; color: #fff !important; font-weight: 700; border-radius: 0; }

/* =====================================================================
   ZÁHLAVÍ STRÁNEK – modrý pruh se vlnou místo fotky přístrojů
   ===================================================================== */
.wd-page-title {
  background: linear-gradient(120deg, var(--sk-band-a) 0%, var(--sk-band-b) 100%) !important;
  padding-bottom: 92px !important; position: relative; overflow: hidden;
}
.wd-page-title .wd-page-title-bg { display: none !important; }
.wd-page-title::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 64px; background: var(--sk-wave) center bottom / 100% 100% no-repeat; }
.wd-page-title > .container { display: flex; flex-direction: column-reverse; align-items: flex-start !important; text-align: left !important; gap: 10px; }
.wd-page-title .title {
  font-family: var(--sk-head) !important; font-weight: 700 !important; text-transform: uppercase; color: #fff !important;
  font-size: clamp(34px, 4.4vw, 58px) !important; line-height: 1.1 !important; letter-spacing: .01em;
}
.wd-page-title :is(.wd-breadcrumbs, .breadcrumbs, .woocommerce-breadcrumb, .yoast-breadcrumb), .wd-page-title :is(.wd-breadcrumbs, .woocommerce-breadcrumb) a { color: #fff !important; font-size: 13.5px; }
.wd-page-title .wd-back-btn > a::before, .wd-page-title .wd-back-btn a { color: #fff !important; }

/* =====================================================================
   E-SHOP – výpis kategorie
   ===================================================================== */
/* boční menu kategorií: místo zelených bloků čistý seznam s aktivní položkou */
.wd-sidebar .wd-nav-vertical { background: #fff !important; border: 1px solid var(--sk-line); box-shadow: 0 20px 40px -32px rgba(14, 58, 95, .5); }
.wd-sidebar .wd-nav-vertical > li > a { background: transparent !important; color: var(--sk-ink) !important; font-weight: 500 !important; border-bottom: 1px solid var(--sk-line); min-height: 50px; }
.wd-sidebar .wd-nav-vertical > li:last-child > a { border-bottom: 0; }
.wd-sidebar .wd-nav-vertical > li > a:hover { background: var(--sk-tint) !important; }
.wd-sidebar .wd-nav-vertical > li:is(.current-menu-item, .wd-active) > a { background: var(--sk-ink) !important; color: #fff !important; }
.wd-sidebar .widget-title, .wd-sidebar .wd-widget-title { font-family: var(--sk-head); font-weight: 700; font-size: 15px; letter-spacing: .04em; color: var(--sk-ink); }

/* nástrojová lišta nad výpisem */
.shop-loop-head { padding-bottom: 18px; margin-bottom: 26px; border-bottom: 1px solid var(--sk-line); }
.shop-loop-head :is(select, .orderby) { height: 42px; }

/* karty produktů: bílá plocha, text vlevo, cena výrazně */
.wd-product.product-grid-item .wd-product-wrapper { background: #fff; border: 1px solid var(--sk-line); padding: 14px 14px 18px; height: 100%; transition: border-color .3s, box-shadow .4s, transform .4s var(--sk-ease); }
.wd-product.product-grid-item:hover .wd-product-wrapper { border-color: var(--sk-blue); box-shadow: 0 26px 46px -30px rgba(14, 58, 95, .55); transform: translateY(-3px); }
.wd-product.product-grid-item .wd-product-card-bg { display: none; }
.wd-product.product-grid-item .wd-product-thumb { margin-bottom: 14px; }
.wd-product.product-grid-item :is(.wd-entities-title, .product-title) { text-align: left; font-family: var(--sk-head) !important; font-weight: 700 !important; font-size: 16.5px !important; line-height: 1.3 !important; }
.wd-product.product-grid-item :is(.wd-product-cats, .wd-product-brands-links) { text-align: left; font-size: 12.5px; color: var(--sk-muted); }
.wd-product.product-grid-item :is(.price, .wrap-price) { text-align: left; justify-content: flex-start; }
.wd-product.product-grid-item .price { font-size: 17px; color: var(--sk-green-text) !important; font-weight: 700; }
.wd-product.product-grid-item .product-element-bottom, .wd-product.product-grid-item .wd-product-header { text-align: left; align-items: flex-start; }
.products .wd-product { --wd-prod-gap: 16px; }

/* stránkování */
.woocommerce-pagination ul.page-numbers, .wd-pagination ul.page-numbers { display: flex !important; justify-content: center; gap: 6px; border: 0 !important; background: none !important; }
.woocommerce-pagination li, .wd-pagination li { border: 0 !important; margin: 0 !important; }
.woocommerce-pagination .page-numbers:not(ul), .wd-pagination .page-numbers:not(ul) {
  border-radius: 0 !important; min-width: 46px; height: 46px; display: inline-grid; place-items: center;
  border: 1px solid var(--sk-line); background: #fff; color: var(--sk-ink) !important; font-weight: 600;
}
.woocommerce-pagination .page-numbers.current:not(ul), .wd-pagination .page-numbers.current:not(ul) { background: var(--sk-ink) !important; border-color: var(--sk-ink); color: #fff !important; }

/* =====================================================================
   DETAIL PRODUKTU
   ===================================================================== */
/* modrý pruh se vlnou i na detailu produktu; galerie a informace na bílých panelech, které do pruhu zasahují */
.single-product .wd-page-content {
  background: var(--sk-wave) 0 196px / 100% 60px no-repeat, linear-gradient(120deg, var(--sk-band-a), var(--sk-band-b)) 0 0 / 100% 250px no-repeat, var(--sk-ground) !important;
}
.single-product .wd-content-layout { padding-top: 56px; }
.single-product .woocommerce-product-gallery { background: #fff; border: 1px solid var(--sk-line); padding: 28px; box-shadow: 0 30px 60px -44px rgba(14, 58, 95, .55); }
.single-product .summary-inner { background: #fff; border: 1px solid var(--sk-line); padding: 32px 34px; box-shadow: 0 30px 60px -44px rgba(14, 58, 95, .55); }
@media (max-width: 768px) { .single-product .wd-page-content { background: var(--sk-wave) 0 120px / 100% 40px no-repeat, linear-gradient(120deg, var(--sk-band-a), var(--sk-band-b)) 0 0 / 100% 160px no-repeat, var(--sk-ground) !important; } .single-product .summary-inner { padding: 22px 18px; } }
.single-product .summary .product_title { font-size: clamp(26px, 2.6vw, 36px) !important; line-height: 1.15 !important; font-weight: 700 !important; }
.single-product .summary .price { font-size: 30px !important; color: var(--sk-green-text) !important; font-weight: 700; margin: 6px 0 14px; }
.single-product .summary .woocommerce-product-details__short-description { font-size: 16px; line-height: 1.7; color: var(--sk-text); }
.single-product .summary form.cart { padding: 22px 0; border-top: 1px solid var(--sk-line); border-bottom: 1px solid var(--sk-line); margin: 18px 0 !important; }
.single-product .summary .single_add_to_cart_button { min-height: 54px !important; padding: 0 34px !important; font-size: 14px !important; }
.single-product .summary .quantity :is(input, .minus, .plus) { height: 54px !important; border-radius: 0 !important; }
.single-product .summary .product_meta { font-size: 14px; color: var(--sk-muted); }
.single-product .summary .wd-breadcrumbs { font-size: 13px; }
.woocommerce-tabs .wd-nav-tabs { gap: 6px; }
.woocommerce-tabs .wd-nav-tabs .wd-nav-link { font-family: var(--sk-head); font-weight: 700; font-size: 16px; letter-spacing: .04em; text-transform: uppercase; color: var(--sk-ink); }
.woocommerce-tabs .wd-nav-tabs > li.active .wd-nav-link::after, .woocommerce-tabs .wd-nav-tabs > li.active .wd-nav-link::before { background-color: var(--sk-green) !important; }
.single-product .woocommerce-Tabs-panel { font-size: 16px; line-height: 1.75; max-width: 820px; margin-inline: auto; }
.single-product :is(.related-and-upsells, .related, .upsells) > h2, .single-product .wd-el-title, .single-product .title-wrapper .title {
  font-family: var(--sk-head); font-weight: 700; text-transform: uppercase; font-size: clamp(22px, 2.2vw, 30px) !important; letter-spacing: .01em;
}

/* =====================================================================
   KOŠÍK, POKLADNA, MŮJ ÚČET
   ===================================================================== */
body:is(.woocommerce-cart, .woocommerce-checkout, .woocommerce-account) .wd-content-layout { padding-top: 48px; }
.woocommerce-cart-form, .cart_totals .cart-totals-inner, .woocommerce-checkout > .checkout-order-review, .woocommerce-checkout .customer-details, .woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account :is(.u-column1, .u-column2) {
  background: #fff; border: 1px solid var(--sk-line) !important; border-radius: 0 !important; padding: 28px !important;
  box-shadow: 0 30px 60px -48px rgba(14, 58, 95, .5);
}
.woocommerce-checkout > .checkout-order-review::before, .woocommerce-checkout > .checkout-order-review::after { display: none !important; }
.woocommerce-checkout > .checkout-order-review { background: #fff !important; }
.shop_table thead th, .woocommerce-checkout-review-order-table thead th { font-family: var(--sk-body); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sk-muted); }
.shop_table td, .shop_table th { border-color: var(--sk-line) !important; }
.shop_table .product-name a { font-family: var(--sk-head); font-weight: 700; font-size: 17px; color: var(--sk-ink); }
:is(.cart_totals, .woocommerce-checkout) .order-total :is(th, td, .amount) { font-size: 20px; color: var(--sk-ink); font-weight: 700; }
.cart_totals > h2, .woocommerce-checkout h3, .woocommerce-account h2, #order_review_heading {
  font-family: var(--sk-head); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; font-size: 20px !important; color: var(--sk-ink);
}
.woocommerce-checkout #payment { background: transparent !important; }
.woocommerce-checkout #payment .wc_payment_method { border: 1px solid var(--sk-line); padding: 14px 16px; margin-bottom: 8px; background: #fff; }
.woocommerce-checkout #payment .payment_box { background: var(--sk-tint) !important; border-radius: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { font-weight: 500; }
.woocommerce-account .wd-login-title, .woocommerce-account .col-register-text { font-family: var(--sk-head); }

/* =====================================================================
   INFORMAČNÍ STRÁNKY (kontakt, FAQ, podmínky, doprava…)
   ===================================================================== */
.page:not(.home) .wd-content-layout { padding-top: 40px; }
.page:not(.home) .wd-content-layout .elementor-widget-text-editor,
.page:not(.home) .wd-content-layout .wd-text-block { font-size: 16px; line-height: 1.75; color: #34414c; }
.page:not(.home) .wd-content-layout .elementor-widget-text-editor :is(h2, h3, h4) { margin-top: 1.4em; }
/* čitelný sloupec u dlouhých textů (podmínky, reklamace, doprava…) */
.page:not(.home) .wd-content-layout :is(.elementor-widget-text-editor, .wd-text-block) > .elementor-widget-container,
.page:not(.home) .wd-content-layout .wd-text-block { max-width: 75ch; }

/* hlášky WooCommerce v barvách webu (místo výchozí zelené a oranžové) */
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wd-notice) {
  border-radius: 0 !important; border: 1px solid var(--sk-line) !important; color: var(--sk-ink) !important; font-size: 15px;
  box-shadow: 0 16px 34px -28px rgba(14, 58, 95, .5);
}
:is(.woocommerce-message, .wd-notice.wd-success) { background: #e8f7f1 !important; border-color: rgba(41, 192, 147, .45) !important; }
:is(.woocommerce-info, .wd-notice.wd-info) { background: var(--sk-tint) !important; border-color: rgba(31, 120, 186, .3) !important; }
:is(.woocommerce-error, .wd-notice.wd-warning) { background: #fdf0ef !important; border-color: rgba(194, 70, 61, .4) !important; }
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wd-notice) :is(a, .button) { color: var(--sk-band-b) !important; background: none !important; box-shadow: none !important; text-decoration: underline; text-underline-offset: 3px; }
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wd-notice)::before { color: inherit !important; }
/* FAQ / akordeony */
.wd-accordion-item { background: #fff; border: 1px solid var(--sk-line) !important; margin-bottom: 8px; }
.wd-accordion-item .wd-accordion-title { padding: 18px 22px !important; }
.wd-accordion-item .wd-accordion-title-text { font-family: var(--sk-head); font-weight: 700; font-size: 17px; color: var(--sk-ink); }
.wd-accordion-item .wd-accordion-content { padding: 0 22px 20px !important; font-size: 15.5px; line-height: 1.7; }
.wd-accordion-item .wd-accordion-title.wd-active .wd-accordion-title-text { color: var(--sk-band-b); }
/* nadpisy sekcí WoodMart (wd_title) */
.title-wrapper .title, .wd-title .title { font-family: var(--sk-head) !important; font-weight: 700 !important; letter-spacing: .01em; }
/* seznamy s ikonami (kontakty) */
.elementor-icon-list-icon :is(i, svg) { color: var(--sk-green-text) !important; fill: var(--sk-green-text) !important; }

/* =====================================================================
   PATIČKA
   ===================================================================== */
.wd-footer { background: linear-gradient(180deg, var(--sk-band-b) 0%, var(--sk-navy) 100%) !important; position: relative; padding-top: 30px; }
.wd-footer::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 56px; transform: scaleY(-1); background: var(--sk-wave) center / 100% 100% no-repeat; }
.wd-footer .main-footer { padding-top: 70px; }
.wd-footer .widget-title, .wd-footer .wd-widget-title, .wd-footer h5 {
  font-family: var(--sk-head) !important; font-weight: 700 !important; font-size: 15px !important; letter-spacing: .06em; color: #fff !important; text-transform: uppercase;
}
.wd-footer :is(p, li, a, span, .wd-entities-title a, .product-categories a) { color: rgba(255, 255, 255, .84) !important; }
.wd-footer a:hover { color: #fff !important; }
.wd-footer .amount, .wd-footer .price { color: #8ff0cd !important; }                     /* ceny na tmavém podkladu: světlejší zelená, 7,9 : 1 */
.wd-footer .product-categories .count { background: rgba(255, 255, 255, .12) !important; color: #fff !important; border-radius: 0; }
.wd-footer .product-categories .children { border-left: 1px solid rgba(255, 255, 255, .18); }
.wd-footer :is(.wd-social-icons a, .social-icon) { background: rgba(255, 255, 255, .12) !important; border-radius: 0 !important; color: #fff !important; }
.wd-footer :is(.wd-social-icons a, .social-icon):hover { background: var(--sk-green) !important; }
.wd-footer .elementor-icon-list-icon :is(i, svg) { color: #8ff0cd !important; fill: #8ff0cd !important; }
.wd-footer .elementor-icon-list-icon, .wd-footer .wd-info-box .info-box-icon { background: transparent !important; }
.copyrights-wrapper, .wd-copyrights { background: #0a2f50 !important; border-top: 0 !important; }
.copyrights-wrapper * { color: rgba(255, 255, 255, .75) !important; }

/* plovoucí prvky webu v barvách webu */
.wd-sticky-social a, .wd-social-icons.wd-sticky-social a { border-radius: 0 !important; }

/* registrace velkoobchodu (plugin Toret Velkoobchod): formulář je v obsahu vložený do <code> – písmo a vzhled jako zbytek webu */
code:has(#tvelko-registration-form), p:has(> code #tvelko-registration-form) { font-family: var(--sk-body) !important; font-size: 15px; background: none !important; padding: 0 !important; color: var(--sk-text); white-space: normal; }
.tvelko-form-wrap { max-width: 720px; }
#tvelko-registration-form { background: #fff; border: 1px solid var(--sk-line); padding: 32px 34px !important; box-shadow: 0 30px 60px -44px rgba(14, 58, 95, .55); font-family: var(--sk-body); }
#tvelko-registration-form :is(label, input, select, button, span, a) { font-family: var(--sk-body) !important; }
#tvelko-registration-form h3 { font-family: var(--sk-head) !important; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; font-size: 18px; margin: 18px 0 12px; color: var(--sk-ink); }
#tvelko-registration-form label { font-weight: 500; color: var(--sk-ink); }
#tvelko-registration-form input[type="submit"] { background: var(--sk-green) !important; color: #fff !important; border: 0; min-height: 52px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14), 0 10px 22px -12px rgba(16, 90, 68, .55); cursor: pointer; }
#tvelko-registration-form input[type="submit"]:hover { background: var(--sk-green-deep) !important; }
#tvelko-registration-form .tvelko-form-submit-text a { color: var(--sk-band-b); }

/* místo před vlnou patičky */
body:not(.hp-page) .wd-content-layout { padding-bottom: 96px !important; }

/* popis produktu: akordeon šablony bez rámečku FAQ */
.woocommerce-tabs .wd-accordion-item { background: none; border: 0 !important; margin: 0; }
/* obrázky karet produktů ve stejném čtverci (různé formáty fotek) */
.wd-product.product-grid-item .wd-product-thumb .wd-product-img-link { display: block; aspect-ratio: 1; }
.wd-product.product-grid-item .wd-product-thumb img { width: 100%; height: 100%; object-fit: contain; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* karty produktů: vyjížděcí panel s popisem přetékal z karty → popis pryč, tlačítko „Přidat do košíku“ je trvale součástí karty
   (i na mobilu, kde hover není); karty v řadě stejně vysoké, tlačítka v jedné linii */
:is(.products, .wd-products).wd-grid-g { align-items: stretch; }
.wd-product.product-grid-item { display: flex; height: auto; }
.wd-product.product-grid-item .wd-product-wrapper { display: flex; flex-direction: column; width: 100%; }
.wd-product.product-grid-item .product-element-bottom { flex: 1 1 auto; display: flex; flex-direction: column; transform: none !important; }
.wd-product.product-grid-item .wd-more-desc { display: none !important; }
.wd-product.product-grid-item .wd-product-card-hover { position: static !important; inset: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; max-height: none !important; overflow: visible !important; margin-top: auto !important; padding: 16px 0 0 !important; background: none !important; box-shadow: none !important; pointer-events: auto !important; }
.wd-product.product-grid-item .wd-bottom-actions { display: flex; margin: 0 !important; }
.wd-product.product-grid-item .wd-bottom-actions :is(.wrap-wishlist-button, .wrap-quickview-button):empty { display: none; }
.wd-product.product-grid-item .wd-add-btn { flex: 1 1 100%; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button { width: 100%; padding: 12px 6px; font-size: 12px; letter-spacing: .03em; white-space: nowrap; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14); }
@media (max-width: 640px) { .wd-product.product-grid-item .wd-add-btn .add_to_cart_button { white-space: normal; min-width: 0; max-width: 100%; font-size: 12px; line-height: 1.25; padding: 10px 6px; } }

/* =====================================================================
   NOVÁ PATIČKA (HTML blok „Patička – nový vzhled“ z prvků Elementoru, třídy apf-*)
   ===================================================================== */
.apf { --apf-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); font-family: var(--sk-body); }
.apf.e-con, .apf .e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.apf.e-con { padding: 0 !important; gap: 0 !important; }
.apf .elementor-widget { margin-bottom: 0 !important; }
.apf-grid.e-con { display: grid !important; grid-template-columns: 1.05fr 1.6fr .85fr 1.2fr; gap: 40px 56px !important; padding-bottom: 52px !important; }
.apf-col.e-con { gap: 16px !important; }
.apf-title .elementor-heading-title { margin: 0; font-family: var(--sk-head); font-weight: 700; font-size: 17px; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; color: #fff !important; }
.apf-text p { margin: 0 0 12px; font-size: 15px; line-height: 1.65; color: rgba(255, 255, 255, .8) !important; max-width: 62ch; }
.apf-text p:last-child { margin-bottom: 0; }
.apf-text strong { color: #fff; font-weight: 600; }
.apf-logo { text-align: left !important; }
.apf-logo a { display: inline-block; width: 230px; max-width: 100%; }
.apf-logo img { display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: auto !important; }  /* Smush lazyload jinak nastaví zástupnou šířku 48 px */
.apf-link { width: auto; }
.apf-link .elementor-button { background: none; padding: 4px 0; border-radius: 0; color: #fff !important; font: 600 14.5px/1.3 var(--sk-body); text-transform: none; letter-spacing: 0; box-shadow: inset 0 -2px 0 var(--sk-green); }
.apf-link .elementor-button:hover { color: #8ff0cd !important; }
.apf-link .elementor-button-text { display: inline-flex; align-items: center; gap: 8px; color: inherit !important; }
.apf-link .elementor-button-text::after { content: ""; width: 1.05em; height: 1.05em; background: currentColor; -webkit-mask: var(--apk-sipka) center / contain no-repeat; mask: var(--apk-sipka) center / contain no-repeat; transition: transform .35s var(--sk-ease); }
.apf-link .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.apf-social, .apf-social .elementor-widget-container { text-align: left !important; }
.apf-social .elementor-social-icons-wrapper { display: flex !important; flex-wrap: wrap; gap: 10px; justify-content: flex-start !important; }
.apf-social .elementor-grid-item { margin: 0 !important; }
.apf-social .elementor-social-icon { width: 44px; height: 44px; display: grid !important; place-items: center; padding: 0; background: rgba(255, 255, 255, .12) !important; border-radius: 0 !important; font-size: 18px; transition: background-color .25s, transform .3s var(--sk-ease); }
.apf-social .elementor-social-icon :is(i) { color: #fff !important; }
.apf-social .elementor-social-icon svg { width: 18px; height: 18px; fill: #fff !important; }
.apf-social .elementor-social-icon:hover { background: var(--sk-green) !important; transform: translateY(-2px); }
.apf-catlist :is(ul, .product-categories) { list-style: none; margin: 0 !important; padding: 0 !important; }
.apf-catlist li { margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; }
.apf-catlist li a { font-size: 15px; line-height: 1.4; }
.apf-catlist :is(.children, .count, .wd-cats-toggle) { display: none !important; }
.apf-catlist h5, .apf-catlist .widget-title { display: none; }
.apf-list .elementor-icon-list-item { align-items: flex-start !important; margin: 0 0 11px !important; padding: 0 !important; }
.apf-list .elementor-icon-list-item a { align-items: flex-start; }
.apf-list .elementor-icon-list-icon { width: 18px; padding-top: 3px; }
.apf-list .elementor-icon-list-icon :is(i, svg) { font-size: 14px; width: 14px; height: 14px; }
.apf-list .elementor-icon-list-text { font-size: 15px; line-height: 1.5; padding-left: 10px !important; color: rgba(255, 255, 255, .84) !important; }
.apf-list a:hover .elementor-icon-list-text { color: #fff !important; }
.apf-legal.e-con { border-top: 1px solid rgba(255, 255, 255, .14); padding: 22px 0 8px !important; }
.apf-legal-list .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 6px 26px; margin: 0 !important; }
.apf-legal-list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.apf-legal-list .elementor-icon-list-item::after { display: none !important; }
.apf-legal-list .elementor-icon-list-icon { display: none !important; }
.apf-legal-list .elementor-icon-list-text { padding: 0 !important; font-size: 13.5px; color: rgba(255, 255, 255, .66) !important; }
.apf-legal-list a:hover .elementor-icon-list-text { color: #fff !important; }
.wd-footer .main-footer:has(.apf) { padding-bottom: 10px; }
@media (max-width: 1024px) {
  .apf-grid.e-con { grid-template-columns: 1fr 1.3fr; }
}
@media (max-width: 640px) {
  .apf-grid.e-con { grid-template-columns: 1fr; gap: 34px !important; padding-bottom: 36px !important; }
  .apf-legal-list .elementor-icon-list-items { gap: 8px 20px; }
}

@media (max-width: 1024px) { .whb-header .wd-header-cart .wd-tools-count { top: -6px !important; right: -3px !important; } }

/* hlavní menu se nesmí zalomit (přepínač měny + košík v EUR rozšíří pravou část hlavičky) */
.whb-general-header .wd-nav-main { flex-wrap: nowrap !important; white-space: nowrap; }
@media (max-width: 1480px) {
  .whb-general-header .wd-nav-main > li > a { padding-left: 9px !important; padding-right: 9px !important; letter-spacing: .04em; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 9px; right: 9px; }
}

/* =====================================================================
   ŠÍŘKA WEBU (2026-11-10): jeden rám pro hlavičku, obsah i patičku – 1560 px, okraj roste s oknem.
   WoodMart i Elementor z --wd-container-w odvozují šířku všech kontejnerů; texty si drží vlastní čitelnou délku řádku.
   ===================================================================== */
html:root { --wd-container-w: 1560px; --sk-gut: clamp(20px, 3vw, 48px); --sk-inner: calc(var(--wd-container-w) - 2 * var(--sk-gut)); }
.container { max-width: var(--wd-container-w) !important; padding-left: var(--sk-gut) !important; padding-right: var(--sk-gut) !important; }
html .e-con-boxed:not(.wd-section-stretch-content) { --container-max-width: var(--sk-inner); }
body .ab { --content-width: var(--sk-inner) !important; }
/* hlavička: logo lícuje s levým okrajem obsahu, nástroje (měna, hledání, účet, košík) s pravým */
.whb-header :is(.whb-general-header, .whb-top-bar) > .container,
.whb-header .whb-sticky-row .whb-general-header > .container { max-width: var(--wd-container-w) !important; width: 100% !important; padding-left: var(--sk-gut) !important; padding-right: var(--sk-gut) !important; }
.whb-general-header .whb-col-left { flex: 1 1 auto; }
.whb-general-header .whb-col-left .wd-header-main-nav { margin-left: clamp(16px, 3vw, 56px); }
.whb-general-header .whb-col-right { flex: 0 0 auto; gap: 10px; }
.whb-general-header .whb-col-right > .wd-header-text, .whb-general-header .whb-col-right > .wd-tools-element { margin: 0 !important; }
.whb-general-header .whb-col-right .apnoe-mena-wrap { margin-right: 14px !important; }
.whb-general-header .whb-col-right .wd-tools-element:not(.wd-header-cart) > a { margin: 0 !important; padding: 0 !important; }
@media (max-width: 1366px) {
  .whb-general-header .wd-logo img { width: 230px !important; max-width: 230px !important; height: auto !important; }
  .whb-general-header .apnoe-mena-kod { display: none !important; }
  .whb-general-header .apnoe-mena-znak { display: inline !important; font-size: 14px; letter-spacing: 0; }
  .whb-general-header .apnoe-mena-btn { min-width: 40px; }
}
/* mobilní hlavička: úzký přepínač měny, viditelná lupa ve vyhledávání (byla bílá na bílém poli) a delší text pole */
@media (max-width: 767px) {
  .whb-header .whb-general-header > .container { padding-left: 12px !important; padding-right: 12px !important; }
  .whb-general-header .apnoe-mena-btn { min-width: 30px !important; padding: 0 3px !important; }
  .whb-general-header .apnoe-mena-wrap { margin-right: 6px !important; }
  .wd-header-search-form-mobile input[type="text"], .wd-header-search-form-mobile input[type="search"] { padding-left: 12px !important; padding-right: 38px !important; }
  .wd-header-search-form-mobile .searchsubmit { width: 36px !important; color: var(--sk-band-b) !important; }
  .wd-header-search-form-mobile .searchsubmit::before, .wd-header-search-form-mobile .searchsubmit::after { color: var(--sk-band-b) !important; }
}
/* vyhledávání: na počítači širší rozbalovací okno, na mobilu neprůhledná celoobrazovková vrstva nad plovoucími ikonami */
.whb-general-header .wd-header-search .wd-search-dropdown { width: 420px !important; max-width: calc(100vw - 40px); }
.wd-search-full-screen-2 { background-color: #fff !important; z-index: 2147483000 !important; }

/* =====================================================================
   MĚŘÍTKO PRO ŠIRŠÍ RÁM (2026-11-10): větší písmo, tlačítka a bloky od 1200 px; mobil beze změny
   ===================================================================== */
@media (min-width: 1200px) {
  html:root { --wd-text-font-size: 16px; }
  :is(.button, button.button, .btn, .wd-btn, input[type="submit"], .checkout-button, [id="place_order"], .wc-proceed-to-checkout .button) { font-size: 14.5px !important; }
  /* hlavička */
  .whb-general-header .wd-nav-main > li > a { font-size: 14px !important; letter-spacing: .05em; }
  .wd-nav-main .wd-sub-menu a { font-size: 14.5px; }
  .whb-general-header .whb-col-right .wd-tools-icon, .whb-header .wd-header-cart .wd-tools-icon { width: 46px !important; height: 46px !important; }
  .whb-header .wd-header-cart > a { height: 46px; }
  .whb-header .wd-header-cart .wd-tools-text { font-size: 15px !important; }
  .whb-general-header .apnoe-mena { height: 46px; font-size: 14px; }
  /* karty produktů (e-shop, kategorie, úvod, výsledky) */
  .wd-product.product-grid-item .wd-product-wrapper { padding: 18px 18px 22px; }
  .wd-product.product-grid-item :is(.wd-entities-title, .product-title) { font-size: 18px !important; }
  .wd-product.product-grid-item :is(.wd-product-cats, .wd-product-brands-links) { font-size: 13.5px; }
  .wd-product.product-grid-item .price { font-size: 20px; }
  .wd-product.product-grid-item .wd-add-btn .add_to_cart_button { padding: 15px 10px; font-size: 13.5px; }
  .wd-sidebar .widget-title, .wd-sidebar .wd-widget-title { font-size: 16.5px; }
  .wd-sidebar :is(li, a) { font-size: 15.5px; }
  .shop-loop-head, .woocommerce-ordering select, .wd-products-per-page { font-size: 15px; }
  /* detail produktu */
  .single-product .summary .product_title { font-size: clamp(30px, 2.6vw, 42px) !important; }
  .single-product .summary .price { font-size: 34px !important; }
  .single-product .summary .woocommerce-product-details__short-description, .single-product .woocommerce-Tabs-panel { font-size: 17.5px; }
  .single-product .summary .single_add_to_cart_button { min-height: 58px !important; padding: 0 40px !important; font-size: 15px !important; }
  .woocommerce-tabs .wd-nav-tabs .wd-nav-link { font-size: 18px; }
  /* stránky, košík, FAQ */
  .page:not(.home) .wd-content-layout .wd-text-block { font-size: 17.5px; }
  .shop_table .product-name a { font-size: 18.5px; }
  .wd-accordion-item .wd-accordion-title-text { font-size: 19px; }
  .wd-accordion-item .wd-accordion-content { font-size: 17px; }
  /* patička */
  .apf-title .elementor-heading-title { font-size: 18.5px; }
  .apf-text p, .apf-list .elementor-icon-list-text, .apf-catlist li a { font-size: 16.5px; }
  .apf-link .elementor-button { font-size: 16px; }
  .apf-legal-list .elementor-icon-list-text { font-size: 14.5px; }
  .apf-logo a { width: 260px; }
}
@media (min-width: 1480px) {
  .whb-general-header .wd-nav-main > li > a { font-size: 15.5px !important; padding-left: 14px !important; padding-right: 14px !important; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 14px; right: 14px; }
}

/* karusel (WoodMart „wd-fade-off“): tlačítko Přidat do košíku zůstává v kartě, ne absolutně nahoře přes obrázek */
.wd-product.product-grid-item .wd-product-card-hover .wd-bottom-actions { position: static !important; inset: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; width: 100%; }

/* karusel: WoodMart tu vykresluje skupinu ikon (.wd-buttons) místo tlačítka – převést na stejné tlačítko jako v mřížce e-shopu */
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons { position: static !important; inset: auto !important; display: flex !important; width: 100% !important; opacity: 1 !important; visibility: visible !important; transform: none !important; background: none !important; box-shadow: none !important; padding: 0 !important; margin: 0 !important; flex-direction: row !important; }
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons > :not(.wd-add-btn) { display: none !important; }
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons .wd-add-btn { flex: 1 1 100%; width: 100% !important; visibility: visible !important; opacity: 1 !important; }
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button { visibility: visible !important; opacity: 1 !important; display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: auto !important; min-height: 46px; padding: 14px 10px !important; background: var(--sk-green) !important; color: #fff !important; font: 600 13.5px/1.2 var(--sk-body) !important; letter-spacing: .05em; text-transform: uppercase; border-radius: 0 !important; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14) !important; }
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button:hover { background: var(--sk-green-deep) !important; }
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button .wd-action-icon, .wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button::before { display: none !important; }
.wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button .wd-action-text { display: inline !important; position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; color: #fff !important; font: inherit !important; width: auto !important; height: auto !important; clip: auto !important; white-space: nowrap; }
.wd-product.product-grid-item .wd-product-card-hover { width: 100% !important; }
@media (max-width: 640px) { .wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button { padding: 10px 6px !important; font-size: 12px !important; line-height: 1.25 !important; } .wd-product.product-grid-item .wd-product-card-hover .wd-buttons .add_to_cart_button .wd-action-text { white-space: normal; text-align: center; } }

/* nové logo (AS v kruhu, 2026-11-10): velikost v hlavičce a patičce, znak v mobilní hlavičce */
.whb-general-header .wd-logo img, .whb-general-header .site-logo img { width: 290px !important; max-width: 290px !important; height: auto !important; aspect-ratio: 1092 / 167 !important; }
.whb-sticked .whb-general-header .wd-logo img { width: 240px !important; max-width: 240px !important; }
.apf-logo a { width: 270px; }
@media (min-width: 1200px) and (max-width: 1366px) {
  .whb-general-header .wd-logo img { width: 250px !important; max-width: 250px !important; }
}
@media (max-width: 1024px) {
  .whb-general-header .whb-apnoeznakmobil01 { padding: 0 !important; margin-right: 10px; }
  .whb-general-header .whb-apnoeznakmobil01 img { width: 38px !important; max-width: 38px !important; height: 38px !important; aspect-ratio: 1 !important; }
}
@media (max-width: 767px) { .whb-general-header .wd-header-mobile-nav .wd-tools-text { display: none !important; } .whb-general-header .wd-header-mobile-nav > a { padding-right: 0 !important; } }

/* =====================================================================
   VIZUÁL 2026-11-10 (noc): větší logo, ikony místo odstavců, plovoucí lišta sítí
   ===================================================================== */
:root {
  --ic-doc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
  --ic-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-5-9 5 9 5 9-5z'/%3E%3Cpath d='M3 8v8l9 5 9-5V8M12 13v8'/%3E%3C/svg%3E");
  --ic-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
  --ic-cal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --ic-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
}
/* logo v hlavičce větší, i v přilepené hlavičce */
.whb-general-header .wd-logo img, .whb-general-header .site-logo img { width: 330px !important; max-width: 330px !important; }
.whb-sticked .whb-general-header .wd-logo img { width: 300px !important; max-width: 300px !important; }
@media (min-width: 1025px) and (max-width: 1366px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 270px !important; max-width: 270px !important; }
}
/* patička: reklamace jako tři body s ikonami ve čtverečcích */
@media (min-width: 1025px) { .apf-grid.e-con { grid-template-columns: 1.15fr 1.35fr .9fr 1.2fr; } }
.apf-points { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 14px; }
.apf-pt { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: center; margin: 0 !important; font-size: 15.5px; line-height: 1.45; color: rgba(255, 255, 255, .84); }
.apf-pt::before { content: ""; width: 44px; height: 44px; background: rgba(255, 255, 255, .1); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.apf-pt { position: relative; }
.apf-pt::after { content: ""; position: absolute; left: 11px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: #8ff0cd; -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.apf-pt-doc { --ic: var(--ic-doc); } .apf-pt-box { --ic: var(--ic-box); } .apf-pt-shield { --ic: var(--ic-shield); }
.apf-pt strong { color: #fff; font-weight: 600; }
/* patička: sociální sítě – 5 čtverečků přes celou šířku sloupce */
.apf-social .elementor-social-icons-wrapper { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
.apf-social .elementor-grid-item { display: inline-flex !important; width: auto !important; }
.apf-social .elementor-social-icon { width: 46px !important; height: 46px !important; }
/* plovoucí lišta sítí (WP Socializer) – větší čtverečky */
.wpsr-follow-icons .socializer > span > a { width: 46px !important; height: 46px !important; line-height: 46px !important; font-size: 21px !important; border-radius: 0 !important; display: grid !important; place-items: center; }
.wpsr-follow-icons .socializer > span > a :is(i, svg) { font-size: 21px !important; width: 21px; height: 21px; }
.wpsr-follow-icons .socializer > span { margin: 0 0 6px !important; }
@media (max-width: 767px) {
  .wpsr-follow-icons .socializer > span > a { width: 40px !important; height: 40px !important; line-height: 40px !important; font-size: 18px !important; }
}

/* zarovnání: roztažené sekce mají stejný boční okraj jako hlavička (logo i košík lícují s obsahem) */
.wd-section-stretch.e-con-boxed.e-parent, body .ab.wd-section-stretch.e-parent { padding-left: var(--sk-gut) !important; padding-right: var(--sk-gut) !important; }
.wd-section-stretch.e-con-boxed.e-parent > .e-con-inner { max-width: var(--sk-inner) !important; }
.whb-general-header .whb-col-right { margin-right: 0 !important; }

/* patička – kategorie s odrážkami (mátové čtverečky) */
.apf-catlist li a { display: inline-flex; align-items: baseline; gap: 12px; }
.apf-catlist li a::before { content: ""; flex: none; width: 7px; height: 7px; background: #8ff0cd; translate: 0 -2px; transition: transform .25s; }
.apf-catlist li a:hover::before { transform: scale(1.4); }

/* logo: WoodMart dává obrázku padding 5px 0 (border-box) → SVG se zmenšilo a vystředilo, kruh začínal ~33 px za okrajem obsahu */
.whb-header .wd-logo img, .whb-header .site-logo img { padding: 0 !important; object-fit: contain; object-position: left center; }

/* =====================================================================
   DECENTNÍ VZORY SEKCÍ (2026-11-10): obrysy masek, křížky, dechové vlny – v rohu sekce, pomalý posun
   ===================================================================== */
:root {
  --pat-masky: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22260%22%20height%3D%22260%22%20viewBox%3D%220%200%20260%20260%22%20fill%3D%22none%22%20stroke%3D%22%2314568e%22%20stroke-opacity%3D%220.07%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20transform%3D%22translate(20%2020)%20rotate(-12)%20scale(1.3)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(150%20110)%20rotate(14)%20scale(1.1)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(40%20160)%20rotate(6)%20scale(0.9)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M194%2040h12M200%2034v12%22%2F%3E%3Cpath%20d%3D%22M104%20230h12M110%20224v12%22%2F%3E%3Cpath%20d%3D%22M226%20200h12M232%20194v12%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%2270%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%22250%22%20r%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
  --pat-masky-bile: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22260%22%20height%3D%22260%22%20viewBox%3D%220%200%20260%20260%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.06%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20transform%3D%22translate(20%2020)%20rotate(-12)%20scale(1.3)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(150%20110)%20rotate(14)%20scale(1.1)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(40%20160)%20rotate(6)%20scale(0.9)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M194%2040h12M200%2034v12%22%2F%3E%3Cpath%20d%3D%22M104%20230h12M110%20224v12%22%2F%3E%3Cpath%20d%3D%22M226%20200h12M232%20194v12%22%2F%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%2270%22%20r%3D%223%22%2F%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%22250%22%20r%3D%222.4%22%2F%3E%3C%2Fsvg%3E");
  --pat-vlny: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2260%22%20viewBox%3D%220%200%20240%2060%22%20fill%3D%22none%22%20stroke%3D%22%2314568e%22%20stroke-opacity%3D%220.08%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M0%2030%20Q15%2012%2030%2030%20T60%2030%20h30%20Q105%2048%20120%2030%20T150%2030%20T180%2030%20h30%20Q225%2012%20240%2030%22%2F%3E%3C%2Fsvg%3E");
}
:is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news).e-con { position: relative; overflow: hidden; }
:is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news).e-con > .e-con-inner { position: relative; z-index: 1; }
:is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news).e-con::before {
  content: "" !important; position: absolute !important; z-index: 0 !important; pointer-events: none; opacity: 1 !important; inset: auto !important;
  width: min(620px, 55%); height: min(520px, 90%);
  -webkit-mask: radial-gradient(closest-side, #000 25%, transparent 100%); mask: radial-gradient(closest-side, #000 25%, transparent 100%);
}
.hpe-cats-sec.e-con::before { top: -40px !important; right: -60px !important; background: var(--pat-masky) 0 0 / 260px 260px repeat; }
.hpe-products.e-con::before { bottom: -60px !important; left: -80px !important; background: var(--pat-vlny) 0 0 / 240px 60px repeat; }
.hpe-voucher.e-con::before { bottom: -80px !important; left: 30% !important; background: var(--pat-masky) 0 0 / 220px 220px repeat; }
.hpe-therapy.e-con::before { top: -60px !important; right: -40px !important; width: min(700px, 60%); background: var(--pat-masky) 0 0 / 300px 300px repeat; }
.hpe-news.e-con::before { top: -40px !important; left: -60px !important; background: var(--pat-vlny) 0 0 / 240px 60px repeat; }
.wd-footer { overflow: hidden; }
.wd-footer .main-footer { position: relative; z-index: 1; }
.wd-footer::after { content: ""; position: absolute; z-index: 0; pointer-events: none; top: 40px; right: -60px; width: min(640px, 50%); height: 520px; background: var(--pat-masky-bile) 0 0 / 260px 260px repeat;
  -webkit-mask: radial-gradient(closest-side, #000 20%, transparent 100%); mask: radial-gradient(closest-side, #000 20%, transparent 100%); }
@media (prefers-reduced-motion: no-preference) {
  :is(.hpe-cats-sec, .hpe-therapy, .hpe-voucher).e-con::before, .wd-footer::after { animation: patPosun 90s linear infinite; }
  :is(.hpe-products, .hpe-news).e-con::before { animation: patVlny 40s linear infinite; }
  @keyframes patPosun { from { background-position: 0 0; } to { background-position: 260px 260px; } }
  @keyframes patVlny { from { background-position: 0 0; } to { background-position: 240px 0; } }
}
@media (max-width: 767px) { :is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news).e-con::before { width: 80%; height: 50%; } }

/* =====================================================================
   HOVER IKON, PATIČKA (tlačítka, zvýraznění nadpisů, vyrovnání sloupců), reCAPTCHA (2026-11-10)
   ===================================================================== */
:root { --ic-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.apf-pt-clock { --ic: var(--ic-clock); }
/* decentní hover všech ikon */
:is(.hpe-fact, .hpe-therapy-ic, .hpe-doctor-box) .elementor-icon { transition: background-color .3s, color .3s, transform .4s cubic-bezier(.22, 1, .36, 1), box-shadow .4s; }
:is(.hpe-fact, .hpe-therapy-ic, .hpe-doctor-box) .elementor-icon :is(i, svg) { transition: color .3s, fill .3s; }
.hpe-fact:hover .elementor-icon { background: var(--sk-band-b) !important; color: #fff !important; transform: translateY(-3px); box-shadow: 0 12px 22px -12px rgba(14, 58, 95, .7); }
.hpe-fact:hover .elementor-icon :is(i, svg) { color: #fff !important; fill: #fff !important; }
.hpe-therapy-item:hover .hpe-therapy-ic .elementor-icon { background: var(--sk-green) !important; transform: translateY(-4px) rotate(-4deg); }
.hpe-doctor:hover .hpe-doctor-box .elementor-icon { transform: scale(1.06) rotate(-3deg); }
:is(.apf-pt, .hpe-pt)::before, :is(.apf-pt, .hpe-pt)::after { transition: background-color .3s, transform .4s cubic-bezier(.22, 1, .36, 1); }
.apf-pt:hover::before { background: rgba(143, 240, 205, .2); }
.hpe-pt:hover::before { background: var(--sk-band-b); }
.hpe-pt:hover::after { background: #fff; }
:is(.apf-pt, .hpe-pt):hover::after { transform: scale(1.12); }
.apf-list .elementor-icon-list-icon, .apf-benefits .elementor-icon-list-icon { transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
:is(.apf-list, .apf-benefits) .elementor-icon-list-item:hover .elementor-icon-list-icon { transform: translateX(3px) scale(1.1); }
.wd-footer .apf-social .elementor-social-icon:hover { transform: translateY(-3px); }
.wpsr-follow-icons .socializer > span > a { transition: transform .3s, filter .3s; }
.wpsr-follow-icons .socializer > span > a:hover { transform: translateX(-4px); filter: brightness(1.08); }
/* náhledy Aktualit na úvodu: přiblížení a jemné ztmavení */
.hpe-blog .wd-post-thumb { position: relative; overflow: hidden; }
.hpe-blog .wd-post-thumb img { transition: transform .8s cubic-bezier(.22, 1, .36, 1), filter .6s !important; }
.hpe-blog .wd-post:hover .wd-post-thumb img { transform: scale(1.06) !important; filter: saturate(1.08) brightness(.95); }
.hpe-blog .wd-post-thumb::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20, 86, 142, 0) 50%, rgba(20, 86, 142, .35) 100%); opacity: 0; transition: opacity .5s; pointer-events: none; }
.hpe-blog .wd-post:hover .wd-post-thumb::after { opacity: 1; }

/* patička: nadpisy sloupců s mátovým podtržením, obsah sloupců začíná ve stejné výšce */
.apf-title .elementor-heading-title::after { content: ""; display: block; width: 28px; height: 2px; margin-top: 12px; background: #8ff0cd; transition: width .4s cubic-bezier(.22, 1, .36, 1); }
.apf-col:hover .apf-title .elementor-heading-title::after { width: 48px; }
@media (min-width: 1025px) {
  .apf-col.e-con > .elementor-element:first-child { height: 50px; display: flex !important; align-items: flex-end; }
  .apf-logo a { width: 260px !important; }
}
/* patička: odkazy jako tlačítka */
.apf-link .elementor-button { padding: 13px 20px !important; background: rgba(255, 255, 255, .06) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32) !important; font: 600 14px/1 var(--sk-body) !important; letter-spacing: .05em; text-transform: uppercase; color: #fff !important; transition: background-color .3s, box-shadow .3s, color .3s; }
.apf-link .elementor-button:hover { background: var(--sk-green) !important; box-shadow: inset 0 0 0 1px var(--sk-green) !important; color: #fff !important; }
.apf-link { margin-top: 6px; }
/* patička: výhody pod logem (stejný styl jako kontakty) */
.apf-benefits .elementor-icon-list-item { align-items: center !important; margin: 0 0 10px !important; padding: 0 !important; }
.apf-benefits .elementor-icon-list-icon { width: 34px; height: 34px; display: inline-grid !important; place-items: center; background: rgba(255, 255, 255, .1); }
.apf-benefits .elementor-icon-list-icon :is(i, svg) { color: #8ff0cd !important; fill: #8ff0cd !important; font-size: 15px; width: 15px; height: 15px; }
.apf-benefits .elementor-icon-list-text { padding-left: 12px !important; font-size: 15.5px; color: rgba(255, 255, 255, .86) !important; }
@media (min-width: 1200px) { .apf-benefits .elementor-icon-list-text { font-size: 16px; } }

/* reCAPTCHA: na úvodní stránce bez odznaku (formuláře na jiných stránkách ho dál zobrazují) */
.grecaptcha-badge { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* hlavička se 7 položkami menu (přibyl Velkoobchod): zhuštění na noteboocích, aby se vešel košík */
@media (min-width: 1025px) and (max-width: 1365px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 220px !important; max-width: 220px !important; }
  .whb-general-header .whb-col-left .wd-header-main-nav { margin-left: 20px; }
  .whb-general-header .wd-nav-main > li > a { font-size: 13px !important; padding-left: 7px !important; padding-right: 7px !important; letter-spacing: .03em; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 7px; right: 7px; }
  .whb-header .wd-header-cart .wd-tools-text { display: none !important; }
  .whb-general-header .whb-col-right { gap: 8px; }
  .whb-general-header .whb-col-right .apnoe-mena-wrap { margin-right: 6px !important; }
}
@media (min-width: 1366px) and (max-width: 1479px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 250px !important; max-width: 250px !important; }
  .whb-general-header .wd-nav-main > li > a { padding-left: 8px !important; padding-right: 8px !important; }
}

/* hlavička – finální stupně velikostí (7 položek menu + měna + hledání + účet + košík musí vyjít do šířky obsahu) */
@media (min-width: 1025px) and (max-width: 1479px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 220px !important; max-width: 220px !important; }
  .whb-general-header .whb-col-left .wd-header-main-nav { margin-left: 20px !important; }
  .whb-general-header .wd-nav-main > li > a { font-size: 13px !important; padding-left: 7px !important; padding-right: 7px !important; letter-spacing: .03em; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 7px; right: 7px; }
  .whb-header .wd-header-cart .wd-tools-text { display: none !important; }
}
/* 1025–1279 px (iPad na šířku, menší notebooky): hlavička přetékala, košík byl za okrajem (měřeno 2026-11-11:
   na 1025 px o 180 px). Užší logo, menu a nástroje; přepínač vzhledu je tu jen v patičce. */
@media (min-width: 1025px) and (max-width: 1279px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 150px !important; max-width: 150px !important; }
  .whb-general-header .whb-col-left .wd-header-main-nav { margin-left: 10px !important; }
  .whb-general-header .wd-nav-main > li > a { font-size: 12.5px !important; padding-left: 5px !important; padding-right: 5px !important; letter-spacing: .01em; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 5px; right: 5px; }
  .whb-general-header .whb-col-right { gap: 4px; }
  .whb-general-header .whb-col-right .apnoe-mena-wrap { margin-right: 2px !important; }
  .whb-general-header .whb-col-right .wd-tools-icon, .whb-header .wd-header-cart .wd-tools-icon { width: 42px !important; height: 42px !important; }
}
@media (min-width: 1025px) and (max-width: 1099px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 132px !important; max-width: 132px !important; }
  .whb-general-header .wd-nav-main > li > a { font-size: 12px !important; padding-left: 4px !important; padding-right: 4px !important; letter-spacing: 0; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 4px; right: 4px; }
}
@media (min-width: 1180px) and (max-width: 1279px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 180px !important; max-width: 180px !important; }
  .whb-general-header .wd-nav-main > li > a { font-size: 13px !important; padding-left: 6px !important; padding-right: 6px !important; }
}
@media (min-width: 1480px) and (max-width: 1799px) {
  .whb-general-header .wd-logo img, .whb-sticked .whb-general-header .wd-logo img { width: 260px !important; max-width: 260px !important; }
  .whb-general-header .whb-col-left .wd-header-main-nav { margin-left: 28px !important; }
  .whb-general-header .wd-nav-main > li > a { font-size: 14.5px !important; padding-left: 9px !important; padding-right: 9px !important; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 9px; right: 9px; }
}
@media (min-width: 1800px) {
  .whb-general-header .wd-logo img { width: 300px !important; max-width: 300px !important; }
  .whb-sticked .whb-general-header .wd-logo img { width: 280px !important; max-width: 280px !important; }
  .whb-general-header .whb-col-left .wd-header-main-nav { margin-left: 40px !important; }
  .whb-general-header .wd-nav-main > li > a { font-size: 15px !important; padding-left: 11px !important; padding-right: 11px !important; }
  .wd-nav-main > li:is(.current-menu-item, .current-menu-ancestor, :hover) > a::after, .wd-nav-main > li.menu-item-has-children:is(.current-menu-item, .current-menu-ancestor, :hover) > a::before { left: 11px; right: 11px; }
}

/* patička: podtržení odkazů při najetí myší (vysune se zleva, mátové) */
.apf-catlist li a { background: linear-gradient(#8ff0cd, #8ff0cd) 19px 100% / 0 1.5px no-repeat; padding-bottom: 3px; transition: background-size .4s cubic-bezier(.22, 1, .36, 1), color .25s; }
.apf-catlist li a:hover { background-size: calc(100% - 19px) 1.5px; }
:is(.apf-legal-list, .apf-list) a .elementor-icon-list-text { background: linear-gradient(#8ff0cd, #8ff0cd) 0 100% / 0 1.5px no-repeat; padding-bottom: 3px !important; transition: background-size .4s cubic-bezier(.22, 1, .36, 1), color .25s; }
.apf-list a .elementor-icon-list-text { background-position: 10px 100%; }
:is(.apf-legal-list, .apf-list) a:hover .elementor-icon-list-text { background-size: 100% 1.5px; }
.apf-list a:hover .elementor-icon-list-text { background-size: calc(100% - 10px) 1.5px; }

/* tlačítko „nahoru“ (WoodMart .scrollToTop): hranaté v barvách webu, hover zelený */
.scrollToTop { width: 50px !important; height: 50px !important; border-radius: 0 !important; background: var(--sk-band-b) !important; color: #fff !important; box-shadow: 0 14px 28px -14px rgba(8, 30, 55, .7) !important; transition: background-color .3s, transform .35s cubic-bezier(.22, 1, .36, 1), opacity .3s, visibility .3s !important; }
.scrollToTop::after, .scrollToTop::before, .scrollToTop :is(i, svg, span) { color: #fff !important; fill: #fff !important; }
.scrollToTop:hover { background: var(--sk-green) !important; transform: translateY(-3px); }
.scrollToTop:focus-visible { outline: 3px solid var(--sk-green); outline-offset: 3px; }

/* posuvník stránky v barvách webu (Chrome/Edge/Safari i Firefox) */
html { scrollbar-color: var(--sk-band-a) #e8eef3; }
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #e8eef3; }
::-webkit-scrollbar-thumb { background: var(--sk-band-a); border: 3px solid #e8eef3; border-radius: 0; }
::-webkit-scrollbar-thumb:hover { background: var(--sk-green); }

/* =====================================================================
   VZORY v2 (2026-11-10): víc motivů (maska, měsíc, plíce, Zz, polštář, dech, křížek), výraznější, větší plocha
   ===================================================================== */
:root {
  --pat-masky: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22300%22%20height%3D%22300%22%20viewBox%3D%220%200%20300%20300%22%20fill%3D%22none%22%20stroke%3D%22%2314568e%22%20stroke-opacity%3D%220.13%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20transform%3D%22translate(10%2012)%20rotate(-12)%20scale(1.25)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(150%204)%20rotate(10)%20scale(1)%22%3E%3Cpath%20d%3D%22M30%2010a14%2014%200%201%200%208%2024%2011%2011%200%201%201-8-24z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(232%2040)%20rotate(0)%20scale(0.9)%22%3E%3Cpath%20d%3D%22M18%2024h12M24%2018v12%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(96%2096)%20rotate(0)%20scale(1.05)%22%3E%3Cpath%20d%3D%22M21%2015v15c0%208-11%2010-13%203-2-8%204-18%2013-18z%22%2F%3E%3Cpath%20d%3D%22M27%2015v15c0%208%2011%2010%2013%203%202-8-4-18-13-18z%22%2F%3E%3Cpath%20d%3D%22M24%206v12%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(214%20128)%20rotate(14)%20scale(1.15)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(16%20176)%20rotate(0)%20scale(1.1)%22%3E%3Cpath%20d%3D%22M7%2017q17-6%2034%200%205%207%200%2014-17%206-34%200-5-7%200-14z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(120%20200)%20rotate(-6)%20scale(1)%22%3E%3Cpath%20d%3D%22M14%2016h10L14%2028h10M28%2010h7l-7%209h7%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(210%20236)%20rotate(0)%20scale(1)%22%3E%3Cpath%20d%3D%22M4%2024q5-8%2010%200t10%200h6q5%208%2010%200t6%200%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(70%20248)%20rotate(0)%20scale(0.8)%22%3E%3Cpath%20d%3D%22M18%2024h12M24%2018v12%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(268%20196)%20rotate(0)%20scale(0.8)%22%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%224%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(60%20120)%20rotate(0)%20scale(0.7)%22%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%224%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --pat-masky-bile: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22300%22%20height%3D%22300%22%20viewBox%3D%220%200%20300%20300%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.11%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20transform%3D%22translate(10%2012)%20rotate(-12)%20scale(1.25)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(150%204)%20rotate(10)%20scale(1)%22%3E%3Cpath%20d%3D%22M30%2010a14%2014%200%201%200%208%2024%2011%2011%200%201%201-8-24z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(232%2040)%20rotate(0)%20scale(0.9)%22%3E%3Cpath%20d%3D%22M18%2024h12M24%2018v12%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(96%2096)%20rotate(0)%20scale(1.05)%22%3E%3Cpath%20d%3D%22M21%2015v15c0%208-11%2010-13%203-2-8%204-18%2013-18z%22%2F%3E%3Cpath%20d%3D%22M27%2015v15c0%208%2011%2010%2013%203%202-8-4-18-13-18z%22%2F%3E%3Cpath%20d%3D%22M24%206v12%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(214%20128)%20rotate(14)%20scale(1.15)%22%3E%3Cpath%20d%3D%22M24%206c6%200%2013%2016%2013%2025%200%206-5%209-13%209s-13-3-13-9C11%2022%2018%206%2024%206z%22%2F%3E%3Cpath%20d%3D%22M24%2014c3%200%207%209%207%2015%200%203-3%205-7%205s-7-2-7-5c0-6%204-15%207-15z%22%20stroke-width%3D%221.6%22%2F%3E%3Cpath%20d%3D%22M24%2040v6%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(16%20176)%20rotate(0)%20scale(1.1)%22%3E%3Cpath%20d%3D%22M7%2017q17-6%2034%200%205%207%200%2014-17%206-34%200-5-7%200-14z%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(120%20200)%20rotate(-6)%20scale(1)%22%3E%3Cpath%20d%3D%22M14%2016h10L14%2028h10M28%2010h7l-7%209h7%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(210%20236)%20rotate(0)%20scale(1)%22%3E%3Cpath%20d%3D%22M4%2024q5-8%2010%200t10%200h6q5%208%2010%200t6%200%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(70%20248)%20rotate(0)%20scale(0.8)%22%3E%3Cpath%20d%3D%22M18%2024h12M24%2018v12%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(268%20196)%20rotate(0)%20scale(0.8)%22%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%224%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(60%20120)%20rotate(0)%20scale(0.7)%22%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%224%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  --pat-vlny: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2270%22%20viewBox%3D%220%200%20240%2070%22%20fill%3D%22none%22%20stroke%3D%22%2314568e%22%20stroke-opacity%3D%220.15%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M0%2024%20Q15%206%2030%2024%20T60%2024%20h30%20Q105%2042%20120%2024%20T150%2024%20T180%2024%20h30%20Q225%206%20240%2024%22%2F%3E%3Cpath%20d%3D%22M0%2056%20Q15%2044%2030%2056%20T60%2056%20T90%2056%20h30%20Q135%2068%20150%2056%20T180%2056%20T210%2056%20T240%2056%22%20stroke-opacity%3D%220.09%22%2F%3E%3C%2Fsvg%3E");
}
:is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news, .hpe-insta).e-con { position: relative; overflow: hidden; }
:is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news, .hpe-insta).e-con > .e-con-inner { position: relative; z-index: 1; }
:is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news, .hpe-insta).e-con::before {
  content: "" !important; position: absolute !important; z-index: 0 !important; pointer-events: none; opacity: 1 !important; inset: auto !important;
  width: min(900px, 70%); height: 100%;
  -webkit-mask: radial-gradient(closest-side, #000 45%, transparent 100%); mask: radial-gradient(closest-side, #000 45%, transparent 100%);
}
.hpe-cats-sec.e-con::before { top: 0 !important; right: -80px !important; background: var(--pat-masky) 0 0 / 300px 300px repeat; }
.hpe-products.e-con::before { top: 0 !important; left: -120px !important; background: var(--pat-vlny) 0 0 / 240px 70px repeat; }
.hpe-voucher.e-con::before { top: 0 !important; left: 25% !important; background: var(--pat-masky) 0 0 / 280px 280px repeat; }
.hpe-therapy.e-con::before { top: 0 !important; right: -60px !important; background: var(--pat-masky) 0 0 / 320px 320px repeat; }
.hpe-news.e-con::before, .hpe-insta.e-con::before { top: 0 !important; left: -100px !important; background: var(--pat-masky) 0 0 / 300px 300px repeat; }
.wd-footer::after { top: 0; right: -80px; width: min(900px, 65%); height: 100%; background: var(--pat-masky-bile) 0 0 / 300px 300px repeat;
  -webkit-mask: radial-gradient(closest-side, #000 40%, transparent 100%); mask: radial-gradient(closest-side, #000 40%, transparent 100%); }
@media (prefers-reduced-motion: no-preference) {
  :is(.hpe-cats-sec, .hpe-therapy, .hpe-voucher, .hpe-news, .hpe-insta).e-con::before, .wd-footer::after { animation: patPosun2 70s linear infinite; }
  .hpe-products.e-con::before { animation: patVlny 30s linear infinite; }
  @keyframes patPosun2 { from { background-position: 0 0; } to { background-position: 300px 300px; } }
}
@media (max-width: 767px) { :is(.hpe-cats-sec, .hpe-products, .hpe-voucher, .hpe-therapy, .hpe-news, .hpe-insta).e-con::before { width: 100%; height: 60%; } }
/* tlačítko „nahoru“ nad zelenou lištou obchodu a nad odznakem reCAPTCHA */
body.woocommerce-demo-store .scrollToTop { bottom: 92px !important; right: 20px !important; }
body:not(.woocommerce-demo-store) .scrollToTop { bottom: 90px !important; right: 20px !important; }

/* spodní lišta: odkaz na autora webu trvale v zelené barvě webu */
.wd-footer .copyrights-wrapper a, .wd-footer .copyrights-wrapper a strong { color: var(--sk-green) !important; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; padding-bottom: 2px; transition: color .25s, background-size .4s cubic-bezier(.22, 1, .36, 1); }
.wd-footer .copyrights-wrapper a:hover, .wd-footer .copyrights-wrapper a:hover strong { color: #8ff0cd !important; background-size: 100% 1.5px; }

/* =====================================================================
   E-SHOP A DETAIL PRODUKTU (2026-11-10)
   ===================================================================== */
/* lišta nad produkty: bílý panel, segmentové přepínače v barvách webu */
.shop-loop-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; padding: 14px 18px !important; margin-bottom: 28px !important; background: #fff; border: 1px solid var(--sk-line) !important; box-shadow: 0 20px 40px -34px rgba(14, 58, 95, .5); }
.shop-loop-head .wd-shop-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.shop-loop-head .wd-breadcrumbs { font-size: 14px; }
.shop-loop-head .woocommerce-result-count { margin: 0; padding-left: 16px; border-left: 1px solid var(--sk-line); font-size: 13.5px; color: var(--sk-muted); }
.wd-products-per-page { display: inline-flex; align-items: center; gap: 4px; }
.wd-products-per-page .per-page-title { margin-right: 6px; font: 600 11.5px/1 var(--sk-body); letter-spacing: .08em; text-transform: uppercase; color: var(--sk-muted); }
.wd-products-per-page .per-page-border { display: none !important; }
.wd-products-per-page .per-page-variation { display: inline-grid; place-items: center; min-width: 38px; height: 36px; padding: 0 8px; background: var(--sk-tint); color: var(--sk-ink) !important; font: 600 13.5px/1 var(--sk-body); transition: background-color .25s, color .25s, transform .3s; }
.wd-products-per-page .per-page-variation:hover { background: #dcebf6; transform: translateY(-1px); }
.wd-products-per-page .per-page-variation.current-variation { background: var(--sk-band-b); color: #fff !important; }
.wd-products-shop-view { display: inline-flex; gap: 4px; }
.wd-products-shop-view .shop-view { width: 36px; height: 36px; display: inline-grid !important; place-items: center; background: var(--sk-tint); color: var(--sk-band-b) !important; transition: background-color .25s, color .25s, transform .3s; }
.wd-products-shop-view .shop-view::before { color: inherit !important; font-size: 15px; }
.wd-products-shop-view .shop-view:hover { background: #dcebf6; transform: translateY(-1px); }
.wd-products-shop-view .shop-view.current-variation { background: var(--sk-band-b); color: #fff !important; }
.shop-loop-head .woocommerce-ordering select { height: 38px !important; padding: 0 38px 0 14px !important; border: 1px solid var(--sk-line) !important; border-radius: 0 !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314568e' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center / 14px no-repeat !important; font: 600 13.5px/1 var(--sk-body) !important; color: var(--sk-ink) !important; box-shadow: none !important; -webkit-appearance: none; appearance: none; cursor: pointer; transition: border-color .25s; }
.shop-loop-head .woocommerce-ordering select:hover, .shop-loop-head .woocommerce-ordering select:focus { border-color: var(--sk-band-a) !important; }
.shop-loop-head .woocommerce-ordering.wd-style-underline::after { display: none !important; }

/* levé menu kategorií: nadpis s mátovým podtržením, položky s ikonou šipky a podtržením, podmenu stejně */
.wd-sidebar .widget_nav_mega_menu .widget-title, .wd-sidebar .widget-title { position: relative; padding-bottom: 12px; margin-bottom: 16px !important; }
.wd-sidebar .widget-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--sk-green); transition: width .4s cubic-bezier(.22, 1, .36, 1); }
.wd-sidebar .widget:hover .widget-title::after { width: 48px; }
.wd-sidebar .wd-nav-vertical { background: #fff !important; border: 1px solid var(--sk-line) !important; box-shadow: 0 24px 44px -36px rgba(14, 58, 95, .5) !important; }
.wd-sidebar .wd-nav-vertical > li > a { position: relative; padding: 15px 44px 15px 18px !important; font: 500 15px/1.35 var(--sk-body) !important; color: var(--sk-ink) !important; transition: background-color .25s, color .25s, padding-left .35s cubic-bezier(.22, 1, .36, 1); }
.wd-sidebar .wd-nav-vertical > li > a .nav-link-text { background: linear-gradient(var(--sk-green), var(--sk-green)) 0 100% / 0 2px no-repeat; padding-bottom: 2px; transition: background-size .4s cubic-bezier(.22, 1, .36, 1); }
.wd-sidebar .wd-nav-vertical > li:hover > a { background: var(--sk-tint) !important; color: var(--sk-band-b) !important; padding-left: 24px !important; }
.wd-sidebar .wd-nav-vertical > li:hover > a .nav-link-text, .wd-sidebar .wd-nav-vertical > li.current-menu-item > a .nav-link-text { background-size: 100% 2px; }
.wd-sidebar .wd-nav-vertical > li > a::after { color: var(--sk-band-a) !important; transition: transform .35s cubic-bezier(.22, 1, .36, 1), color .25s; }
.wd-sidebar .wd-nav-vertical > li:hover > a::after { transform: translateX(4px); color: var(--sk-green-text) !important; }
.wd-sidebar .wd-nav-vertical > li:not(.menu-item-has-children) > a::after { content: ""; position: absolute; right: 18px; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: currentColor; -webkit-mask: var(--sk-arrow, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")) center / contain no-repeat; mask: var(--sk-arrow, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")) center / contain no-repeat; opacity: 0; color: var(--sk-green-text) !important; }
.wd-sidebar .wd-nav-vertical > li:not(.menu-item-has-children):hover > a::after { opacity: 1; }
.wd-sidebar .wd-nav-vertical > li.current-menu-item > a { background: var(--sk-tint) !important; color: var(--sk-band-b) !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown { border-radius: 0 !important; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -30px rgba(8, 30, 55, .45) !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown :is(a, .wd-sub-menu a) { color: var(--sk-ink) !important; font-size: 14.5px; background: linear-gradient(var(--sk-green), var(--sk-green)) 0 100% / 0 2px no-repeat; transition: background-size .4s cubic-bezier(.22, 1, .36, 1), color .25s; }
.wd-sidebar .wd-nav-vertical .wd-dropdown :is(a, .wd-sub-menu a):hover { color: var(--sk-band-b) !important; background-size: 100% 2px; }
.wd-sidebar .wd-nav-vertical .wd-dropdown .wd-sub-menu > li > a::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 10px; vertical-align: middle; background: var(--sk-green); translate: 0 -1px; }

/* tlačítko Přidat do košíku: viz blok „PŘIDAT DO KOŠÍKU v2“ níže (původní v1 s vyjíždějící ikonou odstraněna 2026-11-10 – překrývala text) */
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button { position: relative; overflow: hidden; }

/* postupné načítání (WoodMart infinite scroll): načítací indikátor v barvách webu, bez tlačítka */
.wd-products-load-more, .wd-load-more { border-radius: 0 !important; }
.wd-load-more.wd-loading::after, .wd-products-load-more.wd-loading::after { border-color: var(--sk-green) transparent var(--sk-green) transparent !important; }

/* detail produktu: popis přes celou šířku obsahu */
.single-product .woocommerce-Tabs-panel, .single-product .woocommerce-Tabs-panel--description { max-width: none !important; margin-inline: 0 !important; }

/* okno Historie cen (Toret Toolkit, jQuery UI + ApexCharts): ikony nástrojů grafu a vzhled okna */
.apexcharts-toolbar button, .apexcharts-toolbar > div { padding: 0 !important; min-height: 0 !important; width: 30px !important; height: 30px !important; display: inline-grid !important; place-items: center; background: transparent !important; border: 0 !important; box-shadow: none !important; color: #6e8192 !important; transition: background-color .2s, color .2s; }
.apexcharts-toolbar button:hover, .apexcharts-toolbar .apexcharts-selected { background: var(--sk-tint) !important; color: var(--sk-band-b) !important; }
.apexcharts-toolbar svg { width: 18px !important; height: 18px !important; flex: none !important; }
.ui-dialog { padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: 0 40px 90px -30px rgba(8, 30, 55, .55) !important; font-family: var(--sk-body) !important; }
.ui-dialog .ui-dialog-titlebar { padding: 16px 20px !important; border: 0 !important; border-radius: 0 !important; background: linear-gradient(115deg, var(--sk-band-b), var(--sk-band-a)) !important; }
.ui-dialog .ui-dialog-title { color: #fff !important; font: 700 17px/1.2 var(--sk-head) !important; letter-spacing: .01em; }
.ui-dialog .ui-dialog-titlebar-close { width: 34px !important; height: 34px !important; padding: 0 !important; min-height: 0 !important; right: 14px !important; margin-top: -17px !important; background: rgba(255, 255, 255, .14) !important; border: 0 !important; border-radius: 0 !important; color: transparent !important; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar-close::before { content: "×"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font: 400 24px/1 var(--sk-body); }
.ui-dialog .ui-dialog-titlebar-close:hover { background: var(--sk-green) !important; }
.ui-dialog .ui-dialog-titlebar-close .ui-icon { display: none !important; }
.ui-dialog .ui-dialog-buttonpane { border-top: 1px solid var(--sk-line) !important; margin: 0 !important; padding: 12px 20px !important; }
.ui-dialog .ui-dialog-buttonpane button { min-height: 44px !important; padding: 0 24px !important; background: var(--sk-green) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 600 14px/1 var(--sk-body) !important; letter-spacing: .06em; text-transform: uppercase; outline: none !important; }
.ui-dialog .ui-dialog-buttonpane button:hover { background: var(--sk-green-deep) !important; }
.ui-widget-overlay { background: rgba(8, 30, 55, .55) !important; opacity: 1 !important; }
#ttol-show-price-chart { display: inline-flex !important; align-items: center; gap: 8px; color: var(--sk-band-b) !important; font-weight: 600; background: linear-gradient(var(--sk-green), var(--sk-green)) 0 100% / 100% 1.5px no-repeat; padding-bottom: 2px; }
#ttol-show-price-chart::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E") center / contain no-repeat; }

/* pohybující se vzory i na e-shopu, v kategoriích a na detailu produktu */
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content { position: relative; }
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content > * { position: relative; z-index: 1; }
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::before,
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::after { content: ""; position: absolute; z-index: 0; pointer-events: none; width: min(900px, 55%); height: 900px; background: var(--pat-masky) 0 0 / 300px 300px repeat;
  -webkit-mask: radial-gradient(closest-side, #000 40%, transparent 100%); mask: radial-gradient(closest-side, #000 40%, transparent 100%); }
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::before { top: 220px; right: -120px; }
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::after { bottom: 80px; left: -160px; background: var(--pat-masky) 120px 80px / 320px 320px repeat; }
@media (prefers-reduced-motion: no-preference) {
  :is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::before, :is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::after { animation: patPosun2 80s linear infinite; }
}
.ui-dialog .ui-dialog-titlebar-close { text-indent: 0 !important; }
.ui-dialog .ui-dialog-titlebar-close::before { text-indent: 0 !important; z-index: 2; }
.ui-dialog .ui-dialog-titlebar-close .ui-button-icon-space { display: none !important; }
#ttol-price-chart-close { min-height: 44px !important; padding: 0 26px !important; background: var(--sk-green) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; outline: none !important; font: 600 14px/1 var(--sk-body) !important; letter-spacing: .06em; text-transform: uppercase; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14) !important; transition: background-color .25s; }
#ttol-price-chart-close:hover { background: var(--sk-green-deep) !important; }
#ttol-price-chart-close:focus-visible { outline: 3px solid var(--sk-band-a) !important; outline-offset: 2px; }
/* tlačítko do košíku: pevná výška v klidu i při najetí (výměna text ↔ ikona nemění rozměr) */
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button { display: flex !important; align-items: center !important; justify-content: center !important; height: 48px !important; min-height: 48px !important; padding: 0 10px !important; line-height: 1.2 !important; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button:hover { transform: none !important; }
@media (max-width: 640px) { .wd-product.product-grid-item .wd-add-btn .add_to_cart_button { height: 52px !important; min-height: 52px !important; } }

/* =====================================================================
   STRÁNKA E-POUKAZY (2026-11-10): návod, formulář a ceník doplatků (třídy epz-*)
   ===================================================================== */
.epz-sec.e-con { position: relative; overflow: hidden; padding-left: var(--sk-gut) !important; padding-right: var(--sk-gut) !important; font-family: var(--sk-body); color: var(--sk-text); }
.epz-sec.e-con > .e-con-inner { position: relative; z-index: 1; width: 100%; max-width: var(--sk-inner) !important; padding: 0 !important; }
.epz-sec .e-con { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.epz-sec .elementor-widget { margin-bottom: 0 !important; }
.epz-sec.e-con::before { content: "" !important; position: absolute !important; z-index: 0 !important; inset: auto !important; pointer-events: none; opacity: 1 !important; width: min(900px, 65%); height: 100%;
  background: var(--pat-masky) 0 0 / 300px 300px repeat; -webkit-mask: radial-gradient(closest-side, #000 40%, transparent 100%); mask: radial-gradient(closest-side, #000 40%, transparent 100%); }
.epz-intro.e-con::before { top: 0 !important; right: -80px !important; }
.epz-main.e-con::before { bottom: 0 !important; left: -120px !important; }
@media (prefers-reduced-motion: no-preference) { .epz-sec.e-con::before { animation: patPosun2 80s linear infinite; } }
.epz-intro.e-con { padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: clamp(36px, 4vw, 56px) !important; }
.epz-intro > .e-con-inner { gap: 34px !important; }
.epz-main.e-con { padding-top: 0 !important; padding-bottom: clamp(64px, 7vw, 100px) !important; }

/* úvod */
.epz-intro-head.e-con { gap: 18px 40px !important; }
.epz-intro-text.e-con { gap: 10px !important; width: auto; flex: 1 1 460px; }
.epz-h2 .elementor-heading-title { font-family: var(--sk-head); font-weight: 700; font-size: clamp(30px, 3vw, 46px); line-height: 1.1; text-transform: uppercase; color: var(--sk-ink); text-wrap: balance; }
.epz-lead p { margin: 0; font-size: clamp(17px, 1.3vw, 19px); line-height: 1.6; max-width: 58ch; }
.epz-badges.e-con { gap: 10px !important; width: auto; }
.epz-badge { width: auto; }
.epz-badge .elementor-icon-box-wrapper { display: flex !important; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; background: #fff; border: 1px solid var(--sk-line); text-align: left !important; transition: transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s; }
.epz-badge:hover .elementor-icon-box-wrapper { transform: translateY(-2px); box-shadow: 0 16px 30px -22px rgba(14, 58, 95, .6); }
.epz-badge .elementor-icon-box-icon { margin: 0 !important; }
.epz-badge .elementor-icon { width: 36px; height: 36px; display: grid; place-items: center; background: var(--sk-tint); color: var(--sk-band-b) !important; font-size: 16px; }
.epz-badge .elementor-icon svg { width: 16px; height: 16px; fill: var(--sk-band-b); }
.epz-badge .elementor-icon-box-title { margin: 0 !important; font: 600 14.5px/1.2 var(--sk-body); color: var(--sk-ink); }
/* kroky: číslo, ikona, propojovací čára */
.epz-steps.e-con { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px !important; counter-reset: epz; position: relative; }
.epz-step.e-con { counter-increment: epz; position: relative; padding: 26px 22px 24px !important; gap: 10px !important; background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 24px 44px -38px rgba(14, 58, 95, .55); transition: transform .4s cubic-bezier(.22, 1, .36, 1), border-color .3s, box-shadow .4s; }
.epz-step.e-con:hover { transform: translateY(-4px); border-color: var(--sk-band-a); box-shadow: 0 30px 50px -34px rgba(14, 58, 95, .6); }
.epz-step.e-con::before { content: counter(epz); position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--sk-green); color: #fff; font: 700 16px/1 var(--sk-head); box-shadow: 0 8px 18px -8px rgba(16, 90, 68, .6); }
.epz-step.e-con:not(:last-child)::after { content: ""; position: absolute; top: 34px; right: -18px; width: 18px; height: 2px; background: var(--sk-green); opacity: .5; }
.epz-step-ic .elementor-icon-wrapper { text-align: left; line-height: 0; }
.epz-step-ic .elementor-icon { width: 54px; height: 54px; display: inline-grid !important; place-items: center; background: var(--sk-band-b); color: #fff !important; font-size: 22px; transition: background-color .3s, transform .4s cubic-bezier(.22, 1, .36, 1); }
.epz-step-ic .elementor-icon :is(i, svg) { color: #fff; fill: #fff; }
.epz-step-ic .elementor-icon svg { width: 22px; height: 22px; }
.epz-step:hover .epz-step-ic .elementor-icon { background: var(--sk-green); transform: rotate(-5deg); }
.epz-step-title .elementor-heading-title { margin-top: 6px; font: 700 19px/1.25 var(--sk-head); color: var(--sk-ink); }
.epz-step-text p { margin: 0; font-size: 15.5px; line-height: 1.6; }
/* tip */
.epz-tip .elementor-icon-box-wrapper { display: flex !important; align-items: center; gap: 16px; padding: 18px 22px; background: linear-gradient(115deg, var(--sk-band-b), var(--sk-band-a)); color: #fff; text-align: left !important; }
.epz-tip .elementor-icon-box-icon { margin: 0 !important; flex: none; }
.epz-tip .elementor-icon { width: 46px; height: 46px; display: grid; place-items: center; background: rgba(255, 255, 255, .14); color: #8ff0cd !important; font-size: 20px; }
.epz-tip .elementor-icon svg { width: 20px; height: 20px; fill: #8ff0cd; }
.epz-tip .elementor-icon-box-title { margin: 0 0 3px !important; font: 700 16px/1.3 var(--sk-body); color: #fff !important; }
.epz-tip .elementor-icon-box-description { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .88); }

/* formulář + ceník */
.epz-grid.e-con { display: grid !important; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 40px) !important; align-items: start; }
.epz-form-card.e-con, .epz-cenik.e-con, .epz-note.e-con { background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -44px rgba(14, 58, 95, .55); padding: clamp(24px, 3vw, 40px) !important; gap: 14px !important; }
.epz-aside.e-con { gap: 22px !important; position: sticky; top: 110px; }
.epz-card-title .elementor-heading-title { font: 700 clamp(22px, 2vw, 28px)/1.15 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.epz-card-title .elementor-heading-title::after { content: ""; display: block; width: 32px; height: 2px; margin-top: 12px; background: var(--sk-green); }
.epz-card-sub p { margin: 0; font-size: 15px; color: var(--sk-muted); }
/* kategorie ceníku */
.epz-cat.e-con { display: grid !important; grid-template-columns: 72px minmax(0, 1fr); gap: 14px !important; padding: 14px !important; border: 1px solid var(--sk-line); background: #fbfdff; transition: border-color .3s, transform .35s cubic-bezier(.22, 1, .36, 1), box-shadow .35s; }
.epz-cat.e-con:hover { border-color: var(--sk-band-a); transform: translateX(3px); box-shadow: 0 16px 30px -24px rgba(14, 58, 95, .6); }
.epz-cat-img img { width: 72px; height: 72px; object-fit: contain; mix-blend-mode: multiply; background: #fff; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.epz-cat:hover .epz-cat-img img { transform: scale(1.08); }
.epz-cat-text.e-con { gap: 4px !important; }
.epz-cat-top.e-con { gap: 6px 12px !important; flex-wrap: wrap !important; }
.epz-cat-title .elementor-heading-title { font: 700 16.5px/1.25 var(--sk-head); color: var(--sk-ink); }
.epz-cat-price { width: auto; }
.epz-cat-price .elementor-heading-title { font: 700 20px/1 var(--sk-body); color: var(--sk-green-text); white-space: nowrap; }
.epz-cat-models p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--sk-muted); }
.epz-sub-title .elementor-heading-title { margin-top: 8px; font: 700 15px/1.2 var(--sk-body); letter-spacing: .06em; text-transform: uppercase; color: var(--sk-ink); }
.epz-table { width: 100%; border-collapse: collapse; margin: 0; font-size: 15px; }
.epz-table td { padding: 10px 0; border-bottom: 1px solid var(--sk-line); color: var(--sk-text); }
.epz-table td:last-child { text-align: right; font-weight: 700; color: var(--sk-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.epz-table tr:hover td { color: var(--sk-band-b); }
.epz-link { width: auto; }
.epz-link .elementor-button { background: none !important; padding: 8px 0 !important; border-radius: 0; color: var(--sk-ink) !important; font: 600 15px/1.2 var(--sk-body) !important; text-transform: uppercase; letter-spacing: .04em; box-shadow: inset 0 -2px 0 var(--sk-green) !important; }
.epz-link .elementor-button:hover { color: var(--sk-green-text) !important; }
.epz-link .elementor-button-text { display: inline-flex; align-items: center; gap: 8px; }
.epz-link .elementor-button-text::after { content: ""; width: 1.05em; height: 1.05em; background: currentColor; -webkit-mask: var(--apf-arrow, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E")) center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .35s cubic-bezier(.22, 1, .36, 1); }
.epz-link .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
.epz-link-pdf .elementor-button-text::before { content: ""; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--ic-doc) center / contain no-repeat; mask: var(--ic-doc) center / contain no-repeat; }
/* Dobré vědět */
.epz-note-title .elementor-heading-title { font: 700 19px/1.2 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.epz-points { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 14px; }
.epz-pt { position: relative; display: grid; grid-template-columns: 46px 1fr; column-gap: 14px; align-items: center; margin: 0 !important; font-size: 15px; line-height: 1.45; }
.epz-pt::before { content: ""; grid-row: 1 / span 2; width: 46px; height: 46px; background: var(--sk-tint); transition: background-color .3s; }
.epz-pt::after { content: ""; position: absolute; left: 12px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: var(--sk-band-b); -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; transition: background-color .3s, transform .4s cubic-bezier(.22, 1, .36, 1); }
.epz-pt:hover::before { background: var(--sk-band-b); } .epz-pt:hover::after { background: #fff; transform: scale(1.1); }
.epz-pt strong { display: block; grid-column: 2; color: var(--sk-ink); font-weight: 600; font-size: 16px; }
.epz-pt-cal { --ic: var(--ic-cal); } .epz-pt-bag { --ic: var(--ic-bag); } .epz-pt-shield { --ic: var(--ic-shield); }

/* formulář Contact Form 7 */
.epz-form .wpcf7 { font-size: 15px; }
.epz-form .wpcf7 .row { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 18px; margin: 0 !important; }
.epz-form .wpcf7 .row > p { width: auto !important; max-width: none !important; padding: 0 !important; flex: none !important; }
.epz-form .wpcf7 p { margin: 0 0 16px; }
.epz-form .wpcf7 label { display: block; margin-bottom: 7px; font: 600 14px/1.3 var(--sk-body); color: var(--sk-ink); }
.epz-form .wpcf7 :is(input[type="text"], input[type="tel"], input[type="email"], textarea) { width: 100%; height: 50px; padding: 0 16px; border: 1px solid #cfdbe6 !important; border-radius: 0 !important; background: #fbfdff !important; color: var(--sk-ink); font: 500 15.5px var(--sk-body); box-shadow: none !important; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.epz-form .wpcf7 :is(input, textarea):hover { border-color: #a9c3d9 !important; }
.epz-form .wpcf7 :is(input, textarea):focus { border-color: var(--sk-band-a) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(31, 120, 186, .14) !important; outline: none; }
.epz-form .wpcf7 :is(#kod1, #kod2, #kod3, #kod4) { display: inline-block; width: calc(50% - 9px); vertical-align: top; }
.epz-form .wpcf7 :is(#kod1, #kod3) { margin-right: 14px; }
.epz-form .wpcf7 :is(#kod1, #kod2, #kod3, #kod4) label { font-size: 13px; }
.epz-form .wpcf7 :is(#kod1, #kod2, #kod3, #kod4) input { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; }
.epz-form .wpcf7 #kod1 input { border-color: var(--sk-green) !important; }
.epz-form .wpcf7-form > p:has(strong) { font-size: 14px; color: var(--sk-muted); }
.epz-form .wpcf7 :is(input[type="submit"], .wpcf7-submit) { width: 100%; height: 56px; margin-top: 6px; background: var(--sk-green) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important; font: 700 15px/1 var(--sk-body) !important; letter-spacing: .08em; text-transform: uppercase; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14), 0 14px 28px -14px rgba(16, 90, 68, .6) !important; cursor: pointer; transition: background-color .25s, transform .3s; }
.epz-form .wpcf7 :is(input[type="submit"], .wpcf7-submit):hover { background: var(--sk-green-deep) !important; transform: translateY(-2px); }
.epz-form .wpcf7 .wpcf7-not-valid { border-color: #c0392b !important; }
.epz-form .wpcf7 .wpcf7-not-valid-tip { margin-top: 5px; font-size: 13px; }
/* (hláška formuláře – viz společný styl hlášek CF7 níže) */

@media (max-width: 1024px) {
  .epz-steps.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .epz-step.e-con::after { display: none; }
  .epz-grid.e-con { grid-template-columns: 1fr; }
  .epz-aside.e-con { position: static; }
}
@media (max-width: 640px) {
  .epz-steps.e-con { grid-template-columns: 1fr; }
  .epz-form .wpcf7 .row { grid-template-columns: 1fr; }
  .epz-form .wpcf7 :is(#kod1, #kod2, #kod3, #kod4) { display: block; width: 100%; margin-right: 0; }
  .epz-badge .elementor-icon-box-title { font-size: 13.5px; }
}

/* =====================================================================
   INSTAGRAM – společně pro úvod (.hpe-insta-feed) i stránku Aktuality (.apnoe-ig-feed)
   ===================================================================== */
:root { --ic-ig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='.8' fill='%23000'/%3E%3C/svg%3E");
        --ic-fb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 8h3V4h-3c-2.8 0-4 1.8-4 4.3V10H7v4h3v7h4v-7h3l1-4h-4V8.6c0-.4.2-.6.6-.6z' fill='%23000'/%3E%3C/svg%3E");
        --ic-sipka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
.apnoe-ig-feed #sb_instagram { padding: 0 !important; width: 100% !important; }
.apnoe-ig-feed #sb_instagram :is(.sb_instagram_header, #sbi_load, .sbi_header_outside, .sbi_link, .sbi_hover_top, .sbi_hover_bottom) { display: none !important; }
.apnoe-ig-feed #sb_instagram #sbi_images { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; padding: 0 !important; width: 100% !important; }
.apnoe-ig-feed #sb_instagram .sbi_item { width: auto !important; padding: 0 !important; margin: 0 !important; display: block !important; }
:is(.hpe-insta-feed, .apnoe-ig-feed) #sb_instagram .sbi_photo_wrap { position: relative; overflow: hidden; background: var(--sk-tint); box-shadow: 0 24px 44px -32px rgba(14, 58, 95, .55); }
.apnoe-ig-feed #sb_instagram .sbi_photo { display: block; aspect-ratio: 1; height: auto !important; background-size: cover !important; background-position: center !important; transition: transform .8s cubic-bezier(.22, 1, .36, 1); }
.apnoe-ig-feed #sb_instagram .sbi_photo img { width: 100%; height: 100%; object-fit: cover; }
.apnoe-ig-feed #sb_instagram .sbi_photo_wrap::after { content: ""; position: absolute; top: 14px; right: 14px; z-index: 4; width: 24px; height: 24px; background: #fff; -webkit-mask: var(--ic-ig) center / contain no-repeat; mask: var(--ic-ig) center / contain no-repeat; opacity: 0; transition: opacity .35s; pointer-events: none; }
.apnoe-ig-feed #sb_instagram .sbi_item:hover .sbi_photo_wrap::after { opacity: 1; }
.apnoe-ig-feed #sb_instagram .sbi_item:hover .sbi_photo { transform: scale(1.04); }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-ov { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: 12px; padding: 20px; color: #fff; pointer-events: none; background: rgba(15, 46, 77, 0); transition: background-color .4s; }
:is(.hpe-insta-feed, .apnoe-ig-feed) #sb_instagram .sbi_item:hover .ig-ov, :is(.hpe-insta-feed, .apnoe-ig-feed) #sb_instagram .sbi_item:focus-within .ig-ov { background: linear-gradient(180deg, rgba(15, 46, 77, .94) 0%, rgba(15, 46, 77, .9) 62%, rgba(15, 46, 77, .45) 82%, rgba(15, 46, 77, 0) 92%) !important; }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-date { position: static !important; padding: 7px 12px; background: rgba(255, 255, 255, .94); color: var(--sk-ink); font: 700 13.5px/1 var(--sk-body); letter-spacing: .03em; text-transform: capitalize; box-shadow: 0 8px 18px -10px rgba(8, 30, 55, .5); }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-cap { max-width: 96%; font: 500 13.5px/1.5 var(--sk-body); text-align: left; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; opacity: 0; transform: translateY(10px); transition: opacity .35s, transform .45s cubic-bezier(.22, 1, .36, 1); }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-links { display: flex; flex-wrap: wrap; gap: 8px 18px; pointer-events: auto; opacity: 0; transform: translateY(10px); transition: opacity .35s .05s, transform .45s .05s cubic-bezier(.22, 1, .36, 1); }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-more { display: inline-flex !important; align-items: center; gap: 6px; padding-bottom: 2px; color: #8ff0cd !important; font: 700 12px/1 var(--sk-body); letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; opacity: 1 !important; transform: none !important; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1.5px no-repeat; transition: background-size .35s, color .25s; }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-more:hover { color: #fff !important; background-size: 100% 1.5px; }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-more::before { content: ""; width: 1.1em; height: 1.1em; background: currentColor; -webkit-mask: var(--ic-ig) center / contain no-repeat; mask: var(--ic-ig) center / contain no-repeat; }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-more-fb::before { -webkit-mask-image: var(--ic-fb); mask-image: var(--ic-fb); }
:is(.hpe-insta-feed, .apnoe-ig-feed) .ig-more::after { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--ic-sipka) center / contain no-repeat; mask: var(--ic-sipka) center / contain no-repeat; }
:is(.hpe-insta-feed, .apnoe-ig-feed) #sb_instagram .sbi_item:is(:hover, :focus-within) :is(.ig-cap, .ig-links) { opacity: 1; transform: none; }
.hpe-insta-feed #sb_instagram .sbi_item:first-child .ig-ov { padding: 30px; gap: 14px; }
.hpe-insta-feed #sb_instagram .sbi_item:first-child .ig-cap { font-size: 17px; -webkit-line-clamp: 11; }
.hpe-insta-feed #sb_instagram .sbi_item:first-child .ig-date { font-size: 15px; padding: 9px 14px; }
.hpe-insta-feed #sb_instagram .sbi_item:first-child .ig-more { font-size: 13.5px; }
/* úvod: odkazy Instagram / Facebook v nadpisu sekce velkými písmeny */
.hpe-insta-cta .hpe-link .elementor-button { text-transform: uppercase !important; letter-spacing: .05em !important; font-size: 17px !important; }
@media (max-width: 1024px) {
  .apnoe-ig-feed #sb_instagram #sbi_images { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  :is(.hpe-insta-feed, .apnoe-ig-feed) .ig-ov { padding: 14px; }
  :is(.hpe-insta-feed, .apnoe-ig-feed) :is(.ig-cap, .ig-links) { display: none; }
}

/* E-poukazy – opravy: štítky v řadě bez výchozího textu, kódy e-poukazů dva vedle sebe */
.epz-badge .elementor-icon-box-description { display: none !important; }
.epz-badges.e-con { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; }
.epz-badge.elementor-widget { flex: 0 0 auto; width: auto !important; max-width: none; }
.epz-form .wpcf7 :is(#kod1, #kod2, #kod3, #kod4) { width: calc(50% - 12px) !important; }
.epz-form .wpcf7 :is(#kod1, #kod3) { margin-right: 14px !important; }

/* stránka Aktuality (Instagram) */
.aig-cta.e-con { gap: 10px 32px !important; width: auto; }
.aig-cta .epz-link .elementor-button { font-size: 17px !important; }
.aig-cta .epz-link .elementor-button-text::before { content: ""; width: 1.3em; height: 1.3em; background: currentColor; -webkit-mask: var(--ic-ig) center / contain no-repeat; mask: var(--ic-ig) center / contain no-repeat; }
.aig-cta .aig-fb .elementor-button-text::before { -webkit-mask-image: var(--ic-fb); mask-image: var(--ic-fb); }
.aig-sec.e-con { padding-bottom: clamp(64px, 7vw, 100px) !important; }
.epz-step.e-con::before { inset: 18px 18px auto auto !important; left: auto !important; z-index: 2; }

/* podmenu v hlavičce (např. OP): šířka podle nejdelší položky, tmavý text, zřetelný hover */
.whb-header .wd-nav-main > li > .wd-dropdown-menu { width: max-content !important; min-width: 250px; max-width: 420px; padding: 8px 0 !important; border-radius: 0 !important; border-top: 3px solid var(--sk-green); box-shadow: 0 30px 60px -24px rgba(8, 30, 55, .45) !important; }
.whb-header .wd-nav-main > li > .wd-dropdown-menu :is(.wd-sub-menu, ul) { padding: 0 !important; margin: 0 !important; }
.whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li { margin: 0 !important; }
.whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li > a { position: relative; display: flex !important; align-items: center; gap: 12px; padding: 12px 22px !important; white-space: nowrap; color: var(--sk-ink) !important; font: 600 13.5px/1.2 var(--sk-body) !important; letter-spacing: .05em; text-transform: uppercase; background: transparent; transition: background-color .25s, color .25s, padding-left .35s cubic-bezier(.22, 1, .36, 1); }
.whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li > a::before { content: ""; flex: none; width: 7px; height: 7px; background: var(--sk-line); transition: background-color .25s, transform .3s; }
.whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li > a:hover, .whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li.current-menu-item > a { background: var(--sk-tint) !important; color: var(--sk-band-b) !important; padding-left: 28px !important; }
.whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li > a:hover::before, .whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li.current-menu-item > a::before { background: var(--sk-green); transform: scale(1.25); }
.whb-header .wd-nav-main .wd-dropdown-menu .wd-sub-menu > li + li > a { border-top: 1px solid #eef3f7; }

/* vysouvací podmenu: vnitřní .container bez okrajů rámu webu (jinak zbylo na názvy ~95 px) */
.wd-dropdown .container, .wd-dropdown-menu .container { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; width: auto !important; }
/* levé menu kategorií – vysouvací podmenu jako v hlavičce: šířka podle obsahu, řádky s podkladem */
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu { width: max-content !important; min-width: 260px; max-width: 380px; padding: 8px 0 !important; border: 1px solid var(--sk-line) !important; border-left: 3px solid var(--sk-green) !important; border-radius: 0 !important; box-shadow: 0 30px 60px -26px rgba(8, 30, 55, .45) !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu { width: auto !important; padding: 0 !important; margin: 0 !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li { margin: 0 !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li > a { display: flex !important; align-items: center; gap: 12px; padding: 11px 22px !important; white-space: nowrap; color: var(--sk-ink) !important; font: 500 15px/1.3 var(--sk-body) !important; background: transparent !important; background-size: 0 0 !important; transition: background-color .25s, color .25s, padding-left .35s cubic-bezier(.22, 1, .36, 1) !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li > a::before { content: ""; flex: none; display: inline-block; width: 7px; height: 7px; margin: 0 !important; background: var(--sk-line) !important; translate: none !important; transition: background-color .25s, transform .3s; }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li > a:hover, .wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li.current-menu-item > a { background: var(--sk-tint) !important; color: var(--sk-band-b) !important; padding-left: 28px !important; }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li > a:hover::before, .wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li.current-menu-item > a::before { background: var(--sk-green) !important; transform: scale(1.25); }
.wd-sidebar .wd-nav-vertical .wd-dropdown-menu .wd-sub-menu > li + li > a { border-top: 1px solid #eef3f7; }
.wd-sidebar .wd-nav-vertical > li:hover > a { box-shadow: inset 3px 0 0 var(--sk-green); }

/* hlášky formulářů Contact Form 7 (celý web): ikona v kruhu vlevo, barva podle stavu, text se nikdy nepřekrývá */
:root {
  --ic-warn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E");
  --ic-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E");
  --ic-err: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
}
.wpcf7 form .wpcf7-response-output { position: relative; display: flex; align-items: center; gap: 14px; min-height: 56px; margin: 18px 0 0 !important; padding: 12px 18px 12px 62px !important; border: 0 !important; border-radius: 0 !important; background: #fff6e5 !important; color: #7a4d00 !important; font: 600 15px/1.45 var(--sk-body) !important; box-shadow: inset 0 0 0 1px rgba(212, 136, 6, .25); }
.wpcf7 form .wpcf7-response-output::before { content: "" !important; position: absolute !important; left: 16px !important; top: 50% !important; width: 30px !important; height: 30px !important; margin-top: -15px; border-radius: 50%; background: #d48806 !important; font-size: 0 !important; }
.wpcf7 form .wpcf7-response-output::after { content: "" !important; position: absolute !important; left: 22px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: #fff; -webkit-mask: var(--ic-warn) center / contain no-repeat; mask: var(--ic-warn) center / contain no-repeat; }
.wpcf7 form.sent .wpcf7-response-output { background: #e8f7f1 !important; color: #12684f !important; box-shadow: inset 0 0 0 1px rgba(41, 192, 147, .35); }
.wpcf7 form.sent .wpcf7-response-output::before { background: var(--sk-green) !important; }
.wpcf7 form.sent .wpcf7-response-output::after { -webkit-mask-image: var(--ic-ok); mask-image: var(--ic-ok); }
.wpcf7 form:is(.failed, .aborted, .spam) .wpcf7-response-output { background: #fdecec !important; color: #9b2424 !important; box-shadow: inset 0 0 0 1px rgba(192, 57, 43, .25); }
.wpcf7 form:is(.failed, .aborted, .spam) .wpcf7-response-output::before { background: #c0392b !important; }
.wpcf7 form:is(.failed, .aborted, .spam) .wpcf7-response-output::after { -webkit-mask-image: var(--ic-err); mask-image: var(--ic-err); }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output { display: none !important; }
.wpcf7 form .wpcf7-response-output:empty { display: none !important; }
/* hláška pod polem */
.wpcf7 .wpcf7-not-valid-tip { display: flex !important; align-items: center; gap: 6px; margin-top: 6px; color: #b42318 !important; font: 500 13px/1.35 var(--sk-body) !important; }
.wpcf7 .wpcf7-not-valid-tip::before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 50%; background: #b42318; -webkit-mask: none; }
.wpcf7 :is(input, textarea, select).wpcf7-not-valid { border-color: #d92d20 !important; box-shadow: 0 0 0 3px rgba(217, 45, 32, .1) !important; }
/* načítací kolečko CF7 v barvách webu */
.wpcf7 .wpcf7-spinner { background-color: var(--sk-band-b) !important; }

/* Aktuality (Instagram): automatické načítání dalších příspěvků při posunu */
.apnoe-ig-dalsi { display: flex; align-items: center; justify-content: center; gap: 12px; height: 0; overflow: hidden; margin-top: 0; color: var(--sk-text); font: 600 14px/1 var(--sk-body); letter-spacing: .02em; opacity: 0; transition: opacity .3s, height .3s, margin-top .3s; }
.apnoe-ig-dalsi.je-nacitani { height: 48px; margin-top: 28px; opacity: 1; }
.apnoe-ig-dalsi-kruh { width: 22px; height: 22px; border-radius: 50%; border: 2.5px solid rgba(41, 192, 147, .25); border-top-color: var(--sk-green); animation: apnoe-ig-toc .8s linear infinite; }
@keyframes apnoe-ig-toc { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .apnoe-ig-dalsi-kruh { animation-duration: 2.4s; } }
.apnoe-ig-feed #sb_instagram .sbi_item.sbi_new { animation: apnoe-ig-prijezd .7s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes apnoe-ig-prijezd { from { opacity: 0; transform: translateY(18px); } }

/* hlavní menu: položka s podmenu (OP) – podtržení přes ::before, šipka jako malý chevron vedle textu */
.wd-nav-main > li.menu-item-has-children > a::before { content: "" !important; display: block !important; position: absolute; left: 50%; right: 50%; bottom: 6px; height: 2px; width: auto !important; background: var(--sk-green); transition: left .3s var(--sk-ease), right .3s var(--sk-ease); }
.wd-nav-main > li.menu-item-has-children > a::after { content: "" !important; position: static !important; display: inline-block !important; flex: 0 0 auto; width: 10px !important; height: 10px !important; margin: 1px 0 0 7px !important; padding: 0 !important; font-size: 0 !important; background: currentColor !important; opacity: .7; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.2 6 8l4-3.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.2 6 8l4-3.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .35s var(--sk-ease), background-color .25s, opacity .25s; }
.wd-nav-main > li.menu-item-has-children:is(:hover, :focus-within, .apk-otevreno) > a::after { transform: translateY(2px); background: var(--sk-green) !important; opacity: 1; }
.wd-nav-main > li.menu-item-has-children > a::after { transition: transform .3s var(--sk-ease), background-color .25s; }

/* podmenu v hlavičce (OP): spolehlivé najetí myší i klávesnicí, 2026-11-11
   – most přes celou mezeru mezi položkou a panelem (šablona měla 10 px most na 15 px mezeru),
     o 24 px širší do stran, aby ho šikmý pohyb myši neminul; leží jen pod řádkem menu, sousední položky nezakrývá
   – po odjetí myší panel ještě 0,35 s zůstane (tolerance pro šikmý pohyb), při najetí se ukáže hned
   – panel se otevře i klávesnicí (Tab) */
.whb-header .wd-nav-main > li > .wd-dropdown-menu { margin-top: 12px !important; transform: translateY(6px); pointer-events: auto !important;
  transition: opacity .2s ease .15s, transform .25s ease .15s, visibility 0s linear .35s !important; }
.whb-header .wd-nav-main > li > .wd-dropdown-menu::after { content: "" !important; position: absolute !important; top: auto !important; bottom: 100% !important; left: -24px !important; right: -24px !important; width: auto !important; height: 12px !important; }
.whb-header .wd-nav-main > li:is(:hover, :focus-within, .apk-otevreno) > .wd-dropdown-menu { visibility: visible !important; opacity: 1 !important; transform: none !important;
  transition: opacity .2s ease, transform .3s var(--sk-ease), visibility 0s !important; }
.whb-header .wd-nav-main > li > .wd-dropdown-menu .wd-sub-menu > li > a:focus-visible { outline: 3px solid var(--sk-band-a); outline-offset: -3px; }
.whb-header .wd-nav-main > li.apk-esc.apk-esc > .wd-dropdown-menu { visibility: hidden !important; opacity: 0 !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) { .whb-header .wd-nav-main > li > .wd-dropdown-menu { transform: none; } }

/* =====================================================================
   SPOLEČNÉ PRVKY NOVÝCH STRÁNEK (2026-11-10, třídy apk-*): úvod s plovoucími ikonami, výzva, tlačítka
   + STRÁNKA FAQ (hledání, témata, rozbalovací odpovědi)
   ===================================================================== */
.apk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.apk-hero-grid.e-con { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 24px 48px !important; align-items: center; }
.apk-hero-text.e-con { gap: 18px !important; }
.apk-hero .epz-badges.e-con { margin-top: 4px; }
/* plovoucí ikony */
.apk-float.e-con { position: relative; min-height: 320px; }
.apk-float.e-con::before, .apk-float.e-con::after { content: ""; position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1.5px solid rgba(31, 120, 186, .16); pointer-events: none; }
.apk-float.e-con::before { width: 300px; height: 300px; margin: -150px 0 0 -150px; }
.apk-float.e-con::after { width: 190px; height: 190px; margin: -95px 0 0 -95px; border-style: dashed; border-color: rgba(41, 192, 147, .35); }
.apk-float-ic { position: absolute !important; width: auto !important; margin: 0 !important; }
.apk-float-ic .elementor-icon-wrapper { line-height: 0; }
.apk-float-ic .elementor-icon { display: grid !important; place-items: center; width: var(--s, 72px); height: var(--s, 72px); font-size: calc(var(--s, 72px) * .42); background: #fff; color: var(--sk-band-b); box-shadow: 0 26px 44px -28px rgba(14, 58, 95, .55); transition: transform .5s var(--sk-ease); }
.apk-float-ic .elementor-icon svg { width: calc(var(--s, 72px) * .42); height: calc(var(--s, 72px) * .42); fill: currentColor; }
.apk-f1 { --s: 128px; left: calc(50% - 64px); top: calc(50% - 64px); z-index: 2; }
.apk-f1 .elementor-icon { background: linear-gradient(135deg, var(--sk-band-a), var(--sk-band-b)); color: #fff; }
.apk-f2 { --s: 64px; left: 10%; top: 6%; }
.apk-f3 { --s: 84px; right: 6%; top: 12%; }
.apk-f3 .elementor-icon { background: var(--sk-green); color: #fff; }
.apk-f4 { --s: 60px; left: 14%; bottom: 8%; }
.apk-f4 .elementor-icon { background: var(--sk-tint); }
.apk-f5 { --s: 70px; right: 14%; bottom: 4%; }
.apk-float-ic:hover .elementor-icon { transform: scale(1.08) rotate(-6deg); }
@media (prefers-reduced-motion: no-preference) {
  .apk-float-ic { animation: apkPlov var(--d, 7s) ease-in-out infinite; animation-delay: var(--z, 0s); }
  .apk-f2 { --d: 6.5s; --z: -1s; } .apk-f3 { --d: 8s; --z: -3s; } .apk-f4 { --d: 7.2s; --z: -2s; } .apk-f5 { --d: 9s; --z: -4.5s; }
  .apk-f1 { animation-name: apkDech; --d: 6s; }
  .apk-float.e-con::after { animation: apkOtoc 60s linear infinite; }
  @keyframes apkPlov { 0%, 100% { translate: 0 0; rotate: 0deg; } 50% { translate: 0 -14px; rotate: 3deg; } }
  @keyframes apkDech { 0%, 100% { scale: 1; } 50% { scale: 1.05; } }
  @keyframes apkOtoc { to { rotate: 360deg; } }
}
/* tlačítka */
.apk-btn { width: auto; }
.apk-btn .elementor-button { display: inline-flex; align-items: center; min-height: 54px; padding: 0 28px !important; border-radius: 0 !important; font: 700 14.5px/1 var(--sk-body) !important; letter-spacing: .07em; text-transform: uppercase; transition: background-color .25s, color .25s, box-shadow .25s, transform .3s var(--sk-ease); }
.apk-btn-main .elementor-button { background: var(--sk-green) !important; color: #fff !important; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14), 0 14px 28px -14px rgba(10, 60, 45, .7); }
.apk-btn-main .elementor-button:hover { background: var(--sk-green-deep) !important; transform: translateY(-2px); }
.apk-btn-ghost .elementor-button { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85); }
.apk-btn-ghost .elementor-button:hover { background: #fff !important; color: var(--sk-band-b) !important; }
.apk-btn .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }
.apk-btn .elementor-button-text::after { content: ""; width: 1.05em; height: 1.05em; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .35s var(--sk-ease); }
.apk-btn .elementor-button:hover .elementor-button-text::after { transform: translateX(4px); }
/* výzva na konci stránky */
.apk-cta-sec.e-con { position: relative; overflow: hidden; padding: 0 var(--sk-gut) clamp(64px, 7vw, 100px) !important; }
.apk-cta-sec.e-con > .e-con-inner { max-width: var(--sk-inner) !important; padding: 0 !important; }
.apk-cta.e-con { position: relative; overflow: hidden; gap: 24px 40px !important; padding: clamp(30px, 4vw, 52px) clamp(24px, 4vw, 56px) !important; background: linear-gradient(120deg, var(--sk-band-a), var(--sk-band-b) 60%, var(--sk-navy)) !important; color: #fff; box-shadow: 0 40px 70px -46px rgba(14, 58, 95, .8); }
.apk-cta.e-con::before { content: "" !important; position: absolute !important; inset: auto !important; right: -40px !important; top: -60px !important; width: min(560px, 60%); height: calc(100% + 120px); opacity: .9 !important; pointer-events: none; background: var(--pat-masky-bile) 0 0 / 240px 240px repeat; -webkit-mask: radial-gradient(closest-side, #000 25%, transparent 100%); mask: radial-gradient(closest-side, #000 25%, transparent 100%); }
@media (prefers-reduced-motion: no-preference) { .apk-cta.e-con::before { animation: patPosun 90s linear infinite; } }
.apk-cta > * { position: relative; z-index: 1; }
.apk-cta-text.e-con { gap: 10px !important; flex: 1 1 420px; }
.apk-cta-title .elementor-heading-title { font: 700 clamp(26px, 2.4vw, 36px)/1.1 var(--sk-head); text-transform: uppercase; color: #fff !important; }
.apk-cta-lead p { margin: 0; font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .9); }
.apk-cta-lead a { color: #8ff0cd !important; font-weight: 700; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat; }
.apk-cta-btns.e-con { gap: 12px !important; width: auto; }

/* ---------- FAQ: hledání ---------- */
.apk-hledat-w { max-width: 600px; }
.apk-hledat { position: relative; margin: 6px 0 0; }
.apk-hledat input[type="search"] { width: 100%; height: 62px; padding: 0 56px 0 58px !important; border: 1px solid #cfdbe6 !important; border-radius: 0 !important; background: #fff !important; color: var(--sk-ink); font: 500 17px var(--sk-body); box-shadow: 0 24px 40px -32px rgba(14, 58, 95, .5) !important; transition: border-color .2s, box-shadow .2s; -webkit-appearance: none; appearance: none; }
.apk-hledat input[type="search"]::-webkit-search-cancel-button { display: none; }
.apk-hledat input[type="search"]::placeholder { color: #7d8a96; }
.apk-hledat input[type="search"]:focus { outline: none; border-color: var(--sk-band-a) !important; box-shadow: 0 0 0 4px rgba(31, 120, 186, .14), 0 24px 40px -32px rgba(14, 58, 95, .5) !important; }
.apk-hledat-ic { position: absolute; left: 20px; top: 50%; width: 22px; height: 22px; margin-top: -11px; background: var(--sk-band-b); pointer-events: none; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.6-3.6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.6-3.6'/%3E%3C/svg%3E") center / contain no-repeat; }
.apk-hledat-x { position: absolute; right: 12px; top: 50%; width: 38px; height: 38px; min-height: 0; margin-top: -19px; padding: 0 !important; border: 0; background: var(--sk-tint) !important; cursor: pointer; }
.apk-hledat-x::before { content: ""; position: absolute; inset: 11px; background: var(--sk-ink); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.apk-hledat-x:hover { background: #dcebf6 !important; }
.apk-hledat-x[hidden] { display: none; }
.apk-hledat-stav { min-height: 1.4em; margin: 10px 0 0 !important; font-size: 14px; color: var(--sk-muted); }
.apk-hledat-stav strong { color: var(--sk-ink); }

/* ---------- FAQ: rozložení, témata ---------- */
.apk-faq-sec.e-con { padding-top: clamp(8px, 2vw, 24px) !important; padding-bottom: clamp(48px, 5vw, 72px) !important; }
.apk-faq-grid.e-con { display: grid !important; grid-template-columns: 290px minmax(0, 1fr); gap: clamp(28px, 4vw, 64px) !important; align-items: start; }
.apk-faq-aside.e-con { position: sticky; top: 120px; gap: 14px !important; }
.apk-aside-title .elementor-heading-title { font: 700 13px/1 var(--sk-body); letter-spacing: .12em; text-transform: uppercase; color: var(--sk-muted); }
.apk-faq-nav .elementor-icon-list-items { display: grid; gap: 4px; margin: 0; padding: 0; }
.apk-faq-nav .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.apk-faq-nav .elementor-icon-list-item::after { display: none !important; }
.apk-faq-nav .elementor-icon-list-item > a { display: flex !important; align-items: center; gap: 12px; width: 100%; padding: 8px 12px 8px 8px; color: var(--sk-text) !important; font: 600 15px/1.3 var(--sk-body); text-decoration: none; transition: background-color .25s, color .25s; }
.apk-faq-nav .elementor-icon-list-icon { flex: none; display: grid !important; place-items: center; width: 38px; height: 38px; padding: 0 !important; background: var(--sk-tint); transition: background-color .3s, transform .4s var(--sk-ease); }
.apk-faq-nav .elementor-icon-list-icon :is(i, svg) { width: 17px !important; height: 17px; font-size: 16px; color: var(--sk-band-b); fill: var(--sk-band-b); transition: color .3s, fill .3s; }
.apk-faq-nav .elementor-icon-list-text { flex: 1; padding: 0 !important; color: inherit !important; }
.apk-n { flex: none; min-width: 28px; padding: 4px 7px; background: #fff; border: 1px solid var(--sk-line); font: 700 12.5px/1 var(--sk-body); color: var(--sk-muted); text-align: center; font-variant-numeric: tabular-nums; transition: background-color .25s, color .25s, border-color .25s; }
.apk-faq-nav .elementor-icon-list-item > a:hover { background: #fff; color: var(--sk-ink) !important; }
.apk-faq-nav .elementor-icon-list-item > a:hover .elementor-icon-list-icon { transform: rotate(-6deg); }
.apk-faq-nav .elementor-icon-list-item.je-aktivni > a { background: #fff; color: var(--sk-ink) !important; box-shadow: 0 18px 30px -26px rgba(14, 58, 95, .6); }
.apk-faq-nav .elementor-icon-list-item.je-aktivni .elementor-icon-list-icon { background: var(--sk-band-b); }
.apk-faq-nav .elementor-icon-list-item.je-aktivni .elementor-icon-list-icon :is(i, svg) { color: #fff; fill: #fff; }
.apk-faq-nav .elementor-icon-list-item.je-aktivni .apk-n { background: var(--sk-green); border-color: var(--sk-green); color: #fff; }
.apk-faq-nav .elementor-icon-list-item.je-prazdne { opacity: .45; }

/* ---------- FAQ: skupiny a odpovědi ---------- */
.apk-faq-list.e-con { gap: clamp(40px, 4vw, 56px) !important; }
.apk-skupina.e-con { gap: 18px !important; scroll-margin-top: 130px; }
.apk-skupina.e-con[hidden] { display: none !important; }
.apk-skupina-hlava.e-con { gap: 16px !important; }
.apk-skupina-ic { width: auto !important; }
.apk-skupina-ic .elementor-icon-wrapper { line-height: 0; }
.apk-skupina-ic .elementor-icon { display: grid !important; place-items: center; width: 54px; height: 54px; font-size: 22px; background: linear-gradient(135deg, var(--sk-band-a), var(--sk-band-b)); color: #fff; box-shadow: 0 18px 30px -20px rgba(14, 58, 95, .7); transition: transform .5s var(--sk-ease); }
.apk-skupina-ic .elementor-icon svg { width: 22px; height: 22px; fill: #fff; }
.apk-skupina:hover .apk-skupina-ic .elementor-icon { transform: rotate(-6deg) scale(1.05); }
.apk-skupina-nazev .elementor-heading-title { font: 700 clamp(22px, 2vw, 28px)/1.15 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.apk-skupina-nazev .elementor-heading-title::after { content: ""; display: block; width: 32px; height: 2px; margin-top: 10px; background: var(--sk-green); transition: width .5s var(--sk-ease); }
.apk-skupina:hover .apk-skupina-nazev .elementor-heading-title::after { width: 64px; }
.apk-akordeon .e-n-accordion { display: grid; gap: 10px; }
.apk-akordeon .e-n-accordion-item { margin: 0 !important; background: #fff; border: 1px solid var(--sk-line) !important; transition: border-color .3s, box-shadow .3s; }
.apk-akordeon .e-n-accordion-item[hidden] { display: none !important; }
.apk-akordeon .e-n-accordion-item:hover { border-color: rgba(31, 120, 186, .45) !important; }
.apk-akordeon .e-n-accordion-item[open] { border-color: var(--sk-band-a) !important; box-shadow: 0 28px 46px -34px rgba(14, 58, 95, .6); }
.apk-akordeon .e-n-accordion-item-title { display: flex !important; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px 18px 22px !important; border: 0 !important; background: transparent !important; cursor: pointer; list-style: none; }
.apk-akordeon .e-n-accordion-item-title::-webkit-details-marker { display: none; }
.apk-akordeon .e-n-accordion-item-title-header { flex: 1; }
.apk-akordeon .e-n-accordion-item-title-text { margin: 0 !important; font: 600 17px/1.4 var(--sk-body) !important; color: var(--sk-ink) !important; text-transform: none !important; transition: color .25s; }
.apk-akordeon .e-n-accordion-item-title:hover .e-n-accordion-item-title-text, .apk-akordeon .e-n-accordion-item[open] .e-n-accordion-item-title-text { color: var(--sk-band-b) !important; }
.apk-akordeon .e-n-accordion-item-title-icon { flex: none; display: grid !important; place-items: center; width: 34px; height: 34px; background: var(--sk-tint); transition: background-color .3s, transform .4s var(--sk-ease); }
.apk-akordeon .e-n-accordion-item-title-icon :is(i, svg) { width: 13px !important; height: 13px; font-size: 13px; color: var(--sk-band-b) !important; fill: var(--sk-band-b) !important; }
.apk-akordeon .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon { transform: rotate(90deg); }
.apk-akordeon .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--sk-green); transform: none; }
.apk-akordeon .e-n-accordion-item[open] .e-n-accordion-item-title-icon :is(i, svg) { color: #fff !important; fill: #fff !important; }
.apk-akordeon .e-n-accordion-item > .e-con, .apk-odpoved.e-con { padding: 0 22px 22px !important; border: 0 !important; background: transparent !important; }
.apk-odpoved-text { max-width: 72ch; }
.apk-odpoved-text :is(p, li) { font-size: 16px; line-height: 1.7; color: var(--sk-text); }
.apk-odpoved-text p { margin: 0 0 10px; } .apk-odpoved-text p:last-child { margin: 0; }
.apk-odpoved-text ul { margin: 6px 0 0; padding-left: 20px; }
.apk-odpoved-text li { margin-bottom: 8px; }
.apk-odpoved-text li::marker { color: var(--sk-green); }
.apk-odpoved-text strong { color: var(--sk-ink); }
.apk-odpoved-text a, .apk-prazdno a { color: var(--sk-green-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
.apk-odpoved-text a:hover { color: var(--sk-band-b) !important; }
.apk-akordeon mark, .apk-skupina mark { padding: 0 2px; background: rgba(41, 192, 147, .28); color: inherit; }
.apk-prazdno { display: grid; gap: 6px; padding: 28px; background: #fff; border: 1px dashed rgba(31, 120, 186, .4); font-size: 16px; color: var(--sk-text); }
.apk-prazdno[hidden] { display: none; }
.apk-prazdno strong { font: 700 19px/1.3 var(--sk-head); color: var(--sk-ink); }
/* odhalení při posunu */
@media (prefers-reduced-motion: no-preference) {
  .apk-js .apk-skupina.e-con:not(.je-videt) { opacity: 0; translate: 0 22px; }
  .apk-skupina.e-con { transition: opacity .7s var(--sk-ease), translate .8s var(--sk-ease); }
  .apk-skupina.je-videt .apk-skupina-ic .elementor-icon { animation: apkKyv 1.2s var(--sk-ease) .15s both; }
  @keyframes apkKyv { 0% { transform: scale(.6) rotate(-14deg); opacity: 0; } 60% { transform: scale(1.06) rotate(4deg); opacity: 1; } 100% { transform: none; } }
}

@media (max-width: 1024px) {
  .apk-hero-grid.e-con { grid-template-columns: 1fr; }
  .apk-float.e-con { display: none !important; }
  .apk-faq-grid.e-con { grid-template-columns: 1fr; }
  .apk-faq-aside.e-con { position: sticky; top: 60px; z-index: 5; margin: 0 calc(var(--sk-gut) * -1); padding: 10px var(--sk-gut) !important; background: rgba(249, 249, 249, .96); border-bottom: 1px solid var(--sk-line); }
  .apk-aside-title { display: none; }
  .apk-faq-nav .elementor-icon-list-items { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
  .apk-faq-nav .elementor-icon-list-items::-webkit-scrollbar { display: none; }
  .apk-faq-nav .elementor-icon-list-item > a { white-space: nowrap; padding: 6px 10px 6px 6px; background: #fff; border: 1px solid var(--sk-line); font-size: 14px; }
  .apk-faq-nav .elementor-icon-list-icon { width: 30px; height: 30px; }
}
@media (max-width: 640px) {
  .apk-akordeon .e-n-accordion-item-title { padding: 16px 14px 16px 16px !important; }
  .apk-akordeon .e-n-accordion-item-title-text { font-size: 16px !important; }
  .apk-akordeon .e-n-accordion-item > .e-con, .apk-odpoved.e-con { padding: 0 16px 18px !important; }
  .apk-cta-btns.e-con, .apk-btn, .apk-btn .elementor-button { width: 100%; justify-content: center; }
}
.epz-badge .elementor-icon-box-content { display: flex; align-items: center; align-self: center; min-height: 36px; }
.epz-badge .elementor-icon-box-title { line-height: 1.25 !important; }
.apk-hledat-w.elementor-widget { max-width: 620px !important; width: 100%; }

/* záhlaví stránek (page title): přístroj ResMed vpravo, jemně se vznáší; za ním dýchající kruhy (2026-11-10) */
@media (min-width: 1025px) {
  .wd-page-title > .container::after { content: ""; position: absolute; z-index: 1; right: clamp(0px, 3vw, 60px); top: 50%; width: clamp(240px, 21vw, 330px); aspect-ratio: 329 / 183; margin-top: calc(clamp(240px, 21vw, 330px) * -0.278 + 6px); background: url("obrazky/pristroj-resmed.png") center / contain no-repeat; filter: drop-shadow(0 30px 30px rgba(6, 30, 56, .45)); pointer-events: none; }
  .wd-page-title > .container::before { content: ""; position: absolute; z-index: 0; right: calc(clamp(0px, 3vw, 60px) + clamp(240px, 21vw, 330px) / 2 - 140px); top: 50%; width: 280px; height: 280px; margin-top: -134px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .16); box-shadow: 0 0 0 34px rgba(255, 255, 255, .04), 0 0 0 68px rgba(255, 255, 255, .025); pointer-events: none; }
  .wd-page-title > .container > * { position: relative; z-index: 2; }
}
@media (min-width: 1025px) and (prefers-reduced-motion: no-preference) {
  .wd-page-title > .container::after { animation: apkPristroj 7s ease-in-out infinite; }
  .wd-page-title > .container::before { animation: apkKruh 7s ease-in-out infinite; }
  @keyframes apkPristroj { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
  @keyframes apkKruh { 0%, 100% { scale: .96; opacity: .8; } 50% { scale: 1.04; opacity: 1; } }
}

/* detail produktu: historie cen bez čárkované čáry pluginu; karusely „Doporučujeme“ a „Mohlo by vás zajímat“ se stálými šipkami (2026-11-10) */
#ttol-show-price-chart { border-bottom: 0 !important; text-decoration: none !important; }
.related-and-upsells .wd-carousel-container { position: relative; margin-bottom: clamp(36px, 4vw, 56px); }
.related-and-upsells .wd-carousel-item { height: auto !important; }
.related-and-upsells .wd-carousel-item > .wd-product, .related-and-upsells .wd-carousel-item .wd-product-wrapper { height: 100%; }
.related-and-upsells .wd-nav-arrows .wd-btn-arrow { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }
.related-and-upsells .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner { display: grid !important; place-items: center; width: 50px; height: 50px; background: #fff; border: 1px solid var(--sk-line); color: var(--sk-band-b); box-shadow: 0 18px 32px -20px rgba(14, 58, 95, .55); transition: background-color .25s, color .25s, border-color .25s, transform .35s var(--sk-ease); }
.related-and-upsells .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner::after { font-size: 15px; color: inherit; }
.related-and-upsells .wd-nav-arrows .wd-btn-arrow:not(.wd-disabled):hover .wd-arrow-inner { background: var(--sk-band-b); border-color: var(--sk-band-b); color: #fff; }
.related-and-upsells .wd-nav-arrows .wd-prev:not(.wd-disabled):hover .wd-arrow-inner { transform: translateX(-3px); }
.related-and-upsells .wd-nav-arrows .wd-next:not(.wd-disabled):hover .wd-arrow-inner { transform: translateX(3px); }
.related-and-upsells .wd-nav-arrows .wd-btn-arrow.wd-disabled { opacity: .35 !important; }
/* šipky karuselů vpravo v řádku nadpisu */
.related-and-upsells .wd-carousel-container.with-title .wd-nav-arrows .wd-btn-arrow { position: absolute !important; top: -66px !important; bottom: auto !important; left: auto !important; margin: 0 !important; z-index: 3; }
.related-and-upsells .wd-carousel-container.with-title .wd-nav-arrows .wd-prev { right: 58px !important; }
.related-and-upsells .wd-carousel-container.with-title .wd-nav-arrows .wd-next { right: 0 !important; }
.related-and-upsells .wd-carousel-container.with-title .element-title { padding-right: 130px; }
.related-and-upsells .wd-nav-arrows .wd-btn-arrow .wd-arrow-inner { width: 50px !important; height: 50px !important; line-height: 50px !important; }

/* =====================================================================
   „PŘIDAT DO KOŠÍKU“ na kartách produktů (2026-11-10, v2): text přesně uprostřed,
   klidný hover – tmavší zelená a ikona košíku se vysune vedle textu (text neodlétá)
   ===================================================================== */
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button { display: flex !important; align-items: center !important; justify-content: center !important; gap: 0 !important; height: 48px !important; min-height: 48px !important; padding: 0 12px !important; line-height: 1 !important; transition: background-color .25s, box-shadow .25s !important; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button:hover { background: var(--sk-green-deep) !important; transform: none !important; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button .wd-action-icon,
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button .wd-check-icon { display: none !important; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button .wd-action-text { display: inline-flex !important; align-items: center !important; justify-content: center; gap: 0; position: static !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important; color: #fff !important; opacity: 1 !important; visibility: visible !important; transform: none !important; white-space: nowrap; transition: gap .3s var(--sk-ease) !important; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button .wd-action-text::before { content: ""; flex: none; width: 0; height: 17px; background: currentColor; opacity: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E") center / contain no-repeat; transition: width .3s var(--sk-ease), opacity .25s; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button:is(:hover, :focus-visible) .wd-action-text { gap: 8px; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button:is(:hover, :focus-visible) .wd-action-text::before { width: 17px; opacity: 1; }
/* stav „přidáváme“ / „přidáno“ */
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button.loading .wd-action-text { opacity: .35 !important; }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button.added .wd-action-text::before { width: 17px; opacity: 1; -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.wd-product.product-grid-item .wd-add-btn .add_to_cart_button.added .wd-action-text { gap: 8px; }
@media (max-width: 640px) { .wd-product.product-grid-item .wd-add-btn .add_to_cart_button { height: 52px !important; min-height: 52px !important; } .wd-product.product-grid-item .wd-add-btn .add_to_cart_button .wd-action-text { white-space: normal; text-align: center; line-height: 1.2 !important; } }
/* v2.1: platí i pro kopii tlačítka v hover vrstvě karty; písmo pevné, ikona jen když se do tlačítka vejde */
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) { container-type: inline-size; }
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button { width: 100% !important; font: 700 13px/1 var(--sk-body) !important; letter-spacing: .05em !important; text-transform: uppercase; }
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button .wd-action-text { display: inline-flex !important; align-items: center !important; justify-content: center; position: static !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; font: inherit !important; letter-spacing: inherit !important; line-height: 1 !important; color: #fff !important; opacity: 1 !important; transform: none !important; white-space: nowrap; }
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button .wd-action-text::before { display: none; }
@container (min-width: 215px) {
  .wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button .wd-action-text::before { display: block; }
}
@container (max-width: 180px) {
  .wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button { font-size: 11.5px !important; letter-spacing: .03em !important; padding: 0 6px !important; }
}
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button:is(:hover, :focus-visible) { background: var(--sk-green-deep) !important; background-color: var(--sk-green-deep) !important; }
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button:is(:hover, :focus-visible) .wd-action-text { gap: 8px; }
.wd-product.product-grid-item :is(.wd-add-btn, .wd-product-card-hover .wd-buttons) .add_to_cart_button:is(:hover, :focus-visible) .wd-action-text::before { width: 17px; opacity: 1; }

/* =====================================================================
   ODKAZY SE ŠIPKOU → TLAČÍTKO S RÁMEČKEM (jako „Kontaktní formulář“ v patičce), 2026-11-10
   hp-link (záhlaví sekcí úvodu), hpe-link (úvod), epz-link (E-poukazy, Aktuality, nové stránky)
   ===================================================================== */
.elementor :is(.hpe-link, .epz-link) .elementor-button.elementor-button, a.hp-link.hp-link {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 50px;
  padding: 14px 22px !important; border-radius: 0 !important;
  background: #fff !important; color: var(--sk-ink) !important;
  box-shadow: inset 0 0 0 1.5px rgba(31, 120, 186, .42), 0 16px 28px -24px rgba(14, 58, 95, .55) !important;
  font: 700 14px/1.1 var(--sk-body) !important; letter-spacing: .06em !important; text-transform: uppercase !important; text-decoration: none !important;
  transition: background-color .25s, color .25s, box-shadow .25s, transform .3s var(--sk-ease);
}
.elementor :is(.hpe-link, .epz-link) .elementor-button.elementor-button:is(:hover, :focus-visible), a.hp-link.hp-link:is(:hover, :focus-visible) {
  background: var(--sk-green) !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px var(--sk-green), 0 18px 30px -18px rgba(10, 60, 45, .6) !important; transform: translateY(-1px);
}
.elementor :is(.hpe-link, .epz-link) .elementor-button.elementor-button .elementor-button-text { gap: 10px !important; color: inherit !important; }
a.hp-link.hp-link .hp-arrow { transition: transform .35s var(--sk-ease); }
:is(.hpe-link, .epz-link) .elementor-button:focus-visible, a.hp-link:focus-visible { outline: 3px solid var(--sk-band-a) !important; outline-offset: 3px; }
@media (max-width: 640px) {
  .elementor :is(.hpe-link, .epz-link) .elementor-button.elementor-button, a.hp-link.hp-link { font-size: 13.5px !important; padding: 13px 18px !important; }
}

/* české zalamování: vyvážené nadpisy, odstavce bez osamocených slov na posledním řádku */
:is(h1, h2, h3, h4, .elementor-heading-title, .wd-entities-title, .title) { text-wrap: balance; }
:is(p, li, dd, blockquote, figcaption, .elementor-icon-box-description) { text-wrap: pretty; hyphens: manual; }

/* =====================================================================
   OBCHODNÍ A INFORMAČNÍ STRÁNKY (2026-11-10, stranky-elementor.mjs): OP, Doprava, Reklamace, Odstoupení,
   Ke stažení, Kontakt, Velkoobchod, VO registrace – navazuje na epz-* a apk-*
   ===================================================================== */
.apk-hero-btns.e-con { gap: 12px !important; width: auto; margin-top: 4px; }
.apk-sec-hlava.e-con { gap: 8px !important; margin-bottom: clamp(20px, 2.4vw, 30px); max-width: 760px; }
.apk-sec-hlava-radek.e-con { gap: 12px 32px !important; margin-bottom: clamp(20px, 2.4vw, 30px); }
.apk-sec-hlava-radek .apk-sec-hlava.e-con { margin-bottom: 0; }
:is(.apk-doprava-sec, .apk-cas-sec, .apk-platba-sec, .apk-cesty-sec, .apk-postup-sec, .apk-zmena-sec, .apk-dl-sec, .apk-pro-sec, .apk-sortiment-sec, .apk-jak-sec, .apk-podminky-sec, .apk-kostka-sec, .apk-mapa-sec).e-con { padding-top: 0 !important; padding-bottom: clamp(48px, 5.5vw, 80px) !important; }
.apk-postup.e-con { gap: 18px !important; scroll-margin-top: 130px; }
.apk-postup .apk-sec-hlava.e-con { margin-bottom: 4px; }
.apk-steps-3.e-con { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.epz-step-text a, .apk-panel-text a, .apk-cenik-pozn a, .apk-mala a, .apk-archiv-text a { color: var(--sk-green-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; }

/* panely a dvojice */
.apk-dva.e-con { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 32px) !important; align-items: start; }
.apk-panel.e-con, .apk-cenik.e-con, .apk-cesta.e-con, .apk-dl-skupina.e-con, .apk-kostka-wrap.e-con { background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -46px rgba(14, 58, 95, .55); padding: clamp(22px, 2.8vw, 36px) !important; gap: 14px !important; }
.apk-panel-text p { margin: 0; font-size: 16px; line-height: 1.7; }
.apk-mala, .apk-mala-w p { margin: 4px 0 0 !important; font-size: 13.5px !important; line-height: 1.55; color: var(--sk-muted); }

/* seznamy s ikonami */
.apk-body .elementor-icon-list-items, .apk-odkazy .elementor-icon-list-items, .apk-kostka .elementor-icon-list-items { display: grid; gap: 12px; margin: 0; padding: 0; }
.apk-body .elementor-icon-list-item, .apk-odkazy .elementor-icon-list-item, .apk-kostka .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; align-items: flex-start !important; }
.apk-body .elementor-icon-list-item::after, .apk-odkazy .elementor-icon-list-item::after, .apk-kostka .elementor-icon-list-item::after { display: none !important; }
:is(.apk-body, .apk-kostka) .elementor-icon-list-icon { flex: none; display: grid !important; place-items: center; width: 36px; height: 36px; margin-right: 14px; padding: 0 !important; background: var(--sk-tint); transition: background-color .3s; }
:is(.apk-body, .apk-kostka) .elementor-icon-list-icon :is(i, svg) { width: 16px !important; height: 16px; font-size: 15px; color: var(--sk-band-b) !important; fill: var(--sk-band-b) !important; }
:is(.apk-body, .apk-kostka) .elementor-icon-list-text { align-self: center; padding: 0 !important; font-size: 15.5px; line-height: 1.5; color: var(--sk-text) !important; }
.apk-body .elementor-icon-list-text strong { color: var(--sk-ink); }
.apk-body-kroky .elementor-icon-list-icon { background: var(--sk-band-b); }
.apk-body-kroky .elementor-icon-list-icon :is(i, svg) { color: #fff !important; fill: #fff !important; }
.apk-odkazy .elementor-icon-list-items { gap: 8px; }
.apk-odkazy .elementor-icon-list-item > a { display: flex !important; align-items: center; gap: 14px; width: 100%; padding: 12px 14px; background: var(--sk-tint); color: var(--sk-ink) !important; font-weight: 600; text-decoration: none; transition: background-color .25s, color .25s; }
.apk-odkazy .elementor-icon-list-item > a::after { content: ""; margin-left: auto; width: 1em; height: 1em; flex: none; background: currentColor; -webkit-mask: var(--apk-sipka) center / contain no-repeat; mask: var(--apk-sipka) center / contain no-repeat; transition: transform .35s var(--sk-ease); }
.apk-odkazy .elementor-icon-list-icon { padding: 0 !important; }
.apk-odkazy .elementor-icon-list-icon :is(i, svg) { width: 17px !important; height: 17px; color: var(--sk-band-b) !important; fill: var(--sk-band-b) !important; }
.apk-odkazy .elementor-icon-list-text { padding: 0 !important; color: inherit !important; }
.apk-odkazy .elementor-icon-list-item > a:hover { background: var(--sk-band-b); color: #fff !important; }
.apk-odkazy .elementor-icon-list-item > a:hover :is(i, svg) { color: #fff !important; fill: #fff !important; }
.apk-odkazy .elementor-icon-list-item > a:hover::after { transform: translateX(4px); }

/* upozornění uvnitř stránky */
.apk-pozor-zluta .elementor-icon-box-wrapper { background: #fff !important; color: var(--sk-text) !important; border: 1px solid rgba(160, 68, 75, .28); box-shadow: 0 24px 44px -40px rgba(120, 40, 46, .5); }
.apk-pozor-zluta .elementor-icon { background: rgba(160, 68, 75, .1) !important; color: #a0444b !important; }
.apk-pozor-zluta .elementor-icon svg { fill: #a0444b !important; }
.apk-pozor-zluta .elementor-icon-box-title { color: var(--sk-ink) !important; }
.apk-pozor-zluta .elementor-icon-box-description { color: var(--sk-text) !important; }
.apk-pozor .elementor-icon-box-description a { color: inherit !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* OP: v kostce, články */
.apk-kostka-wrap.e-con { gap: 18px !important; background: linear-gradient(180deg, #fff, #f7fbfe) !important; }
.apk-kostka-title .elementor-heading-title { font: 700 13px/1 var(--sk-body); letter-spacing: .12em; text-transform: uppercase; color: var(--sk-muted); }
.apk-kostka .elementor-icon-list-items { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; }
.apk-kostka .elementor-icon-list-item > a { display: flex !important; align-items: flex-start; text-decoration: none; }
.apk-kostka .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: var(--sk-ink) !important; }
.apk-kostka .elementor-icon-list-item > a:hover .elementor-icon-list-icon { background: var(--sk-green); }
.apk-kostka .elementor-icon-list-item > a:hover .elementor-icon-list-icon :is(i, svg) { color: #fff !important; fill: #fff !important; }
.apk-doc-sec .apk-faq-list.e-con { gap: 20px !important; }
.apk-clanek.e-con { padding: clamp(22px, 2.8vw, 36px) !important; background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -50px rgba(14, 58, 95, .5); }
.apk-cislo { margin-right: .4em; color: var(--sk-green-text); }
.apk-clanek-text { max-width: 78ch; }
.apk-clanek-text p { position: relative; margin: 0 0 12px; padding-left: 3.1em; font-size: 16px; line-height: 1.72; color: var(--sk-text); }
.apk-clanek-text p:last-child { margin-bottom: 0; }
.apk-clanek-text .apk-c { position: absolute; left: 0; top: .2em; font: 700 12.5px/1.6 var(--sk-body); color: var(--sk-band-b); font-variant-numeric: tabular-nums; }
.apk-clanek-text ul { margin: -4px 0 14px 3.1em; padding-left: 1.1em; }
.apk-clanek-text li { margin-bottom: 6px; font-size: 16px; line-height: 1.65; }
.apk-clanek-text li::marker { color: var(--sk-green); }
.apk-clanek-text strong { color: var(--sk-ink); }
.apk-clanek-text a { color: var(--sk-green-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1.5px; overflow-wrap: anywhere; }
.apk-clanek-text a:hover { color: var(--sk-band-b) !important; }
.apk-archiv.e-con { gap: 14px 24px !important; padding: 20px 24px !important; background: var(--sk-tint); }
.apk-archiv-text { flex: 1 1 360px; }
.apk-archiv-text p { margin: 0; font-size: 15px; line-height: 1.6; }

/* Doprava: ceníky */
.apk-ceniky.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 24px) !important; }
.apk-cenik-hlava.e-con, .apk-cesta-hlava.e-con { gap: 14px !important; }
:is(.apk-cenik-ic, .apk-cesta-ic, .apk-kontakt-ic) { width: auto !important; }
:is(.apk-cenik-ic, .apk-cesta-ic, .apk-kontakt-ic) .elementor-icon-wrapper { line-height: 0; }
:is(.apk-cenik-ic, .apk-cesta-ic) .elementor-icon { display: grid !important; place-items: center; width: 48px; height: 48px; font-size: 20px; background: linear-gradient(135deg, var(--sk-band-a), var(--sk-band-b)); color: #fff; }
:is(.apk-cenik-ic, .apk-cesta-ic) .elementor-icon svg { width: 20px; height: 20px; fill: #fff; }
:is(.apk-cenik-nazev, .apk-cesta-nazev) .elementor-heading-title { font: 700 21px/1.2 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.apk-cenik-tab td:last-child { white-space: nowrap; font-weight: 700; color: var(--sk-ink); text-align: right; }
.apk-cenik-pozn p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--sk-muted); }

/* Reklamace: dvě cesty */
.apk-cesty.e-con { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 30px) !important; }
.apk-cesta.e-con { position: relative; overflow: hidden; transition: transform .4s var(--sk-ease), box-shadow .4s; }
.apk-cesta.e-con::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--sk-band-a); }
.apk-cesta-vraceni.e-con::after { background: var(--sk-green); }
.apk-cesta-vraceni .apk-cesta-ic .elementor-icon { background: linear-gradient(135deg, var(--sk-green), var(--sk-green-deep)); }
.apk-cesta.e-con:hover { transform: translateY(-4px); box-shadow: 0 40px 70px -46px rgba(14, 58, 95, .6); }
.apk-cesta-perex p { margin: 0; font-size: 16px; line-height: 1.65; }

/* Ke stažení */
.apk-dl-grid.e-con { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 30px) !important; align-items: start; }
.apk-dl-popis p { margin: 0; font-size: 15px; line-height: 1.6; }
.apk-dl .elementor-icon-list-items { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--sk-line); }
.apk-dl .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; border-bottom: 1px solid var(--sk-line); }
.apk-dl .elementor-icon-list-item::after { display: none !important; }
.apk-dl .elementor-icon-list-item > a { display: flex !important; align-items: center; gap: 14px; width: 100%; padding: 13px 8px; color: var(--sk-ink) !important; font-weight: 600; font-size: 15.5px; text-decoration: none; transition: background-color .25s, padding .3s var(--sk-ease); }
.apk-dl .elementor-icon-list-icon { flex: none; display: grid !important; place-items: center; width: 38px; height: 38px; padding: 0 !important; background: rgba(160, 68, 75, .08); }
.apk-dl .elementor-icon-list-icon :is(i, svg) { width: 17px !important; height: 17px; color: #a0444b !important; fill: #a0444b !important; }
.apk-dl .elementor-icon-list-text { flex: 1; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 14px; padding: 0 !important; color: inherit !important; }
.apk-dl-meta { font: 500 12.5px/1.3 var(--sk-body); color: var(--sk-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.apk-dl .elementor-icon-list-item > a::after { content: ""; flex: none; width: 18px; height: 18px; background: var(--sk-band-b); -webkit-mask: var(--apk-ic-dl) center / contain no-repeat; mask: var(--apk-ic-dl) center / contain no-repeat; transition: transform .35s var(--sk-ease); }
.apk-dl { --apk-ic-dl: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E"); }
.apk-dl .elementor-icon-list-item > a:hover { background: var(--sk-tint); padding-left: 14px; }
.apk-dl .elementor-icon-list-item > a:hover::after { transform: translateY(3px); background: var(--sk-green); }

/* Kontakt */
.apk-kontakt.e-con { gap: 18px !important; }
.apk-kontakt-radek.e-con { gap: 14px !important; align-items: flex-start; }
.apk-kontakt-ic .elementor-icon { display: grid !important; place-items: center; width: 44px; height: 44px; font-size: 18px; background: var(--sk-tint); color: var(--sk-band-b); }
.apk-kontakt-ic .elementor-icon svg { width: 18px; height: 18px; fill: var(--sk-band-b); }
.apk-kontakt-txt.e-con { gap: 2px !important; flex: 1; }
.apk-kontakt-nazev .elementor-heading-title { font: 700 12.5px/1.3 var(--sk-body); letter-spacing: .08em; text-transform: uppercase; color: var(--sk-muted); }
.apk-kontakt-hodnota p { margin: 0; font-size: 16.5px; line-height: 1.5; color: var(--sk-ink); font-weight: 600; }
.apk-kontakt-hodnota p.apk-mala { font-weight: 400; }
.apk-kontakt-hodnota a { text-decoration: none !important; color: var(--sk-ink) !important; }
.apk-kontakt-hodnota .apk-mala a { color: var(--sk-green-text) !important; }
.apk-kontakt-hodnota a:hover { color: var(--sk-green-text) !important; }
.apk-mapa-wrap.e-con { position: relative; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -46px rgba(14, 58, 95, .55); background: #e9eef2; min-height: 420px; }
.apk-mapa iframe { display: block; width: 100%; height: 420px !important; filter: saturate(.85); }
.apk-mapa-stitek.e-con { position: absolute; left: clamp(14px, 2vw, 28px); bottom: clamp(14px, 2vw, 28px); z-index: 2; width: min(340px, calc(100% - 28px)); gap: 6px !important; padding: 20px 22px !important; background: #fff; box-shadow: 0 30px 50px -30px rgba(14, 58, 95, .6); }
.apk-mapa-nazev .elementor-heading-title { font: 700 19px/1.2 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.apk-mapa-text p { margin: 0 0 6px; font-size: 14.5px; line-height: 1.5; }

/* Velkoobchod */
.apk-pro.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 !important; border-top: 1px solid var(--sk-line); border-bottom: 1px solid var(--sk-line); }
.apk-pro-box { padding: 28px 26px 30px; transition: background-color .3s; }
.apk-pro-box + .apk-pro-box { border-left: 1px solid var(--sk-line); }
.apk-pro-box:hover { background: #fff; }
.apk-pro-box .elementor-icon-box-wrapper { display: grid !important; gap: 14px; text-align: left !important; }
.apk-pro-box .elementor-icon-box-icon { margin: 0 !important; }
.apk-pro-box .elementor-icon { display: grid !important; place-items: center; width: 54px; height: 54px; font-size: 22px; background: linear-gradient(135deg, var(--sk-band-a), var(--sk-band-b)); color: #fff !important; transition: transform .5s var(--sk-ease); }
.apk-pro-box .elementor-icon svg { width: 22px; height: 22px; fill: #fff; }
.apk-pro-box:hover .elementor-icon { transform: rotate(-6deg) scale(1.05); }
.apk-pro-box .elementor-icon-box-title { margin: 0 0 6px !important; font: 700 20px/1.2 var(--sk-head) !important; text-transform: uppercase; color: var(--sk-ink) !important; }
.apk-pro-box .elementor-icon-box-description { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--sk-text); }
.apk-katy.e-con { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 22px) !important; }
.apk-kat.e-con { display: grid !important; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 18px !important; padding: 16px 20px 16px 16px !important; background: #fff; border: 1px solid var(--sk-line); text-decoration: none; transition: border-color .3s, transform .4s var(--sk-ease), box-shadow .4s; }
.apk-kat.e-con:hover { border-color: var(--sk-band-a); transform: translateY(-3px); box-shadow: 0 30px 50px -36px rgba(14, 58, 95, .6); }
.apk-kat-img img { width: 96px !important; height: 96px !important; object-fit: contain; transition: transform .5s var(--sk-ease); }
.apk-kat.e-con:hover .apk-kat-img img { transform: scale(1.06); }
.apk-kat-txt.e-con { gap: 4px !important; }
.apk-kat-nazev .elementor-heading-title { font: 700 17px/1.25 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.apk-kat-pocet p { margin: 0; font-size: 14px; color: var(--sk-muted); font-variant-numeric: tabular-nums; }

/* formuláře: odstoupení (Toret Toolkit) a registrace velkoobchodu – vzhled jako formulář E-poukazů */
.apk-form-card :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="date"], input[type="number"], select, textarea) { width: 100% !important; min-height: 50px; padding: 0 16px !important; border: 1px solid #cfdbe6 !important; border-radius: 0 !important; background: #f8fbfd !important; color: var(--sk-ink) !important; font: 500 15.5px var(--sk-body) !important; box-shadow: none !important; transition: border-color .25s, box-shadow .25s, background-color .25s; }
.apk-form-card textarea { min-height: 110px; padding: 12px 16px !important; line-height: 1.5; }
.apk-form-card :is(input, select, textarea):hover { border-color: #a9c3d9 !important; }
.apk-form-card :is(input, select, textarea):focus { outline: none; border-color: var(--sk-band-a) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(31, 120, 186, .14) !important; }
.apk-form-card label { display: block; margin-bottom: 7px; font: 600 14px/1.35 var(--sk-body) !important; color: var(--sk-ink) !important; }
.apk-form-card :is(input[type="submit"], button[type="submit"], .ttol-withdrawal-submit-btn) { display: inline-flex; align-items: center; justify-content: center; width: 100% !important; min-height: 56px; margin-top: 8px; padding: 0 24px !important; border: 0 !important; border-radius: 0 !important; background: var(--sk-green) !important; color: #fff !important; font: 700 15px/1 var(--sk-body) !important; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14), 0 14px 28px -14px rgba(10, 60, 45, .7) !important; transition: background-color .25s, transform .3s var(--sk-ease); }
.apk-form-card :is(input[type="submit"], button[type="submit"], .ttol-withdrawal-submit-btn):hover { background: var(--sk-green-deep) !important; transform: translateY(-2px); }
.apk-form-card :is(input[type="radio"], input[type="checkbox"]) { width: 18px !important; min-height: 0; height: 18px; margin: 0 8px 0 0; accent-color: var(--sk-green); vertical-align: -3px; }
.apk-form-card h3 { margin: 22px 0 14px !important; padding-top: 18px; border-top: 1px solid var(--sk-line); font: 700 18px/1.2 var(--sk-head) !important; text-transform: uppercase; color: var(--sk-ink) !important; }
.apk-tvelko #tvelko-registration-form { padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; max-width: none; }
.apk-tvelko .tvelko-form-wrap { max-width: none; }
.apk-tvelko #tvelko-registration-form p { margin: 0 0 16px; }
.apk-tvelko #tvelko-registration-form h3:first-of-type { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.apk-ttol :is(.form-row, p) { margin: 0 0 16px !important; padding: 0 !important; }
.apk-ttol .ttol-withdrawal-legal-notice { margin: 8px 0 4px; padding: 14px 16px; background: var(--sk-tint); font-size: 14px; line-height: 1.55; color: var(--sk-text); }
.apk-ttol table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.apk-ttol table :is(td, th) { padding: 10px 8px; border-bottom: 1px solid var(--sk-line); text-align: left; }

@media (max-width: 1024px) {
  .apk-kostka .elementor-icon-list-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apk-ceniky.e-con, .apk-katy.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apk-steps-3.e-con { grid-template-columns: 1fr !important; }
  .apk-pro.e-con { grid-template-columns: 1fr; }
  .apk-pro-box + .apk-pro-box { border-left: 0; border-top: 1px solid var(--sk-line); }
}
@media (max-width: 767px) {
  .apk-dva.e-con, .apk-cesty.e-con, .apk-dl-grid.e-con, .apk-ceniky.e-con, .apk-katy.e-con, .apk-kostka .elementor-icon-list-items { grid-template-columns: 1fr; }
  .apk-clanek-text p { padding-left: 0; }
  .apk-clanek-text .apk-c { position: static; display: inline-block; margin-right: 8px; }
  .apk-clanek-text ul { margin-left: 0; }
  .apk-mapa-stitek.e-con { position: static; width: 100%; box-shadow: none; }
  .apk-mapa iframe { height: 300px !important; }
}
/* sticky navigace (FAQ, OP): overflow hidden na sekci ruší position: sticky – clip ořízne stejně, ale nevytváří scrollovací kontejner */
.apk-faq-sec.e-con { overflow: clip !important; }
:root { --apk-sipka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
/* formulář odstoupení (Toret): místo 2 sloupců po 50 % jeden plný sloupec, krátká pole po dvou */
.apk-ttol .col2-set { display: block !important; width: 100% !important; margin: 0 !important; }
.apk-ttol .col2-set > :is(.col-1, .col-2) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; width: 100% !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; flex: none !important; }
.apk-ttol .col2-set > :is(.col-1, .col-2) > * { grid-column: 1 / -1; min-width: 0; }
.apk-ttol .col2-set > :is(.col-1, .col-2) > p.form-row:has(> input:not([type="hidden"]), > span > input:not([type="hidden"])) { grid-column: auto; }
.apk-ttol .col2-set > .col-2 { margin-top: 10px !important; }
.apk-ttol :is(h3, h4) { grid-column: 1 / -1; }
@media (max-width: 640px) { .apk-ttol .col2-set > :is(.col-1, .col-2) { grid-template-columns: 1fr; } }
/* registrace VO v kartě: bez šedého obalu, přepínač plátce DPH vzdušněji */
.apk-tvelko :is(code, p, div, pre):has(#tvelko-registration-form) { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; font-size: inherit !important; white-space: normal !important; }
.apk-tvelko #tvelko-registration-form input[type="radio"] { margin: 0 6px 0 0 !important; }
.apk-tvelko #tvelko-registration-form input[type="radio"] + label { display: inline-flex !important; margin: 0 22px 0 0 !important; vertical-align: middle; font-weight: 500 !important; }
@media (max-width: 1024px) {
  /* lepkavá lišta témat/obsahu (FAQ, OP) na mobilu: plné pozadí přes celou šířku, ať neprosvítá text */
  .apk-faq-aside.e-con { background: #f9f9f9 !important; width: auto !important; margin: 0 calc(var(--sk-gut) * -1) !important; box-shadow: 0 14px 24px -20px rgba(14, 58, 95, .45); }
}
/* Zásady cookies: dokument Complianz v kartě */
.apk-cmplz #cmplz-document, .apk-cmplz .cmplz-document { max-width: none !important; margin: 0 !important; padding: 0 !important; font-size: 15.5px; line-height: 1.7; color: var(--sk-text); }
.apk-cmplz :is(h2, h3, h4) { margin: 26px 0 10px !important; font-family: var(--sk-head) !important; font-weight: 700; text-transform: uppercase; color: var(--sk-ink) !important; line-height: 1.2; }
.apk-cmplz h2 { font-size: 22px !important; } .apk-cmplz :is(h3, h4) { font-size: 18px !important; }
.apk-cmplz > * > :is(h2, h3):first-child, .apk-cmplz .cmplz-document > :first-child { margin-top: 0 !important; }
.apk-cmplz p { margin: 0 0 12px; }
.apk-cmplz a { color: var(--sk-green-text) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.apk-cmplz details { margin: 0 0 10px; background: #fff; border: 1px solid var(--sk-line) !important; border-radius: 0 !important; }
.apk-cmplz details[open] { border-color: var(--sk-band-a) !important; }
.apk-cmplz summary { padding: 14px 16px !important; font-weight: 600; color: var(--sk-ink); cursor: pointer; }
.apk-cmplz table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.apk-cmplz table :is(td, th) { padding: 9px 8px; border-bottom: 1px solid var(--sk-line); text-align: left; vertical-align: top; }
.apk-cmplz-btn :is(button, .cmplz-manage-consent, .cmplz-btn) { display: inline-flex !important; align-items: center; justify-content: center; width: 100%; min-height: 50px; padding: 0 20px !important; border: 0 !important; border-radius: 0 !important; background: var(--sk-green) !important; color: #fff !important; font: 700 14px/1 var(--sk-body) !important; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.apk-cmplz-btn :is(button, .cmplz-manage-consent, .cmplz-btn):hover { background: var(--sk-green-deep) !important; }
/* hlavní menu: položky se nikdy nezalomí (E-SHOP / E-POUKAZY se lámaly za spojovníkem); v užších šířkách menší rozestupy */
.wd-nav-main > li > a, .wd-nav-main > li > a .nav-link-text { white-space: nowrap !important; }
@media (min-width: 1025px) and (max-width: 1400px) {
  .wd-nav-main > li > a { padding-left: 9px !important; padding-right: 9px !important; }
}
@media (min-width: 1025px) and (max-width: 1180px) {
  .wd-nav-main > li > a { padding-left: 6px !important; padding-right: 6px !important; font-size: 13px !important; letter-spacing: .02em !important; }
}

/* =====================================================================
   COOKIE LIŠTA (Complianz) ve vzhledu webu, 2026-11-10 – barvy/texty v nastavení banneru, tady písmo a detaily
   ===================================================================== */
.cmplz-cookiebanner { font-family: var(--sk-body) !important; box-shadow: 0 40px 80px -30px rgba(14, 58, 95, .55), 0 2px 0 var(--sk-green) inset !important; padding: 24px 26px 20px !important; }
body:has(.woocommerce-store-notice:not([style*="none"])) .cmplz-cookiebanner.cmplz-bottom-right { bottom: 76px !important; }
.cmplz-cookiebanner .cmplz-header { align-items: center; }
.cmplz-cookiebanner .cmplz-title { justify-self: start !important; text-align: left !important; font: 700 21px/1.15 var(--sk-head) !important; text-transform: uppercase; letter-spacing: .01em; color: var(--sk-ink) !important; }
.cmplz-cookiebanner .cmplz-title::before { content: ""; display: inline-block; width: 22px; height: 22px; margin: -3px 10px 0 0; vertical-align: middle; background: var(--sk-green); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5'/%3E%3Cpath d='M8.5 8.5v.01M16 15.5v.01M12 12v.01M11 17v.01M7 14v.01'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5'/%3E%3Cpath d='M8.5 8.5v.01M16 15.5v.01M12 12v.01M11 17v.01M7 14v.01'/%3E%3C/svg%3E") center / contain no-repeat; }
.cmplz-cookiebanner .cmplz-close { width: 34px !important; height: 34px !important; display: grid !important; place-items: center; background: var(--sk-tint); color: var(--sk-ink) !important; }
.cmplz-cookiebanner .cmplz-close svg { width: 14px !important; height: 14px !important; }
.cmplz-cookiebanner .cmplz-close svg path { fill: currentColor !important; stroke: none !important; }
.cmplz-cookiebanner .cmplz-close:hover { background: #dcebf6; }
.cmplz-cookiebanner .cmplz-divider { display: none !important; }
.cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-message p { font-size: 14.5px !important; line-height: 1.6 !important; color: var(--sk-text) !important; text-align: left !important; }
.cmplz-cookiebanner .cmplz-buttons { gap: 10px !important; }
.cmplz-cookiebanner .cmplz-btn { min-height: 48px !important; height: auto !important; padding: 12px 14px !important; font: 700 13px/1.15 var(--sk-body) !important; letter-spacing: .06em !important; text-transform: uppercase !important; border-width: 1.5px !important; transition: background-color .25s, color .25s, border-color .25s; white-space: normal !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14); }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background: var(--sk-green-deep) !important; border-color: var(--sk-green-deep) !important; }
.cmplz-cookiebanner .cmplz-btn:is(.cmplz-deny, .cmplz-view-preferences, .cmplz-save-preferences):hover { background: var(--sk-band-b) !important; border-color: var(--sk-band-b) !important; color: #fff !important; }
.cmplz-cookiebanner .cmplz-links a, .cmplz-cookiebanner .cmplz-documents a { font-size: 13px !important; font-weight: 600; color: var(--sk-green-text) !important; text-decoration: underline !important; text-underline-offset: 3px; text-transform: none !important; }
.cmplz-cookiebanner .cmplz-category { background: var(--sk-tint) !important; border-radius: 0 !important; }
.cmplz-cookiebanner .cmplz-category .cmplz-category-title { font: 700 14px/1.3 var(--sk-body) !important; color: var(--sk-ink) !important; }
.cmplz-cookiebanner .cmplz-category .cmplz-description { font-size: 13.5px !important; line-height: 1.55 !important; color: var(--sk-text) !important; }
.cmplz-cookiebanner .cmplz-always-active { color: var(--sk-green-text) !important; font-weight: 700; }
@media (max-width: 768px) {
  .cmplz-cookiebanner { padding: 18px 16px 14px !important; }
  body:has(.woocommerce-store-notice:not([style*="none"])) .cmplz-cookiebanner.cmplz-bottom-right { bottom: 0 !important; }
  .cmplz-cookiebanner .cmplz-title { font-size: 19px !important; }
}
/* zástupný prvek místo zablokované mapy / obsahu třetí strany */
.cmplz-placeholder-element.cmplz-iframe { min-height: 420px; background: linear-gradient(135deg, #eef5fb, #e3eef7) !important; }
.cmplz-blocked-content-notice { max-width: 420px !important; padding: 22px 24px !important; border-radius: 0 !important; background: #fff !important; color: var(--sk-text) !important; font: 500 14.5px/1.55 var(--sk-body) !important; box-shadow: 0 30px 50px -30px rgba(14, 58, 95, .6) !important; }
.cmplz-blocked-content-notice a, .cmplz-blocked-content-notice button { display: inline-flex !important; margin-top: 10px; padding: 12px 18px !important; border: 0 !important; border-radius: 0 !important; background: var(--sk-green) !important; color: #fff !important; font: 700 13px/1 var(--sk-body) !important; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; cursor: pointer; }
@media (min-width: 769px) { .cmplz-cookiebanner.cmplz-bottom-right { right: 72px !important; z-index: 100000 !important; } }
.cmplz-cookiebanner :focus:not(:focus-visible) { outline: none !important; }
.cmplz-cookiebanner :focus-visible { outline: 2px solid var(--sk-band-a) !important; outline-offset: 2px; }
.cmplz-cookiebanner .cmplz-links.cmplz-documents a, .cmplz-cookiebanner .cmplz-documents a.cmplz-link { text-transform: none !important; letter-spacing: 0 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner { z-index: 2147483600 !important; }
@media (max-width: 768px) { .cmplz-cookiebanner .cmplz-header { min-height: 0 !important; } .cmplz-cookiebanner .cmplz-title { display: block !important; } }

/* =====================================================================
   POSTRANNÍ KOŠÍK (WoodMart cart-widget-side) ve stylu webu, 2026-11-11
   ===================================================================== */
.cart-widget-side { width: min(420px, 100vw) !important; background: #f9f9f9 !important; }
.cart-widget-side .wd-heading { padding: 20px 22px !important; background: linear-gradient(120deg, var(--sk-band-a), var(--sk-band-b)) !important; border: 0 !important; }
.cart-widget-side .wd-heading .title { font: 700 20px/1.1 var(--sk-head) !important; text-transform: uppercase; letter-spacing: .01em; color: #fff !important; }
.cart-widget-side .wd-heading .close-side-widget a, .cart-widget-side .wd-heading .wd-action-btn a { color: #fff !important; }
.cart-widget-side .wd-heading .wd-action-btn a::before { color: #fff !important; }
.cart-widget-side .woocommerce-mini-cart { padding: 10px 14px 0 !important; }
.cart-widget-side .woocommerce-mini-cart-item { margin: 0 0 10px !important; padding: 14px 40px 14px 14px !important; background: #fff; border: 1px solid var(--sk-line) !important; gap: 14px; }
.cart-widget-side .woocommerce-mini-cart-item .cart-item-image img { width: 64px !important; height: 64px !important; object-fit: contain; }
.cart-widget-side .woocommerce-mini-cart-item .wd-entities-title { font: 600 14.5px/1.35 var(--sk-body) !important; color: var(--sk-ink) !important; }
.cart-widget-side .woocommerce-mini-cart-item dl.variation { margin: 4px 0 0 !important; font-size: 12.5px !important; color: var(--sk-muted) !important; }
.cart-widget-side .woocommerce-mini-cart-item dl.variation :is(dt, dd, p) { display: inline !important; margin: 0 !important; font-weight: 400 !important; color: inherit !important; }
.cart-widget-side .woocommerce-mini-cart-item .quantity { margin-top: 6px !important; font-size: 14px !important; color: var(--sk-muted) !important; }
.cart-widget-side .woocommerce-mini-cart-item .quantity .amount { font-weight: 700; color: var(--sk-green-text) !important; }
.cart-widget-side .woocommerce-mini-cart-item a.remove { top: 12px !important; right: 12px !important; width: 28px !important; height: 28px !important; display: grid !important; place-items: center; background: var(--sk-tint) !important; color: var(--sk-ink) !important; border-radius: 0 !important; }
.cart-widget-side .woocommerce-mini-cart-item a.remove:hover { background: #a0444b !important; color: #fff !important; }
.cart-widget-side .shopping-cart-widget-footer { padding: 16px 20px 20px !important; background: #fff; border-top: 1px solid var(--sk-line) !important; box-shadow: 0 -20px 30px -28px rgba(14, 58, 95, .5); }
.cart-widget-side .woocommerce-mini-cart__total { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; font: 600 15px/1.3 var(--sk-body) !important; color: var(--sk-ink) !important; }
.cart-widget-side .woocommerce-mini-cart__total .amount { font: 700 22px/1 var(--sk-head) !important; color: var(--sk-ink) !important; }
.apk-minikos-info { display: grid; gap: 6px; margin: 0 0 14px !important; padding: 12px 14px !important; list-style: none !important; background: var(--sk-tint); font-size: 13.5px; line-height: 1.45; color: var(--sk-text); }
.apk-minikos-info li { display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 0 !important; }
.apk-minikos-info li::before { content: ""; flex: none; width: 16px; height: 16px; margin-top: 2px; background: var(--sk-band-b); -webkit-mask: var(--apk-mi-ic) center / contain no-repeat; mask: var(--apk-mi-ic) center / contain no-repeat; }
.apk-mi-doprava { --apk-mi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4h14v11H1zM15 8h4l3 3v4h-7'/%3E%3Ccircle cx='5.5' cy='18' r='2'/%3E%3Ccircle cx='18.5' cy='18' r='2'/%3E%3C/svg%3E"); }
.apk-mi-cas { --apk-mi-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.cart-widget-side .woocommerce-mini-cart__buttons { display: grid !important; gap: 8px; margin: 0 !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button { display: flex !important; align-items: center; justify-content: center; min-height: 52px; margin: 0 !important; border-radius: 0 !important; font: 700 14px/1 var(--sk-body) !important; letter-spacing: .07em; text-transform: uppercase; }
.cart-widget-side .woocommerce-mini-cart__buttons .checkout { order: -1; background: var(--sk-green) !important; color: #fff !important; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .14) !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .checkout:hover { background: var(--sk-green-deep) !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff !important; color: var(--sk-ink) !important; box-shadow: inset 0 0 0 1.5px rgba(31, 120, 186, .42) !important; }
.cart-widget-side .woocommerce-mini-cart__buttons .button:not(.checkout):hover { background: var(--sk-band-b) !important; color: #fff !important; }
.cart-widget-side .wd-empty-mini-cart .title, .cart-widget-side .woocommerce-mini-cart__empty-message { font: 600 16px/1.4 var(--sk-body) !important; color: var(--sk-ink) !important; }
/* hlavičkový rozbalovací košík (dropdown) – stejné detaily */
.wd-dropdown-cart .woocommerce-mini-cart__total { display: flex !important; justify-content: space-between; gap: 12px; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button { border-radius: 0 !important; }
.wd-dropdown-cart .apk-minikos-info { font-size: 12.5px; }
/* pokladna: poznámka u osobního odběru a „zdarma“ */
.apk-doprava-pozn { display: block; margin: 2px 0 0 26px; font-size: 13px; color: var(--sk-muted); }
.apk-doprava-pozn a { color: var(--sk-green-text) !important; font-weight: 600; }
.apk-zdarma { font-weight: 700; color: var(--sk-green-text); }
/* postranní košík: viditelné zavírací tlačítko */
.cart-widget-side .close-side-widget > a { display: inline-flex !important; align-items: center; gap: 8px; padding: 8px 10px; background: rgba(255, 255, 255, .14); color: #fff !important; font: 700 12.5px/1 var(--sk-body) !important; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; transition: background-color .25s; }
.cart-widget-side .close-side-widget > a:hover { background: rgba(255, 255, 255, .28); }
.cart-widget-side .close-side-widget .wd-action-icon, .cart-widget-side .close-side-widget .wd-action-text { display: inline-block !important; color: #fff !important; }
.cart-widget-side .close-side-widget .wd-action-icon::before { color: #fff !important; font-size: 12px !important; }

/* Můj účet – přihlášení a registrace v kartách + výhody účtu (2026-11-11) */
.woocommerce-account:not(.logged-in) .wd-registration-page .col-login, .woocommerce-account:not(.logged-in) .wd-registration-page .col-register { padding: clamp(22px, 2.8vw, 36px) !important; background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -46px rgba(14, 58, 95, .55); }
.woocommerce-account:not(.logged-in) .wd-registration-page .col-register-text, .woocommerce-account:not(.logged-in) .wd-registration-page::before { display: none !important; }
.woocommerce-account:not(.logged-in) .wd-registration-page { gap: clamp(20px, 2.6vw, 32px); border: 0 !important; }
.woocommerce-account:not(.logged-in) .wd-registration-page > div { border: 0 !important; }
.woocommerce-account .woocommerce-form :is(input.input-text, input[type="text"], input[type="email"], input[type="password"]) { min-height: 50px; border: 1px solid #cfdbe6 !important; background: #f8fbfd !important; border-radius: 0 !important; }
.woocommerce-account .woocommerce-form :is(input.input-text, input[type="email"], input[type="password"]):focus { border-color: var(--sk-band-a) !important; background: #fff !important; box-shadow: 0 0 0 4px rgba(31, 120, 186, .14) !important; }
.apk-ucet-vyhody { margin: clamp(24px, 3vw, 40px) auto 0; max-width: 1000px; }
.apk-ucet-vyhody ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 !important; padding: 0 !important; list-style: none !important; border-top: 1px solid var(--sk-line); border-bottom: 1px solid var(--sk-line); }
.apk-ucet-vyhody li { display: grid; gap: 4px; margin: 0 !important; padding: 20px 22px 20px 64px !important; position: relative; font-size: 14.5px; line-height: 1.5; color: var(--sk-text); }
.apk-ucet-vyhody li + li { border-left: 1px solid var(--sk-line); }
.apk-ucet-vyhody li strong { font: 700 16px/1.25 var(--sk-head); text-transform: uppercase; color: var(--sk-ink); }
.apk-ucet-vyhody li::before { content: ""; position: absolute; left: 20px; top: 22px; width: 32px; height: 32px; background: linear-gradient(135deg, var(--sk-band-a), var(--sk-band-b)); -webkit-mask: var(--apk-uv) center / 20px no-repeat, linear-gradient(#000, #000); -webkit-mask-composite: xor; mask: var(--apk-uv) center / 20px no-repeat exclude, linear-gradient(#000, #000); }
.apk-uv-historie { --apk-uv: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 5h11M9 12h11M9 19h11M4 5h.01M4 12h.01M4 19h.01'/%3E%3C/svg%3E"); }
.apk-uv-rychle { --apk-uv: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9z'/%3E%3C/svg%3E"); }
.apk-uv-vraceni { --apk-uv: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 0 3-6.7L3 8M3 3v5h5'/%3E%3C/svg%3E"); }
.apk-uv-vo { margin: 16px 0 0 !important; text-align: center; font-size: 14.5px; color: var(--sk-text); }
.apk-uv-vo a { color: var(--sk-green-text) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) { .apk-ucet-vyhody ul { grid-template-columns: 1fr; } .apk-ucet-vyhody li + li { border-left: 0; border-top: 1px solid var(--sk-line); } }

/* =====================================================================
   RESPONZIVITA – opravy z plošné kontroly 19 zařízení (2026-11-11)
   ===================================================================== */
@media (max-width: 1024px) {
  /* mobilní hlavička: SVG znak bez rozměrů se roztahoval na 330 px a vytlačil hledání, měnu a košík mimo obrazovku */
  .whb-header .whb-mobile-left .site-logo { width: auto !important; max-width: none !important; flex: none !important; }
  .whb-header .whb-mobile-left .site-logo img { width: 44px !important; height: 44px !important; max-width: none !important; object-fit: contain; }
  .whb-header .whb-mobile-left { min-width: 0; }
  /* množství −/+ : dotykový cíl aspoň 40 px */
  .quantity :is(input.minus, input.plus, .minus, .plus) { min-width: 40px !important; width: 40px !important; }
  /* odkazy kategorií v postranním panelu: větší plocha pro prst */
  :is(.widget_product_categories, .wd-product-cat-filter) li > a { display: inline-block; padding: 7px 0 !important; }
}
@media (max-width: 768px) {
  /* plovoucí lišta sociálních sítí na telefonu zakrývala text; ikony jsou v patičce */
  .wpsr-follow-icons { display: none !important; }
}
@media (max-width: 600px) {
  /* odznaky v úvodu stránek: pod sebou, ikona vedle textu (Elementor je na mobilu stavěl ikonou nahoru) */
  .epz-badges.e-con { display: grid !important; grid-template-columns: 1fr; gap: 8px !important; width: 100%; }
  .epz-badge .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px; text-align: left !important; }
  .epz-badge .elementor-icon-box-icon { margin: 0 !important; }
  .epz-badge .elementor-icon-box-content { min-height: 0; }
}
/* pokladna: Comgate – popisek metody čitelný, ikona karet bez deformace */
.wc_payment_methods :is(.comgate-payment-label, label span, .payment_box span) { font-size: 13px !important; }
.wc_payment_methods img { object-fit: contain; height: auto !important; max-height: 34px; width: auto !important; }
@media (max-width: 1024px) {
  .whb-header .whb-general-header .whb-mobile-left, .whb-header .whb-general-header .whb-mobile-right { flex: 0 0 auto !important; width: auto !important; }
  .whb-header .whb-general-header .whb-mobile-center { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; padding: 0 8px; }
  .whb-header .whb-general-header .wd-header-search-form-mobile { width: 100% !important; max-width: 100% !important; min-width: 0 !important; position: relative !important; left: auto !important; right: auto !important; }
  .whb-header .whb-general-header .wd-header-search-form-mobile form, .whb-header .whb-general-header .wd-header-search-form-mobile .searchform { width: 100% !important; min-width: 0 !important; }
  .whb-header .whb-general-header .wd-header-search-form-mobile input[type="text"] { min-width: 0 !important; padding-left: 12px !important; font-size: 15px !important; }
  .whb-header .whb-general-header .whb-mobile-left { gap: 4px; }
}
@media (max-width: 480px) {
  /* úzké telefony: hledání ve vlastním řádku přes celou šířku */
  .whb-header .whb-general-header .whb-flex-row { flex-wrap: wrap !important; height: auto !important; row-gap: 8px; padding-top: 8px; padding-bottom: 10px; }
  .whb-header .whb-general-header .whb-mobile-left { order: 1; }
  .whb-header .whb-general-header .whb-mobile-right { order: 2; margin-left: auto; }
  .whb-header .whb-general-header .whb-mobile-center { order: 3; flex: 0 0 100% !important; padding: 0 !important; }
  .whb-header .whb-general-header .wd-header-search-form-mobile input[type="text"] { height: 44px !important; }
}
/* horní lišta: text nezasahuje pod zavírací křížek */
.header-banner .container, .header-banner .header-banner-content { padding-right: 44px !important; }
/* tablety: v mobilní hlavičce celé logo místo znaku (na telefonech zůstává znak) */
@media (min-width: 481px) and (max-width: 1024px) {
  .whb-header .whb-mobile-left .site-logo img { content: url("/wp-content/uploads/2026/11/apnoe-spanek-logo-bile.svg?v=2"); width: clamp(170px, 26vw, 230px) !important; height: auto !important; }
}
.wd-shop-tools :is(.per-page-title, .wd-products-per-page .per-page-title, span) { font-size: 12.5px !important; }

/* Potvrzení objednávky (thank you) ve stylu webu, 2026-11-11 */
.woocommerce-order .woocommerce-thankyou-order-received, .woocommerce-order p.woocommerce-notice--success { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 24px !important; padding: 22px 24px !important; border: 0 !important; background: linear-gradient(120deg, var(--sk-green), var(--sk-green-deep)) !important; color: #fff !important; font: 700 clamp(18px, 2vw, 24px)/1.25 var(--sk-head) !important; text-transform: uppercase; text-align: center; box-shadow: 0 30px 50px -34px rgba(10, 60, 45, .7); }
.woocommerce-order .woocommerce-thankyou-order-received::before { content: ""; flex: none; width: 34px; height: 34px; background: #fff; -webkit-mask: var(--apk-ok) center / contain no-repeat; mask: var(--apk-ok) center / contain no-repeat; }
.woocommerce-order { --apk-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.5 3 3 6-6.5'/%3E%3C/svg%3E"); }
.woocommerce-order ul.woocommerce-order-overview { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; margin: 0 0 28px !important; padding: 0 !important; background: #fff; border: 1px solid var(--sk-line); }
.woocommerce-order ul.woocommerce-order-overview li { margin: 0 !important; padding: 16px 18px !important; border: 0 !important; border-right: 1px solid var(--sk-line) !important; font-size: 13px !important; color: var(--sk-muted) !important; text-align: left !important; text-transform: none !important; }
.woocommerce-order ul.woocommerce-order-overview li:last-child { border-right: 0 !important; }
.woocommerce-order ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font: 700 16px/1.35 var(--sk-body) !important; color: var(--sk-ink) !important; overflow-wrap: anywhere; }
.woocommerce-order .woocommerce-order-details, .woocommerce-order .woocommerce-customer-details { padding: clamp(20px, 2.6vw, 32px) !important; margin-bottom: 24px !important; background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -50px rgba(14, 58, 95, .5); }
.woocommerce-order :is(.woocommerce-order-details__title, .woocommerce-column__title) { font: 700 20px/1.2 var(--sk-head) !important; text-transform: uppercase; color: var(--sk-ink) !important; }
.woocommerce-order .woocommerce-customer-details address { padding: 16px 18px !important; border: 0 !important; background: var(--sk-tint); font-style: normal !important; line-height: 1.7; color: var(--sk-text); }
.apk-dekujeme { margin: 0 0 28px; padding: clamp(20px, 2.6vw, 32px); background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -50px rgba(14, 58, 95, .5); }
.apk-dekujeme h2 { margin: 0 0 16px !important; font: 700 20px/1.2 var(--sk-head) !important; text-transform: uppercase; color: var(--sk-ink); }
.apk-dekujeme ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 !important; padding: 0 !important; list-style: none !important; counter-reset: apkd; }
.apk-dekujeme li { counter-increment: apkd; position: relative; display: grid; gap: 6px; margin: 0 !important; padding: 16px 16px 16px 58px !important; background: var(--sk-tint); font-size: 14.5px; line-height: 1.55; color: var(--sk-text); }
.apk-dekujeme li::before { content: counter(apkd); position: absolute; left: 16px; top: 16px; width: 30px; height: 30px; display: grid; place-items: center; background: var(--sk-band-b); color: #fff; font: 700 14px/1 var(--sk-body); }
.apk-dekujeme li strong { font: 700 15.5px/1.3 var(--sk-body); color: var(--sk-ink); }
.apk-dekujeme a { color: var(--sk-green-text) !important; font-weight: 600; }
@media (max-width: 767px) { .apk-dekujeme ol { grid-template-columns: 1fr; } .woocommerce-order ul.woocommerce-order-overview li { border-right: 0 !important; border-bottom: 1px solid var(--sk-line) !important; } }
/* Můj účet (přihlášený) */
.woocommerce-account.logged-in .woocommerce-MyAccount-content { padding: clamp(20px, 2.6vw, 32px) !important; background: #fff; border: 1px solid var(--sk-line); box-shadow: 0 30px 60px -50px rgba(14, 58, 95, .5); }
.woocommerce-account.logged-in .wd-my-account-links a { border: 1px solid var(--sk-line) !important; box-shadow: none !important; transition: border-color .25s, transform .35s var(--sk-ease); }
.woocommerce-account.logged-in .wd-my-account-links a:hover { border-color: var(--sk-band-a) !important; transform: translateY(-3px); }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation-link.is-active > a { background: var(--sk-tint) !important; color: var(--sk-band-b) !important; box-shadow: inset 3px 0 0 var(--sk-green); }
/* potvrzení objednávky: adresy přes celou šířku na mobilu, vedle sebe na desktopu */
.woocommerce-order .woocommerce-customer-details .woocommerce-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 !important; }
.woocommerce-order .woocommerce-customer-details .woocommerce-column { width: auto !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-order .woocommerce-customer-details address { width: auto !important; max-width: none !important; }
@media (max-width: 767px) { .woocommerce-order .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; } }

/* plovoucí záložka „Nastavení cookies“ (Complianz): malý štítek vlevo dole vedle chatu, nezakrývá obsah */
#cmplz-manage-consent .cmplz-manage-consent { left: 92px !important; right: auto !important; bottom: 14px !important; top: auto !important; min-height: 0 !important; height: auto !important; padding: 7px 12px !important; border-radius: 0 !important; background: rgba(255, 255, 255, .94) !important; color: var(--sk-ink) !important; font: 600 11.5px/1 var(--sk-body) !important; letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 10px 24px -14px rgba(14, 58, 95, .6) !important; border: 1px solid var(--sk-line) !important; transform: none !important; z-index: 9990 !important; }
#cmplz-manage-consent .cmplz-manage-consent:hover { background: #fff !important; color: var(--sk-band-b) !important; }
body:has(.woocommerce-store-notice:not([style*="none"])) #cmplz-manage-consent .cmplz-manage-consent { bottom: 70px !important; }
@media (max-width: 768px) { #cmplz-manage-consent .cmplz-manage-consent { left: auto !important; right: 72px !important; bottom: 12px !important; } }
/* adresy v detailu objednávky v účtu */
.woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 !important; }
.woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column { width: auto !important; max-width: none !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-MyAccount-content .woocommerce-customer-details address { padding: 16px 18px !important; border: 0 !important; background: var(--sk-tint); font-style: normal !important; line-height: 1.7; }
.woocommerce-MyAccount-content .woocommerce-column__title { font: 700 18px/1.2 var(--sk-head) !important; text-transform: uppercase; }
@media (max-width: 767px) { .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr; } }
/* pokladna na mobilu: doprava v souhrnu pod popiskem, zarovnaná vlevo, pohodlné přepínače */
@media (max-width: 767px) {
  .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals, .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals :is(th, td) { display: block !important; width: 100% !important; text-align: left !important; }
  .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { padding-bottom: 6px !important; border: 0 !important; }
  .woocommerce-checkout-review-order-table #shipping_method { margin: 0 !important; padding: 0 !important; }
  .woocommerce-checkout-review-order-table #shipping_method li { display: flex !important; flex-wrap: wrap; align-items: flex-start; gap: 4px 10px; margin: 0 0 8px !important; padding: 12px 12px !important; text-align: left !important; background: var(--sk-tint); }
  .woocommerce-checkout-review-order-table #shipping_method li input { margin: 3px 0 0 !important; flex: none; }
  .woocommerce-checkout-review-order-table #shipping_method li label { flex: 1 1 0; text-align: left !important; margin: 0 !important; }
  .woocommerce-checkout-review-order-table #shipping_method .apk-doprava-pozn { margin-left: 26px; flex-basis: 100%; }
}

/* =====================================================================
   Dotykové cíle (2026-11-11): drobné odkazy (kategorie pod produktem 15 px, drobečková navigace 21–22 px,
   „Zobrazit historii cen“, odkazy v hláškách pokladny) mají na dotykových zařízeních klikací plochu ≥ 26 px.
   Padding + záporný margin = větší plocha bez posunu rozvržení.
   ===================================================================== */
@media (pointer: coarse) {
  .wd-product-cats a { display: inline-block; padding: 6px 0; margin: -6px 0; }
  :is(.wd-breadcrumbs, .woocommerce-breadcrumb, .an-crumbs) a { display: inline-block; padding: 4px 0; margin: -4px 0; }
  .summary-inner a:not(.button), .product_meta a, .woocommerce-info a, .woocommerce-form-login-toggle a, .woocommerce-form-coupon-toggle a { display: inline-block; padding: 5px 0; margin: -5px 0; }
}

/* =====================================================================
   PŮVODNÍ ZNAK VÝRAZNĚ NA WEBU (2026-11-11): podle znaku lidé poznávají značku i výdejnu
   – úvodní slider: znak nad nadpisem; záhlaví stránek a Aktualit: znak vedle nadpisu;
   – vzory sekcí a patičky: znak jako další motiv (dlaždice 600 px, posun sladěný s maskami 300 px)
   ===================================================================== */
:root {
  --znak-bily: url("/wp-content/uploads/2026/11/apnoe-spanek-znak-bily.svg?v=2");
  --pat-znak: url("/wp-content/mu-plugins/apnoe-vzhled/obrazky/vzor-znak.svg?v=2");
  --pat-znak-bily: url("/wp-content/mu-plugins/apnoe-vzhled/obrazky/vzor-znak-bily.svg?v=2");
}
.hpe-h1 > .elementor-widget-container::before { content: ""; display: block; width: clamp(76px, 8vw, 116px); aspect-ratio: 1; margin: 0 0 18px; background: var(--znak-bily) center / contain no-repeat; filter: drop-shadow(0 10px 24px rgba(4, 30, 55, .35)); }
.wd-page-title :is(h1.entry-title, h1.title), .an-list-band .an-list-title { display: flex; align-items: center; gap: clamp(14px, 1.8vw, 24px); }
.wd-page-title :is(h1.entry-title, h1.title)::before, .an-list-band .an-list-title::before { content: ""; flex: none; width: clamp(52px, 5.6vw, 84px); aspect-ratio: 1; background: var(--znak-bily) center / contain no-repeat; filter: drop-shadow(0 8px 18px rgba(4, 30, 55, .3)); }
@media (prefers-reduced-motion: no-preference) {
  .hpe-h1 > .elementor-widget-container::before, .wd-page-title :is(h1.entry-title, h1.title)::before, .an-list-band .an-list-title::before { animation: znakPrichod 1s var(--sk-ease) both; }
  @keyframes znakPrichod { from { opacity: 0; transform: scale(.86) rotate(-8deg); } }
}
/* vzory: znak mezi maskami a měsíci */
.hpe-cats-sec.e-con::before, .hpe-news.e-con::before, .hpe-insta.e-con::before { background: var(--pat-znak) 0 0 / 600px 600px repeat, var(--pat-masky) 0 0 / 300px 300px repeat !important; }
.hpe-voucher.e-con::before { background: var(--pat-znak) 120px 0 / 600px 600px repeat, var(--pat-masky) 0 0 / 300px 300px repeat !important; }
.hpe-therapy.e-con::before { background: var(--pat-znak) 0 150px / 600px 600px repeat, var(--pat-masky) 0 0 / 300px 300px repeat !important; }
.wd-footer::after { background: var(--pat-znak-bily) 0 0 / 600px 600px repeat, var(--pat-masky-bile) 0 0 / 300px 300px repeat !important; }
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::before,
:is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::after { background: var(--pat-znak) 0 0 / 600px 600px repeat, var(--pat-masky) 0 0 / 300px 300px repeat !important; }
@media (prefers-reduced-motion: no-preference) {
  :is(.hpe-cats-sec, .hpe-therapy, .hpe-voucher, .hpe-news, .hpe-insta).e-con::before, .wd-footer::after,
  :is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::before,
  :is(body.woocommerce-shop, body.tax-product_cat, body.single-product) .wd-page-content::after { animation: patPosunZnak 140s linear infinite !important; }
  @keyframes patPosunZnak { to { background-position: 600px 600px, 600px 600px; } }
}
/* telefony (≤ 480 px): vyhledávání je pod hlavičkou ve druhém řádku (100–144 px) – záhlaví stránky ho nesmí podjet */
@media (max-width: 480px) { .wd-page-title.page-title { padding-top: 136px !important; } }
/* hlášky (info/úspěch/chyba): částky převezmou barvu textu hlášky – WoodMart je barví natvrdo #fff (počítá s barevným pozadím) */
body :is(.woocommerce-error, .woocommerce-message, .woocommerce-info, .wd-notice) :is(.amount, .amount bdi, .woocommerce-Price-currencySymbol) { color: inherit !important; font-weight: 600; }
