/*
 * Matysek PS9 — Fáze 1a: globální základ
 * Reference: kurz-peliskovani/index.html
 * Načítá se po custom_s_1.css (FrontController priority 1000).
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Karla:wght@400;600;700&display=swap');

:root {
  --m-vinova: #7f435e;
  --m-vinova-tmava: #5e2f43;
  --m-staroruzova: #c88fa1;
  --m-svetla-ruzova: #d9b5c0;
  --m-zlatava: #c08a4f;
  --m-pudrova: #f8f3f5;
  --m-bezova: #faf5f0;
  --m-text: #2a1f25;
  --m-text-light: #6b5560;
  --m-line: #e8d9df;
  --m-shadow: 0 10px 40px rgba(127, 67, 94, 0.12);
  --m-shadow-lg: 0 20px 60px rgba(127, 67, 94, 0.18);
  --m-radius-pill: 999px;
  --m-radius-card: 20px;
  --m-radius-soft: 14px;
  --m-gap-grid: 18px;
  --m-section-y: 3.75rem;
  --m-read-max: 760px;
}

/* --- Global --- */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: var(--m-text);
  background: var(--m-bezova);
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
.page-title span,
.h1.page-title span {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  line-height: 1.18;
  color: var(--m-vinova-tmava);
  letter-spacing: -0.01em;
}

#wrapper {
  background: var(--m-bezova);
  padding-top: 1.25rem;
  padding-bottom: var(--m-section-y);
}

/* --- Primary buttons (kurz pill CTA) --- */
.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled):active:focus {
  background-color: var(--m-vinova);
  border-color: var(--m-vinova);
  color: #fff;
  border-radius: var(--m-radius-pill);
  font-weight: 600;
  box-shadow: 0 6px 20px rgba(118, 58, 79, 0.28);
  transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease, color 0.25s ease;
}

@media (hover: hover) {
  .btn-primary:hover,
  .btn-primary:focus {
    background-color: var(--m-vinova-tmava);
    border-color: var(--m-vinova-tmava);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(118, 58, 79, 0.38);
  }
}

.btn-primary:focus-visible {
  outline: 3px solid var(--m-zlatava);
  outline-offset: 3px;
}

/* --- Secondary buttons --- */
.btn-secondary,
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-outline-secondary,
.btn-outline-secondary:not(:disabled):not(.disabled):active,
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus {
  background-color: var(--m-pudrova);
  color: var(--m-vinova);
  border: 1.5px solid var(--m-staroruzova);
  border-radius: var(--m-radius-soft);
  font-weight: 600;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

@media (hover: hover) {
  .btn-secondary:hover,
  .btn-secondary:focus,
  .btn-outline-secondary:hover,
  .btn-outline-secondary:focus {
    background-color: #e8d9df;
    color: var(--m-vinova-tmava);
    border-color: var(--m-staroruzova);
  }
}

.btn-secondary:focus-visible,
.btn-outline-secondary:focus-visible {
  outline: 3px solid var(--m-staroruzova);
  outline-offset: 3px;
}

/* --- Sticky header (kurz .topbar feel) --- */
.sticky-desktop-wrapper #desktop-header.stuck-header,
.stuck-menu {
  background: rgba(250, 245, 240, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--m-shadow);
  border-bottom: 1px solid var(--m-line);
}

/* --- Mobile header --- */
#mobile-header .mobile-buttons-bar {
  background: var(--m-bezova) !important;
  border-top: 1px solid var(--m-line);
}

#mobile-header .m-nav-btn:hover {
  color: var(--m-vinova);
}

/* --- Logo (migrace z Theme Editor custom rules) --- */
#desktop_logo img,
.header-logo img,
.logo.img-fluid,
#_desktop_logo img {
  max-width: 220px;
  height: auto;
}

#mobile-header img.logo,
#mobile-header .logo img,
.mobile-logo img,
#_mobile_logo img {
  max-width: 160px;
  height: auto;
}

/* --- Mobile --- */
@media (max-width: 767px) {
  body {
    font-size: 14px;
  }

  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* ==========================================================================
 * Matysek PS9 — Fáze 1b: footer (kurz-peliskovani)
 * Scope: pouze #footer — bez zásahu do body/font z 1a
 * ========================================================================== */

#footer {
  background: transparent;
}

/* --- Horní pás (newsletter + social, layout 2–5) --- */
#footer #footer-container-first {
  background: var(--m-vinova-tmava);
  color: #f3e6ec;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  border-top: none;
}

#footer #footer-container-first h5,
#footer #footer-container-first .block-title {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  color: #fff;
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

#footer #footer-container-first a:not(.btn):not(.nav-link) {
  color: rgba(243, 230, 236, 0.88);
  transition: color 0.2s ease;
}

@media (hover: hover) {
  #footer #footer-container-first a:not(.btn):not(.nav-link):hover {
    color: var(--m-staroruzova);
  }
}

#footer #footer-container-first .text-muted,
#footer #footer-container-first .ps-emailsubscription-conditions {
  color: rgba(243, 230, 236, 0.72) !important;
}

/* --- Hlavní footer obsah --- */
#footer #footer-container-main {
  background: #fffaf7;
  color: var(--m-text-light);
  padding-top: 3rem;
  padding-bottom: 2.25rem;
  border-top: none;
}

#footer #footer-container-main .block-title {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  color: var(--m-vinova-tmava);
  border-bottom: 1px solid var(--m-line);
  margin-bottom: 0.85em;
  padding-bottom: 0.55em;
}

#footer #footer-container-main .block-title a:link,
#footer #footer-container-main .block-title a:visited {
  color: var(--m-vinova-tmava);
}

#footer #footer-container-main a:not(.btn):not(.nav-link) {
  color: var(--m-text-light);
  transition: color 0.2s ease;
}

@media (hover: hover) {
  #footer #footer-container-main a:not(.btn):not(.nav-link):hover {
    color: var(--m-vinova);
  }
}

#footer #footer-container-main .block-links ul > li {
  margin-bottom: 0.55rem;
}

#footer #footer-container-main .block-links ul > li a:before {
  color: var(--m-staroruzova);
}

#footer #footer-container-main .block-iqitcontactpage hr,
#footer #footer-container-main .contact-rich hr {
  border-color: var(--m-line);
  opacity: 1;
}

#footer #footer-container-main .contact-rich .icon {
  color: var(--m-vinova);
}

#footer #footer-container-main .contact-rich strong {
  color: var(--m-vinova-tmava);
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* --- Newsletter input group --- */
#footer .ps-emailsubscription-block .newsletter-input-group {
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  background: #fff;
  overflow: hidden;
}

#footer .ps-emailsubscription-block .input-subscription {
  color: var(--m-text);
  background: transparent;
  border: none;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

#footer .ps-emailsubscription-block .input-subscription::placeholder {
  color: var(--m-text-light);
  opacity: 0.85;
}

