/*
Theme Name: ZPDv2
Theme URI: 
Author: zatamoko
Author URI: 
Description: 
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.0
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zpdv2
Tags: theme
*/

:root {
    --color-white: #ffffff;
    
    --color-black-50: #fafafa;
    --color-black-100: #f5f5f5;
    --color-black-200: #e6e6e6;
    --color-black-300: #d3d3d3;
    --color-black-400: #a3a3a3;
    --color-black-500: #737373;
    --color-black-600: #535353;
    --color-black-700: #404040;
    --color-black-800: #272727;
    --color-black-900: #1a1a1a;
    --color-black-950: #0b0b0b;
    
    /* Brand primitive ramps */

    /* zpd */
    --color-zpd-primary-50: #f5f6ee;
    --color-zpd-primary-100: #eaeed8;
    --color-zpd-primary-200: #dae6b3;
    --color-zpd-primary-300: #c6dd78;
    --color-zpd-primary-400: #b1d348;
    --color-zpd-primary-500: #94b82a;
    --color-zpd-primary-600: #6a871b;
    --color-zpd-primary-700: #57701b;
    --color-zpd-primary-800: #47591b;
    --color-zpd-primary-900: #3c4c1b;
    --color-zpd-primary-950: #1f2a09;
    --color-zpd-secondary-50: #fcf4f5;
    --color-zpd-secondary-100: #f9eaed;
    --color-zpd-secondary-200: #f4d7de;
    --color-zpd-secondary-300: #eab3c0;
    --color-zpd-secondary-400: #df8da2;
    --color-zpd-secondary-500: #cf6482;
    --color-zpd-secondary-600: #b9456b;
    --color-zpd-secondary-700: #9b355a;
    --color-zpd-secondary-800: #822f4f;
    --color-zpd-secondary-900: #702b48;
    --color-zpd-secondary-950: #3e1324;

    /* izpd */
    --color-izpd-primary-50: #f5f7fa;
    --color-izpd-primary-100: #ebeef3;
    --color-izpd-primary-200: #d2dae5;
    --color-izpd-primary-300: #abbcce;
    --color-izpd-primary-400: #7e98b2;
    --color-izpd-primary-500: #57728e;
    --color-izpd-primary-600: #4a627f;
    --color-izpd-primary-700: #3d5067;
    --color-izpd-primary-800: #354457;
    --color-izpd-primary-900: #303c4a;
    --color-izpd-primary-950: #202731;
    --color-izpd-secondary-50: #f5f6ee;
    --color-izpd-secondary-100: #eaeed8;
    --color-izpd-secondary-200: #dae6b3;
    --color-izpd-secondary-300: #c6dd78;
    --color-izpd-secondary-400: #b1d348;
    --color-izpd-secondary-500: #94b82a;
    --color-izpd-secondary-600: #6a871b;
    --color-izpd-secondary-700: #57701b;
    --color-izpd-secondary-800: #47591b;
    --color-izpd-secondary-900: #3c4c1b;
    --color-izpd-secondary-950: #1f2a09;

    /* cdz */
    --color-cdz-primary-50: #fef2f4;
    --color-cdz-primary-100: #fde6eb;
    --color-cdz-primary-200: #fbd0db;
    --color-cdz-primary-300: #f8a9bc;
    --color-cdz-primary-400: #f3799a;
    --color-cdz-primary-500: #e94273;
    --color-cdz-primary-600: #d62863;
    --color-cdz-primary-700: #b41c54;
    --color-cdz-primary-800: #811a46;
    --color-cdz-primary-900: #811a46;
    --color-cdz-primary-950: #480922;
    --color-cdz-secondary-50: #fff3fd;
    --color-cdz-secondary-100: #ffe6fb;
    --color-cdz-secondary-200: #ffcbf5;
    --color-cdz-secondary-300: #ffa3e9;
    --color-cdz-secondary-400: #ff6cda;
    --color-cdz-secondary-500: #ff34cc;
    --color-cdz-secondary-600: #e514ac;
    --color-cdz-secondary-700: #be0d8a;
    --color-cdz-secondary-800: #920c69;
    --color-cdz-secondary-900: #7e115a;
    --color-cdz-secondary-950: #56003a;

    /* cpdp */
    --color-cpdp-primary-50: #f0f1f5;
    --color-cpdp-primary-100: #e0e3eb;
    --color-cpdp-primary-200: #c2c7d6;
    --color-cpdp-primary-300: #a3abc2;
    --color-cpdp-primary-400: #848ead;
    --color-cpdp-primary-500: #667399;
    --color-cpdp-primary-600: #525c7a;
    --color-cpdp-primary-700: #3d455c;
    --color-cpdp-primary-800: #292e3d;
    --color-cpdp-primary-900: #14171f;
    --color-cpdp-primary-950: #0e1015;
    --color-cpdp-secondary-50: #fef2f4;
    --color-cpdp-secondary-100: #fde6eb;
    --color-cpdp-secondary-200: #fbd0db;
    --color-cpdp-secondary-300: #f8a9bc;
    --color-cpdp-secondary-400: #f3799a;
    --color-cpdp-secondary-500: #e94273;
    --color-cpdp-secondary-600: #d62863;
    --color-cpdp-secondary-700: #b41c54;
    --color-cpdp-secondary-800: #811a46;
    --color-cpdp-secondary-900: #811a46;
    --color-cpdp-secondary-950: #4e102b;

    /* d3p */
    --color-d3p-primary-50: #fdede8;
    --color-d3p-primary-100: #fadad1;
    --color-d3p-primary-200: #f6b6a2;
    --color-d3p-primary-300: #f19174;
    --color-d3p-primary-400: #ed6c45;
    --color-d3p-primary-500: #e84d1d;
    --color-d3p-primary-600: #ba3912;
    --color-d3p-primary-700: #8b2b0e;
    --color-d3p-primary-800: #5d1d09;
    --color-d3p-primary-900: #2e0e05;
    --color-d3p-primary-950: #200a03;
    --color-d3p-secondary-50: #eef2ff;
    --color-d3p-secondary-100: #e0e7ff;
    --color-d3p-secondary-200: #c7d3fe;
    --color-d3p-secondary-300: #a5b5fc;
    --color-d3p-secondary-400: #808df9;
    --color-d3p-secondary-500: #6267f2;
    --color-d3p-secondary-600: #4c45e6;
    --color-d3p-secondary-700: #4037cb;
    --color-d3p-secondary-800: #352fa4;
    --color-d3p-secondary-900: #2e2c7d;
    --color-d3p-secondary-950: #1d1b4b;

    /* krizovka */
    --color-krizovka-primary-50: #fdede8;
    --color-krizovka-primary-100: #fadad1;
    --color-krizovka-primary-200: #f6b6a2;
    --color-krizovka-primary-300: #f19174;
    --color-krizovka-primary-400: #ed6c45;
    --color-krizovka-primary-500: #e84d1d;
    --color-krizovka-primary-600: #ba3912;
    --color-krizovka-primary-700: #8b2b0e;
    --color-krizovka-primary-800: #5d1d09;
    --color-krizovka-primary-900: #2e0e05;
    --color-krizovka-primary-950: #200a03;
    --color-krizovka-secondary-50: #eef2ff;
    --color-krizovka-secondary-100: #e0e7ff;
    --color-krizovka-secondary-200: #c7d3fe;
    --color-krizovka-secondary-300: #a5b5fc;
    --color-krizovka-secondary-400: #808df9;
    --color-krizovka-secondary-500: #6267f2;
    --color-krizovka-secondary-600: #4c45e6;
    --color-krizovka-secondary-700: #4037cb;
    --color-krizovka-secondary-800: #352fa4;
    --color-krizovka-secondary-900: #2e2c7d;
    --color-krizovka-secondary-950: #1d1b4b;

    /* teren */
    --color-teren-primary-50: #fdede8;
    --color-teren-primary-100: #fadad1;
    --color-teren-primary-200: #f6b6a2;
    --color-teren-primary-300: #f19174;
    --color-teren-primary-400: #ed6c45;
    --color-teren-primary-500: #e84d1d;
    --color-teren-primary-600: #ba3912;
    --color-teren-primary-700: #8b2b0e;
    --color-teren-primary-800: #5d1d09;
    --color-teren-primary-900: #2e0e05;
    --color-teren-primary-950: #200a03;
    --color-teren-secondary-50: #f3fbea;
    --color-teren-secondary-100: #e3f5d2;
    --color-teren-secondary-200: #c8eda9;
    --color-teren-secondary-300: #a5df77;
    --color-teren-secondary-400: #85ce4d;
    --color-teren-secondary-500: #65b32e;
    --color-teren-secondary-600: #4d8f21;
    --color-teren-secondary-700: #3c6e1d;
    --color-teren-secondary-800: #33571d;
    --color-teren-secondary-900: #2c4b1c;
    --color-teren-secondary-950: #14290a;

    /* mezipatro */
    --color-mezipatro-primary-50: #f5f6ee;
    --color-mezipatro-primary-100: #eaeed8;
    --color-mezipatro-primary-200: #dae6b3;
    --color-mezipatro-primary-300: #c6dd78;
    --color-mezipatro-primary-400: #b1d348;
    --color-mezipatro-primary-500: #94b82a;
    --color-mezipatro-primary-600: #6a871b;
    --color-mezipatro-primary-700: #57701b;
    --color-mezipatro-primary-800: #47591b;
    --color-mezipatro-primary-900: #3c4c1b;
    --color-mezipatro-primary-950: #283312;
    --color-mezipatro-secondary-50: #edf2ff;
    --color-mezipatro-secondary-100: #dee7ff;
    --color-mezipatro-secondary-200: #c4d3ff;
    --color-mezipatro-secondary-300: #a1b7ff;
    --color-mezipatro-secondary-400: #7e8dff;
    --color-mezipatro-secondary-500: #6167fb;
    --color-mezipatro-secondary-600: #4d45f0;
    --color-mezipatro-secondary-700: #4238d3;
    --color-mezipatro-secondary-800: #362fab;
    --color-mezipatro-secondary-900: #2e2c7d;
    --color-mezipatro-secondary-950: #1d1b4e;

    /* delta */
    --color-delta-primary-50: #edf2ff;
    --color-delta-primary-100: #dee7ff;
    --color-delta-primary-200: #c4d3ff;
    --color-delta-primary-300: #a1b7ff;
    --color-delta-primary-400: #7e8dff;
    --color-delta-primary-500: #6167fb;
    --color-delta-primary-600: #4d45f0;
    --color-delta-primary-700: #4238d3;
    --color-delta-primary-800: #362fab;
    --color-delta-primary-900: #2e2c7d;
    --color-delta-primary-950: #1d1b4e;
    --color-delta-secondary-50: #f5f6ee;
    --color-delta-secondary-100: #eaeed8;
    --color-delta-secondary-200: #dae6b3;
    --color-delta-secondary-300: #c6dd78;
    --color-delta-secondary-400: #b1d348;
    --color-delta-secondary-500: #94b82a;
    --color-delta-secondary-600: #6a871b;
    --color-delta-secondary-700: #57701b;
    --color-delta-secondary-800: #47591b;
    --color-delta-secondary-900: #3c4c1b;
    --color-delta-secondary-950: #283312;

    /* horizont */
    --color-horizont-primary-50: #fffbeb;
    --color-horizont-primary-100: #fff4c6;
    --color-horizont-primary-200: #ffe888;
    --color-horizont-primary-300: #ffd442;
    --color-horizont-primary-400: #ffc320;
    --color-horizont-primary-500: #f9a107;
    --color-horizont-primary-600: #dd7902;
    --color-horizont-primary-700: #b75406;
    --color-horizont-primary-800: #94410c;
    --color-horizont-primary-900: #7a350d;
    --color-horizont-primary-950: #461a02;
    --color-horizont-secondary-50: #edf2ff;
    --color-horizont-secondary-100: #dee7ff;
    --color-horizont-secondary-200: #c4d3ff;
    --color-horizont-secondary-300: #a1b7ff;
    --color-horizont-secondary-400: #7e8dff;
    --color-horizont-secondary-500: #6167fb;
    --color-horizont-secondary-600: #4d45f0;
    --color-horizont-secondary-700: #4238d3;
    --color-horizont-secondary-800: #362fab;
    --color-horizont-secondary-900: #2e2c7d;
    --color-horizont-secondary-950: #1d1b4e;

    /* dpp */
    --color-dpp-primary-50: #ececf8;
    --color-dpp-primary-100: #dad9f2;
    --color-dpp-primary-200: #b4b4e4;
    --color-dpp-primary-300: #8f8ed7;
    --color-dpp-primary-400: #6a68ca;
    --color-dpp-primary-500: #4442bd;
    --color-dpp-primary-600: #373597;
    --color-dpp-primary-700: #292871;
    --color-dpp-primary-800: #1b1b4b;
    --color-dpp-primary-900: #0e0d26;
    --color-dpp-primary-950: #0a091a;
    --color-dpp-secondary-50: #fef2f4;
    --color-dpp-secondary-100: #fde6eb;
    --color-dpp-secondary-200: #fbd0db;
    --color-dpp-secondary-300: #f8a9bc;
    --color-dpp-secondary-400: #f3799a;
    --color-dpp-secondary-500: #e94273;
    --color-dpp-secondary-600: #d62863;
    --color-dpp-secondary-700: #b41c54;
    --color-dpp-secondary-800: #811a46;
    --color-dpp-secondary-900: #811a46;
    --color-dpp-secondary-950: #4e102b;

    /* apa */
    --color-apa-primary-50: #ececf8;
    --color-apa-primary-100: #dad9f2;
    --color-apa-primary-200: #b4b4e4;
    --color-apa-primary-300: #8f8ed7;
    --color-apa-primary-400: #6a68ca;
    --color-apa-primary-500: #4442bd;
    --color-apa-primary-600: #373597;
    --color-apa-primary-700: #292871;
    --color-apa-primary-800: #1b1b4b;
    --color-apa-primary-900: #0e0d26;
    --color-apa-primary-950: #0a091a;
    --color-apa-secondary-50: #fef2f4;
    --color-apa-secondary-100: #fde6eb;
    --color-apa-secondary-200: #fbd0db;
    --color-apa-secondary-300: #f8a9bc;
    --color-apa-secondary-400: #f3799a;
    --color-apa-secondary-500: #e94273;
    --color-apa-secondary-600: #d62863;
    --color-apa-secondary-700: #b41c54;
    --color-apa-secondary-800: #811a46;
    --color-apa-secondary-900: #811a46;
    --color-apa-secondary-950: #4e102b;

    /* zahrada-pink — single cross-brand wildcard hex (Figma 'zahrada pink'). */
    --color-zahrada-pink: #eab3c0;

    /* Back-compat alias (zpd-pink ramp -> zpd-secondary). Remove after content migration. */
    --color-zpd-pink-50: var(--color-zpd-secondary-50);
    --color-zpd-pink-100: var(--color-zpd-secondary-100);
    --color-zpd-pink-200: var(--color-zpd-secondary-200);
    --color-zpd-pink-300: var(--color-zpd-secondary-300);
    --color-zpd-pink-400: var(--color-zpd-secondary-400);
    --color-zpd-pink-500: var(--color-zpd-secondary-500);
    --color-zpd-pink-600: var(--color-zpd-secondary-600);
    --color-zpd-pink-700: var(--color-zpd-secondary-700);
    --color-zpd-pink-800: var(--color-zpd-secondary-800);
    --color-zpd-pink-900: var(--color-zpd-secondary-900);
    --color-zpd-pink-950: var(--color-zpd-secondary-950);

    /* Brand-aware semantic tokens */
    --color-brand-50:  var(--color-zpd-primary-50);
    --color-brand-100: var(--color-zpd-primary-100);
    --color-brand-200: var(--color-zpd-primary-200);
    --color-brand-300: var(--color-zpd-primary-300);
    --color-brand-400: var(--color-zpd-primary-400);
    --color-brand-500: var(--color-zpd-primary-500);
    --color-brand-600: var(--color-zpd-primary-600);
    --color-brand-700: var(--color-zpd-primary-700);
    --color-brand-800: var(--color-zpd-primary-800);
    --color-brand-900: var(--color-zpd-primary-900);
    --color-brand-950: var(--color-zpd-primary-950);

    /* Brand secondary */
    --color-brand-secondary-50:  var(--color-zpd-secondary-50);
    --color-brand-secondary-100: var(--color-zpd-secondary-100);
    --color-brand-secondary-200: var(--color-zpd-secondary-200);
    --color-brand-secondary-300: var(--color-zpd-secondary-300);
    --color-brand-secondary-400: var(--color-zpd-secondary-400);
    --color-brand-secondary-500: var(--color-zpd-secondary-500);
    --color-brand-secondary-600: var(--color-zpd-secondary-600);
    --color-brand-secondary-700: var(--color-zpd-secondary-700);
    --color-brand-secondary-800: var(--color-zpd-secondary-800);
    --color-brand-secondary-900: var(--color-zpd-secondary-900);
    --color-brand-secondary-950: var(--color-zpd-secondary-950);

    /* Semantic text tokens */
    --color-text-primary:   var(--color-black-900);
    --color-text-secondary: var(--color-black-600);

    /* Fluid spacing */
    --spacing-1: 0.5rem;   /* 8px */
    --spacing-2: clamp(0.75rem, 0.662rem + 0.376vw, 1rem);      /* 12 → 16px */
    --spacing-3: clamp(1rem, 0.824rem + 0.751vw, 1.5rem);       /* 16 → 24px */
    --spacing-4: clamp(1.25rem, 0.986rem + 1.127vw, 2rem);      /* 20 → 32px */
    --spacing-5: clamp(1.5rem, 1.148rem + 1.502vw, 2.5rem);     /* 24 → 40px */
    --spacing-6: clamp(1.5rem, 0.268rem + 5.258vw, 5rem);       /* 24 → 80px */
    --spacing-7: clamp(2rem, 0.504rem + 6.385vw, 6.25rem);      /* 32 → 100px */
    --spacing-8: clamp(2.5rem, 0.739rem + 7.512vw, 7.5rem);     /* 40 → 120px */

    --radius-xs: 0.125rem;   /* 2px */
    --radius-sm: 0.25rem;    /* 4px */
    --radius-md: 0.375rem;   /* 6px */
    --radius-lg: 0.5rem;     /* 8px */
    --radius-xl: 0.75rem;    /* 12px */
    --radius-2xl: 1rem;      /* 16px */
    --radius-3xl: 1.5rem;    /* 24px */
    --radius-4xl: 2rem;      /* 32px */
}

