/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

.header.elementor-sticky--effects {
	background: var(--e-global-color-ad28e77);
}

.header.elementor-sticky--effects .elementor-nav-menu--main .elementor-item {
	color: var(--e-global-color-bbe7246) !important;
}

.header.elementor-sticky--effects .order-cart .elementor-button {
	background-color: var(--e-global-color-2d79057);
    color: var(--e-global-color-ff2f261);
}

.header.elementor-sticky--effects .inquiry-cart .elementor-button {
	background-color: var(--e-global-color-3f77e0f);
    color: var(--e-global-color-bbe7246);
}

.header.elementor-sticky--effects svg.logo *, .footer-logo *, .header-logo * {
    fill: var(--e-global-color-46b8cc4) !important;
}

.relative-header .order-cart svg *, .relative-header .order-cart svg * {
    stroke: var(--e-global-color-ff2f261);
}

.relative-header .inquiry-cart svg *, .header .inquiry-cart svg * {
    stroke: var(--e-global-color-bbe7246);
}

.header .inquiry-cart svg * {
    stroke: var(--e-global-color-ff2f261);
}

.header.elementor-sticky--effects .inquiry-cart svg * {
    stroke: var(--e-global-color-bbe7246);
}

.header.elementor-sticky--effects .order-cart svg * {
    stroke: var(--e-global-color-ff2f261);
}

.no-margin p:last-of-type, .elementor-tab-content p:last-of-type {
    margin-bottom: 0;
}

.elementor-image-carousel .swiper-slide {
    height: stretch !important;
  }

  .elementor-image-carousel .swiper-slide-inner {
    display: flex !important;
    width: 100%;
    height: 100%;
  }

  .elementor-image-carousel .swiper-slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover !important;
  }

.swiper-pagination-bullet {
    width: 12px !important;
    height: 12px !important;
    background: #e5e5e5 !important;
    opacity: 1 !important;
    border-radius: 9999px !important;
    margin: 0 6px !important;
    transition: width 0.3s ease, background 0.3s ease;
  }

  .swiper-pagination-bullet-active {
    width: 32px !important;
    background: #004cfe !important;
  }

.elementor-image-carousel {
	margin-bottom: 24px;
}

/* Reset Hello Elementor table styles */
  .mtz-info-table table td,
  .mtz-info-table table th {
      border: none !important;
      line-height: normal !important;
      padding: 16px 24px !important;
  }

  .mtz-info-table table tbody > tr:nth-child(odd) > td,
  .mtz-info-table table tbody > tr:nth-child(odd) > th {
      background-color: #ECF0F3 !important;
  }