#footer .ps-emailsubscription-block .btn-subscribe {
  background: var(--m-vinova);
  color: #fff !important;
  border: none;
  border-radius: 0;
  padding: 0 1.1rem;
  min-height: 100%;
  transition: background-color 0.25s ease, color 0.25s ease;
}

@media (hover: hover) {
  #footer .ps-emailsubscription-block .btn-subscribe:hover,
  #footer .ps-emailsubscription-block .btn-subscribe:focus {
    background: var(--m-vinova-tmava);
    color: #fff !important;
  }
}

#footer .ps-emailsubscription-block .btn-subscribe:focus-visible {
  outline: 3px solid var(--m-zlatava);
  outline-offset: 2px;
}

/* Newsletter na tmavém horním pásu */
#footer #footer-container-first .ps-emailsubscription-block .newsletter-input-group {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.96);
}

/* --- Social icons --- */
#footer .social-links._footer > li > a,
#footer .social-links._footer > li > a:not(:hover) {
  color: var(--m-text-light) !important;
  transition: color 0.2s ease, transform 0.2s ease;
}

#footer #footer-container-first .social-links._footer > li > a,
#footer #footer-container-first .social-links._footer > li > a:not(:hover) {
  color: rgba(243, 230, 236, 0.85) !important;
}

@media (hover: hover) {
  #footer .social-links._footer > li > a:hover {
    color: var(--m-vinova) !important;
    transform: translateY(-1px);
  }

  #footer #footer-container-first .social-links._footer > li > a:hover {
    color: var(--m-staroruzova) !important;
  }
}

#footer .social-links._footer > li > a:focus-visible {
  outline: 2px solid var(--m-zlatava);
  outline-offset: 3px;
  border-radius: 4px;
}

/* --- Copyright --- */
#footer #footer-copyrights {
  background: var(--m-bezova);
  border-top: 1px solid var(--m-line);
  color: var(--m-text-light);
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

#footer #footer-copyrights a:not(.btn):not(.nav-link) {
  color: var(--m-text-light);
}

@media (hover: hover) {
  #footer #footer-copyrights a:not(.btn):not(.nav-link):hover {
    color: var(--m-vinova);
  }
}

#footer #footer-copyrights .copyright-txt p {
  margin-bottom: 0.35rem;
}

/* --- Mobilní accordion: víc vzduchu --- */
@media (max-width: 767px) {
  #footer #footer-container-first,
  #footer #footer-container-main {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  #footer .block-footer,
  #footer .block-toggle {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }

  #footer .block-toggle > .block-title {
    padding: 0.9rem 0;
    margin-bottom: 0;
  }

  #footer .block-toggle._toggled > .block-content {
    padding-top: 0.35rem;
    padding-bottom: 1.1rem;
  }

  #footer .block-links ul > li {
    margin-bottom: 0.65rem;
  }

  #footer .social-links._footer {
    padding-top: 0.5rem;
    padding-bottom: 0.25rem;
  }

  #footer #footer-copyrights {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  #footer #footer-copyrights .copyright-img,
  #footer #footer-copyrights .copyright-txt {
    text-align: center !important;
  }
}

/* ==========================================================================
 * Matysek PS9 — Fáze 1c: produktová karta (grid miniature)
 * Scope: .products-grid .product-miniature-default
 * Nezasahuje: list view, košík, checkout, detail H1, skryté add-to-cart
 * ========================================================================== */

/* --- Grid gap (TE má padding cols na 0) --- */
.products-grid.row {
  margin-left: calc(var(--m-gap-grid) * -0.5);
  margin-right: calc(var(--m-gap-grid) * -0.5);
}

.products-grid.row > .js-product-miniature-wrapper,
.products-grid.row > [class*="col-"],
.products-grid.swiper .swiper-slide .js-product-miniature-wrapper {
  padding-left: calc(var(--m-gap-grid) * 0.5);
  padding-right: calc(var(--m-gap-grid) * 0.5);
  padding-bottom: var(--m-gap-grid);
}

.products-grid.swiper .swiper-slide {
  height: auto;
}

/* --- Karta --- */
.products-grid .product-miniature.product-miniature-default {
  background: #fff;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow);
  outline: none;
  height: 100%;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

@media (hover: hover) {
  .products-grid .product-miniature.product-miniature-default:hover {
    border-color: var(--m-svetla-ruzova);
    box-shadow: var(--m-shadow-lg);
    transform: translateY(-4px);
    outline: none;
  }
}

/* --- Obrázek: zaoblení nahoře (layout 1 + 2) --- */
.products-grid .product-miniature-default:not(.product-miniature-layout-3) .thumbnail-container {
  border-radius: calc(var(--m-radius-card) - 1px) calc(var(--m-radius-card) - 1px) 0 0;
  overflow: hidden;
}

.products-grid .product-miniature-default .product-thumbnail img {
  transition: transform 0.35s ease;
}

@media (hover: hover) {
  .products-grid .product-miniature-default:not(.product-miniature-layout-3):hover .product-thumbnail-first {
    transform: scale(1.02);
  }
}

/* --- Popis pod obrázkem --- */
.products-grid .product-miniature-default .product-description {
  padding: 1rem 1.1rem 1.15rem;
}

/* --- Název (max 2 řádky) --- */
.products-grid .product-miniature-default .product-title {
  font-size: 0.95rem;
  line-height: 1.35;
  margin-bottom: 0.45rem;
}

.products-grid .product-miniature-default .product-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--m-text);
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

@media (hover: hover) {
  .products-grid .product-miniature-default .product-title a:hover {
    color: var(--m-vinova);
  }
}

/* --- Cena --- */
.products-grid .product-miniature-default .product-price {
  color: var(--m-vinova);
  font-weight: 700;
  font-size: 1.05rem;
}

.products-grid .product-miniature-default .regular-price {
  color: var(--m-text-light);
  font-size: 0.88em;
  opacity: 0.85;
  text-decoration: line-through;
}

.products-grid .product-miniature-default .product-price-and-shipping {
  margin-top: 0.15rem;
}

/* --- Recenze / hvězdičky --- */
.products-grid .product-miniature-default .iqitreviews-simple {
  font-size: 0.82rem;
  margin-bottom: 0.35rem;
}

.products-grid .product-miniature-default .iqit-review-star {
  color: var(--m-zlatava);
}

.products-grid .product-miniature-default .iqitreviews-nb {
  color: var(--m-text-light);
}

/* --- Flags (jemné, brand) --- */
.products-grid .product-miniature-default .product-flags {
  top: 0.65rem;
  left: 0.65rem;
  pointer-events: none;
}

.products-grid .product-miniature-default .product-flags li.product-flag {
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  padding: 0.32rem 0.62rem;
  line-height: 1.2;
  box-shadow: 0 2px 8px rgba(127, 67, 94, 0.14);
}

.products-grid .product-miniature-default .product-flags li.product-flag.new {
  background: var(--m-pudrova);
  color: var(--m-vinova-tmava);
}

.products-grid .product-miniature-default .product-flags li.product-flag.discount,
.products-grid .product-miniature-default .product-flags li.product-flag.on-sale {
  background: var(--m-zlatava);
  color: #fff;
}