a {
    cursor: pointer;
    color: var(--color-brand-600);
    transition: background-color 150ms ease, color 150ms ease, text-decoration-color 150ms ease;
}

a:is(:hover, :focus) {
    color: var(--color-brand-500);
}

a:visited {
    color: var(--color-brand-800);
}

p {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-bottom: 0.75rem;
}

.no-underline {
    text-decoration: none;
}

.hover-underline:hover {
    text-decoration: underline;
}

/* reset WP defaults */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
    margin-block-start: 0;
    margin-block-end: 0;
}

/*
Containers
*/
.container-hero { max-width: 84rem}
.container-wide { max-width: 78rem}
.container { max-width: 64rem}
.container-article { max-width: 52rem}

/*
Background colors
*/

.bg-white { background-color: var(--color-white); }

.bg-black-50 { background-color: var(--color-black-50); }
.bg-black-100 { background-color: var(--color-black-100); }
.bg-black-200 { background-color: var(--color-black-200); }
.bg-black-300 { background-color: var(--color-black-300); }
.bg-black-400 { background-color: var(--color-black-400); }
.bg-black-500 { background-color: var(--color-black-500); }
.bg-black-600 { background-color: var(--color-black-600); }
.bg-black-700 { background-color: var(--color-black-700); }
.bg-black-800 { background-color: var(--color-black-800); }
.bg-black-900 { background-color: var(--color-black-900); }
.bg-black-950 { background-color: var(--color-black-950); }

/* Zahrada Pink — cross-brand */
.bg-zpd-secondary-50  { background-color: var(--color-zpd-secondary-50); }
.bg-zpd-secondary-100 { background-color: var(--color-zpd-secondary-100); }
.bg-zpd-secondary-200 { background-color: var(--color-zpd-secondary-200); }
.bg-zpd-secondary-300 { background-color: var(--color-zpd-secondary-300); }
.bg-zpd-secondary-400 { background-color: var(--color-zpd-secondary-400); }
.bg-zpd-secondary-500 { background-color: var(--color-zpd-secondary-500); }
.bg-zpd-secondary-600 { background-color: var(--color-zpd-secondary-600); }
.bg-zpd-secondary-700 { background-color: var(--color-zpd-secondary-700); }
.bg-zpd-secondary-800 { background-color: var(--color-zpd-secondary-800); }
.bg-zpd-secondary-900 { background-color: var(--color-zpd-secondary-900); }
.bg-zpd-secondary-950 { background-color: var(--color-zpd-secondary-950); }


