/* TIPIDI redesign 2026 – úpravy stránek ze 4. kola připomínek (12. 11. 2026). Ručně psaný soubor.
   Načítají ho stránky značek (ControllerProductManufacturer::addBrandAssets), informační stránky a kontakt.
   1) přehled značek – obrazový masonry přehled  2) Další značky pod výpisem  3) úvod výpisu značky
   4) představení značky – nižší hero  5) informační a právní stránky, kontakt (bílé pozadí, jednotná typografie) */

/* ── 1. Přehled značek: masonry ze skupin s pevnou mřížkou (TipidiBrandPages::masonry) ───────────────────
   5. kolo: desktop 4 sloupce se čtvercovými buňkami (největší dlaždice ~ 2 buňky), v dlaždici jen název značky. */
.t-dir-head--mz { grid-template-columns: minmax(0, 1fr); padding-block: .25rem clamp(1rem, 2vw, 1.5rem); }
:root { --mz-gap: clamp(.5rem, 1vw, .875rem); }
.t-mz { display: grid; gap: var(--mz-gap); padding-bottom: var(--t-section); }
.t-mz__g { display: grid; gap: var(--mz-gap); }
.t-mz__t { position: relative; display: block; min-width: 0; min-height: 0; overflow: hidden; border-radius: var(--t-radius); background: var(--t-plum-wash); color: var(--t-fg-strong); text-decoration: none; isolation: isolate; }
.t-mz__t > picture img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--p, 50% 50%); z-index: -1; transition: transform 900ms var(--t-ease); }
.t-mz__t:hover > picture img { transform: scale(1.03); }
.t-mz__t:focus-visible { outline: 2px solid var(--t-focus); outline-offset: 3px; }
.t-mz__label { position: absolute; left: .625rem; bottom: .625rem; max-width: calc(100% - 1.25rem); padding: .4375rem .75rem; border-radius: var(--t-radius); background: var(--t-white); }
.t-mz__name { display: block; font-size: .9375rem; font-weight: var(--t-w-name); line-height: 1.25; letter-spacing: .005em; overflow-wrap: anywhere; transition: color var(--t-dur-fast); }
.t-mz__t:hover .t-mz__name { color: var(--t-plum); }
.t-mz__t--tall .t-mz__name, .t-mz__t--wide .t-mz__name { font-size: 1.0625rem; }

/* desktop (4 sloupce, řádek = 0,9 šířky sloupce): A = vysoká + široká + malá / 3 malé, C zrcadlově, B = 4 malé (4:5),
   T = 3 malé, P = široká + malá, O = jedna široká */