.products-grid .product-miniature-default .product-flags li.product-flag.online-only,
.products-grid .product-miniature-default .product-flags li.product-flag.pack {
  background: var(--m-staroruzova);
  color: #fff;
}

/* --- Quick view / functional buttons --- */
.products-grid .product-miniature-default .product-functional-buttons {
  background: rgba(255, 255, 255, 0.96) !important;
  border-radius: var(--m-radius-soft);
  box-shadow: var(--m-shadow);
}

.products-grid .product-miniature-default .product-functional-buttons a {
  color: var(--m-vinova) !important;
}

@media (hover: hover) {
  .products-grid .product-miniature-default .product-functional-buttons a:hover {
    color: var(--m-vinova-tmava) !important;
  }
}

/* --- Layout 2: cena vpravo --- */
.products-grid .product-miniature-layout-2 .product-miniature-right .product-price {
  font-size: 1.08rem;
}

/* --- Mobil --- */
@media (max-width: 767px) {
  .products-grid.row {
    margin-left: calc(var(--m-gap-grid) * -0.35);
    margin-right: calc(var(--m-gap-grid) * -0.35);
  }

  .products-grid.row > .js-product-miniature-wrapper,
  .products-grid.row > [class*="col-"],
  .products-grid.swiper .swiper-slide .js-product-miniature-wrapper {
    padding-left: calc(var(--m-gap-grid) * 0.35);
    padding-right: calc(var(--m-gap-grid) * 0.35);
    padding-bottom: calc(var(--m-gap-grid) * 0.85);
  }

  .products-grid .product-miniature-default .product-description {
    padding: 0.85rem 0.9rem 0.95rem;
  }

  .products-grid .product-miniature-default .product-title {
    font-size: 0.9rem;
  }

  .products-grid .product-miniature-default .product-price {
    font-size: 1rem;
  }
}

/* ==========================================================================
 * Matysek PS9 — Fáze 1d: kategorie / listing okolí gridu
 * Scope: #wrapper:has(#products) a #products
 * Nezasahuje: košík, checkout, produktové karty (1c), detail produktu
 * ========================================================================== */

/* --- Breadcrumb (jen listing stránky) --- */
#wrapper:has(#products) .breadcrumb {
  font-size: 0.85rem;
  color: var(--m-text-light);
  margin-bottom: 1.25rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

#wrapper:has(#products) .breadcrumb a {
  color: var(--m-text-light);
  text-decoration: none;
  transition: color 0.2s ease;
}

#wrapper:has(#products) .breadcrumb li:last-child span {
  color: var(--m-text);
}

@media (hover: hover) {
  #wrapper:has(#products) .breadcrumb a:hover {
    color: var(--m-vinova);
  }
}

#wrapper:has(#products) .breadcrumb li::after {
  color: var(--m-staroruzova);
  opacity: 0.55;
}

/* --- Nadpis kategorie / výsledku hledání --- */
#wrapper:has(#products) #main #js-product-list-header .page-title,
#wrapper:has(#products) #main h1#js-product-list-header.page-title {
  border-bottom: 1px solid var(--m-line);
  margin-bottom: 1.35rem;
  padding-bottom: 0.65rem;
}

#wrapper:has(#products) #main #js-product-list-header .page-title span,
#wrapper:has(#products) #main h1#js-product-list-header.page-title span {
  color: var(--m-vinova-tmava);
}

/* --- Kategorie header (jemně) --- */
#wrapper:has(#products) #main .category-image {
  border-radius: var(--m-radius-card);
  overflow: hidden;
  margin-bottom: 1.5rem;
}

#wrapper:has(#products) #main .category-description,
#wrapper:has(#products) #main .category-description-top {
  color: var(--m-text-light);
  margin-bottom: 1.5rem;
}

#wrapper:has(#products) #main .product-list-subcategories {
  margin-bottom: 1.75rem;
}

#wrapper:has(#products) #main .subcategory-name {
  color: var(--m-text);
  transition: color 0.2s ease;
}

@media (hover: hover) {
  #wrapper:has(#products) #main .subcategory-name:hover {
    color: var(--m-vinova);
  }
}

/* --- Toolbar výpisu --- */
#products #js-product-list-top.products-selection,
#products .products-selection {
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  padding: 0.75rem 1rem;
  margin: 0 0 1.5rem;
}

#products .products-selection .showing {
  color: var(--m-text-light);
  font-size: 0.88rem;
  margin-right: 0.65rem;
}

/* --- Grid / list přepínač --- */
#products .view-switcher a {
  display: inline-block;
  color: var(--m-text-light);
  opacity: 1;
  padding: 0.35rem 0.55rem;
  border-radius: 10px;
  transition: color 0.2s ease, background-color 0.2s ease;
}

#products .view-switcher a.current {
  color: var(--m-vinova);
  background: var(--m-pudrova);
}

@media (hover: hover) {
  #products .view-switcher a:hover {
    color: var(--m-vinova);
    background: rgba(248, 243, 245, 0.85);
  }

  #products .view-switcher a.current:hover {
    background: var(--m-pudrova);
  }
}

/* --- Selecty / dropdowny v toolbaru --- */
#products .products-selection .select-title.form-control {
  border: 1px solid var(--m-line);
  border-radius: 12px;
  background: #fff;
  color: var(--m-text);
  font-size: 0.88rem;
  padding: 0.35rem 0.75rem;
  min-height: auto;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#products .products-selection .select-title.form-control:focus,
#products .products-selection .select-title.form-control:focus-visible {
  border-color: var(--m-staroruzova);
  outline: 3px solid rgba(200, 143, 161, 0.35);
  outline-offset: 1px;
  box-shadow: none;
}

#products .products-selection .dropdown-menu {
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  box-shadow: var(--m-shadow);
  padding: 0.35rem;
}

#products .products-selection .dropdown-item {
  border-radius: 10px;
  font-size: 0.88rem;
  padding: 0.45rem 0.75rem;
}

#products .products-selection .dropdown-item.current,
#products .products-selection .dropdown-item:active {
  background: var(--m-pudrova);
  color: var(--m-vinova);
}

@media (hover: hover) {
  #products .products-selection .dropdown-item:hover {
    background: rgba(248, 243, 245, 0.9);
    color: var(--m-vinova);
  }
}

/* --- Aktivní filtry --- */
#products #js-active-search-filters.active_filters {
  margin-bottom: 1rem;
}

#products #active-search-filters {
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  padding: 0.65rem 0.85rem;
}

#products #active-search-filters .active-filter-title {
  color: var(--m-text-light);
  font-size: 0.88rem;
  font-weight: 600;
}

#products #active-search-filters .filter-block .btn {
  border-radius: 999px;
  font-size: 0.82rem;
}

#products #facets_search_center {
  background: var(--m-pudrova);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  padding: 1rem 1rem 0.25rem;
  margin-bottom: 1.25rem;
}