/*
Text colors
*/

.text-white { color: var(--color-white); }
a.text-white,
a.text-white:is(:hover, :focus) { color: var(--color-white); }

/* Semantic text utilities */
.text-primary   { color: var(--color-text-primary) !important; }
.text-secondary { color: var(--color-text-secondary) !important; }
.text-accent    { color: var(--color-brand-600) !important; }

.text-black-50 { color: var(--color-black-50); }
.text-black-100 { color: var(--color-black-100); }
.text-black-200 { color: var(--color-black-200); }
.text-black-300 { color: var(--color-black-300); }
.text-black-400 { color: var(--color-black-400); }
.text-black-500 { color: var(--color-black-500); }
.text-black-600 { color: var(--color-black-600); }
.text-black-700 { color: var(--color-black-700); }
.text-black-800 { color: var(--color-black-800); }
.text-black-900 { color: var(--color-black-900); }
.text-black-950 { color: var(--color-black-950); }

/* Zahrada Pink — cross-brand */
.text-zpd-secondary-50  { color: var(--color-zpd-secondary-50); }
.text-zpd-secondary-100 { color: var(--color-zpd-secondary-100); }
.text-zpd-secondary-200 { color: var(--color-zpd-secondary-200); }
.text-zpd-secondary-300 { color: var(--color-zpd-secondary-300); }
.text-zpd-secondary-400 { color: var(--color-zpd-secondary-400); }
.text-zpd-secondary-500 { color: var(--color-zpd-secondary-500); }
.text-zpd-secondary-600 { color: var(--color-zpd-secondary-600); }
.text-zpd-secondary-700 { color: var(--color-zpd-secondary-700); }
.text-zpd-secondary-800 { color: var(--color-zpd-secondary-800); }
.text-zpd-secondary-900 { color: var(--color-zpd-secondary-900); }
.text-zpd-secondary-950 { color: var(--color-zpd-secondary-950); }


/*
Border colors and widths
*/

.border-1 { border-width: 1px; border-style: solid; }
.border-2 { border-width: 2px; border-style: solid; }

.border-black-50 { border-color: var(--color-black-50); }
.border-black-100 { border-color: var(--color-black-100); }
.border-black-200 { border-color: var(--color-black-200); }
.border-black-300 { border-color: var(--color-black-300); }
.border-black-400 { border-color: var(--color-black-400); }
.border-black-500 { border-color: var(--color-black-500); }
.border-black-600 { border-color: var(--color-black-600); }
.border-black-700 { border-color: var(--color-black-700); }
.border-black-800 { border-color: var(--color-black-800); }
.border-black-900 { border-color: var(--color-black-900); }
.border-black-950 { border-color: var(--color-black-950); }

/* Zahrada Pink — cross-brand */
.border-zpd-secondary-50  { border-color: var(--color-zpd-secondary-50); }
.border-zpd-secondary-100 { border-color: var(--color-zpd-secondary-100); }
.border-zpd-secondary-200 { border-color: var(--color-zpd-secondary-200); }
.border-zpd-secondary-300 { border-color: var(--color-zpd-secondary-300); }
.border-zpd-secondary-400 { border-color: var(--color-zpd-secondary-400); }
.border-zpd-secondary-500 { border-color: var(--color-zpd-secondary-500); }
.border-zpd-secondary-600 { border-color: var(--color-zpd-secondary-600); }
.border-zpd-secondary-700 { border-color: var(--color-zpd-secondary-700); }
.border-zpd-secondary-800 { border-color: var(--color-zpd-secondary-800); }
.border-zpd-secondary-900 { border-color: var(--color-zpd-secondary-900); }
.border-zpd-secondary-950 { border-color: var(--color-zpd-secondary-950); }

/* Zahrada Pink — cross-brand */
.bg-zahrada-pink     { background-color: var(--color-zahrada-pink); }
.text-zahrada-pink   { color: var(--color-zahrada-pink); }
.border-zahrada-pink { border-color: var(--color-zahrada-pink); }


/*
Spacing
*/

/* All sides */
.padding-1 { padding: var(--spacing-1); }
.padding-2 { padding: var(--spacing-2); }
.padding-3 { padding: var(--spacing-3); }
.padding-4 { padding: var(--spacing-4); }
.padding-5 { padding: var(--spacing-5); }
.padding-6 { padding: var(--spacing-6); }
.padding-7 { padding: var(--spacing-7); }
.padding-8 { padding: var(--spacing-8); }

/* Top */
.padding-top-1 { padding-top: var(--spacing-1); }
.padding-top-2 { padding-top: var(--spacing-2); }
.padding-top-3 { padding-top: var(--spacing-3); }
.padding-top-4 { padding-top: var(--spacing-4); }
.padding-top-5 { padding-top: var(--spacing-5); }
.padding-top-6 { padding-top: var(--spacing-6); }
.padding-top-7 { padding-top: var(--spacing-7); }
.padding-top-8 { padding-top: var(--spacing-8); }

/* Bottom */
.padding-bottom-1 { padding-bottom: var(--spacing-1); }
.padding-bottom-2 { padding-bottom: var(--spacing-2); }
.padding-bottom-3 { padding-bottom: var(--spacing-3); }
.padding-bottom-4 { padding-bottom: var(--spacing-4); }
.padding-bottom-5 { padding-bottom: var(--spacing-5); }
.padding-bottom-6 { padding-bottom: var(--spacing-6); }
.padding-bottom-7 { padding-bottom: var(--spacing-7); }
.padding-bottom-8 { padding-bottom: var(--spacing-8); }

/* Left */
.padding-left-1 { padding-left: var(--spacing-1); }
.padding-left-2 { padding-left: var(--spacing-2); }
.padding-left-3 { padding-left: var(--spacing-3); }
.padding-left-4 { padding-left: var(--spacing-4); }
.padding-left-5 { padding-left: var(--spacing-5); }
.padding-left-6 { padding-left: var(--spacing-6); }
.padding-left-7 { padding-left: var(--spacing-7); }
.padding-left-8 { padding-left: var(--spacing-8); }

/* Right */
.padding-right-1 { padding-right: var(--spacing-1); }
.padding-right-2 { padding-right: var(--spacing-2); }
.padding-right-3 { padding-right: var(--spacing-3); }
.padding-right-4 { padding-right: var(--spacing-4); }
.padding-right-5 { padding-right: var(--spacing-5); }
.padding-right-6 { padding-right: var(--spacing-6); }
.padding-right-7 { padding-right: var(--spacing-7); }
.padding-right-8 { padding-right: var(--spacing-8); }

/* X (left + right) */
.padding-x-1 { padding-left: var(--spacing-1); padding-right: var(--spacing-1); }
.padding-x-2 { padding-left: var(--spacing-2); padding-right: var(--spacing-2); }
.padding-x-3 { padding-left: var(--spacing-3); padding-right: var(--spacing-3); }
.padding-x-4 { padding-left: var(--spacing-4); padding-right: var(--spacing-4); }
.padding-x-5 { padding-left: var(--spacing-5); padding-right: var(--spacing-5); }
.padding-x-6 { padding-left: var(--spacing-6); padding-right: var(--spacing-6); }
.padding-x-7 { padding-left: var(--spacing-7); padding-right: var(--spacing-7); }
.padding-x-8 { padding-left: var(--spacing-8); padding-right: var(--spacing-8); }

/* Y (top + bottom) */
.padding-y-1 { padding-top: var(--spacing-1); padding-bottom: var(--spacing-1); }
.padding-y-2 { padding-top: var(--spacing-2); padding-bottom: var(--spacing-2); }
.padding-y-3 { padding-top: var(--spacing-3); padding-bottom: var(--spacing-3); }
.padding-y-4 { padding-top: var(--spacing-4); padding-bottom: var(--spacing-4); }
.padding-y-5 { padding-top: var(--spacing-5); padding-bottom: var(--spacing-5); }
.padding-y-6 { padding-top: var(--spacing-6); padding-bottom: var(--spacing-6); }
.padding-y-7 { padding-top: var(--spacing-7); padding-bottom: var(--spacing-7); }
.padding-y-8 { padding-top: var(--spacing-8); padding-bottom: var(--spacing-8); }

/* All sides */
.margin-1 { margin: var(--spacing-1) !important; }
.margin-2 { margin: var(--spacing-2) !important; }
.margin-3 { margin: var(--spacing-3) !important; }
.margin-4 { margin: var(--spacing-4) !important; }
.margin-5 { margin: var(--spacing-5) !important; }
.margin-6 { margin: var(--spacing-6) !important; }
.margin-7 { margin: var(--spacing-7) !important; }
.margin-8 { margin: var(--spacing-8) !important; }

/* Top */
.margin-top-1 { margin-top: var(--spacing-1) !important; }
.margin-top-2 { margin-top: var(--spacing-2) !important; }
.margin-top-3 { margin-top: var(--spacing-3) !important; }
.margin-top-4 { margin-top: var(--spacing-4) !important; }
.margin-top-5 { margin-top: var(--spacing-5) !important; }
.margin-top-6 { margin-top: var(--spacing-6) !important; }
.margin-top-7 { margin-top: var(--spacing-7) !important; }
.margin-top-8 { margin-top: var(--spacing-8) !important; }

/* Bottom */
.margin-bottom-1 { margin-bottom: var(--spacing-1) !important; }
.margin-bottom-2 { margin-bottom: var(--spacing-2) !important; }
.margin-bottom-3 { margin-bottom: var(--spacing-3) !important; }
.margin-bottom-4 { margin-bottom: var(--spacing-4) !important; }
.margin-bottom-5 { margin-bottom: var(--spacing-5) !important; }
.margin-bottom-6 { margin-bottom: var(--spacing-6) !important; }
.margin-bottom-7 { margin-bottom: var(--spacing-7) !important; }
.margin-bottom-8 { margin-bottom: var(--spacing-8) !important; }

/* Left */
.margin-left-1 { margin-left: var(--spacing-1) !important; }
.margin-left-2 { margin-left: var(--spacing-2) !important; }
.margin-left-3 { margin-left: var(--spacing-3) !important; }
.margin-left-4 { margin-left: var(--spacing-4) !important; }
.margin-left-5 { margin-left: var(--spacing-5) !important; }
.margin-left-6 { margin-left: var(--spacing-6) !important; }
.margin-left-7 { margin-left: var(--spacing-7) !important; }
.margin-left-8 { margin-left: var(--spacing-8) !important; }