.t-mz__g--a, .t-mz__g--c { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); aspect-ratio: 20 / 9; }
.t-mz__g--a > :nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
.t-mz__g--a > :nth-child(2) { grid-area: 1 / 2 / 2 / 4; }
.t-mz__g--a > :nth-child(3) { grid-area: 1 / 4 / 2 / 5; }
.t-mz__g--a > :nth-child(4) { grid-area: 2 / 2 / 3 / 3; }
.t-mz__g--a > :nth-child(5) { grid-area: 2 / 3 / 3 / 4; }
.t-mz__g--a > :nth-child(6) { grid-area: 2 / 4 / 3 / 5; }
.t-mz__g--c > :nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
.t-mz__g--c > :nth-child(2) { grid-area: 1 / 3 / 2 / 4; }
.t-mz__g--c > :nth-child(3) { grid-area: 1 / 4 / 3 / 5; }
.t-mz__g--c > :nth-child(4) { grid-area: 2 / 1 / 3 / 2; }
.t-mz__g--c > :nth-child(5) { grid-area: 2 / 2 / 3 / 3; }
.t-mz__g--c > :nth-child(6) { grid-area: 2 / 3 / 3 / 4; }
.t-mz__g--b { grid-template-columns: repeat(4, minmax(0, 1fr)); aspect-ratio: 4 / 1; }
.t-mz__g--t { grid-template-columns: repeat(3, minmax(0, 1fr)); aspect-ratio: 12 / 5; max-width: 75%; }
.t-mz__g--p { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); aspect-ratio: 3 / 1; max-width: 75%; }
.t-mz__g--o { aspect-ratio: 3 / 1; max-width: 75%; }
/* značky bez připravené fotografie: čistá textová dlaždice */
.t-mz__g--plain { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.t-mz__t--plain { display: grid; place-items: center; aspect-ratio: 5 / 2; padding: 1rem; border: 1px solid var(--t-line); background: var(--t-white); text-align: center; }
.t-mz__t--plain .t-mz__label { position: static; max-width: none; padding: 0; background: none; }
.t-mz__t--plain .t-mz__name { font-size: 1.125rem; font-weight: var(--t-w-display); letter-spacing: -.01em; }
.t-mz__t--plain:hover { border-color: var(--t-black); }

/* ── 2. Další značky pod výpisem: široká + 4 malé ───────────────────────────────────────────────────────── */
.t-others { padding-top: clamp(2.5rem, 5vw, 4rem); }
.t-others .t-head { margin-bottom: clamp(1rem, 2vw, 1.5rem); }
.t-mz__g--more { grid-template-columns: repeat(6, minmax(0, 1fr)); aspect-ratio: 24 / 5; }
.t-mz__g--more > :first-child { grid-column: span 2; }
.t-mz__g--more .t-mz__t--sq .t-mz__name { font-size: .875rem; }

@media (max-width: 1100px) {
	.t-mz__t > picture img { object-position: var(--p-t, var(--p, 50% 50%)); }
	/* 2 sloupce. A: vysoká vlevo + 2 malé vpravo, široká, 2 malé; C: široká, malá + vysoká vpravo, malá, 2 malé;
	   B: 2 × 2 malé; T: vysoká + 2 malé – pořadí čtení = pořadí v kódu */
	.t-mz__g--a, .t-mz__g--c { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, minmax(0, 1fr)); aspect-ratio: 1 / 2; }
	.t-mz__g--a > :nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
	.t-mz__g--a > :nth-child(2) { grid-area: 1 / 2 / 2 / 3; }
	.t-mz__g--a > :nth-child(3) { grid-area: 2 / 2 / 3 / 3; }
	.t-mz__g--a > :nth-child(4) { grid-area: 3 / 1 / 4 / 3; }
	.t-mz__g--a > :nth-child(5) { grid-area: 4 / 1 / 5 / 2; }
	.t-mz__g--a > :nth-child(6) { grid-area: 4 / 2 / 5 / 3; }
	.t-mz__g--c > :nth-child(1) { grid-area: 1 / 1 / 2 / 3; }
	.t-mz__g--c > :nth-child(2) { grid-area: 2 / 1 / 3 / 2; }
	.t-mz__g--c > :nth-child(3) { grid-area: 2 / 2 / 4 / 3; }
	.t-mz__g--c > :nth-child(4) { grid-area: 3 / 1 / 4 / 2; }
	.t-mz__g--c > :nth-child(5) { grid-area: 4 / 1 / 5 / 2; }
	.t-mz__g--c > :nth-child(6) { grid-area: 4 / 2 / 5 / 3; }
	.t-mz__g--b { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); aspect-ratio: 1 / 1; }
	.t-mz__g--t { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); aspect-ratio: 1 / 1; max-width: none; }
	.t-mz__g--t > :nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
	.t-mz__g--p, .t-mz__g--o { max-width: none; }
	.t-mz__g--plain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t-mz__g--more { grid-template-columns: repeat(3, minmax(0, 1fr)); aspect-ratio: 6 / 5; }
}
@media (max-width: 640px) {
	:root { --mz-gap: .5rem; }
	.t-mz__label { left: .375rem; bottom: .375rem; max-width: calc(100% - .75rem); padding: .3125rem .5rem; }
	.t-mz__name, .t-mz__t--tall .t-mz__name, .t-mz__t--wide .t-mz__name, .t-mz__g--more .t-mz__t--sq .t-mz__name { font-size: .875rem; }
	.t-mz__g--o { aspect-ratio: 2 / 1; }
	.t-mz__t--plain .t-mz__name { font-size: 1rem; }
	.t-mz__g--more { grid-template-columns: repeat(2, minmax(0, 1fr)); aspect-ratio: 8 / 15; }
}

