/* custom styly - redesign */

:root {
	/* barvy (Figma) */
	--rdz-dark: #101E4D;     /* dark_blue - nadpisy, tmave plochy, header/footer */
	--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-white: #FFFFFF;
	--rdz-xmas-bar-bg: #D09E1B; /* sezonni vanocni horni lista (port gtm) */
	--rdz-xmas-bar-fg: #fcfcfc;
	--rdz-gray: #C9C9C9;     /* blue_gray - borders, tlumeny text */
	--rdz-black: #000000;
	--rdz-green: #36814A;    /* skladem */
	--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 */

	/* 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;

	/* radkovani */
	--rdz-lh-h1: 45px;
	--rdz-lh-h3: 32px;
	--rdz-lh-body: 24px;
	--rdz-lh-tight: 1;       /* h2/h4/caption (Figma 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: 1160px;
	--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-md: 8px;
	--rdz-radius-lg: 16px;
	--rdz-radius-pill: 999px;
}

/* ====== 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; }

/* 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) ====== */
.rdz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 16px 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); }
}
/* 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: 56px 0; }
.rdz-usp__title { text-align: center; margin: 0 0 40px; text-wrap: balance; }

.rdz-usp__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
/* bez trust stripu: 4 karty v rade (jen lg, a niz uz plati tablet/mobil tiery) */
@media (min-width: 1200px) { .rdz-usp--lean .rdz-usp__grid { grid-template-columns: repeat(4, 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); }

.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__title { text-align: left; 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 z figmy schovat, na mobilu se text slozi sam (+ balance) */
}

/* ====== rdz-situace (Vyberte si podle situace) - restyle dle figmy (Frame 7) ====== */
.rdz-situace { padding: 56px 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 (dle figmy) */
	.rdz-situace .rdz-head h2 { font-size: var(--rdz-fs-h2); line-height: 1.15; }
}

/* ====== rdz-rit (Rituály) - restyle dle figmy (Frame 4) ====== */
.rdz-rit { padding: 56px 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; }  /* dle figmy: 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 dle Figmy (node 110:1584) ====== */
/* 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 figma 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-semi); font-size: var(--rdz-fs-sm); line-height: 1; color: var(--rdz-blue); margin-bottom: var(--rdz-space-2); padding: 0 var(--rdz-space-1); }
#rdz-embroidery-preview { position: relative; width: 100%; height: 124px; border-radius: var(--rdz-radius-sm); overflow: hidden; background-color: #717171; background-size: cover; background-position: center; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--rdz-space-3); }
.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: 36px; line-height: 1.2; }
.rdz-emb-note-diacritic { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-semi); font-size: var(--rdz-fs-sm); color: var(--rdz-dark); margin-top: var(--rdz-space-3); line-height: 1.4; padding: 0 var(--rdz-space-1); }
.rdz-emb-note { font-family: var(--rdz-font-body); font-weight: var(--rdz-fw-reg); font-size: var(--rdz-fs-sm); color: var(--rdz-blue); margin-top: var(--rdz-space-3); line-height: 1.4; padding: 0 var(--rdz-space-1); }
@media (max-width: 767px) {
	#rdz-embroidery-preview { height: 110px; }
	.rdz-emb-text { font-size: 28px; }
	.rdz-emb-note-diacritic, .rdz-emb-note { font-size: 13px; }
}

/* 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 (1:1 figma); 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-cream); 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 (1:1 figma node 110:1584) ====== */
#rdz-embroidery-section {
	--rdz-emb-field-h: 42px;
	--rdz-emb-field-bd: 1.5px;
	background: var(--rdz-offwhite); border: 1.5px solid transparent; border-radius: 12px;
	padding: var(--rdz-space-4) var(--rdz-space-5) var(--rdz-space-5);
	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); 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-dark); }
.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-dark); 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; }
/* tablet/mobil: header stackuje - toggle nahore, hint pod nim vlevo (1:1 figma mobile; side-by-side se v uzkem sloupci lamal) */
@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 (1:1 figma hover) */
#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-blue); }
}

/* 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 (figma: 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 (1:1 figma) */
.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 (1:1 figma) - 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); }

/* ====== 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: figma = 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.).
   Figma to nekresli -> sjednoceno NASIM DS: 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). Figma vysivkovy badge nekresli, ale
   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 dostupnost barva (tag 187) -> figma green; subtitle (tag 219) -> outline pill (viz vyse) ====== */
.rdz-availability {
	--rdz-avail-instock: var(--rdz-green);  /* figma 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 (1:1 figma node 105:4806) */
#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).
   Figma tento detail nekresli (jediny detail = vysivkovy kilt), tak sjednoceno NASIM DS 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").
   Maly box figma nekresli (ma vlastni velkou sekci 4 karticek = jiny koncept, follow-up s assety),
   tak sjednoceno NASIM 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; }

/* sezonni vanocni horni lista (port gtm tag 181) - vzhled 1:1 */
.rdz-xmas-bar { background-color: var(--rdz-xmas-bar-bg); color: var(--rdz-xmas-bar-fg); font-family: var(--rdz-font-body); font-size: 14px; line-height: 1.4; padding: 8px 16px; text-align: center; position: relative; z-index: 9999; box-shadow: 0 2px 4px rgba(0,0,0,0.08); display: flex; align-items: center; justify-content: center; gap: 8px; overflow: hidden; }
.rdz-xmas-bar__decor { font-size: 16px; display: inline-flex; gap: 4px; }
.rdz-xmas-bar__text { font-weight: var(--rdz-fw-med); }
.rdz-xmas-bar__close { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); border: none; background: transparent; color: inherit; cursor: pointer; font-size: 16px; line-height: 1; padding: 4px; }
.rdz-xmas-bar__close:hover { opacity: 0.7; }
.rdz-xmas-bar::before, .rdz-xmas-bar::after { content: "\2728"; position: absolute; opacity: 0.4; font-size: 18px; top: 50%; transform: translateY(-50%); pointer-events: none; }
.rdz-xmas-bar::before { left: 12px; }
.rdz-xmas-bar::after { right: 36px; }
@media (max-width: 480px) {
  .rdz-xmas-bar { font-size: 13px; padding-right: 32px; }
  .rdz-xmas-bar__decor { display: none; }
}