/* Right */
.margin-right-1 { margin-right: var(--spacing-1) !important; }
.margin-right-2 { margin-right: var(--spacing-2) !important; }
.margin-right-3 { margin-right: var(--spacing-3) !important; }
.margin-right-4 { margin-right: var(--spacing-4) !important; }
.margin-right-5 { margin-right: var(--spacing-5) !important; }
.margin-right-6 { margin-right: var(--spacing-6) !important; }
.margin-right-7 { margin-right: var(--spacing-7) !important; }
.margin-right-8 { margin-right: var(--spacing-8) !important; }

/* X (left + right) */
.margin-x-auto { margin-left: auto !important; margin-right: auto !important; }
.margin-x-1 { margin-left: var(--spacing-1) !important; margin-right: var(--spacing-1) !important; }
.margin-x-2 { margin-left: var(--spacing-2) !important; margin-right: var(--spacing-2) !important; }
.margin-x-3 { margin-left: var(--spacing-3) !important; margin-right: var(--spacing-3) !important; }
.margin-x-4 { margin-left: var(--spacing-4) !important; margin-right: var(--spacing-4) !important; }
.margin-x-5 { margin-left: var(--spacing-5) !important; margin-right: var(--spacing-5) !important; }
.margin-x-6 { margin-left: var(--spacing-6) !important; margin-right: var(--spacing-6) !important; }
.margin-x-7 { margin-left: var(--spacing-7) !important; margin-right: var(--spacing-7) !important; }
.margin-x-8 { margin-left: var(--spacing-8) !important; margin-right: var(--spacing-8) !important; }

/* Y (top + bottom) */
.margin-y-1 { margin-top: var(--spacing-1) !important; margin-bottom: var(--spacing-1) !important; }
.margin-y-2 { margin-top: var(--spacing-2) !important; margin-bottom: var(--spacing-2) !important; }
.margin-y-3 { margin-top: var(--spacing-3) !important; margin-bottom: var(--spacing-3) !important; }
.margin-y-4 { margin-top: var(--spacing-4) !important; margin-bottom: var(--spacing-4) !important; }
.margin-y-5 { margin-top: var(--spacing-5) !important; margin-bottom: var(--spacing-5) !important; }
.margin-y-6 { margin-top: var(--spacing-6) !important; margin-bottom: var(--spacing-6) !important; }
.margin-y-7 { margin-top: var(--spacing-7) !important; margin-bottom: var(--spacing-7) !important; }
.margin-y-8 { margin-top: var(--spacing-8) !important; margin-bottom: var(--spacing-8) !important; }

/*
Shadows
*/
.shadow-sm { box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05); }
.shadow { box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1); }
.shadow-md { box-shadow: 0px 4px 6px -1px rgba(0, 0, 0, 0.1); }
.shadow-lg { box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1); }
.shadow-xl { box-shadow: 0px 20px 25px -5px rgba(0, 0, 0, 0.1); }
.shadow-2xl { box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.25); }
.shadow-inner { box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.06) inset; }


/* All corners */
.rounded-xs { border-radius: var(--radius-xs); }
.rounded-sm { border-radius: var(--radius-sm); }
.rounded-md { border-radius: var(--radius-md); }
.rounded-lg { border-radius: var(--radius-lg); }
.rounded-xl { border-radius: var(--radius-xl); }
.rounded-2xl { border-radius: var(--radius-2xl); }
.rounded-3xl { border-radius: var(--radius-3xl); }
.rounded-4xl { border-radius: var(--radius-4xl); }

/* Individual corners */

/* Top corners */
.rounded-top-xs { border-top-left-radius: var(--radius-xs); border-top-right-radius: var(--radius-xs); }
.rounded-top-sm { border-top-left-radius: var(--radius-sm); border-top-right-radius: var(--radius-sm); }
.rounded-top-md { border-top-left-radius: var(--radius-md); border-top-right-radius: var(--radius-md); }
.rounded-top-lg { border-top-left-radius: var(--radius-lg); border-top-right-radius: var(--radius-lg); }
.rounded-top-xl { border-top-left-radius: var(--radius-xl); border-top-right-radius: var(--radius-xl); }
.rounded-top-2xl { border-top-left-radius: var(--radius-2xl); border-top-right-radius: var(--radius-2xl); }
.rounded-top-3xl { border-top-left-radius: var(--radius-3xl); border-top-right-radius: var(--radius-3xl); }
.rounded-top-4xl { border-top-left-radius: var(--radius-4xl); border-top-right-radius: var(--radius-4xl); }

/* Bottom corners */
.rounded-bottom-xs { border-bottom-left-radius: var(--radius-xs); border-bottom-right-radius: var(--radius-xs); }
.rounded-bottom-sm { border-bottom-left-radius: var(--radius-sm); border-bottom-right-radius: var(--radius-sm); }
.rounded-bottom-md { border-bottom-left-radius: var(--radius-md); border-bottom-right-radius: var(--radius-md); }
.rounded-bottom-lg { border-bottom-left-radius: var(--radius-lg); border-bottom-right-radius: var(--radius-lg); }
.rounded-bottom-xl { border-bottom-left-radius: var(--radius-xl); border-bottom-right-radius: var(--radius-xl); }
.rounded-bottom-2xl { border-bottom-left-radius: var(--radius-2xl); border-bottom-right-radius: var(--radius-2xl); }
.rounded-bottom-3xl { border-bottom-left-radius: var(--radius-3xl); border-bottom-right-radius: var(--radius-3xl); }
.rounded-bottom-4xl { border-bottom-left-radius: var(--radius-4xl); border-bottom-right-radius: var(--radius-4xl); }

/* Left corners */
.rounded-left-xs { border-top-left-radius: var(--radius-xs); border-bottom-left-radius: var(--radius-xs); }
.rounded-left-sm { border-top-left-radius: var(--radius-sm); border-bottom-left-radius: var(--radius-sm); }
.rounded-left-md { border-top-left-radius: var(--radius-md); border-bottom-left-radius: var(--radius-md); }
.rounded-left-lg { border-top-left-radius: var(--radius-lg); border-bottom-left-radius: var(--radius-lg); }
.rounded-left-xl { border-top-left-radius: var(--radius-xl); border-bottom-left-radius: var(--radius-xl); }
.rounded-left-2xl { border-top-left-radius: var(--radius-2xl); border-bottom-left-radius: var(--radius-2xl); }
.rounded-left-3xl { border-top-left-radius: var(--radius-3xl); border-bottom-left-radius: var(--radius-3xl); }
.rounded-left-4xl { border-top-left-radius: var(--radius-4xl); border-bottom-left-radius: var(--radius-4xl); }

/* Right corners */
.rounded-right-xs { border-top-right-radius: var(--radius-xs); border-bottom-right-radius: var(--radius-xs); }
.rounded-right-sm { border-top-right-radius: var(--radius-sm); border-bottom-right-radius: var(--radius-sm); }
.rounded-right-md { border-top-right-radius: var(--radius-md); border-bottom-right-radius: var(--radius-md); }
.rounded-right-lg { border-top-right-radius: var(--radius-lg); border-bottom-right-radius: var(--radius-lg); }
.rounded-right-xl { border-top-right-radius: var(--radius-xl); border-bottom-right-radius: var(--radius-xl); }
.rounded-right-2xl { border-top-right-radius: var(--radius-2xl); border-bottom-right-radius: var(--radius-2xl); }
.rounded-right-3xl { border-top-right-radius: var(--radius-3xl); border-bottom-right-radius: var(--radius-3xl); }
.rounded-right-4xl { border-top-right-radius: var(--radius-4xl); border-bottom-right-radius: var(--radius-4xl); }

/*
Typography
*/

.body,
body,
p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0px;
}

.body-small {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0px;
}

.body-micro {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0px;
}

.heading-xl,
.heading-l,
.heading-m,
.heading-s,
.heading-xs,
.heading-xs-inter,
.heading-xxs-inter {
    font-weight: 600;
    line-height: 1.15;
}

.heading-xl,
.heading-l,
.heading-m,
.heading-s,
.heading-xs {
    font-family: 'Botanika', sans-serif;
}

body,
.heading-xs-inter,
.heading-xxs-inter {
    font-family: 'Inter', sans-serif;
}

.heading-xl {
    font-size: clamp(2.75rem, calc(2.75rem + (100vw - 20rem) / 56), 3.25rem);
    margin-bottom: 0.75rem;
}

.heading-l {
    font-size: clamp(2.25rem, calc(2.25rem + (100vw - 20rem) / 56), 2.5rem);
    letter-spacing: -1.5px;
}

.heading-m {
    font-size: clamp(1.75rem, calc(1.75rem + (100vw - 20rem) / 56), 2rem);
    letter-spacing: -1.5px;
}

.heading-s {
    font-size: 1.5rem;
    letter-spacing: -1.5px;
}

.heading-xs {
    font-size: 1.25rem;
    letter-spacing: -1.1px;
}

.heading-xs-inter {
    font-size: 1.125rem;
    letter-spacing: -1px;
}

.heading-xxs-inter {
    font-size: 1rem;
    letter-spacing: -1px;
}

.perex {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 170%;
    letter-spacing: 0px;
    margin-bottom: 0.75rem;
}

.entry-content img,
img {
    display: block;
}

h1 span {
    text-decoration: underline;
    text-decoration-color: var(--color-zpd-secondary-300) !important;
    text-decoration-thickness: 6px !important;
    text-underline-offset: 4px !important;
}

.edu-toggle .gb-shape svg {
    transition: transform 0.35s ease;
}
.edu-toggle[aria-expanded="true"] .gb-shape svg {
    transform: rotate(180deg);
}


/*
Buttons
*/

.button-white-small,
.button-secondary-small,
.button-secondary,
.button-primary,
.button-link {
    transition: background-color 150ms ease, color 150ms ease, text-decoration-color 150ms ease;
}

.button-white-small {
    align-items: center;
    background-color: var(--color-white);
    color: var(--color-brand-600);
    cursor: pointer;
    display: inline-flex;
    font-size: 16px;
    font-weight: 600;
    line-height: 170%;
    text-decoration: none;
    border-radius: 8px;
    padding: 6px 12px;
    white-space: nowrap;
}