/* --- Pagination --- */
#products .pagination-wrapper-bottom {
  border-top: 1px solid var(--m-line);
  margin-top: 1.5rem;
  padding-top: 1.25rem;
}

#products .pagination {
  margin-top: 0;
}

#products .pagination .page-list li {
  border: 1px solid var(--m-line);
  border-radius: 12px;
  margin: 0 0.15rem;
  overflow: hidden;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

#products .pagination .page-list li.spacer {
  border: none;
  background: transparent;
}

#products .pagination .page-list li a {
  color: var(--m-text-light);
  padding: 0.45rem 0.8rem;
  transition: color 0.2s ease, background-color 0.2s ease;
}

#products .pagination .page-list li.current {
  background: var(--m-pudrova);
  border-color: var(--m-vinova);
}

#products .pagination .page-list li.current a {
  color: var(--m-vinova);
  font-weight: 600;
}

@media (hover: hover) {
  #products .pagination .page-list li:not(.spacer):not(.current):hover {
    border-color: var(--m-svetla-ruzova);
    background: rgba(255, 255, 255, 0.7);
  }

  #products .pagination .page-list li:not(.spacer):hover a {
    color: var(--m-vinova);
  }
}

#products .pagination .page-list li a:focus-visible {
  outline: 3px solid var(--m-staroruzova);
  outline-offset: 2px;
}

/* --- Prázdný stav --- */
#products .alert.alert-warning {
  background: var(--m-pudrova);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  color: var(--m-vinova-tmava);
  padding: 1.25rem 1.35rem;
  margin: 1.5rem 0;
}

/* --- Mobil --- */
@media (max-width: 767px) {
  #products #js-product-list-top.products-selection,
  #products .products-selection {
    padding: 0.65rem 0.75rem;
    margin-bottom: 1.15rem;
  }

  #products .products-selection .showing {
    display: block;
    margin-bottom: 0.5rem;
    margin-right: 0;
  }

  #products .view-switcher {
    margin-bottom: 0.25rem;
  }

  #products #active-search-filters {
    padding: 0.55rem 0.65rem;
  }

  #products .pagination .page-list li a {
    padding: 0.4rem 0.65rem;
  }

  #wrapper:has(#products) #main h1#js-product-list-header.page-title,
  #wrapper:has(#products) #main #js-product-list-header .page-title {
    margin-bottom: 1rem;
    font-size: 1.35rem;
  }
}

/* ==========================================================================
 * Matysek PS9 — Fáze 1e: CMS + blog typografie
 * Scope: body#cms, body[id*="module-ph_simpleblog"]
 * Nezasahuje: checkout, košík, produkt detail, produktové karty (1c)
 * ========================================================================== */

/* --- Společný prose kontejner (dlouhý text) --- */
body#cms .page-cms .rte-content,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor,
body[id*="module-ph_simpleblog"] .simpleblog__post__content,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte {
  max-width: var(--m-read-max);
  margin-left: auto;
  margin-right: auto;
  font-size: 17px;
  line-height: 1.72;
  color: var(--m-text);
}

body#cms .page-cms .rte-content p,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor p,
body[id*="module-ph_simpleblog"] .simpleblog__post__content p,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte p {
  margin-bottom: 1.15rem;
}

/* --- Nadpisy stránky (CMS + blog) --- */
body#cms #main .page-header .page-title,
body[id*="module-ph_simpleblog"] #main .page-header .page-title {
  border-bottom: 1px solid var(--m-line);
  margin-bottom: 1.35rem;
  padding-bottom: 0.65rem;
}

body#cms #main .page-header .page-title span,
body[id*="module-ph_simpleblog"] #main .page-header .page-title span {
  color: var(--m-vinova-tmava);
}

/* --- CMS box --- */
body#cms .page-cms {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  padding: 1.5rem 1.75rem;
  box-shadow: var(--m-shadow);
}

/* --- Prose: nadpisy v obsahu --- */
body#cms .page-cms .rte-content h2,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor h2,
body[id*="module-ph_simpleblog"] .simpleblog__post__content h2,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte h2 {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  color: var(--m-vinova-tmava);
  font-size: 1.45rem;
  margin-top: 2rem;
  margin-bottom: 0.85rem;
}

body#cms .page-cms .rte-content h3,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor h3,
body[id*="module-ph_simpleblog"] .simpleblog__post__content h3,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte h3 {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  color: var(--m-vinova);
  font-size: 1.2rem;
  margin-top: 1.5rem;
  margin-bottom: 0.7rem;
}