/* ── 3. Úvod výpisu značky: plocha značky + fotografie (5. kolo: nižší, logo vedle nadpisu, dvě věty) ────── */
.t-bintro { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-height: clamp(10.5rem, 14vw, 13rem); margin-block: .25rem clamp(.875rem, 1.6vw, 1.25rem); overflow: hidden; border-radius: var(--t-radius); background: var(--t-brand-surface); color: var(--t-brand-ink); }
.t-bintro__copy { display: grid; align-content: center; justify-items: start; gap: .625rem; padding: clamp(1.125rem, 2.4vw, 2rem) clamp(1.25rem, 3vw, 2.5rem); }
.t-bintro__title { display: flex; align-items: center; gap: .875rem; min-width: 0; }
.t-bintro__logo { flex: none; width: 4.5rem; height: 2.75rem; padding: .25rem .375rem; }
.t-bintro h1 { font-size: clamp(1.75rem, 2.6vw, 2.375rem); line-height: 1.1; color: inherit; }
.t-bintro h1 .t-count { color: var(--t-brand-ink-muted); }
.t-bintro__text { max-width: 44rem; color: var(--t-brand-ink-muted); font-size: var(--t-fs-small); line-height: 1.5; text-wrap: pretty; }
.t-bintro .t-btn { margin-top: .125rem; }
.t-bintro__media { position: relative; min-height: 8rem; }
.t-bintro__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--t-pos, 70% 50%); }
.t-bintro[data-ink="light"] { --t-focus: var(--t-white); }
@media (max-width: 1100px) {
	.t-bintro { grid-template-columns: minmax(0, 1fr) minmax(0, 14rem); }
}
@media (max-width: 640px) {
	.t-bintro { grid-template-columns: minmax(0, 1fr); margin: 0 calc(var(--t-gutter) * -1) 1rem; border-radius: 0; }
	.t-bintro__media { order: -1; min-height: 0; aspect-ratio: 21 / 9; }
	.t-bintro__copy { padding: 1rem var(--t-gutter) 1.25rem; }
	.t-bintro__logo { width: 3.75rem; height: 2.25rem; }
	.t-bintro h1 { font-size: 1.625rem; }
}