.button-white-small:is(:hover, :focus) {
    background-color: var(--color-brand-600);
    color: var(--color-white);
}

.button-white-small .gb-shape svg path {
    fill: currentColor !important;
}

.button-secondary-small {
    align-items: center;
    background-color: var(--color-brand-100);
    color: var(--color-brand-600);
    cursor: pointer;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 600;
    line-height: 170%;
    text-decoration: none;
    border-radius: var(--radius-lg);
    padding: 0.375rem 0.75rem;
    column-gap: 0.5rem;
    display: inline-flex;
    white-space: nowrap;
    text-decoration: none;
}

.button-secondary-small:is(:hover, :focus) {
    background-color: var(--color-brand-200);
    color: var(--color-brand-700);
}

.button-secondary {
    align-items: center;
    background-color: var(--color-brand-100);
    color: var(--color-brand-600);
    display: inline-flex;
    font-size: 18px;
    font-weight: 600;
    line-height: 170%;
    text-decoration: none;
    border-radius: 8px;
    padding: 10px 16px;
}

.button-secondary:is(:hover, :focus) {
    background-color: var(--color-brand-200);
    color: var(--color-brand-700);
}

.button-primary {
    align-items: center;
    background-color: var(--color-brand-600);
    color: var(--color-white);
    display: inline-flex;
    font-size: 15px;
    font-weight: 600;
    line-height: 170%;
    text-decoration: none;
    border-radius: 8px;
    padding: 6px 12px;
    cursor: pointer;
}

.button-primary:is(:hover, :focus) {
    background-color: var(--color-brand-700);
    color: var(--color-white);
}


.button-link {
    align-items: center;
    color: var(--color-brand-500);
    column-gap: 0.5em;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.button-link:is(:hover, :focus) {
    text-decoration: underline;
}

.button-link .gb-shape svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    color: var(--color-brand-500);
}


/*
Brand-aware semantic color tokens
*/

/* Legacy alias: brand-zpd-green is now just `zpd` (content migrated to brand=zpd).
   Kept as a thin alias so any stale cached markup still resolves. */
body.brand-zpd-green,
.brand-zpd-green {
    --color-brand-50: var(--color-zpd-primary-50);
    --color-brand-100: var(--color-zpd-primary-100);
    --color-brand-200: var(--color-zpd-primary-200);
    --color-brand-300: var(--color-zpd-primary-300);
    --color-brand-400: var(--color-zpd-primary-400);
    --color-brand-500: var(--color-zpd-primary-500);
    --color-brand-600: var(--color-zpd-primary-600);
    --color-brand-700: var(--color-zpd-primary-700);
    --color-brand-800: var(--color-zpd-primary-800);
    --color-brand-900: var(--color-zpd-primary-900);
    --color-brand-950: var(--color-zpd-primary-950);
    --color-brand-secondary-50: var(--color-zpd-secondary-50);
    --color-brand-secondary-100: var(--color-zpd-secondary-100);
    --color-brand-secondary-200: var(--color-zpd-secondary-200);
    --color-brand-secondary-300: var(--color-zpd-secondary-300);
    --color-brand-secondary-400: var(--color-zpd-secondary-400);
    --color-brand-secondary-500: var(--color-zpd-secondary-500);
    --color-brand-secondary-600: var(--color-zpd-secondary-600);
    --color-brand-secondary-700: var(--color-zpd-secondary-700);
    --color-brand-secondary-800: var(--color-zpd-secondary-800);
    --color-brand-secondary-900: var(--color-zpd-secondary-900);
    --color-brand-secondary-950: var(--color-zpd-secondary-950);
}

/* Legacy alias: brand-zpd-pink kept the old swapped pairing (pink foreground).
   Content migrated to brand=zpd; retained only so stale cached markup resolves. */
body.brand-zpd-pink,
.brand-zpd-pink {
    --color-brand-50: var(--color-zpd-secondary-50);
    --color-brand-100: var(--color-zpd-secondary-100);
    --color-brand-200: var(--color-zpd-secondary-200);
    --color-brand-300: var(--color-zpd-secondary-300);
    --color-brand-400: var(--color-zpd-secondary-400);
    --color-brand-500: var(--color-zpd-secondary-500);
    --color-brand-600: var(--color-zpd-secondary-600);
    --color-brand-700: var(--color-zpd-secondary-700);
    --color-brand-800: var(--color-zpd-secondary-800);
    --color-brand-900: var(--color-zpd-secondary-900);
    --color-brand-950: var(--color-zpd-secondary-950);
    --color-brand-secondary-50: var(--color-zpd-primary-50);
    --color-brand-secondary-100: var(--color-zpd-primary-100);
    --color-brand-secondary-200: var(--color-zpd-primary-200);
    --color-brand-secondary-300: var(--color-zpd-primary-300);
    --color-brand-secondary-400: var(--color-zpd-primary-400);
    --color-brand-secondary-500: var(--color-zpd-primary-500);
    --color-brand-secondary-600: var(--color-zpd-primary-600);
    --color-brand-secondary-700: var(--color-zpd-primary-700);
    --color-brand-secondary-800: var(--color-zpd-primary-800);
    --color-brand-secondary-900: var(--color-zpd-primary-900);
    --color-brand-secondary-950: var(--color-zpd-primary-950);
}

/* 12 brands (generated). */

body.brand-zpd,
.brand-zpd {
    --color-brand-50: var(--color-zpd-primary-50);
    --color-brand-100: var(--color-zpd-primary-100);
    --color-brand-200: var(--color-zpd-primary-200);
    --color-brand-300: var(--color-zpd-primary-300);
    --color-brand-400: var(--color-zpd-primary-400);
    --color-brand-500: var(--color-zpd-primary-500);
    --color-brand-600: var(--color-zpd-primary-600);
    --color-brand-700: var(--color-zpd-primary-700);
    --color-brand-800: var(--color-zpd-primary-800);
    --color-brand-900: var(--color-zpd-primary-900);
    --color-brand-950: var(--color-zpd-primary-950);
    --color-brand-secondary-50: var(--color-zpd-secondary-50);
    --color-brand-secondary-100: var(--color-zpd-secondary-100);
    --color-brand-secondary-200: var(--color-zpd-secondary-200);
    --color-brand-secondary-300: var(--color-zpd-secondary-300);
    --color-brand-secondary-400: var(--color-zpd-secondary-400);
    --color-brand-secondary-500: var(--color-zpd-secondary-500);
    --color-brand-secondary-600: var(--color-zpd-secondary-600);
    --color-brand-secondary-700: var(--color-zpd-secondary-700);
    --color-brand-secondary-800: var(--color-zpd-secondary-800);
    --color-brand-secondary-900: var(--color-zpd-secondary-900);
    --color-brand-secondary-950: var(--color-zpd-secondary-950);
}

body.brand-izpd,
.brand-izpd {
    --color-brand-50: var(--color-izpd-primary-50);
    --color-brand-100: var(--color-izpd-primary-100);
    --color-brand-200: var(--color-izpd-primary-200);
    --color-brand-300: var(--color-izpd-primary-300);
    --color-brand-400: var(--color-izpd-primary-400);
    --color-brand-500: var(--color-izpd-primary-500);
    --color-brand-600: var(--color-izpd-primary-600);
    --color-brand-700: var(--color-izpd-primary-700);
    --color-brand-800: var(--color-izpd-primary-800);
    --color-brand-900: var(--color-izpd-primary-900);
    --color-brand-950: var(--color-izpd-primary-950);
    --color-brand-secondary-50: var(--color-izpd-secondary-50);
    --color-brand-secondary-100: var(--color-izpd-secondary-100);
    --color-brand-secondary-200: var(--color-izpd-secondary-200);
    --color-brand-secondary-300: var(--color-izpd-secondary-300);
    --color-brand-secondary-400: var(--color-izpd-secondary-400);
    --color-brand-secondary-500: var(--color-izpd-secondary-500);
    --color-brand-secondary-600: var(--color-izpd-secondary-600);
    --color-brand-secondary-700: var(--color-izpd-secondary-700);
    --color-brand-secondary-800: var(--color-izpd-secondary-800);
    --color-brand-secondary-900: var(--color-izpd-secondary-900);
    --color-brand-secondary-950: var(--color-izpd-secondary-950);
}

body.brand-cdz,
.brand-cdz {
    --color-brand-50: var(--color-cdz-primary-50);
    --color-brand-100: var(--color-cdz-primary-100);
    --color-brand-200: var(--color-cdz-primary-200);
    --color-brand-300: var(--color-cdz-primary-300);
    --color-brand-400: var(--color-cdz-primary-400);
    --color-brand-500: var(--color-cdz-primary-500);
    --color-brand-600: var(--color-cdz-primary-600);
    --color-brand-700: var(--color-cdz-primary-700);
    --color-brand-800: var(--color-cdz-primary-800);
    --color-brand-900: var(--color-cdz-primary-900);
    --color-brand-950: var(--color-cdz-primary-950);
    --color-brand-secondary-50: var(--color-cdz-secondary-50);
    --color-brand-secondary-100: var(--color-cdz-secondary-100);
    --color-brand-secondary-200: var(--color-cdz-secondary-200);
    --color-brand-secondary-300: var(--color-cdz-secondary-300);
    --color-brand-secondary-400: var(--color-cdz-secondary-400);
    --color-brand-secondary-500: var(--color-cdz-secondary-500);
    --color-brand-secondary-600: var(--color-cdz-secondary-600);
    --color-brand-secondary-700: var(--color-cdz-secondary-700);
    --color-brand-secondary-800: var(--color-cdz-secondary-800);
    --color-brand-secondary-900: var(--color-cdz-secondary-900);
    --color-brand-secondary-950: var(--color-cdz-secondary-950);
}