/* === Matezex Info Tables === */

  .mtz-info-table {
      border-radius: 16px;
      overflow: hidden;
  }

  /* Modrý header */
  .mtz-info-table__header {
      background: #004cfe;
      color: #fff;
      font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
      font-size: 20px;
      font-weight: 500;
      font-style: normal;
      line-height: normal;
      padding: 8px 24px;
      min-height: 44px;
      display: flex;
      align-items: center;
  }

  .mtz-info-table table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
  }

  /* Thead */
  .mtz-info-table thead th {
      background: #d9e1e7;
      color: var(--Unipap-blue-02, #000F26);
      font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
      font-size: var(--font-size-font-size-m, 16px);
      font-style: normal;
      font-weight: 500;
      line-height: normal;
      text-align: left;
      padding: 16px 24px;
      border-bottom: 1px solid var(--color-neutral-L-100, #FFF);
  }

  /* Všechny datové buňky - stejná barva, bílý border */
  .mtz-info-table tbody td {
      background: #ECF0F3;
      color: var(--Unipap-blue-02, #000F26);
      font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
      font-size: var(--font-size-font-size-m, 16px);
      font-style: normal;
      font-weight: 400;
      line-height: normal;
      padding: 16px 24px;
      border-bottom: 1px solid var(--color-neutral-L-100, #FFF);
      vertical-align: top;
  }

  /* Poslední řádek - bez borderu + zaoblení */
  .mtz-info-table tbody tr:last-child td {
      border-bottom: none;
  }

  .mtz-info-table tbody tr:last-child td:first-child {
      border-bottom-left-radius: 16px;
  }

  .mtz-info-table tbody tr:last-child td:last-child {
      border-bottom-right-radius: 16px;
  }

  /* Sloupec Materiál - fixní šířka */
  .mtz-info-table--material thead th:first-child,
  .mtz-info-table--material tbody td:first-child {
      width: 40%;
  }

  /* Bullet list ve vlastnostech */
  .mtz-info-table tbody td ul {
      margin: 0;
      padding-left: 20px;
      list-style-type: disc;
  }

  .mtz-info-table tbody td li {
      margin-bottom: 0;
      line-height: normal;
      font-size: var(--font-size-font-size-m, 16px);
  }

  /* Odkazy */
  .mtz-info-table tbody td a {
      color: var(--Unipap-blue-02, #000F26);
      text-decoration: underline;
  }

  .mtz-info-table tbody td a:hover {
      color: #004cfe;
  }

/* === Matezex Team Table === */

  .mtz-info-table--team thead th:first-child,
  .mtz-info-table--team tbody td:first-child {
      width: 20%;
      white-space: nowrap;
  }

  .mtz-info-table--team thead th:last-child,
  .mtz-info-table--team tbody td:last-child {
      width: 22%;
      white-space: nowrap;
  }

  .mtz-info-table--team tbody td:first-child strong {
      display: block;
      font-weight: 600;
  }

  .mtz-team-position {
      display: block;
      font-size: 13px;
      font-weight: 400;
      color: #52697a;
      margin-top: 2px;
  }

  /* 3px nahoře i dole: odkaz měl 19 px na výšku a telefon s e-mailem na sebe
     těsně navazovaly. WCAG 2.2 (2.5.8) chce cíl aspoň 24 px. */
  .mtz-team-phone {
      display: block;
      padding: 3px 0;
      font-weight: 600;
      color: #0a0d0f !important;
      text-decoration: none !important;
  }

  .mtz-team-phone:hover {
      color: #004cfe !important;
  }

  .mtz-team-email {
      display: block;
      padding: 3px 0;
      font-weight: 400;
      color: #004cfe !important;
      text-decoration: none !important;
  }

  .mtz-team-email:hover {
      text-decoration: underline !important;
  }
/* Mobilní menu toggle (hamburger) — po sticky přebarvení transparent headeru
   přepnout z bílé na tmavou, stejně jako položky menu výše. */
.header.elementor-sticky--effects .elementor-menu-toggle {
	color: var(--e-global-color-bbe7246) !important;
}

.header.elementor-sticky--effects .elementor-menu-toggle svg {
	fill: var(--e-global-color-bbe7246) !important;
}

/* ============================================================
   RESPONZIVITA INFO-TABULEK NA MOBILU (≤ 767 px)
   Desktop i tablet zůstávají beze změny. Na mobilu se žádná
   tabulka vodorovně neposouvá ani neořezává — každý řádek se
   mění na přehlednou kartu (card view > horizontal scroll).
   Sloupce se skládají pod sebe jako „popisek : hodnota".
   ============================================================ */
@media (max-width: 767px) {

	/* Bezpečnostní síť pro případné DALŠÍ (nestylované) tabulky:
	   nikdy neořezávat obsah — v nejhorším vodorovný scroll.
	   Tři známé tabulky níže si to přepisují na karty. */
	.mtz-info-table table {
		display: block;
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	/* Kompaktnější modrý header */
	.mtz-info-table__header {
		font-size: 17px;
		padding: 10px 16px;
		min-height: 40px;
	}

	/* ---- Společné pro karty: hlavička skrytá, řádek = karta ---- */
	.mtz-info-table--team table,
	.mtz-info-table--material table,
	.mtz-info-table--rozmery table,
	.mtz-info-table--normy table {
		overflow: visible;
	}

	.mtz-info-table--team thead,
	.mtz-info-table--material thead,
	.mtz-info-table--rozmery thead,
	.mtz-info-table--normy thead {
		display: none;
	}

	.mtz-info-table--team tbody,
	.mtz-info-table--material tbody,
	.mtz-info-table--rozmery tbody,
	.mtz-info-table--normy tbody {
		display: block;
	}

	.mtz-info-table--team table tbody > tr,
	.mtz-info-table--material table tbody > tr,
	.mtz-info-table--rozmery table tbody > tr,
	.mtz-info-table--normy table tbody > tr {
		display: block;
		padding: 16px 18px;
		background: #fff;
		border-bottom: 1px solid #d9e1e7;
	}

	.mtz-info-table--team table tbody > tr:last-child,
	.mtz-info-table--material table tbody > tr:last-child,
	.mtz-info-table--rozmery table tbody > tr:last-child,
	.mtz-info-table--normy table tbody > tr:last-child {
		border-bottom: none;
	}

	/* Reset buněk – přebíjí Hello/Elementor !important i pruhování řádků.
	   :nth-child(n) zvyšuje specificitu na úroveň pruhovacího pravidla. */
	.mtz-info-table--team table tbody > tr:nth-child(n) > td,
	.mtz-info-table--material table tbody > tr:nth-child(n) > td,
	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td,
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td {
		display: block;
		width: auto !important;
		white-space: normal !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		padding: 0 !important;
	}

	/* =================== TÝM / KONTAKTY =================== */
	/* Jméno + pozice */
	.mtz-info-table--team table tbody > tr:nth-child(n) > td:first-child {
		font-size: 17px;
		line-height: 1.3;
	}

	/* Specializace – s drobným popiskem nad textem */
	.mtz-info-table--team table tbody > tr:nth-child(n) > td:nth-child(2) {
		margin-top: 12px !important;
		padding-top: 12px !important;
		border-top: 1px solid #eef1f4 !important;
		color: #3a4a57;
		font-size: 14px;
		line-height: 1.45;
	}

	.mtz-info-table--team table tbody > tr:nth-child(n) > td:nth-child(2)::before {
		content: "Specializace";
		display: block;
		margin-bottom: 3px;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: .05em;
		text-transform: uppercase;
		color: #90a3b0;
	}

	/* Telefon + e-mail */
	.mtz-info-table--team table tbody > tr:nth-child(n) > td:last-child {
		margin-top: 12px !important;
		padding-top: 12px !important;
		border-top: 1px solid #eef1f4 !important;
	}

	.mtz-info-table--team .mtz-team-phone,
	.mtz-info-table--team .mtz-team-email {
		font-size: 15px;
		line-height: 1.5;
		padding: 4px 0;
	}

	.mtz-info-table--team .mtz-team-email {
		word-break: break-word;
	}

	/* Ikony přes ::before content(url) – odolné vůči Elementor lazy-loadu,
	   který na sekcích mimo viewport nuluje background-image přes !important. */
	.mtz-info-table--team .mtz-team-phone::before,
	.mtz-info-table--team .mtz-team-email::before {
		display: inline-block;
		width: 16px;
		height: 16px;
		margin-right: 10px;
		vertical-align: -3px;
	}

	.mtz-info-table--team .mtz-team-phone::before {
		content: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2216%22%20height=%2216%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%230a0d0f%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72c.13.81.36%201.6.68%202.34a2%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.74-1.74a2%202%200%200%201%202.11-.45c.74.32%201.53.55%202.34.68A2%202%200%200%201%2022%2016.92z%22/%3E%3C/svg%3E");
	}

	.mtz-info-table--team .mtz-team-email::before {
		content: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2216%22%20height=%2216%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%23004cfe%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%222%22%20y=%224%22%20width=%2220%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22m2%206%2010%207%2010-7%22/%3E%3C/svg%3E");
	}

	/* =================== MATERIÁLY =================== */
	/* Kód materiálu jako nadpis karty */
	.mtz-info-table--material table tbody > tr:nth-child(n) > td:first-child {
		font-weight: 600;
		font-size: 15px;
		color: #000f26;
		margin-bottom: 12px !important;
		padding-bottom: 12px !important;
		border-bottom: 1px solid #eef1f4 !important;
	}

	/* =================== NORMY (převodní tabulka) =================== */
	/* Každá buňka = řádek „popisek : hodnota". Popisky z pořadí sloupců
	   (pevné: W.-Nr. | ČSN | DIN | AISI | AFNOR). */
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 7px 0 !important;
		font-weight: 600;
		color: #000f26;
	}

	.mtz-info-table--normy table tbody > tr:nth-child(n) > td::before {
		flex: 0 0 auto;
		font-weight: 400;
		color: #52697a;
		white-space: nowrap;
	}

	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:nth-child(1)::before { content: "W.-Nr. (Německo)"; }
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:nth-child(2)::before { content: "ČSN"; }
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:nth-child(3)::before { content: "DIN (Německo)"; }
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:nth-child(4)::before { content: "AISI (USA)"; }
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:nth-child(5)::before { content: "AFNOR (Francie)"; }

	/* První řádek (W.-Nr.) zvýrazněný jako titulek karty */
	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:first-child {
		margin-bottom: 6px !important;
		padding-bottom: 12px !important;
		border-bottom: 1px solid #eef1f4 !important;
		font-size: 18px;
		color: #004cfe;
	}

	.mtz-info-table--normy table tbody > tr:nth-child(n) > td:first-child::before {
		align-self: center;
		font-size: 12px;
	}

	/* =================== ROZMĚRY TRUBEK A TVAROVEK =================== */
	/* Stejný card-view jako u norem, jen čtyři sloupce. DN je titulek karty. */
	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 7px 0 !important;
		font-weight: 600;
		color: #000f26;
	}

	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td::before {
		flex: 0 0 auto;
		font-weight: 400;
		color: #52697a;
		white-space: nowrap;
	}

	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:nth-child(1)::before { content: "DN"; }
	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:nth-child(2)::before { content: "Palce"; }
	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:nth-child(3)::before { content: "Vnější Ø palcový dle ISO (mm)"; }
	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:nth-child(4)::before { content: "Vnější Ø metrický dle DIN (mm)"; }

	/* Prázdná buňka (DN 6/8 nemá metrický ekvivalent, 14"/16" nemá DN) by
	   v kartě ukázala jen popisek bez hodnoty — schová se celá. */
	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:empty {
		display: none;
	}

	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:first-child {
		margin-bottom: 6px !important;
		padding-bottom: 12px !important;
		border-bottom: 1px solid #eef1f4 !important;
		font-size: 18px;
		color: #004cfe;
	}

	.mtz-info-table--rozmery table tbody > tr:nth-child(n) > td:first-child::before {
		align-self: center;
		font-size: 12px;
	}
}

/* mtz-legal:start — vše od téhle značky do konce souboru spravuje
   pravni-stranky/deploy-css.sh, ruční úpravy tady budou přepsány. */

/* ============================================================
   PRÁVNÍ STRÁNKY (Obchodní podmínky, Reklamační řád,
   Zásady ochrany osobních údajů, Zpracování cookies)

   Obsah je v jednom text-editor widgetu s třídou .mtz-legal,
   takže typografii dlouhého právního textu řešíme tady, ne
   nastavením desítek widgetů v Elementoru.
   ============================================================ */

.mtz-legal {
	--mtz-legal-rule: #d9e1e7;
	--mtz-legal-muted: #3a4a57;
}

/* ---- Nadpisy článků ---- */

.mtz-legal h2 {
	margin: 48px 0 16px;
	font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.3;
	color: #004cfe;
}

.mtz-legal > h2:first-child {
	margin-top: 0;
}

.mtz-legal h3 {
	margin: 32px 0 12px;
	font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
	font-size: 19px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--Unipap-blue-02, #000F26);
}

/* ---- Odstavce a seznamy ---- */

.mtz-legal p {
	margin: 0 0 14px;
	line-height: 1.65;
}

/* Perex nad prvním článkem */
.mtz-legal .mtz-legal-intro {
	margin-bottom: 32px;
	padding: 18px 22px;
	background: #ECF0F3;
	border-radius: 16px;
	font-size: 17px;
	line-height: 1.6;
}

.mtz-legal ol,
.mtz-legal ul {
	margin: 0 0 16px;
	padding-left: 26px;
	line-height: 1.65;
}

.mtz-legal li {
	margin-bottom: 10px;
}

/* Vnořené seznamy (výčty uvnitř číslovaných odstavců) */
.mtz-legal li > ul,
.mtz-legal li > ol {
	margin-top: 10px;
	margin-bottom: 4px;
}

.mtz-legal li > ul {
	list-style-type: disc;
}

/* Číslované články mají odsazení, aby dvojciferná čísla nelezla do textu */
.mtz-legal > ol {
	padding-left: 30px;
}

.mtz-legal a {
	color: #004cfe;
	text-decoration: underline;
	word-break: break-word;
}

.mtz-legal a:hover {
	text-decoration: none;
}

/* Datum účinnosti na konci dokumentu */
.mtz-legal .mtz-legal-effective {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid var(--mtz-legal-rule);
	color: var(--mtz-legal-muted);
	font-size: 15px;
}

/* Nedopsaná místa — v revizi musí být vidět na první pohled.
   Před spuštěním webu nesmí na stránkách zůstat ani jedno. */
.mtz-legal .mtz-todo {
	background: #fff3cd;
	color: #7a5b00;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 500;
}

/* ============================================================
   TABULKY COOKIES
   Vzhled převzatý z .mtz-info-table, aby web působil jednotně.
   ============================================================ */

.mtz-legal .mtz-cookie-table {
	width: 100%;
	margin: 0 0 28px;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 16px;
	overflow: hidden;
}

.mtz-legal .mtz-cookie-table th,
.mtz-legal .mtz-cookie-table td {
	border: none !important;
	line-height: 1.5 !important;
	text-align: left;
	vertical-align: top;
}

.mtz-legal .mtz-cookie-table thead th {
	background: #d9e1e7;
	color: var(--Unipap-blue-02, #000F26);
	font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
	font-size: 15px;
	font-weight: 500;
	padding: 14px 18px !important;
	border-bottom: 1px solid #fff !important;
}

.mtz-legal .mtz-cookie-table tbody td {
	background: #ECF0F3;
	color: var(--Unipap-blue-02, #000F26);
	font-size: 15px;
	font-weight: 400;
	padding: 14px 18px !important;
	border-bottom: 1px solid #fff !important;
}

.mtz-legal .mtz-cookie-table tbody tr:last-child td {
	border-bottom: none !important;
}

/* Sloupce: název a účel nesou nejvíc textu, platnost a zdroj jsou úzké */
.mtz-legal .mtz-cookie-table thead th:nth-child(1),
.mtz-legal .mtz-cookie-table tbody td:nth-child(1) {
	width: 24%;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 14px;
	word-break: break-word;
}

.mtz-legal .mtz-cookie-table thead th:nth-child(3),
.mtz-legal .mtz-cookie-table tbody td:nth-child(3),
.mtz-legal .mtz-cookie-table thead th:nth-child(4),
.mtz-legal .mtz-cookie-table tbody td:nth-child(4) {
	width: 15%;
	white-space: nowrap;
}

/* Řádek s placeholderem přes celou šířku (zatím nevyplněné kategorie) */
.mtz-legal .mtz-cookie-table tbody td[colspan] {
	white-space: normal;
	width: auto;
	font-family: inherit;
	font-size: 15px;
}

/* ============================================================
   PANEL SOUHLASU NA STRÁNCE COOKIES
   Shortcode [cmplz-manage-consent] od Complianzu. Vlastní CSS
   si Complianz generuje jen pro cookie lištu (banner-1-*.css
   v uploads), na tenhle inline panel se nevztahuje — bez těchhle
   pravidel je to nestylované HTML: nahý checkbox, šipka pod
   textem a zdvojený název kategorie.

   Vzhled je záměrně stejný jako u .mtz-cookie-table výš —
   světlé karty, radius, Zalando Sans v hlavičce.
   ============================================================ */

.mtz-legal .cmplz-manage-consent-container {
	margin: 0 0 28px;
}

/* Complianz sem tahá šířku z CSS cookie lišty (484 px = vnitřek banneru),
   takže by panel byl na stránce zbytečně úzký. */
.mtz-legal .cmplz-categories {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100% !important;
	max-width: none !important;
}

/* ---- Karta jedné kategorie ---- */

.mtz-legal .cmplz-category {
	background: #ECF0F3;
	border-radius: 14px;
	overflow: hidden;
}

.mtz-legal .cmplz-category-header {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 13px 18px;
}

.mtz-legal .cmplz-category-title {
	flex: 1 1 auto;
	font-family: var(--font-family-font-family-title, "Zalando Sans"), sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--Unipap-blue-02, #000F26);
}

/* Complianz dává do labelu <span class="screen-reader-text"> s názvem
   kategorie. Theme ho nemá skrytý, takže se název vypisoval dvakrát
   („Funkční Funkční Vždy aktivní"). */
.mtz-legal .cmplz-manage-consent-container .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* ---- Nezbytná kategorie: štítek místo přepínače ---- */

.mtz-legal .cmplz-always-active {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 4px 11px;
	background: #d9e1e7;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--mtz-legal-muted);
	white-space: nowrap;
}

/* Skrytý checkbox, který Complianz do štítku vkládá — je vždy
   zaškrtnutý a nedá se vypnout, takže by jen mátl. */
.mtz-legal .cmplz-always-active input[type="checkbox"],
.mtz-legal .cmplz-always-active label {
	display: none !important;
}

/* ---- Volitelná kategorie: přepínač ---- */

.mtz-legal .cmplz-banner-checkbox {
	position: relative;
	flex: 0 0 auto;
	display: inline-block;
	width: 46px;
	height: 26px;
}

/* Nativní checkbox zůstává v DOM a nese celou logiku i klávesovou
   obsluhu — jen je průhledný nad přepínačem. */
.mtz-legal .cmplz-banner-checkbox input[type="checkbox"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}

.mtz-legal .cmplz-banner-checkbox label.cmplz-label {
	position: absolute;
	inset: 0;
	display: block;
	background: #c3ced7;
	border-radius: 999px;
	transition: background .18s ease;
}

.mtz-legal .cmplz-banner-checkbox label.cmplz-label::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(0, 15, 38, .25);
	transition: transform .18s ease;
}

.mtz-legal .cmplz-banner-checkbox input:checked + label.cmplz-label {
	background: #004cfe;
}

.mtz-legal .cmplz-banner-checkbox input:checked + label.cmplz-label::after {
	transform: translateX(20px);
}

.mtz-legal .cmplz-banner-checkbox input:focus-visible + label.cmplz-label {
	outline: 2px solid #004cfe;
	outline-offset: 2px;
}

/* ---- Rozbalovací šipka ---- */

.mtz-legal .cmplz-category-toggle {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	background: none;
	border: none;
	border-radius: 50%;
	color: var(--mtz-legal-muted);
	cursor: pointer;
}

/* Hello Elementor obarvuje v reset.css všechna <button> na hoveru
   růžově a specificita [type=…]:hover to přebíjí — proto !important. */
.mtz-legal .cmplz-category-toggle:hover,
.mtz-legal .cmplz-category-toggle:focus,
.mtz-legal .cmplz-category-toggle:active {
	background: #d9e1e7 !important;
	color: var(--Unipap-blue-02, #000F26) !important;
	border: none !important;
	box-shadow: none !important;
}

.mtz-legal .cmplz-category-toggle svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

/* Rotace patří na obalový .cmplz-icon, ne zvlášť na <svg> — jinak se
   obě transformace sečtou na 360° a šipka se vizuálně nehne. */
.mtz-legal .cmplz-category-toggle .cmplz-icon {
	display: inline-flex;
	transition: transform .18s ease;
}

.mtz-legal .cmplz-category-toggle[aria-expanded="true"] .cmplz-icon {
	transform: rotate(180deg);
}

/* ---- Popis kategorie ---- */

/* Zobrazování řídí Complianz sám (aria-expanded), tady jde jen o vzhled. */
.mtz-legal .cmplz-category .cmplz-description {
	margin: 0;
	padding: 0 18px 15px;
	border-top: 1px solid #fff;
	padding-top: 13px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--mtz-legal-muted);
}

/* Na display se u popisků záměrně nesahá: Complianz drží skrytou tu
   variantu popisu, která pro nastavení webu neplatí (u statistik je to
   verze pro anonymní měření). Vlastní display: block by ji odkryl
   a kategorie by měla dva popisy pod sebou. */

/* ============================================================
   MOBIL (≤ 767 px)
   Tabulka cookies se mění na karty — stejný princip jako
   u info-tabulek, popisky bere z data-label na buňkách.
   Žádný vodorovný scroll.
   ============================================================ */
@media (max-width: 767px) {

	.mtz-legal .cmplz-category-header {
		gap: 10px;
		padding: 12px 15px;
	}

	.mtz-legal .cmplz-category-title {
		font-size: 15px;
	}

	.mtz-legal .cmplz-category .cmplz-description {
		padding: 12px 15px 14px;
		font-size: 14px;
	}


	.mtz-legal h2 {
		margin-top: 36px;
		font-size: 21px;
	}

	.mtz-legal h3 {
		margin-top: 26px;
		font-size: 17px;
	}

	.mtz-legal .mtz-legal-intro {
		padding: 16px 18px;
		font-size: 16px;
	}

	.mtz-legal ol,
	.mtz-legal ul,
	.mtz-legal > ol {
		padding-left: 22px;
	}

	.mtz-legal .mtz-cookie-table thead {
		display: none;
	}

	.mtz-legal .mtz-cookie-table,
	.mtz-legal .mtz-cookie-table tbody {
		display: block;
	}

	.mtz-legal .mtz-cookie-table tbody > tr {
		display: block;
		padding: 14px 16px;
		background: #ECF0F3;
		border-bottom: 1px solid #fff;
	}

	.mtz-legal .mtz-cookie-table tbody > tr:last-child {
		border-bottom: none;
	}

	/* :nth-child(n) zvedá specificitu nad desktopová pravidla se šířkami */
	.mtz-legal .mtz-cookie-table tbody > tr:nth-child(n) > td {
		display: block;
		width: auto !important;
		white-space: normal !important;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
	}

	/* Název cookie = titulek karty */
	.mtz-legal .mtz-cookie-table tbody > tr:nth-child(n) > td:first-child {
		margin-bottom: 10px !important;
		padding-bottom: 10px !important;
		border-bottom: 1px solid #fff !important;
		font-size: 15px;
		color: #004cfe;
	}

	/* Ostatní buňky dostanou popisek nad hodnotou */
	.mtz-legal .mtz-cookie-table tbody > tr:nth-child(n) > td:not(:first-child) {
		margin-top: 10px !important;
	}

	.mtz-legal .mtz-cookie-table tbody > tr:nth-child(n) > td[data-label]:not(:first-child)::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 3px;
		font-size: 11px;
		font-weight: 600;
		letter-spacing: .05em;
		text-transform: uppercase;
		color: #90a3b0;
	}
}