/* ── 4. Představení značky: nižší hero, jedno logo, název, krátký popis, výrazné tlačítko ───────────────── */
.t-bl-hero--compact .t-bl-hero__in { min-height: clamp(24rem, 32vw, 34rem); padding-block: 3.5rem clamp(1.75rem, 3.5vw, 3rem); }
.t-bl-hero--compact .t-bl-hero__copy { gap: .875rem; }
.t-bl-hero--compact h1 { font-size: var(--t-fs-display); }
.t-bl-hero--compact .t-bl-hero__lead { max-width: 30rem; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.t-bl-hero--compact .t-btn { margin-top: .375rem; }
.t-ui .t-btn .t-count { margin-left: .125rem; font-size: .8125rem; color: inherit; opacity: .7; }
.t-bl-hero__tag { left: auto; right: var(--t-gutter); bottom: 1rem; z-index: 1; }
.t-bl-end { display: flex; justify-content: center; padding-bottom: var(--t-section); }
@media (max-width: 1100px) {
	.t-bl-hero--compact .t-bl-hero__in { min-height: 26rem; }
}
/* mobil: text přes fotografii by zakrýval flakon – fotografie nahoře (čtverec, ohnisko produktu), pod ní logo,
   název, krátký popis a tlačítko na ploše značky (jako úvod výpisu) */
@media (max-width: 640px) {
	.t-bl-hero--compact { display: flex; flex-direction: column; background: var(--t-brand-surface); color: var(--t-brand-ink); --t-focus: var(--t-brand-ink); }
	.t-bl-hero--compact picture { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; }
	.t-bl-hero--compact picture img { z-index: 0; object-position: var(--t-pos-m, 50% 50%); }
	.t-bl-hero--compact .t-bl-hero__in { min-height: 0; padding: 1.25rem var(--t-gutter) 1.75rem; }
	.t-bl-hero--compact .t-bl-hero__copy { gap: .75rem; }
	.t-bl-hero--compact h1 { font-size: 2.5rem; color: inherit; }
	.t-bl-hero--compact .t-bl-hero__lead { display: block; -webkit-line-clamp: none; font-size: var(--t-fs-body); color: var(--t-brand-ink-muted); }
	.t-bl-hero--compact .t-btn { width: 100%; white-space: normal; text-align: center; }
	.t-bl-hero__tag { top: calc(100vw - 3.5rem); right: auto; bottom: auto; left: var(--t-gutter); }
	.t-ui .t-page--brand .t-bl-hero--compact.t-bl-hero--surface-dark .t-btn--primary { background: var(--t-black); border-color: var(--t-black); color: var(--t-white); }
	.t-ui .t-page--brand .t-bl-hero--compact.t-bl-hero--surface-dark .t-btn--primary:hover { background: var(--t-plum); border-color: var(--t-plum); color: var(--t-white); }
	.t-ui .t-page--brand .t-bl-hero--compact.t-bl-hero--surface-dark .t-btn--primary:active { background: var(--t-plum-deep); border-color: var(--t-plum-deep); color: var(--t-white); }
	.t-ui .t-page--brand .t-bl-hero--compact.t-bl-hero--surface-light .t-btn--primary { background: var(--t-white); border-color: var(--t-white); color: var(--t-black); }
	.t-ui .t-page--brand .t-bl-hero--compact.t-bl-hero--surface-light .t-btn--primary:hover { background: var(--t-plum-wash); border-color: var(--t-plum-wash); color: var(--t-black); }
	.t-ui .t-page--brand .t-bl-hero--compact.t-bl-hero--surface-light .t-btn--primary:active { background: var(--t-press-dark); border-color: var(--t-press-dark); color: var(--t-black); }
	.t-bl-end .t-btn { width: 100%; white-space: normal; text-align: center; }
}

/* ── 5. Informační a právní stránky, kontakt ─────────────────────────────────────────────────────────────
   Obsah stránek je v DB (oc_information_description) se styly content_pages.less; zde jen vzhled redesignu:
   bílé pozadí bez šedých ploch, Google Sans Flex, nadpisy v lehkém řezu, čtecí šířka, jednotné seznamy a odkazy.
   Texty se nemění. */
.t-page--content { background: var(--t-white); }
.t-page--content :is(.tipidi-content-page, .c-contact) { --cp-read: 46rem; font-family: var(--t-font); color: var(--t-fg); font-size: var(--t-fs-body); line-height: 1.65; }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(h1, h2, h3, h4) { font-family: var(--t-font); color: var(--t-fg-strong); letter-spacing: -.02em; text-wrap: balance; }
.t-page--content :is(.tipidi-content-page, .c-contact) h1 { max-width: 20ch; margin-bottom: 1.25rem; font-size: var(--t-fs-display); font-weight: var(--t-w-display); line-height: 1.08; }
.t-page--content :is(.tipidi-content-page, .c-contact) h2 { max-width: 32ch; margin-bottom: 1rem; font-size: var(--t-fs-h2); font-weight: var(--t-w-display); line-height: 1.14; }
.t-page--content .tipidi-content-page--legal h2 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); }
.t-page--content :is(.tipidi-content-page, .c-contact) h3 { margin-bottom: .5rem; font-size: clamp(1.0625rem, 1.3vw, 1.25rem); font-weight: var(--t-w-name); line-height: 1.3; letter-spacing: -.01em; }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(p, li, dd, td) { font-size: var(--t-fs-body); line-height: 1.65; color: var(--t-fg); }
.t-page--content .tipidi-content-page :is(.content-page-main, .legal-page-main) > * :is(p, ul, ol) { max-width: var(--cp-read); }
.t-page--content .tipidi-content-page :is(ul, ol) { padding-left: 1.25rem; }
.t-page--content .tipidi-content-page li + li { margin-top: .375rem; }
.t-page--content .tipidi-content-page li::marker { color: var(--t-plum); }
.t-page--content :is(.tipidi-content-page, .c-contact) a:not(.btn):not(.t-btn) { color: var(--t-plum); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; }
.t-page--content :is(.tipidi-content-page, .c-contact) a:not(.btn):not(.t-btn):hover { text-decoration-thickness: 2px; }
.t-page--content :is(.tipidi-content-page, .c-contact) strong { font-weight: var(--t-w-strong); color: var(--t-fg-strong); }
.t-page--content :is(.content-page-hero__lead, .legal-page-hero__lead, .contact-hero__lead, .content-page-section__intro) { max-width: 40rem; font-size: var(--t-fs-lead); line-height: 1.55; color: var(--t-fg-muted); }
.t-page--content .content-page-eyebrow { display: block; margin-bottom: .75rem; font-size: var(--t-fs-label); font-weight: 520; letter-spacing: .16em; text-transform: uppercase; color: var(--t-accent); }
.t-page--content .content-page-eyebrow::before { display: none; }