body.brand-cpdp,
.brand-cpdp {
    --color-brand-50: var(--color-cpdp-primary-50);
    --color-brand-100: var(--color-cpdp-primary-100);
    --color-brand-200: var(--color-cpdp-primary-200);
    --color-brand-300: var(--color-cpdp-primary-300);
    --color-brand-400: var(--color-cpdp-primary-400);
    --color-brand-500: var(--color-cpdp-primary-500);
    --color-brand-600: var(--color-cpdp-primary-600);
    --color-brand-700: var(--color-cpdp-primary-700);
    --color-brand-800: var(--color-cpdp-primary-800);
    --color-brand-900: var(--color-cpdp-primary-900);
    --color-brand-950: var(--color-cpdp-primary-950);
    --color-brand-secondary-50: var(--color-cpdp-secondary-50);
    --color-brand-secondary-100: var(--color-cpdp-secondary-100);
    --color-brand-secondary-200: var(--color-cpdp-secondary-200);
    --color-brand-secondary-300: var(--color-cpdp-secondary-300);
    --color-brand-secondary-400: var(--color-cpdp-secondary-400);
    --color-brand-secondary-500: var(--color-cpdp-secondary-500);
    --color-brand-secondary-600: var(--color-cpdp-secondary-600);
    --color-brand-secondary-700: var(--color-cpdp-secondary-700);
    --color-brand-secondary-800: var(--color-cpdp-secondary-800);
    --color-brand-secondary-900: var(--color-cpdp-secondary-900);
    --color-brand-secondary-950: var(--color-cpdp-secondary-950);
}

body.brand-d3p,
.brand-d3p {
    --color-brand-50: var(--color-d3p-primary-50);
    --color-brand-100: var(--color-d3p-primary-100);
    --color-brand-200: var(--color-d3p-primary-200);
    --color-brand-300: var(--color-d3p-primary-300);
    --color-brand-400: var(--color-d3p-primary-400);
    --color-brand-500: var(--color-d3p-primary-500);
    --color-brand-600: var(--color-d3p-primary-600);
    --color-brand-700: var(--color-d3p-primary-700);
    --color-brand-800: var(--color-d3p-primary-800);
    --color-brand-900: var(--color-d3p-primary-900);
    --color-brand-950: var(--color-d3p-primary-950);
    --color-brand-secondary-50: var(--color-d3p-secondary-50);
    --color-brand-secondary-100: var(--color-d3p-secondary-100);
    --color-brand-secondary-200: var(--color-d3p-secondary-200);
    --color-brand-secondary-300: var(--color-d3p-secondary-300);
    --color-brand-secondary-400: var(--color-d3p-secondary-400);
    --color-brand-secondary-500: var(--color-d3p-secondary-500);
    --color-brand-secondary-600: var(--color-d3p-secondary-600);
    --color-brand-secondary-700: var(--color-d3p-secondary-700);
    --color-brand-secondary-800: var(--color-d3p-secondary-800);
    --color-brand-secondary-900: var(--color-d3p-secondary-900);
    --color-brand-secondary-950: var(--color-d3p-secondary-950);
}

body.brand-krizovka,
.brand-krizovka {
    --color-brand-50: var(--color-krizovka-primary-50);
    --color-brand-100: var(--color-krizovka-primary-100);
    --color-brand-200: var(--color-krizovka-primary-200);
    --color-brand-300: var(--color-krizovka-primary-300);
    --color-brand-400: var(--color-krizovka-primary-400);
    --color-brand-500: var(--color-krizovka-primary-500);
    --color-brand-600: var(--color-krizovka-primary-600);
    --color-brand-700: var(--color-krizovka-primary-700);
    --color-brand-800: var(--color-krizovka-primary-800);
    --color-brand-900: var(--color-krizovka-primary-900);
    --color-brand-950: var(--color-krizovka-primary-950);
    --color-brand-secondary-50: var(--color-krizovka-secondary-50);
    --color-brand-secondary-100: var(--color-krizovka-secondary-100);
    --color-brand-secondary-200: var(--color-krizovka-secondary-200);
    --color-brand-secondary-300: var(--color-krizovka-secondary-300);
    --color-brand-secondary-400: var(--color-krizovka-secondary-400);
    --color-brand-secondary-500: var(--color-krizovka-secondary-500);
    --color-brand-secondary-600: var(--color-krizovka-secondary-600);
    --color-brand-secondary-700: var(--color-krizovka-secondary-700);
    --color-brand-secondary-800: var(--color-krizovka-secondary-800);
    --color-brand-secondary-900: var(--color-krizovka-secondary-900);
    --color-brand-secondary-950: var(--color-krizovka-secondary-950);
}

body.brand-teren,
.brand-teren {
    --color-brand-50: var(--color-teren-primary-50);
    --color-brand-100: var(--color-teren-primary-100);
    --color-brand-200: var(--color-teren-primary-200);
    --color-brand-300: var(--color-teren-primary-300);
    --color-brand-400: var(--color-teren-primary-400);
    --color-brand-500: var(--color-teren-primary-500);
    --color-brand-600: var(--color-teren-primary-600);
    --color-brand-700: var(--color-teren-primary-700);
    --color-brand-800: var(--color-teren-primary-800);
    --color-brand-900: var(--color-teren-primary-900);
    --color-brand-950: var(--color-teren-primary-950);
    --color-brand-secondary-50: var(--color-teren-secondary-50);
    --color-brand-secondary-100: var(--color-teren-secondary-100);
    --color-brand-secondary-200: var(--color-teren-secondary-200);
    --color-brand-secondary-300: var(--color-teren-secondary-300);
    --color-brand-secondary-400: var(--color-teren-secondary-400);
    --color-brand-secondary-500: var(--color-teren-secondary-500);
    --color-brand-secondary-600: var(--color-teren-secondary-600);
    --color-brand-secondary-700: var(--color-teren-secondary-700);
    --color-brand-secondary-800: var(--color-teren-secondary-800);
    --color-brand-secondary-900: var(--color-teren-secondary-900);
    --color-brand-secondary-950: var(--color-teren-secondary-950);
}

body.brand-mezipatro,
.brand-mezipatro {
    --color-brand-50: var(--color-mezipatro-primary-50);
    --color-brand-100: var(--color-mezipatro-primary-100);
    --color-brand-200: var(--color-mezipatro-primary-200);
    --color-brand-300: var(--color-mezipatro-primary-300);
    --color-brand-400: var(--color-mezipatro-primary-400);
    --color-brand-500: var(--color-mezipatro-primary-500);
    --color-brand-600: var(--color-mezipatro-primary-600);
    --color-brand-700: var(--color-mezipatro-primary-700);
    --color-brand-800: var(--color-mezipatro-primary-800);
    --color-brand-900: var(--color-mezipatro-primary-900);
    --color-brand-950: var(--color-mezipatro-primary-950);
    --color-brand-secondary-50: var(--color-mezipatro-secondary-50);
    --color-brand-secondary-100: var(--color-mezipatro-secondary-100);
    --color-brand-secondary-200: var(--color-mezipatro-secondary-200);
    --color-brand-secondary-300: var(--color-mezipatro-secondary-300);
    --color-brand-secondary-400: var(--color-mezipatro-secondary-400);
    --color-brand-secondary-500: var(--color-mezipatro-secondary-500);
    --color-brand-secondary-600: var(--color-mezipatro-secondary-600);
    --color-brand-secondary-700: var(--color-mezipatro-secondary-700);
    --color-brand-secondary-800: var(--color-mezipatro-secondary-800);
    --color-brand-secondary-900: var(--color-mezipatro-secondary-900);
    --color-brand-secondary-950: var(--color-mezipatro-secondary-950);
}

body.brand-delta,
.brand-delta {
    --color-brand-50: var(--color-delta-primary-50);
    --color-brand-100: var(--color-delta-primary-100);
    --color-brand-200: var(--color-delta-primary-200);
    --color-brand-300: var(--color-delta-primary-300);
    --color-brand-400: var(--color-delta-primary-400);
    --color-brand-500: var(--color-delta-primary-500);
    --color-brand-600: var(--color-delta-primary-600);
    --color-brand-700: var(--color-delta-primary-700);
    --color-brand-800: var(--color-delta-primary-800);
    --color-brand-900: var(--color-delta-primary-900);
    --color-brand-950: var(--color-delta-primary-950);
    --color-brand-secondary-50: var(--color-delta-secondary-50);
    --color-brand-secondary-100: var(--color-delta-secondary-100);
    --color-brand-secondary-200: var(--color-delta-secondary-200);
    --color-brand-secondary-300: var(--color-delta-secondary-300);
    --color-brand-secondary-400: var(--color-delta-secondary-400);
    --color-brand-secondary-500: var(--color-delta-secondary-500);
    --color-brand-secondary-600: var(--color-delta-secondary-600);
    --color-brand-secondary-700: var(--color-delta-secondary-700);
    --color-brand-secondary-800: var(--color-delta-secondary-800);
    --color-brand-secondary-900: var(--color-delta-secondary-900);
    --color-brand-secondary-950: var(--color-delta-secondary-950);
}

body.brand-horizont,
.brand-horizont {
    --color-brand-50: var(--color-horizont-primary-50);
    --color-brand-100: var(--color-horizont-primary-100);
    --color-brand-200: var(--color-horizont-primary-200);
    --color-brand-300: var(--color-horizont-primary-300);
    --color-brand-400: var(--color-horizont-primary-400);
    --color-brand-500: var(--color-horizont-primary-500);
    --color-brand-600: var(--color-horizont-primary-600);
    --color-brand-700: var(--color-horizont-primary-700);
    --color-brand-800: var(--color-horizont-primary-800);
    --color-brand-900: var(--color-horizont-primary-900);
    --color-brand-950: var(--color-horizont-primary-950);
    --color-brand-secondary-50: var(--color-horizont-secondary-50);
    --color-brand-secondary-100: var(--color-horizont-secondary-100);
    --color-brand-secondary-200: var(--color-horizont-secondary-200);
    --color-brand-secondary-300: var(--color-horizont-secondary-300);
    --color-brand-secondary-400: var(--color-horizont-secondary-400);
    --color-brand-secondary-500: var(--color-horizont-secondary-500);
    --color-brand-secondary-600: var(--color-horizont-secondary-600);
    --color-brand-secondary-700: var(--color-horizont-secondary-700);
    --color-brand-secondary-800: var(--color-horizont-secondary-800);
    --color-brand-secondary-900: var(--color-horizont-secondary-900);
    --color-brand-secondary-950: var(--color-horizont-secondary-950);
}