/* --- Prose: odkazy --- */
body#cms .page-cms .rte-content a:not(.btn):not(.nav-link),
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor a:not(.btn):not(.nav-link),
body[id*="module-ph_simpleblog"] .simpleblog__post__content a:not(.btn):not(.nav-link),
body[id*="module-ph_simpleblog"] .ph_cat_description.rte a:not(.btn):not(.nav-link) {
  color: var(--m-vinova);
  text-decoration: underline;
  text-decoration-color: rgba(127, 67, 94, 0.35);
  text-underline-offset: 2px;
  transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

@media (hover: hover) {
  body#cms .page-cms .rte-content a:not(.btn):not(.nav-link):hover,
  body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor a:not(.btn):not(.nav-link):hover,
  body[id*="module-ph_simpleblog"] .simpleblog__post__content a:not(.btn):not(.nav-link):hover,
  body[id*="module-ph_simpleblog"] .ph_cat_description.rte a:not(.btn):not(.nav-link):hover {
    color: var(--m-vinova-tmava);
    text-decoration-color: var(--m-vinova-tmava);
  }
}

/* --- Prose: seznamy --- */
body#cms .page-cms .rte-content ul,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor ul,
body[id*="module-ph_simpleblog"] .simpleblog__post__content ul,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte ul {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin-bottom: 1.15rem;
}

body#cms .page-cms .rte-content ol,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor ol,
body[id*="module-ph_simpleblog"] .simpleblog__post__content ol,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte ol {
  list-style-type: decimal;
  padding-left: 1.5rem;
  margin-bottom: 1.15rem;
}

body#cms .page-cms .rte-content li,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor li,
body[id*="module-ph_simpleblog"] .simpleblog__post__content li,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte li {
  margin-bottom: 0.4rem;
}

/* --- Prose: tabulky --- */
body#cms .page-cms .rte-content table,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor table,
body[id*="module-ph_simpleblog"] .simpleblog__post__content table,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte table {
  width: 100%;
  margin: 1.25rem 0 1.5rem;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  overflow: hidden;
  font-size: 0.95em;
}

body#cms .page-cms .rte-content th,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor th,
body[id*="module-ph_simpleblog"] .simpleblog__post__content th,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte th {
  background: var(--m-pudrova);
  color: var(--m-vinova-tmava);
  font-weight: 600;
  padding: 0.7rem 0.9rem;
  border-bottom: 1px solid var(--m-line);
}

body#cms .page-cms .rte-content td,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor td,
body[id*="module-ph_simpleblog"] .simpleblog__post__content td,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte td {
  padding: 0.65rem 0.9rem;
  border-bottom: 1px solid var(--m-line);
  vertical-align: top;
}

body#cms .page-cms .rte-content tr:last-child td,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor tr:last-child td,
body[id*="module-ph_simpleblog"] .simpleblog__post__content tr:last-child td,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte tr:last-child td {
  border-bottom: none;
}

/* --- Prose: obrázky --- */
body#cms .page-cms .rte-content img,
body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor img,
body[id*="module-ph_simpleblog"] .simpleblog__post__content img,
body[id*="module-ph_simpleblog"] .ph_cat_description.rte img,
body[id*="module-ph_simpleblog"] .simpleblog__post > img.img-fluid,
body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper .photo {
  border-radius: var(--m-radius-soft);
  max-width: 100%;
  height: auto;
}

/* --- Blog karty (výpis) --- */
body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper.cardblog.post-item {
  background: #fff;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow);
  overflow: hidden;
  margin-bottom: var(--m-gap-grid);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
  body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper.cardblog.post-item:hover {
    border-color: var(--m-svetla-ruzova);
    box-shadow: var(--m-shadow-lg);
    transform: translateY(-3px);
  }
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__content {
  padding: 1rem 1.1rem 0.85rem;
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__content__headline.post-title {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  border-bottom: 1px solid var(--m-line);
  margin-bottom: 0.75rem;
  padding-bottom: 0.65rem;
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__content__headline.post-title a {
  color: var(--m-vinova-tmava);
  text-decoration: none;
}

@media (hover: hover) {
  body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__content__headline.post-title a:hover {
    color: var(--m-vinova);
  }
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__content__readmore {
  color: var(--m-vinova);
  font-weight: 600;
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__footer {
  border-top: 1px solid var(--m-line);
  padding: 0.75rem 1.1rem 1rem;
  color: var(--m-text-light);
  font-size: 0.85rem;
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__footer a {
  color: var(--m-text-light);
}

@media (hover: hover) {
  body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__footer a:hover {
    color: var(--m-vinova);
  }
}

/* --- Blog subkategorie chipy --- */
body[id*="module-ph_simpleblog"] .blogSubcat__link.cardblog {
  background: var(--m-pudrova);
  border: 1px solid var(--m-line);
  border-radius: 999px;
  color: var(--m-vinova);
  padding: 0.45rem 0.9rem;
  text-transform: none;
}

@media (hover: hover) {
  body[id*="module-ph_simpleblog"] .blogSubcat__link.cardblog:hover {
    background: #e8d9df;
    color: var(--m-vinova-tmava);
  }
}

/* --- Blog detail: meta + hlavní box --- */
body[id*="module-ph_simpleblog"] .simpleblog__postInfo {
  max-width: var(--m-read-max);
  margin: 0 auto 1rem;
  color: var(--m-text-light);
  font-size: 0.88rem;
}

body[id*="module-ph_simpleblog"] .simpleblog__postInfo a {
  color: var(--m-vinova);
}

body[id*="module-ph_simpleblog"] .simpleblog__postInfo li::after {
  background: var(--m-line);
}

body[id*="module-ph_simpleblog"] .simpleblog__post.cardblog {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow);
  padding: 1.25rem 1.5rem 1.5rem;
}

body[id*="module-ph_simpleblog"] .simpleblog__post__content.card-block {
  padding: 0.5rem 0 0;
}

/* --- Blog pagination --- */
body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination {
  margin-top: 1.75rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--m-line);
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination .page-list li {
  border: 1px solid var(--m-line);
  border-radius: 12px;
  margin: 0 0.15rem;
  overflow: hidden;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination .page-list li a {
  color: var(--m-text-light);
  padding: 0.45rem 0.8rem;
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination .page-list li.current {
  background: var(--m-pudrova);
  border-color: var(--m-vinova);
}

body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination .page-list li.current a {
  color: var(--m-vinova);
  font-weight: 600;
}

@media (hover: hover) {
  body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination .page-list li:not(.current):hover {
    border-color: var(--m-svetla-ruzova);
    background: rgba(255, 255, 255, 0.7);
  }

  body[id*="module-ph_simpleblog"] .simpleblog__listing__pagination .page-list li:not(.current):hover a {
    color: var(--m-vinova);
  }
}

/* --- Prázdný stav blogu --- */
body[id*="module-ph_simpleblog"] .simpleblog__listing .alert.alert-warning {
  background: var(--m-pudrova);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  color: var(--m-vinova-tmava);
  padding: 1.25rem 1.35rem;
}

/* --- Blog kategorie header box --- */
body[id*="module-ph_simpleblog"] .simpleblog__listing > .cardblog:not(.post-item) {
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}

/* --- Mobil --- */
@media (max-width: 767px) {
  body#cms .page-cms {
    padding: 1.1rem 1.15rem;
  }

  body#cms .page-cms .rte-content,
  body#cms .page-cms .elementor-widget-text-editor .elementor-text-editor,
  body[id*="module-ph_simpleblog"] .simpleblog__post__content,
  body[id*="module-ph_simpleblog"] .ph_cat_description.rte {
    font-size: 16px;
    line-height: 1.68;
  }

  body[id*="module-ph_simpleblog"] .simpleblog__post.cardblog {
    padding: 1rem 1.1rem 1.15rem;
  }

  body[id*="module-ph_simpleblog"] .simpleblog__listing__post__wrapper__content {
    padding: 0.85rem 0.9rem 0.75rem;
  }
}

/* ==========================================================================
 * Matysek PS9 — Fáze 1f: detail produktu (jemný polish)
 * Scope: body#product
 * Nezasahuje: košík, checkout, listing 1d, CMS/blog 1e, karty 1c
 * ========================================================================== */

/* --- H1 produktu --- */
body#product .product_header_container .page-title {
  border-bottom: 1px solid var(--m-line);
  margin-bottom: 1rem;
  padding-bottom: 0.55rem;
}

body#product .product_header_container .page-title span {
  color: var(--m-vinova-tmava);
}

/* --- Galerie --- */
body#product .images-container {
  background: #fff;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow);
  padding: 0.75rem;
  margin-bottom: 1.5rem;
}

body#product .product-cover {
  border-radius: calc(var(--m-radius-card) - 4px);
  overflow: hidden;
}

body#product .product-cover .expander > span {
  border-radius: 10px;
  box-shadow: var(--m-shadow);
}

body#product .product-images .thumb,
body#product .thumb-container .thumb {
  border-radius: 12px;
  border: 2px solid transparent;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}

body#product .product-images .thumb.selected,
body#product .product-images .thumb.js-thumb-selected {
  border-color: var(--m-vinova);
}

/* --- Pravý nákupní sloupec --- */
body#product #col-product-info {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow);
  padding: 1.25rem 1.35rem;
}

/* --- Cena --- */
body#product .product-prices .current-price,
body#product .product-prices .current-price-value {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--m-vinova);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.15;
}

body#product .product-discount .regular-price {
  color: var(--m-text-light);
  font-size: 1rem;
  opacity: 0.9;
}