/* úvod stránky: bez šedého boxu a dekorací, text vlevo, fotografie vpravo */
.t-page--content :is(.content-page-hero, .legal-page-hero, .contact-hero) { min-height: 0; margin: 0; padding: clamp(1rem, 2.5vw, 2rem) 0 clamp(1.5rem, 3vw, 2.5rem); border: 0; border-bottom: 1px solid var(--t-line); border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.t-page--content :is(.content-page-hero, .legal-page-hero, .contact-hero)::before, .t-page--content :is(.content-page-hero, .legal-page-hero, .contact-hero)::after, .t-page--content .contact-hero__panel::before, .t-page--content .contact-hero__panel::after { display: none; }
.t-page--content .content-page-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.t-page--content :is(.content-page-hero__copy, .contact-hero__copy) { padding: 0; }
.t-page--content .content-page-hero__media { min-height: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--t-radius); background: var(--t-plum-wash); }
.t-page--content .content-page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.t-page--content :is(.content-page-hero__facts) { gap: .5rem 1.5rem; font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-page--content :is(.content-page-hero__facts) li { margin: 0; font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-page--content .legal-page-hero { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.t-page--content .legal-page-meta { margin-top: 1.5rem; border-top: 1px solid var(--t-line); }

/* obsah: osnova vlevo jako v článku, text v čtecí šířce */
.t-page--content :is(.content-page-layout, .legal-page-layout) { max-width: none; margin-top: clamp(2rem, 5vw, 4rem); gap: clamp(2rem, 5vw, 5rem); }
.t-page--content .content-page-toc { top: 1.5rem; padding-top: 0; }
.t-page--content .content-page-toc__label { margin-bottom: .75rem; font-size: var(--t-fs-label); font-weight: 520; letter-spacing: .16em; color: var(--t-accent); }
.t-page--content .content-page-toc nav { border-top: 0; }
.t-page--content .content-page-toc a { padding: .5rem 0 .5rem .875rem; border-bottom: 0; font-size: var(--t-fs-small); color: var(--t-fg-muted); text-decoration: none; }
.t-page--content .content-page-toc a::before { top: .5rem; bottom: .5rem; }
.t-page--content .content-page-toc a:hover, .t-page--content .content-page-toc a.is-active { color: var(--t-fg-strong); }
.t-page--content :is(.content-page-section, .legal-page-section) { margin-bottom: clamp(3rem, 6vw, 5rem); padding: 0; border: 0; background: none; }
.t-page--content .legal-page-section + .legal-page-section { padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--t-line); }
.t-page--content .content-page-section--split figure, .t-page--content .content-page-section figure { overflow: hidden; border-radius: var(--t-radius); background: var(--t-plum-wash); }
.t-page--content .content-page-section figure img { display: block; width: 100%; height: auto; }

/* šedé plochy → bílé karty s jemným okrajem */
.t-page--content :is(.legal-page-summary, .legal-page-appendix, address, .content-page-quote, .shipping-country-note, .shipping-no-cod, .privacy-recipient-card, .privacy-authority, .privacy-contact-card, .privacy-country-note, .cookie-country-note, .cookie-authority, .contact-sidebar-card, .contact-form-card, .privacy-data-card, .cookie-category-card, .contact-topic-card, .shipping-payment-card, .content-page-features > *) { border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); box-shadow: none; }
.t-page--content :is(.content-page-features, .shipping-overview, .shipping-payment-grid, .cookie-category-grid, .contact-topics__grid, .privacy-data-grid, .privacy-recipient-grid, .privacy-retention-grid) { gap: clamp(.75rem, 1.5vw, 1rem); border: 0; background: none; }
.t-page--content .shipping-overview > *, .t-page--content .shipping-rate-card > :not(.shipping-rate-card__carrier) { background: var(--t-white); }
.t-page--content .shipping-rate-card { gap: 1px; overflow: hidden; border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-line); }
.t-page--content :is(.content-page-features__icon, .shipping-payment-card__icon, .shipping-rate-card__icon, .shipping-timeline__icon, .shipping-no-cod__icon, .contact-topic-card__icon, .contact-sidebar-card__icon) { border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); color: var(--t-plum); }
.t-page--content .content-page-highlight { gap: clamp(.75rem, 1.5vw, 1rem); border: 0; background: none; }
.t-page--content .content-page-highlight__copy { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); }
.t-page--content .shipping-timeline::before { background: var(--t-line); }