body.brand-dpp,
.brand-dpp {
    --color-brand-50: var(--color-dpp-primary-50);
    --color-brand-100: var(--color-dpp-primary-100);
    --color-brand-200: var(--color-dpp-primary-200);
    --color-brand-300: var(--color-dpp-primary-300);
    --color-brand-400: var(--color-dpp-primary-400);
    --color-brand-500: var(--color-dpp-primary-500);
    --color-brand-600: var(--color-dpp-primary-600);
    --color-brand-700: var(--color-dpp-primary-700);
    --color-brand-800: var(--color-dpp-primary-800);
    --color-brand-900: var(--color-dpp-primary-900);
    --color-brand-950: var(--color-dpp-primary-950);
    --color-brand-secondary-50: var(--color-dpp-secondary-50);
    --color-brand-secondary-100: var(--color-dpp-secondary-100);
    --color-brand-secondary-200: var(--color-dpp-secondary-200);
    --color-brand-secondary-300: var(--color-dpp-secondary-300);
    --color-brand-secondary-400: var(--color-dpp-secondary-400);
    --color-brand-secondary-500: var(--color-dpp-secondary-500);
    --color-brand-secondary-600: var(--color-dpp-secondary-600);
    --color-brand-secondary-700: var(--color-dpp-secondary-700);
    --color-brand-secondary-800: var(--color-dpp-secondary-800);
    --color-brand-secondary-900: var(--color-dpp-secondary-900);
    --color-brand-secondary-950: var(--color-dpp-secondary-950);
}

body.brand-apa,
.brand-apa {
    --color-brand-50: var(--color-apa-primary-50);
    --color-brand-100: var(--color-apa-primary-100);
    --color-brand-200: var(--color-apa-primary-200);
    --color-brand-300: var(--color-apa-primary-300);
    --color-brand-400: var(--color-apa-primary-400);
    --color-brand-500: var(--color-apa-primary-500);
    --color-brand-600: var(--color-apa-primary-600);
    --color-brand-700: var(--color-apa-primary-700);
    --color-brand-800: var(--color-apa-primary-800);
    --color-brand-900: var(--color-apa-primary-900);
    --color-brand-950: var(--color-apa-primary-950);
    --color-brand-secondary-50: var(--color-apa-secondary-50);
    --color-brand-secondary-100: var(--color-apa-secondary-100);
    --color-brand-secondary-200: var(--color-apa-secondary-200);
    --color-brand-secondary-300: var(--color-apa-secondary-300);
    --color-brand-secondary-400: var(--color-apa-secondary-400);
    --color-brand-secondary-500: var(--color-apa-secondary-500);
    --color-brand-secondary-600: var(--color-apa-secondary-600);
    --color-brand-secondary-700: var(--color-apa-secondary-700);
    --color-brand-secondary-800: var(--color-apa-secondary-800);
    --color-brand-secondary-900: var(--color-apa-secondary-900);
    --color-brand-secondary-950: var(--color-apa-secondary-950);
}


/* =========================================================================
 * Brand-aware utility classes — bg/text/border-brand-{50..950}
 *
 * Use these in blocks (Hero, sections, callouts) instead of brand-specific
 * utilities like bg-d3p-50. The actual color resolves via the brand
 * tokens above, so the same class works for every brand.
 * ======================================================================= */

.bg-brand-50  { background-color: var(--color-brand-50); }
.bg-brand-100 { background-color: var(--color-brand-100); }
.bg-brand-200 { background-color: var(--color-brand-200); }
.bg-brand-300 { background-color: var(--color-brand-300); }
.bg-brand-400 { background-color: var(--color-brand-400); }
.bg-brand-500 { background-color: var(--color-brand-500); }
.bg-brand-600 { background-color: var(--color-brand-600); }
.bg-brand-700 { background-color: var(--color-brand-700); }
.bg-brand-800 { background-color: var(--color-brand-800); }
.bg-brand-900 { background-color: var(--color-brand-900); }
.bg-brand-950 { background-color: var(--color-brand-950); }

.text-brand-50  { color: var(--color-brand-50); }
.text-brand-100 { color: var(--color-brand-100); }
.text-brand-200 { color: var(--color-brand-200); }
.text-brand-300 { color: var(--color-brand-300); }
.text-brand-400 { color: var(--color-brand-400); }
.text-brand-500 { color: var(--color-brand-500); }
.text-brand-600 { color: var(--color-brand-600); }
.text-brand-700 { color: var(--color-brand-700); }
.text-brand-800 { color: var(--color-brand-800); }
.text-brand-900 { color: var(--color-brand-900); }
.text-brand-950 { color: var(--color-brand-950); }

.border-brand-50  { border-color: var(--color-brand-50); }
.border-brand-100 { border-color: var(--color-brand-100); }
.border-brand-200 { border-color: var(--color-brand-200); }
.border-brand-300 { border-color: var(--color-brand-300); }
.border-brand-400 { border-color: var(--color-brand-400); }
.border-brand-500 { border-color: var(--color-brand-500); }
.border-brand-600 { border-color: var(--color-brand-600); }
.border-brand-700 { border-color: var(--color-brand-700); }
.border-brand-800 { border-color: var(--color-brand-800); }
.border-brand-900 { border-color: var(--color-brand-900); }
.border-brand-950 { border-color: var(--color-brand-950); }

.bg-brand-primary-50  { background-color: var(--color-brand-50); }
.bg-brand-primary-100 { background-color: var(--color-brand-100); }
.bg-brand-primary-200 { background-color: var(--color-brand-200); }
.bg-brand-primary-300 { background-color: var(--color-brand-300); }
.bg-brand-primary-400 { background-color: var(--color-brand-400); }
.bg-brand-primary-500 { background-color: var(--color-brand-500); }
.bg-brand-primary-600 { background-color: var(--color-brand-600); }
.bg-brand-primary-700 { background-color: var(--color-brand-700); }
.bg-brand-primary-800 { background-color: var(--color-brand-800); }
.bg-brand-primary-900 { background-color: var(--color-brand-900); }
.bg-brand-primary-950 { background-color: var(--color-brand-950); }

.text-brand-primary-50  { color: var(--color-brand-50); }
.text-brand-primary-100 { color: var(--color-brand-100); }
.text-brand-primary-200 { color: var(--color-brand-200); }
.text-brand-primary-300 { color: var(--color-brand-300); }
.text-brand-primary-400 { color: var(--color-brand-400); }
.text-brand-primary-500 { color: var(--color-brand-500); }
.text-brand-primary-600 { color: var(--color-brand-600); }
.text-brand-primary-700 { color: var(--color-brand-700); }
.text-brand-primary-800 { color: var(--color-brand-800); }
.text-brand-primary-900 { color: var(--color-brand-900); }
.text-brand-primary-950 { color: var(--color-brand-950); }

.border-brand-primary-50  { border-color: var(--color-brand-50); }
.border-brand-primary-100 { border-color: var(--color-brand-100); }
.border-brand-primary-200 { border-color: var(--color-brand-200); }
.border-brand-primary-300 { border-color: var(--color-brand-300); }
.border-brand-primary-400 { border-color: var(--color-brand-400); }
.border-brand-primary-500 { border-color: var(--color-brand-500); }
.border-brand-primary-600 { border-color: var(--color-brand-600); }
.border-brand-primary-700 { border-color: var(--color-brand-700); }
.border-brand-primary-800 { border-color: var(--color-brand-800); }
.border-brand-primary-900 { border-color: var(--color-brand-900); }
.border-brand-primary-950 { border-color: var(--color-brand-950); }

.bg-brand-secondary-50  { background-color: var(--color-brand-secondary-50); }
.bg-brand-secondary-100 { background-color: var(--color-brand-secondary-100); }
.bg-brand-secondary-200 { background-color: var(--color-brand-secondary-200); }
.bg-brand-secondary-300 { background-color: var(--color-brand-secondary-300); }
.bg-brand-secondary-400 { background-color: var(--color-brand-secondary-400); }
.bg-brand-secondary-500 { background-color: var(--color-brand-secondary-500); }
.bg-brand-secondary-600 { background-color: var(--color-brand-secondary-600); }
.bg-brand-secondary-700 { background-color: var(--color-brand-secondary-700); }
.bg-brand-secondary-800 { background-color: var(--color-brand-secondary-800); }
.bg-brand-secondary-900 { background-color: var(--color-brand-secondary-900); }
.bg-brand-secondary-950 { background-color: var(--color-brand-secondary-950); }

.text-brand-secondary-50  { color: var(--color-brand-secondary-50); }
.text-brand-secondary-100 { color: var(--color-brand-secondary-100); }
.text-brand-secondary-200 { color: var(--color-brand-secondary-200); }
.text-brand-secondary-300 { color: var(--color-brand-secondary-300); }
.text-brand-secondary-400 { color: var(--color-brand-secondary-400); }
.text-brand-secondary-500 { color: var(--color-brand-secondary-500); }
.text-brand-secondary-600 { color: var(--color-brand-secondary-600); }
.text-brand-secondary-700 { color: var(--color-brand-secondary-700); }
.text-brand-secondary-800 { color: var(--color-brand-secondary-800); }
.text-brand-secondary-900 { color: var(--color-brand-secondary-900); }
.text-brand-secondary-950 { color: var(--color-brand-secondary-950); }

.border-brand-secondary-50  { border-color: var(--color-brand-secondary-50); }
.border-brand-secondary-100 { border-color: var(--color-brand-secondary-100); }
.border-brand-secondary-200 { border-color: var(--color-brand-secondary-200); }
.border-brand-secondary-300 { border-color: var(--color-brand-secondary-300); }
.border-brand-secondary-400 { border-color: var(--color-brand-secondary-400); }
.border-brand-secondary-500 { border-color: var(--color-brand-secondary-500); }
.border-brand-secondary-600 { border-color: var(--color-brand-secondary-600); }
.border-brand-secondary-700 { border-color: var(--color-brand-secondary-700); }
.border-brand-secondary-800 { border-color: var(--color-brand-secondary-800); }
.border-brand-secondary-900 { border-color: var(--color-brand-secondary-900); }
.border-brand-secondary-950 { border-color: var(--color-brand-secondary-950); }


/* Brand-aware header menu colors */

.main-nav .gb-menu-item {
    color: var(--color-black-500);
}

.main-nav .gb-menu-item:is(:hover, :focus-within) {
    background-color: var(--color-brand-50);
}

.main-nav .gb-menu-item:is(
    .current-menu-item,
    .current-menu-item:hover,
    .current-menu-item:focus-within
) {
    color: var(--color-brand-950);
    font-weight: 700;
}

/* Vertical divider AFTER a menu item */
.main-nav .gb-menu-item.has-divider {
    position: relative;
}
.main-nav .gb-menu-item.has-divider::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 1.5em;
    border-right: 1px solid var(--color-black-200);
}

/*
* Sub-logo wrapper background
*/
.header-sub-logo-bg { background-color: var(--color-brand-50); position: relative; }