body#product .product-prices .badge-discount.discount {
  background: var(--m-zlatava);
  color: #fff;
  border-radius: 999px;
  font-weight: 600;
}

/* --- Dostupnost --- */
body#product #product-availability.badge-success.product-available {
  background: var(--m-pudrova);
  color: var(--m-vinova-tmava);
  border: 1px solid var(--m-line);
  font-weight: 600;
}

body#product #product-availability.badge-warning.product-last-items {
  background: rgba(192, 138, 79, 0.15);
  color: var(--m-vinova-tmava);
  border: 1px solid rgba(192, 138, 79, 0.35);
}

body#product #product-availability.badge-danger.product-unavailable {
  border: 1px solid var(--m-line);
}

/* --- Krátký popis (spacing only — SVG nechat modulu) --- */
body#product [id^="product-description-short-"].product-description {
  margin-bottom: 1.15rem;
  padding: 0.85rem 1rem;
  background: rgba(248, 243, 245, 0.65);
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  line-height: 1.65;
  color: var(--m-text);
}

/* --- Varianty --- */
body#product .product-variants > .product-variants-item {
  margin-bottom: 0.85rem;
}

body#product .product-variants .form-control-label {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--m-vinova-tmava);
  font-weight: 600;
  font-size: 0.92rem;
}

body#product .product-variants .form-control-select {
  border: 1px solid var(--m-line);
  border-radius: 12px;
  background: #fff;
}

body#product .product-variants .radio-label {
  border: 1px solid var(--m-line);
  border-radius: 999px;
  padding: 0 0.8rem;
  background: #fff;
  color: var(--m-text);
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

body#product .product-variants .input-radio:checked + .radio-label {
  border-color: var(--m-vinova);
  background: var(--m-pudrova);
  color: var(--m-vinova-tmava);
}

body#product .product-variants .input-color:checked + span.color,
body#product .product-variants .input-color:checked + span.texture,
body#product .product-variants .input-color:hover + span.color,
body#product .product-variants .input-color:hover + span.texture {
  outline: 2px solid var(--m-vinova);
  outline-offset: 2px;
  border-color: transparent;
}

/* --- Množství --- */
body#product .product-quantity .qty input,
body#product #quantity_wanted {
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  background: #fff;
  color: var(--m-text);
  text-align: center;
  min-height: 46px;
}

body#product .product-quantity .bootstrap-touchspin .btn {
  border-color: var(--m-line);
  color: var(--m-vinova);
  border-radius: 10px;
}

/* --- Add to cart + wishlist/compare --- */
body#product .product-add-to-cart {
  padding-top: 1rem;
}

body#product .product-add-to-cart .add-to-cart.btn-lg {
  min-height: 48px;
  padding-left: 1.35rem;
  padding-right: 1.35rem;
}

body#product .btn-iqitwishlist-add,
body#product .btn-iqitcompare-add {
  border-radius: var(--m-radius-soft);
  min-width: 48px;
  min-height: 48px;
}

/* --- Tabs (horizontální) --- */
body#product .product-tabs .nav-tabs {
  border-bottom: 1px solid var(--m-line);
  gap: 0.2rem;
}

body#product .product-tabs .nav-tabs .nav-link {
  border: none;
  border-radius: var(--m-radius-soft) var(--m-radius-soft) 0 0;
  background: transparent;
  color: var(--m-text-light);
  padding: 0.85rem 1.05rem;
  font-weight: 600;
  transition: color 0.2s ease, background-color 0.2s ease;
}

body#product .product-tabs .nav-tabs .nav-link.active,
body#product .product-tabs .nav-tabs .nav-link.active:hover {
  color: var(--m-vinova);
  background: rgba(255, 255, 255, 0.8);
  border-bottom: 2px solid var(--m-vinova);
}

@media (hover: hover) {
  body#product .product-tabs .nav-tabs .nav-link:hover {
    color: var(--m-vinova);
    background: rgba(248, 243, 245, 0.7);
  }
}

body#product .product-tabs .tab-content {
  padding: 1.5rem 0 0.5rem;
}

/* --- Obsah tabů (čtecí styl) --- */
body#product .product-tabs .rte-content,
body#product .product-tabs .product-description .rte-content {
  max-width: var(--m-read-max);
  font-size: 16px;
  line-height: 1.72;
  color: var(--m-text);
}

body#product .product-tabs .rte-content p {
  margin-bottom: 1rem;
}

body#product .product-tabs .rte-content a:not(.btn):not(.nav-link) {
  color: var(--m-vinova);
  text-decoration: underline;
  text-decoration-color: rgba(127, 67, 94, 0.35);
}

body#product .product-tabs .rte-content img {
  border-radius: var(--m-radius-soft);
  max-width: 100%;
  height: auto;
}

body#product .product-tabs .rte-content table {
  width: 100%;
  margin: 1rem 0 1.25rem;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  overflow: hidden;
  background: #fff;
}

body#product .product-tabs .rte-content th {
  background: var(--m-pudrova);
  color: var(--m-vinova-tmava);
  padding: 0.65rem 0.85rem;
}

body#product .product-tabs .rte-content td {
  padding: 0.6rem 0.85rem;
  border-top: 1px solid var(--m-line);
}

/* --- Accordion tabs --- */
body#product .iqit-accordion .card {
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  margin-bottom: 0.55rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.65);
}

body#product .iqit-accordion .title {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--m-vinova-tmava);
  font-weight: 700;
}

body#product .iqit-accordion .content .rte-content {
  font-size: 16px;
  line-height: 1.72;
  max-width: var(--m-read-max);
}

/* --- Vlastnosti / detaily --- */
body#product .product-features > dl.data-sheet {
  background: #fff;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  padding: 0.85rem 1rem;
}

body#product .product-features dt.name {
  color: var(--m-vinova-tmava);
  font-weight: 600;
}

body#product .product-features dd.value {
  color: var(--m-text);
}

body#product .product-attachments .attachment {
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--m-line);
}

body#product .product-attachments .attachment a {
  color: var(--m-vinova);
}

/* --- Související produkty: jen nadpis sekce --- */
body#product .product-accessories .section-title,
body#product .product-accessories .block-title {
  font-family: 'Karla', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: var(--m-vinova-tmava);
  margin-bottom: 1.15rem;
}

/* --- Mobil --- */
@media (max-width: 767px) {
  body#product #col-product-info {
    padding: 1rem 1.05rem;
    margin-top: 0.5rem;
  }

  body#product .images-container {
    padding: 0.5rem;
  }

  body#product .product-prices .current-price-value {
    font-size: 1.45rem;
  }

  body#product .product-tabs .nav-tabs .nav-link {
    padding: 0.75rem 0.85rem;
  }
}

/* ==========================================================================
 * Matysek PS9 — Fáze 2g: homepage polish (IQIT Elementor layout ID 2)
 * Scope: body#index .page-home / body#index .matysek-*
 * Nezasahuje: katalog, CMS, blog, detail, košík, checkout, footer
 * ========================================================================== */