/* švestkové plochy designu (citát, výzva, kontakt) – barva a zaoblení podle tokenů */
.t-page--content :is(.content-page-highlight__quote, .content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel, .shipping-rate-card__carrier) { border: 0; border-radius: var(--t-radius); background: var(--t-plum); color: var(--t-white); --t-focus: var(--t-white); }
.t-page--content :is(.content-page-highlight__quote, .content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel, .shipping-rate-card__carrier) :is(h2, h3, p, li, a, span, strong) { color: inherit; }
/* odkazy a pomocné prvky na švestkové ploše: bílé (vyšší specificita než obecné švestkové odkazy) */
.t-page--content :is(.tipidi-content-page, .c-contact) :is(.content-page-highlight__quote, .content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel, .shipping-rate-card__carrier) a:not(.btn):not(.t-btn) { color: var(--t-white); text-decoration-color: rgba(255, 255, 255, .6); }
.t-page--content :is(.content-page-cta, .legal-page-contact, .privacy-objection) .content-page-company { margin-top: 1.25rem; padding: 1rem 0 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .24); border-radius: 0; background: none; }
.t-page--content :is(.content-page-cta, .legal-page-contact, .privacy-objection) .content-page-company :is(strong, span) { color: rgba(255, 255, 255, .86); }
.t-page--content .shipping-rate-card__carrier .shipping-rate-card__icon, .t-page--content .contact-hero__panel .contact-hero__panel-icon { border-color: rgba(255, 255, 255, .4); background: transparent; color: var(--t-white); }
.t-page--content .content-page-highlight__quote { font-size: var(--t-fs-h3); font-weight: var(--t-w-display); line-height: 1.35; }
.t-page--content .content-page-cta h2 { font-size: var(--t-fs-h2); }

/* tlačítka uvnitř obsahu jako .t-btn */
.t-page--content :is(.tipidi-content-page, .c-contact) .btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: var(--t-control); padding: 0 1.375rem; border: 1px solid var(--t-line-strong); border-radius: var(--t-radius); background: var(--t-white); color: var(--t-fg-strong); font-size: .9375rem; font-weight: 520; text-decoration: none; box-shadow: none; transition: background-color var(--t-dur-fast), border-color var(--t-dur-fast), color var(--t-dur-fast), transform 90ms; }
.t-page--content :is(.tipidi-content-page, .c-contact) .btn:hover { background: var(--t-plum-wash); border-color: var(--t-black); color: var(--t-fg-strong); }
.t-page--content :is(.tipidi-content-page, .c-contact) .btn:active { background: var(--t-press); transform: translateY(1px); }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(.btn-primary, .cookie-settings-button) { background: var(--t-black); border-color: var(--t-black); color: var(--t-white); }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(.btn-primary, .cookie-settings-button):hover { background: var(--t-plum); border-color: var(--t-plum); color: var(--t-white); }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(.btn-primary, .cookie-settings-button):active { background: var(--t-plum-deep); border-color: var(--t-plum-deep); color: var(--t-white); }
.t-page--content :is(.content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel) .btn-light { background: var(--t-white); border-color: var(--t-white); color: var(--t-black); }
.t-page--content :is(.content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel) .btn-light:hover { background: var(--t-plum-wash); border-color: var(--t-plum-wash); color: var(--t-black); }
.t-page--content :is(.content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel) .btn-outline-light { background: transparent; border-color: rgba(255, 255, 255, .72); color: var(--t-white); }
.t-page--content :is(.content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel) .btn-outline-light:hover { background: rgba(255, 255, 255, .14); border-color: var(--t-white); color: var(--t-white); }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(.content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel) .btn-outline-light:active { background: rgba(255, 255, 255, .24); border-color: var(--t-white); color: var(--t-white); }
.t-page--content :is(.tipidi-content-page, .c-contact) :is(.content-page-cta, .legal-page-contact, .privacy-objection, .contact-hero__panel) .btn-light:active { background: var(--t-press-dark); border-color: var(--t-press-dark); color: var(--t-black); }