/* Visibility swap between the two boxes that share .header-sub-logo-bg */
body.brand-zpd .header-sub-logo-bg:not(.header-l1-box):not(.has-page-logo),
body.brand-zpd-green .header-sub-logo-bg:not(.header-l1-box):not(.has-page-logo),
body.brand-zpd-pink .header-sub-logo-bg:not(.header-l1-box):not(.has-page-logo) { display: none; }

/* L1 box: hidden by default, shown only on zpd/generic pages. */
.header-l1-box { display: none; }
body.brand-zpd .header-l1-box,
body.brand-zpd-green .header-l1-box,
body.brand-zpd-pink .header-l1-box { display: flex; }

/* when a page logo is present, it takes the slot — hide the L1 box. */
body.brand-zpd .header-sub-logo-bg.has-page-logo ~ .header-l1-box,
body.brand-zpd-green .header-sub-logo-bg.has-page-logo ~ .header-l1-box,
body.brand-zpd-pink .header-sub-logo-bg.has-page-logo ~ .header-l1-box { display: none; }

/* L1 "Naše centra" box and L3 center box */
.header-l1-box,
.header-l3-box {
    align-items: center;
    background-color: #fff;
    border: 1px solid var(--color-black-200);
    height: 88px;
    box-sizing: border-box;
}

/* L3 visibility */
.header-l3-box { display: flex; }

/* Brand sub-logo image (L2 box) */
.header-sub-logo {
    height: 48px !important;
    max-height: none !important;
    object-fit: contain;
}

.header-l3-logo {
    display: block;
    height: 32px;
    width: auto;
    margin: 27px 22px;
    object-fit: contain;
}


/*
* Header center-switcher block (zpd/center-switcher)
*/

.wp-block-zpd-center-switcher { position: relative; display: inline-block; }

/* Boxed variant (.is-boxed): brand-aware rounded box */
.wp-block-zpd-center-switcher.is-boxed {
    background-color: var(--color-brand-50);
    border: 1px solid var(--color-brand-100);
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
}

/* L1 "Organizace" */
.header-l1-label {
    color: var(--color-black-500);
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    height: 48px;
    width: auto;
    margin: 20px 22px;
    padding: 0px;
}

.zpd-center-switcher__summary {
    cursor: pointer;
    list-style: none;
    font-weight: 700;
    color: var(--color-brand-950);
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
}

.zpd-center-switcher__summary::-webkit-details-marker { display: none; }
.zpd-center-switcher__chevron {
    flex: none;
    width: 10px;
    height: 6px;
    color: var(--color-brand-300);
    transition: transform 0.15s ease;
}
.wp-block-zpd-center-switcher[open] .zpd-center-switcher__chevron { transform: rotate(180deg); }

/* Caret trigger: no label, just the arrow */
.wp-block-zpd-center-switcher.zpd-center-switcher--trigger-caret {
    display: flex;
    align-self: stretch;
    position: static;
    margin-top: 20px;
    margin-bottom: 20px;
}
.zpd-center-switcher--trigger-caret .zpd-center-switcher__summary {
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    min-height: 100%;
    padding: 0 1.1rem;
    border-left: 1px solid var(--color-brand-100);
}

/* Caret variant */
.zpd-center-switcher--trigger-caret .zpd-center-switcher__list {
    top: 100%;
    left: 0;
    right: auto;
}

.zpd-center-switcher__list {
    position: absolute;
    z-index: 20;
    margin: 0.5rem 0 0;
    padding: 0.5rem;
    list-style: none;
    min-width: max-content;
    background: #fff;
    border: 1px solid var(--color-black-200);
    border-radius: 0.75rem;
    box-shadow: 0 8px 28px rgb(0 0 0 / 0.10);
}

/* Mobile-nav style rows */

.zpd-center-switcher__item > a,
.zpd-center-switcher__item > span {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem;
    border-radius: 0.6rem;
    white-space: nowrap;
    font-size: 1.125rem;
    color: var(--color-black-700, #333);
    text-decoration: none;
    transition: background-color 150ms ease, color 150ms ease, text-decoration-color 150ms ease;
}

/* Logo box */
.zpd-center-switcher__logobox {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5rem;
    height: 3.25rem;
    border-radius: var(--radius-md);
    background-color: var(--color-brand-50);
}

.zpd-center-switcher__logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 4rem;
    max-height: 2rem;
    object-fit: contain;
}

/* Whole-row highlight (hover + current) in the row's own brand tint. */
.zpd-center-switcher__item > a:is(:hover, :focus) {
    background-color: var(--color-brand-50);
    color: var(--color-brand-950);
}
.zpd-center-switcher__item.is-current > span {
    font-weight: 700;
    background-color: var(--color-brand-50);
    color: var(--color-brand-950);
}


/* EXCEPTIONS */
.bg-zpd-secondary-100 { background-color: var(--color-zpd-secondary-100); }
.bg-zpd-secondary-300 { background-color: var(--color-zpd-secondary-300); }


.link-app-zachranka {
    display: inline-flex;
    align-items: center;
    background-image: url('assets/logos/logo-app-zachranka.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 24px;
    padding-left: 28px;
}

.bloom-left {
    background-blend-mode: normal;
    background-image: url(assets/images/zpd-bloom.svg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 2rem auto;
    padding-left: 3rem;
    min-height: calc(2rem + 0.333em);
    margin-bottom: var(--spacing-4);
}

/* Brand Highlight inline format (zpd/highlight) */
mark.zpd-highlight {
    color: var(--color-brand-500);
    background-color: transparent;
}

/* Alert / Infobox bar (CPT `alert`, zpd-alerts.php) */
.alert-item {
    padding: var(--spacing-2);
    border-radius: var(--radius-md);
    margin: var(--spacing-2) 0;
    color: var(--color-black-600);
}

.alert-item * {
    font-size: 0.875rem;
    line-height: 160%;
    letter-spacing: 0px;
}

.alert-item p {
    margin: 0;
}

.alert-item.alert--gray {
    background-color: var(--color-black-100);
}

.alert-item.alert--pink {
    background-color: var(--color-zpd-secondary-100);
}

.alert-item.alert--brand {
    background-color: var(--color-zpd-primary-50);
}

/* Dismiss button - currently disabled */
.alert-item .alert-dismiss {
    margin-left: auto;
    flex: 0 0 auto;
    background: transparent;
    border: 0;
    cursor: pointer;
    line-height: 0;
    padding: 0.25rem;
    color: var(--color-black-900);
}

.alert-item[hidden],
.alert-item.is-dismissed {
    display: none !important;
}


/*
* Center-switcher dropdown: hide the list when closed
*/
.wp-block-zpd-center-switcher:not([open]) .zpd-center-switcher__list {
    display: none;
}


/*
* Mobile navigation (≤768px)
*/
@media (max-width: 768px) {

    .header-sub-logo-bg,
    .header-l1-box,
    .header-l3-box,
    .header-logo-arrow {
        display: none !important;
    }

    .gb-element-245287dc {
        align-items: center;
    }

    .gb-text-cf170e80 {
        width: auto !important;
        margin-left: 0 !important;
        margin-right: 0.5rem;
        font-size: 14px;
        line-height: 1.15;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .gb-menu-toggle--clone {
        display: none !important;
    }

    .gb-menu-toggle {
        position: relative;
        z-index: 40;
    }

    .gb-menu-container.gb-menu-container--mobile {
        background-color: #fff !important;
        color: var(--color-black-900) !important;
        position: fixed !important;
        top: 64px;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto !important;
        max-width: 100vw;
        box-sizing: border-box !important;
        height: auto !important;
        padding: 1rem 8px 2rem !important;
        overflow-x: hidden;
        overflow-y: auto;
        z-index: 30;
    }

    .gb-menu-container--mobile .gb-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0.25rem;
        height: auto !important;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    .gb-menu-container--mobile .gb-menu > *,
    .gb-menu-container--mobile .mobile-nav-institutions,
    .gb-menu-container--mobile .mobile-nav-institutions * {
        max-width: 100%;
        box-sizing: border-box;
    }

    .gb-menu-container--mobile .gb-menu-item {
        color: var(--color-black-900);
        font-size: 1rem;
        align-items: stretch;
        justify-content: flex-start;
    }
    
    .gb-menu-container--mobile .gb-menu-item .gb-menu-link {
        padding: 0.5rem 0 0.5rem calc(1rem + 1px);
        justify-content: flex-start;
    }

    .mobile-nav-institutions {
        order: -1;
        margin-bottom: 0.75rem;
    }
    
    .mobile-nav-institutions .wp-block-zpd-center-switcher {
        display: block;
        width: 100%;
        background: #fff;
        border: 1px solid var(--color-black-300);
        border-radius: var(--radius-sm);
        box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1); /* = .shadow */
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .mobile-nav-institutions .zpd-center-switcher__summary {
        color: var(--color-black-900);
        font-size: 1rem;
        font-weight: 400;
        justify-content: space-between;
        padding: 0.75rem 0;
        width: 100%;
    }

    .mobile-nav-institutions .zpd-center-switcher__chevron {
        width: 16px;
        height: 10px;
        color: var(--color-black-400);
    }
    
    .mobile-nav-institutions .wp-block-zpd-center-switcher .zpd-center-switcher__list {
        position: static;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0.25rem 0 0.5rem;
        background: transparent;
        border: 0;
        box-shadow: none;
        display: block;
        overflow: hidden;
        max-height: 0;             /* JS overrides to scrollHeight when open */
        transition: max-height 0.3s ease;
    }
    
    .mobile-nav-institutions .wp-block-zpd-center-switcher[open] .zpd-center-switcher__list {
        max-height: 1000px;
    }
    
    .mobile-nav-institutions .zpd-center-switcher__item > a,
    .mobile-nav-institutions .zpd-center-switcher__item > span {
        font-size: 0.875rem;
        padding: 0.5rem 0;
        gap: 0.75rem;
        white-space: normal;
        line-height: 1.25;
    }
    
    .mobile-nav-institutions .zpd-center-switcher__logobox {
        flex: none;
        width: 5rem;
        height: 3.25rem;
        padding: 0.5rem;
        box-sizing: border-box;
    }
    
    .mobile-nav-institutions .zpd-center-switcher__logo {
        max-width: 100%;
        max-height: 100%;
    }
}

@media (min-width: 769px) {
    .mobile-nav-institutions {
        display: none !important;
    }
}

.contacts-table .gb-loop-item:nth-child(even) {
  background: var(--color-brand-50);
  border-radius: var(--radius-sm);
}