/* --- Homepage wrapper: méně vzduchu nad hero --- */
body#index #wrapper {
  padding-top: 0.5rem;
}

/* --- Sjednocený vertikální rytmus sekcí --- */
body#index .page-home .elementor-section[class*="matysek-"] {
  padding-top: var(--m-section-y);
  padding-bottom: var(--m-section-y);
}

/* --- HERO --- */
body#index .matysek-hero-home .elementor-widget-image img {
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow-lg);
}

body#index .matysek-hero-home h1.elementor-heading-title {
  font-size: clamp(1.85rem, 3.6vw, 2.65rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--m-vinova-tmava);
}

body#index .matysek-hero-home .elementor-text-editor {
  color: var(--m-text);
  max-width: 34rem;
}

body#index .matysek-hero-home > .elementor-container > .elementor-row > .elementor-column:first-child .elementor-widget-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.75rem;
  align-items: flex-start;
}

body#index .matysek-hero-home .elementor-widget-button .elementor-widget-container {
  margin: 0;
}

/* --- TRUST STRIP --- */
body#index .matysek-trust-strip .elementor-element-populated {
  border-radius: var(--m-radius-soft);
  box-shadow: 0 4px 18px rgba(127, 67, 94, 0.07);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
  body#index .matysek-trust-strip .elementor-column:hover .elementor-element-populated {
    box-shadow: var(--m-shadow);
    transform: translateY(-2px);
  }
}

body#index .matysek-trust-strip .elementor-icon-box-icon .elementor-icon {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--m-pudrova);
}

body#index .matysek-trust-strip .elementor-icon-box-title {
  font-family: 'Karla', sans-serif;
  font-size: 1rem;
}

/* --- PRODUKTY (jen spacing + nadpisy, karty = fáze 1c) --- */
body#index .matysek-products-home .elementor-heading-title {
  color: var(--m-vinova-tmava);
}

body#index .matysek-products-home .elementor-divider-separator {
  border-top-color: var(--m-vinova);
  opacity: 0.35;
}

body#index .matysek-products-home .elementor-text-editor {
  color: var(--m-text-light);
}

body#index .matysek-products-home .elementor-products {
  margin-top: 0.25rem;
}

body#index .matysek-products-home .elementor-widget-button {
  margin-top: 0.5rem;
}

/* --- NEWSLETTER: čitelnost (legacy bílý container color) --- */
body#index .matysek-newsletter-home .elementor-container {
  color: var(--m-text);
}

body#index .matysek-newsletter-home h6.elementor-heading-title {
  color: var(--m-vinova);
}

body#index .matysek-newsletter-home h2.elementor-heading-title {
  color: var(--m-vinova-tmava);
}

body#index .matysek-newsletter-home .elementor-text-editor {
  color: var(--m-text);
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}

body#index .matysek-newsletter-home .elementor-newsletter-form {
  margin-left: auto;
  margin-right: auto;
}

/* --- O MARCELE --- */
body#index .matysek-about-home .elementor-widget-image img {
  border-radius: var(--m-radius-card);
  box-shadow: var(--m-shadow);
}

body#index .matysek-about-home .elementor-element-populated {
  border-radius: var(--m-radius-soft);
}

body#index .matysek-about-home .elementor-text-editor {
  color: var(--m-text);
}

/* --- KATEGORIE DLAŽDICE (fáze 3.3) --- */
body#index .matysek-category-tiles-home .matysek-tile.elementor-column > .elementor-element-populated {
  height: 100%;
  box-shadow: 0 6px 18px rgba(94, 47, 67, 0.06);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

body#index .matysek-category-tiles-home .matysek-tile.elementor-column:hover > .elementor-element-populated {
  box-shadow: 0 10px 24px rgba(94, 47, 67, 0.1);
  transform: translateY(-2px);
}

body#index .matysek-category-tiles-home .matysek-tile-image img {
  border-radius: 10px;
  width: 100%;
  height: auto;
  display: block;
}

body#index .matysek-category-tiles-home .matysek-tile-title .elementor-heading-title,
body#index .matysek-category-tiles-home .matysek-tile-title a {
  text-decoration: none;
}

body#index .matysek-category-tiles-home .matysek-tile--kurz .matysek-tile-title .elementor-heading-title,
body#index .matysek-category-tiles-home .matysek-tile--kurz .matysek-tile-title a {
  color: #ffffff;
}

body#index .matysek-category-tiles-home .matysek-tile--kurz .matysek-tile-text,
body#index .matysek-category-tiles-home .matysek-tile--kurz .matysek-tile-text p {
  color: #ffffff;
}

body#index .matysek-category-tiles-home .elementor-row {
  align-items: stretch;
}

/* --- PRŮVODCE VÝBĚREM (fáze 3.4) --- */
body#index .matysek-choice-guide-home .matysek-choice-guide {
  max-width: 1100px;
  margin: 0 auto;
  padding: 8px 12px 4px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide h2 {
  font-weight: 700;
  font-size: 1.5rem;
  color: #5e2f43;
  text-align: center;
  margin: 0 0 6px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__sub {
  text-align: center;
  color: #2a1f25;
  font-size: 1rem;
  margin: 0 0 20px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__card {
  flex: 1 1 230px;
  max-width: 260px;
  background: #faf6f2;
  border: 1px solid #efdde5;
  border-radius: 16px;
  padding: 20px;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__card:hover {
  box-shadow: 0 8px 20px rgba(94, 47, 67, 0.08);
  transform: translateY(-2px);
  border-color: #e4c9d4;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__card:focus-visible {
  outline: 2px solid #7f435e;
  outline-offset: 3px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__card-title {
  font-weight: 700;
  color: #5e2f43;
  font-size: 1.05rem;
  margin: 0 0 8px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__card-text {
  color: #2a1f25;
  font-size: 0.94rem;
  line-height: 1.55;
  margin: 0 0 10px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__card-cta {
  color: #7f435e;
  font-weight: 600;
  font-size: 0.94rem;
  margin: 0;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__note {
  text-align: center;
  font-size: 0.95rem;
  color: #5b4750;
  margin: 18px 0 0;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__note a {
  color: #7f435e;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body#index .matysek-choice-guide-home .matysek-choice-guide__note strong {
  color: #5e2f43;
}

@media (max-width: 991px) {
  body#index .matysek-choice-guide-home .matysek-choice-guide__card {
    flex: 1 1 calc(50% - 14px);
    max-width: none;
  }
}

@media (max-width: 575px) {
  body#index .matysek-choice-guide-home .matysek-choice-guide h2 {
    font-size: 1.3rem;
  }

  body#index .matysek-choice-guide-home .matysek-choice-guide__card {
    flex: 1 1 100%;
  }
}

/* --- PORADNA / LEAD MAGNET / PŘEDPATIČKA (fáze 3.9) --- */
body#index .matysek-poradna-home .matysek-poradna-home__title .elementor-heading-title {
  color: #5e2f43;
}

body#index .matysek-poradna-home .matysek-poradna-home__sub {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  color: #2a1f25;
}

body#index .matysek-poradna-home .simpleblog-posts,
body#index .matysek-poradna-home .posts-grid {
  margin-top: 0.5rem;
}

body#index .matysek-leadmagnet-home .matysek-leadmagnet {
  max-width: 760px;
  margin: 0 auto;
  background: #fef7f0;
  border: 1px solid #efdde5;
  border-radius: 18px;
  padding: 26px 28px;
  text-align: center;
}

body#index .matysek-leadmagnet-home .matysek-leadmagnet__title {
  font-weight: 700;
  font-size: 1.25rem;
  color: #5e2f43;
  margin: 0 0 8px;
  line-height: 1.35;
}