/* osnova bez podtržení (obecné pravidlo odkazů v obsahu) */
.t-page--content .tipidi-content-page .content-page-toc a:not(.btn) { color: var(--t-fg-muted); text-decoration: none; }
.t-page--content .tipidi-content-page .content-page-toc a:not(.btn):is(:hover, .is-active) { color: var(--t-fg-strong); }
/* tabulky */
.t-page--content :is(.cookie-table-wrap, .privacy-table-wrap) { border: 1px solid var(--t-line); border-radius: var(--t-radius); background: var(--t-white); }
.t-page--content .tipidi-content-page table { font-size: var(--t-fs-small); }
.t-page--content .tipidi-content-page :is(th, td) { padding: .75rem 1rem; border-color: var(--t-line); background: var(--t-white); color: var(--t-fg); font-size: var(--t-fs-small); }
.t-page--content .tipidi-content-page th { font-weight: var(--t-w-strong); color: var(--t-fg-strong); text-transform: none; letter-spacing: 0; word-break: normal; overflow-wrap: normal; hyphens: manual; }

/* kontakt: formulář a postranní karty */
.t-page--content .contact-hero { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: stretch; }
.t-page--content .contact-hero__panel { padding: clamp(1.5rem, 3vw, 2.5rem); }
.t-page--content .contact-hero__panel a { font-size: var(--t-fs-h3); font-weight: var(--t-w-name); }
.t-page--content .contact-hero__panel-icon { border-color: rgba(255, 255, 255, .4); background: transparent; }
.t-page--content .contact-hero__domain { color: rgba(255, 255, 255, .72); }
.t-page--content .contact-section-heading { display: block; text-align: left; }
.t-page--content .contact-section-heading h2 { font-size: var(--t-fs-h2); text-align: left; }
.t-page--content .contact-form-card { padding: clamp(1.25rem, 3vw, 2.5rem); }
.t-page--content .c-contact :is(label, .form-label) { font-size: var(--t-fs-small); font-weight: 500; color: var(--t-fg-strong); }
.t-page--content .c-contact :is(.form-control, .form-select) { min-height: var(--t-control); border: 1px solid var(--t-line-control); border-radius: var(--t-radius); font: inherit; font-size: 1rem; color: var(--t-fg); }
.t-page--content .c-contact textarea.form-control { min-height: 9rem; }

@media (max-width: 1100px) {
	.t-page--content :is(.content-page-hero, .contact-hero) { grid-template-columns: minmax(0, 1fr); }
	.t-page--content .content-page-hero__media { order: -1; aspect-ratio: 16 / 9; }
	.t-page--content :is(.content-page-layout, .legal-page-layout) { grid-template-columns: minmax(0, 1fr); }
	.t-page--content .content-page-toc { position: static; }
	.t-page--content .content-page-section--split figure { max-width: 26rem; }
}
@media (max-width: 640px) {
	.t-page--content :is(.tipidi-content-page, .c-contact) h1 { font-size: 2.125rem; }
	.t-page--content :is(.tipidi-content-page, .c-contact) h2 { font-size: 1.625rem; }
	.t-page--content .content-page-hero__media { margin-inline: calc(var(--t-gutter) * -1); border-radius: 0; aspect-ratio: 4 / 3; }
}

/* ── 6. kolo: jednotná fotohlavička informačních, právních a kontaktní stránky (.t-infohead) ──
   Stejná výška fotografie, nadpis, drobečková navigace a odsazení na všech stránkách; každá stránka má vlastní
   náladovou fotografii (OpenArt). Texty úvodu jsou z obsahu stránky beze změny. */
