/* --- Fonty (self-hosted) -------------------------------------------------

   Drive se tahaly ze tri <link> na fonts.googleapis.com a ctvrty rez
   (Open Sans) z default/stylesheet/fonts.css primo z fonts.gstatic.com.
   Kazdy takovy request znamena DNS + TLS na cizi domenu a blokuje
   vykreslovani - na mobilu to delalo 953 ms z 1010 ms celkoveho
   render-blockingu.

   Ted jsou soubory ve `catalog/view/theme/zupany/fonts/` a deklarace
   primo tady, takze se nactou s custom.css, ktere se stahuje tak jako tak.
   Zadny request navic, zadna cizi domena.

   Stazene jsou jen podmnoziny `latin` a `latin-ext` (cestina potrebuje
   obe) ve WOFF2. Inter, Literata a Open Sans jsou variable fonty - jeden
   soubor pokryva cely rozsah vah, proto `font-weight: 300 600` misto
   jednotlivych rezu.

   `font-display: swap` zustava: text se vykresli zalozni rodinou a
   prekresli se, az font dorazi.

   Licence: vsechny ctyri rodiny jsou pod SIL Open Font License, ktera
   self-hosting vyslovne dovoluje.                                       */

@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url('../fonts/Inter-300-600-normal-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300 600;
	font-display: swap;
	src: url('../fonts/Inter-300-600-normal-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Literata';
	font-style: italic;
	font-weight: 300 500;
	font-display: swap;
	src: url('../fonts/Literata-300-500-italic-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Literata';
	font-style: italic;
	font-weight: 300 500;
	font-display: swap;
	src: url('../fonts/Literata-300-500-italic-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Literata';
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url('../fonts/Literata-400-500-normal-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Literata';
	font-style: normal;
	font-weight: 400 500;
	font-display: swap;
	src: url('../fonts/Literata-400-500-normal-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/Poppins-300-normal-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/Poppins-300-normal-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/Poppins-400-normal-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/Poppins-400-normal-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/OpenSans-300-700-normal-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Open Sans';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/OpenSans-300-700-normal-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* custom styly - redesign */

:root {
	/* barvy */
	--rdz-dark: #101E4D;     /* dark_blue - nadpisy, tmave plochy, header/footer */
	--rdz-dark-hover: #0A1640; /* ztmavena navy - hover tlacitek/sipek */
	--rdz-blue: #5650A0;     /* blue - akcent, borders */
	--rdz-yellow: #EECA7A;   /* yellow - CTA, akcent */
	--rdz-cream: #F8EDD7;    /* color1 - tepla pozadi sekci */
	--rdz-offwhite: #FAFAFA; /* off-white - pozadi sekci */
	--rdz-sky: #F4FCFF;      /* light blue - Heureka review tile in the category listing */
	--rdz-white: #FFFFFF;
	--rdz-xmas-bar-bg: linear-gradient(135deg, #B57C15, #7E4F0D); /* xmas lista - bohatsi/hlubsi amber (stejna rodina jako puvodni #D09E1B, at klient nevytoci); sytejsi = odlisi od promo + dekorace vyniknou */
	--rdz-xmas-bar-fg: #FAFAFA;
	--rdz-xmas-spark: #EECA7A; /* zlate sparkles/decor na zeleni */
	--rdz-gray: #C9C9C9;     /* blue_gray - borders, tlumeny text */
	--rdz-gray-light: #E5E5E5; /* jemny divider/oddelovac, svetlejsi nez --rdz-gray */
	--rdz-black: #000000;
	--rdz-green: #36814A;    /* skladem */
	--rdz-online: #35B862;   /* online tecka poradce (header) */
	--rdz-offline: var(--rdz-red); /* mimo provozni dobu */
	--rdz-red: #F13F42;      /* nedostupne, sleva */
	--rdz-black-30: rgba(0, 0, 0, .3);  /* tlumene prekryvy */
	--rdz-black-60: rgba(0, 0, 0, .6);  /* tlumeny text na svetlem, body popis */

	/* fonty */
	--rdz-font-head: 'Literata', Georgia, serif;   /* nadpisy (italic) */
	--rdz-font-body: 'Inter', system-ui, sans-serif;

	/* velikost pisma */
	--rdz-fs-h1: 39px;
	--rdz-fs-h2: 31px;
	--rdz-fs-h3: 25px;
	--rdz-fs-h4: 20px;
	--rdz-fs-body: 16px;
	--rdz-fs-sm: 14px;
	--rdz-fs-xs: 10px;       /* nazvy a jednotkove ceny v souhrnu objednavky */

	/* radkovani */
	--rdz-lh-h1: 45px;
	--rdz-lh-h3: 32px;
	--rdz-lh-body: 24px;
	--rdz-lh-tight: 1;       /* h2/h4/caption (100%) */

	/* vahy pisma */
	--rdz-fw-light: 300;
	--rdz-fw-reg: 400;
	--rdz-fw-med: 500;
	--rdz-fw-semi: 600;

	--rdz-tracking-tight: -.01em;

	/* layout */
	--rdz-container: 1180px;
	--rdz-section-y: 56px;
	--rdz-gutter: 20px;
	--rdz-bd: 1px;

	/* spacing (4px grid) */
	--rdz-space-1: 4px;
	--rdz-space-2: 8px;
	--rdz-space-3: 12px;
	--rdz-space-4: 16px;
	--rdz-space-5: 24px;
	--rdz-space-6: 32px;
	--rdz-space-7: 48px;
	--rdz-space-8: 64px;

	/* radius */
	--rdz-radius-sm: 4px;    /* buttony, inputy */
	--rdz-radius-check: 6px; /* checkbox */
	--rdz-radius-md: 8px;
	--rdz-radius-lg: 16px;
	--rdz-radius-panel: 12px; /* buy-box panel produktovky */
	--rdz-radius-panel-mobile: 20px; /* panely na uzkych displejich (kosik i pokladna) */
	--rdz-radius-xl: 36px;
	--rdz-radius-pill: 999px;
}

/* ====== focus: syrovy modry UA outline pryc na mysi (chova se jako hover), klavesnice dostane jemny on-brand ring ====== */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) { outline: none; }
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible { outline: 2px solid var(--rdz-dark); outline-offset: 2px; }

/* ====== typografie (base tridy - z nich skladame komponenty) ====== */
.rdz-h1 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
.rdz-h2 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-light); font-size: var(--rdz-fs-h2); line-height: var(--rdz-lh-tight); color: var(--rdz-dark); }
.rdz-h3 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
.rdz-h4 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-dark); }
.rdz-text { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
.rdz-text-bold { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
.rdz-serif { font-family: var(--rdz-font-head); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-tight); }
.rdz-caption { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-tight); }
.rdz-caption-bold { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-tight); }

/* sirka obsahu (1160) + gutter */
.rdz-container { width: min(var(--rdz-container), calc(100% - 2 * var(--rdz-gutter))); margin-left: auto; margin-right: auto; }
/* homepage: skryt redundantni kategorie sidebar (kategorie jsou v nav) -> content full sirka, hero text lici s containerem */
#common-home #column-left { display: none; }
#common-home #content { width: 100%; min-height: 0; }  /* content_top prazdny (banner zrusen) -> zabit theme rezervaci 220px (stylesheet.css:425) */

/* KONVENCE: media breakpointy = Bootstrap 3 (aby nase sekce lamaly stejne jako zbytek webu).
   max-width: 1199px (md a niz) | 991px (sm a niz) | 767px (xs). CSS promenne v @media nejdou. */

/* ====== buttony (base tridy - paint na variantach, aby base nekolidoval se scoped .rdz-btn) ====== */
/* min-height misto pevne vysky - kdyz se popisek zalomi, tlacitko poroste misto orezu */
.rdz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 42px; padding: 8px 20px; border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1; text-align: center; text-decoration: none; cursor: pointer; transition: color .18s ease, background .18s ease, border-color .18s ease, transform .1s ease; }
.rdz-btn--blue { background: var(--rdz-dark); border: 1.5px solid var(--rdz-blue); color: var(--rdz-white); }
.rdz-btn--yellow { background: var(--rdz-yellow); border: 1.5px solid var(--rdz-yellow); color: var(--rdz-black); }
/* hover jen pro mys - na dotyku by po tapnuti zustal "zaseknuty" */
@media (hover: hover) {
	.rdz-btn--blue:hover { border-color: transparent; color: var(--rdz-gray); }
	.rdz-btn--yellow:hover { color: var(--rdz-black-60); }
}
/* sipka v CTA tlacitkach - maska drzi barvu textu vcetne hoveru */
.rdz-btn__arrow { flex: 0 0 20px; width: 20px; height: 20px; background: currentColor; -webkit-mask: url(../image/rdz-ico-arrow.svg) center / contain no-repeat; mask: url(../image/rdz-ico-arrow.svg) center / contain no-repeat; }
/* stisk: jasna zpetna vazba i na dotyku (mobil) */
.rdz-btn:active { transform: translateY(1px); }
.rdz-btn--blue:active { border-color: transparent; color: var(--rdz-gray); }
.rdz-btn--yellow:active { color: var(--rdz-black-60); }

/* ====== rdz-usp (Proc nakoupit - vyhody + trust strip) ====== */
.rdz-usp { position: relative; padding: var(--rdz-section-y) 0; }
.rdz-usp__head { margin: 0 0 40px; text-align: center; }
.rdz-usp__title { margin: 0; text-wrap: balance; }
.rdz-usp__subtitle { margin: var(--rdz-space-2) 0 0; color: var(--rdz-black-60); }

.rdz-usp__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
/* lean = plochy 5-dlazdicovy design (trust off). boxed base pravidla nize = stara verze (trust on) => git-safe toggle pres trust_enabled. */
/* grid = dlazdice se lamou pod sebe do zarovnanych sloupcu (vlevo, ne centrovane). posledni radek ma prazdny slot vpravo, ale sloupce sedi. */
.rdz-usp--lean .rdz-usp__grid { grid-template-columns: repeat(5, 1fr); gap: 40px 20px; }
.rdz-usp--lean .rdz-usp__card { background: none; border-radius: 0; padding: 0; }
.rdz-usp--lean .rdz-usp__card-head { gap: 12px; }
.rdz-usp--lean .rdz-usp__icon { flex: 0 0 48px; width: 48px; height: 48px; }
.rdz-usp--lean .rdz-usp__card-title { flex: 1 0 0; min-width: 0; font-size: var(--rdz-fs-h4); line-height: 1.2; }
@media (max-width: 1199px) { .rdz-usp--lean .rdz-usp__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { .rdz-usp--lean .rdz-usp__grid { grid-template-columns: 1fr; } }

.rdz-usp__card { display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); padding: 32px 28px; }
.rdz-usp__card-head { display: flex; align-items: center; gap: 16px; }
.rdz-usp__icon { flex: 0 0 60px; width: 60px; height: 60px; }
.rdz-usp__icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rdz-usp__card-title { margin: 0; color: var(--rdz-dark); text-wrap: balance; }
.rdz-usp__card-text { margin: 0; color: var(--rdz-black-60); }

/* video pod dlazdicemi (prepinatelne v adminu) - 16:9 frame, reuse rdz-video patternu */
.rdz-usp__video { margin-top: 40px; }
.rdz-usp__video-frame { position: relative; width: 100%; max-width: 920px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: var(--rdz-dark); box-shadow: 0 18px 40px rgba(16, 30, 77, .14); }
.rdz-usp__video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* facade nahled videa - iframe se dosadi az na klik (viz common.js) */
/* facade v popisu produktu nema vlastni ramecek jako moduly, pomer mu dodava wrapper */
.rdz-vfacade-wrap { position: relative; width: 100%; max-width: 920px; margin: var(--rdz-space-5) auto; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: var(--rdz-dark); }
.rdz-vfacade { position: absolute; inset: 0; cursor: pointer; border: 0; padding: 0; background: none; }
.rdz-vfacade__poster { width: 100%; height: 100%; object-fit: cover; display: block; }
.rdz-vfacade__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 76px; height: 76px; padding: 0; border: 0; border-radius: 50%; background: var(--rdz-white); color: var(--rdz-dark); cursor: pointer; box-shadow: 0 8px 24px rgba(16, 30, 77, .35); transition: transform .18s ease, background-color .18s ease; }
.rdz-vfacade__play svg { width: 34px; height: 34px; margin-left: 3px; }
.rdz-vfacade:hover .rdz-vfacade__play { transform: translate(-50%, -50%) scale(1.08); background: var(--rdz-yellow); }
.rdz-vfacade__play:focus-visible { outline: 3px solid var(--rdz-yellow); outline-offset: 3px; }
.rdz-vfacade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 767px) { .rdz-vfacade__play { width: 60px; height: 60px; } .rdz-vfacade__play svg { width: 27px; height: 27px; } }

.rdz-usp__trust { grid-column: span 2; display: flex; align-items: center; justify-content: space-between; gap: 16px; background: var(--rdz-cream); border-radius: var(--rdz-radius-sm); padding: 28px; }
.rdz-usp__trust-item { display: flex; align-items: center; gap: 16px; }
.rdz-usp__trust-logo { flex: 0 0 96px; width: 96px; height: 96px; object-fit: contain; }
.rdz-usp__trust-logo--round { background: var(--rdz-white); border-radius: 50%; padding: 12px; }
.rdz-usp__trust-info { display: flex; flex-direction: column; gap: 8px; max-width: 150px; }
.rdz-usp__trust-title { margin: 0; color: var(--rdz-black); text-wrap: balance; }
.rdz-usp__trust-rating { display: flex; align-items: center; gap: 6px; }
.rdz-usp__trust-num { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: 1; color: var(--rdz-black-60); }
.rdz-usp__stars { height: 25px; width: auto; display: block; }
.rdz-usp__star { height: 22px; width: auto; display: block; }
.rdz-usp__divider { flex: 0 0 2px; width: 2px; height: 120px; background: var(--rdz-black-60); }
.rdz-usp__trust-caption { margin: 0; max-width: 150px; color: var(--rdz-black-60); }

/* md a niz (<=1199): 2 sloupce, trust pres celou sirku pod kartami */
@media (max-width: 1199px) {
	.rdz-usp__grid { grid-template-columns: repeat(2, 1fr); }
	.rdz-usp__trust { grid-column: 1 / -1; }
}

/* sm a niz (<=991): trust na vysku (horizontalne uz by se macknul) */
@media (max-width: 991px) {
	.rdz-usp__trust { flex-direction: column; align-items: flex-start; gap: 16px; }
	.rdz-usp__trust-info { max-width: none; }
	.rdz-usp__trust-caption { max-width: none; }
	.rdz-usp__divider { display: none; }
}

/* xs (<=767): 1 sloupec, nadpis vlevo */
@media (max-width: 767px) {
	.rdz-usp__head { text-align: left; }
	.rdz-usp__title { font-size: var(--rdz-fs-h2); line-height: 1.15; }
	.rdz-usp__card-title { font-size: var(--rdz-fs-h4); line-height: 1.2; }
	.rdz-usp__grid { grid-template-columns: 1fr; }
	.rdz-usp__trust { grid-column: auto; }
	.rdz-soft-br { display: none; } /* zlomy schovat, na mobilu se text slozi sam (+ balance) */
}

/* ====== rdz-promo (Proc nase produkty - split: feature grid vlevo + fotka vpravo) ====== */
.rdz-promo { padding: var(--rdz-section-y) 0; }
.rdz-promo, .rdz-promo * { box-sizing: border-box; }
.rdz-promo__inner { display: flex; align-items: center; gap: 40px; }
.rdz-promo__content { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.rdz-promo__head { display: flex; flex-direction: column; gap: 20px; }
.rdz-promo__subtitle { margin: 0; color: var(--rdz-black-60); }
.rdz-promo__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.rdz-promo__item { display: flex; align-items: flex-start; gap: 12px; }
.rdz-promo__icon { flex: 0 0 32px; width: 32px; height: 32px; }
.rdz-promo__icon img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rdz-promo__item-body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.rdz-promo__item-text { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.4; color: var(--rdz-black-60); }
.rdz-promo__media { flex: 0 0 478px; }
.rdz-promo__img { display: block; width: 478px; height: 524px; object-fit: cover; border-radius: var(--rdz-radius-sm); }

/* md a niz (<=1199): stack - fotka NAHORU, full sirka */
@media (max-width: 1199px) {
	.rdz-promo__inner { flex-direction: column; align-items: stretch; gap: 40px; }
	.rdz-promo__media { flex: 0 0 auto; order: -1; }
	.rdz-promo__img { width: 100%; height: 420px; }
}

/* xs (<=767): feature grid 1 sloupec */
@media (max-width: 767px) {
	.rdz-promo__grid { grid-template-columns: 1fr; }
}

/* ====== rdz-situace (Vyberte si podle situace) - restyle ====== */
.rdz-situace { padding: var(--rdz-section-y) 0; }
.rdz-situace, .rdz-situace * { box-sizing: border-box; }
.rdz-situace img { max-width: 100%; display: block; }
.rdz-situace .rdz-head { display: flex; flex-direction: column; gap: 12px; text-align: center; margin-bottom: 40px; }
.rdz-situace .rdz-head h2 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); text-wrap: balance; }
.rdz-situace .rdz-head p { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
.rdz-situace .rdz-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.rdz-situace .rdz-card { display: flex; flex-direction: column; background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); overflow: hidden; }
.rdz-situace .rdz-img { height: 214px; }
.rdz-situace .rdz-img img { width: 100%; height: 100%; object-fit: cover; }
.rdz-situace .rdz-content { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; padding: 32px 20px 20px; }
.rdz-situace .rdz-card-main { display: flex; flex-direction: column; gap: 22px; }
.rdz-situace .rdz-titleblock { display: flex; flex-direction: column; gap: 20px; }
.rdz-situace .rdz-content h3 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
.rdz-situace .rdz-desc { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black-60); }
.rdz-situace .rdz-tags { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rdz-situace .rdz-tags li { padding: 6px 10px; border-radius: var(--rdz-radius-pill); background: var(--rdz-yellow); color: var(--rdz-black); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px; line-height: 1; }
.rdz-situace .rdz-actions { display: flex; justify-content: flex-end; }

@media (max-width: 767px) {
	.rdz-situace .rdz-grid { grid-template-columns: 1fr; }
	.rdz-situace .rdz-head { text-align: left; }  /* mobil: nadpis vlevo */
	.rdz-situace .rdz-head h2 { font-size: var(--rdz-fs-h2); line-height: 1.15; }
}

/* ====== rdz-rit (Rituály) - restyle ====== */
.rdz-rit { padding: var(--rdz-section-y) 0; }
.rdz-rit, .rdz-rit * { box-sizing: border-box; }
.rdz-rit img { max-width: 100%; display: block; }
.rdz-rit-box { display: flex; flex-direction: column; gap: 40px; background: var(--rdz-cream); border-radius: 36px; padding: 48px 32px 32px; }

/* hlavicka + benefity */
.rdz-rit-head { display: flex; flex-direction: column; gap: 20px; }
.rdz-rit-title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-black); text-wrap: balance; }
.rdz-rit-lead { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
.rdz-rit-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.rdz-rit-benefit { display: flex; flex-direction: column; justify-content: center; gap: 4px; background: var(--rdz-white); border-radius: var(--rdz-radius-sm); padding: 8px 16px 16px; }
.rdz-rit-benefit-title { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black); }
.rdz-rit-benefit-sub { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black); }

/* karty */
.rdz-rit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; align-items: stretch; }
.rdz-rit-card { display: flex; flex-direction: column; background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); overflow: hidden; box-shadow: 0 6px 16px rgba(0, 0, 0, .06); }
.rdz-rit-media { position: relative; height: 214px; }
.rdz-rit-media img { width: 100%; height: 100%; object-fit: cover; }
.rdz-rit-badge { position: absolute; top: 12px; left: 12px; padding: 6px 10px; border-radius: var(--rdz-radius-pill); background: var(--rdz-yellow); color: var(--rdz-black); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px; line-height: 1; box-shadow: 0 2px 2px rgba(0, 0, 0, .15); }
.rdz-rit-body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; padding: 32px 20px 20px; }
.rdz-rit-content { display: flex; flex-direction: column; gap: 22px; }
.rdz-rit-titleblock { display: flex; flex-direction: column; gap: 12px; }
.rdz-rit-card-title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); text-wrap: balance; }
.rdz-rit-sub { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black-60); }
.rdz-rit-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rdz-rit-tag { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: var(--rdz-radius-pill); background: var(--rdz-yellow); color: var(--rdz-black); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px; line-height: 1; }
.rdz-rit-time { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 6px; border-radius: var(--rdz-radius-pill); background: var(--rdz-dark); color: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px; line-height: 1; }
.rdz-rit-time svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rdz-rit-text { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.45; color: var(--rdz-black-60); }
.rdz-rit-actions { display: flex; justify-content: flex-end; }

/* CTA dvojice */
.rdz-rit-cta { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; }

@media (max-width: 1199px) {
	.rdz-rit-benefits { grid-template-columns: repeat(2, 1fr); }
	.rdz-rit-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	/* mobil: kremovy bg na celou sirku (full-bleed z containeru), bez zaobleni, jen vnitrni padding */
	.rdz-rit-box { padding: 32px 20px; border-radius: 0; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
	.rdz-rit-benefits { grid-template-columns: 1fr; }
	.rdz-rit-grid { grid-template-columns: 1fr; order: 2; }
	.rdz-rit-cta { order: 1; }  /* na mobilu CTA mezi benefity a kartami */
	.rdz-rit-title { font-size: var(--rdz-fs-h2); line-height: 1.15; }
}

/* ====== rdz-embroidery (vysivka konfigurator) - restyle ====== */
/* native OC volby (select/radio/input) drzi data; styling + toggle header + Aa Bb karty navic.
   fonty vysivky self-hosted v ../fonts/. */
@font-face { font-family: 'rdz-ScriptMT';       src: url('../fonts/scriptmtbold.ttf') format('truetype');     font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'rdz-NuromBold';      src: url('../fonts/Nurom-Bold.ttf') format('truetype');       font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'rdz-GoudyBold';      src: url('../fonts/Goudy_Bold.otf') format('opentype');       font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'rdz-VarsityScriptJF';src: url('../fonts/VarsityScriptJF.ttf') format('truetype');  font-weight: normal; font-style: normal; font-display: swap; }
@font-face { font-family: 'rdz-SnellBT';        src: url('../fonts/SnellBT-Regular.otf') format('opentype');  font-weight: normal; font-style: normal; font-display: swap; }

/* zivy nahled (frote textura v barve zupanu drzime - lepsi nez plocha seda #717171, ktera je jen fallback) */
#rdz-embroidery-preview-wrapper { margin-top: 0; margin-bottom: 0; }
.rdz-emb-title { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: 16px; line-height: 24px; color: var(--rdz-black-60); margin: 0 30px 10px; padding: 5px 10px; text-align: left; }
#rdz-embroidery-preview { position: relative; width: 100%; height: 90px; border-radius: 10px; overflow: hidden; background-color: #717171; background-size: cover; background-position: center; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 23px 34px; box-sizing: border-box; }
.rdz-emb-inner { position: relative; text-align: center; color: #c8ab4a; text-shadow: 0 1px 0 rgba(0,0,0,0.25); }
.rdz-emb-text { font-size: 39px; line-height: 45px; }
.rdz-emb-note-diacritic { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: 20px; color: var(--rdz-dark); margin: 10px 30px 0; line-height: 1.3; padding: 5px 10px; }
.rdz-emb-note { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: 16px; color: var(--rdz-black-60); margin: 10px 30px 0; line-height: 24px; padding: 5px 10px; }
@media (max-width: 767px) {
	#rdz-embroidery-preview { height: 90px; padding: 16px 20px; }
	.rdz-emb-text { font-size: 30px; line-height: 36px; }
	.rdz-emb-note-diacritic { font-size: 18px; }
	.rdz-emb-note { font-size: 15px; line-height: 22px; }
}

/* abeceda - modal (nas bonus, zachovan; reskin na base tokeny) */
#rdz-font-modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,0.5); display: flex; justify-content: center; align-items: center; z-index: 99999; padding: var(--rdz-space-4); }
#rdz-font-modal { background: var(--rdz-offwhite); border-radius: var(--rdz-radius-md); max-width: 640px; width: 100%; max-height: 90vh; box-shadow: 0 10px 30px rgba(0,0,0,0.25); position: relative; padding: var(--rdz-space-4) var(--rdz-space-5) var(--rdz-space-5); display: flex; flex-direction: column; gap: var(--rdz-space-3); overflow-y: auto; }
#rdz-font-modal img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
.rdz-emb-modal__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); margin-bottom: var(--rdz-space-1); color: var(--rdz-dark); }
.rdz-emb-modal__note { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-blue); }
.rdz-emb-modal__close { position: absolute; right: 10px; top: 8px; border: none; background: transparent; font-size: 22px; line-height: 1; cursor: pointer; color: var(--rdz-black-60); }
.rdz-emb-modal__close:hover { color: var(--rdz-black); }
.rdz-emb-hint { margin-top: var(--rdz-space-2); font-family: var(--rdz-font-body); font-size: 13px; color: var(--rdz-black-60); padding: 0 var(--rdz-space-1); }

/* styl pisma - karty "Aa Bb Cc Dd" v realnem fontu; klik = modal s abecedou */
.rdz-emb-font-options-wrap { display: flex !important; gap: var(--rdz-space-3); justify-content: center; align-items: stretch; }
.rdz-emb-font-options-wrap .radio-type-button { flex: 1 1 0; min-width: 0; margin: 0 !important; }
.rdz-emb-font-options-wrap .radio-type-button > label { display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer; }
.rdz-emb-font-options-wrap .radio-type-button img,
.rdz-emb-font-options-wrap .radio-type-button > label > span { display: none !important; }
.rdz-emb-fontcard { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; background: var(--rdz-white); border-radius: var(--rdz-radius-sm); color: var(--rdz-dark); font-size: 19px; line-height: 1.15; text-align: center; padding: 6px; box-sizing: border-box; transition: box-shadow .15s ease, transform .15s ease; }
.rdz-emb-font-options-wrap .radio-type-button > label:hover .rdz-emb-fontcard { transform: translateY(-2px); }
.rdz-emb-font-options-wrap .radio-type-button input:checked ~ .rdz-emb-fontcard,
.rdz-emb-fontcard--active { box-shadow: 0 0 0 2px var(--rdz-blue); }
@media (max-width: 767px) {
	#rdz-font-modal-backdrop { align-items: flex-start; padding: 24px 10px; }
	#rdz-font-modal { max-width: 100%; border-radius: var(--rdz-radius-md); padding: 14px 14px 18px; max-height: 85vh; }
	.rdz-emb-modal__title { font-size: 18px; }
	.rdz-emb-modal__note { font-size: 12px; }
	.rdz-emb-hint { font-size: 12px; }
	.rdz-emb-fontcard { font-size: 13px; padding: 4px; line-height: 1.1; overflow: hidden; }
}

/* ====== panel konfiguratoru + toggle header ====== */
#rdz-embroidery-section {
	--rdz-emb-field-h: 42px;
	--rdz-emb-field-bd: 1.5px;
	background: transparent; border: 1.5px solid transparent; border-radius: 12px;
	padding: 0;
	margin: 0 0 var(--rdz-space-5) 0; box-sizing: border-box;
	transition: border-color .15s ease;
}

/* toggle header (+ Pridat / - Odebrat vysivku) - ridi skryty native select */
.rdz-emb-header { display: flex; align-items: center; justify-content: space-between; gap: var(--rdz-space-4); padding: 16px 12px; margin-bottom: var(--rdz-space-5); }
.rdz-emb-toggle { display: inline-flex; align-items: center; gap: var(--rdz-space-1); flex: 0 0 auto; background: none; border: 0; padding: 0; cursor: pointer; text-align: left; }
/* deti nechytaji klik - cele tlacitko (vc. mezer u SVG fill:none ikony) reaguje spolehlive */
.rdz-emb-toggle__icon, .rdz-emb-toggle__label { pointer-events: none; }
.rdz-emb-toggle__icon { width: 30px; height: 30px; flex: 0 0 30px; display: block; color: var(--rdz-black); }
.rdz-emb-toggle__icon svg { display: block; width: 100%; height: 100%; }
.rdz-emb-toggle__label { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-black); white-space: nowrap; }
.rdz-emb-toggle-hint { flex: 0 1 auto; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black-60); text-align: right; max-width: 288px; }
@media (max-width: 991px) {
	.rdz-emb-header { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-2); }
	.rdz-emb-toggle-hint { text-align: left; max-width: none; }
}

/* collapsed = jen header, telo skryte; cely panel klikaci + hover border */
#rdz-embroidery-section.rdz-emb--collapsed { padding-bottom: var(--rdz-space-4); cursor: pointer; }
#rdz-embroidery-section.rdz-emb--collapsed .rdz-emb-header { margin-bottom: 0; }
#rdz-embroidery-section.rdz-emb--collapsed .rdz-emb-body { display: none; }
@media (hover: hover) {
	#rdz-embroidery-section.rdz-emb--collapsed:hover { border-color: var(--rdz-black-60); }
}

/* telo + polozky */
.rdz-emb-body { display: flex; flex-direction: column; gap: var(--rdz-space-5); }
#rdz-embroidery-section .rdz-emb-item { margin: 0; }
/* native "Pridat vysivku" select (nese data) je skryty - ridi ho toggle */
.rdz-emb-native-add { display: none !important; }

/* labely (blue, "Text vysivky" tlumeny black-60) */
#rdz-embroidery-section .rdz-emb-item > .control-label {
	display: flex; align-items: center; gap: var(--rdz-space-1);
	margin: 0 0 var(--rdz-space-2) 0; padding: 0 var(--rdz-space-1);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1;
	color: var(--rdz-blue);
}
.rdz-emb-item--text > .control-label { color: var(--rdz-black-60); }
/* required hvezdicka - barva dle labelu + Literata italic (prebij OC cervenou) */
#rdz-embroidery-section .rdz-emb-item.required > .control-label::before,
#rdz-embroidery-section .rdz-emb-item.required > .control-label .required {
	color: inherit !important; font-family: var(--rdz-font-head); font-style: italic;
}
.rdz-emb-strong-label, .rdz-emb-strong-label strong { font-weight: var(--rdz-fw-reg) !important; }
.rdz-emb-color-title { white-space: nowrap !important; }

/* dropdowny + inputy (Druh vysivky select, Text vysivky input) */
#rdz-embroidery-section select.form-control,
#rdz-embroidery-section input.form-control {
	height: var(--rdz-emb-field-h); background: var(--rdz-white);
	border: var(--rdz-emb-field-bd) solid var(--rdz-gray); border-radius: var(--rdz-radius-sm);
	padding: 0 var(--rdz-space-4); box-shadow: none;
	font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60);
}
#rdz-embroidery-section select.form-control {
	font-weight: var(--rdz-fw-semi); cursor: pointer;
	-webkit-appearance: none; -moz-appearance: none; appearance: none; padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23101E4D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center; background-size: 20px 20px;
}
#rdz-embroidery-section input.form-control { font-weight: var(--rdz-fw-reg); }
#rdz-embroidery-section input.form-control::placeholder { color: var(--rdz-black-60); opacity: 1; }
#rdz-embroidery-section .form-control:focus { border-color: var(--rdz-blue); outline: none; }

/* barva vysivky - ctvercova mrizka 6 sloupcu, radius 8 */
.rdz-emb-color-options-wrap { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: var(--rdz-space-3); justify-items: stretch; align-items: stretch; }
.rdz-emb-color-options-wrap .radio-type-button { margin: 0 !important; width: 100%; }
.rdz-emb-color-options-wrap .radio-type-button > label { display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer; }
/* swatche = ploche barvy - obrazkove thumby skryte, barvu nese .rdz-emb-swatch */
.rdz-emb-color-options-wrap .radio-type-button > label > span:not(.rdz-emb-swatch),
.rdz-emb-color-options-wrap .radio-type-button img { display: none !important; }
.rdz-emb-swatch {
	display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: var(--rdz-radius-md);
	box-sizing: border-box; transition: box-shadow .15s ease, transform .15s ease;
}
.rdz-emb-swatch--light { border: 1px solid var(--rdz-black); }
.rdz-emb-color-options-wrap .radio-type-button > label:hover .rdz-emb-swatch { transform: translateY(-2px); }
.rdz-emb-color-options-wrap .radio-type-button input:checked ~ .rdz-emb-swatch,
.rdz-emb-swatch--active { box-shadow: 0 0 0 2px var(--rdz-blue); }

/* ====== cislovane kroky konfiguratoru (dle navrhu Figma) ======
   Sablona obaluje kazdou vysivkovou volbu do .rdz-emb-step; nadpis a popis kroku
   jsou v hlavicce, puvodni label volby se proto skryva. */
#rdz-embroidery-section .rdz-emb-step { margin: 0; margin-bottom: 0 }
#rdz-embroidery-section .rdz-emb-step__head {
	display: flex; align-items: flex-start; gap: 14px;
	padding: 17px 30px; margin: 0;
}
#rdz-embroidery-section .rdz-emb-step__num {
	flex: 0 0 45px; width: 45px; height: 45px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--rdz-cream); border: 0;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 25px; line-height: 32px; color: var(--rdz-black);
}
#rdz-embroidery-section .rdz-emb-step__titles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#rdz-embroidery-section .rdz-emb-step__title {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 25px; line-height: 32px; color: var(--rdz-dark);
}
#rdz-embroidery-section .rdz-emb-step__desc {
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med);
	font-size: 16px; line-height: 24px; color: var(--rdz-black-60);
}
#rdz-embroidery-section .rdz-emb-step__body > .rdz-emb-item > .control-label { display: none; }
/* Rozestupy drzi flex gap, ne scitani marginu - v navrhu je mezi vsemi bloky 20px,
   a to i mezi hlavickou kroku a jeho obsahem. */
#rdz-embroidery-section .rdz-emb-body { display: flex; flex-direction: column; gap: 20px; }
#rdz-embroidery-section .rdz-emb-body > * { margin-top: 0; margin-bottom: 0; }
#rdz-embroidery-section .rdz-emb-step { display: flex; flex-direction: column; gap: 20px; margin: 0; }
#rdz-embroidery-section .rdz-emb-step__body > .rdz-emb-item { margin-bottom: 0; }
#rdz-embroidery-section .rdz-emb-step__titles { gap: 10px; }

/* umisteni vysivky: dve dlazdice s ilustraci (dle navrhu) */
#rdz-embroidery-section .rdz-emb-positions > div {
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--rdz-space-3);
}
/* jedine umisteni (kilty) - dlazdice se neroztahuje pres celou sirku, ale stoji na stredu */
#rdz-embroidery-section .rdz-emb-positions > div:has(> .radio-type-button:only-child) {
	grid-template-columns: minmax(0, 250px); justify-content: center;
}
#rdz-embroidery-section .rdz-emb-positions .radio-type-button { display: block; width: 100%; margin: 0 !important; }
#rdz-embroidery-section .rdz-emb-postile {
	position: relative; display: flex; flex-direction: column; align-items: center;
	gap: var(--rdz-space-1); margin: 0 !important; padding: var(--rdz-space-5) var(--rdz-space-4) var(--rdz-space-4);
	background: var(--rdz-offwhite); border: 1.5px solid transparent; border-radius: var(--rdz-radius-md);
	cursor: pointer; text-align: center; box-sizing: border-box;
	transition: border-color .15s ease, background-color .15s ease;
}
#rdz-embroidery-section .rdz-emb-postile:hover { border-color: var(--rdz-gray); }
/* nativni radio schovat - vlastni kolecko vlevo nahore */
#rdz-embroidery-section .rdz-emb-postile > input[type="radio"] {
	position: absolute; opacity: 0; width: 0; height: 0; margin: 0; pointer-events: none;
}
#rdz-embroidery-section .rdz-emb-postile::before {
	content: ''; position: absolute; left: var(--rdz-space-3); top: var(--rdz-space-3);
	width: 22px; height: 22px; border-radius: 50%;
	background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}
/* v teto sablone maji spany uvnitr radio-type-button vzhled pilulky - v dlazdici to prebijeme */
#rdz-embroidery-section .rdz-emb-postile > span {
	display: block; width: auto; max-width: 100%;
	height: auto; min-height: 0; overflow: visible;
	background: none; border: 0; padding: 0; margin: 0;
	white-space: normal; text-transform: none; box-shadow: none;
}
#rdz-embroidery-section .rdz-emb-postile__art { width: 100%; max-width: 118px; height: auto; display: block; margin-bottom: var(--rdz-space-2); }
#rdz-embroidery-section .rdz-emb-postile__title {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 20px; line-height: 1.2; color: var(--rdz-dark);
}
#rdz-embroidery-section .rdz-emb-postile__desc {
	font-family: var(--rdz-font-body); font-size: 13px; line-height: 1.35; color: var(--rdz-black-60);
}
#rdz-embroidery-section .rdz-emb-postile > .rdz-emb-postile__price {
	display: inline-flex; align-items: center; justify-content: center;
	width: 66px; height: 30px; margin-top: var(--rdz-space-2); padding: 0;
	background: var(--rdz-cream); border-radius: 100px; white-space: nowrap;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px;
	line-height: 1; color: var(--rdz-black);
}
/* vybrany stav: zeleny ramecek + zelene kolecko s teckou */
#rdz-embroidery-section .rdz-emb-postile:has(> input:checked) {
	background: var(--rdz-white); border-color: var(--rdz-green);
}
#rdz-embroidery-section .rdz-emb-postile:has(> input:checked)::before {
	border-color: var(--rdz-green); background: radial-gradient(circle at 50% 50%, var(--rdz-green) 0 5.5px, var(--rdz-white) 5.5px 100%);
}
@media (max-width: 480px) {
	#rdz-embroidery-section .rdz-emb-positions > div,
	#rdz-embroidery-section .rdz-emb-positions > div > div { grid-template-columns: 1fr; }
}

/* pole s textem vysivky: dle navrhu bez ramecku, zadany text serifovou kurzivou */
#rdz-embroidery-section .rdz-emb-item--text input.form-control {
	height: 56px; background: var(--rdz-offwhite); border: 1.5px solid transparent;
	border-radius: var(--rdz-radius-md); padding: 0 var(--rdz-space-5);
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 22px; color: var(--rdz-dark);
}
#rdz-embroidery-section .rdz-emb-item--text input.form-control::placeholder {
	font-family: var(--rdz-font-body); font-style: normal; font-size: var(--rdz-fs-sm);
	color: var(--rdz-black-60);
}
#rdz-embroidery-section .rdz-emb-item--text input.form-control:focus { border-color: var(--rdz-gray); }

/* prazdne pole: placeholder zarovnany vlevo, svisle na stred (resi vyska pole);
   pocitadlo 0/20 se skryva, aby nekolidovalo s delsim placeholderem */
#rdz-embroidery-section .rdz-emb-item--text input.form-control:placeholder-shown {
	text-align: left; line-height: 56px;
}
#rdz-embroidery-section .rdz-emb-textwrap input:placeholder-shown ~ .rdz-emb-count { display: none; }

/* pocitadlo znaku v poli s textem (dle navrhu vpravo v ramecku) */
#rdz-embroidery-section .rdz-emb-textwrap { position: relative; }
#rdz-embroidery-section .rdz-emb-textwrap > input { padding-right: 72px; }
#rdz-embroidery-section .rdz-emb-count {
	position: absolute; right: var(--rdz-space-4); top: 50%; transform: translateY(-50%);
	font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1;
	color: var(--rdz-black-60); pointer-events: none;
}
#rdz-embroidery-section .rdz-emb-count--over { color: var(--rdz-red); }
#rdz-embroidery-section .rdz-emb-hint--text { margin-top: var(--rdz-space-2); text-align: center; }

/* styl pisma: dle navrhu radky pod sebou, text na stred, kolecko vlevo v ramecku */
#rdz-embroidery-section .rdz-emb-font-options-wrap { flex-direction: column; gap: var(--rdz-space-2); }
#rdz-embroidery-section .rdz-emb-font-options-wrap .rdz-emb-fontcard {
	position: relative; aspect-ratio: auto; justify-content: center;
	/* dle navrhu: padding 20/30, kolecko 25px, mezera 14px -> text zacina na 69px */
	padding: 20px 30px 20px 69px; min-height: 67px;
	background: var(--rdz-offwhite); font-size: 25px; line-height: 32px;
	border: 1px solid transparent; border-radius: 10px;
}
#rdz-embroidery-section .rdz-emb-font-options-wrap .rdz-emb-fontcard::before {
	content: ''; position: absolute; left: 30px; top: 50%; transform: translateY(-50%);
	width: 25px; height: 25px; border-radius: 50%; background: var(--rdz-white);
	border: 1.5px solid var(--rdz-gray); box-sizing: border-box;
	transition: box-shadow .15s ease, border-color .15s ease;
}
#rdz-embroidery-section .rdz-emb-font-options-wrap .radio-type-button input:checked ~ .rdz-emb-fontcard::before {
	border-color: var(--rdz-green); background: radial-gradient(circle at 50% 50%, var(--rdz-green) 0 5.5px, var(--rdz-white) 5.5px 100%);
}
#rdz-embroidery-section .rdz-emb-font-options-wrap .radio-type-button input:checked ~ .rdz-emb-fontcard {
	background: var(--rdz-white); border-color: var(--rdz-green);
}
#rdz-embroidery-section .rdz-emb-font-options-wrap .radio-type-button > label:hover .rdz-emb-fontcard { transform: none; border-color: var(--rdz-gray); }
#rdz-embroidery-section .rdz-emb-font-options-wrap .radio-type-button input:checked ~ .rdz-emb-fontcard:hover { border-color: var(--rdz-green); }
/* JS znaci kliknutou kartu tridou --active (modry box-shadow z puvodniho stylu) - v konfiguratoru zelena dle navrhu */
#rdz-embroidery-section .rdz-emb-font-options-wrap .rdz-emb-fontcard--active {
	box-shadow: none; background: var(--rdz-white); border-color: var(--rdz-green);
}

/* ====== rdz delivery (doba doruceni) - text recolor na black-60; odhad pocita PHP (rdz_delivery_lib) ====== */
.rdz-card-delivery {
	--rdz-deliv-text: var(--rdz-black-60);  /* lehky brand recolor (jinak male, beze zmeny layoutu) */
	--rdz-deliv-info-bd: #bbb;
	--rdz-deliv-info-text: #777;
	--rdz-deliv-tip-bg: #ffffff;
	--rdz-deliv-tip-bd: #ddd;

	margin-top: 6px;
	font-size: 12px;
	color: var(--rdz-deliv-text);
	text-align: center;
	position: relative;
}
/* detail delivery: black-60 text (logika dynamicka, jen recolor; karty -list zustavaji) */
.rdz-card-delivery-detail { margin-top: 4px; font-size: var(--rdz-fs-sm); text-align: left; color: var(--rdz-black-60); }
.rdz-card-delivery-info { display: inline-flex; align-items: center; justify-content: center; margin-left: 4px; width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--rdz-deliv-info-bd); font-size: 10px; font-weight: 600; color: var(--rdz-deliv-info-text); cursor: default; }
.rdz-card-delivery-detail .rdz-card-delivery-info { margin-left: 6px; width: 12px; height: 12px; border-radius: 50%; border: 1px solid var(--rdz-black-60); color: var(--rdz-black-60); font-size: 9px; font-weight: 600; cursor: help; }
.rdz-card-delivery-tooltip { display: none; position: absolute; left: 50%; bottom: 100%; transform: translateX(-50%); margin-bottom: 6px; padding: 6px 8px; background: var(--rdz-deliv-tip-bg); color: var(--rdz-deliv-text); border: 1px solid var(--rdz-deliv-tip-bd); border-radius: 4px; font-size: 11px; line-height: 1.4; width: 230px; max-width: 85vw; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); z-index: 99; }
.rdz-card-delivery-info:hover + .rdz-card-delivery-tooltip,
.rdz-card-delivery-info:focus + .rdz-card-delivery-tooltip,
.rdz-card-delivery.rdz-tooltip-open .rdz-card-delivery-tooltip { display: block; }

/* sezonni vanocni note (port GTM tag 182) - na DETAILU (product.twig:244), sezonni (peak od 1.12.).
   off-white panel + zluty left-accent + Literata italic heading. */
#rdz-delivery-note, #rdz-delivery-note-simple {
	background-color: var(--rdz-offwhite);
	border-left: 3px solid var(--rdz-yellow);
	border-radius: var(--rdz-radius-sm);
	padding: var(--rdz-space-3) var(--rdz-space-4);
	margin: var(--rdz-space-4) 0;
	font-family: var(--rdz-font-body);
	font-size: var(--rdz-fs-sm);
	line-height: 1.6;
	color: var(--rdz-dark);
}
/* heading = primy potomek <strong> (vanocni emoji + nadpis, z rdz_delivery_lib) */
#rdz-delivery-note > strong, #rdz-delivery-note-simple > strong { display: block; margin-bottom: var(--rdz-space-2); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-dark); }
#rdz-delivery-note p, #rdz-delivery-note-simple p { margin: 0 0 var(--rdz-space-2) 0; }
#rdz-delivery-note p:last-child, #rdz-delivery-note-simple p:last-child { margin-bottom: 0; }
#rdz-delivery-note p strong, #rdz-delivery-note-simple p strong { font-weight: var(--rdz-fw-semi); }
.rdz-embroidery-dynamic-note { margin-top: var(--rdz-space-1); color: var(--rdz-dark); }
/* blokace vysivky pred Vanoci (tag 184) - ticha info-note POD boxem (ikona + ztlumeny text, ne box) */
.rdz-emb-block-note { display: flex; align-items: flex-start; gap: var(--rdz-space-2); margin: 0 0 var(--rdz-space-5); padding: 0 var(--rdz-space-1); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: 13px; line-height: 1.5; color: var(--rdz-black-60); }
.rdz-emb-block-note__icon { flex: 0 0 auto; display: inline-flex; margin-top: 1px; color: var(--rdz-blue); }
.rdz-emb-block-note__icon svg { width: 16px; height: 16px; display: block; }
/* blokovany box se nenatahuje - mensi mezera at popisek sedi tesne pod nim */
#rdz-embroidery-section.rdz-emb--blocked { margin-bottom: var(--rdz-space-2); }
/* blokovany toggle = zasedly, nejde rozbalit, not-allowed kurzor a bez hover borderu */
.rdz-emb--blocked .rdz-emb-toggle { opacity: 0.45; pointer-events: none; }
.rdz-emb--blocked .rdz-emb-toggle-hint { opacity: 0.6; }
#rdz-embroidery-section.rdz-emb--blocked.rdz-emb--collapsed { cursor: not-allowed; }
#rdz-embroidery-section.rdz-emb--blocked.rdz-emb--collapsed:hover { border-color: transparent; }

/* sezonni vanocni hlaska v kosiku (port gtm tag 192) - DS rodina notes */
.rdz-cart-note { background-color: var(--rdz-offwhite); border-left: 3px solid var(--rdz-yellow); border-radius: var(--rdz-radius-sm); padding: var(--rdz-space-3) var(--rdz-space-4); margin: 0 0 var(--rdz-space-4); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.6; color: var(--rdz-dark); }
.rdz-cart-note__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); margin-bottom: var(--rdz-space-2); }
.rdz-cart-note__body strong { font-weight: var(--rdz-fw-semi); }
@media (max-width: 767px) { .rdz-cart-note { font-size: 13px; padding: var(--rdz-space-2) var(--rdz-space-3); } }

@media (max-width: 767px) {
	.rdz-card-delivery { font-size: 11px; }
	.rdz-card-delivery-detail { font-size: 13px; }
	.rdz-card-delivery-tooltip { font-size: 11px; }
	#rdz-delivery-note, #rdz-delivery-note-simple { margin: 12px 0 16px 0; padding: 10px 12px; font-size: 13px; line-height: 1.5; }
	.rdz-embroidery-dynamic-note { font-size: 13px; line-height: 1.5; }
}

/* ====== rdz badge "Moznost vysivky" (port GTM tag 222).
   ma styl badge na kartach ("nejprodavanejsi" pill) -> prejato: svetly pill + brand navy + nas SVG icon.
   svg fill se prebiji pres CSS (twig ma fill="#ffffff"). ====== */
.rdz-emb-badge {
	position: absolute; right: 8px; bottom: 8px;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 12px; background: var(--rdz-white); color: var(--rdz-dark);
	border-radius: var(--rdz-radius-pill); font-family: var(--rdz-font-body); font-size: 12px; font-weight: var(--rdz-fw-semi); line-height: 1;
	z-index: 6; pointer-events: none; box-sizing: border-box; white-space: nowrap;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}
.rdz-emb-badge svg { display: block; width: 13px; height: 13px; flex: 0 0 13px; }
.rdz-emb-badge svg path { fill: currentColor; }
/* badge kotvime do obrazku karty */
.product-thumb .image { position: relative; }
/* behem souběhu (theme nasazene, GTM jeste bezi) schovej GTM duplikat; po cutoveru uz neexistuje */
.dz-emb-badge { display: none !important; }
@media (max-width: 767px) {
	.rdz-emb-badge { right: 3px; bottom: 3px; gap: 5px; padding: 6px 10px; font-size: 11px; }
	.rdz-emb-badge svg { width: 12px; height: 12px; flex: 0 0 12px; }
}

/* ====== rdz stitky produktu (task 2139) - pres uvodni fotografii ======
   Geometrie je stejna jako u ostatnich pilulek na fotce (.rdz-emb-badge,
   .rdz-rit-badge), lisi se jen barva podle typu stitku. Kolik jich na fotku
   muze, resi nastaveni modulu - CSS je jen skládá pod sebe. ====== */
.rdz-plabels {
	position: absolute; left: 12px; top: 12px; z-index: 6;
	display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
	pointer-events: none;
}
/* Podoba pilulek je z navrhu (Figma 5981:4818, layer "Stitky"): 25 px vysoka
   pilulka, Inter Medium 10 px, ikona vlevo, bez stinu. Kazdy typ stitku ma
   vlastni barvu a ikonu (Sleva je bez ikony), viz nize. Ikona jde pres mask
   s currentColor, takze jeden SVG soubor slouzi svetle i tmave pilulce. */
.rdz-plabel {
	display: inline-flex; align-items: center; gap: 6px;
	height: 25px; padding: 0 15px; border-radius: var(--rdz-radius-pill);
	background: var(--rdz-yellow); color: var(--rdz-dark);
	font-family: var(--rdz-font-body); font-size: 10px; font-weight: var(--rdz-fw-med); line-height: 1;
	white-space: nowrap;
}
.rdz-plabel::before {
	content: ""; flex: 0 0 auto; display: none;
	background: currentColor;
	-webkit-mask: var(--rdz-plabel-ico) center / contain no-repeat; mask: var(--rdz-plabel-ico) center / contain no-repeat;
}
.rdz-plabel--sale { background: #DC3535; color: var(--rdz-offwhite); }
.rdz-plabel--lowstock { background: var(--rdz-yellow); color: var(--rdz-dark); --rdz-plabel-ico: url(../image/rdz-label-lowstock.svg); }
.rdz-plabel--lowstock::before { display: block; width: 8px; height: 11px; }
.rdz-plabel--limited { background: #E0E6F2; color: var(--rdz-dark); --rdz-plabel-ico: url(../image/rdz-label-limited.svg); }
.rdz-plabel--limited::before { display: block; width: 12px; height: 11px; }
.rdz-plabel--season { background: var(--rdz-green); color: var(--rdz-offwhite); --rdz-plabel-ico: url(../image/rdz-label-season.svg); }
.rdz-plabel--season::before { display: block; width: 13px; height: 13px; }
.rdz-plabel--bestseller { background: var(--rdz-cream); color: var(--rdz-dark); --rdz-plabel-ico: url(../image/rdz-label-bestseller.svg); }
.rdz-plabel--bestseller::before { display: block; width: 12px; height: 10px; }
.rdz-plabel--new { background: var(--rdz-dark); color: var(--rdz-offwhite); --rdz-plabel-ico: url(../image/rdz-label-new.svg); }
.rdz-plabel--new::before { display: block; width: 16px; height: 16px; }
.rdz-plabel--freeship { background: #1F2937; color: var(--rdz-offwhite); --rdz-plabel-ico: url(../image/rdz-label-freeship.svg); }
.rdz-plabel--freeship::before { display: block; width: 13px; height: 11px; }
@media (max-width: 767px) {
	.rdz-plabels { left: 6px; top: 6px; gap: 5px; }
}

/* Detail produktu: fotka je velka, odsazeni proto 32 px jako v navrhu.
   Stitky vlevo nahore, znacka certifikace vpravo nahore (Figma 4243:4322). */
#product-product .thumbnails > li:not(.image-additional) { position: relative; }
.rdz-plabels--detail { left: 32px; top: 32px; }
/* Odznaky stoji ve sloupci vpravo nahore, 12 px mezi sebou (Figma: 32 -> 136 -> 240).
   Kdyz je certifikace vypnuta, posune se "Overeno zakazniky" nahoru samo. */
.rdz-pbadges {
	position: absolute; right: 32px; top: 32px; z-index: 6; pointer-events: none;
	display: flex; flex-direction: column; align-items: center; gap: 12px;
}
/* Odznak "Overeno zakaznicky" - bily kruh s ikonou medaile (Figma 4243:4416) */
.rdz-pbadge-verified {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	width: 92px; height: 92px; border-radius: 50%;
	background: var(--rdz-white); color: var(--rdz-dark);
	/* Navrh ma 14px, ale mel v kolecku "lorem ipsum" - "zakazniky" je delsi slovo
	   a v miste radku ma kruh tetivu jen ~80 px, takze se text tiskl ke krajum. */
	font-family: var(--rdz-font-body); font-size: 12px; font-weight: var(--rdz-fw-reg); line-height: 1.15;
	text-align: center; box-shadow: 0 1px 2.5px rgba(0, 0, 0, .8);
}
#product-product .thumbnails .rdz-pbadges .rdz-pbadge-verified img { display: block; width: 36px; height: 36px; }
/* Dlouhy selektor schvalne: galerie vyse ma
   `#product-product .thumbnails > li:not(.image-additional) img { width: 100% }`,
   coz je specificita (1,2,2) - tohle je (1,3,1) a prebije to. */
#product-product .thumbnails .rdz-oekotex.rdz-oekotex--icon img { display: block; width: 92px; height: 92px; }
/* zaloha, dokud znacka v tematu neni: pilulka s textem na stejnem miste */
.rdz-oekotex span {
	display: inline-flex; align-items: center;
	padding: 8px 12px; border-radius: var(--rdz-radius-pill);
	background: var(--rdz-white); color: var(--rdz-dark);
	font-family: var(--rdz-font-body); font-size: 12px; font-weight: var(--rdz-fw-semi); line-height: 1;
	white-space: nowrap; box-shadow: 0 1px 2.5px rgba(0, 0, 0, .8);
}
@media (max-width: 767px) {
	.rdz-plabels--detail { left: 12px; top: 12px; }
	.rdz-pbadges { right: 12px; top: 12px; gap: 8px; }
	#product-product .thumbnails .rdz-oekotex.rdz-oekotex--icon img { width: 64px; height: 64px; }
	.rdz-pbadge-verified { width: 64px; height: 64px; gap: 2px; font-size: 9px; }
	#product-product .thumbnails .rdz-pbadges .rdz-pbadge-verified img { width: 26px; height: 26px; }
	.rdz-oekotex span { padding: 6px 10px; font-size: 11px; }
}

/* ====== rdz dostupnost barva (tag 187) -> green; subtitle (tag 219) -> outline pill (viz vyse) ====== */
.rdz-availability {
	--rdz-avail-instock: var(--rdz-green);  /* green #36814A */
	--rdz-avail-preorder: #f0a000;
	--rdz-avail-outstock: var(--rdz-red);
	font-weight: var(--rdz-fw-semi);
}
.rdz-availability--instock { color: var(--rdz-avail-instock); }
.rdz-availability--preorder { color: var(--rdz-avail-preorder); }
.rdz-availability--outstock { color: var(--rdz-avail-outstock); }
/* subtitle "moznost vysivky na prani" - outline pill NAD nazvem */
#rdz-embroidery-subtitle { display: table; clear: both; margin: var(--rdz-space-3) 0 var(--rdz-space-2) 0; padding: var(--rdz-space-2) var(--rdz-space-3); background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); border-radius: 12px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-black-60); }
/* behem souběhu (theme nasazene, GTM jeste bezi) schovej GTM duplikaty; po cutoveru neexistuji */
#dz-embroidery-subtitle { display: none !important; }

/* ====== rdz wellness barva - grid swatchu + nazvy (port GTM tag 214).
   swatch stylem jako u vysivky: ctvercovy foto swatch r8 + nazev v caption + modry aktivni ring. ====== */
.rdz-wellness-color > .control-label { display: block; margin: 0 0 var(--rdz-space-3) 0; padding: 0 var(--rdz-space-1); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-blue); }
.rdz-wellness-color-list { display: flex; flex-wrap: wrap; gap: var(--rdz-space-3); align-items: flex-start; }
.rdz-wellness-color-list .radio-type-button { display: inline-flex; margin: 0; padding: 0; }
.rdz-wellness-color-list .radio-type-button > label { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; width: 88px; gap: var(--rdz-space-2); text-align: center; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; cursor: pointer; }
.rdz-wellness-color-list .radio-type-button img,
.rdz-wellness-color-list .radio-type-button .img-thumbnail { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; margin: 0; padding: 0; border: 0; background: transparent; border-radius: var(--rdz-radius-md); box-shadow: none; transition: box-shadow .15s ease, transform .15s ease; }
.rdz-wellness-color-list .radio-type-button > label:hover img { transform: translateY(-2px); }
.rdz-wellness-color-list .radio-type-button input:checked ~ img,
.rdz-wellness-color-list .radio-type-button.active img,
.rdz-wellness-color-list .radio-type-button > label.active img { box-shadow: 0 0 0 2px var(--rdz-blue); }
/* span ma inline font-size:9px (z product.twig) -> nutne !important na velikost */
.rdz-wellness-color-list .radio-type-button span { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 32px; margin: 0; padding: 0 var(--rdz-space-1); background: transparent; border: 0; border-radius: 0; box-shadow: none; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-sm) !important; line-height: 1.25; text-align: center; white-space: normal; color: var(--rdz-dark); }

/* ====== rdz darkovy box (port GTM tag 220) - info/promo box (nefunkcni, "produkt = darek").
   (vlastni velka sekce 4 karticek = jiny koncept, follow-up s assety),
   sjednoceno v nasem DS: cream panel, navy ikona, Literata italic titulek. ====== */
#rdz-gift-options-box {
	display: flex; align-items: flex-start; gap: var(--rdz-space-3); padding: var(--rdz-space-4);
	margin: var(--rdz-space-4) 0; background: var(--rdz-cream); border: 1px solid var(--rdz-yellow); border-radius: 12px; box-sizing: border-box;
}
#rdz-gift-options-box .rdz-gift-icon { flex: 0 0 34px; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; margin-top: 2px; color: var(--rdz-dark); }
#rdz-gift-options-box .rdz-gift-icon svg { display: block; width: 100%; height: 100%; }
#rdz-gift-options-box .rdz-gift-text { line-height: 1.4; }
#rdz-gift-options-box .rdz-gift-title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-dark); margin: 0 0 var(--rdz-space-1) 0; }
#rdz-gift-options-box .rdz-gift-subtitle { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.4; color: var(--rdz-black-60); margin: 0; }
/* behem souběhu schovej GTM duplikat; po cutoveru neexistuje */
#dz-gift-options-box { display: none !important; }


.rdz-prod { padding: var(--rdz-section-y) 0; }
.rdz-prod, .rdz-prod * { box-sizing: border-box; }

.rdz-prod__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.rdz-prod__title { margin: 0; }
.rdz-prod__cta { flex: 0 0 auto; }

.rdz-prod__slider { position: relative; }
.rdz-prod .swiper-wrapper { align-items: stretch; }
.rdz-prod .swiper-slide { height: auto; }

/* kategorie mrizka */
.rdz-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--rdz-space-5); }
.rdz-cat-grid, .rdz-cat-grid * { box-sizing: border-box; }
@media (max-width: 991px) { .rdz-cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .rdz-cat-grid { grid-template-columns: 1fr; } }
/* vzduch nad cenou (karty bez velikosti) */
.rdz-cat-grid .rdz-pcard__body:not(.rdz-needs-size) .rdz-pcard__foot,
.rdz-prod--related .rdz-pcard__body:not(.rdz-needs-size) .rdz-pcard__foot { padding-top: var(--rdz-space-6); }
/* prebiti legacy #product-product h2 (zlata) na navy + nadpis sekce na stred (homepage ma vlastni s CTA vlevo) */
#product-product .rdz-prod--related .rdz-prod__head { justify-content: center; }
#product-product .rdz-prod--related .rdz-prod__title { color: var(--rdz-dark); text-align: center; }

/* breadcrumb - kategorie + detail + vypisy: plain + chevron ikona */
#product-category .breadcrumb, #rdz-darky .breadcrumb, #onepagecheckout .breadcrumb, #product-product .breadcrumb, #product-search .breadcrumb, #product-manufacturer .breadcrumb, #information-information .breadcrumb, #information-contact .breadcrumb, #information-sitemap .breadcrumb, #tltblog-tlttag .breadcrumb, #tltblog-tltblog .breadcrumb, #product-compare .breadcrumb, #error-not-found .breadcrumb, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.4; }
#product-category .breadcrumb > li, #rdz-darky .breadcrumb > li, #onepagecheckout .breadcrumb > li, #product-product .breadcrumb > li, #product-search .breadcrumb > li, #product-manufacturer .breadcrumb > li, #information-information .breadcrumb > li, #information-contact .breadcrumb > li, #information-sitemap .breadcrumb > li, #tltblog-tlttag .breadcrumb > li, #tltblog-tltblog .breadcrumb > li, #product-compare .breadcrumb > li, #error-not-found .breadcrumb > li, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li { color: var(--rdz-black-60); padding: 0; }
#product-category .breadcrumb > li:after, #rdz-darky .breadcrumb > li:after, #onepagecheckout .breadcrumb > li:after, #product-product .breadcrumb > li:after, #product-search .breadcrumb > li:after, #product-manufacturer .breadcrumb > li:after, #information-information .breadcrumb > li:after, #information-contact .breadcrumb > li:after, #information-sitemap .breadcrumb > li:after, #tltblog-tlttag .breadcrumb > li:after, #tltblog-tltblog .breadcrumb > li:after, #product-compare .breadcrumb > li:after, #error-not-found .breadcrumb > li:after, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li:after { display: none; }
#product-category .breadcrumb > li + li:before, #rdz-darky .breadcrumb > li + li:before, #onepagecheckout .breadcrumb > li + li:before, #product-product .breadcrumb > li + li:before, #product-search .breadcrumb > li + li:before, #product-manufacturer .breadcrumb > li + li:before, #information-information .breadcrumb > li + li:before, #information-contact .breadcrumb > li + li:before, #information-sitemap .breadcrumb > li + li:before, #tltblog-tlttag .breadcrumb > li + li:before, #tltblog-tltblog .breadcrumb > li + li:before, #product-compare .breadcrumb > li + li:before, #error-not-found .breadcrumb > li + li:before, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li + li:before { content: ""; display: inline-block; width: 7px; height: 12px; margin: 0 var(--rdz-space-2); vertical-align: middle; background: var(--rdz-black-60); -webkit-mask: url(../image/rdz-ico-chevron.svg) center / contain no-repeat; mask: url(../image/rdz-ico-chevron.svg) center / contain no-repeat; }
#product-category .breadcrumb > li a, #rdz-darky .breadcrumb > li a, #onepagecheckout .breadcrumb > li a, #product-product .breadcrumb > li a, #product-search .breadcrumb > li a, #product-manufacturer .breadcrumb > li a, #information-information .breadcrumb > li a, #information-contact .breadcrumb > li a, #information-sitemap .breadcrumb > li a, #tltblog-tlttag .breadcrumb > li a, #tltblog-tltblog .breadcrumb > li a, #product-compare .breadcrumb > li a, #error-not-found .breadcrumb > li a, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li a { color: var(--rdz-black-60); text-decoration: none; transition: color .15s ease; }
#product-category .breadcrumb > li a:hover, #rdz-darky .breadcrumb > li a:hover, #onepagecheckout .breadcrumb > li a:hover, #product-product .breadcrumb > li a:hover, #product-search .breadcrumb > li a:hover, #product-manufacturer .breadcrumb > li a:hover, #information-information .breadcrumb > li a:hover, #information-contact .breadcrumb > li a:hover, #information-sitemap .breadcrumb > li a:hover, #tltblog-tlttag .breadcrumb > li a:hover, #tltblog-tltblog .breadcrumb > li a:hover, #product-compare .breadcrumb > li a:hover, #error-not-found .breadcrumb > li a:hover, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li a:hover { color: var(--rdz-dark); text-decoration: underline; }
#product-category .breadcrumb > li:first-child a, #rdz-darky .breadcrumb > li:first-child a, #onepagecheckout .breadcrumb > li:first-child a, #product-category .breadcrumb > li:last-child a, #rdz-darky .breadcrumb > li:last-child a, #onepagecheckout .breadcrumb > li:last-child a, #product-product .breadcrumb > li:first-child a, #product-product .breadcrumb > li:last-child a, #product-search .breadcrumb > li:first-child a, #product-manufacturer .breadcrumb > li:first-child a, #information-information .breadcrumb > li:first-child a, #information-contact .breadcrumb > li:first-child a, #information-sitemap .breadcrumb > li:first-child a, #tltblog-tlttag .breadcrumb > li:first-child a, #tltblog-tltblog .breadcrumb > li:first-child a, #product-compare .breadcrumb > li:first-child a, #error-not-found .breadcrumb > li:first-child a, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li:first-child a, #product-search .breadcrumb > li:last-child a, #product-manufacturer .breadcrumb > li:last-child a, #information-information .breadcrumb > li:last-child a, #information-contact .breadcrumb > li:last-child a, #information-sitemap .breadcrumb > li:last-child a, #tltblog-tlttag .breadcrumb > li:last-child a, #tltblog-tltblog .breadcrumb > li:last-child a, #product-compare .breadcrumb > li:last-child a, #error-not-found .breadcrumb > li:last-child a, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li:last-child a { color: var(--rdz-black-60); }
#product-category .breadcrumb, #rdz-darky .breadcrumb, #onepagecheckout .breadcrumb, #product-search .breadcrumb, #product-manufacturer .breadcrumb, #information-information .breadcrumb, #information-contact .breadcrumb, #information-sitemap .breadcrumb, #tltblog-tlttag .breadcrumb, #tltblog-tltblog .breadcrumb, #product-compare .breadcrumb, #error-not-found .breadcrumb, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb { margin: var(--rdz-space-4) 0 var(--rdz-space-5); }

#product-product .rdz-ptop { display: flex; flex-direction: column; gap: var(--rdz-space-6); margin: var(--rdz-space-4) 0 var(--rdz-space-6); }  /* breadcrumb + meta radek pod sebou */
#product-product .rdz-ptop .breadcrumb { margin: 0; }
#product-product .rdz-ptop__right { display: flex; align-items: center; justify-content: flex-end; gap: var(--rdz-space-4); }
#product-product .rdz-ptop__meta { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); white-space: nowrap; }
#product-product .rdz-ptop__meta strong { font-weight: var(--rdz-fw-semi); }
#product-product .rdz-ptop__tools { display: inline-flex; align-items: center; gap: var(--rdz-space-4); }
#product-product .rdz-ptop__tool { border: 0; background: none; padding: 0; cursor: pointer; color: var(--rdz-gray); display: inline-flex; align-items: center; transition: color .15s ease; }
#product-product .rdz-ptop__tool:hover { color: var(--rdz-dark); }
#product-product .rdz-ptop__ico { width: 24px; height: 24px; }
/* stare srdce/compare v sidebaru - skryto (jsou v horni liste); markup zustava = drzi {{ button_compare }} kotvu */
#product-product .col-sm-5 > .btn-group { display: none; }

/* ====== galerie detailu (foto + thumbnaily) ====== */
#product-product .thumbnails { display: flex; flex-wrap: wrap; gap: var(--rdz-space-5); margin: 0; overflow: visible; }
#product-product .thumbnails > li { margin: 0; padding: 0; float: none; max-width: none; list-style: none; }
#product-product .thumbnails > li:not(.image-additional) { flex: 0 0 100%; }                               /* hlavni foto pres celou sirku */
#product-product .thumbnails > li.image-additional { flex: 0 0 calc((100% - 4 * var(--rdz-space-5)) / 5); }  /* 5 v rade, zbytek wrap do dalsich rad */
#product-product .thumbnails a.thumbnail { display: block; margin: 0; padding: 0; border: 0; background: none; border-radius: var(--rdz-radius-sm); overflow: hidden; }
#product-product .thumbnails > li:not(.image-additional) img { width: 100%; height: auto; display: block; border-radius: var(--rdz-radius-sm); }
#product-product .thumbnails .image-additional a.thumbnail { aspect-ratio: 1; }
#product-product .thumbnails .image-additional img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 767px) {
	#product-product .thumbnails { gap: var(--rdz-space-4); }
	#product-product .thumbnails > li.image-additional { flex: 0 0 calc((100% - 3 * var(--rdz-space-4)) / 4); }
}

/* ====== nazev produktu (h1) ====== */
#product-product #content h1 { margin: 0 0 var(--rdz-space-4); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
/* doplnkovy text za nazvem (oc_rdz_product_subtitle): stejna velikost i barva, jen tenci rez - navrh ma ExtraLight 200, nas subset Literaty zacina na 300 */
#product-product #content h1 .rdz-h1-sub { font-weight: var(--rdz-fw-light); }

/* rating strip under the title (Figma 106:4809): average + stars + count | icon + newest review */
#product-product .rdz-pstrip { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 var(--rdz-space-5); padding: 16px 20px; background: var(--rdz-dark); border-radius: var(--rdz-radius-panel); }
#product-product .rdz-pstrip__score { display: flex; align-items: center; gap: var(--rdz-space-3); flex: 0 0 auto; text-decoration: none; }
#product-product .rdz-pstrip__num { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-white); }
#product-product .rdz-pstrip__meta { display: flex; flex-direction: column; gap: var(--rdz-space-1); }
#product-product .rdz-pstrip .rdz-pstrip__stars { width: 84px; height: 16px; }
#product-product .rdz-pstrip__count { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-gray); white-space: nowrap; }
#product-product .rdz-pstrip__score:hover .rdz-pstrip__count { color: var(--rdz-white); }
#product-product .rdz-pstrip__quote { display: flex; align-items: center; gap: var(--rdz-space-3); flex: 0 1 276px; min-width: 0; }
#product-product .rdz-pstrip__ico { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: var(--rdz-blue); }
#product-product .rdz-pstrip__text { margin: 0; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-gray); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
@media (max-width: 767px) {
	#product-product .rdz-pstrip { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-4); }
	#product-product .rdz-pstrip__quote { flex: 0 1 auto; }
}

/* ====== 2-sloupcovy layout galerie/info ====== */
/* pomer sloupcu, jen desktop (mobil = stack) */
@media (min-width: 768px) {
  #product-product .row > .col-sm-7 { width: 52.7%; padding-right: 0; }               /* galerie */
  #product-product .row > .col-sm-5 { width: 43.9%; margin-left: 3.4%; padding-left: 0; }  /* info sidebar; gap = margin 40px (bez BS paddingu) */
}

/* ===== kategorie: uvodni banner + pruh benefitu (obsah z adminu) ===== */
/* fotka jde pres cely banner, gradient drzi kontrast jen pod textem vlevo (navrh: 627 z 1184 = 53 %) */
.rdz-cat-banner { position: relative; overflow: hidden; height: 300px; margin: var(--rdz-space-4) 0 var(--rdz-space-5); background: var(--rdz-dark); --rdz-banner-shade: .30; }
.rdz-cat-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Tmavne zleva doprava pod textem. Sila je ~55 % navrhu (Figma 5225:4437 ma .56
   u leve hrany): navrh pocita s klidnou fotkou, ale klientka nahrava vlastni
   a ta soucasna ma levou tretinu ve stinu stromu - plna hodnota z ni delala
   cerny blok. Ladi se promennou --rdz-banner-shade. */
.rdz-cat-banner__shade { position: absolute; inset: 0 auto 0 0; width: 53%; background: linear-gradient(271deg, rgba(31,31,31,0) 6%, rgba(31,31,31,calc(var(--rdz-banner-shade) * .664)) 40%, rgba(31,31,31,var(--rdz-banner-shade)) 80%); }
/* Absolutne pres cely banner, ne "height: 100%" v toku: rodic ma vysku jen
   z min-height / aspect-ratio, a procento proti auto vysce si kazdy engine
   resi po svem. Safari na iOS pak textu nedalo zadnou volnou vysku a
   justify-content nemel co rozdelovat - text zustaval vycentrovany i tam,
   kde ma byt dole. Pres inset: 0 je vyska vzdy definovana. */
.rdz-cat-banner__body { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; padding: var(--rdz-space-5) 40px; max-width: 620px; }
.rdz-cat-banner__title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: clamp(32px, 4vw, 56px); line-height: 1.1; color: var(--rdz-yellow); }
.rdz-cat-banner__lead { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: 1.35; color: var(--rdz-white); }
.rdz-cat-banner__cta { margin-top: var(--rdz-space-2); }  /* 18px gap + 8px = 26px z navrhu */

.rdz-cat-benefits { display: flex; align-items: center; justify-content: space-between; gap: var(--rdz-space-5); padding: 36px var(--rdz-space-3); background: var(--rdz-cream); }
.rdz-cat-benefit { display: flex; align-items: center; gap: var(--rdz-space-3); }
/* ikony z adminu maji ruzny pomer stran (jehla 1:1, oblacek 1,7:1) -> pevna vyska, sirka dopocitana a zastropovana */
.rdz-cat-benefit__ico { flex: 0 0 auto; width: auto; height: 60px; max-width: 84px; object-fit: contain; }
.rdz-cat-benefit__txt { display: flex; flex-direction: column; gap: var(--rdz-space-3); }
.rdz-cat-benefit__title { color: var(--rdz-dark); }
.rdz-cat-benefit__desc { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.35; color: var(--rdz-dark); }
/* na plne sirce se nazvy vejdou na radek (navrh) - uz je nelamat, at pruh drzi jednu vysku;
   pod 1240 px na to neni misto a nazev se radeji zalomi, nez aby pruh pretekl */
@media (min-width: 1240px) { .rdz-cat-benefit__title { white-space: nowrap; } }
/* cil CTA "sjed na produkty" - kotva je prazdna, jen posouva scroll */
.rdz-cat-anchor { display: block; height: 0; scroll-margin-top: var(--rdz-space-5); }

@media (max-width: 991px) {
  .rdz-cat-benefits { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-5); padding: var(--rdz-space-6) var(--rdz-space-5); }
  .rdz-cat-benefit__txt { gap: var(--rdz-space-2); }
}
/* Banner prepina na "uzky" rezim az na 767 px - vylozene telefonni breakpoint.
   Tablet i Android s prepnutym "Zobrazit verzi pro pocitac" (hlasi sirku kolem
   980 px) tedy dostanou desktopovou podobu, tedy 300px pruh s textem vlevo. */
@media (max-width: 767px) {
  /* fotka dostane vlastni pomer stran, na vysku - na telefonu je banner delsi nez sirsi.
     Sirka natvrdo - s aspect-ratio a auto sirkou si ji prohlizec dopocital z min-height a banner pretekl viewport. */
  .rdz-cat-banner { width: 100%; height: auto; min-height: 460px; aspect-ratio: 3 / 4; max-height: 680px; }
  /* text lezi pres fotku v cele sirce a nema kam uhnout, takze gradient jde shora
     dolu od horni hrany, u ktere stoji (na desktopu zleva doprava) */
  .rdz-cat-banner__shade { inset: 0; width: 100%; background: linear-gradient(180deg, rgba(31,31,31,calc(var(--rdz-banner-shade) * 1.4)) 0%, rgba(31,31,31,calc(var(--rdz-banner-shade) * .87)) 45%, rgba(31,31,31,0) 85%); }
  /* text nahore a na stred: align-items srovna i CTA, text-align resi zalomene radky */
  .rdz-cat-banner__body { justify-content: flex-start; align-items: center; text-align: center; gap: var(--rdz-space-3); padding: var(--rdz-space-6) var(--rdz-space-5) var(--rdz-space-5); max-width: none; }
  .rdz-cat-banner__lead { font-size: var(--rdz-fs-body); }
}
@media (max-width: 767px) {
  /* pevny sloupec ikony: bez nej zacina text kazdeho benefitu jinde (ikony maji ruznou sirku) */
  .rdz-cat-benefit__ico { flex: 0 0 68px; width: 68px; height: 48px; max-width: none; }
}

/* kategorie header + advisor */
.rdz-cat-head { display: flex; gap: var(--rdz-space-7); align-items: flex-start; justify-content: space-between; padding: var(--rdz-space-6) 0 var(--rdz-space-5); }
.rdz-cat-head__intro { flex: 1 1 auto; max-width: 620px; }
.rdz-cat-head__eyebrow { display: block; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); margin-bottom: var(--rdz-space-3); }
.rdz-cat-head__title { margin: 0 0 var(--rdz-space-4); }
.rdz-cat-head__desc { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: 1.55; color: var(--rdz-black-60); }
.rdz-cat-head__desc > a { display: inline-block; margin-top: var(--rdz-space-3); color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); text-decoration: underline; }
/* popis kategorie = rich HTML z adminu -> nabrandit vnitrek + zvednout crop */
/* Klip je max-height v celych radcich (1.55em = jedna radka), ne fixnich 230px:
   fixni vyska rezala posledni radku v pulce a jeji zbytek se tlacil na "Zobrazit vice".
   Popis je HTML z adminu (odstavce, nadpisy, seznamy s vlastnimi marginy), takze rez
   nikdy nesedne na radku presne - proto jeste odstin do bila, at useknuty zbytek
   nevypada jako chyba. Kratky popis dostane .less odebrany JS a klip zmizi cely. */
.rdz-cat-head__desc .less { position: relative; height: auto; max-height: calc(9 * 1.55em); overflow: hidden; }
.rdz-cat-head__desc .less::after { content: ""; position: absolute; inset: auto 0 0; height: 2.5em; background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--rdz-white)); pointer-events: none; }
.rdz-cat-head__desc h2, .rdz-cat-head__desc h3, .rdz-cat-head__desc h4 { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-h4); line-height: 1.3; color: var(--rdz-dark); margin: var(--rdz-space-5) 0 var(--rdz-space-2); }
.rdz-cat-head__desc p { margin: 0 0 var(--rdz-space-3); }
.rdz-cat-head__desc ul { margin: 0 0 var(--rdz-space-3); padding-left: var(--rdz-space-5); }
.rdz-cat-head__desc li { margin: 0 0 var(--rdz-space-1); }
/* na vnitrni div, ne na .less - tu si rozbaleni prehazuje na .more a barva odkazu by spadla zpet na legacy */
.rdz-cat-head__desc > div a { color: var(--rdz-dark); text-decoration: underline; }
.rdz-cat-head__desc strong, .rdz-cat-head__desc b { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
.rdz-cat-advisor { position: relative; overflow: hidden; flex: 0 0 439px; max-width: 100%; min-height: 183px; background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); padding: 20px; }
/* 185px = mezera od leve hrany karty k bloku s telefonem (.rdz-cat-advisor__cta, left: 205px),
   ktery ma vlastni pozadi a spodni otazky by prekryl. Otazky pisi lide v adminu, takze delsi
   se musi zalomit - bez toho je karta orizne (overflow: hidden) uprostred slova. */
.rdz-cat-advisor__body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 18px; max-width: 185px; }
.rdz-cat-advisor__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); color: var(--rdz-dark); }
.rdz-cat-advisor__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.rdz-cat-advisor__links a { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); text-decoration: underline; transition: color .15s ease; }
.rdz-cat-advisor__links a:hover { color: var(--rdz-dark); }
/* fixni ramecek + object-fit contain: jakykoliv cutout se sam vejde (nikdy zoom na hlavu), bez ladeni px pri vymene fotky */
.rdz-cat-advisor__photo { position: absolute; top: 6px; right: 28px; bottom: 0; width: 152px; max-width: 42%; overflow: hidden; pointer-events: none; z-index: 0; }
.rdz-cat-advisor__photo img { width: 100%; height: 100%; object-fit: contain; object-position: center top; display: block; }
/* button+hodiny v off-white patce (stejne pozadi jako karta) = opticky orizne spodek postavy, sedi na buttonu; responzivni bez pixel-cropu */
.rdz-cat-advisor__cta { position: absolute; left: 205px; right: 0; bottom: 0; z-index: 2; background: var(--rdz-offwhite); padding: 0 20px 20px 0; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.rdz-cat-advisor__name { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-dark); text-align: right; margin-top: var(--rdz-space-2); }
.rdz-cat-advisor__role { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); text-align: right; }
.rdz-cat-advisor__phone { display: inline-flex; align-items: center; gap: var(--rdz-space-2); height: 42px; padding: 0 18px; background: var(--rdz-yellow); border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black); text-decoration: none; white-space: nowrap; transition: color .15s ease; }
.rdz-cat-advisor__phone:hover, .rdz-cat-advisor__phone:focus, .rdz-cat-advisor__phone:active { color: var(--rdz-black-60); text-decoration: none; }
.rdz-cat-advisor__phone-ico { width: 20px; height: 20px; display: block; flex: 0 0 20px; }
.rdz-cat-advisor__hours { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); text-align: right; }
.rdz-cat-hr { border: 0; margin: var(--rdz-space-5) 0; }  /* border pryc (user) - hr uz jen mezera mezi header a dlazdicemi */
@media (max-width: 991px) { .rdz-cat-advisor { display: none; } }  /* sm a niz: advisor karta pryc - side-by-side se stisni (skryvame o kus driv nez to zosklivi) */
@media (max-width: 767px) {
  .rdz-cat-head { flex-direction: column; gap: var(--rdz-space-5); }
  #product-category .rdz-cat-tiles { grid-template-columns: repeat(2, 1fr); gap: var(--rdz-space-4); }  /* mobil: 2 sloupce, gap 16 */
  #product-category .rdz-cat-tile { aspect-ratio: 1; }  /* ctvercove 167x167 (#product-category prebiji desktop landscape 281/171 niz v souboru) */
}

/* subkategorie dlazdice */
.rdz-cat-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--rdz-space-5); margin-bottom: var(--rdz-space-6); }
.rdz-cat-tile { position: relative; display: block; aspect-ratio: 281 / 171; border-radius: var(--rdz-radius-sm); overflow: hidden; }
.rdz-cat-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rdz-cat-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(164deg, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 74%); }
.rdz-cat-tile__title { position: absolute; top: var(--rdz-space-5); left: var(--rdz-space-5); right: var(--rdz-space-5); z-index: 1; color: var(--rdz-white); }

/* ===== filter lišta (Profi Filter reshape na horizontal dropdowny) ===== */
.rdz-cat-filterbar { margin: var(--rdz-space-2) 0 var(--rdz-space-6); }
.rdz-cat-filterbar > [class*="col-"] { width: 100%; float: none; padding: 0; }
.rdz-cat-filterbar .list-group, .rdz-cat-filterbar .box:not(.profi-filter) { display: none; }
.rdz-cat-filterbar .profi-filter { border: 0 !important; border-radius: 0 !important; background: none; }  /* border je inline na .box -> !important */
.rdz-cat-filterbar .profi-filter > .box-heading { display: none; }
.rdz-cat-filterbar .box-content { padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; gap: var(--rdz-space-4) var(--rdz-space-3); }
/* slidery na 1. radek, dropdowny na 2. (::after = full-width break mezi order:1 a order:2) */
.rdz-cat-filterbar .box-content::after { content: ""; order: 1; flex: 0 0 100%; height: 0; }
/* dropdowny (r.2) space-between roztahne na plnou sirku; spacer na r.1 sezere volny prostor -> slidery drzi vlevo */
.rdz-cat-filterbar .rdz-fbar-fill { order: 1; flex: 1 1 auto; height: 0; }
.rdz-cat-filterbar .rdz-fdd--empty { display: none; }
.rdz-cat-filterbar .pf-submit { display: none; }
/* aktivni filtry + zrusit (pf-clear-block; JS zobrazi kdyz je filtr aktivni) */
.rdz-cat-filterbar .pf-clear-block { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-3) var(--rdz-space-3); margin-top: var(--rdz-space-4); padding-top: var(--rdz-space-4); border-top: 1px solid var(--rdz-gray-light); }
.rdz-cat-filterbar .pf-clear-group { flex: 0 0 auto; min-width: 0; }  /* content-width, nalepene vlevo (flex:1 = s vic filtry se skupiny roztahaly = random mezery) */
.rdz-cat-filterbar .pf-clear-group > h4 { display: none; }
.rdz-cat-filterbar .pf-cancel { display: inline-flex; align-items: center; gap: 6px; width: auto; margin: 0 6px 6px 0; padding: 6px 12px; border: 1px solid var(--rdz-gray); border-radius: var(--rdz-radius-pill); background: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); line-height: 1.3; white-space: normal; text-align: left; cursor: pointer; }
.rdz-cat-filterbar .pf-cancel:hover { border-color: var(--rdz-dark); }
.rdz-cat-filterbar .pf-cancel .glyphicon { font-size: 10px; color: var(--rdz-black-60); }
.rdz-cat-filterbar .pf-cancel-all { flex: 0 0 auto; align-self: center; display: inline-flex; align-items: center; gap: 6px; width: auto; margin: 0 0 0 auto; padding: 8px 16px; border: 1.5px solid var(--rdz-dark); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); color: var(--rdz-dark); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); cursor: pointer; transition: background .15s ease, color .15s ease; }
.rdz-cat-filterbar .pf-cancel-all:hover, .rdz-cat-filterbar .pf-cancel-all:focus, .rdz-cat-filterbar .pf-cancel-all:active { background: var(--rdz-white) !important; border-color: var(--rdz-dark); color: var(--rdz-dark); }  /* legacy .btn-primary:hover=seda/:focus=zlata maji !important -> prebit; bez vyplne jako dropdowny */
.rdz-cat-filterbar .pf-cancel-all .glyphicon { font-size: 11px; }
.rdz-cat-filterbar .pf-filter { margin: 0; }
.rdz-cat-filterbar .pf-filter h4 { margin: 0; }
/* dropdown (checkbox skupina) */
.rdz-fdd { position: relative; order: 2; }
.rdz-fdd > .rdz-fdd__btn { display: inline-flex; align-items: center; gap: var(--rdz-space-3); padding: 10px 16px; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); line-height: 1.2; cursor: pointer; white-space: nowrap; transition: border-color .15s ease, color .15s ease; }
.rdz-fdd > .rdz-fdd__btn::after { content: ""; flex: 0 0 auto; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s ease; }
.rdz-fdd:hover > .rdz-fdd__btn, .rdz-fdd.open > .rdz-fdd__btn { border-color: var(--rdz-dark); color: var(--rdz-dark); }
.rdz-fdd.open > .rdz-fdd__btn::after { transform: rotate(-135deg); }
.rdz-fdd .checkbox-block { display: none; position: absolute; top: calc(100% + 6px); left: 0; z-index: 40; min-width: 240px; max-height: 340px; overflow-y: auto; background: var(--rdz-white); border: 1px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); box-shadow: 0 10px 30px rgba(16,30,77,.14); padding: var(--rdz-space-2) 0; }
.rdz-fdd.open .checkbox-block { display: block; }
.rdz-fdd.rdz-fdd--flipr .checkbox-block { left: auto; right: 0; }  /* panel by pretekl vpravo z viewportu -> zarovnat doprava (JS flip v category.twig toggle) */
.rdz-fdd .checkbox { margin: 0; }
.rdz-fdd .checkbox label { position: relative; display: flex; align-items: center; gap: var(--rdz-space-3); margin: 0; padding: 9px 16px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); cursor: pointer; }
.rdz-fdd .checkbox label:hover { background: var(--rdz-offwhite); }
.rdz-fdd .checkbox input[type=checkbox] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.rdz-fdd .checkbox img { flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; object-fit: cover; }
.rdz-fdd .checkbox label::after { content: ""; flex: 0 0 20px; width: 20px; height: 20px; margin-left: auto; background: var(--rdz-dark); -webkit-mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; opacity: 0; }
.rdz-fdd .checkbox label:has(input:checked) { background: var(--rdz-offwhite); color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); }
.rdz-fdd .checkbox label:has(input:checked)::after { opacity: 1; }
/* task 2177: colour swatches + product count in the Barva dropdown */
.rdz-swatch { flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; background: var(--rdz-swatch, transparent); box-shadow: inset 0 0 0 1px rgba(16, 30, 77, .18); }
.rdz-swatch--clear { background: linear-gradient(135deg, #fff 0 42%, #dfe6ee 42% 58%, #fff 58%); }  /* "Čirá" = clear glass */
.rdz-swatch--none { box-shadow: inset 0 0 0 1px var(--rdz-gray); background: repeating-linear-gradient(45deg, transparent 0 3px, var(--rdz-gray-light) 3px 4px); }  /* shade not assigned to a group yet */
.rdz-fcount { margin-left: auto; font-size: 12px; color: var(--rdz-black-60); opacity: .7; }
.rdz-fdd .checkbox label:has(.rdz-fcount)::after { margin-left: 0; }
/* task 2177: "Skladem" as a visible checkbox above the whole bar (ProfiFilter renders it as a block without a heading) */
.rdz-fstock { order: 0; flex: 0 0 100%; }
.rdz-fstock .checkbox-block { margin: 0; }
.rdz-fstock .checkbox { margin: 0; }
.rdz-fstock label { position: relative; display: inline-flex; align-items: center; gap: var(--rdz-space-3); margin: 0; padding: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); cursor: pointer; }
.rdz-fstock input[type=checkbox] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.rdz-fstock label::before { content: ""; flex: 0 0 20px; width: 20px; height: 20px; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); transition: border-color .15s ease, background .15s ease; }
.rdz-fstock label:hover::before { border-color: var(--rdz-dark); }
.rdz-fstock label:has(input:checked)::before { border-color: var(--rdz-dark); background: var(--rdz-dark) url(../image/rdz-ico-check-white.svg) center / 14px no-repeat; }
.rdz-fstock label:has(input:focus-visible)::before { box-shadow: 0 0 0 3px var(--rdz-gray-light); }
/* slider Cena/Gramáž (inline) */
.rdz-fslider { order: 1; display: inline-flex; flex-direction: column; gap: var(--rdz-space-1); min-width: 190px; padding: 2px 0; }
.rdz-fslider > h4 { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
.rdz-fslider .pf-slider-block { margin: 0; }
.rdz-fslider .pf-slider { padding: 8px 8px 0; }
.rdz-fslider .clearfix { display: flex; justify-content: space-between; font-size: var(--rdz-fs-sm); color: var(--rdz-gray); margin-top: 14px; }
.rdz-fslider .clearfix::before, .rdz-fslider .clearfix::after { content: none; }
.rdz-fslider .pull-left, .rdz-fslider .pull-right { float: none; }
.rdz-cat-filterbar .ui-slider { height: 4px; background: var(--rdz-gray); border: 0; border-radius: 2px; }
.rdz-cat-filterbar .ui-slider .ui-slider-range { background: var(--rdz-black-60); }
.rdz-cat-filterbar .rdz-fslider .ui-slider .ui-slider-handle { width: 20px; height: 20px; border-radius: 50%; background: var(--rdz-dark); border: 0; top: -8px; margin-left: -10px; cursor: grab; }
/* aktivni/tazeny handle = svetle sedy prsten; prebiji globalni navy :focus-visible terc (r.77) */
.rdz-cat-filterbar .rdz-fslider .ui-slider .ui-slider-handle:focus,
.rdz-cat-filterbar .rdz-fslider .ui-slider .ui-slider-handle.ui-state-active { outline: none; box-shadow: 0 0 0 3px var(--rdz-gray); }

/* ===== MOBIL filtr (<=767): odkryt + "Filtry" nadpis + slidery full-width, dropdowny se zalomi.
   WRAP misto horizontal-scroll: ProfiFilter addon loopuje slidery+dropdowny promichane v jednom
   .box-content -> scroll by chtel zasah do addon twigu; wrap = jen CSS, twig addonu netknuty + vsechny filtry videt. */
@media (max-width: 767px) {
  .rdz-cat-filterbar > .hidden-xs { display: block !important; }  /* odkryt (Bootstrap hidden-xs je na aside column_left) */
  .rdz-cat-filterbar::before { content: "Filtry"; display: block; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); margin-bottom: var(--rdz-space-4); }  /* 14px Inter SemiBold navy */
  .rdz-cat-filterbar .rdz-fslider { flex: 0 0 100%; min-width: 0; }  /* Cena/Gramaz full-width nahore (stack) */
  .rdz-cat-filterbar .rdz-fbar-fill { display: none; }  /* spacer vestigialni na mobilu */
  .rdz-cat-filterbar .rdz-fdd, .rdz-cat-filterbar .rdz-fdd > .rdz-fdd__btn { max-width: 100%; }  /* dlouhe labely se nevytahnou z viewportu */
}

/* prekryv pri prepinani filtru - addon ma rgba(0,0,0,.8) pres cely viewport (bliknuti do cerna)
   + jeho spinner mysli na theme/zupany/image/pf_loading.gif, ktery neexistuje (404).
   Nahrazeno jemnym zavojem v barve stranky a vlastnim krouzkem.
   Selektory pres body, protoze profi_filter.css se linkuje az za custom.css. */
body #pf-overlay { background: rgba(250, 250, 250, .6); }
body #pf-overlay-loading {
	height: 100%; background: none;
	display: flex; align-items: center; justify-content: center;
}
body #pf-overlay-loading::after {
	content: ""; width: 34px; height: 34px; border-radius: 50%;
	border: 3px solid var(--rdz-gray-light); border-top-color: var(--rdz-dark);
	animation: rdz-pf-spin .7s linear infinite;
}
@keyframes rdz-pf-spin { to { transform: rotate(360deg); } }

/* toolbar (count / porovnani / seradit / zobrazit nad mrizkou) */
.rdz-cat-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--rdz-space-3) var(--rdz-space-4); margin-bottom: var(--rdz-space-5); }
.rdz-cat-toolbar__info { display: flex; align-items: center; gap: var(--rdz-space-4); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
.rdz-cat-toolbar__compare { color: var(--rdz-black-60); text-decoration: underline; transition: color .15s ease; }
.rdz-cat-toolbar__compare:hover { color: var(--rdz-dark); }
.rdz-cat-toolbar__controls { display: flex; align-items: center; gap: var(--rdz-space-3); flex-wrap: wrap; }
.rdz-cat-dd { position: relative; }
.rdz-cat-dd__native { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); border: 0; opacity: 0; pointer-events: none; }
.rdz-cat-dd .checkbox-block { left: auto; right: 0; min-width: 200px; }
.rdz-cat-dd__opt { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; margin: 0; padding: 9px 16px; border: 0; background: none; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); cursor: pointer; white-space: nowrap; transition: background .15s ease; }
.rdz-cat-dd__opt::after { content: ""; flex: 0 0 20px; width: 20px; height: 20px; margin-left: auto; background: var(--rdz-dark); -webkit-mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; opacity: 0; }
.rdz-cat-dd__opt:hover { background: var(--rdz-offwhite); }
.rdz-cat-dd__opt.is-active { background: var(--rdz-offwhite); font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
.rdz-cat-dd__opt.is-active::after { opacity: 1; }
/* spodni radek: jen vycentrovana pagination; spodni pocet skryty (JS ho zrcadli do horniho toolbaru; div zustava = load-bearing ProfiFilter kotva) */
.rdz-cat-pagerow { display: flex; justify-content: center; margin-top: var(--rdz-space-6); }
.rdz-cat-pagerow > [class*="col-"] { width: auto; float: none; padding: 0; }
.rdz-cat-pagerow .text-right { display: none; }
/* pagination = hola cisla + chevrony, bez boxu */
.rdz-pagination .pagination { display: inline-flex; align-items: center; gap: var(--rdz-space-4); margin: 0; padding: 0; }
.rdz-pagination .pagination > li { margin: 0; }
.rdz-pagination .pagination > li > a, .rdz-pagination .pagination > li > span { display: inline-flex; align-items: center; justify-content: center; min-width: 0; height: auto; padding: 0; border: 0; border-radius: 0; background: none; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: 1.5; font-weight: var(--rdz-fw-med); color: var(--rdz-gray); text-decoration: none; transition: color .15s ease; }
.rdz-pagination .pagination > li.active > span, .rdz-pagination .pagination > li.active > span:hover, .rdz-pagination .pagination > li.active > span:focus { color: var(--rdz-black-60); font-weight: var(--rdz-fw-semi); background: none; }  /* prebit Bootstrap .active>span:hover modrou (0,3,1) */
.rdz-pagination .pagination > li > a:hover { color: var(--rdz-black-60); background: none; }  /* prebit legacy .pagination>li>a:hover modrosedy bg (#A7B9C5) */
/* first/last skryt (jen prev/next chevrony) */
.rdz-pagination .pagination > li.rdz-pg-first, .rdz-pagination .pagination > li.rdz-pg-last { display: none; }
/* prev/next = chevron (rdz-chevron.svg = "<"; next flipnuty), recolor maskou */
.rdz-pagination .pagination > li.rdz-pg-prev > a, .rdz-pagination .pagination > li.rdz-pg-next > a { position: relative; width: 42px; height: 42px; font-size: 0; color: transparent; border: 1.5px solid transparent; border-radius: var(--rdz-radius-sm); background: none; transition: border-color .15s ease; }
/* hover sipek: 1.5px black-60 border box (JEN sipky, ne cisla) */
.rdz-pagination .pagination > li.rdz-pg-prev > a:hover, .rdz-pagination .pagination > li.rdz-pg-next > a:hover { border-color: var(--rdz-black-60); }
.rdz-pagination .pagination > li.rdz-pg-prev > a::before, .rdz-pagination .pagination > li.rdz-pg-next > a::before { content: ""; position: absolute; inset: 0; background: var(--rdz-black-60); -webkit-mask: url(../image/rdz-chevron.svg) center / auto 14px no-repeat; mask: url(../image/rdz-chevron.svg) center / auto 14px no-repeat; transition: background .15s ease; }
.rdz-pagination .pagination > li.rdz-pg-next > a::before { transform: scaleX(-1); }
.rdz-pagination .pagination > li.rdz-pg-prev > a:hover::before, .rdz-pagination .pagination > li.rdz-pg-next > a:hover::before { background: var(--rdz-dark); }
@media (max-width: 767px) {
  .rdz-cat-toolbar__controls { width: 100%; }
  .rdz-cat-dd { flex: 1 1 auto; }
  .rdz-cat-dd > .rdz-fdd__btn { width: 100%; justify-content: space-between; }
}

.rdz-pcard {
  display: flex; flex-direction: column; height: 100%;
  margin: 0; padding: 0; border: 0; box-shadow: none; text-align: left;
  background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); overflow: hidden;
}
.rdz-pcard__media { position: relative; }
.rdz-pcard__media > a { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--rdz-white); }
/* contain, ne cover: nahledy uz nejdou ven s vyplni (vqmod rdz_image_nofill),
   takze soubor obsahuje jen fotku a orezavat ji tady by ji zase ubralo.
   Fotky v katalogu maji ruzne pomery, tak se vejde cela a zbytek dlazdice
   doplni pozadi. */
.rdz-pcard__img { width: 100%; height: 100%; margin: 0; display: block; object-fit: contain; object-position: center; }

.rdz-pcard__body { flex: 1 0 auto; display: flex; flex-direction: column; padding: var(--rdz-space-3) 20px 20px; }

.rdz-pcard__top { display: flex; align-items: center; justify-content: space-between; gap: var(--rdz-space-2); }
.rdz-pcard__stars { display: inline-block; font-size: 16px; line-height: 1; letter-spacing: 2px; }
.rdz-pcard__stars::before {
  content: "\2605\2605\2605\2605\2605";
  background: linear-gradient(90deg, var(--rdz-yellow) calc(var(--rdz-r, 0) / 5 * 100%), var(--rdz-gray) calc(var(--rdz-r, 0) / 5 * 100%));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.rdz-pcard__tools { display: inline-flex; align-items: center; gap: var(--rdz-space-3); }
.rdz-pcard__tool { border: 0; background: none; padding: 0; cursor: pointer; color: var(--rdz-gray); font-size: 17px; line-height: 1; transition: color .15s ease; }
.rdz-pcard__tool:hover { color: var(--rdz-dark); }
.rdz-pcard__ico { width: 18px; height: 18px; display: block; }

.rdz-pcard__name { margin: 14px 0 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
.rdz-pcard__name a { color: var(--rdz-black); text-decoration: none; }
.rdz-pcard__name a:hover { color: var(--rdz-dark); }
.rdz-pcard__desc {
  margin: 6px 0 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm);
  line-height: 1.35; color: var(--rdz-black-60);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.rdz-pcard__pills { display: flex; flex-wrap: wrap; gap: var(--rdz-space-1); margin: var(--rdz-space-5) 0; }
.rdz-pcard__pill-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.rdz-pcard__pill {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; margin: 0; padding: 0 10px; border-radius: var(--rdz-radius-pill);
  background: var(--rdz-white); border: 1.5px solid var(--rdz-gray);
  font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm);
  line-height: 1; white-space: nowrap; color: var(--rdz-gray); cursor: pointer; transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.rdz-pcard__pill:hover { border-color: var(--rdz-dark); color: var(--rdz-dark); }
.rdz-pcard__pill-input:checked + .rdz-pcard__pill { background: var(--rdz-dark); border-color: var(--rdz-dark); color: var(--rdz-white); }

.rdz-pcard__foot { margin-top: auto; display: flex; flex-direction: column; align-items: flex-start; gap: var(--rdz-space-3); }
.rdz-pcard__pricewrap { display: flex; flex-direction: column; gap: var(--rdz-space-2); min-width: 0; }
.rdz-pcard__price { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: 1.1; color: var(--rdz-black); white-space: nowrap; }
.rdz-pcard__price-old { align-self: flex-start; background: var(--rdz-yellow); padding: var(--rdz-space-1); border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-style: normal; font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); text-decoration: line-through; }
.rdz-pcard__meta { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); }
.rdz-pcard__stock { font-weight: var(--rdz-fw-semi); }
.rdz-pcard__stock.instock { color: var(--rdz-green); }
.rdz-pcard__stock.outstock { color: var(--rdz-red); }
.rdz-pcard__stock.preorder { color: var(--rdz-dark); }
.rdz-pcard__cart {
  align-self: flex-end; display: inline-flex; align-items: center; gap: var(--rdz-space-2); min-height: 42px;
  padding: var(--rdz-space-3) var(--rdz-space-4); border: 0; border-radius: var(--rdz-radius-sm);
  background: var(--rdz-dark); color: var(--rdz-white);
  font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1;
  cursor: pointer; white-space: nowrap; transition: background .15s ease;
}
.rdz-pcard__cart .fa { font-size: 15px; }
.rdz-pcard__cart:hover { background: var(--rdz-dark-hover); color: var(--rdz-white); }
.rdz-pcard__cart.hidden { display: none; }
/* velikost switch: bez vybrane = Detail proklik (outline), po vyberu = Do kosiku; produkt bez velikosti = Do kosiku vzdy */
.rdz-pcard__cart--detail { display: none; box-sizing: border-box; background: var(--rdz-white); border: 1.5px solid var(--rdz-dark); color: var(--rdz-dark); }
.rdz-pcard__cart--detail:hover { background: var(--rdz-dark); color: var(--rdz-white); }
.rdz-needs-size:not(.rdz-has-size) .rdz-pcard__cart--add { display: none; }
.rdz-needs-size:not(.rdz-has-size) .rdz-pcard__qty { display: none; }
.rdz-needs-size:not(.rdz-has-size) .rdz-pcard__cart--detail:not(.hidden) { display: inline-flex; }

/* qty stepper na karte (nativni, ovlada nasi quantity input) */
/* wrap: na uzke karte se stepper a tlacitko nevejdou vedle sebe -> tlacitko spadne pod nej */
.rdz-pcard__buy { align-self: stretch; display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-2); }
.rdz-pcard__buy .rdz-pcard__cart { align-self: auto; flex: 1 1 auto; justify-content: center; }
/* reusable qty stepper (.rdz-qty): kolecko minus / ctverecek / kolecko plus; sdileno kartou, kosikem i mini-cartem */
.rdz-qty { display: inline-flex; align-items: center; gap: var(--rdz-space-1); }
.rdz-qty__btn { flex: 0 0 auto; width: 38px; height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-pill); background: var(--rdz-white); font-size: 0; cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.rdz-qty__btn::before { content: ""; width: 24px; height: 24px; background: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.rdz-qty__btn--minus { color: var(--rdz-gray); }
.rdz-qty__btn--minus::before { -webkit-mask-image: url(../image/rdz-ico-minus.svg); mask-image: url(../image/rdz-ico-minus.svg); }
.rdz-qty__btn--minus:hover { border-color: var(--rdz-dark); color: var(--rdz-dark); }
.rdz-qty__btn--plus { background: var(--rdz-dark); border-color: var(--rdz-dark); color: var(--rdz-white); }
.rdz-qty__btn--plus::before { -webkit-mask-image: url(../image/rdz-ico-plus.svg); mask-image: url(../image/rdz-ico-plus.svg); }
.rdz-qty__btn--plus:hover { background: var(--rdz-dark-hover); border-color: var(--rdz-dark-hover); }
.rdz-qty__val { flex: 0 0 auto; width: 38px; height: 38px; padding: 0; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); box-shadow: none; text-align: center; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: 1; color: var(--rdz-black-60); }
input.rdz-qty__val { -moz-appearance: textfield; }
input.rdz-qty__val::-webkit-outer-spin-button, input.rdz-qty__val::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/* prebiti legacy .number-spinner a { color: #fff !important } */
.rdz-qty.number-spinner .rdz-qty__btn--minus { color: var(--rdz-gray) !important; }
.rdz-qty.number-spinner .rdz-qty__btn--minus:hover { color: var(--rdz-dark) !important; }
.rdz-qty.number-spinner .rdz-qty__btn--plus { color: var(--rdz-white) !important; }
/* mensi varianta (kosik) */
.rdz-qty--sm { gap: 2px; }
.rdz-qty--sm .rdz-qty__btn { width: 24px; height: 24px; }
.rdz-qty--sm .rdz-qty__btn::before { width: 16px; height: 16px; }
.rdz-qty--sm .rdz-qty__val { width: 28px; height: 28px; font-size: var(--rdz-fs-sm); }

.rdz-nav {
  position: absolute; top: 33%; margin-top: -21px; z-index: 10;
  width: 42px; height: 42px; display: flex; align-items: center; justify-content: center;
  background: var(--rdz-dark); border-radius: var(--rdz-radius-sm); box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  cursor: pointer; transition: background .15s ease;
}
.rdz-nav:hover { background: var(--rdz-dark-hover); }
.rdz-nav--prev { left: 8px; }
.rdz-nav--next { right: 8px; }
.rdz-nav svg { width: 10px; height: 17px; display: block; }
.rdz-nav.swiper-button-disabled { opacity: .35; cursor: default; }

@media (min-width: 1360px) {
  .rdz-nav { top: 50%; }
  .rdz-nav--prev { left: -66px; }
  .rdz-nav--next { right: -66px; }
}

@media (max-width: 767px) {
  .rdz-prod { display: flex; flex-direction: column; }
  .rdz-prod__head { display: contents; }
  .rdz-prod__title { order: 1; margin-bottom: var(--rdz-space-4); }
  .rdz-prod__slider { order: 2; }
  .rdz-prod__cta { order: 3; align-self: flex-start; margin-top: var(--rdz-space-4); }
  .rdz-nav { top: 40%; }
  .rdz-nav--prev { left: 8px; }
  .rdz-nav--next { right: 8px; }
}

.rdz-blog {
  margin-top: var(--rdz-section-y);
  background: var(--rdz-cream); border-radius: 36px;
  padding: var(--rdz-space-7) var(--rdz-space-6) var(--rdz-space-6);
  display: flex; flex-direction: column; gap: 40px;
}
.rdz-blog, .rdz-blog * { box-sizing: border-box; }
.rdz-blog__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.rdz-blog__intro { display: flex; flex-direction: column; gap: var(--rdz-space-3); }
.rdz-blog__title { margin: 0; }
.rdz-blog__subtitle { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
.rdz-blog__more { flex: 0 0 auto; }

.rdz-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: stretch; }
.rdz-blog__card {
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); box-shadow: 0 6px 16px rgba(0, 0, 0, .06);
}
.rdz-blog__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; }
.rdz-blog__media img { width: 100%; height: 100%; margin: 0; display: block; object-fit: cover; }
.rdz-blog__body { flex: 1 0 auto; display: flex; flex-direction: column; gap: var(--rdz-space-4); padding: var(--rdz-space-6) 20px 20px; }
.rdz-blog__card-title { display: flex; flex-direction: column; gap: var(--rdz-space-2); text-decoration: none; }
.rdz-blog__lead { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: 25px; line-height: 1.28; color: var(--rdz-dark); }
.rdz-blog__card-title:hover .rdz-blog__lead { color: var(--rdz-dark-hover); }
.rdz-blog__sub { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
.rdz-blog__excerpt { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.4; color: var(--rdz-black-60); }
.rdz-blog__excerpt p { margin: 0; }
.rdz-blog__foot { margin-top: auto; display: flex; justify-content: flex-end; }
.rdz-blog__read {
  display: inline-flex; align-items: center; padding: var(--rdz-space-4) 20px;
  background: var(--rdz-dark); color: var(--rdz-white); border-radius: var(--rdz-radius-sm);
  font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1;
  text-decoration: none; transition: background .15s ease;
}
.rdz-blog__read:hover { background: var(--rdz-dark-hover); color: var(--rdz-white); }

@media (max-width: 991px) {
  .rdz-blog__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .rdz-blog { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); border-radius: 0; padding: var(--rdz-space-6) var(--rdz-space-4); gap: var(--rdz-space-6); }
  .rdz-blog__head { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-4); }
}

body { background: var(--rdz-white); }
@media (min-width: 1440px) {
  .container { width: calc(var(--rdz-container) + 30px); }
  .container .container { width: auto; }
}
/* obsah = rdz-container na vsech sirkach (ne jen >=1440), aby licoval s headerem i mezi bootstrap breakpointy
   (BS .container skace 750/970/1170 -> napr. na 972px byl obsah 750px, zatimco header sel plynule) */
#common-home.container,
#product-product.container,
#product-category.container,
#product-search.container,
#product-manufacturer.container,
#information-information.container,
#information-contact.container,
#information-sitemap.container,
#tltblog-tlttag.container,
#tltblog-tltblog.container,
#product-compare.container,
#checkout-cart.container,
#error-not-found.container,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]).container,
/* pokladna jede na vlastnim .extcontainer z onepagecheckoutu (1170), proto nelicovala */
#onepagecheckout.extcontainer { width: min(calc(var(--rdz-container) + 2 * var(--rdz-gutter)), 100%); max-width: none; padding-left: var(--rdz-gutter); padding-right: var(--rdz-gutter); }
#common-home .container,
#product-product .container,
#product-category .container,
#product-search .container,
#product-manufacturer .container,
#information-information .container,
#information-contact .container,
#information-sitemap .container,
#tltblog-tlttag .container,
#tltblog-tltblog .container,
#product-compare .container,
#checkout-cart .container,
#error-not-found .container,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .container { width: auto; }

.rdz-reviews { display: flex; flex-direction: column; padding: var(--rdz-section-y) 0; }
.rdz-reviews, .rdz-reviews * { box-sizing: border-box; }
.rdz-reviews__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.rdz-reviews__title { margin: 0; }
.rdz-reviews__all { flex: 0 0 auto; }
.rdz-reviews__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 20px; align-items: stretch; }
.rdz-reviews__card { display: flex; flex-direction: column; gap: var(--rdz-space-4); background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); padding: 32px; }
.rdz-reviews__top { display: flex; flex-wrap: nowrap; align-items: flex-start; justify-content: space-between; gap: var(--rdz-space-3); }
.rdz-reviews__who { display: flex; flex-direction: column; gap: var(--rdz-space-2); min-width: 0; flex: 1 1 auto; }
.rdz-reviews__author { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: 1.1; color: var(--rdz-dark); overflow-wrap: anywhere; }
.rdz-reviews__stars { display: inline-block; font-size: 16px; line-height: 1; letter-spacing: 2px; }
.rdz-reviews__stars::before {
  content: "\2605\2605\2605\2605\2605";
  background: linear-gradient(90deg, var(--rdz-yellow) calc(var(--rdz-r, 0) / 5 * 100%), var(--rdz-gray) calc(var(--rdz-r, 0) / 5 * 100%));
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.rdz-reviews__source { display: flex; flex-direction: column; align-items: flex-end; gap: var(--rdz-space-2); text-align: right; flex: 0 0 auto; }
.rdz-reviews__logo { height: 18px; width: auto; display: block; }
.rdz-reviews__verified { display: inline-flex; align-items: center; gap: 5px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: 12px; color: var(--rdz-black-60); white-space: nowrap; }
.rdz-reviews__shield { width: 16px; height: 16px; flex: 0 0 auto; }
.rdz-reviews__text { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-body); line-height: 1.4; color: var(--rdz-black-60); white-space: pre-line; }

@media (max-width: 767px) {
  .rdz-reviews__head { display: contents; }
  .rdz-reviews__title { order: 1; margin-bottom: var(--rdz-space-5); }
  .rdz-reviews__grid { order: 2; }
  .rdz-reviews__all { order: 3; margin-top: var(--rdz-space-5); align-self: flex-start; }
  .rdz-reviews__card { padding: var(--rdz-space-5); }
}

/* hero slider */
.rdz-hero { position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-bottom: var(--rdz-section-y); }
.rdz-hero__swiper { overflow: hidden; }
.rdz-hero__slide { position: relative; }
.rdz-hero__img { display: block; width: 100%; height: 808px; object-fit: cover; }
.rdz-hero__box { position: absolute; inset: 0; display: flex; align-items: center; }
.rdz-hero__box::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.5) 22%, rgba(0,0,0,0) 100%); }
.rdz-hero__inner { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--rdz-space-6); width: 100%; max-width: calc(var(--rdz-container) + 2 * var(--rdz-gutter)); margin: 0 auto; padding: 0 var(--rdz-gutter); }
.rdz-hero__title { margin: 0; text-wrap: balance; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-light); font-size: clamp(40px, 6.94vw, 100px); line-height: 1.12; color: var(--rdz-white); }
.rdz-hero__accent { font-weight: var(--rdz-fw-reg); color: var(--rdz-yellow); }
.rdz-hero__sub { margin: 0; max-width: 609px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-white); }
.rdz-hero__controls { position: absolute; left: 0; right: 0; bottom: 39px; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 6px; }
.rdz-hero__arrow { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; background: none; border: 0; color: var(--rdz-white); cursor: pointer; }
.rdz-hero__arrow svg { width: 9px; height: 16px; }
.rdz-hero__controls .rdz-hero__dots { position: static; width: auto; display: inline-flex; gap: 6px; }
.rdz-hero .swiper-pagination-bullet { box-sizing: border-box; width: 8px; height: 8px; margin: 0 !important; background: transparent; border: 1.5px solid var(--rdz-white); opacity: 1; transition: background .2s; }
.rdz-hero .swiper-pagination-bullet-active { background: var(--rdz-white); }

@media (max-width: 767px) {
  .rdz-hero { margin-bottom: var(--rdz-space-6); }
  .rdz-hero__slide { display: flex; flex-direction: column; background: var(--rdz-black); }
  .rdz-hero__img { flex: 0 0 auto; height: 287px; }
  .rdz-hero__slide::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 287px; z-index: 1; pointer-events: none; background: linear-gradient(to top, var(--rdz-black) 0%, rgba(0,0,0,0) 55%); }
  .rdz-hero__box { flex: 1 1 auto; position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: flex-end; background: transparent; }
  .rdz-hero__box::before { display: none; }
  .rdz-hero__inner { max-width: none; padding: 0 20px 72px; }
  .rdz-hero__title { font-size: 50px; line-height: 55px; max-width: none; }
  .rdz-hero__sub { max-width: none; }
  .rdz-hero__btn { display: flex; width: 100%; text-align: center; }
  .rdz-hero__controls { bottom: 20px; }
  .rdz-hero__br { display: none; }
  .rdz-hero .swiper-wrapper { align-items: stretch; }
  .rdz-hero .swiper-slide { height: auto; }
}

/* video sekce (rdz_video modul) */
.rdz-video { padding: var(--rdz-section-y) 0; }
.rdz-video__title { margin: 0 0 var(--rdz-space-5); text-align: center; }
.rdz-video__frame { position: relative; width: 100%; max-width: 920px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: var(--rdz-dark); box-shadow: 0 18px 40px rgba(16, 30, 77, .14); }
.rdz-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 767px) { .rdz-video__frame { border-radius: 12px; } }

/* ====== rdz-footer - nativni restyle.
   trust badge = stejny pattern jako .rdz-usp__trust -> reusable kandidat. ====== */
.rdz-footer { background: var(--rdz-cream); padding: var(--rdz-section-y) 0; border-top: 0; }  /* border-top 0 = prebiti legacy footer{} #ddd linky (stylesheet.css:539) */
.rdz-footer, .rdz-footer * { box-sizing: border-box; }
.rdz-footer img { max-width: 100%; display: block; }
.rdz-footer__inner { display: flex; flex-direction: column; gap: 48px; }
.rdz-foot-ico { flex: 0 0 20px; width: 20px; height: 20px; display: block; }

/* trust radek */
.rdz-foot-trust { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.rdz-foot-trust__sep { flex: 0 0 2px; width: 2px; height: 120px; background: var(--rdz-black-60); }

/* poradit karta */
.rdz-foot-help { display: flex; flex-direction: column; gap: 20px; background: var(--rdz-white); border-radius: 24px; padding: 20px; }
.rdz-foot-help__head { display: flex; align-items: center; gap: 12px; }
.rdz-foot-help__avatar { position: relative; flex: 0 0 56px; width: 56px; height: 56px; }
.rdz-foot-help__avatar img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 1px solid var(--rdz-black-60); }
.rdz-foot-help__dot { position: absolute; right: 1px; bottom: 1px; width: 13px; height: 13px; border-radius: 50%; background: var(--rdz-green); border: 2px solid var(--rdz-white); }
.rdz-foot-help__lines { display: flex; flex-direction: column; gap: 8px; }
.rdz-foot-help__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-black); }
.rdz-foot-help__sub { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-black-60); }
.rdz-foot-help__name { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: 1.2; color: var(--rdz-black); }
.rdz-foot-help__phones { display: flex; gap: 8px; }
.rdz-foot-help__phone { height: 42px; padding: 0 14px 0 10px; gap: 8px; border-color: transparent; white-space: nowrap; }

/* trust badge (heureka / zbozi) */
.rdz-foot-badge { display: flex; align-items: center; gap: 16px; }
.rdz-foot-badge__logo { flex: 0 0 96px; width: 96px; height: 96px; object-fit: contain; }
.rdz-foot-badge__logo--round { background: var(--rdz-white); border-radius: 50%; object-fit: cover; }
.rdz-foot-badge__info { display: flex; flex-direction: column; gap: 8px; }
.rdz-foot-badge__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-black); }
.rdz-foot-badge__rating { display: flex; align-items: center; gap: 6px; color: var(--rdz-yellow); }
.rdz-foot-badge__num { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: 1; color: var(--rdz-black-60); }
.rdz-foot-stars { height: 25px; width: auto; display: block; }
.rdz-foot-star { flex: 0 0 17px; width: 17px; height: 25px; display: block; }

/* newsletter */
.rdz-foot-news { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--rdz-white); border-radius: 24px; padding: 20px; }
.rdz-foot-news__intro { display: flex; flex-direction: column; gap: 10px; }
.rdz-foot-news__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
.rdz-foot-news__sub { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-black-60); }
.rdz-foot-news__form { display: flex; align-items: flex-start; gap: 12px; flex: 0 1 581px; }
.rdz-foot-news__field { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.rdz-foot-news__input { width: 100%; height: 42px; padding: 0 16px; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-black); }
.rdz-foot-news__input::placeholder { color: var(--rdz-black-60); }
.rdz-foot-news__input:focus { outline: none; border-color: var(--rdz-dark); }
.rdz-foot-news__msg { margin-top: 6px; font-family: var(--rdz-font-body); font-size: 12px; line-height: 1.3; }
.rdz-foot-news__msg.is-err { color: var(--rdz-red); }
.rdz-foot-news__msg.is-ok { color: var(--rdz-green); }
.rdz-foot-news__btn { height: 42px; padding: 0 14px 0 18px; gap: 4px; border-color: transparent; flex: 0 0 auto; }

/* sloupce */
.rdz-foot-cols { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.rdz-foot-brand { display: flex; flex-direction: column; gap: 40px; }
.rdz-foot-brand__logo { display: flex; flex-direction: column; gap: 12px; }
.rdz-foot-brand__img { display: block; width: 210px; max-width: 100%; height: auto; }
.rdz-foot-brand__name { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-light); font-size: var(--rdz-fs-h1); line-height: 1.1; white-space: nowrap; color: var(--rdz-black); }
.rdz-foot-brand__tag { max-width: 268px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); }
.rdz-foot-contact { display: flex; flex-direction: column; gap: 16px; font-style: normal; }
.rdz-foot-contact__row { display: flex; align-items: center; gap: 8px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-sm); line-height: 1.35; color: var(--rdz-black-60); }
.rdz-foot-contact__row--top { align-items: flex-start; }
.rdz-foot-contact__row .rdz-foot-ico { color: var(--rdz-black-60); }
.rdz-foot-contact__row--top .rdz-foot-ico { margin-top: 1px; }
.rdz-foot-contact__row a { color: inherit; text-decoration: none; }
.rdz-foot-contact__row a:hover { color: var(--rdz-dark); }
.rdz-foot-social { display: flex; gap: 14px; }
.rdz-foot-social a { display: block; width: 40px; height: 40px; }
.rdz-foot-social img { width: 40px; height: 40px; }

.rdz-foot-col { display: flex; flex-direction: column; gap: 26px; }
.rdz-foot-col__title { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; margin: 0; padding: 0; border: 0; background: none; text-align: left; cursor: default; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-black); }
.rdz-foot-col__chev { flex: 0 0 auto; width: 36px; height: 36px; display: none; color: var(--rdz-dark); transition: transform .25s ease; }
.rdz-foot-col__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.rdz-foot-col__links a { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-black-60); text-decoration: none; }
.rdz-foot-col__links a:hover { color: var(--rdz-dark); }

/* copyright */
.rdz-foot-copy { padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, .1); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: 13px; line-height: 1.5; color: var(--rdz-black-60); }
.rdz-foot-copy a { color: var(--rdz-black-60); text-decoration: underline; }
.rdz-foot-copy a:hover { color: var(--rdz-dark); }

/* md a niz: trust + newsletter na vysku, sloupce zalamovat */
@media (max-width: 1199px) {
  /* trust: karta full sirka, badge loga vedle sebe */
  .rdz-foot-trust { justify-content: flex-start; gap: 24px 32px; }
  .rdz-foot-help { flex: 1 1 100%; }
  .rdz-foot-badge__title br { display: none; }
  .rdz-foot-news { flex-direction: column; align-items: stretch; gap: 16px; }
  .rdz-foot-news__form { flex-basis: auto; }
  .rdz-foot-cols { flex-wrap: wrap; gap: 40px 24px; }
  .rdz-foot-brand { flex: 1 1 100%; }
  .rdz-foot-col { flex: 1 1 160px; }
}

/* trust badge separator: skryt uz kdyz se badge muzou zlomit (jinak visi osirela cara) */
@media (max-width: 991px) {
  .rdz-foot-trust__sep { display: none; }
}


/* xs: vse na vysku */
@media (max-width: 767px) {
  .rdz-foot-help { align-self: stretch; }
  .rdz-foot-help__phone { flex: 1 1 0; padding: 0 12px; }
  .rdz-foot-help__phone .rdz-foot-ico { display: none; }
  /* trust badges na vysku, mensi loga */
  .rdz-foot-badge { flex: 1 1 100%; }
  .rdz-foot-badge__logo { flex-basis: 56px; width: 56px; height: 56px; }
  /* kontakt adresa na 1 radek */
  .rdz-foot-contact__row br { display: none; }
  .rdz-foot-news__intro { text-align: center; align-items: center; }
  .rdz-foot-news__form { flex-direction: column; align-items: stretch; }
  .rdz-foot-news__btn { justify-content: center; }
  .rdz-foot-brand__name { font-size: var(--rdz-fs-h2); }
  /* sloupce = akordeon na mobilu */
  .rdz-foot-cols { gap: 0; }
  .rdz-foot-brand { margin-bottom: 32px; }
  .rdz-foot-col { flex: 1 1 100%; }
  .rdz-foot-col__title { padding: 16px 0; cursor: pointer; border-top: 1px solid rgba(0, 0, 0, .1); }
  .rdz-foot-col:last-of-type { border-bottom: 1px solid rgba(0, 0, 0, .1); }
  .rdz-foot-col__chev { display: block; }
  .rdz-foot-col.is-open .rdz-foot-col__chev { transform: rotate(180deg); }
  .rdz-foot-col__links { max-height: 0; overflow: hidden; opacity: 0; padding-bottom: 0; transition: max-height .3s ease, opacity .25s ease, padding-bottom .3s ease; }
  .rdz-foot-col.is-open .rdz-foot-col__links { max-height: 640px; opacity: 1; padding-bottom: 16px; }
}

/* musi zustat za blokem 767px - jinak tamni flex prebije vysku tlacitek */
@media (max-width: 430px) {
  .rdz-foot-help__head { flex-direction: column; align-items: flex-start; }
  .rdz-foot-help__phones { flex-direction: column; }
  .rdz-foot-help__phone { flex: 0 0 42px; }
}

/* sipka "nahoru" ze stareho tematu: ma href="" a nikde na ni nevisi handler, takze klik nescrolluje,
   ale nacte celou stranku znovu (u filtru i se ztratou vyberu). Navic se v rohu pere s chatem.
   Skryta, ne smazana - markup v sablone zustava kvuli kotvam patchu. !important prebiji inline display:block. */
#scroll { display: none !important; }

/* ================= HEADER (rdz-hdr) ================= */
.rdz-hdr-util .container, .rdz-hdr-main .container, .rdz-hdr-nav .container { width: min(var(--rdz-container), calc(100% - 2 * var(--rdz-gutter))); max-width: none; margin-left: auto; margin-right: auto; padding-left: 0; padding-right: 0; }
/* zabit bootstrap .container::before/::after (clearfix) - v nasem flexu = fantom flex-item + gap => obsah nesedel na homepage container (util/main) */
.rdz-hdr-util__inner::before, .rdz-hdr-util__inner::after, .rdz-hdr-main__inner::before, .rdz-hdr-main__inner::after { content: none; }
/* nav: .navbar-collapse ma 15px padding => menu 15px dovnitr; srovnat na homepage (130/1310) */
.rdz-hdr-nav #menu .navbar-collapse { padding-left: 0; padding-right: 0; }

/* hello bar */
.rdz-hdr-hello { background: var(--rdz-yellow); }
.rdz-hdr-hello__inner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 40px; width: auto; max-width: none; }
.rdz-hdr-hello__text { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 14px; line-height: 1.3; color: var(--rdz-black); text-align: center; }
.rdz-hdr-hello__close { position: absolute; right: 0; top: 50%; transform: translateY(-50%); padding: 4px 8px; border: 0; background: none; color: var(--rdz-black); font-size: 20px; line-height: 1; cursor: pointer; opacity: .55; }
.rdz-hdr-hello__close:hover { opacity: 1; }
/* varianty listy */
.rdz-hdr-hello--promo { background: var(--rdz-yellow); }
.rdz-hdr-hello--info { background: var(--rdz-dark); }
.rdz-hdr-hello--info .rdz-hdr-hello__text, .rdz-hdr-hello--info .rdz-hdr-hello__close { color: var(--rdz-white); }
.rdz-hdr-hello--sale { background: var(--rdz-red); }
.rdz-hdr-hello--sale .rdz-hdr-hello__text, .rdz-hdr-hello--sale .rdz-hdr-hello__close { color: var(--rdz-white); }
.rdz-hdr-hello--xmas { background: var(--rdz-xmas-bar-bg); }
.rdz-hdr-hello--xmas .rdz-hdr-hello__text, .rdz-hdr-hello--xmas .rdz-hdr-hello__close { color: var(--rdz-xmas-bar-fg); }
/* xmas dekorace: stromek/darek + sparkles vse ABSOLUTNE (mimo text -> cisty lom; sirsi padding at je misto; mobil skryto) */
.rdz-hdr-hello--xmas .rdz-hdr-hello__inner { padding-left: 92px; padding-right: 92px; }
.rdz-hdr-hello__decor { position: absolute; top: 50%; transform: translateY(-50%); font-size: 16px; line-height: 1; pointer-events: none; }
.rdz-hdr-hello__decor--l { left: 52px; }
.rdz-hdr-hello__decor--r { right: 88px; }
.rdz-hdr-hello--xmas .rdz-hdr-hello__inner::before, .rdz-hdr-hello--xmas .rdz-hdr-hello__inner::after { content: "\2728"; position: absolute; top: 50%; transform: translateY(-50%); font-size: 14px; opacity: .7; color: var(--rdz-xmas-spark); pointer-events: none; }
.rdz-hdr-hello--xmas .rdz-hdr-hello__inner::before { left: 20px; }
.rdz-hdr-hello--xmas .rdz-hdr-hello__inner::after { right: 52px; }
@media (max-width: 767px) { .rdz-hdr-hello--xmas .rdz-hdr-hello__inner { padding-left: 40px; padding-right: 40px; } .rdz-hdr-hello__decor, .rdz-hdr-hello--xmas .rdz-hdr-hello__inner::before, .rdz-hdr-hello--xmas .rdz-hdr-hello__inner::after { display: none; } }
a.rdz-hdr-hello__text { text-decoration: none; }
a.rdz-hdr-hello__text:hover { text-decoration: underline; }

/* utility bar */
.rdz-hdr-util { background: var(--rdz-cream); }
.rdz-hdr-util__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px 0; }
.rdz-hdr-util__contact { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.rdz-hdr-util__avatar { position: relative; flex: 0 0 49px; width: 49px; height: 49px; }
.rdz-hdr-util__avatar img { width: 49px; height: 49px; border-radius: 50%; object-fit: cover; display: block; }
.rdz-hdr-util__dot { position: absolute; right: 1px; bottom: 2px; width: 12px; height: 12px; border-radius: 50%; background: var(--rdz-online); border: 2px solid var(--rdz-cream); }
.rdz-hdr-util__ct { display: flex; flex-direction: column; gap: 1px; }
.rdz-hdr-util__phone { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: 20px; line-height: 1.15; color: var(--rdz-black); text-decoration: none; }
.rdz-hdr-util__phone:hover { color: var(--rdz-dark); }
.rdz-hdr-util__hours { font-family: var(--rdz-font-body); font-size: 14px; line-height: 1.2; color: var(--rdz-black-60); }
.rdz-hdr-util__person { font-family: var(--rdz-font-body); font-size: 13px; line-height: 1.25; color: var(--rdz-black); font-weight: var(--rdz-fw-med); }
.rdz-hdr-util__role { color: var(--rdz-black-60); font-weight: var(--rdz-fw-reg); }
.rdz-hdr-util__nav { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; justify-content: flex-end; }
.rdz-hdr-util__link { display: inline-flex; align-items: center; gap: 8px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 14px; color: var(--rdz-black); text-decoration: none; white-space: nowrap; }
.rdz-hdr-util__link:hover { color: var(--rdz-dark); }
.rdz-hdr-util__ico { flex: 0 0 18px; width: 18px; height: 18px; background: currentColor; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain; }
.rdz-hdr-util__ico--star { -webkit-mask-image: url(../image/rdz-ico-star.svg); mask-image: url(../image/rdz-ico-star.svg); }
.rdz-hdr-util__ico--login { -webkit-mask-image: url(../image/rdz-ico-login.svg); mask-image: url(../image/rdz-ico-login.svg); }
.rdz-hdr-util__ico--heart { -webkit-mask-image: url(../image/rdz-ico-heart.svg); mask-image: url(../image/rdz-ico-heart.svg); }
.rdz-hdr-util__ico--phone { -webkit-mask-image: url(../image/rdz-ico-phone.svg); mask-image: url(../image/rdz-ico-phone.svg); }
.rdz-hdr-util__ico--blog { -webkit-mask-image: url(../image/rdz-ico-blog.svg); mask-image: url(../image/rdz-ico-blog.svg); }
.rdz-hdr-util__currency { display: none; }

/* main bar */
.rdz-hdr-main { background: var(--rdz-white); }
.rdz-hdr-main__inner { display: flex; align-items: center; gap: 48px; min-height: 121px; }
.rdz-hdr-logo { display: flex; flex-direction: column; gap: 4px; flex: 0 0 auto; text-decoration: none; }
.rdz-hdr-logo__img { height: 80px; width: auto; max-width: 100%; display: block; }
.rdz-hdr-logo__name { font-family: var(--rdz-font-head); font-style: italic; font-size: var(--rdz-fs-h3); color: var(--rdz-dark); }
.rdz-hdr-logo__tag { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); }
/* logo cat+wordmark: skryte na desktopu (tam baked {{ logo }} obrazek), zapnute na mobilu */
.rdz-hdr-logo__cat { display: none; }
.rdz-hdr-logo__wordmark { display: none; }
.rdz-hdr-logo__text { display: flex; flex-direction: column; gap: 4px; }
.rdz-hdr-search { flex: 1 1 auto; min-width: 0; }
.rdz-hdr-heureka { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.rdz-hdr-heureka, .rdz-foot-badge { text-decoration: none; color: inherit; }
.rdz-hdr-heureka__logo { flex: 0 0 49px; width: 49px; height: 49px; display: block; }
.rdz-hdr-heureka__info { display: flex; flex-direction: column; gap: 2px; }
.rdz-hdr-heureka__rating { display: flex; align-items: center; gap: 6px; color: var(--rdz-yellow); }
.rdz-hdr-heureka__num { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: 20px; line-height: 1; color: var(--rdz-dark); }
.rdz-hdr-heureka .rdz-foot-stars { height: 25px; width: auto; display: block; }
.rdz-hdr-heureka__sub { font-family: var(--rdz-font-body); font-size: 14px; line-height: 1.2; color: var(--rdz-black-60); }
.rdz-hdr-cart { flex: 0 0 auto; }

/* search modul restyle */
.rdz-hdr-search #search.input-group { display: flex; width: 100%; height: 49px; border: 1px solid var(--rdz-black-60); border-radius: 4px; background: var(--rdz-white); overflow: hidden; }
.rdz-hdr-search #search .form-control { flex: 1 1 auto; width: auto; height: 100%; border: 0; box-shadow: none; background: transparent; padding: 0 16px; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black); }
.rdz-hdr-search #search .form-control::placeholder { color: var(--rdz-black-60); opacity: 1; }
.rdz-hdr-search #search .input-group-btn { display: flex; width: auto; }
.rdz-hdr-search #search .btn { height: 100%; border: 0; border-radius: 0; background: none; padding: 0 16px; font-size: 0; display: flex; align-items: center; justify-content: center; }
.rdz-hdr-search #search .btn::before { content: ""; display: block; width: 20px; height: 20px; background: var(--rdz-black-60); -webkit-mask: url(../image/rdz-ico-search.svg) center / contain no-repeat; mask: url(../image/rdz-ico-search.svg) center / contain no-repeat; }

/* cart modul restyle -> navy pill (ikona 26 + cerveny count badge + cena) */
.rdz-hdr-cart #cart.btn-block { width: auto; }
.rdz-hdr-cart #cart > .btn { position: relative; display: flex; align-items: center; gap: 10px; height: 49px; padding: 0 var(--rdz-space-3); border: 1.5px solid transparent; box-sizing: border-box; border-radius: var(--rdz-radius-sm); background: var(--rdz-dark); color: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1; white-space: nowrap; }
.rdz-hdr-cart #cart > .btn:hover, .rdz-hdr-cart #cart > .btn:focus, .rdz-hdr-cart #cart.open > .btn { border-color: var(--rdz-black-60); color: var(--rdz-white); }
.rdz-hdr-cart #cart > .btn:hover .rdz-cart__price, .rdz-hdr-cart #cart.open > .btn .rdz-cart__price { color: var(--rdz-gray); }
/* cart ikona (26x26, mask -> bila) */
.rdz-hdr-cart #cart > .btn::before { content: ""; flex: 0 0 26px; width: 26px; height: 26px; background: currentColor; -webkit-mask: url(../image/rdz-ico-cart.svg) center / contain no-repeat; mask: url(../image/rdz-ico-cart.svg) center / contain no-repeat; }
/* cerveny count badge (14 kruh, pravy horni roh ikony, jemny glow) */
.rdz-hdr-cart #cart #cart-total { position: absolute; left: 27px; top: 11px; min-width: 14px; height: 14px; margin: 0; padding: 0 3px; float: none; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--rdz-radius-pill); background: var(--rdz-red); color: var(--rdz-white); font-size: 10px; font-weight: var(--rdz-fw-semi); line-height: 1; box-shadow: 0 0 3px rgba(255,255,255,.25); }
.rdz-hdr-cart #cart .rdz-cart__price { font-weight: var(--rdz-fw-semi); }

/* ===== mini-cart dropdown panel - prebiji stary inline styl v cart.twig ===== */
.rdz-hdr-cart #cart .cart-panel { top: calc(100% + 12px); right: 0; left: auto; width: 576px; min-width: 0; max-width: calc(100vw - 32px); max-height: none; padding: 20px; background: var(--rdz-offwhite); border: 0; border-radius: 12px; box-shadow: 0 4px 4px rgba(0,0,0,.1); flex-direction: column; gap: 20px; overflow: visible; transform: none; }
.rdz-hdr-cart #cart.open .cart-panel { display: flex; }
.rdz-hdr-cart .cart-panel-header { padding: 0; margin: 0; border: 0; align-items: center; }
.rdz-hdr-cart .cart-panel-header .title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); color: var(--rdz-black); }
.rdz-hdr-cart #clearCart { color: var(--rdz-red); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); }
.rdz-hdr-cart .cart-panel-body { max-height: none; overflow: visible; display: flex; flex-direction: column; gap: 20px; }
.rdz-hdr-cart .cart-item { display: flex; gap: 16px; align-items: stretch; padding: 0; border: 0; }
.rdz-hdr-cart .cart-item .thumb { flex: 0 0 112px; width: 112px; height: 112px; display: block; border-radius: var(--rdz-radius-sm); overflow: hidden; background: none; }
.rdz-hdr-cart .cart-item .thumb a { display: block; width: 100%; height: 100%; }
.rdz-hdr-cart .cart-item .thumb img { width: 100%; height: 100%; object-fit: cover; padding: 0; border: 0; max-width: none; background: none; border-radius: 0; }
.rdz-hdr-cart .cart-item > div:not(.thumb):not(.price) { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.rdz-hdr-cart .item-title { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
.rdz-hdr-cart .item-title a { color: var(--rdz-dark); text-decoration: none; }
.rdz-hdr-cart .item-meta { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); margin: var(--rdz-space-2) 0 0; }
.rdz-hdr-cart .actions { flex-direction: row; align-items: center; gap: 16px; margin: var(--rdz-space-3) 0 0; }
.rdz-hdr-cart .cart-item .price { flex: 0 0 auto; align-self: flex-start; color: var(--rdz-green); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); white-space: nowrap; }
.rdz-hdr-cart .cart-item .remove { color: var(--rdz-black-60); font-size: var(--rdz-fs-sm); font-weight: var(--rdz-fw-reg); padding: 0; }
.rdz-hdr-cart .cart-item .remove:hover { color: var(--rdz-red); }
.rdz-hdr-cart .cart-panel-footer { padding: 20px 0 0; margin: 0; border-top: 1px solid var(--rdz-gray); display: flex; flex-direction: column; gap: 20px; }
.rdz-hdr-cart .cart-panel-footer .micro { font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); line-height: 1.4; }
.rdz-hdr-cart .cart-panel-footer .micro a { color: inherit; font-weight: var(--rdz-fw-semi); text-decoration: none; }
.rdz-hdr-cart .cart-panel-footer .row-between { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); color: var(--rdz-black); }
.rdz-hdr-cart #subtotal { color: var(--rdz-green); }
.rdz-hdr-cart .cart-panel-footer .btns { gap: 12px; margin: 0; }
.rdz-hdr-cart #cart .rdz-cart-ghost { flex: 1 1 0; display: flex; align-items: center; justify-content: center; text-align: center; min-height: 42px; padding: 8px 20px; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); color: var(--rdz-black-60); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); transition: background .15s ease, border-color .15s ease, color .15s ease; }
.rdz-hdr-cart #cart .rdz-cart-ghost:hover { background: var(--rdz-offwhite); border-color: var(--rdz-black-60); color: var(--rdz-dark); }
.rdz-hdr-cart #cart .rdz-cart-cta { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; gap: var(--rdz-space-1); min-height: 42px; padding: 8px 18px 8px 14px; border: 0; border-radius: var(--rdz-radius-sm); background: var(--rdz-dark); color: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); transition: background .15s ease, border-color .15s ease, color .15s ease; }
.rdz-hdr-cart #cart .rdz-cart-cta:hover { color: var(--rdz-gray); }
.rdz-hdr-cart #cart .rdz-cart-cta::after { content: ""; flex: 0 0 20px; width: 20px; height: 20px; background: currentColor; -webkit-mask: url(../image/rdz-ico-arrow.svg) center / contain no-repeat; mask: url(../image/rdz-ico-arrow.svg) center / contain no-repeat; }

/* nav modul restyle -> navy odkazy */
.rdz-hdr-nav { background: var(--rdz-white); }
.rdz-hdr-nav #menu.navbar { background: none; border: 0; margin: 0; min-height: 0; border-radius: 0; }
.rdz-hdr-nav #menu .nav { display: flex; flex-wrap: wrap; justify-content: space-between; }
.rdz-hdr-nav #menu .nav::before, .rdz-hdr-nav #menu .nav::after { content: none; }
.rdz-hdr-nav #menu .nav > li:first-child > a { padding-left: 0; }
.rdz-hdr-nav #menu .nav > li:last-child > a { padding-right: 0; }
.rdz-hdr-nav #menu .nav > li > a { padding: 20px var(--rdz-space-3); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-dark); background: none; transition: color .15s ease; }
.rdz-hdr-nav #menu .nav > li > a:hover, .rdz-hdr-nav #menu .nav > li.open > a { color: var(--rdz-gray); background: none; }

/* ===== KATEGORIE SUBMENU (dropdown) - brand styl (legacy = Poppins, desktop #333 / mobil BILY = neviditelny) ===== */
.rdz-hdr-nav #menu .dropdown-menu a { display: block; padding: var(--rdz-space-2) var(--rdz-space-4); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-sm); line-height: 1.35; color: var(--rdz-dark); background: none; white-space: normal; transition: color .15s ease; }
.rdz-hdr-nav #menu .dropdown-menu .dropdown-inner a:hover, .rdz-hdr-nav #menu .dropdown-menu .dropdown-inner a:focus { color: var(--rdz-gray); background: none; }  /* prebit legacy modrosedy hover box (stylesheet.css:314 (1,3,3)) */
/* + indikatory (rozbaleni) */
.rdz-hdr-nav #menu .dropdown-menu .plus, .rdz-hdr-nav #menu .plusx { color: var(--rdz-gray); font-weight: var(--rdz-fw-reg); }
/* vnorene subkategorie: vetsi odsazeni + lehci vaha */
.rdz-hdr-nav #menu .dropdown-menu .list-unstyled .list-unstyled a { padding-left: var(--rdz-space-6); font-weight: var(--rdz-fw-reg); }
/* desktop: dropdown jako brand box (jemny border/shadow/radius) */
.rdz-hdr-nav #menu .navbar-navx .dropdown-menu { margin-top: 0; border: 1px solid var(--rdz-gray); border-radius: var(--rdz-radius-md); box-shadow: 0 8px 24px rgba(0, 0, 0, .08); padding: var(--rdz-space-2) 0; }  /* margin-top:0 = bez 2px bootstrap mezery pod nav -> hover pri najeti do dropdownu se neztrati */

/* nav 992-1199: zalomeni na 2 radky -> centrovat (space-between roztahuje spodni radek do kraju) */
@media (min-width: 992px) and (max-width: 1199px) {
  .rdz-hdr-nav #menu .nav { justify-content: center; }
  .rdz-hdr-nav #menu .nav > li:first-child > a { padding-left: var(--rdz-space-3); }
  .rdz-hdr-nav #menu .nav > li:last-child > a { padding-right: var(--rdz-space-3); }
}

/* ================= MOBILNI / TABLET HEADER (<992) ================= */
/* searchrow: desktop = flex:1 slot (jen search), mobil = radek burger+search */
.rdz-hdr-searchrow { flex: 1 1 auto; min-width: 0; display: flex; }
.rdz-hdr-burger { display: none; }

@media (max-width: 991px) {
  /* utility bar: jen ikony vpravo, telefon do menu */
  .rdz-hdr-util__inner { justify-content: flex-end; gap: var(--rdz-space-5); }
  .rdz-hdr-util .rdz-hdr-util__contact { display: none; }  /* skryt kontakt jen v top baru; v mobilnim menu (rdz-hdr-nav__contact) se zobrazi */
  .rdz-hdr-util__nav { gap: var(--rdz-space-5); flex-wrap: nowrap; }
  .rdz-hdr-util__link { font-size: 0; gap: 0; }

  /* main bar: logo + kosik radek 1, burger+search radek 2; heureka pryc */
  .rdz-hdr-main__inner { min-height: 0; padding: var(--rdz-space-4) 0; gap: var(--rdz-space-4) var(--rdz-space-5); flex-wrap: wrap; align-items: center; }
  .rdz-hdr-heureka { display: none; }
  .rdz-hdr-logo { flex: 0 1 auto; min-width: 0; align-items: flex-start; gap: 4px; }
  .rdz-hdr-logo__img { display: block; height: 58px; width: auto; }
  .rdz-hdr-logo__cat { display: none; }
  .rdz-hdr-cart { flex: 0 0 auto; order: 1; margin-left: auto; display: flex; align-items: center; }
  /* kosik: jen ikona bez ceny; flex zabije inline-block baseline gap (#cart bylo 59px + button nahore -> o 10px vejs nez logo) */
  .rdz-hdr-cart #cart { display: flex; align-items: center; margin-bottom: 0; }
  .rdz-hdr-cart .rdz-cart__price { display: none; }
  .rdz-hdr-cart #cart > .btn { width: 49px; padding: 0; gap: 0; justify-content: center; margin-bottom: 0; }  /* button melo margin-bottom 10px -> sedel nahore -> o 10px vejs nez logo */
  .rdz-hdr-searchrow { flex: 1 1 100%; order: 2; gap: var(--rdz-space-3); align-items: center; }
  .rdz-hdr-search { flex: 1 1 auto; }
  .rdz-hdr-search #search.input-group { margin-bottom: 0; }  /* input-group melo margin-bottom 10px -> search zabiral 59px misto 49 -> burger o 5px rozjety */
  /* burger (ohraniceny navy ctverec + 3-cara ikona) */
  .rdz-hdr-burger { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 49px; width: 49px; height: 49px; padding: 0; border: 1.5px solid var(--rdz-dark); border-radius: var(--rdz-radius-sm); background: none; color: var(--rdz-dark); cursor: pointer; }
  .rdz-hdr-burger__ico { display: block; }

  /* nav: vertikalni menu (vlastni hamburger z menu.twig skryt - pouzivame header burger) */
  .rdz-hdr-nav { padding: 0; }
  .rdz-hdr-nav .navbar-header { display: none; }
  .rdz-hdr-nav #menu .navbar-nav { display: block; float: none; margin: 0; }
  .rdz-hdr-nav #menu .navbar-nav > li { float: none; }
  .rdz-hdr-nav #menu .navbar-nav > li > a { padding: 14px 0; }
  .rdz-hdr-nav #menu .navbar-nav .dropdown-menu { position: static; float: none; width: auto; border: 0; box-shadow: none; background: none; }
  /* legacy .dropdown-inner ma fixni width:240px + display:table (sloupce=table-cell) -> na mobilu full-width + stack */
  .rdz-hdr-nav #menu .navbar-nav .dropdown-inner { width: auto; display: block; }
  .rdz-hdr-nav #menu .navbar-nav .dropdown-inner > ul { display: block; width: auto; }  /* JEN prime sloupce full-width; vnorene li>ul nechat zabalene (legacy display:none, .plus je rozbaluje) */
  /* vetsi tap-target na + toggle (maly + se na mobilu spatne trefuje; padding = robustni ve float layoutu) */
  .rdz-hdr-nav #menu .navbar-nav .plus, .rdz-hdr-nav #menu .navbar-nav .plusx { display: inline-block; padding: 14px 16px; margin: -14px -16px -14px 0; font-size: 20px; line-height: 1; }
  .rdz-hdr-nav #category { display: none; }
  /* kontaktni osoba dole v mobilnim menu (bez borderu, spacing nahore od menu + dole at se nelepi na obsah) */
  .rdz-hdr-nav__contact { margin-top: var(--rdz-space-5); padding-bottom: var(--rdz-space-6); }
  .rdz-hdr-nav__contact .rdz-hdr-util__dot { border-color: var(--rdz-white); }
}

/* 768-991: prebit Bootstrap (rozbaluje navbar collapse; my chceme hamburger az do 992) */
@media (min-width: 768px) and (max-width: 991px) {
  .rdz-hdr-nav .navbar-collapse.collapse:not(.in) { display: none !important; }
  .rdz-hdr-nav #menu .navbar-nav > li { float: none; }
}

/* ====== buy-box panel (produktovka) ====== */
#product-product .rdz-buybox {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, auto);
	column-gap: var(--rdz-space-5);
	row-gap: 20px;
	align-items: center;
	padding: 20px;
	margin-top: var(--rdz-space-4);
}
#product-product .rdz-buybox > #product { display: contents; }

/* placement; vysivka bar mimo panel (bg jen size..cart) */
#product-product .rdz-buybox::before { content: ""; grid-row: 2 / span 3; grid-column: 1 / -1; align-self: stretch; margin: -20px; background: var(--rdz-offwhite); border-radius: var(--rdz-radius-panel); z-index: 0; }
#product-product .rdz-buybox #rdz-embroidery-section { grid-row: 1; grid-column: 1 / -1; margin: -20px -20px 16px; }
#product-product .rdz-buybox__stock,
#product-product .rdz-buybox__divider,
#product-product .rdz-buybox__price,
#product-product .rdz-buybox__sizefg,
#product-product .rdz-buybox__cartfg,
#product-product .rdz-buybox #rdz-embroidery-section { position: relative; z-index: 1; }
#product-product .rdz-buybox__sizefg { grid-row: 2; grid-column: 1; align-self: center; margin: 0; }
/* uzsi rozestup jen zde: levy sloupec je uzky (pravy si drzi sirku stepperu s tlacitkem),
   pri 4 px se pet velikosti nevejde o 7 px. Trida je sdilena s kartami, proto scoped na buybox. */
#product-product .rdz-buybox__sizefg .rdz-pcard__pill { margin-right: -2px; }
#product-product .rdz-buybox__stock { grid-row: 2; grid-column: 2; justify-self: end; text-align: right; align-self: center; margin: 0; padding: 0; list-style: none; }
#product-product .rdz-buybox__divider { grid-row: 3; grid-column: 1 / -1; width: 100%; height: 0; margin: 0; border: 0; border-top: 1px solid var(--rdz-gray-light); }
#product-product .rdz-buybox__price { grid-row: 4; grid-column: 1; align-self: end; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--rdz-space-2); align-items: flex-start; }
#product-product .rdz-buybox__cartfg { grid-row: 4; grid-column: 2; align-self: end; justify-self: end; margin: 0; display: flex; align-items: center; gap: var(--rdz-space-3); }
#product-product .rdz-buybox #rdz-gift-options-box,
#product-product .rdz-buybox [id^="rdz-delivery-note"],
#product-product .rdz-buybox #rdz-emb-block-note,
#product-product .rdz-buybox > a { grid-column: 1 / -1; }
/* srovnat s vysivkovou listou: obe krabice jinak sedi o padding buyboxu (20 px) uvnitr */
#product-product .rdz-buybox #rdz-gift-options-box,
#product-product .rdz-buybox [id^="rdz-delivery-note"],
#product-product .rdz-buybox #rdz-emb-block-note { margin-left: -20px; margin-right: -20px; }
/* hlaska o blokaci vysivky patri hned pod listu; je to textovy radek, ne box, proto bez vlastniho odsazeni.
   Radky pod ni se posunou jen kdyz hlaska existuje (jinak by vznikl prazdny radek). */
#product-product .rdz-buybox #rdz-embroidery-section.rdz-emb--blocked { margin-bottom: 0; }
/* dolni margin musi pocitat s tim, ze sedy panel (::before) vystupuje o 20 px nad svuj radek */
#product-product .rdz-buybox #rdz-emb-block-note { grid-row: 2; padding: 0; margin: -12px -20px var(--rdz-space-4); }
#product-product .rdz-buybox:has(#rdz-emb-block-note)::before { grid-row: 3 / span 3; }
#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__sizefg,
#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__stock { grid-row: 3; }
#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__divider { grid-row: 4; }
#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__price,
#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__cartfg { grid-row: 5; }
#product-product .rdz-buybox > #product > hr,
#product-product .rdz-buybox > #product > h3 { display: none; }
/* proti FOUC: raw vysivka options skryte nez je rdz_embroidery.js presune do sekce (self-reveal po presunu) */
#product-product .rdz-buybox > #product > .form-group[data-option-id="17"],
#product-product .rdz-buybox > #product > .form-group[data-option-id="19"],
#product-product .rdz-buybox > #product > .form-group[data-option-id="31"],
#product-product .rdz-buybox > #product > .form-group[data-option-id="32"],
#product-product .rdz-buybox > #product > .form-group[data-option-id="33"] { display: none; }

#product-product .rdz-buybox__stock > li { margin: 0; }
#product-product .rdz-buybox__stock > li > strong { display: none; }
/* barvu resi modifikator (--instock zelena / --preorder oranzova / --outstock cervena), tady jen typografie */
#product-product .rdz-buybox__stock .rdz-availability { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
#product-product .rdz-buybox__stock .rdz-card-delivery,
#product-product .rdz-buybox__stock .rdz-card-delivery-main { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black-60); }

#product-product .rdz-buybox__price > li { margin: 0; }
#product-product .rdz-buybox__price h2 { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-black); }
#product-product .rdz-buybox__price span[style*="line-through"] { display: inline-block; background: var(--rdz-yellow); padding: 4px; border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-black-60); }
#product-product .rdz-buybox__price li > strong { font-weight: var(--rdz-fw-reg); font-size: 12px; color: var(--rdz-black-60); }

#product-product .rdz-buybox__sizefg .rdz-pcard__pills { margin: 0; }
/* size label skryty, a11y zachovan */
#product-product .rdz-buybox__size-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
#product-product .rdz-buybox .text-danger { margin: var(--rdz-space-2) 0 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-red); }
#product-product .rdz-buybox .form-group.has-error .rdz-pcard__pill { border-color: var(--rdz-red); }

#product-product .rdz-buybox__cartfg > label,
#product-product .rdz-buybox__cartfg > br { display: none; }
#product-product .rdz-buybox .rdz-qty__val { width: 38px; height: 38px; display: inline-flex; }
#product-product .rdz-buybox .rdz-qty__btn--plus { background: var(--rdz-white); border-color: var(--rdz-gray); color: var(--rdz-black-60); }
#product-product .rdz-buybox .rdz-qty__btn--plus:hover { background: var(--rdz-white); border-color: var(--rdz-dark); color: var(--rdz-dark); }
#product-product .rdz-buybox #button-cart.rdz-buybox__cart { width: auto; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--rdz-radius-sm); padding: 16px 20px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1; box-shadow: none; white-space: nowrap; transition: background .18s ease, border-color .18s ease; }
/* stavy navy - prebiji legacy .btn-primary !important */
#product-product .rdz-buybox #button-cart.rdz-buybox__cart,
#product-product .rdz-buybox #button-cart.rdz-buybox__cart[disabled],
#product-product .rdz-buybox #button-cart.rdz-buybox__cart.disabled { background: var(--rdz-dark) !important; border: 1.5px solid var(--rdz-dark) !important; color: var(--rdz-white) !important; }
#product-product .rdz-buybox #button-cart.rdz-buybox__cart:hover,
#product-product .rdz-buybox #button-cart.rdz-buybox__cart:focus,
#product-product .rdz-buybox #button-cart.rdz-buybox__cart:active { background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important; color: var(--rdz-gray) !important; }
#product-product .rdz-buybox #button-cart.rdz-buybox__cart:focus:not(:focus-visible),
#product-product .rdz-buybox #button-cart.rdz-buybox__cart:active { outline: none !important; box-shadow: none !important; }
#product-product .rdz-buybox #button-cart.rdz-buybox__cart:focus-visible { outline: 2px solid var(--rdz-dark); outline-offset: 2px; box-shadow: none !important; }

/* ikony pod panelem (share/compare/wishlist) - reuse .rdz-ptop__tool */
#product-product .rdz-buybox-tools { display: flex; align-items: center; gap: var(--rdz-space-4); margin-top: var(--rdz-space-3); }

/* native rating - minimal restyle (plny navy trust box = pozdeji) */
#product-product .rating { margin-top: var(--rdz-space-3); }
#product-product .rating p { margin: 0; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.5; color: var(--rdz-black-60); }
#product-product .rating .fa-star { color: var(--rdz-yellow); }
#product-product .rating .fa-star-o { color: var(--rdz-gray); }
#product-product .rating a { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); text-decoration: none; margin-left: var(--rdz-space-1); }
#product-product .rating a:hover { color: var(--rdz-dark); }

/* kontakt karta + heureka badge (spodek sidebaru) */
#product-product .rdz-pcontact { display: flex; gap: 20px; align-items: center; margin-top: var(--rdz-space-6); }
#product-product .rdz-pcontact__card { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: var(--rdz-space-5); border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-panel); padding: 20px; }
#product-product .rdz-pcontact__head { display: flex; gap: var(--rdz-space-3); align-items: flex-start; }
#product-product .rdz-pcontact__avatar { position: relative; flex: 0 0 56px; width: 56px; height: 56px; }
#product-product .rdz-pcontact__avatar img { display: block; width: 56px; height: 56px; border-radius: var(--rdz-radius-pill); object-fit: cover; border: 1px solid var(--rdz-black-60); }
#product-product .rdz-pcontact__dot { position: absolute; right: 0; bottom: 3px; width: 17px; height: 17px; border-radius: var(--rdz-radius-pill); background: var(--rdz-green); border: 2px solid var(--rdz-white); box-sizing: border-box; }

/* mimo provozni dobu */
.rdz-hdr-util__dot.rdz-is-off,
.rdz-foot-help__dot.rdz-is-off,
#product-product .rdz-pcontact__dot.rdz-is-off { background: var(--rdz-offline); }
#product-product .rdz-pcontact__lines { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
#product-product .rdz-pcontact__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-black); }
#product-product .rdz-pcontact__sub { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
#product-product .rdz-pcontact__name { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-dark); }
#product-product .rdz-pcontact__role { font-weight: var(--rdz-fw-reg); color: var(--rdz-black-60); }
#product-product .rdz-pcontact__phones { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }
#product-product .rdz-pcontact__phone { display: inline-flex; align-items: center; gap: var(--rdz-space-2); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); text-decoration: none; }
#product-product .rdz-pcontact__phone:hover { color: var(--rdz-gray); }
#product-product .rdz-pcontact__ico { flex: 0 0 20px; width: 20px; height: 20px; }
#product-product .rdz-pcontact__badge { flex: 0 0 clamp(100px, 11vw, 140px); }
#product-product .rdz-pcontact__badge img { display: block; width: 100%; height: auto; aspect-ratio: 1; }
#product-product .rdz-pcontact__card { container-type: inline-size; }
@container (max-width: 300px) {
	#product-product .rdz-pcontact__head { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-3); }
}
@media (max-width: 1187px) {
	#product-product .rdz-pcontact { flex-direction: column; align-items: flex-start; }
	#product-product .rdz-pcontact__card { width: 100%; }
	#product-product .rdz-pcontact__badge { flex: 0 0 auto; width: 140px; }
}
@media (max-width: 991px) {
	#product-product .row > .col-sm-7,
	#product-product .row > .col-sm-5 { width: 100%; margin-left: 0; float: none; padding-left: 15px; padding-right: 15px; }
	#product-product .thumbnails { margin-bottom: var(--rdz-space-6); }

	#product-product .rdz-ptop { display: flex !important; gap: var(--rdz-space-4); margin: var(--rdz-space-4) 0 var(--rdz-space-4); }
	/* drobecky: bootstrap je na uzkych skryva, vracime je se scrollem */
	#product-product .rdz-ptop .breadcrumb,
	#product-category .breadcrumb, #rdz-darky .breadcrumb,
	#product-search .breadcrumb,
#product-manufacturer .breadcrumb, #information-information .breadcrumb, #information-contact .breadcrumb, #information-sitemap .breadcrumb, #tltblog-tlttag .breadcrumb, #tltblog-tltblog .breadcrumb, #product-compare .breadcrumb, #error-not-found .breadcrumb, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb { display: flex !important; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	#product-product .rdz-ptop .breadcrumb::-webkit-scrollbar,
	#product-category .breadcrumb::-webkit-scrollbar, #rdz-darky .breadcrumb::-webkit-scrollbar,
	#product-search .breadcrumb::-webkit-scrollbar,
#product-manufacturer .breadcrumb::-webkit-scrollbar, #information-information .breadcrumb::-webkit-scrollbar, #information-contact .breadcrumb::-webkit-scrollbar, #information-sitemap .breadcrumb::-webkit-scrollbar, #tltblog-tlttag .breadcrumb::-webkit-scrollbar, #tltblog-tltblog .breadcrumb::-webkit-scrollbar, #product-compare .breadcrumb::-webkit-scrollbar, #error-not-found .breadcrumb::-webkit-scrollbar { display: none; }
	#product-product .rdz-ptop .breadcrumb > li,
	#product-category .breadcrumb > li, #rdz-darky .breadcrumb > li,
	#product-search .breadcrumb > li,
#product-manufacturer .breadcrumb > li, #information-information .breadcrumb > li, #information-contact .breadcrumb > li, #information-sitemap .breadcrumb > li, #tltblog-tlttag .breadcrumb > li, #tltblog-tltblog .breadcrumb > li, #product-compare .breadcrumb > li, #error-not-found .breadcrumb > li, :is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .breadcrumb > li { white-space: nowrap; flex: 0 0 auto; }
	#product-product .rdz-ptop__right { display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: var(--rdz-space-4); row-gap: 2px; }
	#product-product .rdz-ptop__meta { grid-column: 1; }
	#product-product .rdz-ptop__tools { grid-column: 2; grid-row: 1 / span 2; align-self: center; }

	#product-product .rdz-buybox { grid-template-columns: 1fr; }
	#product-product .rdz-buybox #rdz-embroidery-section { grid-row: 1; grid-column: 1; }
	#product-product .rdz-buybox__sizefg { grid-row: 2; grid-column: 1; align-self: start; }
	#product-product .rdz-buybox__stock { grid-row: 3; grid-column: 1; justify-self: start; text-align: left; }
	#product-product .rdz-buybox__divider { grid-row: 4; grid-column: 1; }
	#product-product .rdz-buybox__price { grid-row: 5; grid-column: 1; align-self: start; }
	#product-product .rdz-buybox__cartfg { grid-row: 6; grid-column: 1; justify-self: stretch; display: flex; align-items: center; justify-content: space-between; gap: var(--rdz-space-3); flex-wrap: nowrap; }
	#product-product .rdz-buybox::before { grid-row: 2 / span 5; grid-column: 1; }
	/* stejny posun radku jako na desktopu, kdyz je hlaska o blokaci vysivky */
	#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__sizefg { grid-row: 3; }
	#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__stock { grid-row: 4; }
	#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__divider { grid-row: 5; }
	#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__price { grid-row: 6; }
	#product-product .rdz-buybox:has(#rdz-emb-block-note) .rdz-buybox__cartfg { grid-row: 7; }
	#product-product .rdz-buybox:has(#rdz-emb-block-note)::before { grid-row: 3 / span 5; }
}

/* produktovka: USP blok + Hodnoceni obchodu (mezi 2-sloupcem a popisem) */
#product-product .rdz-psections { margin: var(--rdz-space-7) 0; }
#product-product .rdz-psections .rdz-usp { padding: 0 0 var(--rdz-space-8); }

/* ===== POPIS V BLOCICH (Figma frame "produkt_detail_detske ponco" 5770:4999) =====

   Product description as a hero card, numbered photo + text blocks and a
   benefits card. Content per product from admin, see docs/product-story.md.

   Photos sit under the right part of each card and the browser crops them
   with object-fit; a cream gradient runs over their left edge so the text on
   top stays readable whatever the photo. Replaces the "Popis" tab when on. */
.rdz-story { display: flex; flex-direction: column; gap: 25px; padding: var(--rdz-space-7) 0 var(--rdz-space-5); }
.rdz-story__hero { position: relative; display: flex; align-items: center; min-height: 400px; overflow: hidden; border-radius: 26px; background: var(--rdz-cream); }
/* <picture> only picks the phone photo; it must not add a box of its own */
.rdz-story__pic { display: contents; }
.rdz-story__hero-img { position: absolute; top: 0; right: 0; bottom: 0; left: 30%; width: 70%; height: 100%; object-fit: cover; }
.rdz-story__hero--photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--rdz-cream) 38%, rgba(248, 237, 215, 0) 67%); pointer-events: none; }
.rdz-story__hero-body { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 20px; max-width: 500px; padding: 40px; }
.rdz-story__hero-title { margin: 0 0 10px; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: 56px; line-height: 66px; color: var(--rdz-dark); }
.rdz-story__hero-lead { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 34px; color: var(--rdz-dark); }
.rdz-story__hero-text,
.rdz-story__block-text { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 22px; color: var(--rdz-black-60); }
.rdz-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.rdz-story__block { position: relative; overflow: hidden; min-height: 350px; border-radius: 20px; background: var(--rdz-cream); }
.rdz-story__block-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
/* Figma stacks the same cream gradient (100% -> 60% at 37% -> 0 at 72%) three times over the
   photo; the stops below are that triple layer flattened into one: 1 - (1 - a)^3 */
.rdz-story__block--photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--rdz-cream) 0%, rgba(248, 237, 215, .94) 37%, rgba(248, 237, 215, .66) 55%, rgba(248, 237, 215, .39) 63%, rgba(248, 237, 215, .2) 68%, rgba(248, 237, 215, 0) 72%); pointer-events: none; }
.rdz-story__block-body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; width: 56%; max-width: 330px; padding: 25px 0 25px 27px; }
.rdz-story__num { display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 44px; border-radius: 50%; background: var(--rdz-yellow); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 1; color: var(--rdz-black); }
.rdz-story__block-title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h2); line-height: 41px; color: var(--rdz-dark); }
.rdz-story__benefits { padding: 50px 24px; border-radius: 20px; background: var(--rdz-offwhite); text-align: center; }
.rdz-story__title { margin: 0 0 40px; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h2); line-height: 41px; color: var(--rdz-dark); text-wrap: balance; }
/* legacy stylesheet.css paints every h2 on the product page gold (#product-product h2) */
#product-product .rdz-story__hero-title,
#product-product .rdz-story__title { color: var(--rdz-dark); }
.rdz-story__benefit-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 32px 24px; margin: 0; padding: 0; list-style: none; }
/* seven items fit one row in the 1180 container; fewer or narrower screens wrap */
.rdz-story__benefit { display: flex; flex: 1 1 0; flex-direction: column; align-items: center; gap: 20px; min-width: 120px; max-width: 170px; }
.rdz-story__benefit-icon { width: 70px; height: 66px; object-fit: contain; }
.rdz-story__benefit-text { font-family: var(--rdz-font-body); font-size: 13px; line-height: 20px; color: var(--rdz-black-60); }

@media (max-width: 1199px) {
	.rdz-story__hero-title { font-size: 44px; line-height: 52px; }
	.rdz-story__block-body { width: 60%; padding-left: 24px; }
	.rdz-story__block-title { font-size: var(--rdz-fs-h3); line-height: 32px; }
}
@media (max-width: 991px) {
	.rdz-story__grid { grid-template-columns: 1fr; }
	.rdz-story__hero { min-height: 360px; }
	.rdz-story__block-body { width: 55%; }
}
@media (max-width: 767px) {
	.rdz-story { gap: var(--rdz-space-4); padding-top: var(--rdz-space-6); }
	/* narrow screens: photo on top, text below; the photo fades into the cream
	   text area instead of ending on a hard edge */
	.rdz-story__hero,
	.rdz-story__block { display: flex; flex-direction: column; min-height: 0; border-radius: var(--rdz-radius-panel-mobile); }
	.rdz-story__hero-img,
	.rdz-story__block-img { position: static; width: 100%; height: 260px; object-position: center; }
	.rdz-story__hero--photo::after,
	.rdz-story__block--photo::after { inset: 0 0 auto; height: 260px; background: linear-gradient(180deg, rgba(248, 237, 215, 0) 40%, var(--rdz-cream) 100%); }
	.rdz-story__hero-body,
	.rdz-story__block-body { margin-top: -48px; }
	.rdz-story__hero-body { gap: var(--rdz-space-3); max-width: none; padding: var(--rdz-space-5); }
	.rdz-story__hero-title { margin: 0; font-size: 34px; line-height: 40px; }
	.rdz-story__hero-lead { font-size: var(--rdz-fs-h4); line-height: 28px; }
	.rdz-story__block-body { gap: var(--rdz-space-3); width: auto; max-width: none; padding: var(--rdz-space-4) var(--rdz-space-5) var(--rdz-space-5); }
	.rdz-story__num { width: 38px; height: 38px; font-size: var(--rdz-fs-h4); }
	.rdz-story__benefits { padding: var(--rdz-space-6) var(--rdz-space-4); }
	.rdz-story__title { margin-bottom: var(--rdz-space-5); font-size: var(--rdz-fs-h3); line-height: 32px; }
	.rdz-story__benefit-list { gap: var(--rdz-space-5) var(--rdz-space-4); }
	.rdz-story__benefit { flex-basis: calc(50% - var(--rdz-space-2)); gap: var(--rdz-space-3); min-width: 0; max-width: none; }
}
#product-product .rdz-psections .rdz-reviews { padding: 0; }
/* legacy stylesheet.css paints every h2 on the product page gold (#product-product h2) */
#product-product .rdz-usp__title { color: var(--rdz-dark); }
#product-product .rdz-prod--related { padding-top: var(--rdz-space-6); padding-bottom: var(--rdz-space-6); }
#product-product .rdz-ptags { margin: 0; padding-bottom: var(--rdz-space-6); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.6; color: var(--rdz-black-60); }
#product-product .rdz-ptags a { color: var(--rdz-black-60); text-decoration: none; transition: color .15s ease; }
#product-product .rdz-ptags a:hover { color: var(--rdz-dark); text-decoration: underline; }
/* legacy "#product-product h2" (zlata, ID specificita) prebiji .rdz-h1 -> vratit navy jako na homepage */
#product-product .rdz-psections .rdz-reviews__title { color: var(--rdz-dark); }

/* ================= ALERTY (success / info / warning / danger) =================
   Brand override BS3 alertu (kosik, formulare, ucet...). custom.css se nacita JEN v zupany
   theme (store 1) -> multistore-safe: store 0 (default) i raminka zustavaji na BS defaultu. */
.alert {
	position: relative;
	font-family: var(--rdz-font-body);
	font-weight: var(--rdz-fw-med);
	font-size: 15px;
	line-height: 1.45;
	color: var(--rdz-dark);
	background: var(--rdz-offwhite);
	border: 1px solid var(--rdz-gray);
	border-radius: var(--rdz-radius-md);
	padding: 14px 46px 14px 16px;
	margin-bottom: var(--rdz-space-4);
}
.alert > .fa:first-child { margin-right: 8px; font-size: 16px; }
/* close: uvnitr listy + vertikalne vycentrovany (vzor hello bar) - prebiji BS ".alert-dismissible .close { right:-21px }" co ho tlacil ven */
.alert .close {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	float: none;
	margin: 0;
	padding: 4px 6px;
	border: 0;
	background: none;
	font-size: 22px;
	font-weight: var(--rdz-fw-reg);
	line-height: 1;
	color: currentColor;
	opacity: .4;
	text-shadow: none;
}
.alert .close:hover, .alert .close:focus { opacity: .85; outline: none; }

.alert-success { background: var(--rdz-offwhite); background: color-mix(in srgb, var(--rdz-green) 8%, var(--rdz-white)); border-color: var(--rdz-green); }
.alert-success > .fa:first-child { color: var(--rdz-green); }
.alert-info { background: var(--rdz-offwhite); background: color-mix(in srgb, var(--rdz-blue) 8%, var(--rdz-white)); border-color: var(--rdz-blue); }
.alert-info > .fa:first-child { color: var(--rdz-blue); }
.alert-warning { background: var(--rdz-cream); border-color: var(--rdz-yellow); }
.alert-warning > .fa:first-child { color: color-mix(in srgb, var(--rdz-yellow), var(--rdz-black) 42%); }
.alert-danger { background: var(--rdz-offwhite); background: color-mix(in srgb, var(--rdz-red) 7%, var(--rdz-white)); border-color: var(--rdz-red); }
.alert-danger > .fa:first-child { color: var(--rdz-red); }
.alert a { color: var(--rdz-dark); text-decoration: underline; }
.alert a:hover, .alert a:focus { color: var(--rdz-dark); text-decoration: none; }

/* produktovka: cross-sell banner "vyhodna sada" - vytazen pod buybox, plna sirka + mezera */
#product-product .rdz-buybox-banner { display: block; margin-top: var(--rdz-space-5); border-radius: var(--rdz-radius-md); overflow: hidden; }
#product-product .rdz-buybox-banner img { width: 100%; height: auto; display: block; }

/* produktovka: taby Popis/Specifikace/Recenze - navy folder styl, prebiji legacy zlatou */
#product-product .nav-tabs { border-bottom: 1.5px solid var(--rdz-dark); margin-bottom: var(--rdz-space-6); }
#product-product .nav-tabs > li { float: left; margin-bottom: -1.5px; }
#product-product .nav-tabs > li > a {
	margin-right: 0; padding: 14px 20px; line-height: 1;
	border: 1.5px solid transparent; border-radius: var(--rdz-radius-panel) var(--rdz-radius-panel) 0 0;
	background: none;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm);
	color: var(--rdz-black-60);
}
#product-product .nav-tabs > li > a:hover, #product-product .nav-tabs > li > a:focus { background: none; border-color: transparent; color: var(--rdz-dark); }
/* keyboard focus: globalni offset navy ring (r.77) kolidoval s folder borderem (vypadal jako druha linka) -> inset dovnitr tabu, na aktivnim (uz je videt) bez ringu */
#product-product .nav-tabs > li > a:focus-visible { outline-offset: -3px; }
#product-product .nav-tabs > li.active > a:focus-visible { outline: none; }
#product-product .nav-tabs > li.active > a,
#product-product .nav-tabs > li.active > a:hover,
#product-product .nav-tabs > li.active > a:focus {
	background: var(--rdz-white); border: 1.5px solid var(--rdz-dark); border-bottom-color: var(--rdz-white);
	color: var(--rdz-dark); font-weight: var(--rdz-fw-semi);
}

/* ===== POPIS TAB: sjednoceni generickeho textu do brandu =====
   Bez !important -> vlastni styl custom obsahu (inline styly, tridy dvz/giftcards) vyhraje.
   Nadpisy/bold/odkazy jen na primych potomcich -> uvnitr custom bloku netknute.
   Inline zlata citace (p>span[style]) zustava = author override vyhrava. */
#product-product #tab-description {
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60);
}
#product-product #tab-description > h1,
#product-product #tab-description > h2,
#product-product #tab-description > h3,
#product-product #tab-description > h4,
#product-product #tab-description > h5,
#product-product #tab-description > h6 {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	color: var(--rdz-dark); margin: var(--rdz-space-7) 0 var(--rdz-space-4);
}
/* heading skala; klient si vybira level v editoru */
#product-product #tab-description > h1 { font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); }
#product-product #tab-description > h2 { font-size: var(--rdz-fs-h2); line-height: var(--rdz-lh-tight); }
#product-product #tab-description > h3 { font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
#product-product #tab-description > h4,
#product-product #tab-description > h5,
#product-product #tab-description > h6 { font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); }
#product-product #tab-description > p { margin: 0 0 var(--rdz-space-4); }
#product-product #tab-description > ul,
#product-product #tab-description > ol { margin: 0 0 var(--rdz-space-4); padding-left: 1.4em; }
#product-product #tab-description > ul > li,
#product-product #tab-description > ol > li { margin-bottom: 6px; }
/* bold v generickem textu -> navy (primy potomek p -> preskoci inline citaci p>span>b) */
#product-product #tab-description > p > b,
#product-product #tab-description > p > strong,
#product-product #tab-description > b,
#product-product #tab-description > strong,
#product-product #tab-description > ul b,
#product-product #tab-description > ul strong { color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); }
/* odkazy v generickem textu -> navy */
#product-product #tab-description > p a,
#product-product #tab-description > ul a { color: var(--rdz-dark); text-decoration: underline; text-underline-offset: 2px; }
#product-product #tab-description > p a:hover,
#product-product #tab-description > ul a:hover { color: var(--rdz-black-60); }

/* ===== SPECIFIKACE tab: nativni OC atributy -> brand (variabilni: N skupin, N radku) ===== */
#product-product #tab-specification { font-family: var(--rdz-font-body); }
#product-product #tab-specification .table { border: 0; margin: 0; }
#product-product #tab-specification .table > thead > tr > td,
#product-product #tab-specification .table > tbody > tr > td {
	border: 0; border-bottom: 1px solid var(--rdz-gray-light);
	padding: 13px 24px 13px 0; vertical-align: top;
	font-size: var(--rdz-fs-body); line-height: 1.5;
}
/* skupinovy nadpis (thead: Parametry...) = navy Literata */
#product-product #tab-specification .table > thead > tr > td { border-bottom: 1.5px solid var(--rdz-dark); padding-top: var(--rdz-space-5); }
#product-product #tab-specification .table > thead:first-child > tr > td { padding-top: 0; }
#product-product #tab-specification .table > thead strong {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h4); color: var(--rdz-dark);
}
/* label navy semibold | value gray */
#product-product #tab-specification .table > tbody > tr > td:first-child { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); width: 42%; }
#product-product #tab-specification .table > tbody > tr > td:last-child { color: var(--rdz-black-60); }

/* ===== RECENZE tab: nativni OC review -> brand, 2-sloupec (rating + form vlevo, seznam vpravo) ===== */
#product-product #tab-review { font-family: var(--rdz-font-body); }
/* jsou recenze -> 2 sloupce */
#product-product #tab-review .rdz-review-side { display: flex; flex-direction: column; gap: 20px; }
#product-product #tab-review.rdz-reviews--has #form-review {
	display: grid; grid-template-columns: minmax(0, 380px) 1fr;
	gap: 40px; align-items: start;
}
#product-product #tab-review.rdz-reviews--has #review { grid-column: 2; grid-row: 1; margin: 0; }
#product-product #tab-review.rdz-reviews--has .rdz-review-side { grid-column: 1; grid-row: 1; }
/* prazdno -> 1 sloupec (zadny prazdny pravy sloupec) */
#product-product #tab-review.rdz-reviews--empty .rdz-review-side { max-width: 640px; }
/* u produktu bez recenzi kartu hodnoceni obchodu nezobrazovat: velke "4,9" pod zalozkou "Recenze (0)"
   se cte jako hodnoceni produktu a stejny udaj je v sekci Hodnoceni obchodu vys na strance */
#product-product #tab-review.rdz-reviews--empty .rdz-hrating { display: none; }
#product-product #tab-review.rdz-reviews--empty #review {
	color: var(--rdz-black-60); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body);
	margin-bottom: var(--rdz-space-5);
}

/* hodnoceni obchodu (Heureka) - stejny lockup jako v headeru, navy karta */
#product-product #tab-review .rdz-hrating { display: flex; align-items: center; gap: 20px; background: var(--rdz-dark); border-radius: var(--rdz-radius-sm); padding: 20px 20px 24px; }
#product-product #tab-review .rdz-hrating__badge { flex: 0 0 89px; display: block; line-height: 0; }
#product-product #tab-review .rdz-hrating__badge img { width: 89px; height: 89px; display: block; }
#product-product #tab-review .rdz-hrating__info { display: flex; flex-direction: column; gap: var(--rdz-space-1); min-width: 0; }
#product-product #tab-review .rdz-hrating__num { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-light); font-size: var(--rdz-fs-h2); line-height: 1; color: var(--rdz-white); }
#product-product #tab-review .rdz-hrating__count { font-size: var(--rdz-fs-sm); color: var(--rdz-gray); }

/* hvezdicky v Recenze tabu: hvezda z designu (mask) + gradient drzi pulhvezdy; homepage widget zustava */
#product-product #tab-review .rdz-reviews__stars,
#product-product .rdz-pstrip .rdz-reviews__stars {
	display: block; font-size: 0; letter-spacing: normal;
	background: linear-gradient(90deg, var(--rdz-yellow) calc(var(--rdz-r, 0) / 5 * 100%), var(--rdz-gray) calc(var(--rdz-r, 0) / 5 * 100%));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 25'%3E%3Cpath d='M10 2.5L12.2451 9.40983H19.5106L13.6327 13.6803L15.8779 20.5902L10 16.3197L4.12215 20.5902L6.36729 13.6803L0.489435 9.40983H7.75486L10 2.5Z' fill='black'/%3E%3Cpath d='M31 2.5L33.2451 9.40983H40.5106L34.6327 13.6803L36.8779 20.5902L31 16.3197L25.1221 20.5902L27.3673 13.6803L21.4894 9.40983H28.7549L31 2.5Z' fill='black'/%3E%3Cpath d='M52 2.5L54.2451 9.40983H61.5106L55.6327 13.6803L57.8779 20.5902L52 16.3197L46.1221 20.5902L48.3673 13.6803L42.4894 9.40983H49.7549L52 2.5Z' fill='black'/%3E%3Cpath d='M73 2.5L75.2451 9.40983H82.5106L76.6327 13.6803L78.8779 20.5902L73 16.3197L67.1221 20.5902L69.3673 13.6803L63.4894 9.40983H70.7549L73 2.5Z' fill='black'/%3E%3Cpath d='M94 2.5L96.2451 9.40983H103.511L97.6327 13.6803L99.8779 20.5902L94 16.3197L88.1221 20.5902L90.3673 13.6803L84.4894 9.40983H91.7549L94 2.5Z' fill='black'/%3E%3C/svg%3E") left center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 104 25'%3E%3Cpath d='M10 2.5L12.2451 9.40983H19.5106L13.6327 13.6803L15.8779 20.5902L10 16.3197L4.12215 20.5902L6.36729 13.6803L0.489435 9.40983H7.75486L10 2.5Z' fill='black'/%3E%3Cpath d='M31 2.5L33.2451 9.40983H40.5106L34.6327 13.6803L36.8779 20.5902L31 16.3197L25.1221 20.5902L27.3673 13.6803L21.4894 9.40983H28.7549L31 2.5Z' fill='black'/%3E%3Cpath d='M52 2.5L54.2451 9.40983H61.5106L55.6327 13.6803L57.8779 20.5902L52 16.3197L46.1221 20.5902L48.3673 13.6803L42.4894 9.40983H49.7549L52 2.5Z' fill='black'/%3E%3Cpath d='M73 2.5L75.2451 9.40983H82.5106L76.6327 13.6803L78.8779 20.5902L73 16.3197L67.1221 20.5902L69.3673 13.6803L63.4894 9.40983H70.7549L73 2.5Z' fill='black'/%3E%3Cpath d='M94 2.5L96.2451 9.40983H103.511L97.6327 13.6803L99.8779 20.5902L94 16.3197L88.1221 20.5902L90.3673 13.6803L84.4894 9.40983H91.7549L94 2.5Z' fill='black'/%3E%3C/svg%3E") left center / contain no-repeat;
}
#product-product #tab-review .rdz-reviews__stars::before,
#product-product .rdz-pstrip .rdz-reviews__stars::before { content: none; }
#product-product #tab-review .rdz-hrating__stars { width: 89px; height: 21px; }

/* write form -> off-white panel + brand; posledni radek = hodnoceni vlevo | tlacitko vpravo */
#product-product #tab-review .rdz-review-write {
	background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); padding: 20px;
	display: grid; grid-template-columns: 1fr auto; align-items: center; gap: var(--rdz-space-4);
}
#product-product #tab-review .rdz-review-write > * { grid-column: 1 / -1; }
#product-product #tab-review .rdz-review-write > .rdz-review-rating { grid-column: 1; }
#product-product #tab-review .rdz-review-write > .buttons { grid-column: 2; justify-self: end; margin: 0; }
#product-product #tab-review .rdz-review-write > h2 {
	margin: 0 0 var(--rdz-space-2); font-family: var(--rdz-font-head); font-style: italic;
	font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark);
}
#product-product #tab-review .form-group { margin-bottom: 0; }
#product-product #tab-review .control-label { font-weight: var(--rdz-fw-reg); color: var(--rdz-black-60); font-size: var(--rdz-fs-sm); margin-bottom: var(--rdz-space-2); padding-top: 0; }
/* asterisk: glyph sedi u horni hrany em boxu -> posunout na opticky stred textu */
#product-product #tab-review .form-group.required .control-label::before {
	display: inline-block; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 20px; line-height: 0; vertical-align: -0.36em; color: inherit;
}
#product-product #tab-review .form-control { background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); box-shadow: none; color: var(--rdz-dark); }
#product-product #tab-review input.form-control { height: 42px; padding: 0 var(--rdz-space-4); }
#product-product #tab-review textarea.form-control { min-height: 156px; padding: var(--rdz-space-4); }
#product-product #tab-review .form-control:focus { border-color: var(--rdz-dark); outline: none; box-shadow: none; }
#product-product #tab-review .help-block { font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
#product-product #tab-review .help-block .text-danger { color: inherit; }
/* tlacitko = spolecna .rdz-btn--blue (BS .btn line-height ji jinak zvedal vysku) */
#product-product #tab-review #button-review { line-height: 1; }
/* rating input -> klikaci hvezdicky (reverzni DOM + row-reverse -> fill up to) */
/* BS .control-label je inline-block -> margin se neslucuje, nulovat at je mezera 12px */
#product-product #tab-review .rdz-review-rating .control-label { margin-bottom: 0; }
#product-product #tab-review .rdz-rating-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 1px; margin-top: var(--rdz-space-3); }
#product-product #tab-review .rdz-rating-input input { position: absolute; width: 1px; height: 1px; opacity: 0; }
/* 3 stavy hvezdicky z designu: prazdna = obrys | hover = zluta + obrys navrch | vybrana = cista zluta.
   Stejny path pro vypln i obrys (jen fill vs stroke) -> hvezda pri vyberu neposkoci a sedi na levy okraj. */
#product-product #tab-review .rdz-rating-input {
	--rdz-star-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 25.7764 24.6127'%3E%3Cpath d='M11.8882 0L14.6946 8.63729H23.7764L16.4291 13.9754L19.2355 22.6127L11.8882 17.2746L4.54089 22.6127L7.34732 13.9754L0 8.63729H9.08178L11.8882 0Z' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E");
	--rdz-star-fill: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 25.7764 24.6127'%3E%3Cpath d='M11.8882 0L14.6946 8.63729H23.7764L16.4291 13.9754L19.2355 22.6127L11.8882 17.2746L4.54089 22.6127L7.34732 13.9754L0 8.63729H9.08178L11.8882 0Z' fill='black'/%3E%3C/svg%3E");
}
#product-product #tab-review .rdz-rating-input label { position: relative; margin: 0; width: 25px; height: 25px; cursor: pointer; }
#product-product #tab-review .rdz-rating-input label::before,
#product-product #tab-review .rdz-rating-input label::after { content: ""; position: absolute; inset: 0; }
/* zaklad = obrys */
#product-product #tab-review .rdz-rating-input label::before {
	background-color: var(--rdz-black-60); transition: background-color .12s ease;
	-webkit-mask: var(--rdz-star-line) left center / contain no-repeat;
	        mask: var(--rdz-star-line) left center / contain no-repeat;
}
/* vybrane i hoverovane (vc. predchazejicich) = zluta vypln */
#product-product #tab-review .rdz-rating-input input:checked ~ label::before,
#product-product #tab-review .rdz-rating-input label:hover::before,
#product-product #tab-review .rdz-rating-input label:hover ~ label::before {
	background-color: var(--rdz-yellow);
	-webkit-mask-image: var(--rdz-star-fill);
	        mask-image: var(--rdz-star-fill);
}
/* hover navic obrys navrch -> odlisi "kliknul bych sem" od uz vybraneho */
#product-product #tab-review .rdz-rating-input label:hover::after,
#product-product #tab-review .rdz-rating-input label:hover ~ label::after {
	background-color: var(--rdz-black-60);
	-webkit-mask: var(--rdz-star-line) left center / contain no-repeat;
	        mask: var(--rdz-star-line) left center / contain no-repeat;
}

/* review seznam (zupany review.twig): 2 kolony - avatar+jmeno vlevo, hvezdicky nad textem vpravo */
/* pevna leva kolona -> hvezdicky i text zacinaji na stejne ose bez ohledu na delku jmena */
#product-product #tab-review #review .rdz-review { display: grid; grid-template-columns: 210px 1fr; align-items: start; gap: var(--rdz-space-6); }
#product-product #tab-review #review .rdz-review + .rdz-review { margin-top: 40px; }
#product-product #tab-review #review .rdz-review__who { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
#product-product #tab-review #review .rdz-review__avatar { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: var(--rdz-black-60); color: var(--rdz-offwhite); display: inline-flex; align-items: center; justify-content: center; }
#product-product #tab-review #review .rdz-review__avatar svg { width: 18px; height: 20px; display: block; }
#product-product #tab-review #review .rdz-review__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#product-product #tab-review #review .rdz-review__author { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); font-size: var(--rdz-fs-body); line-height: 24px; overflow-wrap: anywhere; }
#product-product #tab-review #review .rdz-review__date { font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
#product-product #tab-review #review .rdz-review__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
#product-product #tab-review #review .rdz-review__stars { width: 104px; height: 25px; }
#product-product #tab-review #review .rdz-review__text { margin: 0; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: 24px; color: var(--rdz-black-60); }
#product-product #tab-review #review .rdz-review__foot { display: flex; justify-content: space-between; align-items: center; margin-top: var(--rdz-space-5); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
#product-product #tab-review #review .rdz-review__empty { color: var(--rdz-black-60); }

/* tlacitko "vsechny recenze" jen na mobilu (na desktopu je videt cely seznam + strankovani) */
#product-product #tab-review #review .rdz-review__more { display: none; }

/* Recenze tab na mobilu dle designu: karta -> seznam (2 recenze + CTA) -> formular; review item stack */
@media (max-width: 991px) {
	#product-product #tab-review.rdz-reviews--has #form-review { display: flex; flex-direction: column; align-items: stretch; gap: var(--rdz-space-6); }
	/* wrapper rozpustit, aby sla karta nad seznam a formular pod nej */
	#product-product #tab-review.rdz-reviews--has .rdz-review-side { display: contents; }
	#product-product #tab-review.rdz-reviews--has .rdz-hrating { order: 1; }
	#product-product #tab-review.rdz-reviews--has #review { order: 2; }
	#product-product #tab-review.rdz-reviews--has .rdz-review-write { order: 3; }
	/* seznam zkraceny na 2 recenze, zbytek odkryje CTA */
	#product-product #tab-review #review .rdz-review:nth-of-type(n+3) { display: none; }
	#product-product #tab-review #review .rdz-review__more { display: block; width: 100%; margin-top: 40px; }
	#product-product #tab-review #review .rdz-review__foot { display: none; }
	#product-product #tab-review #review.rdz-reviews--expanded .rdz-review:nth-of-type(n+3) { display: grid; }
	#product-product #tab-review #review.rdz-reviews--expanded .rdz-review__more { display: none; }
	#product-product #tab-review #review.rdz-reviews--expanded .rdz-review__foot { display: flex; }
	#product-product #tab-review.rdz-reviews--empty .rdz-review-side { max-width: none; }
	#product-product #tab-review .rdz-hrating { max-width: none; }
}
@media (max-width: 767px) {
	#product-product #tab-review #review .rdz-review { grid-template-columns: 1fr; gap: var(--rdz-space-3); }
	#product-product #tab-review #review .rdz-review + .rdz-review { margin-top: var(--rdz-space-6); }
	#product-product #tab-review .rdz-hrating { gap: var(--rdz-space-4); }
}

/* ===== TABULKA VELIKOSTI (dle navrhu Figma, framy Tabulka_velikost_*) =====

   Sekce "Jakou zvolit velikost?" pod popisem produktu. Obsah po kategoriich,
   viz docs/size-table.md.

   Bunky nemaji ramecky, oddeluje je mezera - proto border-spacing misto
   border-collapse. Sirku sloupcu rozpocita table-layout: fixed rovnym dilem;
   --rdz-sizetab-cols dodava sablona, aby tabulka o trech sloupcich nebyla
   roztazena pres celou sirku obsahu jako ta o sesti.                        */
.rdz-sizetab { padding: var(--rdz-section-y) 0; scroll-margin-top: var(--rdz-space-5); }
.rdz-sizetab__title { margin: 0 0 var(--rdz-space-5); text-align: center; text-wrap: balance; line-height: 1.32; }
/* legacy stylesheet.css barvi vsechny h2 na produktovce zlate (#product-product h2) */
#product-product .rdz-sizetab__title { color: var(--rdz-dark); }
.rdz-sizetab__scroll { overflow-x: auto; }
.rdz-sizetab__table {
	width: 100%;
	max-width: calc(var(--rdz-sizetab-cols, 3) * 340px);
	min-width: calc(var(--rdz-sizetab-cols, 3) * 108px);
	margin: 0 auto;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 10px 7px;
}
.rdz-sizetab__table th,
.rdz-sizetab__table td {
	border: 0;
	padding: 17px 16px;
	text-align: center;
	vertical-align: middle;
	font-family: var(--rdz-font-head);
	font-weight: var(--rdz-fw-med);
	line-height: var(--rdz-lh-tight);
}
.rdz-sizetab__table thead th { height: 80px; background: var(--rdz-cream); font-style: italic; font-size: var(--rdz-fs-h4); color: var(--rdz-dark); }
.rdz-sizetab__table tbody td { height: 70px; background: var(--rdz-offwhite); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); }
/* zvyrazneny prvni sloupec (velikosti) - v sablone je to <th scope="row"> */
.rdz-sizetab__table tbody th { height: 70px; background: var(--rdz-cream); font-style: italic; font-size: var(--rdz-fs-h4); color: var(--rdz-dark); }
.rdz-sizetab__note {
	display: flex;
	align-items: center;
	gap: 13px;
	max-width: var(--rdz-container);
	margin: var(--rdz-space-5) auto 0;
	padding: 23px 34px;
	background: var(--rdz-offwhite);
	border-radius: var(--rdz-radius-md);
}
.rdz-sizetab__note-icon { flex: 0 0 45px; width: 45px; height: 45px; display: block; }
.rdz-sizetab__note-text { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
.rdz-sizetab__foot { margin: var(--rdz-space-5) 0 0; text-align: center; font-family: var(--rdz-font-head); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-tight); color: var(--rdz-dark); }

/* odkaz z buy-boxu; vedle pilulek, kdyz se vejde, jinak pod ne */
#product-product .rdz-buybox__sizerow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-2) 25px; }
.rdz-sizetab-link { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); text-decoration: underline; white-space: nowrap; }
.rdz-sizetab-link:hover,
.rdz-sizetab-link:focus { color: var(--rdz-dark); text-decoration: underline; }
/* plynule rolovani jen tam, kde je na co rolovat */
html:has(.rdz-sizetab) { scroll-behavior: smooth; }

@media (max-width: 991px) {
	.rdz-sizetab__table { max-width: none; }
	.rdz-sizetab__note { padding: 20px 24px; }
}
/* indikator posunu - jen mobil, a jen kdyz je kam posouvat (atribut hidden ridi skript v sablone) */
.rdz-sizetab__bar { display: none; }
@media (max-width: 767px) {
	.rdz-sizetab { padding: var(--rdz-space-7) 0; }
	/* mobil dle Figma 6325:6777: tabulka utika za pravy okraj obrazovky,
	   bunky 120x70 s mezerou 10 px, misto scrollbaru zluty indikator */
	.rdz-sizetab__scroll { margin-right: calc(-1 * var(--rdz-gutter)); padding-right: 10px; scrollbar-width: none; }
	.rdz-sizetab__scroll::-webkit-scrollbar { display: none; }
	.rdz-sizetab__table { width: calc(var(--rdz-sizetab-cols, 3) * 130px + 10px); min-width: 0; margin: 0; border-spacing: 10px; }
	.rdz-sizetab__table th,
	.rdz-sizetab__table td { padding: 10px; }
	.rdz-sizetab__table thead th,
	.rdz-sizetab__table tbody td,
	.rdz-sizetab__table tbody th { height: 70px; font-size: var(--rdz-fs-body); }
	/* viditelne 6 px, ale 30 px vysoka plocha pro prst - padding se negativnim marginem vraci,
	   aby lista sedela 12 px pod tabulkou jako v navrhu */
	.rdz-sizetab__bar:not([hidden]) { display: block; box-sizing: border-box; height: 30px; padding: 12px 0; margin: -10px calc(-1 * var(--rdz-gutter)) -12px 10px; overflow: hidden; cursor: pointer; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
	.rdz-sizetab__thumb { display: block; height: 100%; border-radius: 3px; background: var(--rdz-yellow); }
	.rdz-sizetab__note { align-items: flex-start; gap: var(--rdz-space-3); padding: var(--rdz-space-4); }
	.rdz-sizetab__note-icon { flex-basis: 32px; width: 32px; height: 32px; }
	.rdz-sizetab__note-text { font-size: var(--rdz-fs-sm); line-height: 1.4; }
}

/* ===== VYHLEDAVANI (vypis) - zbytek prvku je reuse z kategorie (toolbar, grid, karty, strankovani) ===== */
#product-search .rdz-search__title { margin: 0 0 var(--rdz-space-5); }
#product-search .rdz-search__empty { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); }

/* stranka tagu pouziva stejny popis jako kategorie, ale nema jeji sablonovy <style> */
#product-search .rdz-cat-head__desc { margin: 0 0 var(--rdz-space-5); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.6; color: var(--rdz-black-60); }
#product-search .rdz-cat-head__desc .less { overflow: hidden; }

/* kriteria hledani: panel s poli nad vysledky (kategorie tenhle blok nema) */
#product-search .rdz-search-crit {
	background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); padding: 20px;
	display: flex; flex-direction: column; gap: var(--rdz-space-4); margin-bottom: var(--rdz-space-6);
}
#product-search .rdz-search-crit__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-3); }
#product-search .rdz-search-crit__label { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); }
#product-search .rdz-search-crit__input {
	height: 42px; padding: 0 var(--rdz-space-4); background: var(--rdz-white);
	border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); box-shadow: none;
	font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-dark);
	flex: 1 1 240px; min-width: 0;
}
#product-search .rdz-search-crit__input:focus { border-color: var(--rdz-dark); outline: none; box-shadow: none; }
/* vyber kategorie = stejny dropdown jako v toolbaru, jen pevna sirka a odsazene urovne
   (order zpet na 0 - base .rdz-fdd ma order:2 kvuli razeni ve filtru kategorie) */
#product-search .rdz-search-crit__dd { flex: 0 0 220px; order: 0; }
#product-search .rdz-search-crit__dd > .rdz-fdd__btn { width: 100%; justify-content: space-between; }
#product-search .rdz-cat-dd__opt--l2 { padding-left: var(--rdz-space-6); }
#product-search .rdz-cat-dd__opt--l3 { padding-left: 44px; }
#product-search .rdz-search-crit__btn { flex: 0 0 auto; }

/* zaskrtavatka (hledat v podkategoriich / v popisu) */
#product-search .rdz-search-crit__opts { display: flex; flex-wrap: wrap; gap: var(--rdz-space-5); }
#product-search .rdz-check { display: inline-flex; align-items: center; gap: var(--rdz-space-2); margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); cursor: pointer; }
#product-search .rdz-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--rdz-dark); cursor: pointer; }

@media (max-width: 767px) {
	/* flex-basis by ve svislem smeru urcoval VYSKU -> vsem prvkum basis auto */
	#product-search .rdz-search-crit__row { flex-direction: column; align-items: stretch; }
	#product-search .rdz-search-crit__input,
	#product-search .rdz-search-crit__dd,
	#product-search .rdz-search-crit__btn { flex: 0 0 auto; width: 100%; }
	#product-search .rdz-search-crit__opts { gap: var(--rdz-space-3); }
}

/* vyrobce: nadpis stylujeme selektorem, v sablone musi zustat bez tridy */
#product-manufacturer #content > h2 { margin: 0 0 var(--rdz-space-5); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
/* popis vyrobce se vklada za nadpis jako <p> bez tridy */
#product-manufacturer #content > h2 + p:not([class]) { max-width: 74ch; margin: calc(-1 * var(--rdz-space-3)) 0 var(--rdz-space-5); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#product-manufacturer .rdz-search__empty { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); }

/* seznam znacek */
#product-manufacturer .rdz-brands__title { margin: 0 0 var(--rdz-space-5); }
#product-manufacturer .rdz-brands__index { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-2); margin: 0 0 var(--rdz-space-7); }
#product-manufacturer .rdz-brands__index-label { margin-right: var(--rdz-space-2); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
#product-manufacturer .rdz-brands__index-link { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 var(--rdz-space-2); border: 1px solid var(--rdz-gray); border-radius: var(--rdz-radius-pill); background: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease; }
#product-manufacturer .rdz-brands__index-link:hover,
#product-manufacturer .rdz-brands__index-link:focus { background: var(--rdz-dark); border-color: var(--rdz-dark); color: var(--rdz-white); text-decoration: none; }
#product-manufacturer .rdz-brands { display: flex; flex-direction: column; gap: var(--rdz-space-4); }
#product-manufacturer .rdz-brands__group { display: grid; grid-template-columns: 64px 1fr; align-items: start; gap: var(--rdz-space-5); padding-bottom: var(--rdz-space-4); border-bottom: 1px solid var(--rdz-gray-light); scroll-margin-top: var(--rdz-space-7); }
#product-manufacturer .rdz-brands__group:last-child { border-bottom: 0; padding-bottom: 0; }
#product-manufacturer .rdz-brands__letter { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h2); line-height: 1; color: var(--rdz-dark); }
#product-manufacturer .rdz-brands__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--rdz-space-3) var(--rdz-space-5); margin: 0; padding: 0; list-style: none; }
#product-manufacturer .rdz-brands__item { display: inline-block; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); text-decoration: none; transition: color .15s ease; }
#product-manufacturer .rdz-brands__item:hover,
#product-manufacturer .rdz-brands__item:focus { color: var(--rdz-dark); text-decoration: underline; }
@media (max-width: 767px) {
	#product-manufacturer .rdz-brands__group { grid-template-columns: 1fr; gap: var(--rdz-space-3); }
	#product-manufacturer .rdz-brands__grid { grid-template-columns: 1fr; }
}

/* CMS stranky: genericky text do brandu; editor obsah casto obali do <div> bez tridy */
#information-information #content { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#information-information #content > h1 { margin: 0 0 var(--rdz-space-5); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
#information-information #content > h2,
#information-information #content > div:not([class]) > h2,
#information-information #content > h3,
#information-information #content > div:not([class]) > h3,
#information-information #content > h4,
#information-information #content > div:not([class]) > h4,
#information-information #content > h5,
#information-information #content > div:not([class]) > h5,
#information-information #content > h6,
#information-information #content > div:not([class]) > h6 {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	color: var(--rdz-dark); margin: var(--rdz-space-7) 0 var(--rdz-space-4);
}
#information-information #content > h2,
#information-information #content > div:not([class]) > h2 { font-size: var(--rdz-fs-h2); line-height: var(--rdz-lh-tight); }
#information-information #content > h3,
#information-information #content > div:not([class]) > h3 { font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
#information-information #content > h4,
#information-information #content > div:not([class]) > h4,
#information-information #content > h5,
#information-information #content > div:not([class]) > h5,
#information-information #content > h6,
#information-information #content > div:not([class]) > h6 { font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); }
#information-information #content > p,
#information-information #content > div:not([class]) > p,
#information-information #content > ul,
#information-information #content > div:not([class]) > ul,
#information-information #content > ol,
#information-information #content > p,
#information-information #content > div:not([class]) > p { margin: 0 0 var(--rdz-space-4); }
#information-information #content > ul,
#information-information #content > div:not([class]) > ul,
#information-information #content > ol,
#information-information #content > div:not([class]) > ol { margin: 0 0 var(--rdz-space-4); padding-left: 1.4em; }
#information-information #content > ul > li,
#information-information #content > div:not([class]) > ul > li,
#information-information #content > ol > li,
#information-information #content > div:not([class]) > ol > li { margin-bottom: 6px; }
#information-information #content > p > b,
#information-information #content > div:not([class]) > p > b,
#information-information #content > p > strong,
#information-information #content > div:not([class]) > p > strong,
#information-information #content > ul > li > b,
#information-information #content > div:not([class]) > ul > li > b,
#information-information #content > ul > li > strong,
#information-information #content > div:not([class]) > ul > li > strong,
#information-information #content > ol > li > b,
#information-information #content > div:not([class]) > ol > li > b,
#information-information #content > ol > li > strong,
#information-information #content > div:not([class]) > ol > li > strong { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
/* odkaz muze byt i primo v obsahu nebo zanoreny v <span> -> potomek, ne primy potomek; .cta-btn je jejich tlacitko */
#information-information #content > a:not(.cta-btn),
#information-information #content > p a:not(.cta-btn),
#information-information #content > div:not([class]) > a:not(.cta-btn),
#information-information #content > div:not([class]) > p a:not(.cta-btn),
#information-information #content > ul > li a:not(.cta-btn),
#information-information #content > div:not([class]) > ul > li a:not(.cta-btn),
#information-information #content > ol > li a:not(.cta-btn),
#information-information #content > div:not([class]) > ol > li a:not(.cta-btn) { color: var(--rdz-dark); text-decoration: underline; }

/* telo clanku: typografie do brandu; obsah byva i v <section>/<div> bez tridy, wrapper s tridou = jejich komponenta */
#information-information #content .article-content > h2,
#information-information #content .article-content > section:not([class]) > h2,
#information-information #content .article-content > div:not([class]) > h2,
#information-information #content .dz-landing > h2,
#information-information #content .dz-landing > section:not([class]) > h2,
#information-information #content .dz-landing > div:not([class]) > h2,
#information-information #content .dvz-wholesale > h2,
#information-information #content .dvz-wholesale > section:not([class]) > h2,
#information-information #content .dvz-wholesale > div:not([class]) > h2,
#information-information #content .article-content > h3,
#information-information #content .article-content > section:not([class]) > h3,
#information-information #content .article-content > div:not([class]) > h3,
#information-information #content .dz-landing > h3,
#information-information #content .dz-landing > section:not([class]) > h3,
#information-information #content .dz-landing > div:not([class]) > h3,
#information-information #content .dvz-wholesale > h3,
#information-information #content .dvz-wholesale > section:not([class]) > h3,
#information-information #content .dvz-wholesale > div:not([class]) > h3,
#information-information #content .article-content > h4,
#information-information #content .article-content > section:not([class]) > h4,
#information-information #content .article-content > div:not([class]) > h4,
#information-information #content .dz-landing > h4,
#information-information #content .dz-landing > section:not([class]) > h4,
#information-information #content .dz-landing > div:not([class]) > h4,
#information-information #content .dvz-wholesale > h4,
#information-information #content .dvz-wholesale > section:not([class]) > h4,
#information-information #content .dvz-wholesale > div:not([class]) > h4,
#information-information #content .article-content > .toc-box > h3 {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); color: var(--rdz-dark);
}
#information-information #content .article-content > h2,
#information-information #content .article-content > section:not([class]) > h2,
#information-information #content .article-content > div:not([class]) > h2,
#information-information #content .dz-landing > h2,
#information-information #content .dz-landing > section:not([class]) > h2,
#information-information #content .dz-landing > div:not([class]) > h2,
#information-information #content .dvz-wholesale > h2,
#information-information #content .dvz-wholesale > section:not([class]) > h2,
#information-information #content .dvz-wholesale > div:not([class]) > h2 { font-size: var(--rdz-fs-h2); line-height: var(--rdz-lh-tight); }
#information-information #content .article-content > h3,
#information-information #content .article-content > section:not([class]) > h3,
#information-information #content .article-content > div:not([class]) > h3,
#information-information #content .dz-landing > h3,
#information-information #content .dz-landing > section:not([class]) > h3,
#information-information #content .dz-landing > div:not([class]) > h3,
#information-information #content .dvz-wholesale > h3,
#information-information #content .dvz-wholesale > section:not([class]) > h3,
#information-information #content .dvz-wholesale > div:not([class]) > h3,
#information-information #content .article-content > .toc-box > h3 { font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
#information-information #content .article-content > h4,
#information-information #content .article-content > section:not([class]) > h4,
#information-information #content .article-content > div:not([class]) > h4,
#information-information #content .dz-landing > h4,
#information-information #content .dz-landing > section:not([class]) > h4,
#information-information #content .dz-landing > div:not([class]) > h4,
#information-information #content .dvz-wholesale > h4,
#information-information #content .dvz-wholesale > section:not([class]) > h4,
#information-information #content .dvz-wholesale > div:not([class]) > h4 { font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); }
#information-information #content .article-content > p,
#information-information #content .article-content > section:not([class]) > p,
#information-information #content .article-content > div:not([class]) > p,
#information-information #content .dz-landing > p,
#information-information #content .dz-landing > section:not([class]) > p,
#information-information #content .dz-landing > div:not([class]) > p,
#information-information #content .dvz-wholesale > p,
#information-information #content .dvz-wholesale > section:not([class]) > p,
#information-information #content .dvz-wholesale > div:not([class]) > p,
#information-information #content .article-content > ul,
#information-information #content .article-content > section:not([class]) > ul,
#information-information #content .article-content > div:not([class]) > ul,
#information-information #content .dz-landing > ul,
#information-information #content .dz-landing > section:not([class]) > ul,
#information-information #content .dz-landing > div:not([class]) > ul,
#information-information #content .dvz-wholesale > ul,
#information-information #content .dvz-wholesale > section:not([class]) > ul,
#information-information #content .dvz-wholesale > div:not([class]) > ul,
#information-information #content .article-content > ol,
#information-information #content .article-content > section:not([class]) > ol,
#information-information #content .article-content > div:not([class]) > ol,
#information-information #content .dz-landing > ol,
#information-information #content .dz-landing > section:not([class]) > ol,
#information-information #content .dz-landing > div:not([class]) > ol,
#information-information #content .dvz-wholesale > ol,
#information-information #content .dvz-wholesale > section:not([class]) > ol,
#information-information #content .dvz-wholesale > div:not([class]) > ol,
#information-information #content .article-content > .toc-box { font-family: var(--rdz-font-body); color: var(--rdz-black-60); }
#information-information #content .article-content > p > b,
#information-information #content .article-content > section:not([class]) > p > b,
#information-information #content .article-content > div:not([class]) > p > b,
#information-information #content .dz-landing > p > b,
#information-information #content .dz-landing > section:not([class]) > p > b,
#information-information #content .dz-landing > div:not([class]) > p > b,
#information-information #content .dvz-wholesale > p > b,
#information-information #content .dvz-wholesale > section:not([class]) > p > b,
#information-information #content .dvz-wholesale > div:not([class]) > p > b,
#information-information #content .article-content > p > strong,
#information-information #content .article-content > section:not([class]) > p > strong,
#information-information #content .article-content > div:not([class]) > p > strong,
#information-information #content .dz-landing > p > strong,
#information-information #content .dz-landing > section:not([class]) > p > strong,
#information-information #content .dz-landing > div:not([class]) > p > strong,
#information-information #content .dvz-wholesale > p > strong,
#information-information #content .dvz-wholesale > section:not([class]) > p > strong,
#information-information #content .dvz-wholesale > div:not([class]) > p > strong,
#information-information #content .article-content > ul li > b,
#information-information #content .article-content > section:not([class]) > ul li > b,
#information-information #content .article-content > div:not([class]) > ul li > b,
#information-information #content .dz-landing > ul li > b,
#information-information #content .dz-landing > section:not([class]) > ul li > b,
#information-information #content .dz-landing > div:not([class]) > ul li > b,
#information-information #content .dvz-wholesale > ul li > b,
#information-information #content .dvz-wholesale > section:not([class]) > ul li > b,
#information-information #content .dvz-wholesale > div:not([class]) > ul li > b,
#information-information #content .article-content > ul li > strong,
#information-information #content .article-content > section:not([class]) > ul li > strong,
#information-information #content .article-content > div:not([class]) > ul li > strong,
#information-information #content .dz-landing > ul li > strong,
#information-information #content .dz-landing > section:not([class]) > ul li > strong,
#information-information #content .dz-landing > div:not([class]) > ul li > strong,
#information-information #content .dvz-wholesale > ul li > strong,
#information-information #content .dvz-wholesale > section:not([class]) > ul li > strong,
#information-information #content .dvz-wholesale > div:not([class]) > ul li > strong { color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); }
#information-information #content .article-content > p a:not(.cta-btn),
#information-information #content .article-content > section:not([class]) > p a:not(.cta-btn),
#information-information #content .article-content > div:not([class]) > p a:not(.cta-btn),
#information-information #content .dz-landing > p a:not(.cta-btn),
#information-information #content .dz-landing > section:not([class]) > p a:not(.cta-btn),
#information-information #content .dz-landing > div:not([class]) > p a:not(.cta-btn),
#information-information #content .dvz-wholesale > p a:not(.cta-btn),
#information-information #content .dvz-wholesale > section:not([class]) > p a:not(.cta-btn),
#information-information #content .dvz-wholesale > div:not([class]) > p a:not(.cta-btn),
#information-information #content .article-content > ul a:not(.cta-btn),
#information-information #content .article-content > section:not([class]) > ul a:not(.cta-btn),
#information-information #content .article-content > div:not([class]) > ul a:not(.cta-btn),
#information-information #content .dz-landing > ul a:not(.cta-btn),
#information-information #content .dz-landing > section:not([class]) > ul a:not(.cta-btn),
#information-information #content .dz-landing > div:not([class]) > ul a:not(.cta-btn),
#information-information #content .dvz-wholesale > ul a:not(.cta-btn),
#information-information #content .dvz-wholesale > section:not([class]) > ul a:not(.cta-btn),
#information-information #content .dvz-wholesale > div:not([class]) > ul a:not(.cta-btn),
#information-information #content .article-content > .toc-box a { color: var(--rdz-dark); }
#information-information #content .article-content > .toc-box a:hover { color: var(--rdz-black-60); }

/* tabulky v clanku do brandu; tabulky s vlastni tridou si drzi svuj styl */
#information-information #content .article-content table:not([class]) { width: 100%; margin: 0 0 var(--rdz-space-5); border-collapse: collapse; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); }
#information-information #content .article-content table:not([class]) th { background: var(--rdz-dark); color: var(--rdz-white); border: 0; padding: 12px 16px; text-align: left; font-weight: var(--rdz-fw-semi); line-height: 1.4; }
#information-information #content .article-content table:not([class]) td { border: 0; border-bottom: 1px solid var(--rdz-gray-light); padding: 12px 16px; vertical-align: top; color: var(--rdz-black-60); line-height: 1.5; }
#information-information #content .article-content table:not([class]) tbody tr:last-child td { border-bottom: 0; }
#information-information #content .article-content table:not([class]) td b,
#information-information #content .article-content table:not([class]) td strong { color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); }
#information-information #content .article-content table:not([class]) td a { color: var(--rdz-dark); text-decoration: underline; }

/* formularova pole; mapovano i na bootstrap tridy, at plati bez zasahu do sablon */
.rdz-input,
.rdz-textarea,
#information-contact .form-control,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .form-control {
	width: 100%; height: 42px; padding: 0 var(--rdz-space-4);
	background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm);
	box-shadow: none;
	font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); color: var(--rdz-black-60);
	transition: border-color .15s ease;
}
.rdz-textarea,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) textarea.form-control,
#information-contact textarea.form-control { height: auto; min-height: 92px; padding: var(--rdz-space-4); line-height: var(--rdz-lh-body); resize: vertical; }
.rdz-input:focus,
.rdz-textarea:focus,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .form-control:focus,
#information-contact .form-control:focus { border-color: var(--rdz-dark); box-shadow: none; outline: none; }
.rdz-input::placeholder,
.rdz-textarea::placeholder,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .form-control::placeholder,
#information-contact .form-control::placeholder { color: var(--rdz-black-60); opacity: .55; }
.rdz-label,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .control-label,
#information-contact .control-label {
	display: block; width: auto; padding: 0 var(--rdz-space-1) var(--rdz-space-2);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm);
	color: var(--rdz-black-60); text-align: left;
}
/* hvezdicka u povinneho pole */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .required .control-label::before,
#information-contact .required .control-label::before {
	content: "*"; margin-right: 2px;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4);
	line-height: 0; vertical-align: -0.28em;
}

/* kontakt: karta formulare + rozlozeni do dvou sloupcu */
#information-contact #content > h1 { margin: 0 0 var(--rdz-space-5); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
#information-contact #content > h3 { margin: 0 0 var(--rdz-space-3); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
#information-contact .panel { background: none; border: 0; border-radius: 0; box-shadow: none; margin: 0 0 var(--rdz-space-5); }
#information-contact .panel-body { padding: 0; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
/* logo provozovny vlevo */
#information-contact .panel-body .img-thumbnail { padding: 0; background: none; border: 0; border-radius: 0; max-width: 100%; height: auto; }
#information-contact .panel-body strong { color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); }
#information-contact .form-horizontal { margin-top: var(--rdz-space-6); }
#information-contact fieldset {
	padding: 0; border: 0;
	display: grid; grid-template-columns: 1fr 1fr; gap: var(--rdz-space-4) var(--rdz-space-3);
}
#information-contact fieldset legend {
	grid-column: 1 / -1; margin: 0 0 var(--rdz-space-3); padding: 0; border: 0;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark);
}
#information-contact fieldset .form-group { margin: 0; display: flex; flex-direction: column; }
/* pole s viceradkovym vstupem zabira cely radek */
#information-contact fieldset .form-group:has(textarea) { grid-column: 1 / -1; }
#information-contact fieldset .form-group > label,
#information-contact fieldset .form-group > div { float: none; width: 100%; padding-left: 0; padding-right: 0; }
#information-contact .buttons { display: flex; justify-content: flex-end; margin: var(--rdz-space-5) 0 var(--rdz-space-7); }
/* hvezdicka povinneho pole nese barvu labelu, ne bootstrapovou cervenou */
#information-contact .required .control-label::before { color: var(--rdz-black-60); }
#information-contact .text-danger { color: var(--rdz-red); font-size: var(--rdz-fs-sm); margin-top: var(--rdz-space-1); }
#information-contact fieldset textarea.form-control { min-height: 148px; max-height: 260px; }
/* odesilaci tlacitko na brandove modre */
#information-contact .buttons .btn-primary {
	display: inline-flex; align-items: center; justify-content: center;
	height: 49px; padding: 0 var(--rdz-space-5);
	background: var(--rdz-dark); border: 1.5px solid var(--rdz-dark); border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: 1;
	color: var(--rdz-white); text-shadow: none; box-shadow: none;
}
/* legacy .btn-primary ma na hover/focus/active !important, proto i tady */
#information-contact .buttons .btn-primary:hover,
#information-contact .buttons .btn-primary:focus,
#information-contact .buttons .btn-primary:active {
	background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important;
	color: var(--rdz-gray); box-shadow: none;
}

/* kontakt: prazdne sloupce (neprodukovana oteviraci doba) nezabiraji misto */
#information-contact .panel-body .row > div:not(:has(*)):not(:has(:not(:empty))) { display: none; }
/* bootstrap clearfix ::before/::after se ve flexu stava polozkou a odsune prvni sloupec o gap */
#information-contact .panel-body .row::before,
#information-contact .panel-body .row::after { display: none; }
/* sloupcum rusime bootstrap padding, takze musi pryc i zaporny margin radku, jinak obsah vycniva vlevo */
#information-contact .panel-body .row { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--rdz-space-4) var(--rdz-space-6); margin: 0; }
#information-contact .panel-body .row > div { float: none; width: auto; padding: 0; flex: 1 1 220px; }
/* logo drzi svou velikost, textove sloupce se deli o zbytek */
#information-contact .panel-body .row > div:has(img) { flex: 0 0 auto; max-width: 200px; }

@media (max-width: 767px) {
	#information-contact fieldset { grid-template-columns: 1fr; }
	/* pod zlomem uz se logo a text vedle sebe nevejdou bez der -> vse pod sebe */
	#information-contact .panel-body .row { flex-direction: column; }
	#information-contact .panel-body .row > div,
	#information-contact .panel-body .row > div:has(img) { flex: 0 0 auto; width: 100%; max-width: none; }
	#information-contact .buttons > * { flex: 1 1 auto; }
	#information-contact .buttons .btn-primary { width: 100%; }
}

/* mapa stranek */
#information-sitemap #content > h1 { margin: 0 0 var(--rdz-space-5); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
#information-sitemap #content ul { list-style: none; margin: 0; padding: 0; }
#information-sitemap #content > .row ul ul { padding-left: var(--rdz-space-4); }
#information-sitemap #content li { margin: 0 0 var(--rdz-space-2); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
#information-sitemap #content li > a { color: var(--rdz-black-60); text-decoration: none; transition: color .15s ease; }
#information-sitemap #content li > a:hover { color: var(--rdz-dark); text-decoration: underline; }
/* prvni uroven = navy semibold, at je videt hierarchie */
#information-sitemap #content > .row > div > ul > li > a { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
/* sekce poskladane z tabulek: prebarvit nadpisy a odkazy, zbytek (font, ramecky, rozlozeni) nechat jak je */
#information-information #content > table.table-bordered td h2,
#information-information #content > table.table-bordered td h3,
#information-information #content > table.table-bordered td h4 { color: var(--rdz-dark); }
/* odkazy tu drzely stejnou barvu jako text a nemely podtrzeni -> nesly odlisit */
#information-information #content > table.table-bordered td a { color: var(--rdz-dark); text-decoration: underline; }
#information-information #content > table.table-bordered td a:hover { color: var(--rdz-black-60); }

/* stranka nenalezena */
#error-not-found #content > h1 { margin: 0 0 var(--rdz-space-4); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
#error-not-found #content > p { margin: 0 0 var(--rdz-space-6); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#error-not-found .buttons { display: flex; justify-content: flex-start; margin: 0 0 var(--rdz-space-8); }
#error-not-found .buttons .pull-right { float: none; }
#error-not-found .buttons .btn-primary {
	display: inline-flex; align-items: center; justify-content: center;
	height: 49px; padding: 0 var(--rdz-space-5);
	background: var(--rdz-dark); border: 1.5px solid var(--rdz-dark); border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: 1;
	color: var(--rdz-white); text-shadow: none; box-shadow: none;
}
#error-not-found .buttons .btn-primary:hover,
#error-not-found .buttons .btn-primary:focus,
#error-not-found .buttons .btn-primary:active {
	background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important;
	color: var(--rdz-gray); box-shadow: none;
}

/* blog - vypis clanku */
.rdz-bloglist, .rdz-bloglist * { box-sizing: border-box; }
.rdz-bloglist { display: flex; flex-direction: column; gap: 40px; margin: 40px 0 var(--rdz-section-y); }
.rdz-bloglist__head { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.rdz-bloglist__title { flex: 0 0 auto; }
.rdz-bloglist__intro { flex: 0 1 614px; margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); text-align: right; }
/* karta na vypisu je bez stinu (na homepage stin ma) */
.rdz-bloglist .rdz-blog__card { box-shadow: none; }
.rdz-bloglist__pager { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.rdz-bloglist__results { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }

@media (max-width: 767px) {
	.rdz-bloglist { gap: var(--rdz-space-6); margin-top: var(--rdz-space-5); }
	.rdz-bloglist__head { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-5); }
	.rdz-bloglist__intro { flex: 0 0 auto; text-align: left; }
	.rdz-bloglist__pager { flex-direction: column; align-items: flex-start; gap: var(--rdz-space-4); }
}

/* blog - detail clanku (telo je obsah z editoru, brandujeme jen ramec) */
#tltblog-tltblog .rdz-article__title { margin: 0 0 var(--rdz-space-6); }
#tltblog-tltblog .rdz-article__tags { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-2); margin: var(--rdz-space-7) 0 0; padding-top: var(--rdz-space-6); border-top: 1px solid var(--rdz-gray-light); }
#tltblog-tltblog .rdz-article__tags-label { margin-right: var(--rdz-space-2); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
#tltblog-tltblog .rdz-article__tag { display: inline-flex; align-items: center; height: 34px; padding: 0 var(--rdz-space-4); border: 1px solid var(--rdz-gray); border-radius: var(--rdz-radius-pill); background: var(--rdz-white); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); text-decoration: none; transition: background .15s ease, border-color .15s ease, color .15s ease; }
#tltblog-tltblog .rdz-article__tag:hover { background: var(--rdz-dark); border-color: var(--rdz-dark); color: var(--rdz-white); }

/* telo clanku: brandujeme jen holou typografii. :where() = nulova specificita,
   takze kazde autorske pravidlo s vlastni tridou (.giftcards, .summary-box) prebiji tohle. */
:where(#tltblog-tltblog) .article-content :is(h2, h3, h4, h5, h6):not(:where(.article-content [class] *)) { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); color: var(--rdz-dark); }
:where(#tltblog-tltblog) .article-content h2:not(:where(.article-content [class] *)) { font-size: var(--rdz-fs-h2); line-height: var(--rdz-lh-tight); }
:where(#tltblog-tltblog) .article-content h3:not(:where(.article-content [class] *)) { font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
:where(#tltblog-tltblog) .article-content :is(h4, h5, h6):not(:where(.article-content [class] *)) { font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); }
:where(#tltblog-tltblog) .article-content :is(p, li, td, th, dd, dt):not(:where(.article-content [class] *)) { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
:where(#tltblog-tltblog) .article-content :is(p, li):not(:where(.article-content [class] *)) :is(b, strong) { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
:where(#tltblog-tltblog) .article-content :is(p, li) a:not(:where(.cta-btn)):not(:where(.article-content [class] *)) { color: var(--rdz-dark); text-decoration: underline; }
:where(#tltblog-tltblog) .article-content :is(p, li) a:not(:where(.cta-btn)):not(:where(.article-content [class] *)):hover { color: var(--rdz-dark-hover); }

/* porovnani vyrobku - legacy tabulka, jen prebarveni (na sablonu nesahame) */
#product-compare #content > h1 { margin: 0 0 var(--rdz-space-6); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
/* scroll patri TABULCE, ne #content - v tom je i nadpis a odjel by s ni */
#product-compare .table { display: block; overflow-x: auto; margin-bottom: var(--rdz-space-6); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#product-compare .table-bordered,
#product-compare .table-bordered > thead > tr > td,
#product-compare .table-bordered > tbody > tr > td { border-color: var(--rdz-gray-light); }
#product-compare .table > thead > tr > td,
#product-compare .table > tbody > tr > td { padding: var(--rdz-space-4); vertical-align: middle; }
#product-compare .table > thead > tr > td { background: var(--rdz-offwhite); }
#product-compare .table > thead > tr > td strong { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); color: var(--rdz-dark); }
#product-compare .table > tbody > tr > td:first-child { width: 180px; font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
/* odkazy na nazvy produktu - tlacitka jsou taky <a>, proto :not(.btn) */
#product-compare .table a:not(.btn) { color: var(--rdz-dark); text-decoration: none; transition: color .15s ease; }
#product-compare .table a:not(.btn):hover { color: var(--rdz-dark-hover); text-decoration: underline; }
#product-compare .table a.btn:hover,
#product-compare .table a.btn:focus,
#product-compare .buttons .btn-default:hover,
#product-compare .buttons .btn-default:focus { text-decoration: none; }
#product-compare .table strong { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }
#product-compare .table .img-thumbnail { padding: 0; border: 0; background: none; border-radius: var(--rdz-radius-sm); }
#product-compare .table .rating .fa-star { color: var(--rdz-yellow); }
#product-compare .table .rating .fa-star-o { color: var(--rdz-gray); }

#product-compare .table .btn-primary,
#product-compare .table .btn-danger,
#product-compare .buttons .btn-default {
	display: flex; align-items: center; justify-content: center;
	height: 49px; padding: 0 var(--rdz-space-5); border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: 1;
	background-image: none; box-shadow: none; text-shadow: none; transition: color .18s ease, background .18s ease, border-color .18s ease;
}
#product-compare .table .btn-primary { margin-bottom: var(--rdz-space-2); background: var(--rdz-dark); border: 1.5px solid var(--rdz-dark); color: var(--rdz-white); }
/* legacy .btn-primary ma na hover/focus/active !important, proto i tady */
#product-compare .table .btn-primary:hover,
#product-compare .table .btn-primary:focus,
#product-compare .table .btn-primary:active {
	background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important;
	color: var(--rdz-gray); box-shadow: none;
}
/* obrysove tlacitko - stejne hodnoty jako .rdz-cart-ghost v kosiku */
#product-compare .table .btn-danger,
#product-compare .buttons .btn-default { background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); color: var(--rdz-black-60); font-size: var(--rdz-fs-sm); }
#product-compare .table .btn-danger:hover,
#product-compare .table .btn-danger:focus,
#product-compare .buttons .btn-default:hover,
#product-compare .buttons .btn-default:focus { background: var(--rdz-offwhite); border-color: var(--rdz-black-60); color: var(--rdz-dark); box-shadow: none; }

#product-compare #content > p { margin: 0 0 var(--rdz-space-6); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#product-compare .buttons .btn-default { display: inline-flex; }

@media (max-width: 767px) {
	#product-compare .table > thead > tr > td,
	#product-compare .table > tbody > tr > td { padding: var(--rdz-space-3); }
	#product-compare .table > tbody > tr > td:first-child { width: 110px; }
	#product-compare .table .btn-primary,
	#product-compare .table .btn-danger { height: 42px; padding: 0 var(--rdz-space-3); font-size: var(--rdz-fs-sm); }
}

/* ====== kosik (checkout/cart) ====== */
.rdz-cart { padding-bottom: var(--rdz-section-y); }

/* obsah listy vklada freeshipping; bez ni musi wrapper zustat neviditelny */
.rdz-cart-ship:has(.shipping-progressbar) { display: flex; flex-direction: column; gap: var(--rdz-space-3); margin: 40px 0; padding: var(--rdz-gutter); border-radius: var(--rdz-radius-sm); background: var(--rdz-yellow); }
/* flex-start, ne center: pri zalomeni hlasky na dva radky ikona sjizdela doprostred */
.rdz-cart-ship .alert { display: flex; align-items: flex-start; gap: var(--rdz-space-2); margin: 0; padding: 0; border: 0; border-radius: 0; background: none; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-dark); }
.rdz-cart-ship .alert .fa, .rdz-cart-ship .close { display: none; }
.rdz-cart-ship .alert::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; background: var(--rdz-dark); -webkit-mask: url(../image/rdz-ico-info.svg) center / contain no-repeat; mask: url(../image/rdz-ico-info.svg) center / contain no-repeat; }
.rdz-cart-ship .shipping-progressbar { display: block; height: 8px; margin: var(--rdz-space-2) 0 0; border-radius: var(--rdz-radius-sm); background: var(--rdz-offwhite); overflow: hidden; }
/* span - bez display:block by sirka v % neplatila */
.rdz-cart-ship .shipping-progressbar .line { display: block; height: 8px; max-width: 100%; border-radius: 0; background: var(--rdz-dark); transition: width .3s ease; }
/* prichazi s inline float + font-size */
.rdz-cart-ship > div:last-of-type { display: flex; justify-content: space-between; gap: var(--rdz-space-4); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm) !important; line-height: 1.2; color: var(--rdz-black); }
.rdz-cart-ship > div:last-of-type > span { float: none !important; }
.rdz-cart-ship br { display: none; }

.rdz-cart { display: grid; grid-template-columns: minmax(0, 1fr) 328px; align-items: start; gap: var(--rdz-gutter); }
.rdz-cart-panel { box-sizing: border-box; padding: var(--rdz-space-6); border-radius: var(--rdz-radius-xl); background: var(--rdz-offwhite); }

/* nazev + 5 stejnych sloupcu */
/* celkem je v markupu pred cenou za kus (kvuli mobilu) -> pevne sloupce + dense */
.rdz-cart-grid { display: grid; grid-template-columns: 350px repeat(5, minmax(0, 1fr)); grid-auto-flow: row dense; align-items: center; row-gap: var(--rdz-gutter); }
.rdz-cart-cell--price { grid-column: 5; }
.rdz-cart-cell--total { grid-column: 6; }
.rdz-cart-title { grid-column: 1; align-self: start; margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
.rdz-cart-title__weight { font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }
.rdz-cart-head { align-self: start; padding: 0 var(--rdz-space-1); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); text-align: center; text-transform: lowercase; }

.rdz-cart-item { display: flex; align-items: center; gap: var(--rdz-space-4); min-height: 80px; }
/* presah 2px drzi rozestup radku na 100px */
.rdz-cart-item__thumb { flex: 0 0 84px; width: 84px; height: 84px; margin: -2px 0; border-radius: var(--rdz-radius-sm); overflow: hidden; }
.rdz-cart-item__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rdz-cart-item__body { display: flex; flex-direction: column; justify-content: center; gap: var(--rdz-space-2); min-height: 80px; min-width: 0; }
.rdz-cart-item__body .rdz-cart-item__name { flex: 1 0 0; }
.rdz-cart-item__name { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-dark); text-decoration: none; }
a.rdz-cart-item__name:hover, a.rdz-cart-item__name:focus { color: var(--rdz-dark); text-decoration: underline; }
.rdz-cart-item__opt { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); }

.rdz-cart-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--rdz-space-2); min-height: 80px; padding: 0 var(--rdz-space-1); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); text-align: center; }
.rdz-cart-stock { color: var(--rdz-black-60); }
.rdz-cart-stock--in { color: var(--rdz-green); }
.rdz-cart-deliv { font-weight: var(--rdz-fw-reg); color: var(--rdz-black-60); }
/* stepper drzi osu radku, odkaz visi pod nim mimo tok; u poukazu je odkaz sam */
.rdz-cart-cell--qty:has(.rdz-qty) { position: relative; }
.rdz-cart-cell--qty:has(.rdz-qty) .rdz-cart-remove { position: absolute; top: 50%; left: 0; right: 0; margin-top: 20px; text-align: center; }
.rdz-cart-remove { font-weight: var(--rdz-fw-reg); font-size: 12px; line-height: 1; color: var(--rdz-black-60); text-decoration: underline; }
.rdz-cart-remove:hover, .rdz-cart-remove:focus { color: var(--rdz-red); }

/* souhrn */
.rdz-cart-sum { display: flex; flex-direction: column; gap: 40px; }
@media (min-width: 1200px) {
	.rdz-cart-sum { position: sticky; top: var(--rdz-space-5); }
}
.rdz-cart-sum__totals { display: flex; flex-direction: column; gap: var(--rdz-space-3); }
.rdz-cart-sum__row { display: flex; align-items: center; justify-content: space-between; gap: var(--rdz-space-3); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-dark); }
/* dlouhy popisek (napr. cislo poukazu) se zalomi, castka nikdy */
.rdz-cart-sum__row > span:last-child { white-space: nowrap; }
.rdz-cart-sum__row--minus { color: var(--rdz-red); }
.rdz-cart-sum__row--minus > span:last-child { font-weight: var(--rdz-fw-semi); }
.rdz-cart-sum__row--final { padding-top: var(--rdz-space-3); border-top: 1.5px solid var(--rdz-gray-light); font-weight: var(--rdz-fw-semi); }
.rdz-cart-sum__row--final > span:last-child { font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-green); }
.rdz-cart-sum__actions { display: flex; flex-direction: column; gap: var(--rdz-space-2); }
.rdz-cart-sum__cta, .rdz-cart-sum__back { width: 100%; }

/* slevovy kod - checkbox otevira blok s kupony */
.rdz-cart-coupon { display: flex; flex-direction: column; gap: var(--rdz-space-3); }
.rdz-cart-coupon__toggle { position: relative; display: flex; align-items: center; gap: var(--rdz-space-2); margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); cursor: pointer; }
.rdz-cart-coupon__toggle input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.rdz-cart-coupon__toggle::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; box-sizing: border-box; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-check); background: var(--rdz-white); }
.rdz-cart-coupon__toggle::after { content: ""; position: absolute; left: 2px; width: 20px; height: 20px; background: var(--rdz-dark); -webkit-mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; opacity: 0; }
.rdz-cart-coupon__toggle:has(input:checked)::after { opacity: 1; }
.rdz-cart-coupon__body { display: none; }
.rdz-cart-coupon:has(input:checked) .rdz-cart-coupon__body { display: block; }
.rdz-cart-coupon__lead { margin: 0 0 var(--rdz-space-3); font-family: var(--rdz-font-body); font-size: 12px; line-height: 1.5; color: var(--rdz-black-60); }
.rdz-cart-coupon__body .panel, .rdz-cart-coupon__body .panel-heading, .rdz-cart-coupon__body .panel-body { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.rdz-cart-coupon__body .panel + .panel { margin-top: var(--rdz-space-3); }
.rdz-cart-coupon__body .panel-title > a { display: inline-block; margin-bottom: var(--rdz-space-2); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); text-decoration: none; }
/* bootstrap input-group je table; flex kvuli mezere mezi polem a tlacitkem */
.rdz-cart-coupon__body .input-group { display: flex; gap: 4px; }
.rdz-cart-coupon__body .input-group .form-control { flex: 1 1 0; min-width: 0; float: none; width: auto; height: 42px; padding: 0 16px; box-shadow: none; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); }
.rdz-cart-coupon__body .form-control::placeholder { color: var(--rdz-black-60); }
.rdz-cart-coupon__body .form-control:hover, .rdz-cart-coupon__body .form-control:focus { background: var(--rdz-offwhite); border-color: var(--rdz-black-60); }
.rdz-cart-coupon__body .input-group-btn { display: flex; width: auto; }
.rdz-cart-coupon__body .input-group-btn > .btn { height: 42px; padding: 0 20px; border: 1.5px solid var(--rdz-yellow); border-radius: var(--rdz-radius-sm); background: var(--rdz-yellow); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-black); }
/* legacy .btn-primary ma na stavech !important */
.rdz-cart-coupon__body .btn:hover, .rdz-cart-coupon__body .btn:focus, .rdz-cart-coupon__body .btn:active { background: var(--rdz-yellow) !important; border-color: var(--rdz-yellow) !important; color: var(--rdz-black-60) !important; }

/* docasne ponechane bloky */
.rdz-cart-main { display: flex; flex-direction: column; gap: var(--rdz-gutter); min-width: 0; }
.rdz-cart-extra { display: flex; flex-direction: column; align-items: flex-start; gap: var(--rdz-gutter); }
#checkout-cart .promobox { display: flex; flex-wrap: wrap; gap: var(--rdz-space-2); margin-bottom: var(--rdz-space-4); }
#checkout-cart .rdz-prod__title { font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
#checkout-cart .rdz-prod { padding: var(--rdz-space-6) 0; }
/* sipky stavi ven ze sloupce a lezou na souhrn; posouva se tazenim a autoplayem */
#checkout-cart .rdz-nav { display: none; }
#checkout-cart .rdz-pcard__meta { display: flex; flex-direction: column; gap: 2px; }
#checkout-cart .rdz-pcard__sep { display: none; }
#checkout-cart .rdz-prod .rdz-pcard__qty { gap: 2px; }
#checkout-cart .rdz-prod .rdz-pcard__qty .rdz-qty__btn { width: 30px; height: 30px; }
#checkout-cart .rdz-prod .rdz-pcard__qty .rdz-qty__btn::before { width: 18px; height: 18px; }
#checkout-cart .rdz-prod .rdz-pcard__qty .rdz-qty__val { width: 32px; height: 32px; }
/* skryt jen nulove hodnoceni; s realnym se hvezdy ukazou */
/* hvezdicky bez hodnoceni skryvame vsude, ne jen v kosiku - viz blok "produkty bez recenzi" niz */
/* uzke displeje: karta v sekcich pod kosikem se sklada vodorovne, nahled vlevo */
@media (max-width: 991px) {
	#checkout-cart .rdz-prod .rdz-pcard { flex-direction: row; position: relative; padding: var(--rdz-space-3); }
	/* sirku diktuje badge pod nahledem - uzsi sloupec by ho zalomil */
	#checkout-cart .rdz-prod .rdz-pcard__media { flex: 0 0 136px; }
	#checkout-cart .rdz-prod .rdz-pcard__media > a { aspect-ratio: 2 / 3; border-radius: var(--rdz-radius-sm); }
	/* zakladni pravidlo ma flex-shrink 0 (svisla karta) - vodorovne by body preteklo */
	#checkout-cart .rdz-prod .rdz-pcard__body { flex: 1 1 0; min-width: 0; padding: 0 0 0 var(--rdz-space-4); }
	/* badge do toku pod nahled: nad obrazkem se v uzkem sloupci orezaval */
	#checkout-cart .rdz-prod .rdz-emb-badge { position: static; margin-top: var(--rdz-space-2); max-width: 100%; white-space: normal; text-align: left; gap: 5px; padding: 6px 10px; font-size: 11px; }
	#checkout-cart .rdz-prod .rdz-emb-badge svg { width: 12px; height: 12px; flex: 0 0 12px; }
	#checkout-cart .rdz-prod .rdz-pcard__name { margin-top: var(--rdz-space-2); font-size: var(--rdz-fs-sm); line-height: 1.4; }
	#checkout-cart .rdz-prod .rdz-pcard__pills { margin: var(--rdz-space-3) 0; }
	#checkout-cart .rdz-prod .rdz-pcard__foot { margin-top: var(--rdz-space-4); gap: var(--rdz-space-2); }
	/* uzsi odsazeni, aby stepper a tlacitko vysly na jeden radek */
	#checkout-cart .rdz-prod .rdz-pcard__buy .rdz-pcard__cart { padding-left: 10px; padding-right: 10px; }
}
#checkout-cart .promobox > div { padding: 7px 12px; border-radius: var(--rdz-radius-md); background: var(--rdz-offwhite); font-family: var(--rdz-font-body); font-size: 12px; line-height: 1.4; color: var(--rdz-black-60); }
.rdz-cart-why { box-sizing: border-box; width: 100%; padding: var(--rdz-space-5); border-radius: var(--rdz-radius-lg); background: var(--rdz-offwhite); }
.rdz-cart-why h2 { margin: 0 0 var(--rdz-space-3); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-dark); }
.rdz-cart-why ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rdz-space-2) var(--rdz-space-5); }
.rdz-cart-why li { position: relative; padding-left: var(--rdz-space-5); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.4; color: var(--rdz-black-60); }
.rdz-cart-why li::before { content: ""; position: absolute; left: 0; top: 1px; width: 16px; height: 16px; background: var(--rdz-green); -webkit-mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; }
.rdz-btn--ghost { background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); color: var(--rdz-dark); }
@media (hover: hover) {
	/* legacy stylesheet ma globalni a:hover barvu a tlacitko je odkaz */
	.rdz-btn--ghost:hover { background: var(--rdz-offwhite); border-color: var(--rdz-black-60); color: var(--rdz-dark); }
}

/* doplnkove sluzby pod kosikem - "Neco navic" (vic voleb naraz) a "Dysko balici" (jedna castka).
   Panel drzi vzhled kosiku (offwhite), karty jsou bile, at je na nem videt vybrana volba.
   Navrh ma panely bile s sedym ramem, ale kosik nad nimi je v produkci offwhite - jinak by
   dve sousedni sekce vypadaly, ze nepatri k sobe. */
.rdz-serv-wrap { display: flex; flex-direction: column; gap: var(--rdz-gutter); }
/* obe sekce maji podle navrhu bily panel se sedym ramem a offwhite karty uvnitr -
   obracene nez kosik nad nimi, ktery je cely offwhite bez ramu.
   Mobilni navrh ma rám rgba(0,0,0,.6); drzime i tam --rdz-gray, 60% cerna by na
   telefonu prekricela obsah. Radius 36 / 20 na mobilu resi uz .rdz-cart-panel. */
.rdz-serv { display: flex; flex-direction: column; gap: var(--rdz-space-6); border: 1.5px solid var(--rdz-gray); background: var(--rdz-white); }
/* karty zustavaji plne ovladatelne, cekani se ukaze na castce, ktera se prave prepocitava */
.rdz-cart-sum__totals.is-busy { opacity: .5; transition: opacity .15s ease; }
.rdz-serv__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rdz-space-2) var(--rdz-space-6); }
.rdz-serv__title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
/* navrh ma popis sekce ve stejne velikosti jako nazev sluzby, jen v polotucnem rezu */
.rdz-serv__lead { flex: 1 1 320px; margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
.rdz-serv__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: var(--rdz-gutter); }
.rdz-serv__list--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* nevybrana karta je podle navrhu plocha dlazdice bez ramu; ram drzi sirku i tak,
   aby se pri vybrani nic neposunulo */
.rdz-serv__card { position: relative; display: flex; align-items: flex-start; gap: var(--rdz-space-3); box-sizing: border-box; margin: 0; padding: var(--rdz-space-4); border: 1.5px solid transparent; border-radius: var(--rdz-radius-sm); background: var(--rdz-offwhite); font-weight: var(--rdz-fw-reg); cursor: pointer; transition: border-color .15s ease; }
.rdz-serv__card:hover { border-color: var(--rdz-gray); }
.rdz-serv__card:has(input:checked), .rdz-serv__card.is-on { border-color: var(--rdz-dark); }
.rdz-serv__card input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
/* zaskrtavatko ma stejny tvar jako u slevoveho kodu a v pokladne */
.rdz-serv__card::before { content: ""; flex: 0 0 24px; width: 24px; height: 24px; box-sizing: border-box; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-check); background: var(--rdz-white); }
.rdz-serv__card::after { content: ""; position: absolute; left: calc(var(--rdz-space-4) + 2px); top: calc(var(--rdz-space-4) + 2px); width: 20px; height: 20px; background: var(--rdz-dark); -webkit-mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; mask: url(../image/rdz-ico-check.svg) center / contain no-repeat; opacity: 0; }
.rdz-serv__card:has(input:checked)::after, .rdz-serv__card.is-on::after { opacity: 1; }
.rdz-serv__card:focus-within { outline: 2px solid var(--rdz-blue); outline-offset: 2px; }

/* 10px neni v sade rozestupu, ale takhle to ma navrh mezi nazvem a popisem */
.rdz-serv__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 10px; min-width: 0; }
.rdz-serv__row { display: flex; align-items: flex-start; gap: var(--rdz-space-2); }
.rdz-serv__name { flex: 1 1 auto; min-width: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-dark); }
.rdz-serv__price { flex: 0 0 auto; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-body); color: var(--rdz-green); white-space: nowrap; }
.rdz-serv__text { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: normal; color: var(--rdz-black-60); }
/* mixed cart: the return service does not cover embroidered items (task 2178) */
.rdz-serv__note { position: relative; padding-left: 24px; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: normal; color: var(--rdz-dark); }
.rdz-serv__note::before { content: ""; position: absolute; left: 0; top: 0; width: 16px; height: 16px; background: var(--rdz-red); -webkit-mask: url(../image/rdz-ico-warn.svg) center / contain no-repeat; mask: url(../image/rdz-ico-warn.svg) center / contain no-repeat; }

@media (max-width: 991px) {
	.rdz-serv { gap: var(--rdz-space-5); }
	/* na uzkem displeji jde popis pod nazev sekce a karty se srovnaji do sloupce */
	.rdz-serv__head { gap: 14px; }
	.rdz-serv__lead { flex: 1 1 100%; }
	.rdz-serv__list, .rdz-serv__list--compact { grid-template-columns: minmax(0, 1fr); gap: var(--rdz-space-4); }
}

/* pod 1200 se tabulka vedle souhrnu necte -> souhrn jde pod kosik a tabulka dostane plnou sirku */
@media (max-width: 1199px) {
	.rdz-cart { grid-template-columns: minmax(0, 1fr); }
	.rdz-cart-grid { grid-template-columns: minmax(0, 2fr) repeat(5, minmax(0, 1fr)); }
	.rdz-cart-panel { padding: var(--rdz-space-5); }
}
/* pod 992 se tabulka lame -> radek se sklada jako na mobilu */
@media (max-width: 991px) {
	.rdz-cart-panel { padding: 18px var(--rdz-space-4); border-radius: var(--rdz-radius-panel-mobile); }
	.rdz-cart-sum { gap: var(--rdz-space-6); }
	/* dense patri jen desktopu (tam je kazdy radek plny); tady by skladani zaviselo na tom, jestli produkt ma velikost */
	.rdz-cart-grid { grid-template-columns: 84px minmax(0, 1fr) auto; column-gap: var(--rdz-space-3); row-gap: var(--rdz-space-2); grid-auto-flow: row; }
	.rdz-cart-title { grid-column: 1 / -1; margin-bottom: var(--rdz-space-3); }
	.rdz-cart-head { display: none; }
	/* polozka a jeji bunky jsou sourozenci; contents je rozpusti do mrizky kvuli parovani */
	.rdz-cart-item, .rdz-cart-item__body { display: contents; }
	.rdz-cart-item__thumb { grid-column: 1; grid-row: span 3; align-self: start; flex-basis: 84px; width: 84px; height: 84px; margin: 0; }
	.rdz-cart-item__name { grid-column: 2 / -1; }
	.rdz-cart-item__opt { grid-column: 2; align-self: center; }
	.rdz-cart-cell { min-height: 0; padding: 0; align-items: flex-start; text-align: left; }
	.rdz-cart-cell--stock { display: contents; }
	.rdz-cart-stock { grid-column: 3; grid-row: span 2; align-self: center; justify-self: end; }
	.rdz-cart-deliv { grid-column: 2; }
	.rdz-cart-cell--qty { grid-column: 2; }
	.rdz-cart-cell--total { grid-column: 3; flex-direction: row; gap: 4px; align-items: center; justify-content: flex-end; align-self: start; box-sizing: border-box; height: 28px; padding-bottom: 0; white-space: nowrap; font-weight: var(--rdz-fw-semi); color: var(--rdz-black-60); }
	.rdz-cart-cell--total::before { content: "celkem"; }
	.rdz-cart-cell--model { grid-column: 2 / -1; flex-direction: row; justify-content: flex-start; gap: 4px; font-size: 12px; color: var(--rdz-black-60); }
	.rdz-cart-cell--model::before { content: "kód"; }
	.rdz-cart-cell--price { grid-column: 3; flex-direction: row; gap: 3px; justify-content: flex-end; padding-bottom: var(--rdz-space-5); white-space: nowrap; font-size: 12px; color: var(--rdz-black-60); }
	.rdz-cart-cell--price::after { content: "/ ks"; }
	.rdz-cart-cell--qty:has(.rdz-qty) .rdz-cart-remove { top: 100%; left: 0; right: auto; margin-top: var(--rdz-space-2); text-align: left; }
	.rdz-cart-why ul { grid-template-columns: minmax(0, 1fr); }
	.rdz-cart-extra .rdz-btn--ghost { width: 100%; }
}

/* pokladna: souhrn objednavky (sdili .rdz-cart-sum s kosikem) */

/* vypis polozek */
.rdz-cart-sum__items { display: flex; flex-direction: column; gap: var(--rdz-space-4); }
.rdz-cart-sum__item { display: flex; align-items: center; gap: var(--rdz-space-3); }
.rdz-cart-sum__thumb { flex: 0 0 48px; width: 48px; height: 48px; overflow: hidden; border-radius: var(--rdz-radius-sm); }
.rdz-cart-sum__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rdz-cart-sum__name { flex: 1 1 auto; min-width: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-xs); line-height: 1.25; color: var(--rdz-black-60); }
.rdz-cart-sum__name a { color: inherit; text-decoration: none; }
.rdz-cart-sum__name a:hover { color: var(--rdz-dark); }
.rdz-cart-sum__meta { display: block; font-weight: var(--rdz-fw-reg); }
.rdz-cart-sum__flag { color: var(--rdz-red); }
.rdz-cart-sum__prices { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: var(--rdz-space-2); text-align: right; white-space: nowrap; }
.rdz-cart-sum__price { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-dark); }
.rdz-cart-sum__unit { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-xs); line-height: 1.2; color: var(--rdz-black-60); }

/* mnozstvi se vypisuje jen kdyz je uprava kosiku v pokladne povolena v adminu */
.rdz-cart-sum__qty { display: inline-flex; align-items: center; gap: var(--rdz-space-1); }
.rdz-cart-sum__qty button,
.rdz-cart-sum__qty input { height: 24px; padding: 0; background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-xs); line-height: 1; color: var(--rdz-dark); }
.rdz-cart-sum__qty button { width: 24px; }
.rdz-cart-sum__qty input { width: 34px; text-align: center; }
.rdz-cart-sum__drop { padding: 0; background: none; border: 0; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-xs); color: var(--rdz-black-60); text-decoration: underline; }

/* souhlas pod tlacitkem */
.rdz-cart-sum__terms { margin: 0; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black-60); }
.rdz-cart-sum__terms a { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); text-decoration: none; }
.rdz-cart-sum__terms a:hover { text-decoration: underline; }

/* mrizka pokladny ma zaporne marginy a floaty; uvnitr panelu je nahrazujeme sloupcem */
#onepagecheckout .rdz-cart-sum--checkout { gap: var(--rdz-space-6); }
#onepagecheckout .rdz-cart-sum--checkout .extcover,
#onepagecheckout .rdz-cart-sum--checkout .extrow { display: flex; flex-direction: column; gap: var(--rdz-space-6); margin: 0; }
#onepagecheckout .rdz-cart-sum--checkout .extrow::before,
#onepagecheckout .rdz-cart-sum--checkout .extrow::after { display: none; }
#onepagecheckout .rdz-cart-sum--checkout .extsm-12 { float: none; width: 100%; padding: 0; }
/* radky pro kupon a poukaz zustavaji v sablone prazdne, dokud nejsou moduly zapnute,
   a drzely by pod souhrnem mezeru navic */
#onepagecheckout .rdz-cart-sum--checkout .extcover > .extrow { display: none; }
#onepagecheckout .rdz-cart-sum--checkout .extcover > .extrow:has(input, button, select, textarea) { display: flex; }
#onepagecheckout .rdz-cart-sum--checkout .ext-carts.min-hght { min-height: 0; }
#onepagecheckout .rdz-cart-sum--checkout .cart-loader { position: relative; min-height: 200px; }
#onepagecheckout .rdz-cart-sum--checkout .buttons { margin: 0; }
#onepagecheckout .rdz-cart-sum--checkout .confirm-order-content .extrow,
#onepagecheckout .rdz-cart-sum--checkout .buttons { gap: var(--rdz-space-4); }
#onepagecheckout .rdz-cart-sum--checkout .buttons { display: flex; flex-direction: column; }
#onepagecheckout .rdz-cart-sum--checkout .buttons > div { display: flex; }
#onepagecheckout .rdz-cart-sum--checkout .rdz-cart-sum__note { margin: 0; }
/* nazvy dopravy sem prichazi i s adresou vydejniho mista a lamou se az u castky */
#onepagecheckout .rdz-cart-sum--checkout .rdz-cart-sum__row { gap: var(--rdz-space-5); }
#onepagecheckout .rdz-cart-sum--checkout .rdz-cart-sum__note .rdz-label { padding-left: 0; }

/* popisek chodi z adminu, takze muze byt libovolne dlouhy -> radeji zalomit nez pretect;
   uzsi vodorovny padding necha soucasnemu textu rezervu, aby se vesel na jeden radek */
#onepagecheckout .rdz-cart-sum--checkout .rdz-btn--blue { width: 100%; height: auto; padding: var(--rdz-space-2) var(--rdz-space-3); line-height: 1.2; white-space: normal; }
/* zamcene tlacitko si drzi svuj vzhled z puvodniho kodu, proto vsude :not([disabled]);
   legacy .btn-primary ma na techto stavech !important, jinak se pres nej nedostaneme */
#onepagecheckout .rdz-cart-sum--checkout .rdz-btn--blue:hover:not([disabled]),
#onepagecheckout .rdz-cart-sum--checkout .rdz-btn--blue:focus:not([disabled]),
#onepagecheckout .rdz-cart-sum--checkout .rdz-btn--blue:active:not([disabled]) { background: var(--rdz-dark) !important; border-color: transparent !important; color: var(--rdz-gray); }

/* pokladna: fakturacni udaje. Pole maji tridu .formcontrol (vlastni trida
   onepagecheckoutu), ne bootstrapi .form-control */

#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel { margin: 0; padding: 0; background: var(--rdz-offwhite); border: 0 !important; border-radius: var(--rdz-radius-xl); box-shadow: none; }
#onepagecheckout .content-personal-details .extpanel-heading { display: none; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .extpanel-body { display: flex; flex-direction: column; gap: var(--rdz-space-6); padding: var(--rdz-space-6); overflow: visible; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .extpanel-body > * { float: none; width: auto; margin: 0; padding: 0; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel-title { margin: 0; padding: 0; border: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
/* cislovani kroku a ikony navrh nema */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel-title > span,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel-title > i { display: none; }

/* dve stejne siroke kolonky; puvodni sirky jsou floaty extsm-*, v mrizce se neuplatni */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--rdz-space-4) 10px; align-items: start; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account > * { float: none; width: auto; min-height: 0; padding: 0; margin: 0; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account > .extsm-12,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account > .checkbox,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account > .rdz-cart-sum__note { grid-column: 1 / -1; }

/* popisek + hvezdicka u povinneho pole */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .control-label { display: block; width: auto; margin: 0; padding: 0 var(--rdz-space-1) var(--rdz-space-2); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60); text-align: left; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .required .control-label::before {
	content: "*"; margin-right: 2px; color: var(--rdz-black-60);
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4);
	line-height: 0; vertical-align: -0.28em;
}

/* pole */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.formcontrol, .form-control) {
	box-sizing: border-box; width: 100%; height: 42px; padding: 0 var(--rdz-space-4);
	background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm);
	box-shadow: none;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.2; color: var(--rdz-black-60);
	transition: border-color .15s ease;
}
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) textarea:is(.formcontrol, .form-control),
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-textarea { height: auto; min-height: 74px; padding: var(--rdz-space-4); line-height: var(--rdz-lh-body); font-size: var(--rdz-fs-sm); resize: vertical; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.formcontrol, .form-control):focus,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-textarea:focus { border-color: var(--rdz-dark); box-shadow: none; outline: none; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.formcontrol, .form-control)::placeholder,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-textarea::placeholder { color: var(--rdz-black-60); opacity: .55; }

/* rozbalovaci pole: vlastni sipka misto systemove */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) select:is(.formcontrol, .form-control) {
	-webkit-appearance: none; appearance: none;
	padding-right: 44px; font-weight: var(--rdz-fw-semi);
	background-image: url(../image/rdz-ico-chevron-down.svg);
	background-repeat: no-repeat; background-position: right 12px center; background-size: 14px 8px;
}

/* prepinac osoba/firma + zaskrtavatka: stejny vzor jako v kosiku (24 px, fajfka z assetu) */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .radio label,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.checkbox label, label:has(> input[type="checkbox"][name$="[shipping_address]"])) {
	position: relative; display: flex; align-items: center; gap: var(--rdz-space-2); margin: 0; padding: 0;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.3; color: var(--rdz-black-60); cursor: pointer;
}
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .radio label input,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.checkbox label, label:has(> input[type="checkbox"][name$="[shipping_address]"])) input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .radio label::before,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.checkbox label, label:has(> input[type="checkbox"][name$="[shipping_address]"]))::before {
	content: ""; flex: 0 0 24px; width: 24px; height: 24px; box-sizing: border-box;
	border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-check); background: var(--rdz-white);
}
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .radio label::before { border-radius: var(--rdz-radius-pill); }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .radio label::after,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.checkbox label, label:has(> input[type="checkbox"][name$="[shipping_address]"]))::after {
	content: ""; position: absolute; left: 2px; width: 20px; height: 20px; background: var(--rdz-dark);
	-webkit-mask: url(../image/rdz-ico-check.svg) center / contain no-repeat;
	mask: url(../image/rdz-ico-check.svg) center / contain no-repeat;
	opacity: 0;
}
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .radio label:has(input:checked)::after,
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) :is(.checkbox label, label:has(> input[type="checkbox"][name$="[shipping_address]"])):has(input:checked)::after { opacity: 1; }
/* pole nove adresy jsou floaty v kontejneru, ktery je necisti; zaskrtavatko ma vlastni
   formatovaci kontext, takze by se jim uhnulo a smrsklo na nulovou sirku u praveho okraje */
#onepagecheckout :is(.content-payment-details, .content-delivery-details) label:has(> input[type="checkbox"][name$="[shipping_address]"]) { clear: both; }
/* zaskrtavatka jdou pod sebou tesneji nez radky poli */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-consents { display: flex; flex-direction: column; gap: var(--rdz-space-3); }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-consents > .checkbox { float: none; width: auto; margin: 0; padding: 0; }
/* navrh ma nahore doruceni na stejnou adresu, newsletter az pod nim */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-consents > .checkbox:has(input[name="personal_details[shipping_address]"]) { order: -1; }
/* prepinac osoba/firma na jeden radek; obal nechava .form-group uvnitr #account,
   aby tridici skript v sablone napocital stejny pocet a firemni pole nepreskocila */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account > .rdz-checkout-switch { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-bottom: var(--rdz-space-4); }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-switch__title { margin-right: auto; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-switch > .form-group { flex: 0 0 auto; width: auto; margin: 0; padding: 0; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-switch .radio label { white-space: nowrap; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-switch .radio { margin: 0; padding: 0; }
/* rozbalovaci pole: prebira .rdz-fdd z kategorie, jen na sirku pole a se sipkou z assetu.
   .rdz-fdd ma order:2 (kvuli listie filtru) - v mrizce formulare by pole preskocilo */
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-fdd { order: 0; }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-fdd > .rdz-fdd__btn { display: flex; width: 100%; height: 42px; justify-content: space-between; padding: 0 12px 0 var(--rdz-space-4); }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-fdd > .rdz-fdd__btn::after {
	width: 14px; height: 8px; border: 0; transform: none; background: var(--rdz-black-60);
	-webkit-mask: url(../image/rdz-ico-chevron-down.svg) center / contain no-repeat;
	mask: url(../image/rdz-ico-chevron-down.svg) center / contain no-repeat;
}
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-fdd.open > .rdz-fdd__btn::after { transform: rotate(180deg); }
#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-fdd .checkbox-block { width: 100%; min-width: 0; }

/* prepinac uctu: tridy btn-primary, btn-default a .active musi zustat v markupu,
   cte je skript v checkout.twig a ridi podle nich rezim formulare */
#onepagecheckout .checkout-buttons { display: flex; flex-wrap: wrap; gap: var(--rdz-space-2); }
#onepagecheckout .button-account-type {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 42px; padding: var(--rdz-space-2) 20px; border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1;
	background: var(--rdz-white) !important; background-image: none !important;
	border: 1.5px solid var(--rdz-gray) !important; color: var(--rdz-black-60);
	box-shadow: none; text-shadow: none;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}
#onepagecheckout .button-account-type:hover { background: var(--rdz-offwhite) !important; border-color: var(--rdz-black-60) !important; color: var(--rdz-dark); }
/* zaskrtnute radio je spolehlivejsi nez tridy - ty si skript pri kliknuti prehazuje */
/* ramecek v barve vyplne: drzi stejnou geometrii jako neaktivni tlacitka, ale neni videt
   (--rdz-blue by na navy delal fialovy prstenec) */
#onepagecheckout .button-account-type:has(input:checked) { background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important; color: var(--rdz-white); }
#onepagecheckout .button-account-type:has(input:checked):hover { background: var(--rdz-dark) !important; border-color: transparent !important; color: var(--rdz-gray); }
/* vlastni prsten pres :focus-visible sem nepridavat: u radia ho Chrome spusti
   i po kliknuti mysi a zustal by viset */
#onepagecheckout .button-account-type input[type="radio"] { outline: none !important; }
/* bootstrap pri fokusu radia pridava labelu tridu .focus a na ni vlastni prsten */
#onepagecheckout .button-account-type:focus,
#onepagecheckout .button-account-type.focus,
#onepagecheckout .button-account-type:active,
#onepagecheckout .button-account-type:active:focus { outline: none !important; box-shadow: none !important; }

/* prihlaseni: nadpis zustava ve sve hlavicce (u fakturacnich udaju je presunuty
   do radku s prepinacem, proto se tam skryva) */
#onepagecheckout .content-login .extpanel-heading { padding: var(--rdz-space-6) var(--rdz-space-6) 0; background: none; border: 0; }
#onepagecheckout .content-login .extpanel-body { padding-top: var(--rdz-space-6); }
#onepagecheckout .content-login .extpanel-body .row > [class*="extsm-"] { padding-left: 0; padding-right: 0; }

#onepagecheckout .checkout-buttons { gap: var(--rdz-space-3); }
#onepagecheckout .checkout-buttons > .button-account-type { margin: 0; }
#onepagecheckout .content-login .row { margin: 0; }
#onepagecheckout .content-login .form-group { margin: 0 0 var(--rdz-space-4); }
/* odkaz na zapomenute heslo sedi pod polem */
#onepagecheckout .content-login .form-group > a { display: inline-block; margin-top: var(--rdz-space-2); padding-left: var(--rdz-space-1); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); text-decoration: underline; }
#onepagecheckout .content-login .form-group > a:hover { color: var(--rdz-dark); }
/* tlacitko prihlaseni = nase modre; legacy .btn-primary drzi pozadi pres !important */
#onepagecheckout .content-login .button-login {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 42px; padding: var(--rdz-space-2) 20px; border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1;
	background: var(--rdz-dark) !important; background-image: none !important;
	border: 1.5px solid var(--rdz-dark) !important; color: var(--rdz-white);
	box-shadow: none; text-shadow: none;
	transition: background .18s ease, color .18s ease;
}
#onepagecheckout .content-login .button-login:hover,
#onepagecheckout .content-login .button-login:focus { background: var(--rdz-dark) !important; color: var(--rdz-gray); outline: none; }

/* chyba = jen cerveny ramecek, popisek zustava sedy. Hlasky pod poli se nevykresluji
   (onepagecheckout_field_layout = 0), styl plati jen kdyby se v adminu zaply */
#onepagecheckout .has-error :is(.formcontrol, .form-control),
#onepagecheckout .has-error .rdz-textarea { border-color: var(--rdz-red); box-shadow: none; }
/* the :focus rule above outranks .has-error, so the field we jump to (#2176) would lose its red border */
#onepagecheckout .has-error :is(.formcontrol, .form-control):focus,
#onepagecheckout .has-error .rdz-textarea:focus { border-color: var(--rdz-red); }
#onepagecheckout .text-danger {
	display: block; margin: var(--rdz-space-1) 0 0; padding-left: var(--rdz-space-1);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.3;
	color: var(--rdz-red);
}
/* box "Proc u nas" je v pokladne v uzkem sloupci -> jedna kolonka misto dvou;
   mezera od souhrnu nad nim stejna jako mezi bloky v kosiku */
#onepagecheckout .rdz-cart-why { margin-top: var(--rdz-gutter); }
#onepagecheckout .rdz-cart-why ul { grid-template-columns: minmax(0, 1fr); }
/* ComGate box je stejna komponenta, ale odstavcovy text misto odrazek */
#onepagecheckout .comgate-box p { margin: 0 0 var(--rdz-space-3); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#onepagecheckout .comgate-box p:last-child { margin-bottom: 0; }
#onepagecheckout .comgate-box b { font-weight: var(--rdz-fw-semi); color: var(--rdz-dark); }

/* loader.gif injektuje JS ze ctyr mist a jedno je sdilene onepagecheckout.js mimo thema,
   proto se resi jen CSS: obrazek skryt, kolecko na obalu */
@keyframes rdz-spin { to { transform: rotate(360deg); } }
#onepagecheckout .cart-loader { display: flex; align-items: center; justify-content: center; min-height: 120px; padding: var(--rdz-space-6) 0; background: none; border: 0; }
#onepagecheckout .cart-loader img { display: none; }
#onepagecheckout .cart-loader::before {
	content: ""; width: 28px; height: 28px; box-sizing: border-box;
	border: 2.5px solid var(--rdz-gray-light); border-top-color: var(--rdz-dark); border-radius: 50%;
	animation: rdz-spin .7s linear infinite;
}

/* stejne rozdeleni jako kosik (832/20/328). Puvodni .extsm-8 / .extsm-4 delily 66,7/33,3
   a mely nesymetricke paddingy z inline stylu v checkout.twig.
   Pod 1200 by na formular zbylo po odecteni souhrnu pod 500 px, proto jde souhrn pod nej. */
@media (min-width: 1200px) {
	#onepagecheckout .xtrow.account_option { display: flex; align-items: flex-start; gap: var(--rdz-gutter); }
	#onepagecheckout .xtrow.account_option > .extsm-8 { float: none; width: auto; flex: 1 1 auto; min-width: 0; padding: 0; }
	#onepagecheckout .xtrow.account_option > .extsm-4 { float: none; flex: 0 0 328px; width: 328px; padding: 0; }
	/* .extrow uvnitr ma z jejich mrizky zaporny margin, ktery po vynulovani paddingu vycuhoval */
	#onepagecheckout .xtrow.account_option > .extsm-4 .extrow { margin-left: 0; margin-right: 0; }
	#onepagecheckout .xtrow.account_option > .extsm-4 .extrow > .extsm-12 { padding-left: 0; padding-right: 0; }
}

@media (max-width: 1199px) {
	#onepagecheckout .xtrow.account_option > .extsm-8,
	#onepagecheckout .xtrow.account_option > .extsm-4 { float: none; width: 100%; }
	#onepagecheckout .xtrow.account_option > .extsm-4 { margin-top: var(--rdz-gutter); }
}

/* pokladna: doprava. Markup je cizi (vQmod do nej vklada vyber vydejniho mista i JS,
   ktery hleda radio pres .parent().parent()) - proto jen CSS, do struktury nesahat.
   Ramecky drzi inline styl v checkout.twig pres !important. */
#onepagecheckout :is(.content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel { margin-top: var(--rdz-gutter); }
#onepagecheckout :is(.content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel-heading { padding: var(--rdz-space-6) var(--rdz-space-6) 0; background: none; border: 0; }
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .extpanel-body { display: flex; flex-direction: column; gap: var(--rdz-space-3); padding: var(--rdz-space-6); }

/* karta dopravce */
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio {
	margin: 0 !important; padding: var(--rdz-space-4) !important;
	background: var(--rdz-offwhite); border: 1.5px solid var(--rdz-gray) !important; border-radius: var(--rdz-radius-sm) !important;
}
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio:has(input[type="radio"]:checked) {
	background: var(--rdz-white); border: 1.5px solid var(--rdz-black-60) !important;
}
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label {
	display: grid; grid-template-columns: 37px minmax(0, 1fr) auto; align-items: center; gap: 6px var(--rdz-space-2);
	margin: 0; padding: 0;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body);
	color: var(--rdz-dark); cursor: pointer;
}
/* prepinac musi zustat v DOM (JS na nem vola click), jen ho neni videt */
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > br { display: none; }
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > .rdz-opt-name { grid-column: 2; grid-row: 1; }
/* nazev drzi obe rady (a tim sedi na stred), kdyz vlevo zadny viditelny druhy radek neni */
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label:not(:has(.subtitle:not(:empty), [id^="destination_service"])) > .rdz-opt-name,
#onepagecheckout .content-delivery-method .radio:not(:has(input[type="radio"]:checked)) > label:has([id^="destination_service"] > .nodest) > .rdz-opt-name { grid-row: 1 / span 2; }
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > .subtitle:empty { display: none; }
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > .subtitle {
	grid-column: 2; grid-row: 2;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-tight); color: var(--rdz-black-60);
}
#onepagecheckout .content-delivery-method .radio > label > .rdz-ship-when {
	grid-column: 3; grid-row: 2; justify-self: end; text-align: right; white-space: nowrap;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-tight); color: var(--rdz-green);
}

/* logo dopravce; vychozi je logo eshopu, aby nove pridany dopravce nemel prazdno */
#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label::before {
	content: ""; grid-column: 1; grid-row: 1 / span 2; width: 37px; height: 37px;
	background: url(../image/rdz-logo-cat.png) center / contain no-repeat;
}
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.23"])::before,
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.22"])::before,
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.26"])::before { background-image: url(../image/rdz-ship-gls.png); }
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.5"])::before { background-image: url(../image/rdz-ship-balikovna.png); }
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.12"])::before,
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.24"])::before,
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.11"])::before { background-image: url(../image/rdz-ship-dpd.png); }
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.19"])::before,
#onepagecheckout .content-delivery-method .radio > label:has(input[value="multishipping.25"])::before { background-image: url(../image/rdz-ship-zasilkovna.png); }

/* cena vpravo; puvodni sirku drzi inline float */
#onepagecheckout .content-delivery-method .radio > label > span[style*="float"],
#onepagecheckout .content-payment-method .radio > label > .price {
	float: none !important; grid-column: 3; grid-row: 1; justify-self: end; text-align: right; white-space: nowrap;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight);
	color: var(--rdz-black);
}

/* vydejni misto: hlaska pod nazvem, tlacitko na dalsi radek vpravo */
#onepagecheckout .content-delivery-method .radio > label > p { display: contents; font-size: 0 !important; }
#onepagecheckout .content-delivery-method .radio > label > p > br { display: none; }
#onepagecheckout .content-delivery-method .radio [id^="destination_service"] {
	grid-column: 2; grid-row: 2;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-tight);
	color: var(--rdz-black-60);
}
#onepagecheckout .content-delivery-method .radio .nodest { font-size: var(--rdz-fs-sm) !important; color: var(--rdz-red) !important; }
#onepagecheckout .content-delivery-method .radio .multishipping_destination {
	grid-column: 2 / -1; grid-row: 3; justify-self: end;
	margin: var(--rdz-space-2) 0 0; min-height: 42px; padding: var(--rdz-space-2) var(--rdz-space-5);
	transition: color .18s ease, background .18s ease, border-color .18s ease, transform .1s ease;
	background: var(--rdz-dark); border: 1.5px solid var(--rdz-black-60); border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: var(--rdz-lh-tight); color: var(--rdz-white);
}
@media (hover: hover) {
	#onepagecheckout .content-delivery-method .radio .multishipping_destination:hover { color: var(--rdz-gray); }
}
#onepagecheckout .content-delivery-method .radio .multishipping_destination:active { color: var(--rdz-gray); transform: translateY(1px); }
/* checkout.twig ma na hover vlastni sedou a legacy .btn-primary na focus/active zlatou - oboji s !important */
#onepagecheckout .content-delivery-method .radio .multishipping_destination:hover,
#onepagecheckout .content-delivery-method .radio .multishipping_destination:focus,
#onepagecheckout .content-delivery-method .radio .multishipping_destination:active {
	background: var(--rdz-dark) !important; border: 1.5px solid transparent !important;
}
/* v navrhu se tlacitko nabizi az u zvolene dopravy */
#onepagecheckout .content-delivery-method .radio:not(:has(input[type="radio"]:checked)) .multishipping_destination { display: none; }
/* u nezvolene dopravy zbyva po skrytem tlacitku prazdny radek; prvek zustava v DOM kvuli JS */
#onepagecheckout .content-delivery-method .radio:not(:has(input[type="radio"]:checked)) > label > p { display: none; }

/* pokladna: platba. Karta je stejna jako u dopravy, lisi se ikonami, cenou jako priplatkem
   (prazdna, kdyz zadny neni) a znackami plateb u ComGate. Kotva vQmodu je nazev metody. */
#onepagecheckout .content-payment-method .extpanel { margin-bottom: 0; }
/* misto pro znacky plateb mezi textem a cenou */
#onepagecheckout .content-payment-method .radio > label { grid-template-columns: 37px minmax(0, 1fr) auto auto; }
#onepagecheckout .content-delivery-method .radio > label > span[style*="float"] { min-width: 78px; }
#onepagecheckout .content-payment-method .radio > label > .price { grid-column: 4; grid-row: 1 / span 2; }

/* ikony metod; vychozi je logo eshopu, aby nove pridana metoda nemela prazdno */
#onepagecheckout .content-payment-method .radio > label:has(input[value="bank_transfer"])::before { background-image: url(../image/rdz-pay-transfer.svg); }
#onepagecheckout .content-payment-method .radio > label:has(input[value="comgate"])::before { background-image: url(../image/rdz-pay-comgate.png); }
#onepagecheckout .content-payment-method .radio > label:has(input[value="multishipping_cod"])::before { background-image: url(../image/rdz-pay-cod.svg); }

/* Apple Pay a Google Pay u platby kartou */
#onepagecheckout .content-payment-method .radio > label:has(input[value="comgate"])::after {
	content: ""; grid-column: 3; grid-row: 1 / span 2; width: 119px; height: 37px;
	background-image: url(../image/rdz-pay-applepay.png), url(../image/rdz-pay-googlepay.png);
	background-position: left center, right center;
	background-size: 52px auto, 52px auto;
	background-repeat: no-repeat, no-repeat;
}

/* po neuspesnem odeslani se nad panel vlozi hlaska; karta s nezvolenym vydejnim mistem
   se pak zvyrazni cervene stejne jako pole */
#onepagecheckout .alert-danger + .delivery-method-content .radio:has(input[type="radio"]:checked):has(.nodest) {
	border-color: var(--rdz-red) !important;
}

/* pokladna na uzkych displejich: panely dostanou stejny tvar jako v kosiku */
@media (max-width: 991px) {
	#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel { border-radius: var(--rdz-radius-panel-mobile); }
	#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel-body { padding: 18px var(--rdz-space-4); }
	#onepagecheckout :is(.content-login, .content-payment-details, .content-delivery-details, .content-delivery-method, .content-payment-method) .extpanel-heading { padding: 18px var(--rdz-space-4) 0; }
	#onepagecheckout .content-delivery-method .extpanel-body { gap: var(--rdz-space-3); }
}
/* mobil: znacky plateb vedle textu uzly nazev na nekolik radku, jdou tedy pod nej */
@media (max-width: 767px) {
	#onepagecheckout .content-payment-method .radio > label { grid-template-columns: 37px minmax(0, 1fr) auto; }
	#onepagecheckout .content-payment-method .radio > label:has(input[value="comgate"])::after { grid-column: 2 / -1; grid-row: 3; justify-self: end; margin-top: var(--rdz-space-2); }
	/* texty se casto lamou na vic radku, obsah karty tedy zacina nahore */
	#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label { align-items: start; }
	#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > .rdz-opt-name { line-height: 18px; }
	#onepagecheckout :is(.content-delivery-method, .content-payment-method) .radio > label > .subtitle,
	#onepagecheckout .content-delivery-method .radio [id^="destination_service"] { line-height: 1.35; }
	/* znacky plateb se vedle textu nevejdou, jdou pod ikonu do leveho sloupce */
	#onepagecheckout .content-payment-method .radio > label:has(input[value="comgate"])::before { grid-row: 1; }
	#onepagecheckout .content-payment-method .radio > label:has(input[value="comgate"])::after {
		grid-column: 1; grid-row: 2; justify-self: start; width: 37px; height: 50px; margin-top: -6px;
		background-position: center 5px, center 30px;
		background-size: 37px auto, 37px auto;
	}
}

/* mobil: dve kolonky poli uz jsou neprakticke, formular jde pod sebe */
@media (max-width: 767px) {
	#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account { grid-template-columns: minmax(0, 1fr); gap: var(--rdz-space-4); }
	#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-consents { gap: var(--rdz-space-4); }
	/* nadpis a prepinac se vedle sebe nevejdou, jdou pod sebe */
	#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) #account > .rdz-checkout-switch { flex-wrap: wrap; align-items: flex-start; gap: var(--rdz-space-6) 20px; }
	#onepagecheckout :is(.content-personal-details, .content-login, .content-payment-details, .content-delivery-details) .rdz-checkout-switch__title { flex: 0 0 100%; margin-right: 0; }
}

/* Ucet (prihlaseni, registrace, zapomenute heslo, objednavky...). Zupany nema vlastni
   sablony - dedi je z default, ktere sdili i ostatni obchody - proto jen CSS. */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content > h1 { margin: 0 0 var(--rdz-space-5); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content > p { margin: 0 0 var(--rdz-space-5); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content > :is(h2, h3) { margin: var(--rdz-space-6) 0 var(--rdz-space-3); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
/* jejich globalni `a` je seda, sladit s ostatnimi strankami; tlacitka mimo */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content a:not(.btn):not(.cta-btn) { color: var(--rdz-dark); text-decoration: underline; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content a:not(.btn):not(.cta-btn):hover { color: var(--rdz-black-60); }

/* formular v karte, at nesplyva se strankou */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) fieldset {
	margin: 0 0 var(--rdz-space-5); padding: var(--rdz-space-6); border: 0; overflow: hidden;
	background: var(--rdz-offwhite); border-radius: var(--rdz-radius-xl);
}
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) fieldset legend {
	float: left; width: 100%; margin: 0 0 var(--rdz-space-4); padding: 0; border: 0;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark);
}
/* popisek nad polem. NEvazat na fieldset - ctyri sablony ho nemaji (poukaz, sledovani,
   odstoupeni, prihlaseni) a tam by zustal bootstrapi vodorovny rozvrh, jehoz sloupec
   nam rozbiji `width: auto` na .control-label -> kazdy radek zacina jinde */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .form-group { clear: both; margin: 0 0 var(--rdz-space-4); display: flex; flex-direction: column; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content fieldset .form-group:last-child { margin-bottom: 0; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .form-group > label,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .form-group > div { float: none; width: 100%; padding-left: 0; padding-right: 0; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .required .control-label::before { color: var(--rdz-black-60); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .text-danger { margin-top: var(--rdz-space-1); font-size: var(--rdz-fs-sm); color: var(--rdz-red); }
/* prepinace a zaskrtavatka: pryc se systemovou modrou, stejne jako kriteria ve vyhledavani */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content input[type="radio"],
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--rdz-dark); cursor: pointer; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content :is(.radio, .radio-inline, .checkbox, .checkbox-inline) { cursor: pointer; }

/* tlacitka: zpet vlevo jako obrys, potvrzeni vpravo modre */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons { display: flex; align-items: center; justify-content: space-between; gap: var(--rdz-space-3); margin: 0 0 var(--rdz-space-7); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons::before,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons::after { display: none; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .pull-left,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .pull-right { float: none; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .btn,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: var(--rdz-space-2) var(--rdz-space-5);
	border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1;
	transition: color .18s ease, background .18s ease, border-color .18s ease;
}
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .btn-primary,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-primary { background: var(--rdz-dark) !important; border: 1.5px solid var(--rdz-dark) !important; color: var(--rdz-white); }
/* info a danger jsou jejich oranzova a cervena z tabulek (upravit/smazat/zobrazit) */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .btn-default,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-default,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-info,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-danger { background: var(--rdz-white); border: 1.5px solid var(--rdz-gray); color: var(--rdz-dark); box-shadow: none; }
/* mazani si drzi varovnou barvu, at ho nejde splest s upravou vedle; ve formulari je pod
   toutez tridou tlacitko Zpet, proto jen v tabulkach */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .table .btn-danger { color: var(--rdz-red); }
@media (hover: hover) {
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .btn-primary:hover,
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-primary:hover { color: var(--rdz-gray); }
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) .buttons .btn-default:hover,
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-default:hover,
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-info:hover,
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .btn-danger:hover { background: var(--rdz-offwhite); border-color: var(--rdz-black-60); box-shadow: none; }
	:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .table .btn-danger:hover { border-color: var(--rdz-red); color: var(--rdz-red); }
}
/* v tabulkach byva tlacitko jen ikona - uzsi odsazeni a bunka s tlacitky bez lamani,
   jinak si tabulka na sloupec Akce nechava tak malo mista, ze tlacitka spadnou pod sebe.
   Podminka na .btn je nutna: na detailu objednavky nese posledni bunka souhrn castek
   a bez lamani by na mobilu roztahla stranku */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .table .btn { padding: 0 var(--rdz-space-3); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .table td:last-child:has(.btn) { white-space: nowrap; }
/* nazvy vyrobku ve vypisech: podtrzeni az na hover, jinak je radek neklidny */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .table a:not(.btn) { text-decoration: none; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .table a:not(.btn):hover { text-decoration: underline; }

/* bocni panel: rozcestnik uctu + prihlaseni pres Seznam */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right { display: flex; flex-direction: column; gap: var(--rdz-gutter); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .seznam_login,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .list-group { margin: 0; padding: var(--rdz-space-5); background: var(--rdz-offwhite); border-radius: var(--rdz-radius-xl); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .seznam_login h3 {
	margin: 0 0 var(--rdz-space-3) !important; padding: 0;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-dark);
}
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .seznam_login p { margin: 0; padding: 0 !important; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .list-group-item {
	margin: 0; padding: var(--rdz-space-2) 0; background: none; border: 0; border-radius: 0;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-sm); line-height: 1.4;
	color: var(--rdz-black-60); transition: color .15s ease;
}
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .list-group-item + .list-group-item { border-top: 1px solid var(--rdz-gray-light); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .list-group-item:hover,
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #column-right .list-group-item.active { background: none; color: var(--rdz-dark); }

/* panely na prihlaseni a registraci; nadpis nesou jako h2 uvnitr */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .well {
	margin: 0 0 var(--rdz-space-5); padding: var(--rdz-space-6);
	background: var(--rdz-offwhite); border: 0; border-radius: var(--rdz-radius-xl); box-shadow: none;
}
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content :is(h2, h3) {
	margin: 0 0 var(--rdz-space-3);
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark);
}
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .well p { margin: 0 0 var(--rdz-space-4); }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .well .form-group:last-of-type { margin-bottom: var(--rdz-space-4); }
/* odkaz na obnovu hesla pod polem */
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .well a:not(.btn) { color: var(--rdz-black-60); text-decoration: underline; }
:is([id^="account-"], [id^="affiliate-"], [id="common-success"]) #content .well a:not(.btn):hover { color: var(--rdz-dark); }

/* Popup po pridani do kosiku - oprava mobilu.
   Pravidla jsou zamerne TADY a ne v addtocart.css: ten soubor se linkuje bez `?v=`
   (odkaz vklada cizi mod) a server na nej posila rocni cache, takze by se zmena
   k vracejicim se zakaznikum nedostala. custom.css se verzuje a nacita se driv,
   proto je scope pres #add-to-cart-popup - aby prebil pozdejsi addtocart.css. */
#add-to-cart-popup div.content {
	/* na iOS je vh vzdy velky viewport, takze spodek okna koncil pod listou Safari
	   a na tlacitko do kosiku neslo poradne kliknout */
	max-height: 92dvh;
	overflow-y: visible;
}
#add-to-cart-popup .rdz-atc { max-height: inherit; min-height: 0; }
/* roluje jen vnitrek; hlavicka s krizkem a paticka s tlacitky zustavaji videt */
#add-to-cart-popup .rdz-atc__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
#add-to-cart-popup .rdz-atc__foot { flex: 0 0 auto; padding: var(--rdz-space-1) 20px var(--rdz-space-5); }
@media (max-width: 767px) {
	#add-to-cart-popup div.content { max-height: 94dvh; }
	/* na iPhonu je pod paticku jeste systemovy ovladaci pruh */
	#add-to-cart-popup .rdz-atc__foot { padding-bottom: calc(var(--rdz-space-5) + env(safe-area-inset-bottom)); }
}

/* Pri AJAX prekresleni pokladny ma potvrzovaci tlacitko chvili jen legacy tridy,
   nez naskoci nase - probliklo zlate. Scope pres ID prebiji legacy .btn-primary. */
#onepagecheckout .btn-primary {
	background: var(--rdz-dark); border-color: var(--rdz-dark); color: var(--rdz-white);
	background-image: none; text-shadow: none;
}
#onepagecheckout .btn-primary:hover,
#onepagecheckout .btn-primary:focus,
#onepagecheckout .btn-primary:active {
	background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important; color: var(--rdz-gray);
}

/* Pokyny k platbe prevodem na dokoncene objednavce. Sablona nese vlastni <style>
   ve stare palete (zelena #A5B5A2, kremova #EDEAE0) a stoji v dokumentu az za nami,
   proto scope pres ID. Markup ani QR kod netknute. */
#common-success .payment-box {
	background: var(--rdz-offwhite);
	border: 1px solid var(--rdz-gray-light);
	border-radius: var(--rdz-radius-xl);
	padding: var(--rdz-space-6);
	gap: var(--rdz-space-6);
	margin-top: var(--rdz-space-5);
}
#common-success .payment-details { padding-left: 0; color: var(--rdz-black-60); }
#common-success .payment-details h3 {
	margin: 0 0 var(--rdz-space-3); padding: 0;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark);
}
#common-success .payment-details b,
#common-success .payment-details strong { color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); }
#common-success .qr-code img { background: var(--rdz-white); border-radius: var(--rdz-radius-sm); }
@media (max-width: 767px) {
	#common-success .payment-box { padding: var(--rdz-space-5); gap: var(--rdz-space-4); }
	#common-success .payment-details { text-align: left; }
}

/* Pokyny k platbe prevodem v souhrnu pokladny. Blok se doplnuje AJAXem z jejich
   bank_transfer sablony, takze nese holy bootstrap (h2 bez tridy, .well) a nas
   restyl pokladny se k nemu nedostal - v puvodnim HTML stranky vubec neni. */
#onepagecheckout .content-confirm-order h2 {
	margin: 0 0 var(--rdz-space-3); padding: 0;
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: var(--rdz-fs-h4); line-height: var(--rdz-lh-tight); color: var(--rdz-dark);
}
#onepagecheckout .content-confirm-order p { margin: 0 0 var(--rdz-space-3); color: var(--rdz-black-60); }
#onepagecheckout .content-confirm-order .well {
	margin: 0 0 var(--rdz-space-4); padding: var(--rdz-space-4);
	background: var(--rdz-white); border: 1px solid var(--rdz-gray-light);
	border-radius: var(--rdz-radius-sm); box-shadow: none;
	color: var(--rdz-black-60);
}

/* Stranka udrzby - zakaznik ji vidi behem nasazovani. Menime jen typografii nadpisu,
   rozvrzeni sablony nechavame jak bylo (pouziva .col-12 z bootstrapu 4, ktera v BS3
   nic nedela - sahat na to by prineslo vic rizika nez uzitku). */
#common-maintenance h1 {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg);
	color: var(--rdz-dark);
}

/* zprava platebni brany (navrat z comgate pri zruseni, chybe nebo cekani na platbu).
   Sablona sdili id "product-category" s vypisem kategorie, proto scope pres :has(.buttons) -
   ten blok kategorie nema. Uspesna platba jde na checkout/success, ta je resena zvlast. */
#product-category:has(.buttons) #content > h2 { margin: 0 0 var(--rdz-space-4); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-h1); line-height: var(--rdz-lh-h1); color: var(--rdz-dark); }
#product-category:has(.buttons) #content > p { margin: 0 0 var(--rdz-space-6); font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }
#product-category:has(.buttons) #content > p:empty { display: none; }
#product-category:has(.buttons) #content > p a { color: var(--rdz-dark); text-decoration: underline; }
#product-category:has(.buttons) .buttons { display: flex; justify-content: flex-start; margin: 0 0 var(--rdz-space-8); }
/* tlacitko zpet je prazdne - sablona v nem ma PHP misto twigu, takze nema popisek */
#product-category:has(.buttons) .buttons .pull-left { display: none; }
/* u cekajici platby a u prazdneho kosiku sablona druhe tlacitko nevykresli - at nezbyde mezera */
#product-category:has(.buttons) .buttons:not(:has(.pull-right)) { display: none; }
#product-category:has(.buttons) .buttons .pull-right { float: none; }
#product-category:has(.buttons) .buttons .btn-primary {
	display: inline-flex; align-items: center; justify-content: center;
	height: 49px; padding: 0 var(--rdz-space-5);
	background: var(--rdz-dark); border: 1.5px solid var(--rdz-dark); border-radius: var(--rdz-radius-sm);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: 1;
	color: var(--rdz-white); text-shadow: none; box-shadow: none;
}
#product-category:has(.buttons) .buttons .btn-primary:hover,
#product-category:has(.buttons) .buttons .btn-primary:focus,
#product-category:has(.buttons) .buttons .btn-primary:active {
	background: var(--rdz-dark) !important; border-color: var(--rdz-dark) !important;
	color: var(--rdz-gray); box-shadow: none;
}

/* produkty bez recenzi: prazdne hvezdicky ani pocet recenzi nezobrazovat.
   Rating je prumer pres schvalene recenze s hodnocenim 1-5, takze 0 nastane jen kdyz zadna neni.
   Az se recenze naimportuji, hvezdicky naskoci samy. */
.rdz-pcard__stars[style*="--rdz-r:0"]:not([style*="--rdz-r:0."]) { display: none; }
/* horni radek karty ma space-between, po skryti hvezdicek by ikony spadly doleva */
.rdz-pcard__top:has(.rdz-pcard__stars[style*="--rdz-r:0"]:not([style*="--rdz-r:0."])) { justify-content: flex-end; }
/* detail produktu resi hvezdicky i pocet primo sablona (podminka na rating), aby zustala
   pozvanka "Napsat recenzi". Tady uz jen hlaska v zalozce, ze recenze nejsou. */
#product-product .rdz-review__empty { display: none; }
/* porovnani vyrobku: bunka bez hodnoceni zustava prazdna. Sablonu sem nedelame - compare.twig
   dedime z default a sedi na nej globy category_quick_options i smart_plus, ktere pri chybejici
   kotve abortuji. visibility misto display, at drzi mrizka tabulky. */
#product-compare td.rating:not(:has(.fa-star)) { visibility: hidden; }

/* ====== rychlost vyroby vysivky (dle navrhu Figma) ====== */
#rdz-emb-speed .rdz-emb-speed__head { display: flex; flex-direction: column; gap: var(--rdz-space-1); margin-bottom: 15px; }
#rdz-emb-speed .rdz-emb-speed__title {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 39px; line-height: 45px; color: var(--rdz-dark);
}
#rdz-emb-speed .rdz-emb-speed__desc {
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med);
	font-size: 16px; line-height: 24px; color: var(--rdz-black-60);
}
#rdz-emb-speed .rdz-emb-speedcard {
	position: relative; display: flex; flex-direction: column; gap: 15px;
	width: 100%; margin: 0 0 15px; padding: 30px;
	background: var(--rdz-offwhite); border: 1px solid transparent; border-radius: 10px;
	cursor: pointer; box-sizing: border-box; transition: border-color .15s ease, background-color .15s ease;
}
#rdz-emb-speed .rdz-emb-speedcard:hover { border-color: var(--rdz-gray); }
#rdz-emb-speed .rdz-emb-speedcard > input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; margin: 0; }
/* kolecko sedi v prvnim radku vedle ikony (hlavicka ma vysku 50px) */
#rdz-emb-speed .rdz-emb-speedcard::before {
	content: ''; position: absolute; left: 30px; top: 55px; transform: translateY(-50%);
	width: 25px; height: 25px; border-radius: 50%; background: var(--rdz-white);
	border: 1.5px solid var(--rdz-gray); box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}
#rdz-emb-speed .rdz-emb-speedcard:has(> input:checked) { background: var(--rdz-white); border-color: var(--rdz-green); }
#rdz-emb-speed .rdz-emb-speedcard:has(> input:checked)::before {
	border-color: var(--rdz-green); background: radial-gradient(circle at 50% 50%, var(--rdz-green) 0 5.5px, var(--rdz-white) 5.5px 100%);
}
/* hlavicka: kolecko (25) + mezera (20) => obsah zacina na 45px */
#rdz-emb-speed .rdz-emb-speedcard__top { display: flex; align-items: center; gap: 20px; padding-left: 45px; min-height: 50px; }
#rdz-emb-speed .rdz-emb-speedcard__icon { width: 45px; height: 50px; flex: 0 0 45px; display: block; object-fit: contain; }
#rdz-emb-speed .rdz-emb-speedcard__name {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 25px; line-height: 32px; color: var(--rdz-dark);
}
/* badge je v navrhu vycentrovany v bloku sirokem 264px, ktery zacina 10px od okraje obsahu */
#rdz-emb-speed .rdz-emb-speedcard__badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 66px; height: 30px; margin: 0 0 0 109px; padding: 0;
	background: var(--rdz-cream); border-radius: 100px; color: var(--rdz-black);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px; line-height: 1;
}
#rdz-emb-speed .rdz-emb-speedcard__badge--free { background: var(--rdz-green); color: var(--rdz-white); }
/* oddelovac je v navrhu kratsi nez karta (283,5px) */
#rdz-emb-speed .rdz-emb-speedcard__term {
	position: relative; display: flex; align-items: center; gap: 17px;
	margin-top: 0; padding-top: 17px; border-top: 0;
}
#rdz-emb-speed .rdz-emb-speedcard__term::before {
	content: ''; position: absolute; top: 0; left: 0; width: 283.5px; max-width: 100%; height: 2px;
	background: var(--rdz-gray-light);
}
#rdz-emb-speed .rdz-emb-speedcard__termicon { width: 35px; height: 39px; flex: 0 0 35px; display: block; object-fit: contain; }
#rdz-emb-speed .rdz-emb-speedcard__termtext { display: flex; flex-direction: column; }
#rdz-emb-speed .rdz-emb-speedcard__termlabel {
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med);
	font-size: 16px; line-height: 24px; color: var(--rdz-black-60);
}
#rdz-emb-speed .rdz-emb-speedcard__termvalue {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 25px; line-height: 32px; color: var(--rdz-dark);
}
#rdz-emb-speed .rdz-emb-speedcard:has(> input:checked) .rdz-emb-speedcard__termvalue { color: var(--rdz-green); }
#rdz-emb-speed .rdz-emb-speedcard__note {
	display: block; margin: 0;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med);
	font-size: 16px; line-height: 24px; color: var(--rdz-black-60);
}
#rdz-emb-speed .rdz-emb-speed__foot {
	margin-top: 15px;
	font-family: var(--rdz-font-body); font-size: 13px; line-height: 1.45; color: var(--rdz-black-60);
}

/* zavreny panel si drzi krem pozadi (otevreny splyva se strankou dle navrhu) */
#rdz-embroidery-section.rdz-emb--collapsed {
	background: var(--rdz-cream);
	padding: 0;
}

/* informacni pruhy v konfiguratoru (nit z dilny, standardni doba vyroby) - dle navrhu */
#rdz-embroidery-section .rdz-emb-infobar {
	display: flex; align-items: center; justify-content: center; gap: 13px;
	padding: 23px 34px; margin: 0 0 15px;
	background: var(--rdz-cream); border-radius: 10px; box-sizing: border-box;
}
#rdz-embroidery-section .rdz-emb-infobar--stacked { align-items: center; }
#rdz-embroidery-section .rdz-emb-infobar__icon { width: 45px; height: 45px; flex: 0 0 45px; display: block; }
/* text ma v navrhu jeste vlastni px-10 vedle mezery 13px od ikony */
#rdz-embroidery-section .rdz-emb-infobar__text {
	display: flex; flex-direction: column; gap: 13px; padding: 0 10px;
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med);
	font-size: 16px; line-height: 24px; color: var(--rdz-black);
}
#rdz-embroidery-section .rdz-emb-infobar__title {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 25px; line-height: 32px; color: var(--rdz-black);
}
#rdz-embroidery-section .rdz-emb-infobar__note {
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg);
	font-size: 14px; line-height: 1.4; color: var(--rdz-black-60);
}

/* hlavicka sekce rychlosti ma vlastni ikonu */
#rdz-emb-speed .rdz-emb-speed__head { flex-direction: row; align-items: center; gap: 15px; padding: 10px 0; margin-bottom: 15px; }
#rdz-emb-speed .rdz-emb-speed__icon { width: 70px; height: 70px; flex: 0 0 70px; display: block; }
#rdz-emb-speed .rdz-emb-speed__headtext { display: flex; flex-direction: column; gap: 15px; }

/* posledni info pruh (Uvedene casy...) - mensi nadpis nez u standardni doby vyroby */
#rdz-embroidery-section .rdz-emb-infobar--note .rdz-emb-infobar__text { gap: 10px; }
#rdz-embroidery-section .rdz-emb-infobar__subtitle {
	font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med);
	font-size: 20px; line-height: 1.3; color: var(--rdz-black);
}

/* Volba "Rychlost vyroby" prenesena do sekce: nadpis uz nese sekce sama
   a spany uvnitr karet dedi v teto sablone vzhled pilulek - resetujeme je. */
#rdz-emb-speed .rdz-emb-speedlist > .control-label { display: none; }
#rdz-emb-speed .rdz-emb-speedlist .radio-type-button { display: block; width: 100%; margin: 0 !important; }
#rdz-emb-speed .rdz-emb-speedcard span {
	width: auto; max-width: 100%; height: auto; min-height: 0;
	background: none; border: 0; box-shadow: none; padding: 0; margin: 0;
	white-space: normal; text-transform: none; overflow: visible;
}
#rdz-emb-speed .rdz-emb-speedcard > .rdz-emb-speedcard__badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 66px; height: 30px; margin: 0 0 0 109px;
	background: var(--rdz-cream); border-radius: 100px; color: var(--rdz-black);
	font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: 12px; line-height: 1;
}
#rdz-emb-speed .rdz-emb-speedcard > .rdz-emb-speedcard__badge--free { background: var(--rdz-green); color: var(--rdz-white); }
#rdz-emb-speed .rdz-emb-speedcard > .rdz-emb-speedcard__top { display: flex; align-items: center; gap: 20px; padding-left: 45px; min-height: 50px; }
#rdz-emb-speed .rdz-emb-speedcard > .rdz-emb-speedcard__term { display: flex; align-items: center; gap: 17px; padding-top: 17px; }
#rdz-emb-speed .rdz-emb-speedcard .rdz-emb-speedcard__termtext { display: flex; flex-direction: column; }
#rdz-emb-speed .rdz-emb-speedcard > .rdz-emb-speedcard__note { display: block; }
#rdz-emb-speed .rdz-emb-speedcard, #rdz-emb-speed .rdz-emb-speedcard span { text-align: left; }

/* Filtry s vice hodnotami (Barva, Velikost dětského županu…) se orezavaly bez moznosti
   scrollovat: profi_filter.css nastavuje `.profi-filter .checkbox-block { overflow: hidden }`,
   nacita se az za custom.css a shorthand prebije nase overflow-y. Zdvojena trida zvysuje
   specificitu, aby scroll zustal - uprava modulu by se prepsala pri jeho aktualizaci. */
.rdz-fdd .checkbox-block.checkbox-block {
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
}

/* =========================================================================
   Darkova sekce /darky (task 2097) - landing page + product page in gift mode.
   Figma darkova_sekce 5546:4603, detail_darku 5628:5298. docs/darkova-sekce.md
   ========================================================================= */
.rdz-darky, .rdz-darky * { box-sizing: border-box; }
.rdz-darky-h { text-align: center; margin: 0 0 var(--rdz-space-6); }

/* hero: photo, light cream veil from the left, text on the left */
.rdz-darky-hero { position: relative; overflow: hidden; height: 400px; margin: var(--rdz-space-4) 0 var(--rdz-space-7); border-radius: var(--rdz-radius-sm); background: var(--rdz-cream); }
.rdz-darky-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.rdz-darky-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,242,231,.85) 0%, rgba(255,242,231,.7) 36%, rgba(255,242,231,0) 62%); }
.rdz-darky-hero__body { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: 15px; padding: 40px 52px; max-width: 640px; }
.rdz-darky-hero__title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: clamp(34px, 3.9vw, 56px); line-height: 1.15; color: #634520; }
.rdz-darky-hero__lead { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: #7D613F; }
.rdz-darky-hero__usp { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px 40px; }
.rdz-darky-hero__usp li { display: flex; align-items: center; gap: 10px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); color: #7D613F; }
.rdz-darky-hero__usp img { width: 36px; height: 40px; object-fit: contain; }

/* "Komu chcete udelat radost?" tiles */
.rdz-darky-tabs { margin-bottom: var(--rdz-space-7); }
.rdz-darky-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rdz-darky-tile { position: relative; display: block; height: 280px; overflow: hidden; border-radius: var(--rdz-radius-sm); background: var(--rdz-dark); text-decoration: none; }
.rdz-darky-tile__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.rdz-darky-tile:hover .rdz-darky-tile__img { transform: scale(1.03); }
.rdz-darky-tile__body { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 20px; padding: 20px; }
.rdz-darky-tile__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h1); line-height: 1.15; color: var(--rdz-offwhite); }

/* tab page (/darkove-sady/pro-ni): shorter hero with the tile photo, a switch to the other tabs, the listing */
.rdz-darky-hero--tab { height: 300px; margin-bottom: var(--rdz-space-5); }
.rdz-darky-hero--tab .rdz-darky-hero__shade { background: linear-gradient(90deg, rgba(31,31,31,.55) 0%, rgba(31,31,31,.3) 40%, rgba(31,31,31,0) 70%); }
.rdz-darky-hero--tab .rdz-darky-hero__title { color: var(--rdz-yellow); }
.rdz-darky-hero--tab .rdz-darky-hero__lead { color: var(--rdz-white); }
.rdz-darky-switch { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: var(--rdz-space-6); }
.rdz-darky-switch__item { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 20px; border: 1.5px solid var(--rdz-gray); border-radius: var(--rdz-radius-sm); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); text-decoration: none; background: var(--rdz-white); }
.rdz-darky-switch__item:hover { border-color: var(--rdz-dark); color: var(--rdz-dark); text-decoration: none; }
.rdz-darky-switch__item.is-active { background: var(--rdz-dark); border-color: var(--rdz-dark); color: var(--rdz-white); }
.rdz-darky-list { margin-bottom: var(--rdz-space-7); }
.rdz-darky-empty { text-align: center; color: var(--rdz-black-60); }
.rdz-darky-grid { display: grid; gap: 20px; }
.rdz-darky-grid--3 { grid-template-columns: repeat(3, 1fr); }
.rdz-darky-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* gift card - same family as .rdz-pcard, without the cart form */
.rdz-gcard { display: flex; flex-direction: column; background: var(--rdz-offwhite); border-radius: var(--rdz-radius-sm); overflow: hidden; }
.rdz-gcard__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--rdz-white); }
.rdz-gcard__img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
/* "Darek s vysivkou" pill follows the product label design (Figma 5981:4818
   "Stitky", node 6105:4838): 25 px off-white pill, Inter Medium 10 px, gift
   icon on the left drawn via mask so it takes the text colour. */
.rdz-gcard__badge { position: absolute; left: 12px; top: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; height: 25px; padding: 0 15px; border-radius: var(--rdz-radius-pill); background: var(--rdz-offwhite); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: 10px; line-height: 1; color: var(--rdz-dark); white-space: nowrap; }
.rdz-gcard__badge::before { content: ""; flex: 0 0 auto; width: 13px; height: 13px; background: currentColor; -webkit-mask: url(../image/rdz-label-gift.svg) center / contain no-repeat; mask: url(../image/rdz-label-gift.svg) center / contain no-repeat; }
.rdz-gcard__body { flex: 1 0 auto; display: flex; flex-direction: column; gap: var(--rdz-space-5); padding: var(--rdz-space-6) 20px 20px; }
.rdz-gcard__name { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 1.28; color: var(--rdz-dark); }
.rdz-gcard__name a { color: inherit; text-decoration: none; }
.rdz-gcard__sub { display: block; margin-top: 6px; font-family: var(--rdz-font-body); font-style: normal; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.4; color: var(--rdz-black-60); }
.rdz-gcard__colors { display: block; margin-top: 4px; font-family: var(--rdz-font-body); font-style: normal; font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); line-height: 1.4; color: var(--rdz-black-60); }
.rdz-gcard__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rdz-gcard__price { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); color: var(--rdz-black); white-space: nowrap; }

/* sauna banner */
.rdz-darky-sauna { position: relative; overflow: hidden; height: 350px; margin-bottom: var(--rdz-space-7); border-radius: var(--rdz-radius-sm); background: var(--rdz-dark); }
.rdz-darky-sauna__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 70%; }
.rdz-darky-sauna__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.25) 35%, rgba(0,0,0,0) 65%); }
.rdz-darky-sauna__body { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 15px; padding: 50px; max-width: 560px; }
.rdz-darky-sauna__title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: clamp(34px, 3.9vw, 56px); line-height: 1.15; color: var(--rdz-yellow); }
.rdz-darky-sauna__lead { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-offwhite); }

/* rituals banner - light twin of the sauna banner: off-white fade from the left over the photo */
.rdz-darky-rituals { position: relative; overflow: hidden; height: 350px; margin-bottom: var(--rdz-space-7); border-radius: var(--rdz-radius-sm); background: var(--rdz-offwhite); }
.rdz-darky-rituals__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.rdz-darky-rituals__shade { position: absolute; inset: 0; background: linear-gradient(90deg, var(--rdz-offwhite) 0%, rgba(250,250,250,0) 60%); }
.rdz-darky-rituals__body { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 15px; padding: 50px; max-width: 620px; }
.rdz-darky-rituals__title { margin: 0; max-width: 7.5em; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: clamp(34px, 3.9vw, 56px); line-height: 1.15; color: var(--rdz-dark); }
.rdz-darky-rituals__lead { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }

/* popular + how it works */
.rdz-darky-popular { margin-bottom: var(--rdz-space-7); }
.rdz-darky-how { padding: var(--rdz-space-6) 0 var(--rdz-space-7); }
.rdz-darky-steps { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 35px; padding: 0 20px; }
.rdz-darky-step { display: flex; align-items: center; gap: 16px; }
.rdz-darky-step__ico { flex: 0 0 auto; width: 71px; height: 68px; object-fit: contain; }
.rdz-darky-step__title { margin: 0 0 8px; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 1.28; color: #0D003B; }
.rdz-darky-step__desc { margin: 0; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); color: var(--rdz-black-60); }

@media (max-width: 991px) {
  .rdz-darky-tiles, .rdz-darky-grid--3, .rdz-darky-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .rdz-darky-steps { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
  .rdz-darky-hero { height: auto; min-height: 420px; }
  .rdz-darky-hero--tab { min-height: 260px; }
  .rdz-darky-hero--tab .rdz-darky-hero__shade { background: linear-gradient(180deg, rgba(31,31,31,.6) 0%, rgba(31,31,31,.35) 60%, rgba(31,31,31,.1) 100%); }
  .rdz-darky-hero__shade { background: linear-gradient(180deg, rgba(255,242,231,.9) 0%, rgba(255,242,231,.75) 45%, rgba(255,242,231,.2) 100%); }
  .rdz-darky-hero__body { position: relative; padding: var(--rdz-space-6) var(--rdz-space-4); max-width: none; }
  .rdz-darky-hero__usp { flex-direction: column; gap: 12px; }
  .rdz-darky-tiles { grid-template-columns: 1fr; }
  .rdz-darky-tile { height: 220px; }
  .rdz-darky-grid--3, .rdz-darky-grid--4 { grid-template-columns: 1fr; }
  .rdz-darky-sauna { height: auto; min-height: 380px; }
  .rdz-darky-sauna__shade { background: linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.3) 60%, rgba(0,0,0,.1) 100%); }
  .rdz-darky-sauna__body { position: relative; padding: var(--rdz-space-6) var(--rdz-space-4); max-width: none; }
  /* phone: the box photo on top, the text below it on off-white */
  .rdz-darky-rituals { height: auto; display: flex; flex-direction: column; }
  .rdz-darky-rituals picture { display: block; }
  .rdz-darky-rituals__img { position: static; height: auto; aspect-ratio: 10 / 7; }
  .rdz-darky-rituals__shade { display: none; }
  .rdz-darky-rituals__body { position: relative; padding: var(--rdz-space-5) var(--rdz-space-4) var(--rdz-space-6); max-width: none; }
  .rdz-gcard__foot { flex-direction: column; align-items: flex-start; }
}

/* ---- product page in gift mode ------------------------------------------ */
.rdz-gift { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: var(--rdz-space-4); }
.rdz-gift__badge { display: inline-block; padding: 8px 12px; border-radius: 12px; background: var(--rdz-yellow); font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-dark); }
#product-product .rdz-gift__title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h1); line-height: 1.15; color: var(--rdz-dark); }
.rdz-gift__subtitle { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 1.28; color: var(--rdz-dark); }

.rdz-gift-price { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 30px; padding: 20px; margin: 0 0 var(--rdz-space-5); border-radius: var(--rdz-radius-panel); background: var(--rdz-offwhite); }
.rdz-gift-price__from { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 1.28; color: var(--rdz-black); }
.rdz-gift-price__note { font-family: var(--rdz-font-body); font-size: var(--rdz-fs-sm); color: var(--rdz-black-60); }

/* numbered steps */
.rdz-gift-step { display: flex; align-items: center; gap: 10px; margin: var(--rdz-space-5) 0 var(--rdz-space-4); }
.rdz-gift-step__num { flex: 0 0 45px; display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; border-radius: 50%; background: var(--rdz-cream); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); color: var(--rdz-black); }
.rdz-gift-step__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: 1.28; color: var(--rdz-dark); }
.rdz-gift-col #product > hr { display: none; }

/* colour variants = sibling gifts */
.rdz-gift-colors__list { display: flex; flex-wrap: wrap; gap: 10px; }
.rdz-gift-colors__item { display: block; width: 42px; height: 42px; padding: 2px; border: 1.5px solid var(--rdz-gray); border-radius: 50%; overflow: hidden; background: var(--rdz-white); }
.rdz-gift-colors__item img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.rdz-gift-colors__item.is-active { border-color: var(--rdz-dark); border-width: 2px; }

/* embroidery section: step 2 badge; required mode hides the toggle */
.rdz-gift-col #rdz-embroidery-section { position: relative; }
.rdz-gift-col #rdz-embroidery-section .rdz-emb-header { display: flex; align-items: center; gap: 10px; }
.rdz-gift-col #rdz-embroidery-section .rdz-emb-header::before { content: '2'; flex: 0 0 45px; display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; border-radius: 50%; background: var(--rdz-cream); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); color: var(--rdz-black); }
/* required embroidery: no on/off toggle, the header just states it */
.rdz-gift-col--emb-1 .rdz-emb-toggle, .rdz-gift-col--emb-1 .rdz-emb-toggle-hint { display: none; }
.rdz-gift-col--emb-1 #rdz-embroidery-section .rdz-emb-header::after { content: 'Výšivka je součástí dárku'; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); line-height: 1.3; color: var(--rdz-black); }
.rdz-gift-col--emb-1 #rdz-embroidery-section .rdz-emb-header { justify-content: flex-start; gap: 10px; }

/* gift cards */
.rdz-gift-cards { margin-top: var(--rdz-space-5); }
.rdz-gift-cards__lead { margin: -8px 0 12px; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); }
.rdz-gift-cards__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.rdz-gift-cards__extra { margin-top: 20px; }
.rdz-gift-cards__extra[hidden] { display: none; }  /* display: grid above would beat the hidden attribute */
.rdz-gift-card__input { position: absolute; opacity: 0; width: 0; height: 0; }
.rdz-gift-card { position: relative; display: flex; flex-direction: column; margin: 0; cursor: pointer; border: 1.5px solid transparent; border-radius: var(--rdz-radius-sm); overflow: hidden; background: var(--rdz-offwhite); font-weight: var(--rdz-fw-reg); }
.rdz-gift-card img { width: 100%; aspect-ratio: 198 / 140; object-fit: cover; display: block; }
.rdz-gift-card::before { content: ''; position: absolute; left: 10px; top: 10px; width: 14px; height: 14px; border-radius: 50%; background: var(--rdz-white); box-shadow: 0 0 0 1px var(--rdz-gray); }
.rdz-gift-card__input:checked + .rdz-gift-card { border-color: var(--rdz-yellow); box-shadow: 0 0 0 1px var(--rdz-yellow); }
.rdz-gift-card__input:checked + .rdz-gift-card::before { background: radial-gradient(circle, var(--rdz-yellow) 0 4px, var(--rdz-white) 4.5px); }
.rdz-gift-card__input:focus-visible + .rdz-gift-card { outline: 2px solid var(--rdz-dark); }
/* the card is the photo alone; the name stays in the DOM for the recap and screen readers */
.rdz-gift-card__name { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.rdz-gift-card__zoom { position: absolute; right: 8px; top: 8px; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.9); color: var(--rdz-dark); box-shadow: 0 1px 3px rgba(0,0,0,.2); }
.rdz-gift-card__zoom svg { width: 14px; height: 14px; }
.rdz-gift-card__zoom:hover { background: var(--rdz-dark); color: var(--rdz-white); }
.rdz-gift-card__price { padding: 6px 10px 8px; font-family: var(--rdz-font-body); font-size: 12px; color: var(--rdz-black-60); }
.rdz-gift-cards__more { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 140px; padding: 14px; border: 1px dashed var(--rdz-gray); border-radius: var(--rdz-radius-sm); background: var(--rdz-white); cursor: pointer; text-align: center; }
.rdz-gift-cards__more:hover, .rdz-gift-cards__more.is-open { border-color: var(--rdz-dark); }
.rdz-gift-cards__more-title { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); }
.rdz-gift-cards__more-sub { font-family: var(--rdz-font-body); font-size: 12px; color: var(--rdz-black-60); }

/* "Co bude uvnitr krabice?" under the gallery */
.rdz-gift-box { position: relative; display: flex; align-items: stretch; margin-top: var(--rdz-space-5); min-height: 180px; border-radius: var(--rdz-radius-sm); overflow: hidden; background: var(--rdz-cream); }
.rdz-gift-box__txt { flex: 1 1 62%; min-width: 0; display: flex; flex-direction: column; padding: 20px 8px 20px 24px; z-index: 1; }
.rdz-gift-box__title { margin: 0 0 12px; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h4); color: var(--rdz-black); }
#product-product .rdz-gift-box__title { color: var(--rdz-black); }
/* the four items stay on one row as long as they fit; each takes an equal share and shrinks first */
/* the row of items is centred in the space left under the title */
.rdz-gift-box__items { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; }
.rdz-gift-box__items li { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; font-family: var(--rdz-font-body); font-size: 11px; line-height: 1.4; color: var(--rdz-black-60); }
.rdz-gift-box__ico { width: 44px; height: 34px; background: center / contain no-repeat; }
.rdz-gift-box__ico--zupan { background-image: url('../image/darky/detail-box-icon-zupan.svg'); }
.rdz-gift-box__ico--karticka { background-image: url('../image/darky/detail-box-icon-karticka.svg'); }
.rdz-gift-box__ico--krabice { background-image: url('../image/darky/detail-box-icon-krabice.svg'); }
.rdz-gift-box__ico--papir { background-image: url('../image/darky/detail-box-icon-papir-1.svg'), url('../image/darky/detail-box-icon-papir-2.svg'), url('../image/darky/detail-box-icon-papir-3.svg'); background-size: 16px, 15px, 11px; background-position: left 4px top 2px, right 6px top 6px, center bottom 2px; }
.rdz-gift-box__photo { flex: 0 1 38%; width: 38%; min-width: 0; object-fit: cover; object-position: center; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%); mask-image: linear-gradient(90deg, transparent 0, #000 40%); }

/* recap "Vase darkove baleni" */
.rdz-gift-recap { padding: var(--rdz-space-7) 0; border-top: 1px solid var(--rdz-gray); margin-top: var(--rdz-space-6); }
.rdz-gift-recap__h { text-align: center; margin-bottom: 35px; font-size: var(--rdz-fs-h3); }
.rdz-gift-recap__box { max-width: 900px; margin: 0 auto; background: var(--rdz-white); border: 1px solid var(--rdz-gray-light); border-radius: var(--rdz-radius-panel); padding: 30px; }
.rdz-gift-recap__sec { padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--rdz-gray-light); }
.rdz-gift-recap__head { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; }
.rdz-gift-recap__title { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); color: var(--rdz-dark); }
.rdz-gift-recap__row { display: flex; justify-content: space-between; gap: 20px; padding: 0 56px; margin-bottom: 12px; font-family: var(--rdz-font-body); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
.rdz-gift-recap__row span { color: var(--rdz-black-60); font-weight: var(--rdz-fw-med); }
.rdz-gift-recap__row strong { color: var(--rdz-dark); font-weight: var(--rdz-fw-semi); text-align: right; }
.rdz-gift-recap__foot { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; padding-top: 10px; }
.rdz-gift-recap__total { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); color: var(--rdz-black); }
.rdz-gift-recap__net { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); }

@media (max-width: 767px) {
  .rdz-gift-box { flex-direction: column; }
  .rdz-gift-box__photo { width: 100%; flex-basis: 160px; height: 160px; -webkit-mask-image: none; mask-image: none; }
  .rdz-gift-recap__box { padding: 20px 16px; }
  .rdz-gift-recap__row { padding: 0; flex-direction: column; gap: 2px; }
  .rdz-gift-recap__row strong { text-align: left; }
}
/* legacy stylesheet.css paints every h2 on the product page gold */
#product-product .rdz-darky-h, #product-product .rdz-gift-recap__h { color: var(--rdz-dark); }

/* Gift mode buy-box: the normal buy-box is a 2-column grid with fixed rows
   (size | stock, price | cart); the gift flow is one column of numbered steps,
   so the panel switches to a flex column and orders its pieces explicitly.
   Selectors carry #product on purpose - the catch-all below has two ids. */
/* no grey panel around the steps (Figma detail_darku): the price box is the only filled block */
#product-product .rdz-gift-col .rdz-buybox { display: flex; flex-direction: column; align-items: stretch; gap: 16px; padding: 0; margin-top: var(--rdz-space-4); background: none; border-radius: 0; }
#product-product .rdz-gift-col .rdz-buybox::before { display: none; }
#product-product .rdz-gift-col .rdz-buybox > #product > * { order: 7; }
#product-product .rdz-gift-col .rdz-buybox__stock { order: 1; text-align: left; justify-self: start; }
#product-product .rdz-gift-col .rdz-buybox__divider { order: 2; }
#product-product .rdz-gift-col .rdz-gift-price { order: 3; margin: 0; background: var(--rdz-offwhite); }
#product-product .rdz-gift-col #product .rdz-gift-step--1 { order: 4; margin: 8px 0 0; }
#product-product .rdz-gift-col #product .rdz-gift-colors { order: 5; margin: 0; }
#product-product .rdz-gift-col #product .rdz-buybox__sizefg { order: 6; margin: 0; align-self: stretch; }  /* the grid rule centres it */
#product-product .rdz-gift-col #product #rdz-embroidery-section { order: 8; margin: 8px 0 0; }
#product-product .rdz-gift-col #product .rdz-gift-cards { order: 9; margin: 0; }
#product-product .rdz-gift-col #product .rdz-buybox__cartfg { order: 10; justify-content: flex-end; justify-self: end; }
#product-product .rdz-gift-col .rdz-buybox__size-label,
#product-product .rdz-gift-col .rdz-gift-colors > .control-label { position: static; width: auto; height: auto; margin: 0 0 8px; padding: 0; overflow: visible; clip: auto; display: block; font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-body); color: var(--rdz-black-60); }
#product-product .rdz-gift-col .rdz-buybox__sizerow { display: flex; align-items: center; gap: 25px; flex-wrap: wrap; }
/* step 2 header as the cream "Přidat výšivku" box from the design; the configurator below it sits on white */
#product-product .rdz-gift-col #product #rdz-embroidery-section { background: none; padding: 0; }
#product-product .rdz-gift-col #product #rdz-embroidery-section .rdz-emb-header { background: var(--rdz-cream); border-radius: 10px; padding: 12px 20px 12px 12px; margin-bottom: var(--rdz-space-4); }
/* step content indented to the step title (circle 45px + 10px gap), as in the design */
#product-product .rdz-gift-col #product .rdz-gift-colors,
#product-product .rdz-gift-col #product .rdz-buybox__sizefg,
#product-product .rdz-gift-col #product .rdz-gift-cards > :not(.rdz-gift-step) { padding-left: 55px; }
@media (max-width: 767px) {
  #product-product .rdz-gift-col #product .rdz-gift-colors,
  #product-product .rdz-gift-col #product .rdz-buybox__sizefg,
  #product-product .rdz-gift-col #product .rdz-gift-cards > :not(.rdz-gift-step) { padding-left: 0; }
}

/* product page: the gallery sticks while the right column scrolls (options,
   embroidery configurator, gift steps). The Bootstrap row becomes a flex row so
   the left column stretches to the right column's height - a floated column
   would be only as tall as the photos and there would be nothing to stick
   along. A gallery taller than the viewport is moved by rdz_sticky_media.js. */
#product-product .rdz-media-row { display: flex; flex-wrap: wrap; align-items: stretch; }
#product-product .rdz-media-row::before, #product-product .rdz-media-row::after { display: none; }
#product-product .rdz-media-row > [class*="col-"] { float: none; }
.rdz-sticky-media { position: sticky; top: var(--rdz-space-5); }
@media (max-width: 767px) { .rdz-sticky-media { position: static; } }
/* gift detail: the embroidery sub-steps (1-4 inside step 2) get navy numbers, so they read as
   a nested level under the cream main numbering */
#product-product .rdz-gift-col #rdz-embroidery-section .rdz-emb-step__num { background: var(--rdz-dark); color: var(--rdz-white); }
/* gift detail, embroidery collapsed (optional embroidery on kilts): the hover
   cue belongs on the cream header, not on the section frame around it */
#product-product .rdz-gift-col #product #rdz-embroidery-section.rdz-emb--collapsed { padding-bottom: 0; }
#product-product .rdz-gift-col #product #rdz-embroidery-section.rdz-emb--collapsed:hover { border-color: transparent; }
#product-product .rdz-gift-col #product #rdz-embroidery-section.rdz-emb--collapsed .rdz-emb-header { margin-bottom: 0; }
#product-product .rdz-gift-col #product #rdz-embroidery-section.rdz-emb--collapsed:hover .rdz-emb-header { box-shadow: inset 0 0 0 1.5px var(--rdz-black-60); }

/* Review tiles in the category grid (event rdz_reviews_category, first page only).
   Heureka = navy tile, Zbozi = light tile with the logo on cream. Figma kategorie
   49:984 / 49:1103, mobile 216:15848. */
.rdz-rtile { display: flex; flex-direction: column; min-width: 0; border-radius: var(--rdz-radius-sm); overflow: hidden; font-family: var(--rdz-font-body); }
.rdz-rtile__author { display: block; font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); overflow-wrap: anywhere; }
.rdz-rtile__stars { font-size: 16px; }
/* the pool holds long reviews too; the tile must not outgrow the product cards in its row */
.rdz-rtile__text { margin: 0; font-size: var(--rdz-fs-sm); line-height: 1.4; white-space: pre-line; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6; overflow: hidden; }
.rdz-rtile__pros { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--rdz-space-3); }
.rdz-rtile__pros li { position: relative; display: flex; align-items: center; min-height: 24px; padding-left: 32px; font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); line-height: 1.2; }
.rdz-rtile__pros li::before { content: ""; position: absolute; left: 0; top: 50%; width: 24px; height: 24px; margin-top: -12px; box-sizing: border-box; border: 1.5px solid var(--rdz-gray); border-radius: 50%; background: var(--rdz-white); }
.rdz-rtile__pros li::after {
	content: ""; position: absolute; left: 3px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: var(--rdz-green);
	-webkit-mask: url(../image/rdz-ico-plus.svg) center / 18px 18px no-repeat; mask: url(../image/rdz-ico-plus.svg) center / 18px 18px no-repeat;
}

/* Heureka tile, Figma LU1h5qYn317dmNOnzoyJBG 49:984: light, navy text, everything centred */
.rdz-rtile--heureka { justify-content: center; gap: var(--rdz-space-7); padding: 20px; background: var(--rdz-sky); color: var(--rdz-dark); }
.rdz-rtile--heureka .rdz-rtile__head { display: flex; flex-direction: column; align-items: center; gap: 30px; text-align: center; }
.rdz-rtile--heureka .rdz-rtile__badge { display: block; width: 192px; height: 192px; }
.rdz-rtile__title { margin: 0; font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); color: var(--rdz-dark); }
.rdz-rtile--heureka .rdz-rtile__body { display: flex; flex-direction: column; gap: var(--rdz-space-6); }
.rdz-rtile--heureka .rdz-rtile__review { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.rdz-rtile--heureka .rdz-rtile__who { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.rdz-rtile--heureka .rdz-rtile__author { font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
.rdz-rtile--heureka .rdz-rtile__stars { letter-spacing: 6px; margin-right: -6px; }
.rdz-rtile--heureka .rdz-rtile__text { color: var(--rdz-dark); }
.rdz-rtile--heureka .rdz-rtile__pros { align-items: center; }
.rdz-rtile--heureka .rdz-rtile__pros li { color: var(--rdz-dark); }
.rdz-rtile--heureka .rdz-rtile__pros li::before { border-color: var(--rdz-dark); }
.rdz-rtile--heureka .rdz-rtile__pros li::after { background: var(--rdz-dark); }

.rdz-rtile--zbozi { background: var(--rdz-offwhite); color: var(--rdz-black); }
.rdz-rtile__brand { aspect-ratio: 1 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--rdz-space-4); background: var(--rdz-cream); }
.rdz-rtile__logo { display: block; width: 154px; height: 154px; border-radius: 50%; object-fit: cover; }
.rdz-rtile__score { display: inline-flex; align-items: center; gap: var(--rdz-space-2); font-family: var(--rdz-font-head); font-style: italic; font-weight: var(--rdz-fw-med); font-size: var(--rdz-fs-h3); line-height: var(--rdz-lh-h3); }
.rdz-rtile__score::before { content: "\2605"; font-family: var(--rdz-font-body); font-style: normal; font-size: 22px; line-height: 1; color: var(--rdz-yellow); }
.rdz-rtile--zbozi .rdz-rtile__body { flex: 1 0 auto; display: flex; flex-direction: column; gap: var(--rdz-space-6); padding: 42px 20px 20px; }
.rdz-rtile--zbozi .rdz-rtile__who { display: flex; flex-direction: column; gap: 2px; }
.rdz-rtile--zbozi .rdz-rtile__text,
.rdz-rtile--zbozi .rdz-rtile__pros li { color: var(--rdz-black-60); }

@media (max-width: 575px) {
	/* one column: the design puts the Heureka tile third, after two products */
	.rdz-cat-grid > .rdz-pcard:nth-child(-n+2) { order: -2; }
	.rdz-cat-grid > .rdz-rtile--heureka { order: -1; }

	/* mobile keeps the compact layout of 216:15848 (badge beside the title, left-aligned) in the light colours */
	.rdz-rtile--heureka { gap: 20px; }
	.rdz-rtile--heureka .rdz-rtile__head { flex-direction: row; gap: 20px; text-align: left; }
	.rdz-rtile--heureka .rdz-rtile__badge { width: 96px; height: 96px; flex: 0 0 96px; }
	.rdz-rtile--heureka .rdz-rtile__body { gap: 20px; }
	.rdz-rtile--heureka .rdz-rtile__review { align-items: flex-start; text-align: left; }
	.rdz-rtile--heureka .rdz-rtile__who { align-items: flex-start; gap: 0; }
	.rdz-rtile--heureka .rdz-rtile__author { font-family: var(--rdz-font-body); font-style: normal; font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-body); line-height: var(--rdz-lh-body); }
	.rdz-rtile--heureka .rdz-rtile__stars { letter-spacing: 2px; margin-right: 0; }
	.rdz-rtile--heureka .rdz-rtile__pros { align-items: flex-start; }
}