body#index .matysek-leadmagnet-home .matysek-leadmagnet__text {
  font-size: 1rem;
  color: #2a1f25;
  line-height: 1.6;
  margin: 0 0 16px;
}

body#index .matysek-leadmagnet-home .matysek-leadmagnet__cta {
  display: inline-block;
  background: #7f435e;
  color: #ffffff;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 999px;
  text-decoration: none;
}

body#index .matysek-leadmagnet-home .matysek-leadmagnet__cta:hover,
body#index .matysek-leadmagnet-home .matysek-leadmagnet__cta:focus {
  color: #ffffff;
  opacity: 0.92;
}

body#index .matysek-prefooter-trust-home .matysek-prefooter-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 22px;
  text-align: center;
  color: #5e2f43;
  font-size: 0.95rem;
  line-height: 1.45;
  font-weight: 600;
}

body#index .matysek-prefooter-trust-home .matysek-prefooter-trust a {
  color: #7f435e;
  text-decoration: underline;
  text-underline-offset: 2px;
}

@media (max-width: 767px) {
  body#index .matysek-leadmagnet-home .matysek-leadmagnet {
    padding: 22px 18px;
  }

  body#index .matysek-leadmagnet-home .matysek-leadmagnet__title {
    font-size: 1.1rem;
  }

  body#index .matysek-prefooter-trust-home .matysek-prefooter-trust {
    flex-direction: column;
    gap: 8px;
    font-size: 0.92rem;
  }
}

/* --- PELÍŠKOVÁNÍ® + KURZ (fáze 3.7) --- */
body#index .matysek-peliskovani-home .matysek-peliskovani-home__video {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(94, 47, 67, 0.1);
  background: #f0e8e4;
  object-fit: cover;
  aspect-ratio: 16 / 10;
}

body#index .matysek-peliskovani-home .matysek-peliskovani-home__title .elementor-heading-title {
  color: #5e2f43;
  line-height: 1.25;
}

body#index .matysek-peliskovani-home .matysek-peliskovani-home__text {
  color: #2a1f25;
  line-height: 1.65;
}

body#index .matysek-peliskovani-home .matysek-peliskovani-home__note {
  font-size: 0.9rem;
  color: #5b4750;
}

body#index .matysek-peliskovani-home .matysek-peliskovani-home__note p {
  margin: 0;
}

body#index .matysek-peliskovani-home .elementor-row {
  align-items: center;
}

@media (max-width: 767px) {
  body#index .matysek-peliskovani-home .matysek-peliskovani-home__video {
    aspect-ratio: 4 / 3;
  }

  body#index .matysek-peliskovani-home .matysek-peliskovani-home__title .elementor-heading-title {
    font-size: 1.35rem;
  }

  body#index .matysek-peliskovani-home .matysek-peliskovani-home__copy {
    margin-top: 0.25rem;
  }
}

/* --- RECENZE: jemné karty --- */
body#index .matysek-reviews-home .elementor-divider-separator {
  border-top-color: var(--m-vinova);
  opacity: 0.35;
}

body#index .matysek-reviews-home .elementor-text-editor {
  color: var(--m-text-light);
}

body#index .matysek-reviews-home .elementor-testimonial-wrapper {
  background: #fff;
  border: 1px solid var(--m-line);
  border-radius: var(--m-radius-soft);
  box-shadow: 0 4px 16px rgba(127, 67, 94, 0.06);
  padding: 1.35rem 1.15rem;
  height: 100%;
}

body#index .matysek-reviews-home .elementor-testimonial-content {
  color: var(--m-text);
  font-size: 0.98rem;
  line-height: 1.6;
}

body#index .matysek-reviews-home .elementor-testimonial-name {
  color: var(--m-vinova);
  font-weight: 600;
  margin-top: 0.85rem;
}

body#index .matysek-reviews-home .swiper-pagination-bullet {
  background: var(--m-svetla-ruzova);
  opacity: 1;
}

body#index .matysek-reviews-home .swiper-pagination-bullet-active {
  background: var(--m-vinova);
}

/* --- MOBIL --- */
@media (max-width: 767px) {
  body#index #wrapper {
    padding-top: 0.25rem;
  }

  body#index .page-home .elementor-section[class*="matysek-"] {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  body#index .matysek-hero-home h1.elementor-heading-title {
    font-size: 1.75rem;
  }

  body#index .matysek-trust-strip .elementor-element-populated {
    margin-bottom: 0.75rem;
  }

  body#index .matysek-about-home > .elementor-container {
    min-height: 0;
  }

  body#index .matysek-about-home .elementor-widget-image {
    margin-bottom: 1rem;
  }

  body#index .matysek-reviews-home .elementor-testimonial-wrapper {
    padding: 1.1rem 1rem;
  }
}

/* ==========================================================================
 * HOMEPAGE HEADER POLISH (fáze 3.11a)
 * Scope: body#index only — gap pod menu + full-width nav feel
 * ========================================================================== */

body#index #wrapper {
  padding-top: 0;
}

body#index .page-home .matysek-hero-home.elementor-section {
  padding-top: 0;
}

body#index #header,
body#index #desktop-header,
body#index #desktop-header-container,
body#index .iqit-megamenu-container {
  background: var(--m-bezova);
}

body#index .iqit-megamenu-container {
  margin-bottom: 0;
  padding-bottom: 0;
}

@media (max-width: 767px) {
  body#index #wrapper {
    padding-top: 0;
  }

  body#index .page-home .matysek-hero-home.elementor-section {
    padding-top: 0;
  }
}

/* ==========================================================================
 * HOMEPAGE PELÍŠKOVÁNÍ VIDEO PORTRAIT (fáze 3.11e)
 * Scope: body#index .matysek-peliskovani-home — landscape zdroj → portrait ořez
 * Pozn.: 4/5 místo 9/16 — méně ořezává obličej/torso u landscape 720p zdroje
 * ========================================================================== */

body#index .matysek-peliskovani-home video.matysek-peliskovani-home__video {
  width: 100%;
  max-width: 360px;
  aspect-ratio: 4 / 5;
  max-height: 520px;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0 auto;
}

@media (max-width: 767px) {
  body#index .matysek-peliskovani-home video.matysek-peliskovani-home__video {
    max-width: 280px;
    aspect-ratio: 4 / 5;
    max-height: none;
  }
}