.t-page.has-infohead { padding-top: 0; }
.t-infohead { --ih-photo: clamp(19rem, 28vw, 26rem); background: #f6f2f7; border-bottom: 1px solid var(--t-line); margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.t-infohead__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; min-height: var(--ih-photo); }
.t-infohead:not(.t-infohead--photo) .t-infohead__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-block: 1rem 2.5rem; }
.t-infohead__copy { display: grid; align-content: center; gap: .875rem; padding-block: clamp(1rem, 2vw, 1.5rem) clamp(1.75rem, 3vw, 2.5rem); min-width: 0; }
.t-infohead .t-crumbs { margin: 0 0 .25rem; }
.t-infohead__eyebrow { margin: 0; font-size: var(--t-fs-label); font-weight: 520; letter-spacing: .14em; text-transform: uppercase; color: var(--t-accent); }
.t-ui .t-infohead__title { max-width: 22ch; margin: 0; font-size: clamp(2rem, 3.4vw, 3rem); font-weight: var(--t-w-display); line-height: 1.08; letter-spacing: -.02em; color: var(--t-fg-strong); text-wrap: balance; overflow-wrap: break-word; hyphens: auto; }
.t-infohead__lead { max-width: 40rem; margin: 0; font-size: var(--t-fs-lead); line-height: 1.55; color: var(--t-fg-muted); }
.t-infohead__meta { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin: .375rem 0 0; font-size: var(--t-fs-small); }
.t-infohead__meta > div { display: grid; gap: .125rem; }
.t-infohead__meta dt { font-weight: 400; color: var(--t-fg-muted); }
.t-infohead__meta dd { margin: 0; font-weight: 500; color: var(--t-fg-strong); }
.t-infohead__facts { display: flex; flex-wrap: wrap; gap: .5rem; margin: .375rem 0 0; padding: 0; list-style: none; }
.t-infohead__facts li { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.25rem; padding: .25rem .875rem .25rem .625rem; border: 1px solid var(--t-line); border-radius: 999px; background: rgba(255, 255, 255, .7); font-size: var(--t-fs-small); line-height: 1.3; color: var(--t-fg); }
.t-infohead__facts li + li { margin: 0; }
.t-infohead__facts .bi { color: var(--t-plum); }
.t-infohead__mail { display: grid; gap: .125rem; margin-top: .375rem; padding: .875rem 1.125rem; border-left: 2px solid var(--t-plum); background: rgba(255, 255, 255, .7); border-radius: 0 var(--t-radius) var(--t-radius) 0; }
.t-infohead__mail span { font-size: var(--t-fs-small); color: var(--t-fg-muted); }
.t-infohead__mail a { font-size: 1.25rem; font-weight: 500; color: var(--t-fg-strong); text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.t-infohead__mail a:hover { color: var(--t-plum); }
.t-infohead__mail p { margin: .25rem 0 0; font-size: var(--t-fs-small); line-height: 1.5; color: var(--t-fg-muted); }
.t-infohead__photo { align-self: stretch; height: var(--ih-photo); margin: 0 calc(-1 * var(--t-gutter)) 0 0; overflow: hidden; }
.t-infohead__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 66% 55%; }
@media (min-width: 1600px) { .t-infohead__photo { margin-right: 0; border-radius: 0 0 var(--t-radius) var(--t-radius); } }
@media (max-width: 900px) {
	.t-infohead__grid { grid-template-columns: minmax(0, 1fr); gap: 0; min-height: 0; }
	.t-infohead__photo { order: -1; height: clamp(10rem, 38vw, 15rem); margin: 0 calc(-1 * var(--t-gutter)); }
	.t-infohead__copy { padding-top: .5rem; }
}
@media (max-width: 640px) {
	.t-ui .t-infohead__title { font-size: 1.875rem; }
	.t-infohead__lead { font-size: 1rem; }
	.t-infohead__facts li { border-radius: var(--t-radius); }
}
.has-infohead .c-contact > section:first-of-type, .has-infohead .information-page > .tipidi-content-page > :first-child { margin-top: 0; padding-top: 0; }
