:root{--lb-overlay-opacity:0.8;--lb-overlay-bg:var(--ccerna-cista);--lb-border-radius:3px;--lb-image-border-width:4px;--lb-image-border-color:var(--cbila);--lb-container-bg:var(--cbila);--lb-text-color:var(--cseda-lightbox-text);--lb-caption-link-color:var(--cmodra-lightbox-link);--lb-number-color:var(--cseda-lightbox-number);--lb-nav-transition-speed:0.6s;--lb-close-transition-speed:0.2s}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:fixed;inset:0;z-index:9999;background-color:var(--lb-overlay-bg);opacity:var(--lb-overlay-opacity);display:none}.lightbox{position:fixed;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:400;outline:0}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:var(--lb-border-radius);border:var(--lb-image-border-width) solid var(--lb-image-border-color)}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:var(--lb-container-bg)}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../img/lightbox/loading.gif) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==')}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../img/lightbox/prev.png) left 48% no-repeat;opacity:0;transition:opacity var(--lb-nav-transition-speed)}.lb-nav a.lb-prev:hover{opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../img/lightbox/next.png) right 48% no-repeat;opacity:0;transition:opacity var(--lb-nav-transition-speed)}.lb-nav a.lb-next:hover{opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:var(--lb-text-color)}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:var(--lb-caption-link-color)}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:var(--lb-number-color)}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../img/lightbox/close.png) top right no-repeat;text-align:right;outline:0;opacity:.7;transition:opacity var(--lb-close-transition-speed)}.lb-data .lb-close:hover{cursor:pointer;opacity:1}
:root {
    color-scheme: light;
    /* PRABOS - centralni barevna paleta */
    --ccerna: #0b0d0c;
    --ccerna2: #10120f;
    --ccerna3: #171b14;
    --cbila: #ffffff;
    --coranzova: #ff6900;
    --coranzova-tmava: #d85f00;
    --coranzova-svetla: #ffad64;
    --czelena: #375517;
    --czelena-svetla: #68833b;
    --cseda-text: #4d514a;
    --cseda-text2: #656a61;
    --cseda-linka: #dedfd9;
    --cseda-svetla: #f4f5f1;
    --cmodra-focus: #2f8bd8;

    /* RGB varianty pro pruhlednost */
    --rgb-cerna: 11, 13, 12;
    --rgb-bila: 255, 255, 255;
    --rgb-oranzova: 255, 105, 0;

    /* zpetna kompatibilita se starsimi styly */
    --ink: var(--ccerna2);
    --ink-soft: var(--cseda-text);
    --paper: var(--cbila);
    --paper-soft: var(--cseda-svetla);
    --line: var(--cseda-linka);
    --orange: var(--coranzova);
    --orange-dark: var(--coranzova-tmava);
    --green: var(--czelena);
    --shadow: 0 18px 55px rgba(13, 17, 11, .1);
    --shell: min(1180px, calc(100% - 40px));

    /* Centralizovane doplnkove barvy - mimo :root se barvy natvrdo nepouzivaji */
    --ccerna-cista: #000000;
    --ctransparentni: transparent;
    --cseda-lightbox-text: #cccccc;
    --cmodra-lightbox-link: #44aaee;
    --cseda-lightbox-number: #999999;

    /* RGB kanaly pro transparentni varianty */
    --rgb-cerna-cista: 0, 0, 0;
    --rgb-cerna3: 23, 27, 20;
    --rgb-zelena-svetla: 104, 131, 59;
    --rgb-12-15-11: 12, 15, 11;
    --rgb-13-15-13: 13, 15, 13;
    --rgb-13-17-11: 13, 17, 11;
    --rgb-15-27-48: 15, 27, 48;
    --rgb-16-19-15: 16, 19, 15;
    --rgb-22-25-18: 22, 25, 18;
    --rgb-4-6-4: 4, 6, 4;
    --rgb-8-10-7: 8, 10, 7;

    /* Dalsi odstiny pouzite ve stavajicich komponentach */
    --c-070807: #070807;
    --c-0c0f0c: #0c0f0c;
    --c-0e100e: #0e100e;
    --c-0e110e: #0e110e;
    --c-11130f: #11130f;
    --c-11140f: #11140f;
    --c-111410: #111410;
    --c-151815: #151815;
    --c-161a15: #161a15;
    --c-171c13: #171c13;
    --c-191b18: #191b18;
    --c-1d211b: #1d211b;
    --c-20231f: #20231f;
    --c-20251c: #20251c;
    --c-262b22: #262b22;
    --c-282b27: #282b27;
    --c-292d27: #292d27;
    --c-2c2e2a: #2c2e2a;
    --c-2d312b: #2d312b;
    --c-30342e: #30342e;
    --c-363a34: #363a34;
    --c-3b4036: #3b4036;
    --c-3b452c: #3b452c;
    --c-3d4439: #3d4439;
    --c-4a5141: #4a5141;
    --c-4c5149: #4c5149;
    --c-59664a: #59664a;
    --c-5e7b34: #5e7b34;
    --c-7f837b: #7f837b;
    --c-aeb3a9: #aeb3a9;
    --c-b9bdb4: #b9bdb4;
    --c-bfc3b8: #bfc3b8;
    --c-c7cac2: #c7cac2;
    --c-c9cbc4: #c9cbc4;
    --c-c9ccc5: #c9ccc5;
    --c-d5d8d0: #d5d8d0;
    --c-d7d9d2: #d7d9d2;
    --c-d8dbd3: #d8dbd3;
    --c-dce0d6: #dce0d6;
    --c-e2e5dd: #e2e5dd;
    --c-e3e5df: #e3e5df;
    --c-e3e6df: #e3e6df;
    --c-e4e6df: #e4e6df;
    --c-e4e6e1: #e4e6e1;
    --c-eef0eb: #eef0eb;
    --c-f1f2ee: #f1f2ee;
    --c-f7f7f4: #f7f7f4;
    --c-f8f5ee: #f8f5ee;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font: 16px/1.55 Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.lb-disable-scrolling { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: var(--ctransparentni); }
:focus-visible { outline: 3px solid var(--cmodra-focus); outline-offset: 3px; }
.skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 20000;
    padding: 10px 15px;
    color: var(--ink);
    background: var(--cbila);
    border-radius: 8px;
    transform: translateY(-160%);
}
.skip-link:focus { transform: translateY(0); }
.site-shell { width: var(--shell); margin-inline: auto; }
.eyebrow {
    margin: 0 0 10px;
    color: var(--coranzova-tmava);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
h1, h2, h3, p { overflow-wrap: break-word; }
h1, h2, h3 { margin-top: 0; line-height: 1.12; }
h1 { font-size: clamp(2.35rem, 5vw, 4.8rem); letter-spacing: -.055em; }
h2 { margin-bottom: 16px; font-size: clamp(1.85rem, 3.3vw, 3.1rem); letter-spacing: -.04em; }
h3 { margin-bottom: 10px; font-size: 1.2rem; }
.button-group { display: flex; flex-wrap: wrap; gap: 12px; }
.button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: 1px solid var(--ctransparentni);
    border-radius: 7px;
    font-size: .84rem;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 160ms ease, background 160ms ease, border 160ms ease, transform 160ms ease;
}
.button:hover { transform: translateY(-2px); }
.button--primary { color: var(--cbila); background: var(--coranzova); border-color: var(--coranzova); }
.button--primary:hover { background: var(--coranzova-tmava); border-color: var(--coranzova-tmava); }
.button--ghost { color: var(--cbila); background: rgba(var(--rgb-cerna-cista), .15); border-color: rgba(var(--rgb-bila), .7); }
.button--ghost:hover { background: rgba(var(--rgb-bila), .13); border-color: var(--cbila); }
.button--outline { color: var(--coranzova-tmava); background: var(--ctransparentni); border-color: var(--coranzova); }
.button--outline:hover { color: var(--cbila); background: var(--coranzova); }
.text-link { color: var(--coranzova-tmava); font-weight: 800; }
.text-link span { display: inline-block; margin-left: 4px; transition: transform 160ms ease; }
.text-link:hover span { transform: translateX(4px); }

.assurance-bar {
    color: var(--c-d8dbd3);
    background: var(--c-070807);
    border-bottom: 1px solid var(--c-2c2e2a);
    font-size: .74rem;
}
.assurance-bar__inner {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.assurance-bar span::before { margin-right: 7px; color: var(--coranzova); content: "◇"; }
.site-header { position: relative; z-index: 100; color: var(--cbila); background: var(--ccerna); }
.main-header {
    display: grid;
    min-height: 82px;
    grid-template-columns: 160px minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
}
.brand {
    position: relative;
    display: block;
    width: 150px;
}
.brand img {
    display: block;
    width: 150px;
    height: auto;
    opacity: 0;
}
.brand::before {
    position: absolute;
    inset: 0;
    background-color: var(--cbila);
    content: "";
    -webkit-mask: url('/img/bcg_logo.webp') center / contain no-repeat;
    mask: url('/img/bcg_logo.webp') center / contain no-repeat;
    transition: background-color .42s ease;
}
.brand:hover::before,
.brand:focus-visible::before {
    background-color: var(--coranzova);
}
.main-navigation ul {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    gap: clamp(13px, 2vw, 28px);
    list-style: none;
}
.main-navigation a {
    position: relative;
    display: block;
    padding: 29px 0 27px;
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.main-navigation a::after {
    position: absolute;
    right: 0;
    bottom: 18px;
    left: 0;
    height: 2px;
    background: var(--coranzova);
    content: "";
    transform: scaleX(0);
    transition: transform 160ms ease;
}
.main-navigation a:hover::after, .main-navigation a:focus-visible::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 3px; }
.icon-button {
    display: flex;
    min-width: 50px;
    min-height: 56px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--cbila);
    background: var(--ctransparentni);
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    text-decoration: none;
    font-style: normal;
    transition: color 180ms ease, background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.icon-button:hover,
.icon-button:focus-visible {
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .10);
    box-shadow: 0 0 0 1px rgba(var(--rgb-oranzova), .18), 0 6px 18px rgba(var(--rgb-oranzova), .10);
    transform: translateY(-1px);
}
.icon-button__label { font-size: .62rem; font-weight: 700; line-height: 1; text-transform: uppercase; }
.search-icon, .account-icon, .favorite-icon, .compare-icon, .cart-icon { position: relative; display: block; width: 24px; height: 24px; }
.search-icon::before {
    position: absolute;
    inset: 1px 5px 5px 1px;
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "";
}
.search-icon::after {
    position: absolute;
    right: 1px;
    bottom: 2px;
    width: 9px;
    height: 2px;
    background: currentColor;
    content: "";
    transform: rotate(45deg);
    transform-origin: right center;
}
.account-icon::before {
    position: absolute;
    top: 0;
    left: 8px;
    width: 8px;
    height: 8px;
    border: 2px solid currentColor;
    border-radius: 50%;
    content: "";
}
.account-icon::after {
    position: absolute;
    right: 3px;
    bottom: 1px;
    left: 3px;
    height: 10px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    content: "";
}
.cart-icon {
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2721%27%20r%3D%271%27%20fill%3D%27black%27%2F%3E%3Ccircle%20cx%3D%2719%27%20cy%3D%2721%27%20r%3D%271%27%20fill%3D%27black%27%2F%3E%3Cpath%20d%3D%27M2.5%202.5h2l2.6%2012.1a2%202%200%200%200%202%201.6h9.3a2%202%200%200%200%202-1.6L22%206.5H5.4%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2721%27%20r%3D%271%27%20fill%3D%27black%27%2F%3E%3Ccircle%20cx%3D%2719%27%20cy%3D%2721%27%20r%3D%271%27%20fill%3D%27black%27%2F%3E%3Cpath%20d%3D%27M2.5%202.5h2l2.6%2012.1a2%202%200%200%200%202%201.6h9.3a2%202%200%200%200%202-1.6L22%206.5H5.4%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.menu-button { display: none; }
.hamburger { display: grid; width: 26px; gap: 5px; }
.hamburger i { display: block; height: 2px; background: currentColor; }
.site-search { color: var(--ink); background: var(--c-f1f2ee); border-top: 1px solid var(--c-2c2e2a); }
.site-search[hidden] { display: none; }
.search-form {
    display: grid;
    padding-block: 18px;
    grid-template-columns: auto minmax(180px, 1fr) auto;
    align-items: center;
    gap: 14px;
}
.search-form label { font-weight: 800; }
.search-form input { min-height: 48px; padding: 10px 14px; border: 1px solid var(--c-c9cbc4); border-radius: 7px; }

.hero {
    min-height: min(650px, 70vh);
    color: var(--cbila);
    background-color: var(--c-161a15);
    background-image: linear-gradient(90deg, rgba(var(--rgb-8-10-7), .94), rgba(var(--rgb-8-10-7), .78) 43%, rgba(var(--rgb-8-10-7), .08) 78%);
    background-position: center;
    background-size: cover;
}
.hero__inner { display: flex; min-height: min(650px, 70vh); align-items: center; }
.hero__content { max-width: 700px; padding-block: 70px; }
.hero .eyebrow, .provenance .eyebrow, .business-cta .eyebrow, .final-cta .eyebrow { color: var(--coranzova-svetla); }
.hero h1 { margin-bottom: 22px; }
.hero h1 em { color: var(--coranzova); font-style: normal; }
.hero__content > p:not(.eyebrow) {
    max-width: 620px;
    margin-bottom: 30px;
    color: var(--c-e3e5df);
    font-size: clamp(1rem, 2vw, 1.22rem);
}
.trust-strip { color: var(--cbila); background: var(--c-1d211b); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-strip__grid div {
    position: relative;
    display: flex;
    min-height: 88px;
    flex-direction: column;
    justify-content: center;
    padding: 18px 24px 18px 52px;
}
.trust-strip__grid div::before {
    position: absolute;
    left: 22px;
    color: var(--coranzova);
    content: "✓";
    font-size: 1.15rem;
    font-weight: 800;
}
.trust-strip__grid div + div { border-left: 1px solid var(--c-3b4036); }
.trust-strip strong { font-size: .92rem; }
.trust-strip span { color: var(--c-b9bdb4); font-size: .77rem; }

.section { padding-block: clamp(70px, 8vw, 110px); }
.section--light { background: var(--paper-soft); }
.section-heading { margin-bottom: 42px; }
.section-heading--center { max-width: 720px; margin-inline: auto; text-align: center; }
.section-heading--center p:last-child { color: var(--ink-soft); }
.section-heading--split { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.section-heading--split h2, .section-heading--split .eyebrow { margin-bottom: 0; }
.section-heading--split h2 { margin-top: 10px; }
.use-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.use-case-card {
    display: grid;
    min-height: 210px;
    grid-template-columns: 42% 1fr;
    overflow: hidden;
    background: var(--cbila);
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(var(--rgb-22-25-18), .04);
    transition: box-shadow 180ms ease, transform 180ms ease;
}
.use-case-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.use-case-card__media { min-height: 100%; overflow: hidden; }
.use-case-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 400ms ease; }
.use-case-card:hover img { transform: scale(1.04); }
.use-case-card__content { display: flex; flex-direction: column; justify-content: center; padding: 24px; }
.use-case-card h3 a { text-decoration: none; }
.use-case-card p { margin: 0 0 18px; color: var(--ink-soft); font-size: .9rem; }
.use-case-card .text-link { margin-top: auto; font-size: .78rem; }

.advisor { background: var(--cbila); }
.advisor-steps { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(3, 1fr); list-style: none; }
.advisor-steps li {
    position: relative;
    display: grid;
    min-height: 170px;
    padding: 30px 34px 30px 88px;
    align-content: center;
    background: var(--c-f7f7f4);
    border: 1px solid var(--line);
}
.advisor-steps li:first-child { border-radius: 12px 0 0 12px; }
.advisor-steps li:last-child { border-radius: 0 12px 12px 0; }
.advisor-steps li + li { border-left: 0; }
.advisor-steps span {
    position: absolute;
    top: 50%;
    left: 28px;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 50%;
    font-weight: 800;
    transform: translateY(-50%);
}
.advisor-steps strong { font-size: 1.02rem; }
.advisor-steps small { margin-top: 7px; color: var(--ink-soft); font-size: .84rem; }
.section-action { margin-top: 28px; text-align: center; }

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--cbila);
    border: 1px solid var(--line);
    border-radius: 12px;
}
.product-card { display: flex; min-width: 0; flex-direction: column; }
.product-card + .product-card { border-left: 1px solid var(--line); }
.product-card__media { position: relative; overflow: hidden; aspect-ratio: 1 / .9; background: var(--cbila); }
.product-card__media > a:first-child { display: block; width: 100%; height: 100%; }
.product-card__media img {
    width: 100%;
    height: 100%;
    padding: 18px;
    object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform 250ms ease;
}
.product-card:hover .product-card__media img { transform: scale(1.035); }
.zoom-link {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: var(--ink);
    background: rgba(var(--rgb-bila), .94);
    border: 1px solid var(--line);
    border-radius: 50%;
    font-size: 1.1rem;
    text-decoration: none;
}
.zoom-link:hover { color: var(--cbila); background: var(--coranzova); border-color: var(--coranzova); }
.product-card__body { display: flex; flex: 1; padding: 24px; flex-direction: column; border-top: 1px solid var(--line); }
.product-label {
    align-self: start;
    margin-bottom: 13px;
    padding: 5px 8px;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 4px;
    font-size: .64rem;
    font-weight: 800;
    text-transform: uppercase;
}
.product-card h3 a { text-decoration: none; }
.product-card p { min-height: 66px; margin: 0 0 22px; color: var(--ink-soft); font-size: .86rem; }
.product-card .button { margin-top: auto; }

.provenance {
    color: var(--cbila);
    background: radial-gradient(circle at 75% 10%, var(--c-3b452c), var(--c-20251c) 34%, var(--c-11130f) 80%);
}
.provenance__grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    align-items: center;
    gap: clamp(50px, 7vw, 100px);
}
.provenance__content p:not(.eyebrow) { margin-bottom: 28px; color: var(--c-c7cac2); }
.provenance__facts { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--c-4a5141); border-radius: 12px; }
.provenance__facts article { min-height: 150px; padding: 30px; }
.provenance__facts article:nth-child(2n) { border-left: 1px solid var(--c-4a5141); }
.provenance__facts article:nth-child(n + 3) { border-top: 1px solid var(--c-4a5141); }
.provenance__facts strong, .provenance__facts span { display: block; }
.provenance__facts strong { margin-bottom: 8px; color: var(--cbila); font-size: 1.3rem; }
.provenance__facts span { color: var(--c-bfc3b8); font-size: .86rem; }

.guide-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.guide-card { padding: clamp(28px, 4vw, 48px); background: var(--cbila); border: 1px solid var(--line); border-radius: 12px; }
.guide-card h2 { font-size: clamp(1.6rem, 2.5vw, 2.25rem); }
.table-wrap { margin: 28px 0 24px; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .8rem; }
th, td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; }
th { color: var(--ink-soft); background: var(--cseda-svetla); font-size: .68rem; text-transform: uppercase; }
.size-guide { background: linear-gradient(140deg, var(--cbila), var(--c-f8f5ee)); }
.size-guide > p:not(.eyebrow) { color: var(--ink-soft); }
.check-list { display: grid; margin: 28px 0; padding: 0; gap: 12px; list-style: none; }
.check-list li { position: relative; padding-left: 28px; }
.check-list li::before { position: absolute; left: 0; color: var(--czelena); content: "✓"; font-weight: 900; }

.business-cta {
    padding-block: 65px;
    color: var(--cbila);
    background: linear-gradient(90deg, rgba(var(--rgb-8-10-7), .95), rgba(var(--rgb-8-10-7), .65));
}
.business-cta__inner, .final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.business-cta__inner > div:first-child, .final-cta__inner > div:first-child { max-width: 720px; }
.business-cta h2, .business-cta p:last-child, .final-cta h2, .final-cta p:last-child { margin-bottom: 0; }
.business-cta h2, .final-cta h2 { font-size: clamp(1.8rem, 3vw, 2.7rem); }
.business-cta p:last-child { color: var(--c-d7d9d2); }
.final-cta { color: var(--cbila); background: var(--c-262b22); }
.final-cta .button--outline { color: var(--cbila); }

.site-footer { padding-top: 64px; color: var(--c-c9ccc5); background: var(--ccerna); }
.footer-grid { display: grid; padding-bottom: 50px; grid-template-columns: repeat(4, 1fr); gap: 36px; }
.site-footer h2 {
    margin-bottom: 18px;
    color: var(--cbila);
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.site-footer ul { display: grid; margin: 0; padding: 0; gap: 8px; list-style: none; }
.site-footer a, .site-footer address { color: var(--c-b9bdb4); font-size: .82rem; font-style: normal; }
.site-footer a:hover { color: var(--coranzova); }
.footer-contact { display: flex; flex-direction: column; gap: 8px; }
.footer-contact h2 { margin-bottom: 10px; }
.footer-bottom {
    display: flex;
    min-height: 66px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid var(--c-282b27);
    color: var(--c-7f837b);
    font-size: .72rem;
}

.placeholder {
    position: relative;
    display: grid;
    min-height: 100svh;
    padding: 30px;
    place-items: center;
    overflow: hidden;
    background: var(--c-11140f);
}
.placeholder__backdrop {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(var(--rgb-8-10-7), .94), rgba(var(--rgb-8-10-7), .58));
    transform: scale(1.03);
}
.placeholder__panel {
    position: relative;
    width: min(760px, 100%);
    padding: clamp(34px, 7vw, 72px);
    color: var(--cbila);
    background: rgba(var(--rgb-cerna), .88);
    border: 1px solid rgba(var(--rgb-bila), .18);
    border-radius: 20px;
    box-shadow: 0 35px 90px rgba(var(--rgb-cerna-cista), .35);
    backdrop-filter: blur(8px);
}
.placeholder__logo { width: 175px; height: auto; margin-bottom: 46px; filter: grayscale(1) brightness(0) invert(1); }
.placeholder h1 { max-width: 650px; margin-bottom: 24px; font-size: clamp(2.3rem, 6vw, 4.5rem); }
.placeholder__lead { max-width: 650px; color: var(--c-d5d8d0); font-size: 1.08rem; }
.placeholder__facts { display: flex; margin-block: 36px; flex-wrap: wrap; gap: 10px; }
.placeholder__facts span {
    padding: 8px 12px;
    color: var(--c-dce0d6);
    background: rgba(var(--rgb-bila), .06);
    border: 1px solid rgba(var(--rgb-bila), .15);
    border-radius: 999px;
    font-size: .76rem;
}
.placeholder__facts span::before { margin-right: 6px; color: var(--coranzova); content: "✓"; }
.placeholder__contact {
    display: flex;
    padding-top: 24px;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 22px;
    border-top: 1px solid rgba(var(--rgb-bila), .18);
}
.placeholder__contact p { width: 100%; margin: 0; color: var(--c-aeb3a9); font-size: .78rem; text-transform: uppercase; }
.placeholder__contact a { color: var(--cbila); font-weight: 800; }
.not-ready { display: grid; min-height: 100svh; padding: 30px; place-items: center; background: var(--paper-soft); }
.not-ready__panel {
    width: min(680px, 100%);
    padding: clamp(34px, 6vw, 64px);
    background: var(--cbila);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    text-align: center;
}
.not-ready__panel img { width: 150px; height: auto; margin: 0 auto 36px; }
.not-ready__panel p:not(.eyebrow) { margin-bottom: 28px; color: var(--ink-soft); }
.lightboxOverlay, .lightbox { z-index: 10000; }

@media (max-width: 1100px) {
    .main-header { grid-template-columns: 130px minmax(0, 1fr) auto; gap: 16px; }
    .brand, .brand img { width: 125px; }
    .main-navigation ul { gap: 14px; }
    .main-navigation a { font-size: .69rem; }
    .use-case-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
    .product-card:nth-child(3) { border-top: 1px solid var(--line); border-left: 0; }
    .product-card:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 860px) {
    :root { --shell: min(100% - 28px, 720px); }
    .assurance-bar { display: none; }
    .main-header {
        position: relative;
        min-height: 76px;
        grid-template-columns: 54px minmax(105px, 1fr) auto;
        gap: 8px;
    }
    .menu-button { display: flex; }
    .brand, .brand img { width: 135px; }
    .main-navigation {
        position: absolute;
        top: 100%;
        right: -14px;
        left: -14px;
        display: none;
        color: var(--ink);
        background: var(--cbila);
        border-bottom: 1px solid var(--line);
        box-shadow: 0 16px 35px rgba(var(--rgb-cerna-cista), .16);
    }
    .main-navigation.is-open { display: block; }
    .main-navigation ul { display: grid; padding: 12px 14px 18px; gap: 0; }
    .main-navigation a { padding: 14px 8px; border-bottom: 1px solid var(--line); font-size: .86rem; }
    .main-navigation a::after { display: none; }
    .header-actions { gap: 0; }
    .icon-button { min-width: 47px; }
    .icon-button__label { font-size: .56rem; }
    .search-form { grid-template-columns: 1fr auto; }
    .search-form label { grid-column: 1 / -1; }
    .hero {
        min-height: 720px;
        background-image: linear-gradient(180deg, rgba(var(--rgb-8-10-7), .38), rgba(var(--rgb-8-10-7), .58) 38%, rgba(var(--rgb-8-10-7), .97) 82%);
        background-position: 58% center;
    }
    .hero__inner { min-height: 720px; align-items: end; }
    .hero__content { max-width: 640px; padding-block: 80px 58px; }
    .hero h1 { font-size: clamp(2.35rem, 8vw, 4rem); }
    .trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
    .trust-strip__grid div:nth-child(3) { border-top: 1px solid var(--c-3b4036); border-left: 0; }
    .trust-strip__grid div:nth-child(4) { border-top: 1px solid var(--c-3b4036); }
    .advisor-steps { grid-template-columns: 1fr; gap: 10px; }
    .advisor-steps li, .advisor-steps li:first-child, .advisor-steps li:last-child { border: 1px solid var(--line); border-radius: 10px; }
    .provenance__grid, .guide-grid { grid-template-columns: 1fr; }
    .business-cta__inner, .final-cta__inner { align-items: start; flex-direction: column; }
}


@media (max-width: 620px) {
    :root { --shell: calc(100% - 24px); }
    body { font-size: 15px; }
    .main-header { min-height: 70px; grid-template-columns: 45px minmax(88px, 1fr) auto; }
    .brand, .brand img { width: 112px; }
    .icon-button { min-width: 40px; min-height: 52px; }
    .icon-button__label { display: none; }
    .menu-button .icon-button__label { display: block; }
    .search-form { grid-template-columns: 1fr; }
    .hero, .hero__inner { min-height: 680px; }
    .hero__content > p:not(.eyebrow) { font-size: 1rem; }
    .button-group, .button-group .button { width: 100%; }
    .trust-strip__grid div { min-height: 94px; padding: 15px 10px 15px 35px; }
    .trust-strip__grid div::before { left: 13px; }
    .trust-strip strong { font-size: .78rem; }
    .trust-strip span { font-size: .68rem; }
    .section { padding-block: 62px; }
    .section-heading--split { align-items: start; flex-direction: column; }
    .use-case-grid, .product-grid { grid-template-columns: 1fr; }
    .use-case-card { min-height: 190px; grid-template-columns: 40% 1fr; }
    .use-case-card__content { padding: 20px; }
    .advisor-steps li { min-height: 145px; }
    .product-card + .product-card, .product-card:nth-child(3), .product-card:nth-child(4) { border-top: 1px solid var(--line); border-left: 0; }
    .product-card__media { aspect-ratio: 1 / .78; }
    .product-card p { min-height: auto; }
    .provenance__facts { grid-template-columns: 1fr; }
    .provenance__facts article:nth-child(2n) { border-left: 0; }
    .provenance__facts article + article { border-top: 1px solid var(--c-4a5141); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-bottom { padding-block: 20px; align-items: start; flex-direction: column; justify-content: center; }
    .placeholder { padding: 12px; }
    .placeholder__panel { padding: 32px 24px; border-radius: 14px; }
    .placeholder__logo { margin-bottom: 35px; }
    .placeholder__facts { display: grid; }
    .placeholder__contact { align-items: start; flex-direction: column; }
}

@media (max-width: 420px) {
    .footer-grid { grid-template-columns: 1fr; }
    .use-case-card { grid-template-columns: 38% 1fr; }
    .use-case-card__content { padding: 17px; }
    .use-case-card h3 { font-size: 1rem; }
    .use-case-card p { font-size: .8rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Sdílené komponenty podstránek */
.content-carousel-holder {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.content-carousel {
    display: flex;
    width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-behavior: smooth;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
}

.content-carousel::-webkit-scrollbar { display: none; }
.content-carousel > * { flex: 0 0 100%; scroll-snap-align: start; }

.content-carousel-navigation {
    position: absolute;
    z-index: 2;
    inset: 50% 20px auto;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
    transform: translateY(-50%);
}

.content-carousel-button {
    width: 48px;
    height: 48px;
    padding: 0;
    color: var(--cbila);
    background: rgba(var(--rgb-15-27-48), .82);
    border: 1px solid rgba(var(--rgb-bila), .4);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: auto;
}

.content-carousel-button::before { font-size: 30px; line-height: 1; }
.content-carousel-button--previous::before { content: '‹'; }
.content-carousel-button--next::before { content: '›'; }

.video-embed {
    width: 100%;
    overflow: hidden;
    background: var(--ccerna-cista);
    aspect-ratio: 16 / 9;
}

.video-embed iframe { width: 100%; height: 100%; border: 0; }
.lightbox-gallery-item img { display: block; width: 100%; height: auto; }
.product-card-image { width: 100%; }

/* ========================================================================== */
/* PRABOS homepage - banner c. 2                                              */
/* ========================================================================== */
.homepage-benefits { display: none; }
.homepage-hero { overflow: hidden; color: var(--cbila); background: var(--ccerna3); }
.homepage-hero__grid { display: grid; width: 100%; grid-template-columns: 1fr; }
.homepage-hero__image { min-height: 240px; overflow: hidden; background: var(--ccerna3); }
.homepage-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.homepage-hero__image--right { display: none; }
.homepage-hero__content { display: flex; padding: 42px 24px 48px; flex-direction: column; align-items: center; justify-content: center; text-align: center; background: var(--ccerna3); }
.homepage-hero__content h1 { margin: 0 0 18px; color: var(--cbila); font-size: clamp(2rem, 9vw, 2.8rem); line-height: 1.05; letter-spacing: -.04em; }
.homepage-hero__content h1 em { color: var(--coranzova); font-style: normal; }
.homepage-hero__anotace,.homepage-hero__text { color: var(--c-e4e6df); font-size: 1rem; line-height: 1.5; }
.homepage-hero__anotace p,.homepage-hero__text p { margin: 0 0 14px; }
.homepage-hero__buttons { width: 100%; margin-top: 18px; }
body.page-homepage .hero { background-image: none; }


/* ========================================================================== */
/* PRABOS 2026 - homepage / mobil                                             */
/* ========================================================================== */

.main-header {
    min-height: 64px;
    grid-template-columns: 44px minmax(105px, 1fr) auto;
    gap: 8px;
}

.brand,
.brand img {
    width: 112px;
}


.header-actions .icon-button {
    min-width: 38px;
    min-height: 48px;
}

.main-navigation a {
    font-size: .84rem;
}

.homepage-benefits {
    display: block;
    background: var(--cbila);
    border-bottom: 1px solid var(--cseda-linka);
}

.homepage-benefits__inner {
    position: relative;
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: flex-end;
}

.homepage-benefits__items {
    display: none;
}

.homepage-benefits__settings {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: stretch;
    gap: 2px;
}

.homepage-switch {
    position: relative;
    display: flex;
    align-items: stretch;
}

.homepage-switch__current {
    display: inline-flex;
    min-width: 58px;
    min-height: 34px;
    padding: 0 9px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--czelena);
    background: var(--ctransparentni);
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    font-size: .74rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    transition: color .2s ease, background-color .2s ease;
}

.homepage-switch.is-open .homepage-switch__current {
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .07);
}

.homepage-switch__current span {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transform-origin: center;
    transition: transform .24s ease;
}

.homepage-switch.is-open .homepage-switch__current span {
    transform: translateY(2px) rotate(225deg);
}

.homepage-switch__menu {
    position: absolute;
    top: calc(100% + 7px);
    right: 0;
    z-index: 240;
    display: grid;
    min-width: 96px;
    padding: 6px;
    overflow: hidden;
    color: var(--cbila);
    background: var(--ccerna2);
    border: 1px solid rgba(var(--rgb-bila), .12);
    border-top: 2px solid var(--coranzova);
    border-radius: 9px;
    box-shadow: 0 14px 34px rgba(var(--rgb-cerna), .24);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px) scale(.98);
    transform-origin: top right;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.homepage-switch.is-open .homepage-switch__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.homepage-switch__menu a {
    position: relative;
    display: block;
    padding: 9px 12px;
    color: var(--cbila);
    border-radius: 6px;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
}

.homepage-switch__menu a + a {
    border-top: 1px solid rgba(var(--rgb-bila), .09);
}

.homepage-switch__menu a.selected {
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .14);
}

.homepage-switch__menu a.selected::before {
    position: absolute;
    top: 50%;
    left: 4px;
    width: 3px;
    height: 14px;
    background: var(--coranzova);
    border-radius: 2px;
    content: "";
    transform: translateY(-50%);
}

.homepage-banner-slider {
    overflow: hidden;
    background: var(--ccerna3);
}

.homepage-banner-slide__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "left right"
        "content content";
}

.homepage-banner-slide__image--left { grid-area: left; }
.homepage-banner-slide__image--right { grid-area: right; }

.homepage-banner-slide__image {
    min-height: 170px;
}

.homepage-banner-slide__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-banner-slide__content {
    grid-area: content;
    padding: 30px 20px 34px;
    color: var(--cbila);
    background: var(--ccerna3);
    text-align: center;
}

.homepage-banner-slide__content::before,
.homepage-banner-slide__content::after {
    display: none;
}

.homepage-banner-slide__content h1,
.homepage-banner-slide__content h2,
.homepage-banner-slide__content h3 {
    margin: 0 0 13px;
    color: var(--cbila);
    font-size: clamp(1.85rem, 8vw, 2.45rem);
    line-height: 1.04;
}

.homepage-banner-slide__content p {
    margin: 0 0 10px;
    color: var(--c-e2e5dd);
    font-size: .94rem;
    line-height: 1.45;
}

.homepage-banner-slide__buttons {
    display: flex;
    margin-top: 20px;
    flex-direction: column;
    gap: 10px;
}

.banner-button {
    width: 100%;
}

.homepage-banner-trust__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: 5px;
}

.homepage-banner-trust__item {
    justify-content: flex-start;
    padding: 8px 12px;
    border-right: 1px solid rgba(var(--rgb-bila), .10);
    font-size: .70rem;
    white-space: normal;
}

.homepage-banner-trust__item:nth-child(2n) {
    border-right: 0;
}

.homepage-banner-trust__item:nth-child(n+3) {
    border-top: 1px solid rgba(var(--rgb-bila), .08);
}

body.page-homepage .hero {
    display: none;
}

.brand__text { color:var(--cbila); font-size:1.05rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }

/* Pocet kusu v kosiku */
.header-actions .icon-button {
    position: relative;
    overflow: visible;
}
.cart-badge {
    position: absolute;
    top: 1px;
    right: 0;
    display: inline-flex;
    min-width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    color: var(--cbila);
    background: var(--coranzova);
    border: 2px solid var(--ccerna);
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 9px;
    font-weight: 800;
    font-style: normal;
    line-height: 1;
    pointer-events: none;
    transform: none !important;
    z-index: 3;
}
.header-actions .icon-button:hover .favorite-badge,
.header-actions .icon-button:hover .compare-badge,
.header-actions .icon-button:hover .cart-badge,
.header-actions .icon-button:focus-visible .favorite-badge,
.header-actions .icon-button:focus-visible .compare-badge,
.header-actions .icon-button:focus-visible .cart-badge {
    color: var(--ccerna);
    background: var(--cbila);
    box-shadow: 0 0 0 2px rgba(var(--rgb-oranzova), .35);
    transform: scale(1.08) !important;
}


/* ========================================================================== */
/* PRABOS 2026 - hlavni menu + podmenu                                        */
/* ========================================================================== */
.main-navigation > .menu {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    gap: clamp(9px, 1.05vw, 16px);
    list-style: none;
}

.main-navigation > .menu > .menu-item {
    position: relative;
    display: flex;
    align-items: center;
}

.main-navigation > .menu > .menu-item > .a-menu {
    padding: 22px 0 20px;
    color: var(--cbila);
    font-size: clamp(.88rem, .9vw, 1rem);
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color .22s ease;
}

.main-navigation > .menu > .menu-item > .a-menu:hover,
.main-navigation > .menu > .menu-item > .a-menu:focus-visible,
.main-navigation > .menu > .menu-item > .a-menu.selected,
.main-navigation > .menu > .menu-item.submenu-open > .a-menu {
    color: var(--coranzova);
}

.main-navigation .submenu-toggle {
    position: relative;
    display: inline-flex;
    width: 22px;
    height: 36px;
    margin: 0 0 0 3px;
    padding: 0;
    align-items: center;
    justify-content: center;
    color: rgba(var(--rgb-bila), .72);
    background: var(--ctransparentni);
    border: 0;
    border-radius: 6px;
    cursor: pointer;
    transition: color .22s ease, background-color .22s ease, transform .22s ease;
}

.main-navigation .submenu-toggle:hover,
.main-navigation .submenu-toggle:focus-visible,
.main-navigation .submenu-open > .submenu-toggle {
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .10);
}

.main-navigation .submenu-toggle__icon {
    display: block;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .22s ease;
}

.main-navigation .submenu-open > .submenu-toggle .submenu-toggle__icon {
    transform: translateY(2px) rotate(225deg);
}

.main-navigation .podmenu {
    position: absolute;
    top: calc(100% - 7px);
    left: 50%;
    z-index: 400;
    display: block;
    min-width: 250px;
    margin: 0;
    padding: 9px;
    color: var(--cbila);
    background: var(--ccerna2);
    border: 1px solid rgba(var(--rgb-bila), .10);
    border-top: 2px solid var(--coranzova);
    border-radius: 0 0 10px 10px;
    box-shadow: 0 20px 42px rgba(var(--rgb-cerna), .36);
    list-style: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 10px);
    transition: opacity .18s ease, visibility .18s ease, transform .22s ease;
}

.main-navigation .menu-item:hover > .podmenu,
.main-navigation .menu-item:focus-within > .podmenu,
.main-navigation .menu-item.submenu-open > .podmenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.main-navigation .podmenu-item {
    position: relative;
    display: flex;
    align-items: center;
}

.main-navigation .podmenu-item > a {
    position: relative;
    display: block;
    width: 100%;
    padding: 11px 36px 11px 14px;
    color: rgba(var(--rgb-bila), .88);
    border: 0;
    border-radius: 6px;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease, padding-left .2s ease;
}

.main-navigation .podmenu-item > a::after {
    display: none;
}

.main-navigation .podmenu-item > a::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 0;
    background: var(--coranzova);
    border-radius: 3px;
    content: "";
    transform: translateY(-50%);
    transition: height .2s ease;
}

.main-navigation .podmenu-item:hover > a,
.main-navigation .podmenu-item:focus-within > a,
.main-navigation .podmenu-item.submenu-open > a {
    padding-left: 19px;
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .09);
}

.main-navigation .podmenu-item:hover > a::before,
.main-navigation .podmenu-item:focus-within > a::before,
.main-navigation .podmenu-item.submenu-open > a::before {
    height: 22px;
}

.main-navigation .podmenu-item > .submenu-toggle {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 26px;
    height: 30px;
    margin: 0;
    transform: translateY(-50%);
}

.main-navigation .podmenu-item > .submenu-toggle .submenu-toggle__icon {
    transform: translateX(-2px) rotate(-45deg);
}

.main-navigation .podmenu-item.submenu-open > .submenu-toggle .submenu-toggle__icon {
    transform: translateX(1px) rotate(135deg);
}

.main-navigation .podmenu-level2 {
    top: -11px;
    left: calc(100% + 7px);
    border-top-width: 1px;
    border-left: 2px solid var(--coranzova);
    border-radius: 8px;
    transform: translate(10px, 0);
}

.main-navigation .podmenu-item:hover > .podmenu-level2,
.main-navigation .podmenu-item:focus-within > .podmenu-level2,
.main-navigation .podmenu-item.submenu-open > .podmenu-level2 {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(0, 0);
}

@media (max-width: 860px) {
    .main-navigation > .menu {
        display: grid;
        padding: 10px 14px 16px;
        gap: 0;
    }

    .main-navigation > .menu > .menu-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 46px;
        align-items: center;
        border-bottom: 1px solid var(--cseda-linka);
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        padding: 15px 8px;
        color: var(--ccerna2);
        border: 0;
        font-size: .92rem;
    }

    .main-navigation > .menu > .menu-item > .submenu-toggle {
        width: 42px;
        height: 42px;
        margin: 0;
        justify-self: end;
        color: var(--ccerna2);
    }

    .main-navigation .podmenu {
        position: static;
        grid-column: 1 / -1;
        min-width: 0;
        width: 100%;
        max-height: 0;
        margin: 0;
        padding: 0 0 0 10px;
        overflow: hidden;
        color: var(--ccerna2);
        background: var(--cseda-svetla);
        border: 0;
        border-left: 2px solid var(--coranzova);
        border-radius: 0;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: max-height .28s ease, padding .28s ease;
    }

    .main-navigation .has-submenu:not(.submenu-open) > .podmenu {
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    .main-navigation .has-submenu.submenu-open > .podmenu {
        max-height: 900px;
        padding-top: 7px;
        padding-bottom: 9px;
    }

    .main-navigation .podmenu-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 42px;
    }

    .main-navigation .podmenu-item > a {
        padding: 11px 12px;
        color: var(--ccerna2);
        white-space: normal;
    }

    .main-navigation .podmenu-item:hover > a,
    .main-navigation .podmenu-item:focus-within > a,
    .main-navigation .podmenu-item.submenu-open > a {
        padding-left: 16px;
        color: var(--coranzova-tmava);
        background: rgba(var(--rgb-oranzova), .08);
    }

    .main-navigation .podmenu-item > .submenu-toggle {
        position: static;
        width: 38px;
        height: 38px;
        margin: 0;
        color: var(--ccerna2);
        transform: none;
    }

    .main-navigation .podmenu-item > .submenu-toggle .submenu-toggle__icon {
        transform: translateY(-2px) rotate(45deg);
    }

    .main-navigation .podmenu-item.submenu-open > .submenu-toggle .submenu-toggle__icon {
        transform: translateY(2px) rotate(225deg);
    }

    .main-navigation .podmenu-level2 {
        grid-column: 1 / -1;
        margin-left: 10px;
        border-left: 2px solid var(--coranzova-svetla);
    }
}


@media (min-width: 861px) and (max-width: 1240px) {
    .main-header {
        grid-template-columns: 118px minmax(0, 1fr) 118px;
        gap: 12px;
    }
    .brand,
    .brand img {
        width: 110px;
    }
    .main-navigation > .menu {
        gap: 9px;
    }
    .main-navigation > .menu > .menu-item > .a-menu {
        font-size: .82rem;
    }
    .main-navigation .submenu-toggle {
        width: 18px;
        margin-left: 1px;
    }
}


/* ========================================================================== */
/* PRABOS 2026 - mobilni burger + tmave mobilni menu                           */
/* ========================================================================== */
@media (max-width: 860px) {
    /* Burger je prvni prvek hlavicky. Tri carky se meni na krizek. */
    .main-header .menu-button {
        display: inline-flex !important;
        position: relative;
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
        padding: 0;
        align-items: center;
        justify-content: center;
        align-self: center;
        color: var(--cbila);
        background: rgba(var(--rgb-bila), .045);
        border: 1px solid rgba(var(--rgb-bila), .16);
        border-radius: 10px;
        cursor: pointer;
        transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .main-header .menu-button:hover,
    .main-header .menu-button:focus-visible,
    .main-header .menu-button[aria-expanded='true'] {
        color: var(--coranzova);
        background: rgba(var(--rgb-oranzova), .09);
        border-color: rgba(var(--rgb-oranzova), .48);
        box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .08);
    }

    .main-header .menu-icon {
        display: block;
        position: relative;
        width: 22px;
        height: 2px;
        color: inherit;
        background: currentColor;
        border-radius: 999px;
        transition: background-color .18s ease;
    }

    .main-header .menu-icon::before,
    .main-header .menu-icon::after {
        position: absolute;
        left: 0;
        width: 22px;
        height: 2px;
        content: '';
        background: currentColor;
        border-radius: 999px;
        transform-origin: center;
        transition: top .24s ease, transform .28s cubic-bezier(.4,0,.2,1), width .24s ease;
    }

    .main-header .menu-icon::before { top: -7px; }
    .main-header .menu-icon::after { top: 7px; }

    .main-header .menu-button[aria-expanded='true'] .menu-icon,
    .main-header .menu-button.is-active .menu-icon {
        background: var(--ctransparentni);
    }

    .main-header .menu-button[aria-expanded='true'] .menu-icon::before,
    .main-header .menu-button.is-active .menu-icon::before {
        top: 0;
        transform: rotate(45deg);
    }

    .main-header .menu-button[aria-expanded='true'] .menu-icon::after,
    .main-header .menu-button.is-active .menu-icon::after {
        top: 0;
        transform: rotate(-45deg);
    }

    /* Hlavni mobilni panel - tmavy PRABOS vzhled a plynule rozbaleni. */
    .main-header .main-navigation {
        display: block !important;
        position: absolute;
        top: 100%;
        right: -14px;
        left: -14px;
        z-index: 120;
        max-height: 0;
        overflow: hidden;
        color: var(--cbila);
        background: linear-gradient(180deg, var(--ccerna2), var(--ccerna));
        border-top: 1px solid rgba(var(--rgb-bila), .08);
        border-bottom: 1px solid rgba(var(--rgb-bila), .08);
        box-shadow: 0 18px 38px rgba(var(--rgb-cerna-cista), .30);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-8px);
        transition: max-height .42s cubic-bezier(.4,0,.2,1), opacity .22s ease, transform .30s ease, visibility 0s linear .42s;
    }

    .main-header .main-navigation.is-open {
        max-height: calc(100vh - 70px);
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition: max-height .42s cubic-bezier(.4,0,.2,1), opacity .22s ease, transform .30s ease, visibility 0s;
        overscroll-behavior: contain;
    }

    .main-navigation > .menu {
        display: grid;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 9px 12px 14px;
        gap: 0;
        background: var(--ctransparentni);
    }

    .main-navigation > .menu > .menu-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 44px;
        width: 100%;
        height: auto;
        align-items: center;
        border-bottom: 1px solid rgba(var(--rgb-bila), .085);
    }

    .main-navigation > .menu > .menu-item:last-child {
        border-bottom: 0;
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        display: flex;
        width: 100%;
        height: auto;
        min-height: 48px;
        padding: 13px 10px;
        align-items: center;
        color: rgba(var(--rgb-bila), .93);
        border: 0;
        font-size: .94rem;
        font-weight: 650;
        line-height: 1.2;
        transition: color .22s ease, padding-left .22s ease, background-color .22s ease;
    }

    .main-navigation > .menu > .menu-item > .a-menu:hover,
    .main-navigation > .menu > .menu-item > .a-menu:focus-visible,
    .main-navigation > .menu > .menu-item > .a-menu.selected,
    .main-navigation > .menu > .menu-item.submenu-open > .a-menu {
        padding-left: 14px;
        color: var(--coranzova);
        background: linear-gradient(90deg, rgba(var(--rgb-oranzova), .10), var(--ctransparentni) 72%);
    }

    .main-navigation > .menu > .menu-item > .submenu-toggle,
    .main-navigation .podmenu-item > .submenu-toggle {
        display: inline-flex;
        position: static;
        width: 38px;
        min-width: 38px;
        height: 38px;
        margin: 0 3px 0 0;
        padding: 0;
        align-items: center;
        justify-content: center;
        justify-self: end;
        color: rgba(var(--rgb-bila), .72);
        background: rgba(var(--rgb-bila), .035);
        border: 1px solid rgba(var(--rgb-bila), .10);
        border-radius: 8px;
        cursor: pointer;
        transition: color .22s ease, background-color .22s ease, border-color .22s ease;
        transform: none;
    }

    .main-navigation .submenu-toggle:hover,
    .main-navigation .submenu-toggle:focus-visible,
    .main-navigation .submenu-open > .submenu-toggle {
        color: var(--coranzova);
        background: rgba(var(--rgb-oranzova), .10);
        border-color: rgba(var(--rgb-oranzova), .32);
    }

    .main-navigation .submenu-toggle__icon {
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: translateY(-2px) rotate(45deg);
        transition: transform .25s ease;
    }

    .main-navigation .submenu-open > .submenu-toggle .submenu-toggle__icon,
    .main-navigation .podmenu-item.submenu-open > .submenu-toggle .submenu-toggle__icon {
        transform: translateY(2px) rotate(225deg);
    }

    /* 1. uroven podmenu jako vlozena tmava karta. */
    .main-navigation .podmenu {
        display: block;
        position: static;
        grid-column: 1 / -1;
        width: auto;
        min-width: 0;
        max-height: 0;
        margin: 0 5px;
        padding: 0;
        overflow: hidden;
        color: var(--cbila);
        background: var(--c-151815);
        border: 1px solid var(--ctransparentni);
        border-radius: 10px;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: max-height .34s cubic-bezier(.4,0,.2,1), margin .28s ease, padding .28s ease, border-color .28s ease;
    }

    .main-navigation .has-submenu:not(.submenu-open) > .podmenu {
        max-height: 0;
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        border-color: var(--ctransparentni);
    }

    .main-navigation .has-submenu.submenu-open > .podmenu {
        max-height: 1400px;
        margin-top: 2px;
        margin-bottom: 10px;
        padding: 6px;
        border-color: rgba(var(--rgb-bila), .08);
    }

    .main-navigation .podmenu-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 40px;
        position: relative;
        border-bottom: 1px solid rgba(var(--rgb-bila), .065);
    }

    .main-navigation .podmenu-item:last-child {
        border-bottom: 0;
    }

    .main-navigation .podmenu-item > a {
        display: flex;
        min-height: 43px;
        padding: 10px 12px;
        align-items: center;
        color: rgba(var(--rgb-bila), .84);
        background: var(--ctransparentni);
        border: 0;
        border-radius: 7px;
        font-size: .89rem;
        font-weight: 600;
        line-height: 1.25;
        white-space: normal;
        transition: color .20s ease, background-color .20s ease, padding-left .20s ease;
    }

    .main-navigation .podmenu-item > a::before,
    .main-navigation .podmenu-item > a::after {
        display: none;
    }

    .main-navigation .podmenu-item:hover > a,
    .main-navigation .podmenu-item:focus-within > a,
    .main-navigation .podmenu-item.submenu-open > a {
        padding-left: 16px;
        color: var(--coranzova);
        background: rgba(var(--rgb-oranzova), .085);
    }

    /* 2. uroven - jeste tmavsi vlozena karta s oranzovou linkou. */
    .main-navigation .podmenu-level2 {
        position: static;
        grid-column: 1 / -1;
        width: auto;
        min-width: 0;
        max-height: 0;
        margin: 0 4px 0 12px;
        padding: 0;
        overflow: hidden;
        background: var(--c-0c0f0c);
        border: 0;
        border-left: 2px solid var(--coranzova);
        border-radius: 0 8px 8px 0;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        transition: max-height .30s ease, padding .25s ease, margin-bottom .25s ease;
    }

    .main-navigation .podmenu-item.has-submenu:not(.submenu-open) > .podmenu-level2 {
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .main-navigation .podmenu-item.has-submenu.submenu-open > .podmenu-level2 {
        max-height: 900px;
        padding: 5px 5px 5px 8px;
        margin-bottom: 7px;
    }

    .main-navigation .podmenu-level2 .podmenu-item > a {
        min-height: 39px;
        padding: 9px 11px;
        font-size: .84rem;
        color: rgba(var(--rgb-bila), .76);
    }

    .main-navigation .podmenu-level2 .podmenu-item:hover > a,
    .main-navigation .podmenu-level2 .podmenu-item:focus-within > a {
        color: var(--coranzova-svetla);
        background: rgba(var(--rgb-oranzova), .07);
    }
}

@media (max-width: 620px) {
    .main-header {
        grid-template-columns: 46px minmax(92px, 1fr) auto;
        gap: 7px;
    }

    .main-header .menu-button {
        width: 42px;
        min-width: 42px;
        height: 42px;
        min-height: 42px;
    }
}

/* ========================================================================== */
/* PRABOS mobile menu v16 - vzduch + dvousloupcove podmenu                   */
/* ========================================================================== */
@media (max-width: 860px) {
    /* Po otevreni neni prvni polozka nalepena na zahlavi. */
    .main-navigation > .menu {
        width: min(100%, 560px);
        margin: 0 auto;
        padding: 28px 22px 30px;
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        min-height: 50px;
        padding-top: 14px;
        padding-bottom: 14px;
    }

    /* 1. uroven podmenu: zadna odskocena karta, ale soucast hlavniho sloupce. */
    .main-navigation .podmenu {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        gap: 0;
        overflow: hidden;
        background: rgba(var(--rgb-bila), .025);
        border: 0;
        border-top: 1px solid rgba(var(--rgb-bila), .11);
        border-bottom: 1px solid rgba(var(--rgb-bila), .08);
        border-radius: 0;
        box-shadow: inset 0 10px 24px rgba(var(--rgb-cerna-cista), .10);
    }

    .main-navigation .has-submenu:not(.submenu-open) > .podmenu {
        max-height: 0;
        margin: 0;
        padding: 0;
        border-color: var(--ctransparentni);
    }

    .main-navigation .has-submenu.submenu-open > .podmenu {
        max-height: 1600px;
        margin: 0 0 10px;
        padding: 7px 0;
        border-top-color: rgba(var(--rgb-oranzova), .34);
        border-bottom-color: rgba(var(--rgb-bila), .08);
    }

    .main-navigation .podmenu > .podmenu-item {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 38px;
        min-width: 0;
        position: relative;
        border: 0;
        border-bottom: 1px solid rgba(var(--rgb-bila), .065);
    }

    /* Svisly oddelovac mezi dvojicemi. */
    .main-navigation .podmenu > .podmenu-item:nth-child(odd):not(.has-submenu) {
        border-right: 1px solid rgba(var(--rgb-bila), .07);
    }

    /* Polozka s dalsim podmenu zabere cely radek. */
    .main-navigation .podmenu > .podmenu-item.has-submenu {
        grid-column: 1 / -1;
        border-right: 0;
        background: linear-gradient(90deg, rgba(var(--rgb-oranzova), .055), var(--ctransparentni) 82%);
    }

    .main-navigation .podmenu-item > a {
        min-height: 46px;
        padding: 11px 13px;
        border-radius: 0;
        font-size: .88rem;
    }

    .main-navigation .podmenu-item:hover > a,
    .main-navigation .podmenu-item:focus-within > a,
    .main-navigation .podmenu-item.submenu-open > a {
        padding-left: 13px;
        color: var(--coranzova);
        background: rgba(var(--rgb-oranzova), .075);
    }

    .main-navigation .podmenu-item > .submenu-toggle {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        margin-right: 2px;
        border-radius: 7px;
    }

    /* 2. uroven: bez odskoku vlevo, rovnou 2 polozky vedle sebe. */
    .main-navigation .podmenu-level2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        gap: 0;
        overflow: hidden;
        background: rgba(var(--rgb-cerna-cista), .18);
        border: 0;
        border-top: 1px solid rgba(var(--rgb-bila), .07);
        border-radius: 0;
    }

    .main-navigation .podmenu-item.has-submenu:not(.submenu-open) > .podmenu-level2 {
        max-height: 0;
        margin: 0;
        padding: 0;
        border-top-color: var(--ctransparentni);
    }

    .main-navigation .podmenu-item.has-submenu.submenu-open > .podmenu-level2 {
        max-height: 900px;
        margin: 0;
        padding: 0;
        border-top-color: rgba(var(--rgb-bila), .08);
    }

    .main-navigation .podmenu-level2 > .podmenu-item {
        display: block;
        min-width: 0;
        border-bottom: 0;
        border-right: 1px solid rgba(var(--rgb-bila), .065);
    }

    .main-navigation .podmenu-level2 > .podmenu-item:nth-child(even) {
        border-right: 0;
    }

    .main-navigation .podmenu-level2 .podmenu-item > a {
        min-height: 44px;
        padding: 11px 13px;
        justify-content: flex-start;
        color: rgba(var(--rgb-bila), .78);
        background: var(--ctransparentni);
        font-size: .84rem;
        font-weight: 600;
        border-radius: 0;
    }

    .main-navigation .podmenu-level2 .podmenu-item:hover > a,
    .main-navigation .podmenu-level2 .podmenu-item:focus-within > a {
        padding-left: 13px;
        color: var(--coranzova-svetla);
        background: rgba(var(--rgb-oranzova), .07);
    }
}

@media (max-width: 460px) {
    .main-navigation > .menu {
        padding: 24px 16px 28px;
    }

    /* Na opravdu uzkem mobilu zustanou dve polozky, ale font/padding se lehce stahnou. */
    .main-navigation .podmenu-item > a,
    .main-navigation .podmenu-level2 .podmenu-item > a {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* ========================================================================== */
/* PRABOS 2026 v17 - tablet / landscape konzistence                          */
/* ========================================================================== */
@media (min-width: 861px) and (max-width: 1180px) {
    .main-header {
        position: relative;
        min-height: 70px;
        grid-template-columns: 48px minmax(120px, 1fr) auto;
        gap: 10px;
    }

    .brand,
    .brand img {
        width: 118px;
    }

    .main-header .menu-button {
        display: inline-flex !important;
    }

    .main-header .main-navigation {
        display: block !important;
        position: absolute;
        top: 100%;
        right: -14px;
        left: -14px;
        z-index: 500;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    .main-header .main-navigation.is-open {
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .main-navigation > .menu {
        width: min(100%, 760px);
        margin: 0 auto;
        padding: 28px 24px 32px;
    }
}

/* ========================================================================== */
/* PRABOS 2026 v24 - finalni ciste responzivni menu                           */
/* ========================================================================== */

/* Horni cerny pruh zustava pri scrollovani nahore. */
.site-header {
    position: sticky;
    top: 0;
    z-index: 5000;
}

@media (max-width: 1180px) {
    .main-header .main-navigation {
        z-index: 4990;
    }

    .main-header .main-navigation.is-open {
        padding: 0 18px 28px;
    }

    /* Hlavni polozky: 3 na radek. */
    .main-navigation > .menu {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: min(100%, 1040px) !important;
        margin: 0 auto !important;
        padding: 30px 0 10px !important;
        gap: 14px !important;
        align-items: start !important;
    }

    .main-navigation > .menu > .menu-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px !important;
        align-items: center !important;
        align-self: start !important;
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        background: rgba(var(--rgb-bila), .025) !important;
        border: 1px solid rgba(var(--rgb-bila), .09) !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    .main-navigation > .menu > .menu-item:hover,
    .main-navigation > .menu > .menu-item:focus-within,
    .main-navigation > .menu > .menu-item.submenu-open {
        border-color: rgba(var(--rgb-oranzova), .42) !important;
        background: rgba(var(--rgb-bila), .04) !important;
        box-shadow: 0 10px 26px rgba(var(--rgb-cerna-cista), .16) !important;
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        min-height: 54px !important;
        padding: 15px 10px 15px 16px !important;
        color: var(--cbila) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        font-size: .91rem !important;
        line-height: 1.22 !important;
    }

    .main-navigation > .menu > .menu-item.submenu-open > .a-menu,
    .main-navigation > .menu > .menu-item > .a-menu:hover,
    .main-navigation > .menu > .menu-item > .a-menu:focus-visible {
        color: var(--coranzova) !important;
        background: linear-gradient(90deg, rgba(var(--rgb-oranzova), .10), var(--ctransparentni) 88%) !important;
    }

    .main-navigation > .menu > .menu-item > .submenu-toggle {
        position: static !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 8px 0 0 !important;
        justify-self: end !important;
    }

    /* 1. uroven podmenu je vzdy uvnitr rodicovske dlazdice. */
    .main-navigation .podmenu-level1 {
        display: flex !important;
        flex-direction: column !important;
        grid-column: 1 / -1 !important;
        position: static !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        overflow: hidden !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: rgba(var(--rgb-cerna-cista), .16) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        transition: max-height .28s ease !important;
    }

    .main-navigation > .menu > .menu-item.submenu-open > .podmenu-level1 {
        max-height: 1200px !important;
        border-top: 1px solid rgba(var(--rgb-oranzova), .42) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 42px !important;
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(var(--rgb-bila), .07) !important;
        box-sizing: border-box !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item:last-child {
        border-bottom: 0 !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > a {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 11px 14px !important;
        align-items: center !important;
        color: var(--cbila) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        text-decoration: none !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-sizing: border-box !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > a:hover,
    .main-navigation .podmenu-level1 > .podmenu-item > a:focus-visible {
        color: var(--coranzova) !important;
        background: rgba(var(--rgb-oranzova), .07) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > .submenu-toggle {
        position: static !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin: 0 8px 0 0 !important;
        justify-self: end !important;
    }

    /* 2. uroven: DEFINITIVNE pod sebou. Zadna absolutni pozice, zadne left/right. */
    .main-navigation .podmenu-level2 {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        grid-column: 1 / -1 !important;
        position: static !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        overflow: hidden !important;
        transform: none !important;
        translate: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: rgba(var(--rgb-cerna-cista), .22) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        transition: max-height .26s ease !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open > .podmenu-level2 {
        max-height: 600px !important;
        border-top: 1px solid rgba(var(--rgb-bila), .07) !important;
    }

    .main-navigation .podmenu-level2 > .podmenu2-item {
        display: block !important;
        position: static !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
        translate: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(var(--rgb-bila), .06) !important;
        box-sizing: border-box !important;
    }

    .main-navigation .podmenu-level2 > .podmenu2-item:last-child {
        border-bottom: 0 !important;
    }

    .main-navigation .podmenu-level2 > .podmenu2-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:link,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:visited {
        display: flex !important;
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 11px 14px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        color: var(--cbila) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        font-size: .84rem !important;
        font-weight: 600 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        transform: none !important;
        translate: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-sizing: border-box !important;
    }

    .main-navigation .podmenu-level2 > .podmenu2-item > a:hover,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:focus-visible {
        color: var(--coranzova) !important;
        background: rgba(var(--rgb-oranzova), .07) !important;
    }
}

/* 2 hlavni polozky na radek. */
@media (min-width: 641px) and (max-width: 900px) {
    .main-navigation > .menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: min(100%, 760px) !important;
    }
}

/* 1 hlavni polozka na radek. */
@media (max-width: 640px) {
    .main-header .main-navigation.is-open {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .main-navigation > .menu {
        grid-template-columns: minmax(0, 1fr) !important;
        width: min(100%, 540px) !important;
        padding-top: 26px !important;
        gap: 9px !important;
    }
}
/* ========================================================================== */
/* PRABOS 2026 - vyhledavani v hlavicce / v27                               */
/* ========================================================================== */
.site-header {
    overflow: visible;
}

.header-actions .search-toggle {
    appearance: none;
    border: 0;
    cursor: pointer;
}

.header-actions .search-toggle.is-active,
.header-actions .search-toggle[aria-expanded='true'] {
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .09);
}

.site-search {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 160;
    color: var(--ccerna2);
    background: var(--cseda-svetla);
    border-top: 3px solid var(--coranzova);
    border-bottom: 1px solid rgba(var(--rgb-cerna), .10);
    box-shadow: 0 18px 38px rgba(var(--rgb-cerna), .18);
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    pointer-events: none;
    transition:
        max-height .30s ease,
        opacity .22s ease,
        transform .30s ease,
        visibility 0s linear .30s;
}

.site-search.is-open {
    max-height: 170px;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
    transition:
        max-height .30s ease,
        opacity .22s ease,
        transform .30s ease,
        visibility 0s;
}

.site-search__inner {
    padding-top: 20px;
    padding-bottom: 20px;
}

.site-search .search-form {
    display: grid;
    grid-template-columns: auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: 16px;
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
}

.site-search .search-form > label {
    margin: 0;
    color: var(--ccerna2);
    font-size: .9rem;
    font-weight: 700;
    white-space: nowrap;
}

.site-search .search-field {
    position: relative;
    min-width: 0;
}

.site-search .search-field__icon {
    position: absolute;
    top: 50%;
    left: 16px;
    width: 20px;
    height: 20px;
    color: var(--cseda-text2);
    transform: translateY(-50%);
    pointer-events: none;
}

.site-search .search-field input {
    display: block;
    width: 100%;
    min-height: 50px;
    margin: 0;
    font-size: .9rem;
    padding: 10px 16px 10px 50px;
    color: var(--ccerna2);
    background: var(--cbila);
    border: 1px solid rgba(var(--rgb-cerna), .17);
    border-radius: 7px;
    outline: 0;
    box-shadow: inset 0 1px 2px rgba(var(--rgb-cerna), .04);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.site-search .search-field input::placeholder {
    color: var(--cseda-text2);
    opacity: .88;
}

.site-search .search-field input:focus {
    border-color: var(--coranzova);
    box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .14);
}

.site-search .search-submit {
    min-height: 50px;
    padding: 0 24px;
    color: var(--cbila);
    background: var(--coranzova);
    border: 1px solid var(--coranzova);
    border-radius: 7px;
    font-size: .9rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.site-search .search-submit:hover,
.site-search .search-submit:focus-visible {
    background: var(--coranzova-tmava);
    border-color: var(--coranzova-tmava);
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    .site-search.is-open {
        max-height: 245px;
    }

    .site-search__inner {
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .site-search .search-form {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
    }

    .site-search .search-form > label {
        grid-column: 1 / -1;
        white-space: normal;
    }

    .site-search .search-submit {
        padding-right: 18px;
        padding-left: 18px;
    }
}

@media (max-width: 480px) {
    .site-search.is-open {
        max-height: 290px;
    }

    .site-search .search-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .site-search .search-submit {
        width: 100%;
    }
}

/* ========================================================================== */
/* V33 - mobilni banner slider: prekryte slidy + plynule spojeni obrazku      */
/* ========================================================================== */

.homepage-banner-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: var(--cbila);
    background: var(--ccerna3);
}

/* Mobilni CSS je samostatny soubor, proto musi obsahovat i zaklad slideru. */
.homepage-banner-slider__stage {
    position: relative;
    display: grid;
    width: 100%;
    overflow: hidden;
    background: var(--ccerna3);
}

.homepage-banner-slide {
    grid-area: 1 / 1;
    width: 100%;
    min-width: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .95s ease, visibility 0s linear .95s;
}

.homepage-banner-slide.is-active {
    z-index: 2;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity .95s ease, visibility 0s linear 0s;
}

.homepage-banner-slide__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "left right"
        "content content";
    min-height: 0;
    overflow: hidden;
    background: var(--ccerna3);
}

.homepage-banner-slide__image--left {
    grid-area: left;
    z-index: 2;
    margin-right: -44px;
    -webkit-mask-image: linear-gradient(90deg, var(--ccerna-cista) 0%, var(--ccerna-cista) 70%, rgba(var(--rgb-cerna-cista), .96) 77%, rgba(var(--rgb-cerna-cista), .70) 85%, rgba(var(--rgb-cerna-cista), .28) 94%, var(--ctransparentni) 100%);
    mask-image: linear-gradient(90deg, var(--ccerna-cista) 0%, var(--ccerna-cista) 70%, rgba(var(--rgb-cerna-cista), .96) 77%, rgba(var(--rgb-cerna-cista), .70) 85%, rgba(var(--rgb-cerna-cista), .28) 94%, var(--ctransparentni) 100%);
}

.homepage-banner-slide__image--right {
    grid-area: right;
    z-index: 1;
}

.homepage-banner-slide__image--left,
.homepage-banner-slide__image--right {
    position: relative;
    min-width: 0;
    min-height: clamp(160px, 46vw, 235px);
    overflow: hidden;
}

.homepage-banner-slide__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.homepage-banner-slide__content {
    position: relative;
    z-index: 3;
    grid-area: content;
    padding: 26px 18px 32px;
    color: var(--cbila);
    background: var(--ccerna3);
    text-align: center;
}

/* Jen horni prechod cerneho textoveho bloku do obrazku. */
.homepage-banner-slide__content::before {
    display: block;
    position: absolute;
    top: -52px;
    right: 0;
    bottom: auto;
    left: 0;
    z-index: -1;
    width: auto;
    height: 54px;
    background: linear-gradient(180deg, rgba(var(--rgb-cerna3), 0) 0%, rgba(var(--rgb-cerna3), .20) 26%, rgba(var(--rgb-cerna3), .72) 70%, var(--ccerna3) 100%);
    content: "";
    pointer-events: none;
}

.homepage-banner-slide__content::after {
    display: none;
}

@media (max-width: 420px) {
    .homepage-banner-slide__image--left,
    .homepage-banner-slide__image--right {
        min-height: 150px;
    }

    .homepage-banner-slide__image--left {
        margin-right: -34px;
    }
}

/* ========================================================================== */
/* V34 - mobilni banner polish: tlacitka, trust ikony, mekci crossfade        */
/* ========================================================================== */

/* Mobile CSS se nacita samostatne, proto zde musi byt kompletni button styl. */
.homepage-banner-slide__buttons .banner-button {
    display: inline-flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 0 21px;
    color: var(--cbila);
    border: 1px solid var(--ctransparentni);
    border-radius: 6px;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none !important;
    transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.homepage-banner-slide__buttons .banner-button:hover,
.homepage-banner-slide__buttons .banner-button:focus-visible {
    text-decoration: none !important;
    transform: translateY(-1px);
}

.homepage-banner-slide__buttons .banner-button--primary {
    color: var(--cbila);
    background: var(--coranzova);
    border-color: var(--coranzova);
    box-shadow: 0 8px 22px rgba(var(--rgb-oranzova), .20);
}

.homepage-banner-slide__buttons .banner-button--primary:hover,
.homepage-banner-slide__buttons .banner-button--primary:focus-visible {
    color: var(--cbila);
    background: var(--coranzova-svetla);
    border-color: var(--coranzova-svetla);
}

.homepage-banner-slide__buttons .banner-button--secondary {
    color: var(--cbila);
    background: rgba(var(--rgb-bila), .025);
    border-color: rgba(var(--rgb-bila), .72);
}

.homepage-banner-slide__buttons .banner-button--secondary:hover,
.homepage-banner-slide__buttons .banner-button--secondary:focus-visible {
    color: var(--ccerna);
    background: var(--cbila);
    border-color: var(--cbila);
}

.homepage-banner-slide__buttons .banner-button--ghost {
    color: var(--coranzova);
    background: var(--ctransparentni);
    border-color: rgba(var(--rgb-oranzova), .55);
}

/* Sirsi a mekci prolinani dvou obrazku. */
.homepage-banner-slide__image--left {
    margin-right: clamp(-120px, -22vw, -72px);
    -webkit-mask-image: linear-gradient(90deg,
        var(--ccerna-cista) 0%,
        var(--ccerna-cista) 48%,
        rgba(var(--rgb-cerna-cista), .98) 58%,
        rgba(var(--rgb-cerna-cista), .86) 68%,
        rgba(var(--rgb-cerna-cista), .64) 78%,
        rgba(var(--rgb-cerna-cista), .40) 87%,
        rgba(var(--rgb-cerna-cista), .16) 95%,
        var(--ctransparentni) 100%);
    mask-image: linear-gradient(90deg,
        var(--ccerna-cista) 0%,
        var(--ccerna-cista) 48%,
        rgba(var(--rgb-cerna-cista), .98) 58%,
        rgba(var(--rgb-cerna-cista), .86) 68%,
        rgba(var(--rgb-cerna-cista), .64) 78%,
        rgba(var(--rgb-cerna-cista), .40) 87%,
        rgba(var(--rgb-cerna-cista), .16) 95%,
        var(--ctransparentni) 100%);
}

.homepage-banner-slide__image--right {
    margin-left: -18px;
}

/* Trust boxy: 2 na radek, male bile SVG ikony. */
.homepage-banner-trust {
    position: relative;
    z-index: 3;
    color: var(--cbila);
    background: var(--ccerna3);
    border-top: 1px solid rgba(var(--rgb-bila), .09);
}

.homepage-banner-trust__inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    padding: 0;
}

.homepage-banner-trust__item {
    display: flex;
    min-width: 0;
    min-height: 56px;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    padding: 9px 13px;
    color: var(--cbila);
    border-right: 1px solid rgba(var(--rgb-bila), .09);
    font-size: .72rem;
    font-weight: 650;
    line-height: 1.25;
    white-space: normal;
}

.homepage-banner-trust__item:nth-child(2n) {
    border-right: 0;
}

.homepage-banner-trust__item:nth-child(n+3) {
    border-top: 1px solid rgba(var(--rgb-bila), .09);
}

.homepage-banner-trust__icon {
    display: inline-flex;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    align-items: center;
    justify-content: center;
    color: var(--cbila);
}

.homepage-banner-trust__icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (min-width: 600px) {
    .homepage-banner-trust__item {
        justify-content: center;
        font-size: .75rem;
    }

    .homepage-banner-trust__icon {
        width: 21px;
        height: 21px;
        flex-basis: 21px;
    }
}

@media (max-width: 420px) {
    .homepage-banner-slide__image--left {
        margin-right: -68px;
    }

    .homepage-banner-slide__image--right {
        margin-left: -12px;
    }
}

/* ========================================================================== */
/* V35 - banner button: kompaktni a vycentrovany                              */
/* ========================================================================== */
.homepage-banner-slide__buttons {
    align-items: center;
    justify-content: center;
}

.homepage-banner-slide__buttons .banner-button {
    width: auto;
    min-width: min(190px, 78vw);
    max-width: 100%;
}


/* ========================================================================== */
/* V36 - klikaci trust polozky z TEXTY + obsahovy lightbox                   */
/* ========================================================================== */

.homepage-banner-trust__item {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    margin: 0;
    border-top: 0;
    border-left: 0;
    border-bottom: 0;
    background: var(--ctransparentni);
    font-family: inherit;
    text-align: center;
    cursor: pointer;
}

.homepage-banner-trust__item:focus-visible {
    position: relative;
    z-index: 1;
    outline: 2px solid var(--coranzova, var(--coranzova));
    outline-offset: -2px;
}

.homepage-banner-trust__label {
    display: inline-block;
}

body.homepage-trust-lightbox-open {
    overflow: hidden;
}

.homepage-trust-lightbox[hidden] {
    display: none !important;
}

.homepage-trust-lightbox {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .24s ease, visibility .24s ease;
}

.homepage-trust-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.homepage-trust-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(var(--rgb-4-6-4), .82);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.homepage-trust-lightbox__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: clamp(28px, 4vw, 48px);
    color: var(--cbila, var(--cbila));
    background: linear-gradient(145deg, var(--ccerna3) 0%, var(--c-0e110e) 100%);
    border: 1px solid rgba(var(--rgb-bila), .14);
    border-top: 3px solid var(--coranzova, var(--coranzova));
    border-radius: 16px;
    box-shadow: 0 28px 80px rgba(var(--rgb-cerna-cista), .55);
    transform: translateY(18px) scale(.985);
    transition: transform .24s ease;
}

.homepage-trust-lightbox.is-open .homepage-trust-lightbox__dialog {
    transform: translateY(0) scale(1);
}

.homepage-trust-lightbox__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(var(--rgb-bila), .18);
    border-radius: 50%;
    background: rgba(var(--rgb-bila), .05);
    cursor: pointer;
    transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.homepage-trust-lightbox__close::before,
.homepage-trust-lightbox__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    background: var(--cbila, var(--cbila));
    border-radius: 2px;
    transition: background-color .2s ease;
}

.homepage-trust-lightbox__close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.homepage-trust-lightbox__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.homepage-trust-lightbox__close:hover,
.homepage-trust-lightbox__close:focus-visible {
    border-color: var(--coranzova, var(--coranzova));
    background: rgba(var(--rgb-oranzova), .12);
    transform: rotate(4deg);
    outline: 0;
}

.homepage-trust-lightbox__close:hover::before,
.homepage-trust-lightbox__close:hover::after,
.homepage-trust-lightbox__close:focus-visible::before,
.homepage-trust-lightbox__close:focus-visible::after {
    background: var(--coranzova, var(--coranzova));
}

.homepage-trust-lightbox__title {
    margin: 0 48px 22px 0;
    color: var(--cbila, var(--cbila));
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.08;
}

.homepage-trust-lightbox__text {
    color: rgba(var(--rgb-bila), .84);
    font-size: .98rem;
    line-height: 1.7;
}

.homepage-trust-lightbox__text > :first-child {
    margin-top: 0;
}

.homepage-trust-lightbox__text > :last-child {
    margin-bottom: 0;
}

.homepage-trust-lightbox__text a {
    color: var(--coranzova, var(--coranzova));
}

@media (max-width: 620px) {
    .homepage-trust-lightbox {
        padding: 15px 16px;
    }

    .homepage-trust-lightbox__dialog {
        max-height: calc(100vh - 28px);
        padding: 30px 22px 26px;
        border-radius: 12px;
    }

    .homepage-trust-lightbox__close {
        top: 10px;
        right: 10px;
        width: 38px;
        height: 38px;
    }

    .homepage-trust-lightbox__title {
        margin-right: 42px;
        font-size: 1.55rem;
    }

    .homepage-trust-lightbox__text {
        font-size: .92rem;
        line-height: 1.62;
    }
}


/* HOMEPAGE - rozcestnik podle pouziti (v37) */
.homepage-crossroads {
    padding: 28px 0 34px;
    background: var(--cbila);
}

.homepage-crossroads__heading {
    margin: 0 auto 18px;
    padding: 0 4px;
    text-align: center;
}

.homepage-crossroads__heading h2 {
    margin: 0;
    color: var(--ccerna);
    font-size: 1.38rem;
    line-height: 1.16;
}

.homepage-crossroads__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.homepage-crossroads-card {
    overflow: hidden;
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 10px;
    box-shadow: 0 5px 18px rgba(var(--rgb-12-15-11), .06);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, opacity .58s ease;
}

.homepage-crossroads-card.is-reveal-ready {
    opacity: 0;
    transform: translateY(22px) scale(.99);
    transition-delay: var(--reveal-delay, 0ms);
}

.homepage-crossroads-card.is-reveal-ready.is-visible {
    opacity: 1;
    transform: none;
}

.homepage-crossroads-card__link {
    display: grid;
    height: 122px;
    min-height: 0;
    align-items: stretch;
    grid-template-columns: 122px minmax(0, 1fr);
    color: inherit;
    text-decoration: none;
}

.homepage-crossroads-card--no-image .homepage-crossroads-card__link {
    grid-template-columns: 1fr;
}

.homepage-crossroads-card__media {
    width: 100%;
    height: 100%;
    min-width: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    align-self: stretch;
    margin: 0;
    border-radius: 9px;
    background: var(--cseda-svetla);
}

.homepage-crossroads-card__media img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: inherit;
    object-fit: cover;
    transition: transform .4s ease;
}

.homepage-crossroads-card__content {
    display: flex;
    min-width: 0;
    padding: 8px 12px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
}

.homepage-crossroads-card h3 {
    display: -webkit-box;
    margin: 0 0 3px;
    overflow: hidden;
    color: var(--ccerna);
    font-size: .89rem;
    line-height: 1.17;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.homepage-crossroads-card__text {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--cseda-text);
    font-size: .74rem;
    line-height: 1.25;
}

.homepage-crossroads-card__text p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.homepage-crossroads-card__text p ~ p:not(.homepage-crossroads-card__button) {
    display: none;
}

/*
 * Tlacitko je oznaceno explicitni tridou .homepage-crossroads-card__button.
 * Uz se neurcuje podle pozice/posledniho <p>, takze muze v anotaci chybet.
 * Quill-safe marker se na tuto tridu prevadi v ukaz_homepage.php.
 */
.homepage-crossroads-card__text p.homepage-crossroads-card__button {
    display: inline-flex;
    width: fit-content;
    min-height: 24px;
    max-width: 100%;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    margin: 4px 0 0;
    padding: 0 9px;
    overflow: visible;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 4px;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
}

.homepage-crossroads-card:active .homepage-crossroads-card__button {
    background: var(--coranzova);
}

@media (min-width: 620px) {
    .homepage-crossroads__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .homepage-crossroads-card,
    .homepage-crossroads-card.is-reveal-ready,
    .homepage-crossroads-card.is-reveal-ready.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


@media (max-width: 390px) {
    .homepage-crossroads-card__link {
        height: 118px;
        grid-template-columns: 118px minmax(0, 1fr);
    }

    .homepage-crossroads-card__text p.homepage-crossroads-card__button {
        min-height: 24px;
        padding-top: 4px;
        padding-bottom: 4px;
        line-height: 1.15;
        white-space: normal;
    }
}

/* ==========================================================================
   HOMEPAGE - rozcestnik: hover/focus/active
   ========================================================================== */
.homepage-crossroads-card {
    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease,
        opacity .58s ease;
}

.homepage-crossroads-card.is-visible:hover,
.homepage-crossroads-card:not(.is-reveal-ready):hover,
.homepage-crossroads-card:focus-within {
    transform: translateY(-5px);
    border-color: var(--coranzova);
    box-shadow: 0 14px 30px rgba(var(--rgb-12-15-11), .13);
}

.homepage-crossroads-card:hover .homepage-crossroads-card__media img,
.homepage-crossroads-card:focus-within .homepage-crossroads-card__media img {
    transform: scale(1.07);
    filter: saturate(1.06) contrast(1.02);
}

.homepage-crossroads-card:hover h3,
.homepage-crossroads-card:focus-within h3 {
    color: var(--coranzova);
}

.homepage-crossroads-card:hover .homepage-crossroads-card__button,
.homepage-crossroads-card:focus-within .homepage-crossroads-card__button {
    background: var(--coranzova);
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(var(--rgb-oranzova), .23);
}

.homepage-crossroads-card:active {
    transform: translateY(-2px);
    border-color: var(--coranzova);
    box-shadow: 0 9px 22px rgba(var(--rgb-12-15-11), .12);
}

.homepage-crossroads-card:active .homepage-crossroads-card__media img {
    transform: scale(1.035);
}

.homepage-crossroads-card:active h3,
.homepage-crossroads-card:active .homepage-crossroads-card__button {
    color: var(--coranzova);
}

.homepage-crossroads-card:active .homepage-crossroads-card__button {
    color: var(--cbila);
    background: var(--coranzova);
}

/* ========================================================================== */
/* HOMEPAGE - VYBER BOT VE 3 KROCICH                                        */
/* Ikony: files.ftabulka=hodnoty, fid=hodnoty.id, fkategorie=fotogalerie     */
/* ========================================================================== */
.homepage-shoe-selector {
    padding: 8px 0 52px;
    background: var(--cbila);
    transition: opacity .55s ease, transform .55s ease;
}

.homepage-shoe-selector.is-reveal-ready {
    opacity: 0;
    transform: translateY(20px);
}

.homepage-shoe-selector.is-reveal-ready.is-visible,
.homepage-shoe-selector.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.homepage-shoe-selector__box {
    overflow: hidden;
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 11px;
    box-shadow: 0 7px 24px rgba(var(--rgb-cerna), .055);
}

.homepage-shoe-selector__heading {
    padding: 13px 20px 10px;
    text-align: center;
}

.homepage-shoe-selector__heading h2 {
    margin: 0;
    color: var(--ccerna);
    font-size: clamp(1.05rem, 1.65vw, 1.38rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.homepage-shoe-selector__intro {
    max-width: 760px;
    margin: 6px auto 0;
    color: var(--cseda-text);
    font-size: .74rem;
    line-height: 1.4;
}

.homepage-shoe-selector__intro > :first-child { margin-top: 0; }
.homepage-shoe-selector__intro > :last-child { margin-bottom: 0; }

.homepage-shoe-selector__body {
    display: grid;
    grid-template-columns: minmax(300px, 1.04fr) minmax(330px, 1.16fr) minmax(220px, .76fr) minmax(170px, .54fr);
    align-items: stretch;
}

.homepage-shoe-selector__group {
    position: relative;
    min-width: 0;
    padding: 12px 14px 13px;
    border-right: 1px solid var(--cseda-linka);
}

.homepage-shoe-selector__group::after {
    content: "";
    position: absolute;
    top: 54%;
    right: -5px;
    z-index: 3;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid var(--cseda-text2);
    border-right: 1.5px solid var(--cseda-text2);
    background: var(--cbila);
    transform: translateY(-50%) rotate(45deg);
}

.homepage-shoe-selector__group-title {
    display: flex;
    min-height: 26px;
    align-items: center;
    gap: 8px;
    margin-bottom: 5px;
}

.homepage-shoe-selector__group-title h3 {
    margin: 0;
    color: var(--ccerna);
    font-size: .72rem;
    font-weight: 700;
    line-height: 1.2;
}

.homepage-shoe-selector__step {
    display: inline-flex;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 50%;
    font-size: .68rem;
    font-weight: 800;
    box-shadow: 0 2px 5px rgba(var(--rgb-cerna), .14);
}

.homepage-shoe-selector__options {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2px;
    align-items: start;
}

.homepage-shoe-selector__group:nth-child(3) .homepage-shoe-selector__options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

.homepage-shoe-selector__option {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 62px;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    gap: 3px;
    padding: 5px 2px 4px;
    color: var(--ccerna2);
    background: var(--ctransparentni);
    border: 1px solid var(--ctransparentni);
    border-radius: 7px;
    cursor: pointer;
    appearance: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.homepage-shoe-selector__option:hover,
.homepage-shoe-selector__option:focus-visible {
    color: var(--coranzova-tmava);
    background: rgba(var(--rgb-oranzova), .055);
    border-color: rgba(var(--rgb-oranzova), .3);
    transform: translateY(-1px);
}

.homepage-shoe-selector__option.is-selected {
    color: var(--coranzova-tmava);
    background: rgba(var(--rgb-oranzova), .09);
    border-color: var(--coranzova);
    box-shadow: 0 3px 10px rgba(var(--rgb-oranzova), .11);
    transform: translateY(-1px);
}

.homepage-shoe-selector__option-icon {
    display: flex;
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    align-items: center;
    justify-content: center;
}

.homepage-shoe-selector__option-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.homepage-shoe-selector__option-label {
    max-width: 100%;
    color: currentColor;
    font-size: .62rem;
    font-weight: 600;
    line-height: 1.08;
    text-align: center;
    word-break: normal;
    overflow-wrap: normal;
    -webkit-hyphens: auto;
    hyphens: auto;
    hyphenate-character: "-";
    hyphenate-limit-chars: 5 2 2;
}

.homepage-shoe-selector__option-check {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 14px;
    height: 14px;
    opacity: 0;
    background: var(--coranzova);
    border-radius: 50%;
    transform: scale(.65);
    transition: opacity .18s ease, transform .18s ease;
}

.homepage-shoe-selector__option-check::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 2px;
    width: 4px;
    height: 7px;
    border-right: 1.7px solid var(--cbila);
    border-bottom: 1.7px solid var(--cbila);
    transform: rotate(45deg);
}

.homepage-shoe-selector__option.is-selected .homepage-shoe-selector__option-check {
    opacity: 1;
    transform: scale(1);
}

.homepage-shoe-selector__submit-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 13px;
    background: linear-gradient(135deg, rgba(var(--rgb-oranzova), .018), rgba(var(--rgb-oranzova), .055));
}

.homepage-shoe-selector__submit {
    display: inline-flex;
    min-width: 154px;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 10px 15px;
    color: var(--cbila);
    background: var(--coranzova);
    border: 1px solid var(--coranzova);
    border-radius: 6px;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
    box-shadow: 0 5px 14px rgba(var(--rgb-oranzova), .18);
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.homepage-shoe-selector__submit:hover,
.homepage-shoe-selector__submit:focus-visible {
    background: var(--coranzova-tmava);
    border-color: var(--coranzova-tmava);
    box-shadow: 0 8px 20px rgba(var(--rgb-oranzova), .26);
    transform: translateY(-1px);
}

@media (max-width: 1180px) {
    .homepage-shoe-selector__body {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-shoe-selector__group {
        border-bottom: 1px solid var(--cseda-linka);
    }

    .homepage-shoe-selector__group::after { display: none; }
    .homepage-shoe-selector__group:nth-child(2n) { border-right: 0; }
    .homepage-shoe-selector__submit-wrap { grid-column: 2; }
}

@media (max-width: 760px) {
    .homepage-shoe-selector { padding-bottom: 38px; }

    .homepage-shoe-selector__heading {
        padding: 12px 15px 9px;
    }

    .homepage-shoe-selector__heading h2 {
        font-size: 1.05rem;
    }

    .homepage-shoe-selector__body {
        grid-template-columns: 1fr;
    }

    .homepage-shoe-selector__group,
    .homepage-shoe-selector__group:nth-child(2n) {
        padding: 12px 13px 13px;
        border-right: 0;
        border-bottom: 1px solid var(--cseda-linka);
    }

    .homepage-shoe-selector__submit-wrap {
        grid-column: 1;
        padding: 13px;
    }

    .homepage-shoe-selector__option-label {
        font-size: .61rem;
    }
}

@media (max-width: 540px) {
    .homepage-shoe-selector__options,
    .homepage-shoe-selector__group:nth-child(3) .homepage-shoe-selector__options {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 4px;
    }

    .homepage-shoe-selector__option {
        min-height: 60px;
        padding-inline: 4px;
    }

    .homepage-shoe-selector__option-icon {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }

    .homepage-shoe-selector__submit {
        width: 100%;
        max-width: 280px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .homepage-shoe-selector,
    .homepage-shoe-selector__option,
    .homepage-shoe-selector__submit {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ========================================================================== */
/* PRABOS MENU REDESIGN 2026-08-18                                            */
/* Autoritativni finalni blok pro desktop / burger / mobil.                   */
/* Zamerne je na konci CSS, aby prebil starsi generace menu stylu.            */
/* ========================================================================== */

/* --- spolecny reset kolidujicich starych dekoraci --- */
.main-navigation > .menu,
.main-navigation .podmenu,
.main-navigation .podmenu-level1,
.main-navigation .podmenu-level2 {
    list-style: none !important;
}

.main-navigation > .menu > .menu-item > .a-menu::before,
.main-navigation > .menu > .menu-item > .a-menu::after,
.main-navigation .podmenu-item > a::before,
.main-navigation .podmenu-item > a::after,
.main-navigation .podmenu2-item > a::before,
.main-navigation .podmenu2-item > a::after {
    display: none !important;
    content: none !important;
}

.main-navigation .menu-item,
.main-navigation .podmenu-item,
.main-navigation .podmenu2-item {
    box-sizing: border-box;
}

/* --- DESKTOP: klasicke horizontalni menu + plovouci podmenu --- */
@media (min-width: 1181px) {

    .main-navigation {
        position: relative !important;
        display: block !important;
        overflow: visible !important;
        color: var(--cbila) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .main-navigation > .menu {
        display: flex !important;
        margin: 0 !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        gap: clamp(22px, 2.15vw, 34px) !important;
    }

    .main-navigation > .menu > .menu-item {
        position: relative !important;
        display: flex !important;
        min-width: 0 !important;
        align-items: center !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        transform: none !important;
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        display: flex !important;
        min-height: 62px !important;
        padding: 0 !important;
        align-items: center !important;
        color: rgba(var(--rgb-bila), .94) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: .9rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;
        transition: color .2s ease !important;
    }

    .main-navigation > .menu > .menu-item:hover > .a-menu,
    .main-navigation > .menu > .menu-item:focus-within > .a-menu,
    .main-navigation > .menu > .menu-item.submenu-open > .a-menu,
    .main-navigation > .menu > .menu-item > .a-menu.selected {
        color: var(--coranzova) !important;
    }

    /* mala sipka napravo od textu, zadny trojuhelnik pod polozkou */
    .main-navigation > .menu > .menu-item > .submenu-toggle {
        position: relative !important;
        display: inline-flex !important;
        width: 22px !important;
        height: 34px !important;
        margin: 0 0 0 5px !important;
        padding: 0 !important;
        flex: 0 0 22px !important;
        align-items: center !important;
        justify-content: center !important;
        color: rgba(var(--rgb-bila), .72) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 6px !important;
        box-shadow: none !important;
        cursor: pointer !important;
        transform: none !important;
        transition: color .2s ease, background-color .2s ease !important;
    }

    .main-navigation > .menu > .menu-item > .submenu-toggle:hover,
    .main-navigation > .menu > .menu-item > .submenu-toggle:focus-visible,
    .main-navigation > .menu > .menu-item.submenu-open > .submenu-toggle {
        color: var(--coranzova) !important;
        background: rgba(var(--rgb-oranzova), .10) !important;
    }

    .main-navigation .submenu-toggle__icon {
        display: block !important;
        width: 7px !important;
        height: 7px !important;
        border: 0 !important;
        border-right: 1.7px solid currentColor !important;
        border-bottom: 1.7px solid currentColor !important;
        transform: translateY(-2px) rotate(45deg) !important;
        transform-origin: center !important;
        transition: transform .22s ease !important;
    }

    .main-navigation .submenu-open > .submenu-toggle .submenu-toggle__icon {
        transform: translateY(2px) rotate(225deg) !important;
    }

    .main-navigation .podmenu-level1 {
        position: absolute !important;
        top: calc(100% + 1px) !important;
        left: -14px !important;
        right: auto !important;
        z-index: 6100 !important;
        display: grid !important;
        width: max-content !important;
        min-width: 245px !important;
        max-width: 310px !important;
        margin: 0 !important;
        padding: 8px !important;
        gap: 4px !important;
        color: var(--cbila) !important;
        background: rgba(var(--rgb-13-15-13), .985) !important;
        border: 1px solid rgba(var(--rgb-bila), .12) !important;
        border-top: 2px solid var(--coranzova) !important;
        border-radius: 0 0 11px 11px !important;
        box-shadow: 0 20px 46px rgba(var(--rgb-cerna), .38) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(8px) !important;
        transition: opacity .18s ease, visibility .18s ease, transform .2s ease !important;
    }

    .main-navigation > .menu > .menu-item:nth-last-child(-n+2) > .podmenu-level1 {
        right: -14px !important;
        left: auto !important;
    }

    .main-navigation > .menu > .menu-item:hover > .podmenu-level1,
    .main-navigation > .menu > .menu-item:focus-within > .podmenu-level1,
    .main-navigation > .menu > .menu-item.submenu-open > .podmenu-level1 {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item {
        position: relative !important;
        display: grid !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 7px !important;
        overflow: visible !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > a {
        display: flex !important;
        min-height: 42px !important;
        padding: 10px 13px !important;
        align-items: center !important;
        color: rgba(var(--rgb-bila), .88) !important;
        background: var(--ctransparentni) !important;
        border: 1px solid var(--ctransparentni) !important;
        border-radius: 7px !important;
        font-size: .82rem !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        white-space: normal !important;
        transition: color .18s ease, background-color .18s ease, border-color .18s ease, padding-left .18s ease !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item:hover > a,
    .main-navigation .podmenu-level1 > .podmenu-item:focus-within > a,
    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open > a {
        padding-left: 16px !important;
        color: var(--coranzova) !important;
        background: rgba(var(--rgb-oranzova), .09) !important;
        border-color: rgba(var(--rgb-oranzova), .25) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > .submenu-toggle {
        position: static !important;
        display: inline-flex !important;
        width: 34px !important;
        height: 34px !important;
        margin: 0 5px 0 -3px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        color: rgba(var(--rgb-bila), .65) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 6px !important;
        transform: none !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > .submenu-toggle .submenu-toggle__icon {
        transform: translateX(-2px) rotate(-45deg) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open > .submenu-toggle .submenu-toggle__icon {
        transform: translateX(1px) rotate(135deg) !important;
    }

    .main-navigation .podmenu-level2 {
        position: absolute !important;
        top: -9px !important;
        left: calc(100% + 8px) !important;
        right: auto !important;
        z-index: 6200 !important;
        display: grid !important;
        min-width: 220px !important;
        max-width: 280px !important;
        margin: 0 !important;
        padding: 8px !important;
        gap: 4px !important;
        color: var(--cbila) !important;
        background: rgba(var(--rgb-13-15-13), .99) !important;
        border: 1px solid rgba(var(--rgb-bila), .12) !important;
        border-left: 2px solid var(--coranzova) !important;
        border-radius: 9px !important;
        box-shadow: 0 18px 42px rgba(var(--rgb-cerna), .40) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateX(8px) !important;
        transition: opacity .18s ease, visibility .18s ease, transform .2s ease !important;
    }

    .main-navigation > .menu > .menu-item:nth-last-child(-n+2) .podmenu-level2 {
        right: calc(100% + 8px) !important;
        left: auto !important;
        border-right: 2px solid var(--coranzova) !important;
        border-left-width: 1px !important;
        transform: translateX(-8px) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item:hover > .podmenu-level2,
    .main-navigation .podmenu-level1 > .podmenu-item:focus-within > .podmenu-level2,
    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open > .podmenu-level2 {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item,
    .main-navigation .podmenu-level2 > .podmenu2-item {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:link,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:visited {
        display: flex !important;
        min-height: 40px !important;
        padding: 9px 12px !important;
        align-items: center !important;
        color: rgba(var(--rgb-bila), .86) !important;
        background: var(--ctransparentni) !important;
        border: 1px solid var(--ctransparentni) !important;
        border-radius: 7px !important;
        font-size: .8rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        white-space: normal !important;
        transition: color .18s ease, background-color .18s ease, border-color .18s ease !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item:hover > a,
    .main-navigation .podmenu-level2 > .podmenu2-item:hover > a,
    .main-navigation .podmenu-level2 > .podmenu-item:focus-within > a,
    .main-navigation .podmenu-level2 > .podmenu2-item:focus-within > a {
        color: var(--coranzova) !important;
        background: rgba(var(--rgb-oranzova), .09) !important;
        border-color: rgba(var(--rgb-oranzova), .24) !important;
    }
}

/* --- RESPONSIVE / HAMBURGER: 3 -> 2 -> 1 dlazdice --- */
@media (max-width: 1180px) {

    .main-header {
        overflow: visible !important;
    }

    .main-header .main-navigation {
        position: fixed !important;
        top: 64px !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        z-index: 5900 !important;
        display: none !important;
        max-height: calc(100dvh - 64px) !important;
        padding: 24px 20px 28px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        color: var(--cbila) !important;
        background: rgba(var(--rgb-cerna), .985) !important;
        border: 0 !important;
        border-top: 1px solid rgba(var(--rgb-bila), .08) !important;
        box-shadow: 0 22px 46px rgba(var(--rgb-cerna), .32) !important;
    }

    .main-header .main-navigation.is-open {
        display: block !important;
    }

    .main-navigation > .menu {
        display: grid !important;
        width: min(1160px, 100%) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        align-items: start !important;
        gap: 14px !important;
    }

    .main-navigation > .menu > .menu-item {
        position: relative !important;
        display: grid !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        align-items: center !important;
        align-self: start !important;
        overflow: hidden !important;
        color: var(--cbila) !important;
        background: var(--c-151815) !important;
        border: 1px solid var(--c-30342e) !important;
        border-radius: 10px !important;
        box-shadow: 0 7px 20px rgba(var(--rgb-cerna), .10) !important;
        transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
    }

    .main-navigation > .menu > .menu-item:not(.has-submenu) {
        grid-template-columns: 1fr !important;
    }

    .main-navigation > .menu > .menu-item:hover,
    .main-navigation > .menu > .menu-item:focus-within,
    .main-navigation > .menu > .menu-item.submenu-open {
        background: var(--c-191b18) !important;
        border-color: rgba(var(--rgb-oranzova), .62) !important;
        box-shadow: 0 10px 24px rgba(var(--rgb-cerna), .18), inset 0 0 0 1px rgba(var(--rgb-oranzova), .05) !important;
        transform: translateY(-1px) !important;
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        display: flex !important;
        min-width: 0 !important;
        min-height: 54px !important;
        padding: 15px 16px !important;
        align-items: center !important;
        color: rgba(var(--rgb-bila), .94) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: .9rem !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: normal !important;
    }

    .main-navigation > .menu > .menu-item:hover > .a-menu,
    .main-navigation > .menu > .menu-item:focus-within > .a-menu,
    .main-navigation > .menu > .menu-item.submenu-open > .a-menu,
    .main-navigation > .menu > .menu-item > .a-menu.selected {
        color: var(--coranzova) !important;
    }

    .main-navigation > .menu > .menu-item > .submenu-toggle {
        position: static !important;
        display: inline-flex !important;
        width: 36px !important;
        height: 36px !important;
        margin: 0 8px 0 0 !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        color: rgba(var(--rgb-bila), .70) !important;
        background: var(--c-20231f) !important;
        border: 1px solid var(--c-363a34) !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        cursor: pointer !important;
        transform: none !important;
    }

    .main-navigation > .menu > .menu-item > .submenu-toggle:hover,
    .main-navigation > .menu > .menu-item > .submenu-toggle:focus-visible,
    .main-navigation > .menu > .menu-item.submenu-open > .submenu-toggle {
        color: var(--coranzova) !important;
        background: rgba(var(--rgb-oranzova), .10) !important;
        border-color: rgba(var(--rgb-oranzova), .38) !important;
    }

    .main-navigation .submenu-toggle__icon {
        display: block !important;
        width: 7px !important;
        height: 7px !important;
        border: 0 !important;
        border-right: 1.8px solid currentColor !important;
        border-bottom: 1.8px solid currentColor !important;
        transform: translateY(-2px) rotate(45deg) !important;
        transition: transform .22s ease !important;
    }

    .main-navigation .submenu-open > .submenu-toggle .submenu-toggle__icon {
        transform: translateY(2px) rotate(225deg) !important;
    }

    /* podmenu 1 je soucast dlazdice, ne plovouci okno */
    .main-navigation .podmenu-level1 {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        z-index: auto !important;
        display: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 10px !important;
        grid-column: 1 / -1 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        color: var(--cbila) !important;
        background: var(--c-0e100e) !important;
        border: 0 !important;
        border-top: 1px solid var(--c-2d312b) !important;
        border-radius: 0 !important;
        box-shadow: inset 0 10px 24px rgba(var(--rgb-cerna), .10) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .main-navigation > .menu > .menu-item.submenu-open > .podmenu-level1 {
        display: grid !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item {
        position: relative !important;
        display: grid !important;
        min-width: 0 !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        overflow: hidden !important;
        background: var(--c-151815) !important;
        border: 1px solid var(--c-2d312b) !important;
        border-radius: 8px !important;
        transition: background-color .18s ease, border-color .18s ease !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item:not(.has-submenu) {
        grid-template-columns: 1fr !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item:hover,
    .main-navigation .podmenu-level1 > .podmenu-item:focus-within,
    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open {
        background: rgba(var(--rgb-oranzova), .07) !important;
        border-color: rgba(var(--rgb-oranzova), .42) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > a {
        display: flex !important;
        min-height: 42px !important;
        padding: 10px 12px !important;
        align-items: center !important;
        color: rgba(var(--rgb-bila), .88) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: .79rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        white-space: normal !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item:hover > a,
    .main-navigation .podmenu-level1 > .podmenu-item:focus-within > a,
    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open > a {
        color: var(--coranzova) !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > .submenu-toggle {
        position: static !important;
        display: inline-flex !important;
        width: 32px !important;
        height: 32px !important;
        margin: 0 6px 0 0 !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        color: rgba(var(--rgb-bila), .66) !important;
        background: var(--c-20231f) !important;
        border: 1px solid var(--c-363a34) !important;
        border-radius: 7px !important;
        transform: none !important;
    }

    /* podmenu 2 je dalsi vnorena mřížka uvnitr parent polozky */
    .main-navigation .podmenu-level2 {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        z-index: auto !important;
        display: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 8px !important;
        grid-column: 1 / -1 !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        color: var(--cbila) !important;
        background: var(--ccerna) !important;
        border: 0 !important;
        border-top: 1px solid var(--c-292d27) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item.submenu-open > .podmenu-level2 {
        display: grid !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item,
    .main-navigation .podmenu-level2 > .podmenu2-item {
        display: block !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        background: var(--c-151815) !important;
        border: 1px solid var(--c-2d312b) !important;
        border-radius: 7px !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:link,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:visited {
        display: flex !important;
        min-height: 38px !important;
        padding: 9px 11px !important;
        align-items: center !important;
        color: rgba(var(--rgb-bila), .84) !important;
        background: var(--ctransparentni) !important;
        border: 0 !important;
        border-radius: 0 !important;
        font-size: .77rem !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        white-space: normal !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item:hover,
    .main-navigation .podmenu-level2 > .podmenu2-item:hover,
    .main-navigation .podmenu-level2 > .podmenu-item:focus-within,
    .main-navigation .podmenu-level2 > .podmenu2-item:focus-within {
        background: rgba(var(--rgb-oranzova), .08) !important;
        border-color: rgba(var(--rgb-oranzova), .40) !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item:hover > a,
    .main-navigation .podmenu-level2 > .podmenu2-item:hover > a,
    .main-navigation .podmenu-level2 > .podmenu-item:focus-within > a,
    .main-navigation .podmenu-level2 > .podmenu2-item:focus-within > a {
        color: var(--coranzova) !important;
    }
}

/* --- uzsi responsive: 2 hlavni dlazdice na radek --- */
@media (max-width: 820px) {
    .main-navigation > .menu {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* --- MOBIL: jeden sloupec, vetsi dotykove plochy --- */
@media (max-width: 560px) {

    .main-header .main-navigation {
        top: 60px !important;
        max-height: calc(100dvh - 60px) !important;
        padding: 14px 12px 22px !important;
    }

    .main-navigation > .menu {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
    }

    .main-navigation > .menu > .menu-item {
        border-radius: 9px !important;
    }

    .main-navigation > .menu > .menu-item > .a-menu {
        min-height: 52px !important;
        padding: 14px !important;
        font-size: .88rem !important;
    }

    .main-navigation .podmenu-level1 {
        padding: 8px !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
    }

    .main-navigation .podmenu-level1 > .podmenu-item > a {
        min-height: 43px !important;
        padding: 10px 12px !important;
        font-size: .82rem !important;
    }

    .main-navigation .podmenu-level2 {
        padding: 7px !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .main-navigation .podmenu-level2 > .podmenu-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:link,
    .main-navigation .podmenu-level2 > .podmenu2-item > a:visited {
        min-height: 41px !important;
        padding: 10px 11px !important;
        font-size: .8rem !important;
    }
}
/* ========================================================================== */
/* HOMEPAGE - NEJCASTEJI VYBIRANE PRODUKTY                                   */
/* ========================================================================== */
.homepage-featured-products {
    padding: 6px 0 54px;
    background: var(--cbila);
}

.homepage-featured-products__box {
    overflow: hidden;
    border: 1px solid var(--cseda-linka);
    border-radius: 13px;
    background: var(--cbila);
    box-shadow: 0 8px 28px rgba(var(--rgb-cerna), .055);
}

.homepage-featured-products__heading {
    padding: 15px 20px 11px;
    text-align: center;
}

.homepage-featured-products__heading h2 {
    margin: 0;
    color: var(--ccerna);
    font-size: clamp(1.05rem, 1.65vw, 1.38rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.homepage-featured-products__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.homepage-featured-product {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 248px;
    grid-template-columns: minmax(122px, 42%) minmax(0, 58%);
    grid-template-rows: 1fr auto;
    column-gap: 14px;
    padding: 14px 16px 14px 14px;
    border-top: 1px solid var(--cseda-linka);
    border-right: 1px solid var(--cseda-linka);
    background: var(--cbila);
    transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.homepage-featured-product:nth-child(3n) {
    border-right: 0;
}

/* Prvni rad produktu bez vodorovne linky pod nadpisem sekce. */
.homepage-featured-product:nth-child(-n+3) {
    border-top: 0;
}

.homepage-featured-product:hover,
.homepage-featured-product:focus-within {
    z-index: 2;
    background: rgba(var(--rgb-oranzova), .018);
    box-shadow: 0 12px 26px rgba(var(--rgb-cerna), .075);
}

.homepage-featured-product__media {
    display: flex;
    min-width: 0;
    min-height: 0;
    grid-column: 1;
    grid-row: 1;
    align-items: center;
    justify-content: center;
    padding: 2px;
}

.homepage-featured-product__media a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.homepage-featured-product__media img {
    display: block;
    width: 100%;
    max-width: 190px;
    height: 176px;
    object-fit: contain;
    object-position: center;
    transition: transform .28s ease;
}

.homepage-featured-product:hover .homepage-featured-product__media img,
.homepage-featured-product:focus-within .homepage-featured-product__media img {
    transform: scale(1.035);
}

.homepage-featured-product__content {
    min-width: 0;
    grid-column: 2;
    grid-row: 1;
    padding: 5px 0 0;
}

.homepage-featured-product__content h3 {
    margin: 0 0 8px;
    color: var(--ccerna);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.16;
}

.homepage-featured-product__content h3 a {
    color: inherit;
    text-decoration: none;
}

.homepage-featured-product__content h3 a:hover,
.homepage-featured-product__content h3 a:focus-visible {
    color: var(--coranzova);
}

.homepage-featured-product__label {
    display: inline-flex;
    max-width: 100%;
    min-height: 24px;
    margin: 0 0 9px;
    padding: 5px 9px;
    align-items: center;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 4px;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.1;
}

.homepage-featured-product__content p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--cseda-text);
    font-size: .76rem;
    line-height: 1.42;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.homepage-featured-product__footer {
    display: grid;
    min-width: 0;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: minmax(122px, 42%) minmax(0, 58%);
    column-gap: 14px;
    align-items: end;
    padding-top: 10px;
}

.homepage-featured-product__price {
    align-self: center;
    color: var(--ccerna);
    font-size: 1.12rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.homepage-featured-product__button {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    color: var(--coranzova);
    background: var(--cbila);
    border: 1px solid var(--coranzova);
    border-radius: 5px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 3px 8px rgba(var(--rgb-oranzova), .06);
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.homepage-featured-product__button:hover,
.homepage-featured-product__button:focus-visible {
    color: var(--cbila);
    background: var(--coranzova);
    box-shadow: 0 6px 14px rgba(var(--rgb-oranzova), .2);
    transform: translateY(-1px);
}

@media (max-width: 1120px) {
    .homepage-featured-products__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-featured-product,
    .homepage-featured-product:nth-child(3n) {
        border-right: 1px solid var(--cseda-linka);
    }

    .homepage-featured-product:nth-child(2n) {
        border-right: 0;
    }

    .homepage-featured-product {
        border-top: 1px solid var(--cseda-linka);
    }

    .homepage-featured-product:nth-child(-n+2) {
        border-top: 0;
    }
}

@media (max-width: 700px) {
    .homepage-featured-products {
        padding-bottom: 38px;
    }

    .homepage-featured-products__heading {
        padding: 14px 14px 10px;
    }

    .homepage-featured-products__heading h2 {
        font-size: 1.05rem;
    }

    .homepage-featured-products__grid {
        grid-template-columns: 1fr;
    }

    .homepage-featured-product,
    .homepage-featured-product:nth-child(2n),
    .homepage-featured-product:nth-child(3n) {
        min-height: 222px;
        grid-template-columns: 132px minmax(0, 1fr);
        column-gap: 12px;
        padding: 13px;
        border-right: 0;
    }

    .homepage-featured-product,
    .homepage-featured-product:nth-child(2n),
    .homepage-featured-product:nth-child(3n) {
        border-top: 1px solid var(--cseda-linka);
    }

    .homepage-featured-product:first-child {
        border-top: 0;
    }

    .homepage-featured-product__media img {
        max-width: 132px;
        height: 148px;
    }

    .homepage-featured-product__footer {
        grid-template-columns: 132px minmax(0, 1fr);
        column-gap: 12px;
    }

    .homepage-featured-product__price {
        font-size: 1rem;
    }
}

@media (max-width: 430px) {
    .homepage-featured-product,
    .homepage-featured-product:nth-child(2n),
    .homepage-featured-product:nth-child(3n) {
        grid-template-columns: 108px minmax(0, 1fr);
        column-gap: 10px;
        padding: 11px;
    }

    .homepage-featured-product__media img {
        max-width: 108px;
        height: 126px;
    }

    .homepage-featured-product__footer {
        grid-template-columns: 108px minmax(0, 1fr);
        column-gap: 10px;
    }

    .homepage-featured-product__content h3 {
        font-size: .9rem;
    }

    .homepage-featured-product__content p {
        font-size: .7rem;
        -webkit-line-clamp: 3;
    }

    .homepage-featured-product__label {
        font-size: .63rem;
    }

    .homepage-featured-product__button {
        min-height: 34px;
        padding: 7px 8px;
        font-size: .67rem;
    }
}


/* Homepage - postupne zobrazeni produktu pri rolovani. */
.homepage-featured-product.is-reveal-ready {
    opacity: 0;
    transform: translateY(22px);
    transition:
        opacity .52s ease var(--featured-reveal-delay, 0ms),
        transform .52s ease var(--featured-reveal-delay, 0ms),
        background-color .25s ease,
        box-shadow .25s ease;
    will-change: opacity, transform;
}

.homepage-featured-product.is-reveal-ready.is-visible {
    opacity: 1;
    transform: translateY(0);
    will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
    .homepage-featured-product.is-reveal-ready,
    .homepage-featured-product.is-reveal-ready.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ========================================================================== */
/* HOMEPAGE - PROC PRABOS                                                     */
/* ========================================================================== */
.homepage-why-prabos {
    padding: 0 0 30px;
}

.homepage-why-prabos__box {
    overflow: hidden;
    color: var(--cbila);
    background:
        radial-gradient(circle at 50% 0%, rgba(var(--rgb-zelena-svetla), .13), var(--ctransparentni) 42%),
        linear-gradient(135deg, var(--ccerna3), var(--ccerna2));
    border: 1px solid rgba(var(--rgb-bila), .08);
    border-radius: 10px;
    box-shadow: 0 12px 30px rgba(var(--rgb-cerna), .14);
}

.homepage-why-prabos__heading {
    padding: 12px 18px 4px;
    text-align: center;
}

.homepage-why-prabos__heading h2 {
    margin: 0;
    color: var(--cbila);
    font-size: clamp(1.05rem, 1.65vw, 1.38rem);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.homepage-why-prabos__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    padding: 8px 16px 14px;
}

.homepage-why-prabos__item {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 88px;
    align-items: center;
    padding: 10px 18px;
    appearance: none;
    border: 0;
    color: inherit;
    background: var(--ctransparentni);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: background-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.homepage-why-prabos__item + .homepage-why-prabos__item::before {
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: 0;
    width: 1px;
    background: rgba(var(--rgb-bila), .16);
    content: "";
}

.homepage-why-prabos__item-inner {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 14px;
}

.homepage-why-prabos__icon {
    position: relative;
    display: flex;
    width: 58px;
    min-width: 58px;
    height: 58px;
    align-items: center;
    justify-content: center;
}

.homepage-why-prabos__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 2px 5px rgba(var(--rgb-cerna), .18));
    transition: opacity .22s ease, transform .22s ease, filter .28s ease;
}

/* WEBP ikony se probarvuji primo pres filter; maska se nepouziva. */
.homepage-why-prabos__icon::after {
    display: none;
}

.homepage-why-prabos__text {
    color: var(--cbila);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.32;
    text-wrap: balance;
    transition: color .22s ease;
}

.homepage-why-prabos__item:hover {
    background: rgba(var(--rgb-bila), .035);
}

.homepage-why-prabos__item:focus-visible {
    outline: 2px solid var(--coranzova);
    outline-offset: -2px;
    background: rgba(var(--rgb-oranzova), .06);
}

.homepage-why-prabos__item:hover .homepage-why-prabos__icon img,
.homepage-why-prabos__item:focus-visible .homepage-why-prabos__icon img {
    opacity: 1;
    transform: translateY(-2px) scale(1.05);
    /* var(--coranzova) = var(--coranzova); transparentni WEBP zustava transparentni. */
    filter:
        brightness(0)
        saturate(100%)
        invert(40.419%)
        sepia(41.441%)
        saturate(1832.153%)
        hue-rotate(4.019deg)
        brightness(116.462%)
        contrast(152.733%);
}

.homepage-why-prabos__item:hover .homepage-why-prabos__text,
.homepage-why-prabos__item:focus-visible .homepage-why-prabos__text {
    color: var(--coranzova);
}

@media (max-width: 1080px) {
    .homepage-why-prabos__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 8px 14px 14px;
    }

    .homepage-why-prabos__item {
        border-top: 1px solid rgba(var(--rgb-bila), .11);
    }

    .homepage-why-prabos__item:nth-child(-n+3) {
        border-top: 0;
    }

    .homepage-why-prabos__item::before,
    .homepage-why-prabos__item + .homepage-why-prabos__item::before {
        display: none;
    }

    .homepage-why-prabos__item:not(:nth-child(3n+1)) {
        border-left: 1px solid rgba(var(--rgb-bila), .11);
    }
}

@media (max-width: 760px) {
    .homepage-why-prabos__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .homepage-why-prabos__item:nth-child(-n+3) {
        border-top: 1px solid rgba(var(--rgb-bila), .11);
    }

    .homepage-why-prabos__item:nth-child(-n+2) {
        border-top: 0;
    }

    .homepage-why-prabos__item:not(:nth-child(3n+1)) {
        border-left: 0;
    }

    .homepage-why-prabos__item:nth-child(2n) {
        border-left: 1px solid rgba(var(--rgb-bila), .11);
    }
}

@media (max-width: 500px) {
    .homepage-why-prabos {
        padding-bottom: 24px;
    }

    .homepage-why-prabos__heading {
        padding-top: 14px;
    }

    .homepage-why-prabos__heading h2 {
        font-size: 1.05rem;
    }

    .homepage-why-prabos__grid {
        grid-template-columns: 1fr;
        padding: 6px 12px 12px;
    }

    .homepage-why-prabos__item,
    .homepage-why-prabos__item:nth-child(-n+2),
    .homepage-why-prabos__item:nth-child(2n) {
        min-height: 78px;
        padding: 9px 12px;
        border-top: 1px solid rgba(var(--rgb-bila), .11);
        border-left: 0;
    }

    .homepage-why-prabos__item:first-child {
        border-top: 0;
    }

    .homepage-why-prabos__icon {
        width: 52px;
        min-width: 52px;
        height: 52px;
    }

    .homepage-why-prabos__text {
        font-size: .82rem;
    }
}

.homepage-why-prabos__item.is-reveal-ready {
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity .48s ease var(--why-prabos-reveal-delay, 0ms),
        transform .48s ease var(--why-prabos-reveal-delay, 0ms),
        background-color .22s ease;
    will-change: opacity, transform;
}

.homepage-why-prabos__item.is-reveal-ready.is-visible {
    opacity: 1;
    transform: translateY(0);
    will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
    .homepage-why-prabos__item.is-reveal-ready,
    .homepage-why-prabos__item.is-reveal-ready.is-visible {
        opacity: 1;
        transform: none;
        transition: none;
    }
}


/* ========================================================================== */
/* HOMEPAGE - JAKY TYP BOT POTREBUJETE?                                      */
/* ========================================================================== */

.homepage-guide {
    padding: 18px 0 54px;
    background: var(--cbila);
}

.homepage-guide__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.homepage-guide__left,
.homepage-guide__right {
    min-width: 0;
    min-height: 330px;
    border: 1px solid var(--cseda-linka);
    border-radius: 14px;
    background: var(--cbila);
    box-shadow: 0 12px 32px rgba(var(--rgb-cerna), .055);
}

.homepage-guide__left {
    overflow: hidden;
    transition: opacity .55s ease, transform .55s ease;
}

.homepage-guide__left.is-reveal-ready {
    opacity: 0;
    transform: translateY(18px);
}

.homepage-guide__left.is-reveal-ready.is-visible,
.homepage-guide__left.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.homepage-guide__heading {
    padding: 16px 18px 12px;
    text-align: center;
}

.homepage-guide__heading h2 {
    margin: 0;
    color: var(--ccerna2);
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    line-height: 1.16;
    letter-spacing: -.025em;
}

.homepage-guide__table-wrap {
    padding: 0 12px;
}

.homepage-guide__table {
    width: 100%;
    overflow: hidden;
    border: 1px solid var(--cseda-linka);
    border-radius: 9px;
    background: var(--cseda-linka);
}

.homepage-guide__row {
    display: grid;
    grid-template-columns: .85fr 1.2fr 1.05fr 1.35fr;
    gap: 1px;
    background: var(--cseda-linka);
}

.homepage-guide__head {
    display: flex;
    min-height: 34px;
    align-items: center;
    padding: 6px 9px;
    color: var(--ccerna2);
    background: var(--cseda-svetla);
    font-size: .73rem;
    font-weight: 800;
    line-height: 1.2;
}

.homepage-guide__cell {
    min-width: 0;
    background: var(--cbila);
}

.homepage-guide__choice {
    position: relative;
    display: flex;
    width: 100%;
    min-height: 39px;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 5px 24px 5px 8px;
    color: var(--ccerna2);
    background: var(--cbila);
    border: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    font-size: clamp(.64rem, .62vw, .72rem);
    line-height: 1.18;
    letter-spacing: -.014em;
    white-space: normal;
    transition:
        color .2s ease,
        background-color .2s ease,
        box-shadow .2s ease;
}

.homepage-guide__choice-text {
    display: block;
    min-width: 0;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}

.homepage-guide__choice:hover,
.homepage-guide__choice:focus-visible {
    z-index: 1;
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .045);
    box-shadow: inset 0 0 0 1px var(--coranzova);
    outline: none;
}

.homepage-guide__choice.is-selected {
    z-index: 2;
    color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .075);
    box-shadow: inset 0 0 0 1.5px var(--coranzova);
    font-weight: 800;
}

.homepage-guide__choice:disabled {
    cursor: default;
    opacity: .48;
}

.homepage-guide__choice:disabled:hover {
    color: var(--ccerna2);
    background: var(--cbila);
    box-shadow: none;
}

.homepage-guide__choice-check {
    position: absolute;
    top: 50%;
    right: 7px;
    width: 15px;
    height: 15px;
    border: 1px solid var(--cseda-linka);
    border-radius: 50%;
    background: var(--cbila);
    opacity: 0;
    transform: translateY(-50%) scale(.72);
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease, border-color .18s ease;
}

.homepage-guide__choice-check::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 4px;
    width: 4px;
    height: 7px;
    border-right: 1.7px solid var(--cbila);
    border-bottom: 1.7px solid var(--cbila);
    transform: rotate(45deg);
}

.homepage-guide__choice.is-selected .homepage-guide__choice-check {
    opacity: 1;
    transform: translateY(-50%) scale(1);
    background: var(--coranzova);
    border-color: var(--coranzova);
}

.homepage-guide__actions {
    display: flex;
    justify-content: center;
    padding: 13px 18px 16px;
}

.homepage-guide__submit {
    display: inline-flex;
    min-width: 158px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    color: var(--cbila);
    background: var(--czelena);
    border: 1px solid var(--czelena);
    border-radius: 5px;
    cursor: pointer;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.15;
    box-shadow: 0 5px 14px rgba(var(--rgb-cerna), .11);
    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.homepage-guide__submit:hover,
.homepage-guide__submit:focus-visible {
    background: var(--czelena-svetla);
    border-color: var(--czelena-svetla);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(var(--rgb-cerna), .14);
    outline: none;
}

.homepage-guide__right {
    background: var(--cbila);
}

@media (max-width: 1040px) {
    .homepage-guide__layout {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 760px) {
    .homepage-guide {
        padding-bottom: 38px;
    }

    .homepage-guide__left {
        min-height: 0;
    }

    .homepage-guide__heading {
        padding: 14px 13px 10px;
    }

    .homepage-guide__heading h2 {
        font-size: 1.08rem;
    }

    .homepage-guide__table-wrap {
        padding: 0 8px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .homepage-guide__table {
        min-width: 680px;
    }

    .homepage-guide__choice {
        min-height: 38px;
        padding: 5px 23px 5px 7px;
        font-size: .68rem;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .homepage-guide__left,
    .homepage-guide__left.is-reveal-ready,
    .homepage-guide__left.is-reveal-ready.is-visible,
    .homepage-guide__choice,
    .homepage-guide__submit {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* ========================================================================== */
/* HOMEPAGE - POMOC S VELIKOSTI / PRAVA CAST GUIDE                           */
/* Obsah je z texty.text_$jazyk, obrazek z files/fotogalerie.                 */
/* ========================================================================== */

.homepage-size-help {
    overflow: hidden;
}

.homepage-size-help__heading {
    padding: 16px 18px 10px;
    text-align: center;
}

.homepage-size-help__heading h2 {
    margin: 0;
    color: var(--ccerna2);
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    line-height: 1.16;
    letter-spacing: -.025em;
}

.homepage-size-help__body {
    display: grid;
    min-height: 260px;
    grid-template-columns: minmax(150px, .8fr) minmax(0, 1.45fr);
    gap: 20px;
    align-items: center;
    padding: 12px 22px 22px;
}

.homepage-size-help__media {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
}

.homepage-size-help__media img {
    display: block;
    width: 100%;
    max-width: 205px;
    max-height: 205px;
    object-fit: contain;
}

.homepage-size-help__content {
    min-width: 0;
    color: var(--cseda-text);
    font-size: .82rem;
    line-height: 1.45;
}

.homepage-size-help__content > :first-child {
    margin-top: 0;
}

.homepage-size-help__content > :last-child {
    margin-bottom: 0;
}

.homepage-size-help__list,
.homepage-size-help__content ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.homepage-size-help__list li,
.homepage-size-help__content ul li {
    position: relative;
    min-height: 24px;
    padding-left: 34px;
    color: var(--ccerna2);
    list-style: none;
}

.homepage-size-help__list li::before,
.homepage-size-help__content ul li::before {
    content: "";
    position: absolute;
    top: .05em;
    left: 0;
    width: 21px;
    height: 21px;
    border: 1.5px solid var(--czelena);
    border-radius: 50%;
    background: var(--cbila);
    box-shadow: inset 0 0 0 2px rgba(var(--rgb-zelena), .035);
}

.homepage-size-help__list li::after,
.homepage-size-help__content ul li::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 7px;
    width: 5px;
    height: 9px;
    border-right: 1.8px solid var(--czelena);
    border-bottom: 1.8px solid var(--czelena);
    transform: rotate(45deg);
}

.homepage-size-help__actions {
    display: flex;
    column-gap: 24px;
    row-gap: 14px;
    align-items: stretch;
    margin-top: 26px;
}

.homepage-size-help__content .homepage-size-help__button + .homepage-size-help__button {
    margin-left: 4px;
}

.homepage-size-help__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border: 1px solid var(--czelena);
    border-radius: 5px;
    text-decoration: none;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.homepage-size-help__button--outline {
    color: var(--czelena);
    background: var(--cbila);
}

.homepage-size-help__button--primary {
    color: var(--cbila);
    background: var(--czelena);
}

.homepage-size-help__button:hover,
.homepage-size-help__button:focus-visible {
    border-color: var(--czelena-svetla);
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(var(--rgb-cerna), .12);
    outline: none;
}

.homepage-size-help__button--outline:hover,
.homepage-size-help__button--outline:focus-visible {
    color: var(--cbila);
    background: var(--czelena-svetla);
}

.homepage-size-help__button--primary:hover,
.homepage-size-help__button--primary:focus-visible {
    background: var(--czelena-svetla);
}

@media (max-width: 1040px) {
    .homepage-size-help__body {
        min-height: 280px;
        grid-template-columns: minmax(160px, .7fr) minmax(0, 1.5fr);
    }
}

@media (max-width: 620px) {
    .homepage-size-help__heading {
        padding: 14px 14px 8px;
    }

    .homepage-size-help__heading h2 {
        font-size: 1.08rem;
    }

    .homepage-size-help__body {
        min-height: 0;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 8px 16px 18px;
    }

    .homepage-size-help__media img {
        max-width: 180px;
        max-height: 150px;
    }

    .homepage-size-help__content {
        font-size: .8rem;
    }

    .homepage-size-help__actions {
        flex-direction: column;
        row-gap: 12px;
        column-gap: 0;
        margin-top: 20px;
    }

    .homepage-size-help__content .homepage-size-help__button + .homepage-size-help__button {
        margin-left: 0;
    }

    .homepage-size-help__button {
        width: 100%;
    }
}


/* ========================================================================== */
/* HOMEPAGE BANNER - DOTS + SWIPE/DRAG                                        */
/* Izolovany doplnek. Stavajici layout, gradienty a trust prouzek se nemeni.  */
/* ========================================================================== */

.homepage-banner-slider__stage {
    touch-action: pan-y pinch-zoom;
}

.homepage-banner-slider__stage.is-dragging {
    cursor: grabbing;
}

.homepage-banner-slider__stage.is-dragging,
.homepage-banner-slider__stage.is-dragging * {
    user-select: none;
}

.homepage-banner-slider__dots {
    position: absolute;
    right: auto;
    bottom: 13px;
    left: 50%;
    z-index: 12;
    display: flex;
    width: max-content;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 6px 9px;
    background: rgba(var(--rgb-cerna3), .42);
    border: 1px solid rgba(var(--rgb-bila), .10);
    border-radius: 999px;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transform: translateX(-50%);
}

.homepage-banner-slider__dot {
    display: block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    padding: 0;
    background: rgba(var(--rgb-bila), .62);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: none;
    transform: scale(1);
    transition:
        width .22s ease,
        background-color .22s ease,
        box-shadow .22s ease,
        transform .22s ease;
}

.homepage-banner-slider__dot:hover,
.homepage-banner-slider__dot:focus-visible {
    background: var(--cbila);
    outline: none;
    transform: scale(1.22);
}

.homepage-banner-slider__dot.is-active {
    width: 22px;
    flex-basis: 22px;
    background: var(--coranzova);
    border-radius: 999px;
    box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .14);
}

@media (max-width: 860px) {
    .homepage-banner-slider__dots {
        bottom: 9px;
        gap: 7px;
        padding: 5px 8px;
    }

    .homepage-banner-slider__dot {
        width: 7px;
        height: 7px;
        flex-basis: 7px;
    }

    .homepage-banner-slider__dot.is-active {
        width: 19px;
        flex-basis: 19px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .homepage-banner-slider__dot {
        transition: none;
    }
}


/* ========================================================================== */
/* HOMEPAGE BANNER - UZKY DESKTOP / MOBIL: 1 OBRAZEK + TEXT PRES OBRAZEK      */
/* Desktop nad 860 px zustava beze zmeny.                                     */
/* ========================================================================== */

@media (max-width: 860px) {

    .homepage-banner-slide__grid {
        position: relative;
        display: block;
        min-height: clamp(360px, 58vw, 500px);
        overflow: hidden;
        background: var(--ccerna3);
    }

    /* Pouzivame pouze prvni / levy obrazek. */
    .homepage-banner-slide__image--left {
        position: absolute;
        inset: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0;
        overflow: hidden;
        -webkit-mask-image: none;
        mask-image: none;
    }

    .homepage-banner-slide__image--left img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    .homepage-banner-slide__image--right {
        display: none !important;
    }

    /*
      Textovy overlay je samostatna vrstva nad obrazkem.
      Gradient ztmavuje hlavne levou/stredni cast a vpravo nechava
      obrazek viditelnejsi.
    */
    .homepage-banner-slide__content {
        position: relative;
        inset: auto;
        z-index: 3;
        display: flex;
        width: 100%;
        min-height: clamp(360px, 58vw, 500px);
        align-items: center;
        padding: clamp(28px, 4.5vw, 48px) clamp(24px, 5vw, 56px) 54px;
        color: var(--cbila);
        background:
            linear-gradient(
                90deg,
                rgba(var(--rgb-cerna3), .90) 0%,
                rgba(var(--rgb-cerna3), .82) 30%,
                rgba(var(--rgb-cerna3), .66) 55%,
                rgba(var(--rgb-cerna3), .30) 78%,
                rgba(var(--rgb-cerna3), .10) 100%
            );
        text-align: left;
    }

    .homepage-banner-slide__content::before,
    .homepage-banner-slide__content::after {
        display: none !important;
        content: none !important;
    }

    .homepage-banner-slide__content-inner {
        width: min(62%, 520px);
        max-width: 520px;
        margin: 0;
        text-align: left;
    }

    .homepage-banner-slide__content h1,
    .homepage-banner-slide__content h2,
    .homepage-banner-slide__content h3 {
        margin: 0 0 12px;
        font-size: clamp(1.7rem, 4.2vw, 2.55rem);
        line-height: 1.04;
        letter-spacing: -.035em;
        text-shadow: 0 2px 10px rgba(var(--rgb-cerna3), .38);
    }

    .homepage-banner-slide__content p {
        margin: 0 0 9px;
        color: var(--cbila);
        font-size: clamp(.78rem, 1.55vw, .95rem);
        line-height: 1.42;
        text-shadow: 0 1px 6px rgba(var(--rgb-cerna3), .46);
    }

    .homepage-banner-slide__buttons {
        display: flex;
        margin-top: 18px;
        flex-wrap: wrap;
        gap: 9px;
    }

    .homepage-banner-slide__buttons .banner-button {
        min-height: 42px;
        padding: 0 18px;
        font-size: .78rem;
    }

    /* Tecky zustanou na spodni hrane banneru, nad trust pruhem. */
    .homepage-banner-slider__dots {
        bottom: 10px;
        z-index: 15;
    }
}

@media (max-width: 560px) {

    .homepage-banner-slide__grid,
    .homepage-banner-slide__content {
        min-height: clamp(330px, 92vw, 410px);
    }

    .homepage-banner-slide__content {
        align-items: flex-start;
        padding: 24px 18px 50px;
        background:
            linear-gradient(
                90deg,
                rgba(var(--rgb-cerna3), .92) 0%,
                rgba(var(--rgb-cerna3), .78) 52%,
                rgba(var(--rgb-cerna3), .42) 100%
            );
    }

    .homepage-banner-slide__content-inner {
        width: min(88%, 390px);
        max-width: 390px;
    }

    .homepage-banner-slide__content h1,
    .homepage-banner-slide__content h2,
    .homepage-banner-slide__content h3 {
        margin-bottom: 10px;
        font-size: clamp(1.45rem, 7vw, 2rem);
        line-height: 1.03;
    }

    .homepage-banner-slide__content p {
        margin-bottom: 7px;
        font-size: clamp(.72rem, 3.1vw, .84rem);
        line-height: 1.38;
    }

    .homepage-banner-slide__buttons {
        display: grid;
        width: min(100%, 360px);
        margin-top: 15px;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .homepage-banner-slide__buttons .banner-button {
        width: 100%;
        min-height: 40px;
        padding: 0 14px;
        font-size: .74rem;
    }

    .homepage-banner-slider__dots {
        bottom: 8px;
    }
}

@media (max-width: 390px) {

    .homepage-banner-slide__grid,
    .homepage-banner-slide__content {
        min-height: 342px;
    }

    .homepage-banner-slide__content {
        padding: 20px 15px 48px;
    }

    .homepage-banner-slide__content-inner {
        width: 92%;
    }
}


/* ========================================================================== */
/* HLAVICKA - OBLIBENE + POROVNANI                                             */
/* Barva ikon se dedi z currentColor, tedy stejne jako ostatni header ikony.   */
/* ========================================================================== */

.favorite-icon,
.compare-icon {
    position: relative;
    display: block;
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    background-color: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.favorite-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%2020.5%203.8%2012.7A5.3%205.3%200%200%201%2011.4%205L12%205.7l.6-.7a5.3%205.3%200%200%201%207.6%207.7Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%2020.5%203.8%2012.7A5.3%205.3%200%200%201%2011.4%205L12%205.7l.6-.7a5.3%205.3%200%200%201%207.6%207.7Z%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.compare-icon {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%203v17M7%205h10M5%207l-3%206h6L5%207Zm14%200-3%206h6l-3-6ZM8%2021h8%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M12%203v17M7%205h10M5%207l-3%206h6L5%207Zm14%200-3%206h6l-3-6ZM8%2021h8%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

/* S 5 ikonami potrebuje prava cast na sirokem desktopu o neco vice mista. */
@media (min-width: 1321px) {
    .main-header {
        grid-template-columns: 132px minmax(0, 1fr) 198px;
    }
}

@media (min-width: 1181px) and (max-width: 1320px) {
    .main-header {
        grid-template-columns: 126px minmax(0, 1fr) 180px;
    }

    .header-actions .icon-button {
        min-width: 36px;
    }
}

/* Burger / tablet - zachovat vsech 5 ikon bez zmeny struktury hlavicky. */
@media (max-width: 1180px) {
    .header-actions .icon-button {
        min-width: 36px;
    }

    .header-actions .search-icon,
    .header-actions .account-icon,
    .header-actions .favorite-icon,
    .header-actions .compare-icon,
    .header-actions .cart-icon {
        width: 21px;
        height: 21px;
    }
}

@media (max-width: 620px) {
    .header-actions .icon-button {
        min-width: 31px;
        min-height: 46px;
    }

    .header-actions .search-icon,
    .header-actions .account-icon,
    .header-actions .favorite-icon,
    .header-actions .compare-icon,
    .header-actions .cart-icon {
        width: 19px;
        height: 19px;
    }

    .brand,
    .brand img {
        width: 100px;
    }
}


/* ========================================================================== */
/* HOMEPAGE - FIREMNI NABIDKA / B2B                                           */
/* Leva cast aktivni, prava zatim pouze pripraveny panel.                      */
/* ========================================================================== */

.homepage-company-section {
    padding: 18px 0 54px;
    background: var(--cbila);
}

.homepage-company-section__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.homepage-company-offer,
.homepage-company-section__right {
    min-width: 0;
    min-height: 310px;
    border: 1px solid var(--cseda-linka);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(var(--rgb-cerna), .055);
}

.homepage-company-offer {
    position: relative;
    color: var(--cbila);
    background-color: var(--ccerna3);
    background-image: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.homepage-company-offer__overlay {
    display: flex;
    min-height: 310px;
    align-items: center;
    padding: 30px 34px;
    background:
        linear-gradient(
            90deg,
            rgba(var(--rgb-cerna), .96) 0%,
            rgba(var(--rgb-cerna), .88) 30%,
            rgba(var(--rgb-cerna), .65) 52%,
            rgba(var(--rgb-cerna), .28) 74%,
            rgba(var(--rgb-cerna), 0) 100%
        );
}

.homepage-company-offer__content {
    width: min(78%, 520px);
}

.homepage-company-offer h2 {
    margin: 0 0 12px;
    color: var(--cbila);
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.homepage-company-offer__annotation {
    max-width: 440px;
    color: rgba(var(--rgb-bila), .86);
    font-size: .92rem;
    line-height: 1.48;
}

.homepage-company-offer__annotation p {
    margin: 0;
}

.homepage-company-offer__text {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
    margin-top: 22px;
}

.homepage-company-offer__actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 12px;
    width: auto;
}

.homepage-company-offer__text > p,
.homepage-company-offer__actions > p {
    display: contents;
    margin: 0;
}

.homepage-company-offer__text .homepage-company-offer__actions {
    flex: 0 1 auto;
}

.homepage-company-offer__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid var(--ctransparentni);
    border-radius: 5px;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.15;
    box-shadow: 0 7px 18px rgba(var(--rgb-cerna), .18);
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.homepage-company-offer__button--primary {
    color: var(--cbila);
    background: var(--coranzova);
    border-color: var(--coranzova);
}

.homepage-company-offer__button--secondary {
    color: var(--cbila);
    background: var(--czelena);
    border-color: var(--czelena);
}

.homepage-company-offer__button:hover,
.homepage-company-offer__button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(var(--rgb-cerna), .24);
    outline: none;
}

.homepage-company-offer__button--primary:hover,
.homepage-company-offer__button--primary:focus-visible {
    background: var(--coranzova-tmava);
    border-color: var(--coranzova-tmava);
}

.homepage-company-offer__button--secondary:hover,
.homepage-company-offer__button--secondary:focus-visible {
    background: var(--czelena-svetla);
    border-color: var(--czelena-svetla);
}

.homepage-company-section__right {
    background: var(--cbila);
}

/* ========================================================================== */
/* STRANKA - CHCI FIREMNI NABIDKU / FORMULAR                                  */
/* ========================================================================== */

.company-offer-form {
    width: min(820px, 100%);
    margin-top: 26px;
    padding: 28px;
    border: 1px solid var(--cseda-linka);
    border-radius: 14px;
    background: var(--cbila);
    box-shadow: 0 14px 38px rgba(var(--rgb-cerna), .07);
}

.company-offer-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.company-offer-form__field {
    display: grid;
    gap: 7px;
}

.company-offer-form__field--full {
    grid-column: 1 / -1;
}

.company-offer-form__field label {
    color: var(--ccerna2);
    font-size: .83rem;
    font-weight: 800;
}

.company-offer-form__field input,
.company-offer-form__field textarea {
    width: 100%;
    border: 1px solid var(--cseda-linka);
    border-radius: 6px;
    background: var(--cbila);
    color: var(--ccerna2);
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.company-offer-form__field input {
    min-height: 46px;
    padding: 9px 12px;
}

.company-offer-form__field textarea {
    min-height: 130px;
    padding: 11px 12px;
    resize: vertical;
}

.company-offer-form__field input:focus,
.company-offer-form__field textarea:focus {
    border-color: var(--coranzova);
    box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .10);
    outline: none;
}

.company-offer-form__actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 20px;
}

.company-offer-form__submit {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 22px;
    border: 1px solid var(--coranzova);
    border-radius: 5px;
    background: var(--coranzova);
    color: var(--cbila);
    cursor: pointer;
    font-weight: 800;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.company-offer-form__submit:hover,
.company-offer-form__submit:focus-visible {
    background: var(--coranzova-tmava);
    border-color: var(--coranzova-tmava);
    transform: translateY(-1px);
    outline: none;
}

.company-offer-form__message {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 7px;
    font-size: .88rem;
}

.company-offer-form__message--success {
    color: var(--czelena);
    background: rgba(var(--rgb-zelena-svetla), .10);
    border: 1px solid var(--czelena);
}

.company-offer-form__message--error {
    color: var(--coranzova-tmava);
    background: rgba(var(--rgb-oranzova), .08);
    border: 1px solid var(--coranzova);
}

.company-offer-form__hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 1040px) {
    .homepage-company-offer__content {
        width: min(86%, 520px);
    }

    .homepage-company-offer__button {
        padding-inline: 15px;
        font-size: .74rem;
    }
}

@media (max-width: 860px) {
    .homepage-company-section__grid {
        grid-template-columns: 1fr;
    }

    .homepage-company-section__right {
        display: none;
    }

    .homepage-company-offer,
    .homepage-company-offer__overlay {
        min-height: 290px;
    }

    .homepage-company-offer__overlay {
        padding: 26px 24px;
        background:
            linear-gradient(
                90deg,
                rgba(var(--rgb-cerna), .95) 0%,
                rgba(var(--rgb-cerna), .82) 45%,
                rgba(var(--rgb-cerna), .42) 76%,
                rgba(var(--rgb-cerna), .12) 100%
            );
    }

    .homepage-company-offer__content {
        width: min(92%, 520px);
    }

    .homepage-company-offer__actions,
    .homepage-company-offer__text {
        flex-wrap: nowrap;
    }
}

@media (max-width: 620px) {
    .homepage-company-section {
        padding-bottom: 38px;
    }

    .homepage-company-offer,
    .homepage-company-offer__overlay {
        min-height: 320px;
    }

    .homepage-company-offer__overlay {
        align-items: flex-end;
        padding: 22px 18px;
        background:
            linear-gradient(
                90deg,
                rgba(var(--rgb-cerna), .94) 0%,
                rgba(var(--rgb-cerna), .76) 60%,
                rgba(var(--rgb-cerna), .34) 100%
            );
    }

    .homepage-company-offer__content {
        width: 100%;
    }

    .homepage-company-offer h2 {
        font-size: 1.45rem;
    }

    .homepage-company-offer__annotation {
        font-size: .84rem;
    }

    .homepage-company-offer__text,
    .homepage-company-offer__actions {
        display: flex;
        flex-direction: row;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .homepage-company-offer__button {
        width: auto;
        min-width: 0;
        padding: 9px 11px;
        font-size: .69rem;
    }

    .company-offer-form {
        padding: 18px;
    }

    .company-offer-form__grid {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .company-offer-form__field--full {
        grid-column: auto;
    }

    .company-offer-form__submit {
        width: 100%;
    }
}

@media (max-width: 440px) {
    .homepage-company-offer__text,
    .homepage-company-offer__actions {
        flex-direction: column;
        gap: 8px;
    }

    .homepage-company-offer__button {
        width: 100%;
    }
}


/* ========================================================================== */
/* HOMEPAGE - FIREMNI NABIDKA / FINALNI DOLADENI PRO QUILL                    */
/* Quill uklada tlacitka jako: <p><a ...></a><a ...></a></p>                  */
/* ========================================================================== */

/* Mezera mezi predchozim guide blokem a firemni nabidkou. */
.homepage-company-section {
    padding-top: 0;
}

.homepage-guide + .homepage-company-section {
    margin-top: -36px;
}

/* Vice prostoru pro nadpis a tlacitka. */
.homepage-company-offer__content {
    width: min(94%, 560px);
}

/* Stejna velikost nadpisu jako u "Jaky typ bot potrebujete?". */
.homepage-company-offer h2 {
    margin: 0 0 12px;
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    line-height: 1.16;
    letter-spacing: -.025em;
}

/*
 * Nemenime HTML z Quillu.
 * Nastylujeme primo realny <p>, ktery obsahuje oba odkazy.
 */
.homepage-company-offer__text {
    display: block;
    margin-top: 18px;
}

.homepage-company-offer__text > p {
    display: flex;
    width: auto;
    align-items: center;
    justify-content: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.homepage-company-offer__text > p > .homepage-company-offer__button {
    width: auto;
    min-width: 0;
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 1040px) {
    .homepage-company-offer__content {
        width: min(96%, 560px);
    }
}

@media (max-width: 860px) {
    .homepage-guide + .homepage-company-section {
        margin-top: -36px;
    }

    .homepage-company-offer__content {
        width: min(96%, 540px);
    }

    .homepage-company-offer__text > p {
        gap: 10px;
    }
}

@media (max-width: 620px) {
    .homepage-guide + .homepage-company-section {
        margin-top: -20px;
    }

    .homepage-company-offer h2 {
        font-size: 1.15rem;
    }

    .homepage-company-offer__text > p {
        gap: 8px;
    }

    .homepage-company-offer__text > p > .homepage-company-offer__button {
        padding: 9px 10px;
        font-size: .68rem;
    }
}

@media (max-width: 440px) {
    .homepage-company-offer__text > p {
        flex-direction: column;
        align-items: stretch;
    }

    .homepage-company-offer__text > p > .homepage-company-offer__button {
        width: 100%;
    }
}


/* ========================================================================== */
/* HOMEPAGE - FIREMNI NABIDKA / KOMPAKTNI VYSKA                              */
/* Vyska se ridi obsahem + paddingem, ne pevnym min-height.                   */
/* ========================================================================== */

.homepage-company-offer,
.homepage-company-section__right {
    min-height: 0;
}

.homepage-company-offer__overlay {
    min-height: 0;
    padding: 26px 34px;
}

@media (max-width: 860px) {
    .homepage-company-offer,
    .homepage-company-offer__overlay {
        min-height: 0;
    }

    .homepage-company-offer__overlay {
        padding: 24px;
    }
}

@media (max-width: 620px) {
    .homepage-company-offer,
    .homepage-company-offer__overlay {
        min-height: 0;
    }

    .homepage-company-offer__overlay {
        padding: 20px 18px;
    }
}


/* ========================================================================== */
/* HOMEPAGE - SJEDNOCENE SVISLE MEZERY MEZI HLAVNIMI BLOKY                   */
/* Cil: stejna uzsi mezera cca 18 px jako pred firemni nabidkou.              */
/* Vnitrni padding a obsah jednotlivych boxu se nemeni.                       */
/* ========================================================================== */

/* Rozcestnik ma nasledujici sekci s padding-top 8 px => 10 + 8 = 18 px. */
.homepage-crossroads {
    padding-bottom: 10px;
}

/* Selector ma dalsi sekci s padding-top 6 px => 12 + 6 = 18 px. */
.homepage-shoe-selector {
    padding-bottom: 12px;
}

/* Featured products -> Proc PRABOS (bez horniho paddingu). */
.homepage-featured-products {
    padding-bottom: 18px;
}

/* Proc PRABOS -> guide; guide ma padding-top 18 px. */
.homepage-why-prabos {
    padding-bottom: 0;
}

/*
 * Guide -> firemni nabidka uz ma existujici vyslednou mezeru cca 18 px
 * pres .homepage-guide + .homepage-company-section, proto ji nemenime.
 */

@media (max-width: 700px) {
    .homepage-crossroads {
        padding-bottom: 10px;
    }

    .homepage-shoe-selector {
        padding-bottom: 12px;
    }

    .homepage-featured-products {
        padding-bottom: 18px;
    }

    .homepage-why-prabos {
        padding-bottom: 0;
    }
}


/* ========================================================================== */
/* HOMEPAGE GUIDE - UZKE ROZLISENI: TABULKA 2 SLOUPCE                         */
/* Bez horizontalniho scrollu. Kazdy puvodni radek se rozlozi na 2 x 2 bunky. */
/* ========================================================================== */

@media (max-width: 760px) {

    .homepage-guide__table-wrap {
        overflow: visible;
        padding: 0 8px;
        -webkit-overflow-scrolling: auto;
    }

    .homepage-guide__table {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }

    .homepage-guide__row,
    .homepage-guide__row--head {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .homepage-guide__head {
        min-width: 0;
        min-height: 32px;
        padding: 6px 8px;
        font-size: .68rem;
    }

    .homepage-guide__cell {
        min-width: 0;
    }

    .homepage-guide__choice {
        min-width: 0;
        min-height: 40px;
        padding: 6px 22px 6px 8px;
        font-size: .69rem;
        line-height: 1.2;
    }

    /*
     * Lehce zvyraznime zacatek kazdeho dalsiho datoveho radku,
     * aby byly jednotlive ctyrpolickove skupiny dobre citelne.
     */
    .homepage-guide__row:not(.homepage-guide__row--head) {
        border-top: 1px solid var(--cseda-linka);
    }

    .homepage-guide__row--head + .homepage-guide__row {
        border-top: 0;
    }
}


/* ========================================================================== */
/* HOMEPAGE SIZE HELP - VETSI MEZERA MEZI TLACITKY NA MOBILU                 */
/* Margin funguje i kdyby editor zmenil obal a flex gap se neuplatnil.        */
/* ========================================================================== */

@media (max-width: 620px) {

    .homepage-size-help__actions {
        row-gap: 0;
    }

    .homepage-size-help__content .homepage-size-help__button + .homepage-size-help__button {
        margin-top: 12px;
        margin-left: 0;
    }
}


/* ========================================================================== */
/* HOMEPAGE GUIDE - MOBILNI 2-SLOUPCOVA VERZE SE SPRAVNYMI NAVESTIMI         */
/* Návěstí se berou z PHP přes data-label, tedy správně pro CZ/EN/RU/SK.      */
/* ========================================================================== */

@media (max-width: 760px) {

    /* Původní globální hlavičku schováme - v 2sloupcové verzi by významově
       neseděla nad jednotlivými čtyřbuněčnými záznamy. */
    .homepage-guide__row--head {
        display: none;
    }

    .homepage-guide__table-wrap {
        overflow: visible;
        padding: 0 8px;
    }

    .homepage-guide__table {
        width: 100%;
        min-width: 0;
        overflow: hidden;
        background: var(--cbila);
    }

    /*
     * Každý původní databázový řádek zůstává pohromadě:
     * 1 Potřeba       | 2 Doporučený typ
     * 3 Pro koho      | 4 Co hlídat
     */
    .homepage-guide__row:not(.homepage-guide__row--head) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 1px;
        margin: 0;
        background: var(--cseda-linka);
        border-top: 7px solid var(--cbila);
    }

    .homepage-guide__row--head + .homepage-guide__row {
        border-top: 0;
    }

    .homepage-guide__cell {
        display: flex;
        min-width: 0;
        flex-direction: column;
        background: var(--cbila);
    }

    /* Přeložené návěstí konkrétní buňky. */
    .homepage-guide__cell::before {
        content: attr(data-label);
        display: flex;
        min-height: 29px;
        align-items: center;
        padding: 5px 8px;
        color: var(--ccerna2);
        background: var(--cseda-svetla);
        font-size: .66rem;
        font-weight: 800;
        line-height: 1.15;
    }

    .homepage-guide__choice {
        min-width: 0;
        min-height: 40px;
        flex: 1 1 auto;
        padding: 7px 22px 7px 8px;
        font-size: .69rem;
        line-height: 1.2;
        background: var(--cbila);
    }

    .homepage-guide__choice-text {
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
    }
}

/* Na opravdu úzkém telefonu stále ponecháme 2 sloupce, jen mírně zmenšíme
   vnitřní rozměry. */
@media (max-width: 420px) {
    .homepage-guide__cell::before {
        min-height: 27px;
        padding: 5px 6px;
        font-size: .62rem;
    }

    .homepage-guide__choice {
        min-height: 38px;
        padding: 6px 20px 6px 6px;
        font-size: .65rem;
    }
}


/* ========================================================================== */
/* HOMEPAGE GUIDE - UZKA VERZE PODLE NAVRHU: 2 TABULKY POD SEBOU              */
/* 1. Potreba + Doporuceny typ, 2. Pro koho + Co hlidat.                      */
/* Desktopni 4-sloupcova tabulka zustava beze zmeny.                          */
/* ========================================================================== */

.homepage-guide-mobile {
    display: none;
}

@media (max-width: 760px) {

    /* Skryt pouze desktopni tabulku. */
    .homepage-guide__table--desktop {
        display: none !important;
    }

    .homepage-guide-mobile {
        display: grid;
        width: 100%;
        gap: 8px;
    }

    .homepage-guide__table-wrap {
        overflow: visible;
        padding: 0 8px;
    }

    .homepage-guide-mobile__group {
        width: 100%;
        overflow: hidden;
        border: 1px solid var(--cseda-linka);
        border-radius: 9px;
        background: var(--cbila);
    }

    .homepage-guide-mobile__headrow,
    .homepage-guide-mobile__row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .homepage-guide-mobile__head {
        display: flex;
        min-width: 0;
        min-height: 34px;
        align-items: center;
        padding: 6px 9px;
        color: var(--ccerna2);
        background: var(--cseda-svetla);
        font-size: .69rem;
        font-weight: 800;
        line-height: 1.15;
    }

    .homepage-guide-mobile__head + .homepage-guide-mobile__head {
        border-left: 1px solid var(--cseda-linka);
    }

    .homepage-guide-mobile__row {
        background: var(--cbila);
    }

    .homepage-guide-mobile__row + .homepage-guide-mobile__row {
        border-top: 0;
    }

    .homepage-guide-mobile__cell {
        min-width: 0;
        background: var(--cbila);
    }

    .homepage-guide-mobile__cell + .homepage-guide-mobile__cell {
        border-left: 1px solid var(--cseda-linka);
    }

    /*
     * Vypneme pseudo-navesti z predchozi mobilni varianty.
     * Nadpisy jsou ted spravne jednou v hlavicce kazde ze dvou tabulek.
     */
    .homepage-guide-mobile__cell::before {
        display: none !important;
        content: none !important;
    }

    .homepage-guide-mobile__choice {
        width: 100%;
        min-height: 39px;
        padding: 6px 22px 6px 8px;
        font-size: .69rem;
        line-height: 1.18;
        white-space: normal;
        border-radius: 0;
    }

    .homepage-guide-mobile__choice:hover,
    .homepage-guide-mobile__choice:focus-visible,
    .homepage-guide-mobile__choice.is-selected {
        z-index: 2;
    }
}

@media (max-width: 420px) {

    .homepage-guide-mobile {
        gap: 7px;
    }

    .homepage-guide-mobile__head {
        min-height: 32px;
        padding: 5px 7px;
        font-size: .65rem;
    }

    .homepage-guide-mobile__choice {
        min-height: 38px;
        padding: 6px 20px 6px 7px;
        font-size: .65rem;
    }
}


/* ========================================================================== */
/* HOMEPAGE - BOTY NEKONCI NAKUPEM / PECE A SERVIS                           */
/* ========================================================================== */

.homepage-aftercare {
    display: flex;
    min-height: 0;
    flex-direction: column;
    justify-content: center;
    padding: 18px 20px 16px;
    background: var(--cbila);
}

.homepage-aftercare h2 {
    margin: 0 0 14px;
    color: var(--ccerna2);
    font-size: clamp(1.15rem, 1.8vw, 1.55rem);
    line-height: 1.16;
    letter-spacing: -.025em;
    text-align: center;
}

.homepage-aftercare__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.homepage-aftercare__item {
    display: flex;
    min-width: 0;
    min-height: 98px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    padding: 9px 6px;
    color: var(--ccerna2);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 9px;
    text-decoration: none;
    text-align: center;
    transition:
        color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.homepage-aftercare__item:hover,
.homepage-aftercare__item:focus-visible {
    color: var(--coranzova);
    border-color: var(--coranzova);
    box-shadow: 0 8px 22px rgba(var(--rgb-cerna), .08);
    transform: translateY(-2px);
    outline: none;
}

.homepage-aftercare__icon {
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
}

.homepage-aftercare__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: filter .2s ease, transform .2s ease;
}

.homepage-aftercare__item:hover .homepage-aftercare__icon img,
.homepage-aftercare__item:focus-visible .homepage-aftercare__icon img {
    transform: scale(1.06);
}

.homepage-aftercare__label {
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.16;
}

.homepage-aftercare__actions {
    display: flex;
    justify-content: center;
    margin-top: 14px;
}

.homepage-aftercare__button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    color: var(--czelena);
    background: var(--cbila);
    border: 1px solid var(--czelena);
    border-radius: 5px;
    text-decoration: none;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.15;
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.homepage-aftercare__button:hover,
.homepage-aftercare__button:focus-visible {
    color: var(--cbila);
    background: var(--czelena);
    border-color: var(--czelena);
    box-shadow: 0 8px 20px rgba(var(--rgb-cerna), .12);
    transform: translateY(-1px);
    outline: none;
}

/* Prava cast se na respo uz neschovava - presune se pod levou. */
@media (max-width: 860px) {
    .homepage-company-section__right.homepage-aftercare {
        display: flex;
    }
}

@media (max-width: 620px) {
    .homepage-aftercare {
        padding: 16px;
    }

    .homepage-aftercare__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .homepage-aftercare__item {
        min-height: 92px;
    }

    .homepage-aftercare__icon {
        width: 42px;
        height: 42px;
    }

    .homepage-aftercare__label {
        font-size: .69rem;
    }
}


/* ========================================================================== */
/* STRANKA - PECE A SERVIS                                                    */
/* ========================================================================== */

.care-service-page {
    margin-top: 26px;
}

.care-service-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 22px;
}

.care-service-tab {
    display: flex;
    min-width: 0;
    min-height: 80px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 7px;
    padding: 10px;
    color: var(--ccerna2);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 10px;
    text-decoration: none;
    text-align: center;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1.2;
    transition:
        color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.care-service-tab:hover,
.care-service-tab:focus-visible {
    color: var(--coranzova);
    border-color: var(--coranzova);
    box-shadow: 0 9px 24px rgba(var(--rgb-cerna), .08);
    transform: translateY(-2px);
    outline: none;
}

.care-service-tab__icon {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
}

.care-service-tab__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.care-service-content {
    display: grid;
    gap: 14px;
}

.care-service-section {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    padding: 24px;
    border: 1px solid var(--cseda-linka);
    border-radius: 14px;
    background: var(--cbila);
    box-shadow: 0 10px 30px rgba(var(--rgb-cerna), .045);
    scroll-margin-top: 110px;
    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}

.care-service-section:target {
    border-color: var(--coranzova);
    box-shadow:
        0 0 0 2px rgba(var(--rgb-oranzova), .10),
        0 12px 34px rgba(var(--rgb-cerna), .07);
}

.care-service-section__icon {
    display: flex;
    width: 80px;
    height: 80px;
    align-items: center;
    justify-content: center;
}

.care-service-section__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.care-service-section__content {
    min-width: 0;
}

.care-service-section h2 {
    margin: 0 0 8px;
    color: var(--ccerna2);
    font-size: 1.3rem;
    line-height: 1.15;
}

.care-service-section__annotation {
    margin-bottom: 12px;
    color: var(--cseda-text);
    font-size: .92rem;
    line-height: 1.5;
}

.care-service-section__annotation p {
    margin: 0;
}

.care-service-section__text {
    color: var(--cseda-text);
    line-height: 1.62;
}

.care-service-section__text > :first-child {
    margin-top: 0;
}

.care-service-section__text > :last-child {
    margin-bottom: 0;
}

.care-service-section__text ul,
.care-service-section__text ol {
    padding-left: 1.25em;
}

@media (max-width: 760px) {
    .care-service-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .care-service-section {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 14px;
        padding: 18px;
        scroll-margin-top: 90px;
    }

    .care-service-section__icon {
        width: 56px;
        height: 56px;
    }

    .care-service-section h2 {
        font-size: 1.1rem;
    }
}

@media (max-width: 440px) {
    .care-service-section {
        grid-template-columns: 1fr;
    }

    .care-service-section__icon {
        width: 52px;
        height: 52px;
    }
}


/* ========================================================================== */
/* FIREMNI NABIDKA - JEMNEJSI LEVY GRADIENT                                  */
/* Silna cerna pouze pod textem, vpravo uz obrazek zustava cisty.             */
/* ========================================================================== */

.homepage-company-offer__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(var(--rgb-cerna), .94) 0%,
            rgba(var(--rgb-cerna), .86) 18%,
            rgba(var(--rgb-cerna), .68) 34%,
            rgba(var(--rgb-cerna), .42) 50%,
            rgba(var(--rgb-cerna), .16) 65%,
            rgba(var(--rgb-cerna), 0) 78%,
            rgba(var(--rgb-cerna), 0) 100%
        );
}


/* ========================================================================== */
/* PECE A SERVIS - WEBP IKONY NA HOVER PRESNE VAR(--coranzova)                */
/* URL obrazku je predana z PHP do --aftercare-icon a pouzita jako maska.     */
/* ========================================================================== */

.homepage-aftercare__icon,
.care-service-tab__icon {
    position: relative;
}

.homepage-aftercare__icon::after,
.care-service-tab__icon::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--coranzova);
    -webkit-mask-image: var(--aftercare-icon);
    mask-image: var(--aftercare-icon);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    opacity: 0;
    pointer-events: none;
    transform: scale(1);
    transition: opacity .2s ease, transform .2s ease;
}

.homepage-aftercare__icon img,
.care-service-tab__icon img {
    transition: opacity .2s ease, transform .2s ease;
}

.homepage-aftercare__item:hover .homepage-aftercare__icon img,
.homepage-aftercare__item:focus-visible .homepage-aftercare__icon img,
.care-service-tab:hover .care-service-tab__icon img,
.care-service-tab:focus-visible .care-service-tab__icon img {
    opacity: 0;
}

.homepage-aftercare__item:hover .homepage-aftercare__icon::after,
.homepage-aftercare__item:focus-visible .homepage-aftercare__icon::after,
.care-service-tab:hover .care-service-tab__icon::after,
.care-service-tab:focus-visible .care-service-tab__icon::after {
    opacity: 1;
    transform: scale(1.06);
}


/* ========================================================================== */
/* FIREMNI NABIDKA - GRADIENT PRES CELOU VYSKU BOXU                          */
/* Grid muze levou kartu vyskou dorovnat podle prave karty. Overlay proto     */
/* musi vzdy vyplnit celou vysku rodice, ne pouze vysku vlastniho obsahu.     */
/* ========================================================================== */

.homepage-company-offer {
    display: flex;
}

.homepage-company-offer__overlay {
    width: 100%;
    height: 100%;
    min-height: 100%;
    box-sizing: border-box;
    flex: 1 1 auto;
}


/* ========================================================================== */
/* HOMEPAGE - FINALNI CTA "PORAD NEVITE, KTERE BOTY VYBRAT?"                 */
/* ========================================================================== */

.homepage-final-help {
    padding: 18px 0 42px;
    background: var(--cbila);
}

.homepage-final-help__card {
    min-height: 112px;
    overflow: hidden;
    background-color: var(--ccerna3);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 1px solid var(--cseda-linka);
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(var(--rgb-cerna), .055);
}

.homepage-final-help__overlay {
    display: flex;
    min-height: 112px;
    align-items: center;
    padding: 18px 28px;
    color: var(--cbila);
    background:
        linear-gradient(
            90deg,
            rgba(var(--rgb-cerna), .94) 0%,
            rgba(var(--rgb-cerna), .86) 20%,
            rgba(var(--rgb-cerna), .67) 42%,
            rgba(var(--rgb-cerna), .34) 62%,
            rgba(var(--rgb-cerna), .08) 80%,
            rgba(var(--rgb-cerna), 0) 100%
        );
}

.homepage-final-help__content {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 34px;
    align-items: center;
}

.homepage-final-help__copy {
    min-width: 0;
}

.homepage-final-help h2 {
    margin: 0 0 5px;
    color: var(--cbila);
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    line-height: 1.12;
    letter-spacing: -.025em;
    text-shadow: 0 2px 10px rgba(var(--rgb-cerna), .3);
}

.homepage-final-help__annotation {
    max-width: 700px;
    color: var(--cbila);
    font-size: .85rem;
    line-height: 1.4;
    text-shadow: 0 1px 7px rgba(var(--rgb-cerna), .36);
}

.homepage-final-help__annotation p {
    margin: 0;
}

.homepage-final-help__actions {
    min-width: 0;
}

.homepage-final-help__actions > p {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 12px;
    margin: 0;
    padding: 0;
}

.homepage-final-help__button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 9px 20px;
    border-radius: 5px;
    text-decoration: none;
    white-space: nowrap;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.15;
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .2s ease;
}

.homepage-final-help__button--primary {
    color: var(--cbila);
    background: var(--coranzova);
    border: 1px solid var(--coranzova);
    box-shadow: 0 6px 18px rgba(var(--rgb-oranzova), .18);
}

.homepage-final-help__button--secondary {
    color: var(--cbila);
    background: rgba(var(--rgb-cerna), .24);
    border: 1px solid rgba(var(--rgb-bila), .78);
}

.homepage-final-help__button:hover,
.homepage-final-help__button:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.homepage-final-help__button--primary:hover,
.homepage-final-help__button--primary:focus-visible {
    background: var(--coranzova-svetla);
    border-color: var(--coranzova-svetla);
}

.homepage-final-help__button--secondary:hover,
.homepage-final-help__button--secondary:focus-visible {
    color: var(--ccerna2);
    background: var(--cbila);
    border-color: var(--cbila);
}

@media (max-width: 860px) {
    .homepage-final-help__overlay {
        padding: 18px 22px;
    }

    .homepage-final-help__content {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .homepage-final-help__actions > p {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    .homepage-final-help {
        padding-top: 18px;
        padding-bottom: 30px;
    }

    .homepage-final-help__card,
    .homepage-final-help__overlay {
        min-height: 0;
    }

    .homepage-final-help__overlay {
        padding: 20px 16px;
        background:
            linear-gradient(
                90deg,
                rgba(var(--rgb-cerna), .94) 0%,
                rgba(var(--rgb-cerna), .82) 58%,
                rgba(var(--rgb-cerna), .42) 100%
            );
    }

    .homepage-final-help h2 {
        font-size: 1.22rem;
    }

    .homepage-final-help__annotation {
        font-size: .79rem;
    }

    .homepage-final-help__actions > p {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .homepage-final-help__button {
        width: 100%;
    }
}


/* ========================================================================== */
/* HOMEPAGE FINAL CTA - GRADIENT ZPRAVA + MENSI MEZERA NAHORE                */
/* ========================================================================== */

/* Predchozi dvousloupcovy blok uz nema vlastni 54px mezeru dole.
   Mezeru mezi sekcemi dela pouze 18px padding noveho CTA bloku. */
.homepage-company-section {
    padding-bottom: 0;
}

.homepage-final-help {
    padding-top: 18px;
}

/* Gradient zprava: cerna na pravem okraji -> transparentni doleva. */
.homepage-final-help__overlay {
    background:
        linear-gradient(
            270deg,
            rgba(var(--rgb-cerna), .94) 0%,
            rgba(var(--rgb-cerna), .86) 20%,
            rgba(var(--rgb-cerna), .67) 42%,
            rgba(var(--rgb-cerna), .34) 62%,
            rgba(var(--rgb-cerna), .08) 80%,
            rgba(var(--rgb-cerna), 0) 100%
        );
}

@media (max-width: 560px) {
    .homepage-company-section {
        padding-bottom: 0;
    }

    .homepage-final-help {
        padding-top: 18px;
    }

    .homepage-final-help__overlay {
        background:
            linear-gradient(
                270deg,
                rgba(var(--rgb-cerna), .94) 0%,
                rgba(var(--rgb-cerna), .82) 58%,
                rgba(var(--rgb-cerna), .42) 100%
            );
    }
}


/* ========================================================================== */
/* SITE FOOTER                                                                */
/* ========================================================================== */

.site-footer {
    color: var(--cbila);
    background: var(--ccerna2);
    border-top: 1px solid var(--c-363a34);
}

.site-footer__inner {
    width: var(--shell);
    margin: 0 auto;
    padding: 30px 0 28px;
}

.site-footer__grid {
    display: grid;
    grid-template-columns:
        minmax(150px, 1.05fr)
        minmax(150px, .95fr)
        minmax(150px, .95fr)
        minmax(210px, 1.15fr)
        minmax(220px, 1.35fr);
    gap: clamp(24px, 3vw, 54px);
    align-items: start;
}

.site-footer__column {
    min-width: 0;
}

.site-footer__column h2 {
    margin: 0 0 12px;
    color: var(--cbila);
    font-size: .84rem;
    font-weight: 800;
    line-height: 1.2;
}

.site-footer__nav {
    display: grid;
    gap: 4px;
}

.site-footer__nav a {
    display: block;
    width: fit-content;
    max-width: 100%;
    color: var(--c-c9ccc5);
    text-decoration: none;
    font-size: .76rem;
    font-weight: 600;
    line-height: 1.35;
    transition: color .18s ease, transform .18s ease;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible {
    color: var(--coranzova);
    transform: translateX(2px);
    outline: none;
}

.site-footer__content {
    color: var(--c-c9ccc5);
    font-size: .74rem;
    line-height: 1.45;
}

.site-footer__content p {
    margin: 0 0 8px;
}

.site-footer__content > :first-child {
    margin-top: 0;
}

.site-footer__content > :last-child {
    margin-bottom: 0;
}

.site-footer__content a {
    color: inherit;
    text-decoration: none;
}

.site-footer__content a:hover,
.site-footer__content a:focus-visible {
    color: var(--coranzova);
    outline: none;
}

/* -------------------------------------------------------------------------- */
/* Kontakt                                                                    */
/* -------------------------------------------------------------------------- */

.site-footer__contact-address {
    margin-bottom: 10px !important;
}

.site-footer__contact-address strong {
    color: var(--cbila);
    font-weight: 800;
}

.site-footer__contact-line {
    position: relative;
    min-height: 18px;
    padding-left: 24px;
}

.site-footer__contact-line::before {
    content: "";
    position: absolute;
    top: .13em;
    left: 0;
    width: 15px;
    height: 15px;
    background: var(--coranzova);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-footer__contact-line--phone::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.7 3.3 3.3 4.9 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.8 21 3 13.2 3 3.7c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1l-2.2 2.2Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.7 3.3 3.3 4.9 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.8 21 3 13.2 3 3.7c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1l-2.2 2.2Z' fill='black'/%3E%3C/svg%3E");
}

.site-footer__contact-line--mail::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm2.1 2 6.9 5 6.9-5H5.1Zm13.9 2.4-7 5.1-7-5.1V17h14V9.4Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm2.1 2 6.9 5 6.9-5H5.1Zm13.9 2.4-7 5.1-7-5.1V17h14V9.4Z' fill='black'/%3E%3C/svg%3E");
}

.site-footer__contact-line--web::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm6.9 6h-3.1a15.8 15.8 0 0 0-1.3-3 8.1 8.1 0 0 1 4.4 3ZM12 4c.8 1 1.5 2.3 1.8 4h-3.6c.3-1.7 1-3 1.8-4ZM9.5 5a15.8 15.8 0 0 0-1.3 3H5.1a8.1 8.1 0 0 1 4.4-3ZM4.3 10h3.5a16.7 16.7 0 0 0 0 4H4.3a8 8 0 0 1 0-4Zm.8 6h3.1a15.8 15.8 0 0 0 1.3 3 8.1 8.1 0 0 1-4.4-3Zm6.9 4c-.8-1-1.5-2.3-1.8-4h3.6c-.3 1.7-1 3-1.8 4Zm2.2-6H9.8a14.4 14.4 0 0 1 0-4h4.4a14.4 14.4 0 0 1 0 4Zm.3 5a15.8 15.8 0 0 0 1.3-3h3.1a8.1 8.1 0 0 1-4.4 3Zm1.7-5a16.7 16.7 0 0 0 0-4h3.5a8 8 0 0 1 0 4h-3.5Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm6.9 6h-3.1a15.8 15.8 0 0 0-1.3-3 8.1 8.1 0 0 1 4.4 3ZM12 4c.8 1 1.5 2.3 1.8 4h-3.6c.3-1.7 1-3 1.8-4ZM9.5 5a15.8 15.8 0 0 0-1.3 3H5.1a8.1 8.1 0 0 1 4.4-3ZM4.3 10h3.5a16.7 16.7 0 0 0 0 4H4.3a8 8 0 0 1 0-4Zm.8 6h3.1a15.8 15.8 0 0 0 1.3 3 8.1 8.1 0 0 1-4.4-3Zm6.9 4c-.8-1-1.5-2.3-1.8-4h3.6c-.3 1.7-1 3-1.8 4Zm2.2-6H9.8a14.4 14.4 0 0 1 0-4h4.4a14.4 14.4 0 0 1 0 4Zm.3 5a15.8 15.8 0 0 0 1.3-3h3.1a8.1 8.1 0 0 1-4.4 3Zm1.7-5a16.7 16.7 0 0 0 0-4h3.5a8 8 0 0 1 0 4h-3.5Z' fill='black'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------- */
/* Kontakt - fallback pro HTML ulozene z Quillu                               */
/* Quill uklada kontakt jako obycejne <p> a <a>, proto ikonky kreslime CSS.   */
/* -------------------------------------------------------------------------- */

.site-footer__column--contact .site-footer__content {
    line-height: 1.3;
}

.site-footer__column--contact .site-footer__content p {
    position: relative;
    min-height: 16px;
    margin: 0 0 4px;
    line-height: 1.3;
}

/* Firma */
.site-footer__column--contact .site-footer__content p:first-child {
    margin-bottom: 7px;
    padding-left: 0;
}

.site-footer__column--contact .site-footer__content p:first-child strong {
    color: var(--cbila);
    font-weight: 800;
}

/* Radky s ikonkou */
.site-footer__column--contact .site-footer__content p:nth-child(2),
.site-footer__column--contact .site-footer__content p:has(a[href^="tel:"]),
.site-footer__column--contact .site-footer__content p:has(a[href^="mailto:"]),
.site-footer__column--contact .site-footer__content p:has(a[href^="http://"]),
.site-footer__column--contact .site-footer__content p:has(a[href^="https://"]) {
    padding-left: 24px;
}

.site-footer__column--contact .site-footer__content p:nth-child(2)::before,
.site-footer__column--contact .site-footer__content p:has(a[href^="tel:"])::before,
.site-footer__column--contact .site-footer__content p:has(a[href^="mailto:"])::before,
.site-footer__column--contact .site-footer__content p:has(a[href^="http://"])::before,
.site-footer__column--contact .site-footer__content p:has(a[href^="https://"])::before {
    content: "";
    position: absolute;
    top: .05em;
    left: 0;
    width: 15px;
    height: 15px;
    background: var(--coranzova);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Adresa */
.site-footer__column--contact .site-footer__content p:nth-child(2)::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7Zm0 10a3 3 0 1 1 0-6 3 3 0 0 1 0 6Z' fill='black'/%3E%3C/svg%3E");
}

/* Druhy radek adresy zarovnat pod text prvniho radku */
.site-footer__column--contact .site-footer__content p:nth-child(3) {
    margin-top: -1px;
    margin-bottom: 6px;
    padding-left: 24px;
}

/* Telefon */
.site-footer__column--contact .site-footer__content p:has(a[href^="tel:"])::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.7 3.3 3.3 4.9 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.8 21 3 13.2 3 3.7c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1l-2.2 2.2Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.7 3.3 3.3 4.9 6.6 6.6l2.2-2.2c.3-.3.7-.4 1.1-.3 1.2.4 2.5.6 3.8.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.8 21 3 13.2 3 3.7c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.6.6 3.8.1.4 0 .8-.3 1.1l-2.2 2.2Z' fill='black'/%3E%3C/svg%3E");
}

/* E-mail */
.site-footer__column--contact .site-footer__content p:has(a[href^="mailto:"])::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm2.1 2 6.9 5 6.9-5H5.1Zm13.9 2.4-7 5.1-7-5.1V17h14V9.4Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3V5Zm2.1 2 6.9 5 6.9-5H5.1Zm13.9 2.4-7 5.1-7-5.1V17h14V9.4Z' fill='black'/%3E%3C/svg%3E");
}

/* Web */
.site-footer__column--contact .site-footer__content p:has(a[href^="http://"])::before,
.site-footer__column--contact .site-footer__content p:has(a[href^="https://"])::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm6.9 6h-3.1a15.8 15.8 0 0 0-1.3-3 8.1 8.1 0 0 1 4.4 3ZM12 4c.8 1 1.5 2.3 1.8 4h-3.6c.3-1.7 1-3 1.8-4ZM9.5 5a15.8 15.8 0 0 0-1.3 3H5.1a8.1 8.1 0 0 1 4.4-3ZM4.3 10h3.5a16.7 16.7 0 0 0 0 4H4.3a8 8 0 0 1 0-4Zm.8 6h3.1a15.8 15.8 0 0 0 1.3 3 8.1 8.1 0 0 1-4.4-3Zm6.9 4c-.8-1-1.5-2.3-1.8-4h3.6c-.3 1.7-1 3-1.8 4Zm2.2-6H9.8a14.4 14.4 0 0 1 0-4h4.4a14.4 14.4 0 0 1 0 4Zm.3 5a15.8 15.8 0 0 0 1.3-3h3.1a8.1 8.1 0 0 1-4.4 3Zm1.7-5a16.7 16.7 0 0 0 0-4h3.5a8 8 0 0 1 0 4h-3.5Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm6.9 6h-3.1a15.8 15.8 0 0 0-1.3-3 8.1 8.1 0 0 1 4.4 3ZM12 4c.8 1 1.5 2.3 1.8 4h-3.6c.3-1.7 1-3 1.8-4ZM9.5 5a15.8 15.8 0 0 0-1.3 3H5.1a8.1 8.1 0 0 1 4.4-3ZM4.3 10h3.5a16.7 16.7 0 0 0 0 4H4.3a8 8 0 0 1 0-4Zm.8 6h3.1a15.8 15.8 0 0 0 1.3 3 8.1 8.1 0 0 1-4.4-3Zm6.9 4c-.8-1-1.5-2.3-1.8-4h3.6c-.3 1.7-1 3-1.8 4Zm2.2-6H9.8a14.4 14.4 0 0 1 0-4h4.4a14.4 14.4 0 0 1 0 4Zm.3 5a15.8 15.8 0 0 0 1.3-3h3.1a8.1 8.1 0 0 1-4.4 3Zm1.7-5a16.7 16.7 0 0 0 0-4h3.5a8 8 0 0 1 0 4h-3.5Z' fill='black'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------- */
/* Mapa                                                                       */
/* -------------------------------------------------------------------------- */

.site-footer__column--map {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 130px;
}

.site-footer__map {
    width: 100%;
}

.site-footer__map p {
    margin: 0;
}

.site-footer__map img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 145px;
    margin-left: auto;
    object-fit: contain;
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */

@media (max-width: 1120px) {
    .site-footer__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-footer__column--contact {
        grid-column: span 1;
    }

    .site-footer__column--map {
        grid-column: span 2;
        justify-content: flex-start;
    }

    .site-footer__map img {
        margin-left: 0;
    }
}

@media (max-width: 720px) {
    .site-footer__inner {
        width: min(100% - 32px, 680px);
        padding: 26px 0;
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 20px;
    }

    .site-footer__column--map {
        grid-column: span 1;
    }
}

@media (max-width: 480px) {
    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .site-footer__column--map {
        min-height: 0;
    }

    .site-footer__map img {
        max-height: 125px;
    }
}


/* ========================================================================== */
/* PATICKA - KOMPAKTNI NAPOJENI NA POSLEDNI HOMEPAGE BLOK                    */
/* ========================================================================== */

/* Bily prostor pod poslednim CTA bannerem. */
.homepage-final-help {
    padding-bottom: 18px;
}

/* Stara definice mela padding-top: 64px - ten zde definitivne rusime. */
.site-footer {
    padding-top: 0;
}

/* Horni i spodni vnitrni mezera cerne paticky. */
.site-footer__inner {
    padding-top: 22px;
    padding-bottom: 22px;
}

@media (max-width: 560px) {
    .homepage-final-help {
        padding-bottom: 18px;
    }

    .site-footer {
        padding-top: 0;
    }

    .site-footer__inner {
        padding-top: 20px;
        padding-bottom: 20px;
    }
}


/* ========================================================================== */
/* PATICKA - O TROCHU VETSI CERNY VNITRNI PADDING                            */
/* ========================================================================== */

.site-footer__inner {
    padding-top: 30px;
    padding-bottom: 30px;
}

@media (max-width: 560px) {
    .site-footer__inner {
        padding-top: 26px;
        padding-bottom: 26px;
    }
}


/* ========================================================================== */
/* DROBECKOVA NAVIGACE                                                        */
/* ========================================================================== */
#div-navigace.breadcrumbs {
    position: relative;
    z-index: 20;
    background: var(--cbila);
    border-bottom: 1px solid var(--cseda-linka);
}

.breadcrumbs__inner {
    display: flex;
    min-height: 34px;
    padding-top: 0;
    padding-bottom: 0;
    align-items: center;
}

.breadcrumbs__nav {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.breadcrumbs__list {
    display: flex;
    width: 100%;
    min-height: 34px;
    margin: 0;
    padding: 0;
    align-items: center;
    overflow-x: auto;
    list-style: none;
    white-space: nowrap;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.breadcrumbs__list::-webkit-scrollbar {
    display: none;
}

.breadcrumbs__item {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    color: var(--cseda-text2);
    font-size: .74rem;
    line-height: 1;
}

.breadcrumbs__item + .breadcrumbs__item::before {
    margin: 0 10px;
    color: var(--c-bfc3b8);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    content: "›";
    font-size: 1.18rem;
    font-weight: 400;
    line-height: 1;
}

.breadcrumbs__item a {
    color: inherit;
    text-decoration: none;
}

.breadcrumbs__item a:active,
.breadcrumbs__item a:focus-visible {
    color: var(--coranzova);
}

.breadcrumbs__item.is-current {
    color: var(--ccerna2);
    font-weight: 700;
}

.breadcrumbs__item.is-current span {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ========================================================================== */
/* OBECNA TEXTOVA SEKCE - PRABOS 2026                                        */
/* Jednotny vzhled pro texty bez vlastniho specialniho skriptu.               */
/* ========================================================================== */
.content-page {
    padding: clamp(30px, 3.8vw, 48px) 0 clamp(64px, 7vw, 96px);
    background: var(--cbila);
}

.content-page__shell {
    min-width: 0;
}

.content-page__intro {
    max-width: 1000px;
}

.content-page__intro--wide {
    max-width: none;
}

.content-page__intro--with-banner {
    display: grid;
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .94fr);
    gap: clamp(36px, 5vw, 72px);
    align-items: center;
}

.content-page__intro-copy {
    min-width: 0;
}

/* Obsahove nadpisy jsou zamerne strizlivejsi nez homepage hero. */
.content-page h1,
.content-page__rich h1 {
    margin: 0 0 22px;
    color: var(--ccerna);
    font-size: clamp(2rem, 3.2vw, 2.85rem) !important;
    font-weight: 800;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
}

.content-page h2,
.content-page__rich h2 {
    margin: 34px 0 15px;
    color: var(--ccerna);
    font-size: clamp(1.45rem, 2.2vw, 1.9rem) !important;
    font-weight: 800;
    line-height: 1.12 !important;
    letter-spacing: -.03em !important;
}

.content-page h3,
.content-page__rich h3 {
    margin: 26px 0 11px;
    color: var(--ccerna);
    font-size: clamp(1.14rem, 1.45vw, 1.35rem) !important;
    font-weight: 800;
    line-height: 1.2 !important;
    letter-spacing: -.015em !important;
}

.content-page h4,
.content-page__rich h4 {
    margin: 22px 0 9px;
    color: var(--ccerna);
    font-size: 1.02rem !important;
    font-weight: 800;
    line-height: 1.25 !important;
}

.content-page h5,
.content-page__rich h5,
.content-page h6,
.content-page__rich h6 {
    margin: 18px 0 8px;
    color: var(--ccerna);
    font-size: .92rem !important;
    font-weight: 800;
    line-height: 1.3 !important;
    letter-spacing: .01em !important;
}

.content-page__lead {
    max-width: 800px;
    margin-bottom: 20px;
    color: var(--cseda-text);
    font-size: clamp(1.05rem, 1.35vw, 1.18rem);
    line-height: 1.65;
}

.content-page__lead > :first-child,
.content-page__text > :first-child,
.content-page__body > :first-child {
    margin-top: 0;
}

.content-page__lead > :last-child,
.content-page__text > :last-child,
.content-page__body > :last-child {
    margin-bottom: 0;
}

.content-page__rich {
    color: var(--cseda-text);
    font-size: .98rem;
    line-height: 1.72;
}

.content-page__rich p {
    margin: 0 0 16px;
}

.content-page__rich a:not(.content-button) {
    color: var(--czelena);
    font-weight: 700;
    text-decoration-color: rgba(var(--rgb-zelena-svetla), .38);
    transition: color .18s ease, text-decoration-color .18s ease;
}

.content-page__rich a:not(.content-button):hover,
.content-page__rich a:not(.content-button):focus-visible {
    color: var(--coranzova);
    text-decoration-color: var(--coranzova);
}

.content-page__rich ul,
.content-page__rich ol {
    margin: 0 0 20px;
    padding-left: 1.35rem;
}

.content-page__rich li + li {
    margin-top: 6px;
}

.content-page__rich blockquote {
    margin: 24px 0;
    padding: 16px 20px;
    color: var(--ccerna2);
    background: var(--cseda-svetla);
    border-left: 4px solid var(--coranzova);
    border-radius: 0 7px 7px 0;
}

.content-page__rich img {
    height: auto;
    border-radius: 7px;
}

.content-page__rich table {
    width: 100%;
    margin: 24px 0;
    border-collapse: collapse;
}

.content-page__rich th,
.content-page__rich td {
    padding: 11px 13px;
    border-bottom: 1px solid var(--cseda-linka);
    text-align: left;
    vertical-align: top;
}

.content-page__rich th {
    color: var(--ccerna);
    background: var(--cseda-svetla);
    font-weight: 800;
}

.content-page__text--columns {
    column-gap: clamp(28px, 4vw, 56px);
    column-rule: 1px solid var(--cseda-linka);
}

.content-page__text--columns-2 { column-count: 2; }
.content-page__text--columns-3 { column-count: 3; }
.content-page__text--columns-4 { column-count: 4; }

.content-page__text--columns > h1,
.content-page__text--columns > h2,
.content-page__text--columns > h3,
.content-page__text--columns > h4,
.content-page__text--columns > h5,
.content-page__text--columns > h6,
.content-page__text--columns > p,
.content-page__text--columns > ul,
.content-page__text--columns > ol,
.content-page__text--columns > blockquote,
.content-page__text--columns > table,
.content-page__text--columns > figure {
    break-inside: avoid;
}

.content-page__body {
    margin-top: clamp(30px, 4vw, 52px);
    padding-top: clamp(28px, 3vw, 42px);
    border-top: 1px solid var(--cseda-linka);
}

.content-page__banner {
    position: relative;
    min-height: clamp(280px, 34vw, 440px);
    margin: 0;
    overflow: hidden;
    background: var(--cseda-svetla);
    border-radius: 9px;
    box-shadow: 0 16px 42px rgba(var(--rgb-cerna), .10);
}

.content-page__banner::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 38%;
    height: 4px;
    background: var(--coranzova);
}

.content-page__banner img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    transition: transform .5s ease;
}

.content-page__banner:hover img {
    transform: scale(1.025);
}

.content-block {
    margin-top: clamp(54px, 6vw, 82px);
    padding-top: clamp(34px, 4vw, 52px);
    border-top: 1px solid var(--cseda-linka);
}

.content-block__heading {
    display: flex;
    margin-bottom: clamp(22px, 3vw, 34px);
    align-items: center;
    gap: 13px;
}

.content-block__heading::before {
    content: "";
    width: 34px;
    height: 4px;
    flex: 0 0 34px;
    background: var(--coranzova);
    border-radius: 99px;
}

.content-block__heading h2 {
    margin: 0;
    font-size: clamp(1.4rem, 2vw, 1.8rem) !important;
}

/* Clanky */
.content-articles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.6vw, 30px);
}

.content-article-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    flex-direction: column;
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 9px;
    box-shadow: 0 10px 28px rgba(var(--rgb-cerna), .055);
    transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.content-article-card:hover,
.content-article-card:focus-within {
    border-color: rgba(var(--rgb-oranzova), .45);
    box-shadow: 0 18px 38px rgba(var(--rgb-cerna), .095);
    transform: translateY(-4px);
}

.content-article-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--cseda-svetla);
}

.content-article-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .42s ease;
}

.content-article-card:hover .content-article-card__media img,
.content-article-card:focus-within .content-article-card__media img {
    transform: scale(1.045);
}

.content-article-card__body {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 22px;
}

.content-article-card__body h3 {
    margin: 0 0 10px;
    font-size: 1.08rem !important;
}

.content-article-card__body h3 a {
    color: var(--ccerna);
    text-decoration: none;
    transition: color .18s ease;
}

.content-article-card__body h3 a:hover,
.content-article-card__body h3 a:focus-visible {
    color: var(--coranzova);
}

.content-article-card__body p {
    margin: 0 0 20px;
    color: var(--cseda-text);
    font-size: .88rem;
    line-height: 1.58;
}

.content-button {
    display: inline-flex;
    width: fit-content;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 9px 14px;
    border-radius: 5px;
    font-size: .75rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.content-article-card__body .content-button {
    margin-top: auto;
}

.content-button--outline {
    color: var(--coranzova);
    background: var(--cbila);
    border: 1px solid var(--coranzova);
}

.content-button--outline:hover,
.content-button--outline:focus-visible {
    color: var(--cbila);
    background: var(--coranzova);
    transform: translateY(-1px);
}

.content-button--dark {
    color: var(--cbila);
    background: var(--ccerna2);
    border: 1px solid var(--ccerna2);
}

.content-button--dark:hover,
.content-button--dark:focus-visible {
    color: var(--ccerna);
    background: var(--coranzova);
    border-color: var(--coranzova);
    transform: translateY(-1px);
}

/* Fotogalerie */
.content-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.content-gallery__item {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--cseda-svetla);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(var(--rgb-cerna), .07);
}

.content-gallery__item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--rgb-cerna), .12);
    opacity: 0;
    transition: opacity .28s ease;
    z-index: 1;
}

.content-gallery__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .42s ease, filter .42s ease;
}

.content-gallery__zoom {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    color: var(--ccerna);
    background: var(--coranzova);
    border-radius: 50%;
    opacity: 0;
    transform: translate(-50%, -42%) scale(.82);
    transition: opacity .25s ease, transform .25s ease;
    z-index: 2;
}

.content-gallery__zoom::before,
.content-gallery__zoom::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
}

.content-gallery__zoom::after {
    transform: rotate(90deg);
}

.content-gallery__item:hover::before,
.content-gallery__item:focus-visible::before {
    opacity: 1;
}

.content-gallery__item:hover img,
.content-gallery__item:focus-visible img {
    transform: scale(1.055);
}

.content-gallery__item:hover .content-gallery__zoom,
.content-gallery__item:focus-visible .content-gallery__zoom {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.content-videos {
    display: grid;
    margin-bottom: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.content-video {
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--ccerna);
    border-radius: 8px;
}

.content-video iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}


/* YouTube video vložené přes files.fkategorie=youtube */
.content-youtube-embed {
    width: 100%;
    max-width: 860px;
    margin: 30px auto;
    padding: 8px;
    overflow: hidden;
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 12px;
    box-shadow: 0 14px 34px rgba(var(--rgb-cerna), .08);
    box-sizing: border-box;
    break-inside: avoid;
}

.content-page__text--columns .content-youtube-embed {
    column-span: all;
}

.content-youtube-embed__frame {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--ccerna);
    border-radius: 8px;
}

.content-youtube-embed__frame iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.content-youtube-embed__caption {
    padding: 11px 10px 5px;
    color: var(--cseda-text2);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.45;
}

.content-videos .content-youtube-embed {
    max-width: none;
    margin: 0;
}

/* Soubory ke stazeni */
.content-downloads {
    display: grid;
    gap: 10px;
}

.content-download {
    display: grid;
    min-width: 0;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 15px 16px;
    background: var(--cseda-svetla);
    border: 1px solid var(--cseda-linka);
    border-radius: 7px;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.content-download:hover {
    background: var(--cbila);
    border-color: rgba(var(--rgb-oranzova), .45);
    transform: translateX(3px);
}

.content-download__type {
    display: inline-flex;
    width: 54px;
    height: 42px;
    align-items: center;
    justify-content: center;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 5px;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .04em;
}

.content-download__copy {
    min-width: 0;
}

.content-download__copy h3 {
    margin: 0 0 3px;
    font-size: .94rem !important;
}

.content-download__copy > span {
    display: block;
    overflow: hidden;
    color: var(--cseda-text2);
    font-size: .72rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Mapa */
.content-map-card {
    overflow: hidden;
    background: var(--cseda-svetla);
    border: 1px solid var(--cseda-linka);
    border-radius: 9px;
    box-shadow: 0 12px 30px rgba(var(--rgb-cerna), .07);
}

.content-map {
    width: 100%;
    height: clamp(330px, 40vw, 470px);
}

.content-map .leaflet-control-layers,
.content-map .leaflet-control-zoom {
    border: 0;
    box-shadow: 0 5px 16px rgba(var(--rgb-cerna), .15);
}

/* Reveal */
[data-content-reveal].is-reveal-ready {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s ease var(--content-reveal-delay, 0ms), transform .55s ease var(--content-reveal-delay, 0ms);
}

[data-content-reveal].is-reveal-ready.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 980px) {
    .content-page__intro--with-banner {
        grid-template-columns: minmax(0, 1fr) minmax(300px, .88fr);
        gap: 34px;
    }

    .content-articles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .content-page__text--columns-4 {
        column-count: 2;
    }
}

@media (max-width: 760px) {
    .content-page {
        padding-top: 26px;
        padding-bottom: 62px;
    }

    .content-page__intro,
    .content-page__intro--with-banner {
        display: flex;
        max-width: none;
        flex-direction: column;
        gap: 25px;
        align-items: stretch;
    }

    .content-page__banner {
        min-height: 260px;
        order: 2;
    }

    .content-page__text--columns-2,
    .content-page__text--columns-3,
    .content-page__text--columns-4 {
        column-count: 1;
        column-rule: 0;
    }

    .content-page__body {
        margin-top: 26px;
        padding-top: 24px;
    }

    .content-block {
        margin-top: 48px;
        padding-top: 30px;
    }

    .content-articles,
    .content-videos {
        grid-template-columns: 1fr;
    }

    .content-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .content-download {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .content-download__type {
        width: 48px;
        height: 40px;
    }

    .content-download .content-button {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 460px) {
    .content-page {
        padding-top: 22px;
    }

    .content-page h1,
    .content-page__rich h1 {
        margin-bottom: 17px;
        font-size: 1.85rem !important;
    }

    .content-page__lead {
        font-size: 1rem;
    }

    .content-page__banner {
        min-height: 220px;
    }

    .content-gallery {
        gap: 9px;
    }

    .content-article-card__body {
        padding: 18px;
    }

    .content-block__heading {
        margin-bottom: 20px;
    }

    .content-map {
        height: 320px;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-content-reveal].is-reveal-ready {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .content-article-card,
    .content-article-card__media img,
    .content-gallery__item img,
    .content-gallery__zoom,
    .content-page__banner img {
        transition: none;
    }
}

/* ========================================================================== */
/* OBECNA SEKCE - BANNER NAD H1 + CLANKY BEZ MEZINADPISU                     */
/* Finalni prepis pro obecne textove sekce.                                   */
/* ========================================================================== */
.content-page--has-banner {
    padding-top: 0;
}

.content-page--has-banner .content-page__banner {
    width: 100%;
    height: 320px;
    min-height: 0;
    margin: 0 0 clamp(30px, 3.4vw, 44px);
    border-radius: 0 0 9px 9px;
    box-shadow: 0 12px 30px rgba(var(--rgb-cerna), .08);
}

.content-page--has-banner .content-page__banner img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
}

.content-page--has-banner .content-page__intro {
    max-width: 1000px;
}

.content-page--has-banner .content-page__intro--wide {
    max-width: none;
}

.content-block--articles {
    margin-top: clamp(36px, 4.2vw, 54px);
    padding-top: 0;
    border-top: 0;
}

@media (max-width: 980px) {
    .content-page--has-banner .content-page__banner {
        height: 280px;
    }
}

@media (max-width: 760px) {
    .content-page--has-banner {
        padding-top: 0;
    }

    .content-page--has-banner .content-page__banner {
        height: 230px;
        margin-bottom: 28px;
        border-radius: 0 0 7px 7px;
    }

    .content-block--articles {
        margin-top: 34px;
    }
}

@media (max-width: 460px) {
    .content-page--has-banner {
        padding-top: 0;
    }

    .content-page--has-banner .content-page__banner {
        height: 190px;
        margin-bottom: 24px;
    }
}

/* ========================================================================== */
/* OBECNA SEKCE - NAHLED DOKUMENTU V LIGHTBOXU                                */
/* Klik na zelenou ikonu typu souboru. PDF primo, Office pres online viewer.  */
/* ========================================================================== */
.content-download__preview-trigger {
    margin: 0;
    padding: 0;
    border: 0;
    font-family: inherit;
    line-height: 1;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.content-download__preview-trigger:hover,
.content-download__preview-trigger:focus-visible {
    background: var(--coranzova);
    box-shadow: 0 5px 15px rgba(var(--rgb-oranzova), .22);
    transform: translateY(-2px);
    outline: 0;
}

.content-download__preview-trigger:focus-visible {
    box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .2), 0 5px 15px rgba(var(--rgb-oranzova), .22);
}

body.document-preview-open {
    overflow: hidden;
}

.document-preview-lightbox[hidden] {
    display: none !important;
}

.document-preview-lightbox {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
}

.document-preview-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}

.document-preview-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(var(--rgb-cerna-cista), .78);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: zoom-out;
}

.document-preview-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(1180px, calc(100vw - 48px));
    height: min(820px, calc(100vh - 48px));
    min-height: 420px;
    flex-direction: column;
    overflow: hidden;
    background: var(--cbila);
    border-radius: 10px;
    box-shadow: 0 28px 80px rgba(var(--rgb-cerna-cista), .34);
    transform: translateY(10px) scale(.992);
    transition: transform .18s ease;
}

.document-preview-lightbox.is-open .document-preview-lightbox__dialog {
    transform: translateY(0) scale(1);
}

.document-preview-lightbox__header {
    display: flex;
    min-height: 66px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 14px 12px 18px;
    background: var(--cbila);
    border-bottom: 1px solid var(--cseda-linka);
}

.document-preview-lightbox__heading {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.document-preview-lightbox__type {
    display: inline-flex;
    min-width: 49px;
    height: 36px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 5px;
    font-size: .63rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .04em;
}

.document-preview-lightbox__heading h2 {
    margin: 0 !important;
    overflow: hidden;
    color: var(--ccerna);
    font-size: 1rem !important;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.document-preview-lightbox__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.document-preview-lightbox__download {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 13px;
    color: var(--cbila);
    background: var(--ccerna2);
    border-radius: 5px;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: background-color .18s ease, transform .18s ease;
}

.document-preview-lightbox__download:hover,
.document-preview-lightbox__download:focus-visible {
    color: var(--cbila);
    background: var(--coranzova);
    transform: translateY(-1px);
    outline: 0;
}

.document-preview-lightbox__close {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--cseda-text);
    background: var(--cseda-svetla);
    border: 1px solid var(--cseda-linka);
    border-radius: 5px;
    cursor: pointer;
    font: inherit;
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.document-preview-lightbox__close span {
    display: block;
    margin-top: -2px;
    font-size: 1.65rem;
    font-weight: 300;
    line-height: 1;
}

.document-preview-lightbox__close:hover,
.document-preview-lightbox__close:focus-visible {
    color: var(--cbila);
    background: var(--coranzova);
    border-color: var(--coranzova);
    transform: rotate(3deg);
    outline: 0;
}

.document-preview-lightbox__body {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
    background: var(--cseda-svetla);
}

.document-preview-lightbox__frame {
    display: block;
    width: 100%;
    height: 100%;
    background: var(--cbila);
    border: 0;
}

.document-preview-lightbox__frame[hidden] {
    display: none;
}

.document-preview-lightbox__loading {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 13px;
    color: var(--cseda-text);
    background: var(--cseda-svetla);
    font-size: .78rem;
}

.document-preview-lightbox__loading[hidden] {
    display: none;
}

.document-preview-lightbox__loading > span {
    width: 32px;
    height: 32px;
    border: 3px solid var(--cseda-linka);
    border-top-color: var(--coranzova);
    border-radius: 50%;
    animation: document-preview-spin .75s linear infinite;
}

.document-preview-lightbox__unsupported {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 36px;
    color: var(--cseda-text);
    text-align: center;
}

.document-preview-lightbox__unsupported[hidden] {
    display: none;
}

.document-preview-lightbox__unsupported strong {
    color: var(--ccerna);
    font-size: 1rem;
}

.document-preview-lightbox__unsupported p {
    margin: 8px 0 0;
    font-size: .82rem;
}

@keyframes document-preview-spin {
    to { transform: rotate(360deg); }
}

@media (max-width: 760px) {
    .document-preview-lightbox {
        padding: 10px;
    }

    .document-preview-lightbox__dialog {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        min-height: 0;
        border-radius: 8px;
    }

    .document-preview-lightbox__header {
        min-height: 58px;
        gap: 10px;
        padding: 9px 9px 9px 12px;
    }

    .document-preview-lightbox__heading {
        gap: 8px;
    }

    .document-preview-lightbox__type {
        min-width: 43px;
        height: 32px;
        padding: 0 6px;
        font-size: .58rem;
    }

    .document-preview-lightbox__heading h2 {
        font-size: .84rem !important;
    }

    .document-preview-lightbox__download {
        min-height: 36px;
        padding: 7px 10px;
        font-size: .66rem;
    }

    .document-preview-lightbox__download > span {
        display: none;
    }

    .document-preview-lightbox__close {
        width: 36px;
        height: 36px;
    }
}

@media (max-width: 480px) {
    .document-preview-lightbox__type {
        display: none;
    }

    .document-preview-lightbox__download {
        width: 36px;
        padding: 0;
        font-size: 0;
    }

    .document-preview-lightbox__download::before {
        content: "↓";
        font-size: 1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .document-preview-lightbox,
    .document-preview-lightbox__dialog,
    .content-download__preview-trigger {
        transition: none;
    }

    .document-preview-lightbox__loading > span {
        animation-duration: 1.4s;
    }
}

/* ========================================================================== */
/* OBECNA TEXTOVA SEKCE - VIZUALNI DOLADENI                                  */
/* Uvodni panel + citelnejsi typografie dlouhych textovych stranek.           */
/* ========================================================================== */
.content-page {
    padding-top: clamp(24px, 3vw, 38px);
    background:
        linear-gradient(180deg, rgba(var(--rgb-cerna), .018) 0, rgba(var(--rgb-cerna), 0) 250px),
        var(--cbila);
}

.content-page__intro {
    position: relative;
    max-width: 1080px;
    padding: clamp(28px, 3.4vw, 42px) clamp(28px, 4vw, 48px);
    overflow: hidden;
    background: linear-gradient(120deg, var(--cseda-svetla) 0%, var(--cbila) 86%);
    border: 1px solid var(--cseda-linka);
    border-radius: 10px;
    box-shadow: 0 12px 34px rgba(var(--rgb-cerna), .045);
}

.content-page__intro::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 4px;
    background: var(--coranzova);
}

.content-page__intro-copy {
    position: relative;
    z-index: 1;
}

.content-page h1,
.content-page__rich h1 {
    margin-bottom: 16px;
    font-size: clamp(1.95rem, 2.8vw, 2.55rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.038em !important;
}

.content-page__lead {
    max-width: 780px;
    margin: 0;
    color: var(--cseda-text2);
    font-size: clamp(1rem, 1.15vw, 1.1rem);
    line-height: 1.65;
}

.content-page__body {
    max-width: 1080px;
    margin-top: clamp(28px, 3.6vw, 42px);
    padding: 0 4px;
    border-top: 0;
}

.content-page__body--wide {
    max-width: none;
}

.content-page__rich {
    color: var(--cseda-text);
    font-size: .99rem;
    line-height: 1.76;
}

.content-page__rich p {
    margin-top: 0;
    margin-bottom: 10px;
}

.content-page__rich strong {
    color: var(--ccerna2);
    font-weight: 800;
}

.content-page__rich h2 {
    position: relative;
    margin-top: 42px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--cseda-linka);
}

.content-page__rich h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 42px;
    height: 3px;
    background: var(--coranzova);
    border-radius: 99px;
}

.content-page__rich h3 {
    margin-top: 32px;
    margin-bottom: 13px;
    padding-left: 13px;
    border-left: 3px solid var(--coranzova);
}

.content-page__rich h4 {
    margin-top: 28px;
    color: var(--czelena);
}

.content-page__rich ul {
    margin: 4px 0 14px;
    padding-left: 0;
    list-style: none;
}

.content-page__rich ul > li {
    position: relative;
    padding-left: 22px;
}

.content-page__rich ul > li::before {
    content: "";
    position: absolute;
    top: .72em;
    left: 3px;
    width: 6px;
    height: 6px;
    background: var(--coranzova);
    border-radius: 50%;
    transform: translateY(-50%);
}

.content-page__rich ol {
    padding-left: 1.5rem;
}

.content-page__rich li + li {
    margin-top: 3px;
}

/* Quill casto uklada text odrazky do <li><p>...</p></li>.
   Zrusime zde bezny odstup odstavce, aby seznam nebyl zbytecne vysoky. */
.content-page__rich li > p {
    margin: 0;
}

.content-page__rich blockquote {
    margin: 30px 0;
    padding: 20px 24px;
    background: linear-gradient(90deg, var(--cseda-svetla), var(--cbila));
    border-left-width: 4px;
    box-shadow: 0 6px 18px rgba(var(--rgb-cerna), .035);
}

.content-page__rich table {
    overflow: hidden;
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(var(--rgb-cerna), .035);
}

.content-page--has-banner .content-page__banner {
    margin-bottom: clamp(24px, 3vw, 34px);
}

.content-page--has-banner .content-page__intro {
    max-width: 1080px;
}

@media (max-width: 760px) {
    .content-page {
        padding-top: 20px;
    }

    .content-page__intro {
        padding: 24px 22px 25px 25px;
        border-radius: 8px;
    }

    .content-page h1,
    .content-page__rich h1 {
        margin-bottom: 12px;
        font-size: clamp(1.75rem, 8vw, 2.1rem) !important;
    }

    .content-page__lead {
        font-size: .98rem;
        line-height: 1.6;
    }

    .content-page__body {
        margin-top: 28px;
        padding: 0;
    }

    .content-page__rich h2 {
        margin-top: 34px;
    }

    .content-page__rich h3 {
        margin-top: 28px;
    }
}

@media (max-width: 460px) {
    .content-page__intro {
        padding: 21px 18px 22px 21px;
    }

    .content-page__intro::before {
        width: 3px;
    }

    .content-page__rich {
        font-size: .95rem;
        line-height: 1.7;
    }
}

/* ========================================================================== */
/* PRABOS 2026 - VYHLEDAVANI / BLOKOVE VYSLEDKY                              */
/* ========================================================================== */
.search-results-page {
    background: var(--cbila);
}

.search-results-page__inner {
    padding-top: 22px;
    padding-bottom: 46px;
}

.search-results-hero {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    align-items: center;
    margin-bottom: 28px;
    padding: 22px 20px 22px 24px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--c-f7f7f4) 0%, var(--cbila) 68%);
    border: 1px solid var(--cseda-linka);
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(var(--rgb-cerna), .05);
}

.search-results-hero__accent {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: var(--coranzova);
}

.search-results-hero h1 {
    margin: 0;
    color: var(--ccerna);
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -.035em;
}

.search-results-hero p {
    margin: 9px 0 0;
    color: var(--cseda-text);
    font-size: .86rem;
    line-height: 1.45;
}

.search-results-hero p strong {
    color: var(--ccerna);
    font-weight: 800;
}

.search-results-hero__count {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    gap: 7px;
    padding: 11px 15px;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 8px;
    text-align: center;
}

.search-results-hero__count strong {
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1;
}

.search-results-hero__count span {
    font-size: .65rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.search-results-group {
    margin-top: 32px;
}

.search-results-group:first-of-type {
    margin-top: 0;
}

.search-results-group__heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
}

.search-results-group__heading::before {
    width: 26px;
    height: 4px;
    flex: 0 0 auto;
    background: var(--coranzova);
    border-radius: 999px;
    content: "";
}

.search-results-group__heading h2 {
    margin: 0;
    color: var(--ccerna);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.02em;
}

.search-results-group__heading > span {
    display: inline-flex;
    min-width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    color: var(--cseda-text);
    background: var(--cseda-svetla);
    border: 1px solid var(--cseda-linka);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
}

.search-results-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.search-result-card__link {
    position: relative;
    display: flex;
    min-height: 154px;
    flex-direction: column;
    padding: 19px 48px 19px 18px;
    overflow: hidden;
    color: var(--ccerna);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 9px;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(var(--rgb-cerna), .04);
}

.search-result-card__link::before {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--coranzova);
    content: "";
}

.search-result-card__top {
    display: flex;
    min-height: 20px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.search-result-card__type {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    color: var(--czelena);
    background: rgba(var(--rgb-zelena-svetla), .09);
    border-radius: 4px;
    font-size: .6rem;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.search-result-card__meta {
    color: var(--cseda-text2);
    font-size: .64rem;
    line-height: 1;
}

.search-result-card h3 {
    margin: 0 0 8px;
    color: var(--ccerna);
    font-size: .96rem;
    font-weight: 800;
    line-height: 1.25;
}

.search-result-card p {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: var(--cseda-text);
    font-size: .75rem;
    line-height: 1.48;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.search-result-card__more {
    position: absolute;
    right: 14px;
    bottom: 16px;
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    color: var(--coranzova);
    background: var(--cbila);
    border: 1px solid rgba(var(--rgb-oranzova), .42);
    border-radius: 999px;
}

.search-result-card__more span {
    font-size: .95rem;
    font-weight: 800;
    line-height: 1;
}

.search-results-empty {
    display: flex;
    min-height: 160px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 13px;
    padding: 26px 20px;
    color: var(--cseda-text);
    background: var(--c-f7f7f4);
    border: 1px dashed var(--cseda-linka);
    border-radius: 9px;
    text-align: center;
}

.search-results-empty__icon {
    width: 30px;
    height: 30px;
    opacity: .58;
}

.search-results-empty p {
    margin: 0;
    font-size: .82rem;
    line-height: 1.5;
}

/* ========================================================================== */
/* UCET - PRIHLASENI / REGISTRACE / EDITACE                                   */
/* Moderni frontend nad puvodni logikou formularu.                            */
/* ========================================================================== */
.page-account #main-content {
    background:
        linear-gradient(180deg, rgba(var(--rgb-zelena-svetla), .045), rgba(var(--rgb-bila), 0) 360px),
        var(--cbila);
}

.page-account .account-page-section {
    padding-top: clamp(34px, 4.2vw, 58px);
    padding-bottom: clamp(54px, 6vw, 84px);
}

.page-account .account-page-section > h1 {
    margin: 0 0 20px;
    color: var(--ccerna);
    font-size: clamp(2rem, 3.7vw, 3.15rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.045em;
}

.page-account .account-page-intro {
    max-width: 680px;
    margin-bottom: 30px;
    color: var(--cseda-text);
    font-size: .98rem;
    line-height: 1.65;
}

.page-account .account-page-intro h2,
.page-account .account-page-intro h3,
.page-account .account-page-intro h4 {
    margin: 0 0 12px;
    color: var(--ccerna);
    font-size: 1.08rem;
    line-height: 1.35;
}

.page-account .account-page-intro p {
    margin: 0 0 8px;
}

.page-account .account-page-intro a {
    color: var(--czelena);
    font-weight: 700;
    text-decoration-color: rgba(var(--rgb-zelena-svetla), .38);
    transition: color .18s ease, text-decoration-color .18s ease;
}

.page-account .account-page-intro a:hover,
.page-account .account-page-intro a:focus-visible {
    color: var(--coranzova);
    text-decoration-color: var(--coranzova);
}

.account-card {
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 12px;
    box-shadow: 0 14px 38px rgba(var(--rgb-cerna), .07);
}

.account-card__head {
    margin-bottom: 24px;
}

.account-card__eyebrow {
    display: inline-flex;
    margin-bottom: 9px;
    align-items: center;
    gap: 8px;
    color: var(--czelena);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.account-card__eyebrow::before {
    width: 24px;
    height: 2px;
    background: var(--coranzova);
    border-radius: 999px;
    content: "";
}

.account-card__head h2 {
    margin: 0;
    color: var(--ccerna);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.account-form {
    margin: 0;
}

.account-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 7px;
}

.account-field label,
.page-account-edit .div-input {
    color: var(--ccerna2);
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.25;
}

.account-input,
.account-select,
.page-account-edit .input2,
.page-account-edit .select2 {
    display: block;
    width: 100%;
    height: 46px;
    min-width: 0;
    margin: 0;
    padding: 0 13px;
    color: var(--ccerna2);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 7px;
    outline: none;
    box-shadow: inset 0 1px 0 rgba(var(--rgb-cerna), .02);
    font: inherit;
    font-size: .9rem;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.account-input:hover,
.account-select:hover,
.page-account-edit .input2:hover,
.page-account-edit .select2:hover {
    border-color: var(--c-b9bdb4);
}

.account-input:focus,
.account-select:focus,
.page-account-edit .input2:focus,
.page-account-edit .select2:focus {
    background: var(--cbila);
    border-color: var(--coranzova);
    box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .11);
}

.account-input[readonly],
.page-account-edit .input2[readonly] {
    color: var(--cseda-text2);
    background: var(--cseda-svetla);
    cursor: default;
}

.account-submit,
.page-account .submit {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 10px 18px;
    color: var(--cbila);
    background: var(--czelena);
    border: 1px solid var(--czelena);
    border-radius: 7px;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(var(--rgb-zelena-svetla), .14);
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.account-submit:hover,
.account-submit:focus-visible,
.page-account .submit:hover,
.page-account .submit:focus-visible {
    color: var(--cbila);
    background: var(--coranzova);
    border-color: var(--coranzova);
    transform: translateY(-1px);
    box-shadow: 0 9px 20px rgba(var(--rgb-oranzova), .16);
}

.account-submit--secondary {
    color: var(--czelena);
    background: var(--cbila);
}

.account-submit--ghost {
    color: var(--cseda-text);
    background: var(--cseda-svetla);
    border-color: var(--cseda-linka);
    box-shadow: none;
}

.account-alert {
    margin: 0 0 20px;
    padding: 13px 15px;
    border-radius: 8px;
    font-size: .84rem;
    line-height: 1.5;
}

.account-alert--error,
.page-account .chyba,
.page-account .div-bad {
    color: var(--coranzova-tmava);
    background: rgba(var(--rgb-oranzova), .075);
    border: 1px solid rgba(var(--rgb-oranzova), .22);
}

/* Prihlaseni */
.page-account-login .account-page-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 430px);
    column-gap: clamp(48px, 8vw, 112px);
    align-items: start;
}

.page-account-login .account-page-section > h1 {
    grid-column: 1 / -1;
}

.page-account-login .account-page-intro {
    grid-column: 1;
    margin: 14px 0 0;
    padding: 26px 0 0;
    border-top: 1px solid var(--cseda-linka);
}

.page-account-login .account-login-panel,
.page-account-login .account-card--signed {
    grid-column: 2;
    grid-row: 2 / span 2;
}

.account-card--login,
.account-card--signed {
    padding: clamp(24px, 3vw, 34px);
}

.account-form--login {
    display: grid;
    gap: 16px;
}

.account-form--login .account-submit {
    width: 100%;
    margin-top: 4px;
}

.account-signed-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Registrace */
.account-register-shell {
    max-width: 980px;
}

.account-register-form {
    display: grid;
    gap: 18px;
}

.account-form-section {
    padding: clamp(22px, 3vw, 32px);
}

.account-section-heading {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    margin-bottom: 22px;
}

.account-section-heading > span {
    display: inline-flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 7px;
    font-size: .69rem;
    font-weight: 900;
    line-height: 1;
}

.account-section-heading h2 {
    margin: 2px 0 0;
    color: var(--ccerna);
    font-size: 1.08rem;
    line-height: 1.25;
}

.account-section-heading p {
    margin: 5px 0 0;
    color: var(--cseda-text2);
    font-size: .82rem;
    line-height: 1.45;
}

.account-fields-grid,
.page-account-edit .div-main20 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 18px;
}

.account-field--wide {
    grid-column: span 1;
}

.account-section-note {
    margin-top: 19px;
    padding-top: 16px;
    color: var(--cseda-text2);
    border-top: 1px solid var(--cseda-linka);
    font-size: .8rem;
    line-height: 1.5;
}

.account-check {
    display: inline-flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--cseda-text);
    font-size: .88rem;
    line-height: 1.45;
    cursor: pointer;
}

.account-check input,
.page-account-edit .input-radio {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin: 1px 0 0;
    accent-color: var(--czelena);
}

.account-form-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--cseda-linka);
}

.account-form-actions .account-submit {
    min-width: 180px;
}

/* Editace uctu - zachovava puvodni PHP/objednavkovou logiku, meni frontend. */
.account-edit-shell {
    margin-top: 6px;
}

.page-account-edit .account-page-intro:empty {
    display: none;
}

.div-zalozka-editace-holder.account-tabs {
    display: inline-flex;
    max-width: 100%;
    margin-bottom: 20px;
    padding: 4px;
    gap: 4px;
    overflow-x: auto;
    background: var(--cseda-svetla);
    border: 1px solid var(--cseda-linka);
    border-radius: 9px;
}

.page-account-edit .div-zalozka-editace {
    appearance: none;
    min-height: 38px;
    padding: 8px 16px;
    color: var(--cseda-text);
    background: transparent;
    border: 0;
    border-radius: 6px;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
    transition: color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.page-account-edit .div-zalozka-editace:hover,
.page-account-edit .div-zalozka-editace:focus-visible {
    color: var(--ccerna);
}

.page-account-edit .div-zalozka-editace-selected {
    color: var(--ccerna);
    background: var(--cbila);
    box-shadow: 0 3px 10px rgba(var(--rgb-cerna), .08);
}

.account-edit-content {
    min-width: 0;
}

.page-account-edit .div-obsah-editace.hidden {
    display: none !important;
}

.page-account-edit .div-obsah-editace {
    min-width: 0;
}

.page-account-edit .account-edit-form > .h3-podtrh,
.page-account-edit .div-obsah-editace > .h3-podtrh {
    margin: 18px 0 0;
    padding: 22px 26px 10px;
    color: var(--ccerna);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    font-size: 1.08rem;
    line-height: 1.25;
}

.page-account-edit .account-edit-form > .h3-podtrh + .div-main20,
.page-account-edit .account-edit-form > .h3-podtrh ~ .div-main20 {
    padding: 14px 26px 25px;
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 12px 34px rgba(var(--rgb-cerna), .055);
}

.page-account-edit .div-input-holder {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 7px;
}

.page-account-edit .cistic,
.page-account-edit .cistic-middle,
.page-account-edit .cistic-big,
.page-account-edit .cistic-big2,
.page-account-edit .cistic-big3 {
    display: none !important;
}

.page-account-edit .account-edit-form > p {
    color: var(--cseda-text2);
    font-size: .84rem;
    line-height: 1.55;
}

.page-account-edit .account-edit-form > p.center {
    display: flex;
    justify-content: flex-end;
    margin: 20px 0 0;
}

.page-account-edit .label {
    margin-left: 8px;
    color: var(--cseda-text);
    font-size: .86rem;
}

/* Prehled objednavek v editaci */
.page-account-edit .div-obsah-editace1,
.page-account-edit #div-obsah-editace1 {
    min-width: 0;
}

.page-account-edit .table {
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--cseda-linka);
    border-radius: 10px;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--cbila);
    box-shadow: 0 10px 28px rgba(var(--rgb-cerna), .05);
}

.page-account-edit .table td {
    padding: 12px 13px;
    color: var(--cseda-text);
    border-right: 1px solid var(--cseda-linka);
    border-bottom: 1px solid var(--cseda-linka);
    font-size: .78rem;
    vertical-align: middle;
}

.page-account-edit .table tr:last-child td {
    border-bottom: 0;
}

.page-account-edit .table td:last-child {
    border-right: 0;
}

.page-account-edit .table .tr-hlavicka td {
    color: var(--ccerna);
    background: var(--cseda-svetla);
    font-size: .69rem;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.page-account-edit .table a {
    color: var(--czelena);
    font-weight: 700;
}

.page-account-edit .td-sipka {
    width: 38px;
    cursor: pointer;
}

.page-account-edit .tr-sipka {
    padding: 20px;
    background: rgba(var(--rgb-zelena-svetla), .035);
}

.page-account-edit .tr-sipka .toleft {
    float: none !important;
    display: inline-block;
    width: calc(50% - 24px) !important;
    margin-right: 20px !important;
    vertical-align: top;
}

.page-account-edit .table-detail-objednavky,
.page-account-edit .table-nakupni-kosik {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}


/* ========================================================================== */
/* UCET - mobilni doladeni                                                    */
/* ========================================================================== */
.page-account .account-page-section {
    padding-top: 26px;
    padding-bottom: 48px;
}

.page-account .account-page-section > h1 {
    margin-bottom: 16px;
    font-size: clamp(1.85rem, 9vw, 2.45rem);
}

.page-account .account-page-intro {
    margin-bottom: 22px;
    font-size: .91rem;
}

.page-account-login .account-page-section {
    display: block;
}

.page-account-login .account-page-intro {
    margin: 0 0 22px;
    padding-top: 18px;
}

.account-card--login,
.account-card--signed,
.account-form-section {
    padding: 20px 17px;
}

.account-input,
.account-select,
.page-account-edit .input2,
.page-account-edit .select2 {
    height: 44px;
    font-size: .9rem;
}

.account-fields-grid,
.page-account-edit .div-main20 {
    grid-template-columns: 1fr;
    gap: 13px;
}

.account-section-heading {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 11px;
    margin-bottom: 18px;
}

.account-section-heading > span {
    width: 30px;
    height: 30px;
}

.account-section-heading h2 {
    font-size: 1rem;
}

.account-form-actions {
    justify-content: stretch;
}

.account-form-actions .account-submit,
.account-form--login .account-submit {
    width: 100%;
}

.div-zalozka-editace-holder.account-tabs {
    display: flex;
    width: 100%;
}

.page-account-edit .div-zalozka-editace {
    flex: 1 0 auto;
    padding-inline: 12px;
}

.page-account-edit .account-edit-form > .h3-podtrh,
.page-account-edit .div-obsah-editace > .h3-podtrh {
    padding: 18px 17px 8px;
    font-size: 1rem;
}

.page-account-edit .account-edit-form > .h3-podtrh + .div-main20,
.page-account-edit .account-edit-form > .h3-podtrh ~ .div-main20 {
    padding: 12px 17px 20px;
}

.page-account-edit .account-edit-form > p.center {
    justify-content: stretch;
}

.page-account-edit .account-edit-form > p.center .submit {
    width: 100%;
}

.page-account-edit .div-obsah-editace {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.page-account-edit .table {
    min-width: 620px;
}

.page-account-edit .tr-sipka {
    min-width: 560px;
    padding: 14px;
}

.page-account-edit .tr-sipka .toleft {
    display: block;
    width: 100% !important;
    margin: 0 0 16px !important;
}

/* ========================================================================== */
/* UCET - VALIDACE + ZAPOMENUTE HESLO                                         */
/* ========================================================================== */
.account-alert > strong {
    display: block;
    color: inherit;
    font-weight: 800;
}

.account-alert > span {
    display: block;
    margin-top: 5px;
}

.account-alert__list {
    margin: 8px 0 0;
    padding-left: 18px;
}

.account-alert__list li {
    margin: 3px 0;
}

.account-alert--success,
.page-account .div-good {
    color: var(--czelena);
    background: rgba(var(--rgb-zelena-svetla), .08);
    border: 1px solid rgba(var(--rgb-zelena-svetla), .24);
}

.account-alert--standalone {
    max-width: 760px;
    margin-bottom: 16px;
}

.page-account-forgot .account-page-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(350px, 440px);
    column-gap: clamp(48px, 8vw, 112px);
    align-items: start;
}

.page-account-forgot .account-page-section > h1 {
    grid-column: 1 / -1;
}

.page-account-forgot .account-page-intro {
    grid-column: 1;
    margin: 14px 0 0;
    padding: 26px 0 0;
    border-top: 1px solid var(--cseda-linka);
}

.page-account-forgot .account-forgot-shell {
    grid-column: 2;
    grid-row: 2 / span 2;
}

.account-card--forgot {
    padding: clamp(24px, 3vw, 34px);
}

.account-card__description {
    margin: -8px 0 20px;
    color: var(--cseda-text2);
    font-size: .86rem;
    line-height: 1.55;
}

.account-form--forgot {
    display: grid;
    gap: 16px;
}

.account-form--forgot .account-submit {
    width: 100%;
    margin-top: 4px;
}

.account-card__footer {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--cseda-linka);
    font-size: .8rem;
}

.account-card__footer a {
    color: var(--czelena);
    font-weight: 800;
}

.account-card__footer a:hover,
.account-card__footer a:focus-visible {
    color: var(--coranzova);
}

@media (max-width: 760px) {
    .page-account-forgot .account-page-section {
        display: block;
    }

    .page-account-forgot .account-page-intro {
        margin: 0 0 20px;
        padding-top: 0;
        border-top: 0;
    }

    .page-account-forgot .account-forgot-shell {
        width: 100%;
    }

    .account-card--forgot {
        padding: 20px;
    }
}

/* ========================================================================== */
/* UCET / EDITACE - finalni mobilni srovnani                                  */
/* ========================================================================== */
.page-account-edit .account-edit-form {
    display: grid;
    gap: 14px;
}

.page-account-edit .div-zalozka-editace-holder.account-tabs {
    width: 100%;
}

.page-account-edit .div-zalozka-editace {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

/* ========================================================================== */
/* UCET / OBJEDNAVKY - karty s rozbalovacim detailem                         */
/* ========================================================================== */
.page-account-edit .account-orders { display:grid; gap:12px; }
.page-account-edit .account-order-card { overflow:hidden; background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:14px; box-shadow:0 8px 26px rgba(var(--rgb-cerna),.045); }
.page-account-edit .account-order-card[open] { border-color:rgba(var(--rgb-zelena-svetla),.42); box-shadow:0 18px 44px rgba(var(--rgb-cerna),.085); }
.page-account-edit .account-order-summary { display:grid; min-height:86px; padding:15px; grid-template-columns:1fr; align-items:center; gap:12px; cursor:pointer; list-style:none; user-select:none; }
.page-account-edit .account-order-summary::-webkit-details-marker { display:none; }
.page-account-edit .account-order-summary::marker { content:""; }
.page-account-edit .account-order-summary__main { display:grid; min-width:0; grid-template-columns:1fr auto; align-items:center; gap:7px 12px; }
.page-account-edit .account-order-summary__side { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:10px; }
.page-account-edit .account-order-number { display:flex; min-width:0; flex-direction:column; gap:2px; }
.page-account-edit .account-order-number span { color:var(--cseda-text2); font-size:.65rem; font-weight:800; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; }
.page-account-edit .account-order-number strong { color:var(--ccerna); font-size:1.06rem; line-height:1.18; }
.page-account-edit .account-order-date { grid-column:1; grid-row:2; color:var(--cseda-text); font-size:.78rem; white-space:nowrap; }
.page-account-edit .account-order-status { display:inline-flex; min-height:29px; padding:6px 9px; grid-column:2; grid-row:1 / span 2; align-self:center; align-items:center; gap:6px; color:var(--cseda-text); background:var(--cseda-svetla); border:1px solid var(--cseda-linka); border-radius:999px; font-size:.66rem; font-weight:800; line-height:1.15; white-space:nowrap; }
.page-account-edit .account-order-status::before { width:7px; height:7px; flex:0 0 7px; background:var(--cseda-text2); border-radius:50%; content:""; }
.page-account-edit .account-order-status small { display:none; }
.page-account-edit .account-order-status--sent { color:var(--czelena); background:rgba(var(--rgb-zelena-svetla),.08); border-color:rgba(var(--rgb-zelena-svetla),.24); }
.page-account-edit .account-order-status--sent::before { background:var(--czelena); }
.page-account-edit .account-order-status--waiting,.page-account-edit .account-order-status--progress { color:var(--coranzova-tmava); background:rgba(var(--rgb-oranzova),.07); border-color:rgba(var(--rgb-oranzova),.2); }
.page-account-edit .account-order-status--waiting::before,.page-account-edit .account-order-status--progress::before { background:var(--coranzova); }
.page-account-edit .account-order-preview { display:flex; align-items:center; padding-left:6px; }
.page-account-edit .account-order-preview > span { display:grid; width:44px; height:44px; margin-left:-7px; place-items:center; overflow:hidden; background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:8px; box-shadow:0 3px 10px rgba(var(--rgb-cerna),.06); }
.page-account-edit .account-order-preview > span:first-child { margin-left:0; }
.page-account-edit .account-order-preview img { width:100%; height:100%; padding:4px; object-fit:contain; }
.page-account-edit .account-order-preview__more { color:var(--cseda-text2); background:var(--cseda-svetla)!important; font-size:.76rem; font-weight:900; }
.page-account-edit .account-order-document-count { display:none; }
.page-account-edit .account-order-toggle { display:inline-flex; min-height:36px; margin-left:auto; padding:8px 10px; align-items:center; justify-content:center; gap:8px; color:var(--cbila); background:var(--czelena); border-radius:7px; font-size:.68rem; font-weight:800; line-height:1.1; white-space:nowrap; }
.page-account-edit .account-order-toggle i { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.page-account-edit .account-order-toggle__close { display:none; }
.page-account-edit .account-order-card[open] .account-order-toggle__open { display:none; }
.page-account-edit .account-order-card[open] .account-order-toggle__close { display:inline; }
.page-account-edit .account-order-card[open] .account-order-toggle i { transform:rotate(225deg) translate(-1px,-1px); }
.page-account-edit .account-order-detail { padding:15px; background:linear-gradient(180deg,var(--c-f7f7f4),var(--cbila) 150px); border-top:1px solid var(--cseda-linka); }
.page-account-edit .account-order-documents { margin-bottom:14px; padding:14px; background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:10px; }
.page-account-edit .account-order-documents h3,.page-account-edit .account-order-info-card h3,.page-account-edit .account-order-detail > h3 { margin:0 0 10px; color:var(--ccerna); font-size:.88rem; }
.page-account-edit .account-order-document-list { display:flex; flex-wrap:wrap; gap:7px; }
.page-account-edit .account-order-document { display:inline-flex; min-height:34px; padding:6px 9px; align-items:center; gap:7px; color:var(--czelena); background:rgba(var(--rgb-zelena-svetla),.06); border:1px solid rgba(var(--rgb-zelena-svetla),.2); border-radius:7px; font-size:.72rem; font-weight:800; text-decoration:none; }
.page-account-edit .account-order-document__icon { display:grid; width:21px; height:21px; place-items:center; color:var(--cbila); background:var(--czelena); border-radius:5px; font-size:.7rem; }
.page-account-edit .account-order-info-grid { display:grid; margin-bottom:18px; grid-template-columns:1fr; gap:10px; }
.page-account-edit .account-order-info-card { min-width:0; padding:15px; background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:10px; }
.page-account-edit .account-order-info-card p { margin:0; color:var(--cseda-text); font-size:.77rem; line-height:1.52; }
.page-account-edit .account-order-info-card p strong { color:var(--ccerna); }
.page-account-edit .account-order-contact-lines,.page-account-edit .account-order-company { display:grid; margin-top:11px; padding-top:10px; gap:3px; color:var(--cseda-text); border-top:1px solid var(--cseda-linka); font-size:.72rem; }
.page-account-edit .account-order-contact-lines a { color:var(--czelena); font-weight:700; }
.page-account-edit .account-order-company strong { color:var(--ccerna); }
.page-account-edit .account-order-note { margin-top:11px!important; padding-top:10px; border-top:1px solid var(--cseda-linka); }
.page-account-edit .account-order-products-scroll { width:100%; margin-top:9px; overflow-x:auto; background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:10px; -webkit-overflow-scrolling:touch; }
.page-account-edit .account-order-products-scroll .table-nakupni-kosik { min-width:720px; margin:0; border:0; background:var(--cbila); }
.page-account-edit .account-order-products-scroll .table-nakupni-kosik td { padding:9px 10px; border-color:var(--cseda-linka); font-size:.71rem; vertical-align:middle; }
.page-account-edit .account-order-products-scroll .td-nakupni-kosik1 { color:var(--cseda-text2); background:var(--cseda-svetla); font-size:.62rem; font-weight:800; text-transform:uppercase; }
.page-account-edit .account-order-products-scroll .td-nakupni-kosik2 { background:var(--cbila); }
.page-account-edit .account-order-products-scroll .td-nakupni-kosik3 { color:var(--ccerna); background:var(--c-f7f7f4); font-weight:800; }
.page-account-edit .account-order-products-scroll td[style*="#f49331"] { color:var(--ccerna)!important; background:rgba(var(--rgb-oranzova),.08)!important; }
.page-account-edit .account-order-products-scroll td[style*="#dff7d1"] { background:rgba(var(--rgb-zelena-svetla),.08)!important; }
.page-account-edit .account-order-product-image,.page-account-edit .account-order-products-scroll td:first-child > p.center { display:grid; width:82px; height:82px; margin:0 auto; place-items:center; overflow:hidden; background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:10px; }
.page-account-edit .account-order-product-image a,.page-account-edit .account-order-products-scroll td:first-child > p.center a { display:grid; width:100%; height:100%; place-items:center; text-decoration:none; }
.page-account-edit .account-order-products-scroll .img-tab { display:block; width:100%!important; max-width:none!important; height:100%!important; max-height:none!important; margin:0!important; padding:6px; object-fit:contain; }
.page-account-edit .account-order-product-placeholder { display:grid; width:100%; height:100%; place-items:center; color:var(--cseda-text2); background:var(--cseda-svetla); font-size:.6rem; font-weight:900; letter-spacing:.08em; }
.page-account-edit .account-order-products-scroll select { min-width:56px; min-height:32px; padding:4px 7px; color:var(--ccerna); background:var(--cbila); border:1px solid var(--cseda-linka); border-radius:6px; }
.page-account-edit .account-order-products-scroll .submit { min-height:32px; padding:6px 10px; color:var(--cbila); background:var(--czelena); border:0; border-radius:6px; font-size:.68rem; font-weight:800; }
.page-account-edit .account-orders-empty { padding:24px; color:var(--cseda-text2); background:var(--cseda-svetla); border:1px solid var(--cseda-linka); border-radius:12px; text-align:center; }
@media (max-width:440px) { .page-account-edit .account-order-preview > span:nth-child(n + 3) { display:none; } }


/* ========================================================================== */
/* HLAVICKA / PRIHLASENY KLIENT - inicialy + rychle submenu                  */
/* ========================================================================== */
.header-account-menu {
    position: relative;
    display: flex;
    align-items: center;
    align-self: stretch;
}

.header-account-menu:hover,
.header-account-menu:focus-within {
    z-index: 260;
}

.header-account-menu > .icon-button {
    position: relative;
    overflow: visible;
}

.account-initials-badge {
    position: absolute;
    top: 0;
    right: -4px;
    z-index: 4;
    display: inline-flex;
    min-width: 22px;
    height: 18px;
    padding: 0 4px;
    align-items: center;
    justify-content: center;
    color: var(--cbila);
    background: var(--czelena-svetla);
    border: 2px solid var(--ccerna);
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 8px;
    font-weight: 900;
    font-style: normal;
    line-height: 1;
    letter-spacing: .02em;
    pointer-events: none;
    transform: none !important;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.header-account-menu:hover .account-initials-badge,
.header-account-menu:focus-within .account-initials-badge {
    color: var(--czelena);
    background: var(--cbila);
    box-shadow: 0 0 0 2px rgba(var(--rgb-zelena-svetla), .28);
    transform: scale(1.06) !important;
}

.header-account-submenu {
    position: absolute;
    top: 100%;
    right: -8px;
    z-index: 250;
    width: 258px;
    padding-top: 9px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-5px);
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
}

.header-account-submenu::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 10px;
    content: "";
}

.header-account-menu:hover .header-account-submenu,
.header-account-menu:focus-within .header-account-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.header-account-submenu__panel {
    overflow: hidden;
    color: var(--ccerna);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-top: 3px solid var(--coranzova);
    border-radius: 10px;
    box-shadow: 0 18px 42px rgba(var(--rgb-cerna), .16);
}

.header-account-submenu__client {
    display: grid;
    padding: 13px 14px;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    background: var(--cseda-svetla);
    border-bottom: 1px solid var(--cseda-linka);
}

.header-account-submenu__avatar {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    color: var(--cbila);
    background: var(--czelena);
    border-radius: 50%;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .03em;
}

.header-account-submenu__client > span:last-child {
    min-width: 0;
}

.header-account-submenu__client small,
.header-account-submenu__client strong {
    display: block;
}

.header-account-submenu__client small {
    margin-bottom: 2px;
    color: var(--czelena);
    font-size: .58rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.header-account-submenu__client strong {
    overflow: hidden;
    color: var(--ccerna);
    font-size: .82rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header-account-submenu__panel > a {
    display: flex;
    min-height: 46px;
    padding: 10px 14px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--cseda-text);
    background: var(--cbila);
    border-bottom: 1px solid var(--cseda-linka);
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    transition: color .16s ease, background-color .16s ease, padding-left .16s ease;
}

.header-account-submenu__panel > a:last-child { border-bottom: 0; }

.header-account-submenu__panel > a i {
    flex: 0 0 auto;
    color: var(--coranzova);
    font-size: 1.18rem;
    font-style: normal;
    line-height: 1;
}

.header-account-submenu__panel > a:hover,
.header-account-submenu__panel > a:focus-visible {
    color: var(--ccerna);
    background: var(--c-f7f7f4);
    padding-left: 17px;
}

/* Vracene zbozi oddelit od souctoveho radku predchozi tabulky. */
.page-account-edit .account-order-returned-title {
    margin: 26px 0 12px !important;
}

@media (max-width: 860px) {
    /* Na dotykovem menu vede klik na ikonu rovnou na Vase udaje. */
    .header-account-submenu { display: none; }
    .account-initials-badge { right: -2px; }
}

/* ========================================================================== */
/* UCET / OBJEDNAVKY - jemny reveal karet pri scrollu                         */
/* ========================================================================== */
.account-order-reveal-enabled .page-account-edit .account-order-card[data-order-reveal] {
    opacity: 0;
    transform: translateY(14px) scale(.996);
    transition:
        opacity .44s ease var(--order-reveal-delay, 0ms),
        transform .44s cubic-bezier(.22, .7, .25, 1) var(--order-reveal-delay, 0ms),
        border-color .2s ease,
        box-shadow .2s ease;
    will-change: opacity, transform;
}

.account-order-reveal-enabled .page-account-edit .account-order-card[data-order-reveal].is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
    .account-order-reveal-enabled .page-account-edit .account-order-card[data-order-reveal],
    .account-order-reveal-enabled .page-account-edit .account-order-card[data-order-reveal].is-visible {
        opacity: 1;
        transform: none;
        transition: border-color .2s ease, box-shadow .2s ease;
    }
}

/* ========================================================================== */
/* UCET - odhlaseni + bezpecne smazani uctu                                  */
/* ========================================================================== */
.account-page-titlebar {
    display: flex;
    margin: 0 0 20px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.page-account .account-page-titlebar h1 {
    margin: 0;
    color: var(--ccerna);
    font-size: clamp(2rem, 3.7vw, 3.15rem);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.045em;
}

.account-logout-button {
    display: inline-flex;
    min-height: 42px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    gap: 9px;
    color: var(--cseda-text);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(var(--rgb-cerna), .045);
    font-size: .76rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.account-logout-button:hover,
.account-logout-button:focus-visible {
    color: var(--coranzova-tmava);
    border-color: rgba(var(--rgb-oranzova), .5);
    box-shadow: 0 8px 22px rgba(var(--rgb-oranzova), .10);
    transform: translateY(-1px);
}

.account-logout-button__icon {
    position: relative;
    display: block;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
}

.account-logout-button__icon::before {
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 1px;
    width: 8px;
    border: 1.7px solid currentColor;
    border-right: 0;
    border-radius: 3px 0 0 3px;
    content: "";
}

.account-logout-button__icon::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 10px;
    height: 7px;
    border-top: 1.7px solid currentColor;
    content: "→";
    font-size: 13px;
    font-weight: 900;
    line-height: 0;
    transform: translateY(-1px);
}

.account-delete-zone {
    display: flex;
    margin-top: 34px;
    padding: 22px 24px;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    background: rgba(var(--rgb-oranzova), .035);
    border: 1px solid rgba(var(--rgb-oranzova), .20);
    border-radius: 12px;
}

.account-delete-zone__copy {
    max-width: 760px;
}

.account-delete-zone h2 {
    margin: 0 0 7px;
    color: var(--ccerna);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.01em;
}

.account-delete-zone p {
    margin: 0;
    color: var(--cseda-text2);
    font-size: .81rem;
    line-height: 1.55;
}

.account-delete-button {
    min-height: 40px;
    flex: 0 0 auto;
    padding: 9px 14px;
    color: var(--coranzova-tmava);
    background: var(--cbila);
    border: 1px solid rgba(var(--rgb-oranzova), .42);
    border-radius: 7px;
    cursor: pointer;
    font-size: .73rem;
    font-weight: 800;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.account-delete-button:hover,
.account-delete-button:focus-visible {
    color: var(--cbila);
    background: var(--coranzova-tmava);
    border-color: var(--coranzova-tmava);
    box-shadow: 0 8px 22px rgba(var(--rgb-oranzova), .16);
    transform: translateY(-1px);
}

.account-delete-dialog {
    width: min(520px, calc(100% - 32px));
    padding: 0;
    color: var(--ccerna);
    background: var(--cbila);
    border: 0;
    border-radius: 14px;
    box-shadow: 0 26px 80px rgba(var(--rgb-cerna-cista), .28);
}

.account-delete-dialog::backdrop {
    background: rgba(var(--rgb-cerna-cista), .52);
    backdrop-filter: blur(3px);
}

.account-delete-dialog__inner {
    padding: 30px;
}

.account-delete-dialog__mark {
    display: grid;
    width: 42px;
    height: 42px;
    margin-bottom: 20px;
    place-items: center;
    color: var(--cbila);
    background: var(--coranzova-tmava);
    border-radius: 50%;
    font-size: 1.1rem;
    font-weight: 900;
}

.account-delete-dialog h2 {
    margin: 0 0 10px;
    color: var(--ccerna);
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    line-height: 1.15;
    letter-spacing: -.025em;
}

.account-delete-dialog p {
    margin: 0;
    color: var(--cseda-text);
    font-size: .9rem;
    line-height: 1.6;
}

.account-delete-dialog__actions {
    display: flex;
    margin-top: 26px;
    padding-top: 20px;
    justify-content: flex-end;
    gap: 10px;
    border-top: 1px solid var(--cseda-linka);
}

.account-delete-dialog__cancel,
.account-delete-dialog__confirm {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 7px;
    cursor: pointer;
    font-size: .77rem;
    font-weight: 800;
}

.account-delete-dialog__cancel {
    color: var(--cseda-text);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka);
}

.account-delete-dialog__confirm {
    color: var(--cbila);
    background: var(--coranzova-tmava);
    border: 1px solid var(--coranzova-tmava);
}

.account-delete-dialog__cancel:hover { background: var(--cseda-svetla); }
.account-delete-dialog__confirm:hover { box-shadow: 0 8px 22px rgba(var(--rgb-oranzova), .18); }

.account-global-flash {
    margin-top: 18px;
    padding: 13px 16px;
    border-radius: 9px;
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.5;
}

.account-global-flash--success {
    color: var(--czelena);
    background: rgba(var(--rgb-zelena-svetla), .08);
    border: 1px solid rgba(var(--rgb-zelena-svetla), .24);
}

@media (max-width: 620px) {
    .account-page-titlebar {
        align-items: flex-start;
        gap: 14px;
    }

    .account-logout-button {
        min-height: 38px;
        padding: 8px 10px;
    }

    .account-logout-button span:last-child {
        display: none;
    }

    .account-delete-zone {
        padding: 19px;
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .account-delete-button {
        width: 100%;
    }

    .account-delete-dialog__inner {
        padding: 24px 20px 20px;
    }

    .account-delete-dialog__actions {
        flex-direction: column-reverse;
    }

    .account-delete-dialog__cancel,
    .account-delete-dialog__confirm {
        width: 100%;
    }
}

/* ========================================================================== */
/* PRABOS - KATALOG / FILTRY / POROVNANI                                      */
/* ========================================================================== */
.page-catalog .catalog-page-section { padding-top: 18px; padding-bottom: 54px; }
.catalog-page { width: 100%; }
.catalog-heading { margin-bottom: 22px; }
.catalog-heading h1 { margin: 0 0 7px; font-size: clamp(1.8rem, 3vw, 2.65rem); letter-spacing: -.035em; text-transform: uppercase; }
.catalog-heading__annotation { max-width: 760px; color: var(--cseda-text); font-size: .96rem; line-height: 1.55; }
.catalog-heading__annotation p { margin: 0 0 5px; }

.catalog-popular { margin-bottom: 18px; padding: 16px 18px 18px; border: 1px solid var(--cseda-linka); border-radius: 6px; background: var(--cbila); }
.catalog-popular h2 { margin: 0 0 13px; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.catalog-popular__rail { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.catalog-popular__item { display: flex; min-width: 0; min-height: 86px; align-items: center; gap: 11px; padding: 12px; color: var(--ink); border: 1px solid var(--cseda-linka); border-radius: 5px; background: var(--cbila); text-decoration: none; transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.catalog-popular__item:hover, .catalog-popular__item:focus-visible { border-color: var(--coranzova); box-shadow: 0 8px 24px rgba(var(--rgb-cerna), .08); transform: translateY(-1px); }
.catalog-popular__item.is-selected { border-color: var(--coranzova); background: var(--c-f8f5ee); }
.catalog-popular__icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; color: var(--coranzova-tmava); border-radius: 50%; font-size: 1.2rem; font-weight: 900; }
.catalog-popular__icon img { width: 40px; height: 40px; object-fit: contain; }
.catalog-popular__copy { display: block; min-width: 0; }
.catalog-popular__copy strong, .catalog-popular__copy small { display: block; }
.catalog-popular__copy strong { margin-bottom: 3px; font-size: .78rem; line-height: 1.25; }
.catalog-popular__copy small { color: var(--cseda-text); font-size: .68rem; line-height: 1.35; }

.catalog-toolbar { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 0 2px; }
.catalog-toolbar__count { font-size: .86rem; }
.catalog-sort { display: flex; align-items: center; gap: 10px; color: var(--cseda-text); font-size: .8rem; }
.catalog-sort select { min-width: 210px; min-height: 42px; padding: 8px 36px 8px 12px; color: var(--ink); border: 1px solid var(--cseda-linka); border-radius: 5px; background: var(--cbila); }

.catalog-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); align-items: start; gap: 16px; }
.catalog-filters { min-width: 0; border: 1px solid var(--cseda-linka); border-radius: 5px; background: var(--cbila); }
.catalog-filters form { margin: 0; }
.catalog-filters__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 14px 10px; border-bottom: 1px solid var(--cseda-linka); }
.catalog-filters__head strong { font-size: .76rem; text-transform: uppercase; }
.catalog-filters__head a, .catalog-filters__reset { color: var(--cseda-text); font-size: .7rem; }
.catalog-filter-group { min-width: 0; margin: 0; padding: 13px 14px 14px; border: 0; border-bottom: 1px solid var(--cseda-linka); }
.catalog-filter-group legend { width: 100%; margin: 0 0 8px; padding: 0; color: var(--ink); font-size: .74rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.catalog-filter-options { display: grid; gap: 7px; }
.catalog-filter-option { display: flex; min-width: 0; align-items: center; gap: 8px; cursor: pointer; color: var(--ink); font-size: .75rem; line-height: 1.25; }
.catalog-filter-option input { flex: 0 0 auto; width: 15px; height: 15px; margin: 0; accent-color: var(--ink); }
.catalog-filter-option__name { min-width: 0; }
.catalog-filter-option small { margin-left: auto; color: var(--cseda-text); font-size: .68rem; white-space: nowrap; }
.catalog-filter-option--extra { display: none; }
.catalog-filter-group.is-expanded .catalog-filter-option--extra { display: flex; }
.catalog-filter-more { margin: 10px 0 0 23px; padding: 0; color: var(--cseda-text); border: 0; background: none; cursor: pointer; font-size: .7rem; text-decoration: underline; text-underline-offset: .18em; }
.catalog-filter-group--colors .catalog-filter-options { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-filter-group--colors .catalog-filter-option { position: relative; width: 25px; height: 25px; gap: 0; }
.catalog-filter-group--colors .catalog-filter-option input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.catalog-filter-group--colors .catalog-filter-option__name, .catalog-filter-group--colors .catalog-filter-option small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.catalog-color-swatch { display: block; width: 24px; height: 24px; border: 1px solid rgba(var(--rgb-cerna), .18); border-radius: 50%; background: var(--swatch); box-shadow: inset 0 0 0 2px var(--cbila); }
.catalog-filter-group--colors .catalog-filter-option.is-selected .catalog-color-swatch,
.catalog-filter-group--colors .catalog-filter-option:has(input:checked) .catalog-color-swatch { outline: 2px solid var(--ink); outline-offset: 2px; }
.catalog-filters__submit { display: flex; width: calc(100% - 28px); min-height: 42px; align-items: center; justify-content: center; gap: 5px; margin: 14px; padding: 9px 12px; color: var(--cbila); border: 0; border-radius: 3px; background: var(--ink); cursor: pointer; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.catalog-filters__reset { display: block; margin: -5px 14px 14px; text-align: center; }

.catalog-results { min-width: 0; }

/* SMART STICKY - nativni fallback. JS u vysokeho bloku dynamicky meni top. */
@media (min-width: 861px) {
    .page-catalog .catalog-results {
        position: sticky;
        top: 78px;
        align-self: start;
    }
}

.catalog-help { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; min-height: 72px; margin-bottom: 12px; padding: 12px 16px; border: 1px solid rgba(var(--rgb-oranzova), .42); border-radius: 5px; background: var(--c-f8f5ee); }
.catalog-help__icon { display: grid; width: 38px; height: 38px; place-items: center; color: var(--coranzova-tmava); border: 2px solid var(--coranzova); border-radius: 50%; font-size: 1rem; font-weight: 900; }
.catalog-help strong { display: block; margin-bottom: 2px; font-size: .82rem; }
.catalog-help p { margin: 0; color: var(--cseda-text); font-size: .74rem; }
.catalog-help a { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 18px; color: var(--cbila); border-radius: 4px; background: var(--coranzova); font-size: .7rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.catalog-help a:hover { background: var(--coranzova-tmava); }

.catalog-active-filters { display: flex; align-items: center; gap: 10px; min-height: 44px; margin-bottom: 10px; padding: 7px 0; border-bottom: 1px solid var(--cseda-linka); font-size: .72rem; }
.catalog-active-filters > strong { flex: 0 0 auto; text-transform: uppercase; }
.catalog-active-filters__chips { display: flex; flex: 1 1 auto; flex-wrap: wrap; gap: 6px; }
.catalog-filter-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid var(--cseda-linka); border-radius: 18px; background: var(--cbila); text-decoration: none; }
.catalog-filter-chip span { font-size: 1rem; line-height: .8; }
.catalog-active-filters__clear { flex: 0 0 auto; color: var(--cseda-text); }

.catalog-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--cseda-linka); border-left: 1px solid var(--cseda-linka); }
.catalog-product-card { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid color-mix(in srgb, var(--ink) 15%, var(--cseda-linka)); border-bottom: 1px solid color-mix(in srgb, var(--ink) 10%, var(--cseda-linka)); background: var(--cbila); box-shadow: inset -1px 0 0 rgba(var(--rgb-cerna), .025); }
.catalog-product-card__media { position: relative; min-height: 205px; padding: 23px 14px 4px; }
.catalog-product-card__media > a { display: flex; height: 178px; align-items: center; justify-content: center; text-decoration: none; }
.catalog-product-card__media img { width: 100%; height: 100%; object-fit: contain; transition: transform 180ms ease; }
.catalog-product-card:hover .catalog-product-card__media img { transform: scale(1.025); }
.catalog-product-card__labels { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-wrap: wrap; gap: 5px; }
.catalog-product-label { display: inline-flex; min-height: 20px; align-items: center; padding: 3px 7px; color: var(--cbila); border-radius: 3px; background: var(--czelena-svetla); font-size: .58rem; font-weight: 800; line-height: 1; text-transform: uppercase; }
.catalog-product-label--1, .catalog-product-label--7 { background: var(--coranzova); }
.catalog-product-label--2 { background: var(--cmodra-focus); }
.catalog-product-label--3, .catalog-product-label--6 { background: var(--czelena-svetla); }
.catalog-product-card__noimage { color: var(--c-c7cac2); font-size: 1rem; font-weight: 900; letter-spacing: .12em; }
.catalog-product-card__body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 225px; padding: 11px 13px 12px; }
.catalog-product-card h3 { margin: 0 0 7px; font-size: .88rem; line-height: 1.22; letter-spacing: -.01em; text-transform: uppercase; }
.catalog-product-card h3 a { text-decoration: none; }
.catalog-product-card__body p { min-height: 52px; margin: 0 0 12px; color: var(--cseda-text); font-size: .68rem; line-height: 1.48; }
.catalog-product-card__price { margin-top: auto; margin-bottom: 9px; font-size: 1.12rem; font-weight: 900; letter-spacing: -.02em; }
.catalog-product-card__detail { display: flex; min-height: 34px; align-items: center; justify-content: center; padding: 7px 9px; color: var(--coranzova-tmava); border: 1px solid var(--coranzova); border-radius: 3px; font-size: .62rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.catalog-product-card__detail:hover { color: var(--cbila); background: var(--coranzova); }
.catalog-product-card__compare { display: flex; align-items: center; gap: 6px; margin-top: 9px; color: var(--cseda-text); cursor: pointer; font-size: .65rem; }
.catalog-product-card__compare input { width: 14px; height: 14px; margin: 0; accent-color: var(--ink); }
.catalog-empty { padding: 32px; border: 1px solid var(--cseda-linka); background: var(--cseda-svetla); text-align: center; }

.catalog-info-panels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 22px;
    overflow: hidden;
    border: 1px solid var(--cseda-linka);
    border-radius: 7px;
    background: var(--cbila);
}
.catalog-info-panel {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 158px;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    padding: 21px 20px 19px;
    border-right: 1px solid var(--cseda-linka);
    background: var(--cbila);
    transition: background-color .22s ease, box-shadow .22s ease;
}
.catalog-info-panel:last-child { border-right: 0; }
.catalog-info-panel:hover {
    background: var(--cseda-svetla);
    box-shadow: inset 0 3px 0 var(--coranzova);
}
.catalog-info-panel strong {
    position: relative;
    display: block;
    margin: 0 0 10px;
    padding-left: 14px;
    color: var(--ink);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: .035em;
    text-transform: uppercase;
}
.catalog-info-panel strong::before {
    content: "";
    position: absolute;
    top: .08em;
    bottom: .08em;
    left: 0;
    width: 4px;
    border-radius: 4px;
    background: var(--coranzova);
}
.catalog-info-panel p {
    margin: 0;
    color: var(--cseda-text);
    font-size: .72rem;
    line-height: 1.55;
}
.catalog-info-panel > a {
    display: inline-flex;
    min-height: 38px;
    align-self: flex-start;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 14px;
    color: var(--coranzova-tmava);
    border: 1px solid var(--coranzova);
    border-radius: 5px;
    background: var(--cbila);
    font-size: .66rem;
    font-weight: 900;
    line-height: 1.1;
    text-decoration: none;
    text-transform: uppercase;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.catalog-info-panel > a::after {
    content: "→";
    display: inline-block;
    font-size: .9rem;
    line-height: 1;
    transition: transform .2s ease;
}
.catalog-info-panel > a:hover,
.catalog-info-panel > a:focus-visible {
    color: var(--cbila);
    border-color: var(--coranzova);
    background: var(--coranzova);
    box-shadow: 0 7px 18px rgba(var(--rgb-oranzova), .18);
    transform: translateY(-1px);
}
.catalog-info-panel > a:hover::after,
.catalog-info-panel > a:focus-visible::after { transform: translateX(3px); }
.catalog-info-panel > a:focus-visible { outline: 2px solid var(--cmodra-focus); outline-offset: 2px; }
.catalog-info-panel > a [data-compare-count] {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border-radius: 10px;
    background: var(--cseda-svetla);
    color: var(--ink);
    font-size: .62rem;
    line-height: 1;
}
.catalog-info-panel > a:hover [data-compare-count],
.catalog-info-panel > a:focus-visible [data-compare-count] {
    background: rgba(var(--rgb-bila), .2);
    color: var(--cbila);
}
.catalog-info-panel > a.is-disabled {
    opacity: .45;
    cursor: default;
    pointer-events: none;
    transform: none;
    box-shadow: none;
}

.catalog-trust { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 24px; border: 1px solid var(--cseda-linka); }
.catalog-trust__item { display: grid; min-width: 0; min-height: 88px; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 9px; padding: 14px 12px; color: var(--ink); border: 0; border-right: 1px solid var(--cseda-linka); background: var(--cbila); cursor: pointer; text-align: left; }
.catalog-trust__item:last-child { border-right: 0; }
.catalog-trust__item:hover { background: var(--cseda-svetla); }
.catalog-trust__icon { display: grid; width: 34px; height: 34px; place-items: center; color: var(--ink); }
.catalog-trust__icon svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.catalog-trust__item strong, .catalog-trust__item small { display: block; }
.catalog-trust__item strong { margin-bottom: 2px; font-size: .69rem; text-transform: uppercase; }
.catalog-trust__item small { color: var(--cseda-text); font-size: .62rem; line-height: 1.35; }
.catalog-category-text { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--cseda-linka); color: var(--cseda-text); font-size: .9rem; }

.compare-badge { position: absolute; top: -3px; right: -4px; display: inline-flex; min-width: 17px; height: 17px; align-items: center; justify-content: center; padding: 0 4px; color: var(--cbila); border: 2px solid var(--cbila); border-radius: 999px; background: var(--coranzova); font-size: .56rem; font-weight: 900; line-height: 1; }
.compare-badge[hidden] { display: none !important; }

.page-compare .section { padding-bottom: 58px; }
.page-compare .section > h1 { margin-bottom: 10px; font-size: clamp(1.9rem, 3.5vw, 2.9rem); letter-spacing: -.04em; }
.page-compare .section > h1 + p, .page-compare .section > h1 + div { max-width: 760px; }
.compare-page { width: 100%; margin-top: 22px; }
.compare-empty { max-width: 720px; padding: 34px; border: 1px solid var(--cseda-linka); border-radius: 6px; background: var(--cseda-svetla); }
.compare-empty h2 { margin-bottom: 10px; font-size: 1.5rem; }
.compare-empty p { margin: 0 0 20px; color: var(--cseda-text); }
.compare-primary-button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 9px 17px; color: var(--cbila); border-radius: 4px; background: var(--coranzova); font-size: .72rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.compare-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 14px; font-size: .76rem; }
.compare-actions button { padding: 0; color: var(--cseda-text); border: 0; background: none; cursor: pointer; text-decoration: underline; }
.compare-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--cseda-linka); }
.compare-table { width: 100%; min-width: 780px; border-collapse: collapse; background: var(--cbila); table-layout: fixed; }
.compare-table th, .compare-table td { padding: 13px 14px; border-right: 1px solid var(--cseda-linka); border-bottom: 1px solid var(--cseda-linka); vertical-align: top; text-align: left; }
.compare-table tr > *:last-child { border-right: 0; }
.compare-table tbody tr:last-child > * { border-bottom: 0; }
.compare-table__property, .compare-table tbody th { width: 190px; background: var(--cseda-svetla); font-size: .73rem; font-weight: 800; text-transform: uppercase; }
.compare-table__product { padding: 0 !important; background: var(--cbila); }
.compare-product-head { display: flex; min-height: 300px; flex-direction: column; padding: 14px; }
.compare-product-head__image { display: flex; height: 160px; align-items: center; justify-content: center; margin-bottom: 10px; }
.compare-product-head__image img { width: 100%; height: 100%; object-fit: contain; }
.compare-product-head strong { margin-bottom: 8px; font-size: .84rem; text-transform: uppercase; }
.compare-product-head__price { margin-bottom: 10px; font-size: 1.08rem; font-weight: 900; }
.compare-product-head__detail { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; margin-top: auto; padding: 7px 10px; color: var(--coranzova-tmava); border: 1px solid var(--coranzova); border-radius: 3px; font-size: .62rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.compare-product-head__remove { align-self: center; margin-top: 8px; color: var(--cseda-text); font-size: .65rem; }
.compare-table tbody td { color: var(--ink); font-size: .76rem; line-height: 1.45; }
.compare-table__price-row td { font-size: .95rem; font-weight: 900; }

@media (max-width: 1120px) {
    .catalog-popular__rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalog-trust__item:nth-child(3) { border-right: 0; }
    .catalog-trust__item:nth-child(n+4) { border-top: 1px solid var(--cseda-linka); }
}

@media (max-width: 860px) {
    .catalog-layout { grid-template-columns: 1fr; }
    .catalog-filters { order: 0; }
    .catalog-results { order: 1; }
    .catalog-toolbar { align-items: flex-start; }
    .catalog-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-info-panels { grid-template-columns: 1fr; }
    .catalog-info-panel { min-height: 0; border-right: 0; border-bottom: 1px solid var(--cseda-linka); }
    .catalog-info-panel:last-child { border-bottom: 0; }
    .catalog-help { grid-template-columns: auto minmax(0, 1fr); }
    .catalog-help a { grid-column: 1 / -1; }
    .compare-table__property, .compare-table tbody th { width: 150px; }
}

@media (max-width: 600px) {
    .page-catalog .catalog-page-section { padding-top: 12px; }
    .catalog-heading h1 { font-size: 1.65rem; }
    .catalog-popular { padding-inline: 12px; }
    .catalog-popular__rail { display: flex; overflow-x: auto; padding-bottom: 3px; scroll-snap-type: x proximity; }
    .catalog-popular__item { flex: 0 0 220px; scroll-snap-align: start; }
    .catalog-toolbar { flex-direction: column; gap: 8px; }
    .catalog-sort { width: 100%; justify-content: space-between; }
    .catalog-sort select { flex: 1 1 auto; min-width: 0; }
    .catalog-active-filters { align-items: flex-start; flex-wrap: wrap; }
    .catalog-active-filters__clear { width: 100%; }
    .catalog-product-grid { grid-template-columns: 1fr; }
    .catalog-product-card__media { min-height: 240px; }
    .catalog-product-card__media > a { height: 220px; }
    .catalog-product-card__body p { min-height: 0; }
    .catalog-trust { grid-template-columns: 1fr; }
    .catalog-trust__item, .catalog-trust__item:nth-child(3) { border-right: 0; border-top: 1px solid var(--cseda-linka); }
    .catalog-trust__item:first-child { border-top: 0; }
    .compare-empty { padding: 23px 18px; }
    .compare-actions { align-items: flex-start; flex-direction: column; }
}

/* ========================================================================== 
   KATALOG 2026-08-24 - filtry, reveal, strankovani a AJAX dalsi produkty
   ========================================================================== */
.catalog-filter-group {
    padding: 18px 14px 16px;
}

.catalog-filter-group legend {
    box-sizing: border-box;
    margin: 0 0 13px;
    padding: 10px 0 0;
}

.catalog-filter-group legend > span {
    position: relative;
    display: flex;
    min-height: 32px;
    align-items: center;
    padding: 7px 10px 7px 13px;
    border-radius: 5px;
    background: var(--cseda-svetla);
    font-weight: 900;
    letter-spacing: .045em;
}

.catalog-filter-group legend > span::before {
    position: absolute;
    top: 7px;
    bottom: 7px;
    left: 0;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: var(--coranzova);
    content: "";
}

.catalog-filter-options__extra {
    display: grid;
    max-height: 0;
    gap: 7px;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: max-height .58s cubic-bezier(.22,.72,.23,1), opacity .34s ease, transform .46s cubic-bezier(.22,.72,.23,1);
    will-change: max-height, opacity, transform;
}

.catalog-filter-group.is-expanded .catalog-filter-options__extra {
    max-height: 1200px;
    opacity: 1;
    transform: translateY(0);
}

.catalog-filter-more {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    gap: 9px;
    margin: 13px 0 0;
    padding: 8px 13px;
    color: var(--ink);
    border: 1px solid var(--cseda-linka);
    border-radius: 999px;
    background: var(--cbila);
    box-shadow: 0 1px 0 rgba(var(--rgb-cerna), .03);
    cursor: pointer;
    font-size: .71rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.catalog-filter-more i {
    display: block;
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform .28s cubic-bezier(.2,.7,.2,1), margin .28s ease;
}

.catalog-filter-more:active {
    transform: scale(.98);
}

.catalog-filter-more[aria-expanded="true"] i {
    margin-top: 3px;
    transform: rotate(225deg);
}

.catalog-page.is-reveal-ready .catalog-reveal {
    opacity: 0;
    transition: opacity .55s ease var(--reveal-delay, 0ms), transform .62s cubic-bezier(.2,.7,.2,1) var(--reveal-delay, 0ms);
    will-change: opacity, transform;
}

.catalog-page.is-reveal-ready .catalog-reveal--filter {
    transform: translate3d(-10px, 8px, 0);
}

.catalog-page.is-reveal-ready .catalog-reveal--product {
    transform: translate3d(0, 20px, 0);
}

.catalog-page.is-reveal-ready .catalog-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.catalog-pagination-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    margin: 22px 0 4px;
}

.catalog-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.catalog-pagination a,
.catalog-pagination__dots {
    display: inline-flex;
    min-width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    color: var(--ink);
    border: 1px solid var(--cseda-linka);
    border-radius: 5px;
    background: var(--cbila);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.catalog-pagination a.is-current {
    color: var(--cbila);
    border-color: var(--ink);
    background: var(--ink);
}

.catalog-pagination__arrow {
    font-size: 1.05rem !important;
}

.catalog-pagination__dots {
    min-width: 22px;
    padding: 0 2px;
    color: var(--cseda-text);
    border-color: transparent;
    background: transparent;
}

.catalog-load-more {
    display: inline-flex;
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    color: var(--cbila);
    border: 1px solid var(--ink);
    border-radius: 4px;
    background: var(--ink);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.catalog-load-more i {
    display: block;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
}

.catalog-load-more.is-loading i {
    width: 15px;
    height: 15px;
    margin: 0;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: catalog-load-spin .75s linear infinite;
    transform: none;
}

@keyframes catalog-load-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-filter-options__extra,
    .catalog-filter-more,
    .catalog-filter-more i,
    .catalog-page.is-reveal-ready .catalog-reveal,
    .catalog-load-more,
    .catalog-pagination a {
        transition: none !important;
        animation: none !important;
    }

    .catalog-page.is-reveal-ready .catalog-reveal {
        opacity: 1;
        transform: none;
    }
}

.catalog-filter-options__extra .catalog-filter-option {
    opacity: 0;
    transform: translateY(-5px);
    transition: opacity .28s ease, transform .34s ease;
}
.catalog-filter-group.is-expanded .catalog-filter-options__extra .catalog-filter-option { opacity: 1; transform: translateY(0); }
.catalog-filter-group.is-expanded .catalog-filter-options__extra .catalog-filter-option:nth-child(1) { transition-delay: .06s; }
.catalog-filter-group.is-expanded .catalog-filter-options__extra .catalog-filter-option:nth-child(2) { transition-delay: .09s; }
.catalog-filter-group.is-expanded .catalog-filter-options__extra .catalog-filter-option:nth-child(3) { transition-delay: .12s; }
.catalog-filter-group.is-expanded .catalog-filter-options__extra .catalog-filter-option:nth-child(4) { transition-delay: .15s; }
.catalog-filter-group.is-expanded .catalog-filter-options__extra .catalog-filter-option:nth-child(n+5) { transition-delay: .18s; }

/* ========================================================================== 
   KATALOG - filtr velikosti z variant produktu
   ========================================================================== */
.catalog-filter-group--sizes legend > span {
    justify-content: space-between;
    gap: 10px;
}

.catalog-filter-group--sizes legend > span > strong {
    min-width: 0;
    font: inherit;
}

.catalog-filter-group--sizes legend > span > a {
    flex: 0 0 auto;
    color: var(--cseda-text);
    font-size: .67rem;
    font-weight: 600;
    letter-spacing: 0;
    text-decoration: underline;
    text-transform: none;
    text-underline-offset: .18em;
}

.catalog-size-options {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.catalog-size-option {
    display: flex;
    min-width: 0;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: 7px 5px;
    color: var(--ink);
    border: 1px solid var(--cseda-linka);
    border-radius: 4px;
    background: var(--cbila);
    box-shadow: 0 1px 2px rgba(var(--rgb-cerna), .035);
    font-size: .76rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.catalog-size-option:hover,
.catalog-size-option:focus-visible {
    color: var(--coranzova-tmava);
    border-color: var(--coranzova);
}

.catalog-size-option.is-selected {
    color: var(--cbila);
    border-color: var(--coranzova);
    background: var(--coranzova);
    box-shadow: 0 5px 14px rgba(var(--rgb-oranzova), .22);
}


/* KATALOG - velikosti: rozbalovaci cast */
.catalog-filter-group--sizes .catalog-filter-options__extra {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
}

.catalog-filter-group--sizes .catalog-filter-more {
    margin-top: 12px;
}

/* ========================================================================== 
   KATALOG - spolehlive predely mezi produkty
   Pouzivame 1px grid gap misto border-right na kartach. Tím se predely
   neztraci pri prepocitavani fractional sirky CSS gridu pri resize okna.
   ========================================================================== */
.catalog-product-grid {
    gap: 1px;
    border: 1px solid var(--cseda-linka);
    background: var(--cseda-linka);
}

.catalog-product-card {
    border: 0;
    background: var(--cbila);
    box-shadow: none;
}

/* ========================================================================== 
   KATALOG - oprava mizejicich svislych predelu pri resize
   Finalni reveal nesmi zustat na translate3d(0,0,0), protoze GPU vrstva na
   fractional sirce CSS gridu muze 1px predel pri resize opticky zahazovat.
   Po dokonceni reveal proto vracime kartu na normalni rasterizaci (transform:none)
   a predely kreslime jako stabilni overlay primo na karte.
   ========================================================================== */
.catalog-page.is-reveal-ready .catalog-reveal.is-visible {
    transform: none;
    will-change: auto;
}

.catalog-product-grid {
    gap: 0;
    border: 1px solid rgba(var(--rgb-cerna), .14);
    background: var(--cbila);
}

.catalog-product-card {
    position: relative;
    border: 0;
    background: var(--cbila);
    box-shadow: none;
}

.catalog-product-card::after {
    content: "";
    position: absolute;
    z-index: 20;
    top: 0;
    right: 0;
    bottom: 0;
    width: 1px;
    background: rgba(var(--rgb-cerna), .14);
    pointer-events: none;
}

.catalog-product-card::before {
    content: "";
    position: absolute;
    z-index: 20;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(var(--rgb-cerna), .11);
    pointer-events: none;
}

@media (min-width: 1181px) {
    .catalog-product-card:nth-child(4n)::after { display: none; }
}

@media (min-width: 761px) and (max-width: 1180px) {
    .catalog-product-card:nth-child(3n)::after { display: none; }
}

@media (min-width: 521px) and (max-width: 760px) {
    .catalog-product-card:nth-child(2n)::after { display: none; }
}

@media (max-width: 520px) {
    .catalog-product-card::after { display: none; }
}

/* Finalni override: pravou linku kreslime na KAZDE karte. Nth-child podle poctu
   sloupcu se pri breakpointu/resize muze minout s aktualnim gridem; na krajni
   karte se linka pouze prekryje s rameckem celeho gridu, coz je v poradku. */
.catalog-product-card::after {
    display: block !important;
    width: 1px;
    background: rgba(var(--rgb-cerna), .18);
}


/* ==========================================================================
   PRABOS - JEDNOTNE HORNI ODSAZENI PODSTRANEK / MOBIL
   Mobilni podstranky zacinaji 22 px pod drobeckovou navigaci. Homepage se
   nemeni. Spodni odsazeni jednotlivych sekci zustava puvodni.
   ========================================================================== */
body:not(.page-homepage) #main-content > .section,
body:not(.page-homepage) #main-content > .site-shell.section,
body:not(.page-homepage) .account-page-section,
body:not(.page-homepage) .catalog-page-section {
    padding-top: 22px;
}

body:not(.page-homepage) .content-page {
    padding-top: 22px;
}

body:not(.page-homepage) .search-results-page__inner {
    padding-top: 22px;
}

/* ========================================================================== */
/* KATALOG - ROZCESTNIK TYP_PRODUKTY V LEVEM FILTRU                         */
/* Sipka je samostatne tlacitko: rozbaluje podkategorie bez reloadu.          */
/* ========================================================================== */
.catalog-filter-group--types {
    padding-bottom: 17px;
}

.catalog-type-nav {
    display: grid;
    gap: 5px;
}

.catalog-type-branch,
.catalog-type-child-branch {
    min-width: 0;
}

.catalog-type-row {
    min-width: 0;
}

.catalog-type-row.has-children {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: stretch;
    gap: 4px;
}

.catalog-type-link {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 40px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    color: var(--ink);
    border: 1px solid transparent;
    border-radius: 5px;
    background: transparent;
    font-size: .73rem;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

.catalog-type-link span {
    min-width: 0;
}

.catalog-type-toggle {
    position: relative;
    display: grid;
    min-width: 34px;
    min-height: 36px;
    place-items: center;
    padding: 0;
    color: var(--cseda-text2);
    border: 1px solid transparent;
    border-radius: 5px;
    background: rgba(var(--rgb-cerna), .025);
    cursor: pointer;
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}

.catalog-type-toggle i {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 1.7px solid currentColor;
    border-bottom: 1.7px solid currentColor;
    transform: translateX(-2px) rotate(-45deg);
    transition: transform .3s cubic-bezier(.2,.72,.2,1);
}

.catalog-type-toggle[aria-expanded="true"] i {
    transform: translateY(-2px) rotate(45deg);
}

.catalog-type-link--all {
    margin-bottom: 4px;
    color: var(--cseda-text);
    border-color: var(--cseda-linka);
    background: var(--cbila);
    font-weight: 800;
}

.catalog-type-link--root {
    background: rgba(var(--rgb-cerna), .025);
    font-weight: 850;
}

.catalog-type-link--root.is-branch-active {
    color: var(--czelena);
    background: rgba(55, 85, 23, .07);
}

.catalog-type-link.is-active {
    color: var(--cbila);
    border-color: var(--coranzova);
    background: var(--coranzova);
}

.catalog-type-link.is-active + .catalog-type-toggle {
    color: var(--cbila);
    border-color: var(--coranzova);
    background: var(--coranzova);
}

/* Plynule rozbaleni na skutecnou vysku bez JS vypoctu max-height. */
.catalog-type-panel {
    display: grid;
    min-width: 0;
    grid-template-rows: 0fr;
    opacity: 0;
    transition: grid-template-rows .36s cubic-bezier(.2,.72,.2,1), opacity .22s ease;
}

.catalog-type-panel.is-open {
    grid-template-rows: 1fr;
    opacity: 1;
}

.catalog-type-panel__inner {
    min-height: 0;
    overflow: hidden;
}

.catalog-type-children {
    position: relative;
    display: grid;
    gap: 3px;
    margin: 4px 0 7px 9px;
    padding-left: 10px;
}

.catalog-type-children::before {
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 0;
    width: 1px;
    background: var(--cseda-linka);
    content: "";
}

.catalog-type-row--child.has-children {
    grid-template-columns: minmax(0, 1fr) 30px;
}

.catalog-type-link--child {
    min-height: 32px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: .7rem;
    font-weight: 700;
}

.catalog-type-toggle--child {
    min-width: 30px;
    min-height: 32px;
    background: transparent;
}

.catalog-type-link--child.is-branch-active:not(.is-active) {
    color: var(--coranzova-tmava);
    background: rgba(var(--rgb-oranzova), .055);
}

.catalog-type-grandchildren {
    display: grid;
    gap: 2px;
    margin: 2px 0 5px 11px;
}

.catalog-type-link--grandchild {
    min-height: 29px;
    padding: 5px 8px;
    color: var(--cseda-text);
    font-size: .67rem;
    font-weight: 650;
}

@media (prefers-reduced-motion: reduce) {
    .catalog-type-panel,
    .catalog-type-toggle i {
        transition: none;
    }
}

@media (hover: hover) and (pointer: fine) {
    .catalog-type-link:hover {
        color: var(--coranzova-tmava);
        border-color: rgba(var(--rgb-oranzova), .25);
        background: rgba(var(--rgb-oranzova), .06);
        transform: translateX(2px);
    }

    .catalog-type-toggle:hover {
        color: var(--coranzova);
        border-color: rgba(var(--rgb-oranzova), .28);
        background: rgba(var(--rgb-oranzova), .08);
    }

    .catalog-type-toggle:hover i {
        transform: translateX(1px) rotate(-45deg);
    }

    .catalog-type-toggle[aria-expanded="true"]:hover i {
        transform: translateY(1px) rotate(45deg);
    }

    .catalog-type-link.is-active:hover {
        color: var(--cbila);
        border-color: var(--coranzova-tmava);
        background: var(--coranzova-tmava);
    }

    .catalog-type-link.is-active + .catalog-type-toggle:hover {
        color: var(--cbila);
        border-color: var(--coranzova-tmava);
        background: var(--coranzova-tmava);
    }
}


@media (max-width: 860px) {
    .catalog-type-row.has-children {
        grid-template-columns: minmax(0, 1fr) 40px;
    }

    .catalog-type-link {
        min-height: 40px;
        padding: 9px 10px;
        font-size: .76rem;
    }

    .catalog-type-toggle {
        min-width: 40px;
        min-height: 40px;
    }

    .catalog-type-row--child.has-children {
        grid-template-columns: minmax(0, 1fr) 36px;
    }

    .catalog-type-link--child {
        min-height: 36px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: .72rem;
    }

    .catalog-type-toggle--child {
        min-width: 36px;
        min-height: 36px;
    }

    .catalog-type-link--grandchild {
        min-height: 34px;
        padding: 7px 8px;
        font-size: .7rem;
    }
}

/* ========================================================================== */
/* PRABOS 2026 - DETAIL PRODUKTU + MINI KOSIK                                 */
/* ========================================================================== */
.product-page-section { padding-top: 30px; padding-bottom: 72px; }
.product-detail { --product-radius: 6px; min-width: 0; }
.product-detail__hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); gap: clamp(34px, 5vw, 76px); align-items: start; }

.product-gallery { min-width: 0; }
.product-gallery__main { position: relative; display: grid; min-height: 480px; place-items: center; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: var(--product-radius); background: var(--cbila); }
.product-gallery__main img { display: block; width: 100%; height: 100%; max-height: 650px; object-fit: contain; padding: clamp(18px, 3vw, 42px); transition: transform .35s ease; }
.product-gallery__main:hover img { transform: scale(1.025); }
.product-gallery__zoom { position: absolute; right: 18px; bottom: 18px; width: 42px; height: 42px; border: 1px solid var(--cseda-linka); border-radius: 50%; background: var(--cbila); box-shadow: 0 5px 18px rgba(var(--rgb-cerna), .07); }
.product-gallery__zoom::before { content: ""; position: absolute; top: 11px; left: 11px; width: 13px; height: 13px; border: 2px solid var(--ink); border-radius: 50%; }
.product-gallery__zoom::after { content: ""; position: absolute; top: 25px; left: 25px; width: 9px; height: 2px; background: var(--ink); transform: rotate(45deg); transform-origin: left center; }
.product-gallery__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 10px; }
.product-gallery__thumbs a { display: grid; aspect-ratio: 1 / 1; place-items: center; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: 5px; background: var(--cbila); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.product-gallery__thumbs a:hover { border-color: var(--coranzova); transform: translateY(-2px); box-shadow: 0 7px 18px rgba(var(--rgb-cerna), .07); }
.product-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; padding: 8px; }
.product-gallery__empty { display: grid; min-height: 480px; place-items: center; align-content: center; gap: 8px; border: 1px solid var(--cseda-linka); border-radius: var(--product-radius); color: var(--cseda-text); background: var(--cseda-svetla); }
.product-gallery__empty strong { color: var(--ink); font-size: 1.4rem; letter-spacing: .08em; }

.product-summary { min-width: 0; padding-top: 4px; }
.product-summary__eyebrow { display: inline-flex; margin-bottom: 12px; color: var(--czelena); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.product-summary h1 { margin: 0 0 14px; color: var(--ink); font-size: clamp(2rem, 3.5vw, 3.25rem); line-height: 1.02; letter-spacing: -.035em; }
.product-summary__lead { max-width: 650px; margin: 0 0 22px; color: var(--cseda-text); font-size: .96rem; line-height: 1.65; }
.product-summary__price { margin-bottom: 24px; color: var(--ink); font-size: clamp(1.65rem, 2.2vw, 2.15rem); font-weight: 900; letter-spacing: -.03em; }

.product-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 28px; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: var(--product-radius); background: var(--cseda-linka); }
.product-feature { display: grid; min-height: 78px; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 12px; padding: 13px 15px; background: var(--cbila); }
.product-feature__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--cseda-svetla); }
.product-feature__icon img { display: block; max-width: 28px; max-height: 28px; object-fit: contain; }
.product-feature__icon i { color: var(--czelena); font-size: 1.15rem; font-style: normal; font-weight: 900; }
.product-feature strong { font-size: .78rem; line-height: 1.35; }

.product-colors, .product-sizes { margin-top: 24px; }
.product-selector-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.product-selector-heading > strong { color: var(--ink); font-size: .82rem; text-transform: uppercase; }
.product-size-chart-link { padding: 0; color: var(--cseda-text); border: 0; background: none; cursor: pointer; font: inherit; font-size: .72rem; text-decoration: underline; text-underline-offset: 3px; transition: color .18s ease; }
.product-size-chart-link:hover { color: var(--coranzova); }
.product-color-options { display: flex; flex-wrap: wrap; gap: 10px; }
.product-color-option { position: relative; display: grid; width: 88px; height: 76px; place-items: center; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: 5px; background: var(--cbila); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.product-color-option:hover { border-color: var(--coranzova); transform: translateY(-2px); box-shadow: 0 7px 18px rgba(var(--rgb-cerna), .07); }
.product-color-option.is-selected { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.product-color-option.is-selected::after { content: "✓"; position: absolute; top: 5px; right: 6px; display: grid; width: 18px; height: 18px; place-items: center; color: var(--cbila); border-radius: 50%; background: var(--coranzova); font-size: .62rem; font-weight: 900; }
.product-color-option img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 7px; }
.product-color-option__swatch { display: block; width: 42px; height: 42px; border: 1px solid rgba(var(--rgb-cerna), .16); border-radius: 50%; background: var(--product-color); box-shadow: inset 0 0 0 3px var(--cbila); }
.product-color-option__fallback { color: var(--cseda-text); font-size: .65rem; font-weight: 800; }

.product-size-options { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.product-size-option { position: relative; min-height: 48px; padding: 8px 6px; color: var(--ink); border: 1px solid var(--cseda-linka); border-radius: 4px; background: var(--cbila); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease; }
.product-size-option:hover:not(:disabled) { border-color: var(--coranzova); transform: translateY(-1px); box-shadow: 0 5px 12px rgba(var(--rgb-cerna), .06); }
.product-size-option.is-selected { color: var(--cbila); border-color: var(--coranzova); background: var(--coranzova); }
.product-size-option:disabled { color: var(--cseda-text2); cursor: not-allowed; background: var(--cseda-svetla); opacity: .58; }
.product-size-option small { display: none; }
.product-size-option:disabled::after { content: ""; position: absolute; top: 50%; left: 10%; width: 80%; height: 1px; background: var(--cseda-text2); transform: rotate(-18deg); }
.product-selected-meta { display: flex; min-height: 24px; align-items: center; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; color: var(--cseda-text); font-size: .72rem; }
.product-selected-meta [data-product-stock] { color: var(--czelena); font-weight: 700; }

.product-buy-row { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 10px; margin-top: 18px; }
.product-quantity { display: grid; grid-template-columns: 34px minmax(0, 1fr) 34px; min-height: 52px; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: 4px; background: var(--cbila); }
.product-quantity button { padding: 0; color: var(--ink); border: 0; background: var(--cseda-svetla); cursor: pointer; font-size: 1.1rem; }
.product-quantity button:hover { background: var(--cseda-linka); }
.product-quantity input { width: 100%; min-width: 0; padding: 0; text-align: center; border: 0; outline: 0; background: var(--cbila); font: inherit; font-weight: 800; -moz-appearance: textfield; }
.product-quantity input::-webkit-outer-spin-button, .product-quantity input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.product-add-cart { display: flex; min-height: 52px; align-items: center; justify-content: center; gap: 13px; padding: 12px 20px; color: var(--cbila); border: 1px solid var(--coranzova); border-radius: 4px; background: var(--coranzova); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 900; letter-spacing: .02em; text-transform: uppercase; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.product-add-cart:hover:not(:disabled) { border-color: var(--coranzova-tmava); background: var(--coranzova-tmava); transform: translateY(-1px); }
.product-add-cart i { font-size: 1rem; font-style: normal; transition: transform .2s ease; }
.product-add-cart:hover i { transform: translateX(3px); }
.product-add-cart:disabled { cursor: not-allowed; opacity: .42; }
.product-add-cart.is-loading i { animation: product-cart-loading .8s linear infinite; }
@keyframes product-cart-loading { to { transform: rotate(360deg); } }

.product-detail__information { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); margin-top: clamp(50px, 7vw, 90px); border: 1px solid var(--cseda-linka); border-radius: var(--product-radius) var(--product-radius) 0 0; background: var(--cbila); }
.product-description-card, .product-quick-card { min-width: 0; padding: clamp(24px, 3vw, 38px); }
.product-description-card { border-right: 1px solid var(--cseda-linka); }
.product-detail__information h2 { position: relative; margin: 0 0 18px; padding-left: 13px; color: var(--ink); font-size: .98rem; letter-spacing: .01em; }
.product-detail__information h2::before { content: ""; position: absolute; top: 2px; bottom: 2px; left: 0; width: 3px; border-radius: 4px; background: var(--coranzova); }
.product-rich-text { color: var(--cseda-text); font-size: .84rem; line-height: 1.72; }
.product-rich-text > :first-child { margin-top: 0; }
.product-rich-text > :last-child { margin-bottom: 0; }
.product-quick-card dl { display: grid; gap: 10px; margin: 0; }
.product-quick-card dl > div { display: grid; grid-template-columns: minmax(105px, .7fr) minmax(0, 1.3fr); gap: 12px; align-items: baseline; }
.product-quick-card dt { color: var(--cseda-text); font-size: .72rem; }
.product-quick-card dd { margin: 0; color: var(--ink); font-size: .76rem; font-weight: 650; line-height: 1.45; }

.product-accordions { border: 1px solid var(--cseda-linka); border-top: 0; border-radius: 0 0 var(--product-radius) var(--product-radius); }
.product-accordion + .product-accordion { border-top: 1px solid var(--cseda-linka); }
.product-accordion__toggle { display: flex; width: 100%; min-height: 54px; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 18px; color: var(--ink); border: 0; background: var(--cbila); cursor: pointer; font: inherit; font-size: .78rem; font-weight: 800; text-align: left; transition: background .18s ease, color .18s ease; }
.product-accordion__toggle:hover { color: var(--coranzova); background: var(--cseda-svetla); }
.product-accordion__toggle i { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.product-accordion__toggle i::before, .product-accordion__toggle i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1.5px; background: currentColor; transition: transform .25s ease; }
.product-accordion__toggle i::before { transform: translate(-50%, -50%); }
.product-accordion__toggle i::after { transform: translate(-50%, -50%) rotate(90deg); }
.product-accordion.is-open .product-accordion__toggle i::after { transform: translate(-50%, -50%) rotate(0); }
.product-accordion__panel { max-height: 0; overflow: hidden; background: var(--cbila); transition: max-height .42s cubic-bezier(.2,.75,.25,1); }
.product-technical-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 34px; padding: 8px 22px 26px; }
.product-technical-row { display: grid; grid-template-columns: minmax(120px, .75fr) minmax(0, 1.25fr); gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--cseda-linka); font-size: .76rem; line-height: 1.45; }
.product-technical-row strong { color: var(--ink); }
.product-technical-row span { color: var(--cseda-text); }
.product-size-table { overflow-x: auto; padding: 12px 22px 28px; }
.product-size-table table { width: 100% !important; min-width: 620px; border-collapse: collapse !important; border: 1px solid var(--cseda-linka) !important; }
.product-size-table th, .product-size-table td { height: auto !important; padding: 10px 12px !important; border: 1px solid var(--cseda-linka) !important; background: var(--cbila) !important; font-size: .75rem; }
.product-size-table th { color: var(--ink); background: var(--cseda-svetla) !important; }
.product-accordion__link-panel { padding: 8px 22px 26px; color: var(--cseda-text); font-size: .8rem; line-height: 1.6; }
.product-accordion__link-panel p { max-width: 780px; margin: 0 0 14px; }
.product-accordion__link-panel a { display: inline-flex; align-items: center; gap: 9px; color: var(--coranzova); font-weight: 800; text-decoration: none; }
.product-accordion__link-panel a:hover span { transform: translateX(3px); }
.product-documents { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 10px 22px 26px; }
.product-document { display: grid; min-width: 0; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; color: var(--ink); border: 1px solid var(--cseda-linka); border-radius: 5px; text-decoration: none; transition: border-color .18s ease, transform .18s ease; }
.product-document:hover { border-color: var(--coranzova); transform: translateY(-1px); }
.product-document > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--cbila); border-radius: 4px; background: var(--czelena); font-size: .62rem; font-weight: 900; }
.product-document strong { overflow: hidden; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.product-document i { color: var(--coranzova); font-size: .7rem; font-style: normal; font-weight: 800; }

.product-made { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); min-height: 220px; margin-top: 24px; overflow: hidden; border-radius: var(--product-radius); background: var(--cseda-svetla); }
.product-made__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 52px); }
.product-made__copy > span { margin-bottom: 8px; color: var(--czelena); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.product-made__copy h2 { margin: 0 0 12px; color: var(--ink); font-size: clamp(1.5rem, 2.2vw, 2rem); }
.product-made__copy p { margin: 0 0 16px; color: var(--cseda-text); font-size: .82rem; line-height: 1.6; }
.product-made__copy a { align-self: flex-start; color: var(--coranzova); font-size: .74rem; font-weight: 800; text-decoration: none; }
.product-made__image { min-height: 220px; }
.product-made__image img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Hlavickovy mini kosik */
.header-cart-menu { position: relative; display: flex; align-items: center; }
.header-cart-menu > .icon-button { position: relative; }
.header-cart-submenu { position: absolute; z-index: 1200; top: calc(100% + 13px); right: -10px; width: min(410px, 92vw); padding-top: 8px; visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-7px); transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s; }
.header-cart-submenu::before { content: ""; position: absolute; top: 0; right: 21px; width: 14px; height: 14px; border-top: 1px solid var(--cseda-linka); border-left: 1px solid var(--cseda-linka); background: var(--cbila); transform: rotate(45deg); }
.header-cart-menu:hover .header-cart-submenu, .header-cart-menu:focus-within .header-cart-submenu, .header-cart-menu.is-open .header-cart-submenu { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); transition-delay: 0s; }
.header-cart-submenu__panel { position: relative; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: 6px; background: var(--cbila); box-shadow: 0 18px 48px rgba(var(--rgb-cerna), .16); }
.mini-cart { color: var(--ink); }
.mini-cart__head { display: flex; min-height: 47px; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 15px; border-bottom: 1px solid var(--cseda-linka); }
.mini-cart__head strong { font-size: .78rem; text-transform: uppercase; }
.mini-cart__head span { display: grid; min-width: 24px; height: 24px; place-items: center; padding: 0 6px; color: var(--cbila); border-radius: 12px; background: var(--coranzova); font-size: .65rem; font-weight: 900; }
.mini-cart__items { max-height: min(55vh, 440px); overflow-y: auto; overscroll-behavior: contain; }
.mini-cart-item { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--cseda-linka); background: var(--cbila); }
.mini-cart-item__image { display: grid; width: 76px; height: 70px; place-items: center; overflow: hidden; border-radius: 4px; background: var(--cseda-svetla); }
.mini-cart-item__image img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 5px; }
.mini-cart-item__image span { color: var(--cseda-text2); font-size: .56rem; font-weight: 900; }
.mini-cart-item__body { min-width: 0; }
.mini-cart-item__name { display: block; margin-bottom: 3px; overflow: hidden; color: var(--ink); font-size: .74rem; font-weight: 800; line-height: 1.3; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.mini-cart-item__name:hover { color: var(--coranzova); }
.mini-cart-item__body > small { display: block; margin-bottom: 4px; color: var(--cseda-text); font-size: .65rem; }
.mini-cart-item__price { display: block; margin-bottom: 8px; font-size: .74rem; }
.mini-cart-item__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mini-cart-qty { display: grid; grid-template-columns: 28px 37px 28px; height: 30px; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: 3px; }
.mini-cart-qty button { padding: 0; color: var(--ink); border: 0; background: var(--cseda-svetla); cursor: pointer; font-size: .85rem; }
.mini-cart-qty input { width: 100%; min-width: 0; padding: 0; text-align: center; border: 0; outline: 0; font: inherit; font-size: .68rem; font-weight: 800; -moz-appearance: textfield; }
.mini-cart-qty input::-webkit-outer-spin-button, .mini-cart-qty input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.mini-cart-item__remove { padding: 3px 0; color: var(--cseda-text); border: 0; background: none; cursor: pointer; font: inherit; font-size: .62rem; text-decoration: underline; text-underline-offset: 2px; }
.mini-cart-item__remove:hover { color: var(--coranzova); }
.mini-cart__foot { padding: 12px 14px; }
.mini-cart__foot > a, .mini-cart__empty > a { display: flex; min-height: 42px; align-items: center; justify-content: center; gap: 9px; color: var(--cbila); border-radius: 4px; background: var(--coranzova); font-size: .69rem; font-weight: 900; text-decoration: none; text-transform: uppercase; transition: background .18s ease; }
.mini-cart__foot > a:hover, .mini-cart__empty > a:hover { background: var(--coranzova-tmava); }
.mini-cart__empty { padding: 20px 16px 16px; text-align: center; }
.mini-cart__empty p { margin: 0 0 15px; color: var(--cseda-text); font-size: .75rem; }

.site-cart-toast { position: fixed; z-index: 20000; top: 50%; left: 50%; display: flex; min-width: min(420px, calc(100vw - 36px)); max-width: 560px; align-items: center; gap: 13px; padding: 17px 20px; color: var(--cbila); border-radius: 7px; background: var(--czelena); box-shadow: 0 18px 55px rgba(var(--rgb-cerna), .26); opacity: 0; pointer-events: none; transform: translate(-50%, -42%) scale(.97); transition: opacity .2s ease, transform .22s ease; }
.site-cart-toast.is-visible { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.site-cart-toast.is-error { background: var(--ccerna2); }
.site-cart-toast__icon { position: relative; flex: 0 0 32px; width: 32px; height: 32px; border: 2px solid rgba(var(--rgb-bila), .9); border-radius: 50%; }
.site-cart-toast__icon::after { content: "✓"; position: absolute; inset: 0; display: grid; place-items: center; font-size: .9rem; font-weight: 900; }
.site-cart-toast.is-error .site-cart-toast__icon::after { content: "!"; }
.site-cart-toast strong { font-size: .8rem; line-height: 1.4; }

@media (max-width: 1050px) {
    .product-detail__hero { grid-template-columns: minmax(0, 1fr) minmax(350px, .9fr); gap: 34px; }
    .product-gallery__main { min-height: 420px; }
    .product-size-options { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .product-page-section { padding-top: 22px; padding-bottom: 52px; }
    .product-detail__hero { grid-template-columns: 1fr; gap: 28px; }
    .product-gallery__main { min-height: 0; aspect-ratio: 1 / 1; }
    .product-summary h1 { font-size: clamp(1.8rem, 8vw, 2.6rem); }
    .product-detail__information { grid-template-columns: 1fr; margin-top: 46px; }
    .product-description-card { border-right: 0; border-bottom: 1px solid var(--cseda-linka); }
    .product-technical-grid { grid-template-columns: 1fr; }
    .product-made { grid-template-columns: 1fr; }
    .product-made__image { min-height: 240px; order: -1; }
    .header-cart-submenu { display: none; }
}

@media (max-width: 560px) {
    .product-gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .product-features { grid-template-columns: 1fr; }
    .product-size-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .product-color-option { width: 76px; height: 68px; }
    .product-buy-row { grid-template-columns: 105px minmax(0, 1fr); }
    .product-description-card, .product-quick-card { padding: 23px 19px; }
    .product-quick-card dl > div { grid-template-columns: 1fr; gap: 3px; padding-bottom: 8px; border-bottom: 1px solid var(--cseda-linka); }
    .product-technical-grid { padding-right: 18px; padding-left: 18px; }
    .product-technical-row { grid-template-columns: 1fr; gap: 4px; }
    .product-documents { grid-template-columns: 1fr; padding-right: 18px; padding-left: 18px; }
    .product-document { grid-template-columns: 42px minmax(0, 1fr); }
    .product-document i { grid-column: 2; }
    .site-cart-toast { padding: 14px 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .product-gallery__main img, .product-gallery__thumbs a, .product-color-option, .product-size-option, .product-add-cart, .product-accordion__panel, .header-cart-submenu, .site-cart-toast { transition: none !important; }
}

/* ========================================================================== */
/* DETAIL PRODUKTU 2026-08-25 - layout vlastnosti / cena / dostupnost          */
/* ========================================================================== */
.product-summary__price {
    margin: 4px 0 10px;
    color: var(--coranzova);
    font-size: clamp(2.15rem, 3vw, 3rem);
    line-height: 1;
    font-weight: 900;
    letter-spacing: -.04em;
}
.product-availability { display: grid; gap: 3px; margin: 0 0 22px; }
.product-availability__main { display: flex; align-items: center; gap: 9px; color: var(--czelena); font-size: .88rem; line-height: 1.3; }
.product-availability__main strong { font-weight: 850; }
.product-availability__check { display: grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; border: 2px solid var(--czelena); border-radius: 50%; font-size: .68rem; font-weight: 900; line-height: 1; }
.product-availability__shipping { padding-left: 29px; color: var(--cseda-text); font-size: .76rem; line-height: 1.35; }
.product-features--wide { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: clamp(34px, 5vw, 58px) 0 16px; }
.product-features--wide .product-feature { min-height: 92px; grid-template-columns: 44px minmax(0, 1fr); padding: 15px 16px; }
.product-features--wide .product-feature strong { font-size: .8rem; line-height: 1.35; }
.product-detail__information { margin-top: 0; }
.product-detail__information h2 { margin-bottom: 14px; font-size: clamp(1.12rem, 1.5vw, 1.32rem); line-height: 1.25; }
.product-description-card, .product-quick-card { padding: clamp(22px, 2.5vw, 32px); }
.product-rich-text { line-height: 1.55; }
.product-rich-text p { margin: 0 0 9px; padding: 0; }
.product-rich-text p:last-child { margin-bottom: 0; }
@media (max-width: 1050px) { .product-features--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
    .product-summary__price { font-size: clamp(2rem, 10vw, 2.6rem); }
    .product-features--wide { grid-template-columns: 1fr; margin-top: 28px; }
    .product-features--wide .product-feature { min-height: 76px; }
    .product-detail__information h2 { font-size: 1.08rem; }
}

/* ========================================================================== */
/* PRABOS 2026 - DETAIL PRODUKTU: CISTSI ZOOM + VZDY VIDITELNE SIPKY LIGHTBOXU */
/* ========================================================================== */
.product-gallery__main {
    cursor: zoom-in;
}

.product-gallery__zoom {
    right: 12px;
    bottom: 12px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: rgba(var(--rgb-cerna), .76);
    box-shadow: 0 5px 16px rgba(var(--rgb-cerna), .14);
    opacity: .84;
    pointer-events: none;
}

.product-gallery__zoom::before {
    top: 9px;
    left: 9px;
    width: 11px;
    height: 11px;
    border: 2px solid var(--cbila);
    border-radius: 50%;
}

.product-gallery__zoom::after {
    top: 22px;
    left: 22px;
    width: 8px;
    height: 2px;
    border: 0;
    background: var(--cbila);
    transform: rotate(45deg);
    transform-origin: left center;
}

.lightbox .lb-nav {
    overflow: visible;
}

.lightbox .lb-nav a.lb-prev,
.lightbox .lb-nav a.lb-next {
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    float: none;
    opacity: 1 !important;
    background: none !important;
    transition: none;
}

.lightbox .lb-nav a.lb-prev { left: 0; }
.lightbox .lb-nav a.lb-next { right: 0; }

.lightbox .lb-nav a.lb-prev::before,
.lightbox .lb-nav a.lb-next::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(var(--rgb-bila), .38);
    border-radius: 50%;
    background: rgba(var(--rgb-cerna), .72);
    box-shadow: 0 5px 18px rgba(var(--rgb-cerna), .22);
    transform: translateY(-50%);
}

.lightbox .lb-nav a.lb-prev::before { left: 9px; }
.lightbox .lb-nav a.lb-next::before { right: 9px; }

.lightbox .lb-nav a.lb-prev::after,
.lightbox .lb-nav a.lb-next::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    z-index: 1;
}

.lightbox .lb-nav a.lb-prev::after {
    left: 27px;
    border-left: 2px solid var(--cbila);
    border-bottom: 2px solid var(--cbila);
    transform: translate(-50%, -50%) rotate(45deg);
}

.lightbox .lb-nav a.lb-next::after {
    right: 17px;
    border-top: 2px solid var(--cbila);
    border-right: 2px solid var(--cbila);
    transform: translate(-50%, -50%) rotate(45deg);
}


/* ========================================================================== */
/* PRABOS 2026 - HLIDACI PES U NEDOSTUPNE VELIKOSTI                           */
/* ========================================================================== */
.product-size-option.is-out-of-stock {
    color: var(--cseda-text2);
    cursor: pointer;
    background: var(--cseda-svetla);
    opacity: .72;
}
.product-size-option.is-out-of-stock::after {
    position: absolute;
    top: 50%; left: 10%; width: 80%; height: 1px;
    background: currentColor;
    content: "";
    transform: rotate(-18deg);
    opacity: .55;
}
.product-size-option.is-out-of-stock:hover {
    color: var(--ink);
    border-color: var(--coranzova);
    opacity: 1;
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(var(--rgb-cerna), .06);
}
.product-size-option.is-out-of-stock.is-selected {
    color: var(--coranzova-tmava);
    border-color: var(--coranzova);
    background: rgba(var(--rgb-oranzova), .08);
    box-shadow: inset 0 0 0 1px rgba(var(--rgb-oranzova), .12);
    opacity: 1;
}
.product-selected-meta [data-product-stock].is-out-of-stock { color: var(--coranzova-tmava); }
.product-watchdog {
    max-height: 0;
    margin-top: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-8px);
    transition: max-height .46s cubic-bezier(.22,.72,.24,1), margin-top .36s ease, opacity .28s ease, transform .36s ease;
}
.product-watchdog.is-open {
    max-height: 360px;
    margin-top: 14px;
    opacity: 1;
    transform: translateY(0);
}
.product-watchdog__clip { overflow: hidden; }
.product-watchdog__panel {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    gap: 13px;
    padding: 15px 16px;
    border: 1px solid rgba(var(--rgb-oranzova), .28);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(var(--rgb-oranzova), .055), var(--cbila) 72%);
}
.product-watchdog__icon {
    position: relative;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 2px solid var(--coranzova);
    border-radius: 50%;
    background: var(--cbila);
}
.product-watchdog__icon::before {
    width: 26px;
    height: 26px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310120f' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.2 9.1 5.1 6.2 3.8 7l1 4.7'/%3E%3Cpath d='m16.8 9.1 2.1-2.9 1.3.8-1 4.7'/%3E%3Cpath d='M7 10.7c0-2.4 2.2-4.2 5-4.2s5 1.8 5 4.2v3.4c0 3.1-2.2 5.4-5 5.4s-5-2.3-5-5.4z'/%3E%3Ccircle cx='9.5' cy='12' r='.75' fill='%2310120f' stroke='none'/%3E%3Ccircle cx='14.5' cy='12' r='.75' fill='%2310120f' stroke='none'/%3E%3Cpath d='m10.5 15 1.5 1.2 1.5-1.2z' fill='%2310120f' stroke='none'/%3E%3Cpath d='M12 16.2v1.15M10.8 17.8c.4.35.8.5 1.2.5s.8-.15 1.2-.5'/%3E%3C/svg%3E") center / contain no-repeat;
    content: "";
}
.product-watchdog__icon::after {
    display: none;
    content: none;
}
.product-watchdog__heading { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; }
.product-watchdog__heading strong { font-size: .88rem; }
.product-watchdog__heading [data-watchdog-size] {
    display:inline-flex; min-height:24px; align-items:center; padding:3px 8px;
    color: var(--coranzova-tmava); background: rgba(var(--rgb-oranzova), .08);
    border:1px solid rgba(var(--rgb-oranzova), .2); border-radius:999px;
    font-size:.68rem; font-weight:800;
}
.product-watchdog__content > p { margin: 5px 0 12px; color: var(--cseda-text); font-size: .75rem; line-height: 1.5; }
.product-watchdog__form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:end; }
.product-watchdog__field { display:grid; gap:5px; min-width:0; }
.product-watchdog__field > span { font-size:.68rem; font-weight:800; color:var(--cseda-text); }
.product-watchdog__field input[type="email"] {
    width:100%; min-height:42px; padding:9px 11px; color:var(--ink); background:var(--cbila);
    border:1px solid var(--cseda-linka); border-radius:5px; font:inherit; font-size:.8rem;
    outline:none; transition:border-color .18s ease, box-shadow .18s ease;
}
.product-watchdog__field input[type="email"]:focus { border-color:var(--coranzova); box-shadow:0 0 0 3px rgba(var(--rgb-oranzova), .1); }
.product-watchdog__form button {
    display:inline-flex; min-height:42px; align-items:center; justify-content:center; gap:8px;
    padding:9px 16px; color:var(--cbila); background:var(--coranzova); border:0; border-radius:5px;
    cursor:pointer; font:inherit; font-size:.72rem; font-weight:900; text-transform:uppercase;
    transition:background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.product-watchdog__form button:hover:not(:disabled) { background:var(--coranzova-tmava); transform:translateY(-1px); box-shadow:0 6px 14px rgba(var(--rgb-oranzova), .18); }
.product-watchdog__form button:disabled { cursor:wait; opacity:.6; }
.product-watchdog__form button i { font-style:normal; font-size:1rem; transition:transform .18s ease; }
.product-watchdog__form button:hover i { transform:translateX(2px); }
.product-watchdog__hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.product-watchdog__message { min-height:0; margin-top:0; font-size:.72rem; font-weight:700; transition:margin-top .18s ease; }
.product-watchdog__message:not(:empty) { margin-top:9px; }
.product-watchdog__message.is-success { color:var(--czelena); }
.product-watchdog__message.is-error { color:var(--coranzova-tmava); }

@media (max-width: 720px) {
    .product-watchdog.is-open { max-height: 440px; }
    .product-watchdog__panel { grid-template-columns:34px minmax(0,1fr); padding:13px; }
    .product-watchdog__icon { width:32px; height:32px; }
    .product-watchdog__icon::before { width:21px; height:21px; }
    .product-watchdog__form { grid-template-columns:1fr; }
    .product-watchdog__form button { width:100%; }
}

/* ========================================================================== */
/* PRABOS 2026 - DETAIL PRODUKTU: BEZ LUPY + PRESNE VYCENTROVANE LIGHTBOX SIPKY */
/* ========================================================================== */
.product-gallery__zoom {
    display: none !important;
}
.product-gallery__main {
    cursor: pointer;
}

.lightbox .lb-nav a.lb-prev::before,
.lightbox .lb-nav a.lb-next::before {
    top: 50%;
    width: 40px;
    height: 40px;
    transform: translateY(-50%);
}
.lightbox .lb-nav a.lb-prev::before { left: 9px; }
.lightbox .lb-nav a.lb-next::before { right: 9px; }

.lightbox .lb-nav a.lb-prev::after,
.lightbox .lb-nav a.lb-next::after {
    top: 50%;
    width: 10px;
    height: 10px;
    margin: 0;
    transform-origin: center center;
}
.lightbox .lb-nav a.lb-prev::after {
    left: 24px;
    transform: translateY(-50%) rotate(45deg);
}
.lightbox .lb-nav a.lb-next::after {
    right: 24px;
    transform: translateY(-50%) rotate(45deg);
}

/* ========================================================================== */
/* PRABOS 2026-08-25 - LIGHTBOX SIPKY + HOVER MOST MINI KOSIKU                */
/* ========================================================================== */
.lightbox .lb-nav a.lb-prev::after,
.lightbox .lb-nav a.lb-next::after {
    top: 50% !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    border: 0 !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 18px 18px !important;
    transform: translateY(-50%) !important;
    transform-origin: center center !important;
    pointer-events: none;
}
.lightbox .lb-nav a.lb-prev::after {
    left: 16px !important;
    right: auto !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E") !important;
}
.lightbox .lb-nav a.lb-next::after {
    right: 16px !important;
    left: auto !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") !important;
}
@media (max-width: 700px) {
    .lightbox .lb-nav a.lb-prev::after,
    .lightbox .lb-nav a.lb-next::after {
        width: 40px !important;
        height: 40px !important;
        background-size: 17px 17px !important;
    }
    .lightbox .lb-nav a.lb-prev::after { left: 9px !important; }
    .lightbox .lb-nav a.lb-next::after { right: 9px !important; }
}
.header-cart-submenu {
    top: 100% !important;
    padding-top: 21px !important;
}
.header-cart-submenu::before {
    top: 13px !important;
}


/* ========================================================================== */
/* DETAIL PRODUKTU - plynule skryti dostupnosti pri nedostupne velikosti      */
/* ========================================================================== */
.product-availability[data-product-availability] {
    max-height: 72px;
    overflow: hidden;
    opacity: 1;
    transform: translateY(0);
    transition:
        max-height .38s cubic-bezier(.22,.72,.24,1),
        margin-bottom .32s ease,
        opacity .22s ease,
        transform .32s ease;
    will-change: max-height, opacity, transform;
}
.product-availability[data-product-availability].is-hidden {
    max-height: 0;
    margin-bottom: 0;
    opacity: 0;
    transform: translateY(-7px);
    pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
    .product-availability[data-product-availability] {
        transition: none !important;
    }
}

/* ========================================================================== */
/* PRABOS 2026 - DETAIL PRODUKTU: SJEDNOCENI TYPOGRAFIE POPIS / RYCHLY PREHLED */
/* ========================================================================== */
.product-description-card .product-rich-text,
.product-quick-card dt,
.product-quick-card dd {
    font-family: inherit;
    font-size: .84rem;
    line-height: 1.55;
}

.product-quick-card dt {
    font-weight: 400;
}

.product-quick-card dd {
    font-weight: 650;
}

/* ========================================================================== */
/* PRABOS 2026 - HLAVICKA: SJEDNOCENE BADGE + PODMENU                         */
/* ========================================================================== */
.header-actions .header-action-badge,
.header-actions .account-initials-badge,
.header-actions .favorite-badge,
.header-actions .compare-badge,
.header-actions .cart-badge {
    position: absolute !important;
    top: 1px !important;
    right: 0 !important;
    display: inline-flex;
    min-width: 18px !important;
    height: 18px !important;
    align-items: center;
    justify-content: center;
    padding: 0 4px !important;
    box-sizing: border-box;
    color: var(--cbila) !important;
    border: 2px solid var(--ccerna) !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    pointer-events: none;
    transform: none !important;
    z-index: 5;
}
.header-actions .account-initials-badge { background: var(--czelena) !important; }
.header-actions .favorite-badge,
.header-actions .compare-badge,
.header-actions .cart-badge { background: var(--coranzova) !important; }
.header-actions .header-action-badge[hidden] { display: none !important; }

.header-account-menu,
.header-cart-menu { position: relative; display: flex; align-items: center; }
.header-account-submenu,
.header-cart-submenu {
    top: 100% !important;
    padding-top: 12px !important;
    transform: translateY(-5px);
}
.header-account-submenu__panel,
.header-cart-submenu__panel {
    overflow: hidden;
    color: var(--ccerna);
    background: var(--cbila);
    border: 1px solid var(--cseda-linka) !important;
    border-top: 3px solid var(--coranzova) !important;
    border-radius: 10px !important;
    box-shadow: 0 18px 42px rgba(var(--rgb-cerna), .16) !important;
}
.header-cart-submenu::before { top: 5px !important; }
.mini-cart__head,
.header-account-submenu__client { background: var(--cseda-svetla); }

/* ========================================================================== */
/* KATALOG - SRDICKO VEDLE POROVNANI                                          */
/* ========================================================================== */
.catalog-product-card__user-actions {
    display: flex;
    min-height: 30px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 7px;
}
.catalog-product-card__user-actions .catalog-product-card__compare { margin-top: 0; }
.catalog-product-card__favorite,
.favorite-product-card__remove {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--cseda-text2);
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: color .18s ease, transform .18s ease, opacity .18s ease;
}
.catalog-product-card__favorite {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 50%;
}
.catalog-product-card__favorite:hover,
.catalog-product-card__favorite:focus-visible,
.catalog-product-card__favorite.is-selected,
.favorite-product-card__remove:hover,
.favorite-product-card__remove.is-selected { color: var(--coranzova); }
.catalog-product-card__favorite:hover { background: rgba(var(--rgb-oranzova), .07); transform: translateY(-1px); }
.catalog-product-card__favorite:disabled,
.favorite-product-card__remove:disabled { cursor: wait; opacity: .55; }
.catalog-product-card__favorite > span,
.favorite-product-card__remove > span,
.favorites-empty__heart {
    display: block;
    width: 20px;
    height: 20px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.1-4.35-9.43-8.6C.72 9.03 2.17 5 5.95 4.23A5.45 5.45 0 0 1 12 7.05a5.45 5.45 0 0 1 6.05-2.82c3.78.77 5.23 4.8 3.38 8.17C19.1 16.65 12 21 12 21Zm0-2.34c1.84-1.22 5.98-4.22 7.67-7.3 1.2-2.18.34-4.74-2.03-5.22-2.2-.45-3.98.86-4.72 2.6L12 10.9l-.92-2.16c-.74-1.74-2.52-3.05-4.72-2.6-2.37.48-3.23 3.04-2.03 5.22 1.69 3.08 5.83 6.08 7.67 7.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.1-4.35-9.43-8.6C.72 9.03 2.17 5 5.95 4.23A5.45 5.45 0 0 1 12 7.05a5.45 5.45 0 0 1 6.05-2.82c3.78.77 5.23 4.8 3.38 8.17C19.1 16.65 12 21 12 21Zm0-2.34c1.84-1.22 5.98-4.22 7.67-7.3 1.2-2.18.34-4.74-2.03-5.22-2.2-.45-3.98.86-4.72 2.6L12 10.9l-.92-2.16c-.74-1.74-2.52-3.05-4.72-2.6-2.37.48-3.23 3.04-2.03 5.22 1.69 3.08 5.83 6.08 7.67 7.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.catalog-product-card__favorite.is-selected > span,
.favorite-product-card__remove.is-selected > span {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.1-4.35-9.43-8.6C.72 9.03 2.17 5 5.95 4.23A5.45 5.45 0 0 1 12 7.05a5.45 5.45 0 0 1 6.05-2.82c3.78.77 5.23 4.8 3.38 8.17C19.1 16.65 12 21 12 21Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-7.1-4.35-9.43-8.6C.72 9.03 2.17 5 5.95 4.23A5.45 5.45 0 0 1 12 7.05a5.45 5.45 0 0 1 6.05-2.82c3.78.77 5.23 4.8 3.38 8.17C19.1 16.65 12 21 12 21Z'/%3E%3C/svg%3E");
}

/* ========================================================================== */
/* OBLIBENE PRODUKTY                                                          */
/* ========================================================================== */
.favorites-page { margin-top: 24px; }
.favorites-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.favorite-product-card {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--cseda-linka);
    border-radius: 8px;
    background: var(--cbila);
    transition: border-color .2s ease, box-shadow .2s ease, opacity .25s ease, transform .25s ease;
}
.favorite-product-card:hover { border-color: rgba(var(--rgb-oranzova), .42); box-shadow: 0 10px 28px rgba(var(--rgb-cerna), .055); }
.favorite-product-card.is-removing { opacity: 0; transform: scale(.975); pointer-events: none; }
.favorite-product-card__media { display: grid; min-height: 250px; place-items: center; padding: 16px; background: var(--cseda-svetla); }
.favorite-product-card__media img { display: block; width: 100%; height: 100%; max-height: 225px; object-fit: contain; }
.favorite-product-card__media > span { color: var(--cseda-text2); font-size: .72rem; font-weight: 900; }
.favorite-product-card__body { display: flex; min-width: 0; flex-direction: column; padding: 18px; }
.favorite-product-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.favorite-product-card__top h2 { margin: 0; font-size: 1rem; line-height: 1.2; }
.favorite-product-card__top h2 a { color: var(--ink); text-decoration: none; }
.favorite-product-card__top h2 a:hover { color: var(--coranzova); }
.favorite-product-card__remove { flex: 0 0 auto; gap: 6px; padding: 2px 0 2px 7px; font: inherit; }
.favorite-product-card__remove > span { width: 18px; height: 18px; }
.favorite-product-card__remove em { color: var(--cseda-text2); font-size: .64rem; font-style: normal; text-decoration: underline; text-underline-offset: 2px; }
.favorite-product-card__annotation { margin: 10px 0 16px; color: var(--cseda-text); font-size: .74rem; line-height: 1.5; }
.favorite-product-card__buy { display: grid; margin-top: auto; grid-template-columns: minmax(112px, 1fr) auto; gap: 10px 12px; align-items: end; }
.favorite-product-card__buy label,
.favorite-product-card__qty-wrap { display: grid; gap: 5px; }
.favorite-product-card__buy label > span,
.favorite-product-card__qty-wrap > span { color: var(--cseda-text); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.favorite-product-card__buy select { width: 100%; min-height: 39px; padding: 7px 30px 7px 10px; border: 1px solid var(--cseda-linka); border-radius: 4px; background: var(--cbila); font: inherit; font-size: .74rem; }
.favorite-product-card__price { align-self: center; color: var(--ink); font-size: 1.25rem; font-weight: 900; white-space: nowrap; }
.favorite-product-card__qty { display: grid; grid-template-columns: 34px 42px 34px; height: 39px; overflow: hidden; border: 1px solid var(--cseda-linka); border-radius: 4px; }
.favorite-product-card__qty button { border: 0; background: var(--cseda-svetla); cursor: pointer; font-size: .9rem; }
.favorite-product-card__qty input { min-width: 0; width: 100%; padding: 0; text-align: center; border: 0; outline: 0; font: inherit; font-size: .75rem; font-weight: 800; -moz-appearance: textfield; }
.favorite-product-card__qty input::-webkit-outer-spin-button,
.favorite-product-card__qty input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.favorite-product-card__cart { display: inline-flex; min-height: 39px; align-items: center; justify-content: center; gap: 8px; padding: 8px 14px; color: var(--cbila); border: 0; border-radius: 4px; background: var(--coranzova); cursor: pointer; font: inherit; font-size: .68rem; font-weight: 900; text-transform: uppercase; transition: background-color .18s ease, transform .18s ease; }
.favorite-product-card__cart:hover { background: var(--coranzova-tmava); transform: translateY(-1px); }
.favorite-product-card__cart:disabled { cursor: wait; opacity: .6; }
.favorite-product-card__out { margin-top: auto; padding: 10px 12px; color: var(--coranzova-tmava); border: 1px solid rgba(var(--rgb-oranzova), .28); border-radius: 4px; background: rgba(var(--rgb-oranzova), .05); font-size: .72rem; font-weight: 800; }

.favorites-empty { display: grid; max-width: 600px; min-height: 240px; margin: 26px auto 0; place-items: center; align-content: center; gap: 14px; padding: 34px; text-align: center; border: 1px solid var(--cseda-linka); border-radius: 8px; background: var(--cseda-svetla); }
.favorites-empty__heart { width: 38px; height: 38px; color: var(--coranzova); }
.favorites-empty p { margin: 0; color: var(--cseda-text); }
.favorites-empty a { display: inline-flex; min-height: 40px; align-items: center; gap: 8px; padding: 9px 16px; color: var(--cbila); border-radius: 4px; background: var(--coranzova); font-size: .72rem; font-weight: 900; text-decoration: none; text-transform: uppercase; }

@media (max-width: 1000px) {
    .favorites-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .favorite-product-card { grid-template-columns: 1fr; }
    .favorite-product-card__media { min-height: 220px; }
    .favorite-product-card__buy { grid-template-columns: 1fr; }
    .favorite-product-card__price { justify-self: start; }
    .favorite-product-card__cart { width: 100%; }
    .favorite-product-card__remove em { display: none; }
}

/* PRABOS 2026 - oblibene v hlavicce: na mobilu zustava pouze primy odkaz. */
.header-favorite-menu { position: relative; display: flex; align-items: center; }
.header-favorite-submenu { display: none !important; }

/* ========================================================================== */
/* PRABOS 2026 - produktove nahledy: bile pozadi + jemny bezovy ramecek       */
/* ========================================================================== */
.favorite-product-card__media {
    background: var(--cbila);
}
.favorite-product-card__media img {
    box-sizing: border-box;
    padding: 7px;
    background: var(--cbila);
    border: 1px solid var(--c-f8f5ee);
    border-radius: 7px;
}
.mini-cart-item__image {
    background: var(--cbila);
    border: 1px solid var(--c-f8f5ee);
    border-radius: 7px;
}

/* ========================================================================== */
/* PRABOS 2026 - HLAVICKOVE PODOKNO POROVNANI                                 */
/* ========================================================================== */
.header-compare-menu {
    position: relative;
    display: flex;
    align-items: center;
}
.header-compare-submenu {
    position: absolute;
    z-index: 1250;
    top: 100%;
    right: -10px;
    width: min(430px, 92vw);
    padding-top: 12px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-5px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.header-compare-submenu::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 13px;
    content: "";
}
.header-compare-menu:hover .header-compare-submenu,
.header-compare-menu:focus-within .header-compare-submenu,
.header-compare-menu.is-open .header-compare-submenu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    transition-delay: 0s;
}
.header-compare-submenu__panel {
    position: relative;
    overflow: hidden;
    color: var(--ccerna);
    border: 1px solid var(--cseda-linka);
    border-top: 3px solid var(--coranzova);
    border-radius: 10px;
    background: var(--cbila);
    box-shadow: 0 18px 42px rgba(var(--rgb-cerna), .16);
}
.mini-compare-item__remove > span {
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 5.3 12 10.6l5.3-5.3 1.4 1.4-5.3 5.3 5.3 5.3-1.4 1.4-5.3-5.3-5.3 5.3-1.4-1.4 5.3-5.3-5.3-5.3 1.4-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.7 5.3 12 10.6l5.3-5.3 1.4 1.4-5.3 5.3 5.3 5.3-1.4 1.4-5.3-5.3-5.3 5.3-1.4-1.4 5.3-5.3-5.3-5.3 1.4-1.4Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mini-favorites__empty-compare {
    display: block;
    width: 31px;
    height: 31px;
    margin: 0 auto;
    background: var(--coranzova);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M11 3h2v2.1l5 2.5V6h2v2.6l3 5.4h-1a4 4 0 0 1-8 0h-1l3-5.4-3-1.5V19h3v2H8v-2h3V7.1L8 8.6l3 5.4h-1a4 4 0 0 1-8 0H1l3-5.4V6h2v1.6l5-2.5V3ZM4.2 12h3.6L6 8.8 4.2 12Zm12 0h3.6L18 8.8 16.2 12Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M11 3h2v2.1l5 2.5V6h2v2.6l3 5.4h-1a4 4 0 0 1-8 0h-1l3-5.4-3-1.5V19h3v2H8v-2h3V7.1L8 8.6l3 5.4h-1a4 4 0 0 1-8 0H1l3-5.4V6h2v1.6l5-2.5V3ZM4.2 12h3.6L6 8.8 4.2 12Zm12 0h3.6L18 8.8 16.2 12Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 860px) {
    .header-compare-submenu { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    .header-compare-submenu { transition: none !important; }
}

/* POROVNANI - nakupni radek uplne dole tabulky */
@media (max-width: 760px) {
    .compare-cart-cell {
        padding: 12px 10px !important;
    }

    .compare-cart-box__bottom {
        grid-template-columns: 88px minmax(135px, 1fr);
    }

    .compare-cart-box__button {
        padding-right: 10px;
        padding-left: 10px;
        font-size: .61rem;
    }
}

/* ========================================================================== */
/* PRABOS CHECKOUT 2026 - mobil                                               */
/* ========================================================================== */
:root {
    --checkout-green: #1f9d3a;
    --checkout-green-dark: #13782a;
    --checkout-green-soft: #eff8f0;
    --checkout-card: var(--cbila);
    --checkout-muted: #757a72;
    --checkout-border: #e4e6e1;
    --checkout-soft: #f7f8f5;
    --checkout-danger: #a13d2d;
    --checkout-shadow: 0 8px 26px rgba(var(--rgb-cerna), .055);
}
.page-checkout .checkout-page-section {
    width: min(100% - 24px, 760px);
    padding-top: 16px;
    padding-bottom: 34px;
}
.page-checkout .checkout-page-section > h1 {
    margin: 12px 0 8px;
    font-size: clamp(31px, 10vw, 42px);
    letter-spacing: -.035em;
}
.checkout-steps {
    margin: 18px 0 24px;
    border: 1px solid var(--checkout-border);
    border-radius: 10px;
    background: var(--checkout-soft);
    overflow: hidden;
}
.checkout-steps ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}
.checkout-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 60px;
    padding: 7px 3px;
    color: var(--cseda-text2);
    text-align: center;
    font-size: 9px;
    font-weight: 700;
}
.checkout-step + .checkout-step {
    border-left: 1px solid var(--checkout-border);
}
.checkout-step__number {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border: 1px solid var(--checkout-border);
    border-radius: 50%;
    background: var(--cbila);
    font-size: 11px;
}
.checkout-step.is-active {
    color: var(--ccerna2);
    background: var(--cbila);
}
.checkout-step.is-active .checkout-step__number {
    border-color: var(--coranzova);
    background: var(--coranzova);
    color: var(--cbila);
}
.checkout-step.is-done {
    color: var(--checkout-green-dark);
}
.checkout-step.is-done .checkout-step__number {
    border-color: var(--checkout-green);
    background: var(--checkout-green);
    color: var(--cbila);
    font-size: 0;
}
.checkout-step.is-done .checkout-step__number::before {
    content: "✓";
    font-size: 11px;
}
.checkout-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.checkout-main-column {
    min-width: 0;
}
.checkout-back-link {
    display: inline-flex;
    gap: 6px;
    margin-bottom: 14px;
    color: var(--ccerna2);
    font-size: 12px;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.checkout-cart-card,
.checkout-summary,
.checkout-benefits,
.checkout-support-strip,
.checkout-legacy,
.checkout-empty {
    border: 1px solid var(--checkout-border);
    border-radius: 10px;
    background: var(--checkout-card);
    box-shadow: var(--checkout-shadow);
}
.checkout-cart-card {
    padding: 0 14px;
}
.checkout-cart-head {
    display: none;
}
.checkout-cart-item {
    position: relative;
    display: block;
    padding: 18px 0 58px;
}
.checkout-cart-item + .checkout-cart-item {
    border-top: 1px solid var(--checkout-border);
}
.checkout-cart-item__product {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}
.checkout-cart-item__image {
    display: grid;
    place-items: center;
    width: 92px;
    height: 92px;
    border-radius: 8px;
    background: var(--checkout-soft);
    overflow: hidden;
}
.checkout-cart-item__image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.checkout-cart-item__name {
    display: block;
    margin-bottom: 5px;
    color: var(--ccerna2);
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
    text-decoration: none;
}
.checkout-cart-item__meta,
.checkout-cart-item__stock,
.checkout-cart-item__delivery {
    margin: 4px 0 0;
    font-size: 10px;
    line-height: 1.35;
}
.checkout-cart-item__delivery {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    white-space: normal;
}
.checkout-cart-item__delivery > span:last-child {
    display: block;
    min-width: 0;
}
.checkout-cart-item__stock {
    color: var(--checkout-green-dark);
    font-weight: 700;
}
.checkout-stock-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 5px;
    border-radius: 50%;
    background: var(--checkout-green);
}
.checkout-svg-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    color: currentColor;
}
.checkout-svg-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.checkout-delivery-icon {
    width: 19px;
    height: 15px;
    margin-top: 0;
    color: var(--cseda-text);
}
.checkout-free-shipping .checkout-delivery-icon {
    width: 20px;
    height: 16px;
    color: var(--checkout-green-dark);
}
.checkout-cart-item__form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 16px;
}
.checkout-cart-item__form.is-updating > * {
    opacity: .72;
    pointer-events: none;
}
.checkout-item-field,
.checkout-item-price {
    min-width: 0;
}
.checkout-mobile-label {
    display: block;
    margin: 0 0 5px;
    color: var(--cseda-text2);
    font-size: 9px;
    font-weight: 600;
}
.checkout-item-field select {
    width: 100%;
    height: 42px;
    padding: 0 10px;
    border: 1px solid var(--checkout-border);
    border-radius: 7px;
    background: var(--cbila);
    color: var(--ccerna2);
    font-size: 12px;
}
.checkout-qty {
    display: grid;
    grid-template-columns: 34px minmax(38px, 1fr) 34px;
    height: 42px;
    overflow: hidden;
    border: 1px solid var(--checkout-border);
    border-radius: 7px;
}
.checkout-qty button,
.checkout-qty input {
    border: 0;
    background: var(--cbila);
    color: var(--ccerna2);
    text-align: center;
}
.checkout-qty input {
    width: 100%;
    border-left: 1px solid var(--checkout-border);
    border-right: 1px solid var(--checkout-border);
    appearance: textfield;
    -moz-appearance: textfield;
    font-weight: 700;
}
.checkout-item-price {
    padding-top: 2px;
    text-align: left;
    font-size: 12px;
}
.checkout-item-price strong {
    font-size: 14px;
}
.checkout-cart-item__actions {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 12px;
    display: flex;
    align-items: center;
    gap: 7px;
}
.checkout-cart-item__actions form {
    margin: 0;
}
.checkout-link-button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid var(--checkout-border);
    border-radius: 7px;
    background: var(--cbila);
    color: var(--ccerna2);
    font: inherit;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
}
.checkout-link-button--favorite {
    border-color: var(--coranzova);
    color: var(--coranzova-tmava);
}
.checkout-link-button--remove {
    color: var(--cseda-text);
}
.checkout-action-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: currentColor;
}
.checkout-action-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.checkout-action-label {
    display: inline-block;
    white-space: nowrap;
}

.checkout-benefits {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 12px;
    overflow: hidden;
}
.checkout-benefits > div {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 0 9px;
    align-content: center;
    min-height: 72px;
    padding: 12px;
}
.checkout-benefits > div:nth-child(even) {
    border-left: 1px solid var(--checkout-border);
}
.checkout-benefits > div:nth-child(n+3) {
    border-top: 1px solid var(--checkout-border);
}
.checkout-benefit-icon {
    grid-row: 1 / 3;
    width: 30px;
    height: 30px;
    border: 1px solid var(--ccerna2);
    border-radius: 50%;
    color: var(--ccerna2);
}
.checkout-benefit-icon svg { width: 17px; height: 17px; }
.checkout-benefit-icon--truck svg { width: 18px; height: 18px; }
.checkout-benefit-icon--return svg { width: 18px; height: 18px; }
.checkout-benefit-icon--shield svg { width: 16px; height: 16px; stroke-width: 2.1; }
.checkout-benefits strong { align-self: end; font-size: 10px; line-height: 1.25; }
.checkout-benefits small { align-self: start; margin-top: 2px; color: var(--cseda-text2); font-size: 8px; line-height: 1.3; }
.checkout-summary {
    position: static;
    padding: 20px 18px;
}
.checkout-summary h2 {
    margin: 0 0 20px;
    font-size: 19px;
}
.checkout-summary__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 13px;
    font-size: 12px;
}
.checkout-summary__shipping { color: var(--checkout-green-dark); }
.checkout-summary__row--discount,
.checkout-summary__row--discount strong { color: var(--checkout-green-dark); }
.checkout-coupon {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--checkout-border);
}
.checkout-coupon .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.checkout-coupon__title { display: block; margin-bottom: 8px; font-size: 12px; }
.checkout-coupon__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.checkout-coupon__form input {
    min-width: 0;
    height: 40px;
    padding: 0 10px;
    border: 1px solid var(--checkout-border);
    border-radius: 7px;
    background: var(--cbila);
    color: var(--ccerna2);
    font: inherit;
    font-size: 12px;
}
.checkout-coupon__form input:focus { outline: 2px solid rgba(var(--rgb-oranzova), .25); border-color: var(--coranzova); }
.checkout-coupon__form > button {
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid var(--coranzova);
    border-radius: 7px;
    background: var(--coranzova);
    color: var(--cbila);
    font: inherit;
    font-size: 11px;
    font-weight: 800;
}
.checkout-coupon__message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    font-size: 10px;
    line-height: 1.4;
}
.checkout-coupon__message.is-success { color: var(--checkout-green-dark); }
.checkout-coupon__message.is-error { color: var(--checkout-danger); }
.checkout-coupon__message form { margin: 0; }
.checkout-coupon__message button {
    padding: 0;
    border: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
}
.checkout-coupon-inline {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 18px;
    padding: 11px 12px;
    border: 1px solid #cce7d1;
    border-radius: 8px;
    background: var(--checkout-green-soft);
    color: var(--checkout-green-dark);
    font-size: 10px;
}
.checkout-coupon-inline span { white-space: nowrap; font-weight: 800; }
.checkout-summary__total {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--checkout-border);
    font-weight: 800;
}
.checkout-summary__total span { display: flex; flex-direction: column; }
.checkout-summary__total small { color: var(--checkout-muted); font-size: 9px; font-weight: 400; }
.checkout-summary__total > strong { font-size: 21px; white-space: nowrap; }
.checkout-free-shipping {
    margin: 18px 0;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--checkout-border);
    color: var(--checkout-green-dark);
}
.checkout-free-shipping p { display: flex; align-items: center; gap: 7px; margin: 0 0 9px; font-size: 10px; line-height: 1.35; font-weight: 700; }
.checkout-free-shipping p > span:last-child { display: block; min-width: 0; }
.checkout-progress { height: 7px; border-radius: 10px; background: var(--checkout-border); overflow: hidden; }
.checkout-progress span { display: block; height: 100%; background: var(--checkout-green); }
.checkout-content-card {
    margin: 14px 0 18px;
    padding: 14px;
    border: 1px solid var(--checkout-border);
    border-radius: 8px;
    background: var(--checkout-soft);
}
.checkout-content-card--green { background: var(--checkout-green-soft); }
.checkout-content-card__title { display: block; margin-bottom: 5px; font-size: 12px; }
.checkout-content-card__text,
.checkout-content-card__text p { margin: 0; color: var(--cseda-text); font-size: 10px; line-height: 1.5; }
.checkout-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid var(--coranzova);
    border-radius: 7px;
    background: var(--coranzova);
    color: var(--cbila);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
}
.checkout-clear-form { margin-top: 16px; text-align: center; }
.checkout-support-strip {
    display: block;
    margin-top: 22px;
    overflow: hidden;
}
.checkout-support-strip > * {
    min-height: 68px;
    padding: 13px 16px;
}
.checkout-support-strip > * + * { border-top: 1px solid var(--checkout-border); }
.checkout-support-strip__lead,
.checkout-support-strip a {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 0 10px;
    align-items: center;
    color: var(--ccerna2);
    text-decoration: none;
}
.checkout-support-icon {
    width: 32px;
    height: 32px;
    border: 1px solid var(--ccerna2);
    border-radius: 50%;
    color: var(--ccerna2);
}
.checkout-support-icon svg { width: 17px; height: 17px; }
.checkout-support-icon--headset svg { width: 19px; height: 19px; }
.checkout-support-strip__copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}
.checkout-support-strip strong,
.checkout-support-strip small { display: block; margin: 0; }
.checkout-support-strip strong { font-size: 11px; line-height: 1.3; }
.checkout-support-strip small { color: var(--cseda-text2); font-size: 9px; line-height: 1.4; }
.checkout-empty {
    margin-top: 20px;
    padding: 36px 20px;
    text-align: center;
}
.checkout-empty h2 { margin: 0 0 8px; font-size: 21px; }
.checkout-empty p { margin: 0 0 20px; color: var(--cseda-text); font-size: 12px; line-height: 1.55; }

/* Kroky 2-4 - zachovani puvodni logiky, moderni mobilni vzhled */
.checkout-legacy {
    padding: 18px 14px 24px;
}
.checkout-legacy .div-main20 {
    display: block;
    width: 100%;
}
.checkout-legacy .div-input-holder,
.checkout-legacy .div-input,
.checkout-legacy .div-doprava,
.checkout-legacy .div-doprava1,
.checkout-legacy .div-doprava2,
.checkout-legacy .div-platba1,
.checkout-legacy .div-platba2,
.checkout-legacy .div-podminky,
.checkout-legacy .div-left-kosik,
.checkout-legacy .div-right-kosik {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
}
.checkout-legacy .h3-podtrh {
    margin: 24px 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--checkout-border);
    font-size: 17px;
}
.checkout-legacy input[type="text"],
.checkout-legacy input[type="email"],
.checkout-legacy input[type="tel"],
.checkout-legacy input[type="number"],
.checkout-legacy select,
.checkout-legacy textarea,
.checkout-legacy .input2,
.checkout-legacy .input4,
.checkout-legacy .select2,
.checkout-legacy .textarea-poznamka {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 44px;
    padding: 9px 11px;
    border: 1px solid var(--checkout-border);
    border-radius: 7px;
    background: var(--cbila);
    font-size: 13px;
}
.checkout-legacy .div-doprava1,
.checkout-legacy .div-doprava2,
.checkout-legacy .div-platba1,
.checkout-legacy .div-platba2 {
    padding: 10px 12px;
    border: 1px solid var(--checkout-border);
    background: var(--checkout-soft);
}
.checkout-legacy .submit5,
.checkout-legacy .submit6,
.checkout-legacy .submit,
.checkout-legacy input[type="submit"] {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 9px 14px;
    border-radius: 7px;
    font-size: 11px;
    font-weight: 800;
}
.checkout-legacy .submit5 { border: 1px solid var(--coranzova); background: var(--coranzova); color: var(--cbila); }
.checkout-legacy .submit6 { border: 1px solid var(--checkout-border); background: var(--cbila); color: var(--ccerna2); }
.checkout-legacy .table-nakupni-kosik {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid var(--checkout-border);
    border-radius: 8px;
}
.checkout-legacy .table-nakupni-kosik tbody { min-width: 620px; }
.checkout-legacy .td-nakupni-kosik1,
.checkout-legacy .td-nakupni-kosik2,
.checkout-legacy .td-nakupni-kosik3 { padding: 9px 7px; font-size: 9px; }
.checkout-legacy .cistic,
.checkout-legacy .cistic-middle,
.checkout-legacy .cistic-big,
.checkout-legacy .cistic-big2,
.checkout-legacy .cistic-big3,
.checkout-legacy .cistic-small { height: 0 !important; min-height: 0 !important; line-height: 0 !important; clear: both; }
.checkout-legacy .div-main20 > .cistic,
.checkout-legacy .div-main20 > .cistic-middle,
.checkout-legacy .div-main20 > .cistic-big,
.checkout-legacy .div-main20 > .cistic-big2,
.checkout-legacy .div-main20 > .cistic-big3,
.checkout-legacy .div-main20 > .cistic-small {
    display: none !important;
}

/* CHECKOUT 2026 - krok 2: jistota skryti legacy technickych inputu i na mobilu. */
.checkout-legacy input.hidden,
.checkout-legacy .hidden {
    display: none !important;
}

/* ========================================================================== */
/* PRABOS CHECKOUT 2026 - krok 2 finalni mobilni layout + PPL modal          */
/* ========================================================================== */
.page-checkout .checkout-page--step-2 .checkout-legacy {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 20px 14px 26px;
}
.checkout-page--step-2 .checkout-legacy .h3-podtrh {
    position: relative;
    margin: 28px 0 17px;
    padding: 0 0 12px;
    border: 0;
    border-bottom: 1px solid var(--checkout-border);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 800;
}
.checkout-page--step-2 .checkout-legacy .h3-podtrh::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 38px;
    height: 3px;
    border-radius: 99px;
    background: var(--coranzova);
}
.checkout-page--step-2 .checkout-legacy form > .h3-podtrh:first-of-type { margin-top: 0; }
.checkout-page--step-2 .checkout-choice-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    width: 100%;
    margin-top: 22px;
}
.checkout-page--step-2 .checkout-choice-card {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
    padding: 15px;
    border: 1px solid var(--checkout-border);
    border-radius: 10px;
    background: var(--cbila);
    box-shadow: 0 6px 20px rgba(var(--rgb-cerna), .035);
}
.checkout-page--step-2 .checkout-choice-card > .h3-podtrh { margin-top: 0; margin-bottom: 13px; }
.checkout-page--step-2 .checkout-choice-card .cistic,
.checkout-page--step-2 .checkout-choice-card .cistic-middle,
.checkout-page--step-2 .checkout-choice-card .cistic-big,
.checkout-page--step-2 .checkout-choice-card .cistic-big2,
.checkout-page--step-2 .checkout-choice-card .cistic-big3,
.checkout-page--step-2 .checkout-choice-card .cistic-small { display: none !important; }
.checkout-page--step-2 .checkout-choice-card .div-platba,
.checkout-page--step-2 .checkout-choice-card .div-doprava {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    width: 100% !important;
    max-width: none !important;
    min-height: 58px;
    margin: 0 0 8px;
    overflow: hidden;
    border: 1px solid var(--checkout-border);
    border-radius: 9px;
    background: var(--cbila);
}
.checkout-page--step-2 .checkout-choice-card .div-platba:has(input[type="radio"]:checked),
.checkout-page--step-2 .checkout-choice-card .div-doprava:has(input[type="radio"]:checked) {
    border-color: var(--coranzova);
    box-shadow: 0 0 0 2px rgba(var(--rgb-oranzova), .07);
}
.checkout-page--step-2 .checkout-choice-card .div-platba1,
.checkout-page--step-2 .checkout-choice-card .div-doprava1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100% !important;
    min-height: 56px;
    padding: 10px 76px 10px 11px !important;
    border: 0 !important;
    background-color: transparent !important;
    background-position: right 10px center !important;
    background-size: auto 22px !important;
}
.checkout-page--step-2 .checkout-choice-card .div-platba2,
.checkout-page--step-2 .checkout-choice-card .div-doprava2 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 70px;
    padding: 10px !important;
    border: 0 !important;
    border-left: 1px solid var(--checkout-border) !important;
    background: var(--checkout-soft) !important;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 800;
}
.checkout-page--step-2 .checkout-choice-card .label-formular { font-size: 11px; line-height: 1.35; }
.checkout-page--step-2 .checkout-choice-card input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    margin: 0;
    border: 1.5px solid #b9beb6;
    border-radius: 50%;
    background: var(--cbila);
    box-shadow: inset 0 0 0 4px var(--cbila);
}
.checkout-page--step-2 .checkout-choice-card input[type="radio"]:checked {
    border-color: var(--coranzova);
    background: var(--coranzova);
}
.checkout-page--step-2 .checkout-choice-card .div-select,
.checkout-page--step-2 .checkout-choice-card .packeta-selector-branch-name {
    width: 100%;
    flex: 0 0 100%;
    margin-top: 7px;
}
.checkout-page--step-2 .checkout-choice-card .div-select .submit,
.checkout-page--step-2 .checkout-ppl-open {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid var(--coranzova);
    border-radius: 7px;
    background: var(--cbila);
    color: var(--coranzova-tmava);
    font-size: 10px;
    font-weight: 800;
}
.checkout-page--step-2 .checkout-ppl-selected {
    min-height: 36px !important;
    margin-top: 8px !important;
    padding: 8px 9px !important;
    border: 1px solid var(--checkout-border) !important;
    border-radius: 7px !important;
    background: var(--checkout-soft) !important;
    font-size: 10px !important;
}
body.checkout-ppl-map-open { overflow: hidden; }
.checkout-ppl-modal {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 10px;
}
.checkout-ppl-modal.is-open { display: flex; }
.checkout-ppl-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(var(--rgb-cerna), .72);
}
.checkout-ppl-modal__dialog {
    position: relative;
    z-index: 1;
    width: calc(100vw - 20px);
    height: calc(100vh - 20px);
    min-height: 430px;
    overflow: hidden;
    border-radius: 11px;
    background: var(--cbila);
}
.checkout-ppl-modal__map,
.checkout-ppl-modal #ppl-parcelshop-map {
    width: 100%;
    height: 100%;
    min-height: 430px;
}
.checkout-ppl-modal__close {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 20;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid rgba(var(--rgb-cerna), .14);
    border-radius: 50%;
    background: rgba(var(--rgb-bila), .97);
    color: var(--ccerna2);
    box-shadow: 0 4px 14px rgba(var(--rgb-cerna), .14);
    font-size: 25px;
    line-height: 1;
}


/* PRABOS CHECKOUT 2026 - aktivni karty + PPL vybrane misto */
.checkout-page--step-2 [data-checkout-choice] { cursor: pointer; }
.checkout-page--step-2 .checkout-choice-card .div-platba.is-selected,
.checkout-page--step-2 .checkout-choice-card .div-doprava.is-selected {
    border-color: var(--coranzova);
    box-shadow: 0 0 0 2px rgba(var(--rgb-oranzova), .08);
    background: #fffdfb;
}
.checkout-page--step-2 .checkout-ppl-selected {
    min-height: 38px !important;
    padding: 9px 10px 9px 31px !important;
    white-space: normal !important;
    line-height: 1.4 !important;
}
.checkout-page--step-2 .checkout-ppl-selected.hidden { display: none !important; }


/* PRABOS CHECKOUT 2026 - PPL vydejni misto na mobilu */
.checkout-page--step-2 .checkout-ppl-choice-selected {
    gap: 9px;
    padding: 10px 12px;
}
.checkout-page--step-2 .checkout-ppl-choice-selected__pin {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
}
.checkout-page--step-2 .checkout-ppl-choice-selected__pin::after {
    left: 6px;
    top: 6px;
}
.checkout-page--step-2 .checkout-ppl-choice-selected__text strong {
    white-space: normal;
}


/* PRABOS CHECKOUT 2026 - validace + krok 3 */
.checkout-validation {
    margin-bottom: 20px;
    padding: 14px 15px;
}
.checkout-page--step-3 .checkout-legacy {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 22px 16px 26px;
}
.checkout-page--step-3 .checkout-review-address-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    margin-bottom: 18px;
}
.checkout-page--step-3 .checkout-review-address {
    padding: 18px;
}


/* PRABOS checkout 2026 - spodni navigace mezi kroky */
.checkout-legacy .checkout-nav-actions {
    display: flex !important;
    align-items: stretch;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--checkout-border);
}
.checkout-legacy .checkout-nav-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: auto !important;
    max-width: calc(50% - 5px);
    min-width: 0;
    margin: 0 !important;
    padding: 9px 11px;
    white-space: normal;
    line-height: 1.25;
}
.checkout-legacy .checkout-nav-button--back { margin-right: auto !important; }
.checkout-legacy .checkout-nav-button--next { margin-left: auto !important; }
.checkout-legacy .checkout-nav-button svg {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* CHECKOUT 2026 - krok 3 / mobil */
.checkout-page--step-3 .checkout-review-choice-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 22px;
}
.checkout-page--step-3 .checkout-review-choice {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 11px;
    padding: 14px;
}
.checkout-page--step-3 .checkout-review-choice__icon {
    width: 40px;
    height: 40px;
}
.checkout-page--step-3 .checkout-review-products-layout {
    grid-template-columns: 1fr;
    gap: 16px;
}
.checkout-page--step-3 .checkout-review-product {
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 12px;
    padding: 13px;
}
.checkout-page--step-3 .checkout-review-product__image {
    width: 84px;
    height: 84px;
}
.checkout-page--step-3 .checkout-review-product__numbers {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding-top: 12px;
    border-top: 1px solid var(--checkout-border);
    text-align: left;
}
.checkout-page--step-3 .checkout-review-product__numbers > div:nth-child(2) {
    text-align: center;
}
.checkout-page--step-3 .checkout-review-product__numbers > div:last-child {
    text-align: right;
}
.checkout-page--step-3 .checkout-review-order-summary {
    position: static;
    top: auto;
    padding: 18px;
}
.checkout-page--step-3 .checkout-review-order-summary__total > strong {
    font-size: 21px;
}
.checkout-page--step-3 .checkout-review-consents {
    margin-top: 22px;
    padding: 16px;
}

/* Checkout step 3: souhlasy + obsahovy lightbox podminek. */
.checkout-page--step-3 .checkout-review-consents {
    padding: 8px 14px;
}
.checkout-page--step-3 .checkout-consent-row {
    align-items: center;
    min-height: 44px;
    gap: 10px;
    padding: 9px 0;
}
.checkout-page--step-3 .checkout-review-consents label {
    font-size: 12px;
    line-height: 1.45;
}
.checkout-terms-lightbox {
    padding: 10px;
}
.checkout-terms-lightbox__dialog {
    width: calc(100vw - 20px);
    height: calc(100dvh - 20px);
    max-height: calc(100dvh - 20px);
    border-radius: 12px;
}
.checkout-terms-lightbox__header {
    top: 10px;
    right: 10px;
    padding: 0;
}
.checkout-terms-lightbox__close {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
}

/* PRABOS CHECKOUT 2026 - krok 4 / mobile */
@media (max-width: 760px) {
    .checkout-complete-card__head {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 14px;
        padding: 22px 18px;
    }

    .checkout-complete-card__check {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
        font-size: 21px;
    }

    .checkout-complete-card__head > div:not(.checkout-complete-card__number) {
        flex: 1 1 calc(100% - 58px);
        min-width: 0;
    }

    .checkout-complete-card__number {
        width: 100%;
        margin: 0;
        text-align: left;
    }

    .checkout-complete-card__body {
        padding: 22px 18px;
    }
}


/* ==========================================================================
   PRABOS MOBILE - filtry katalogu jako vysouvaci drawer
   ========================================================================== */

.catalog-mobile-filter-button {
    display: none;
}

.catalog-filter-drawer-backdrop,
.catalog-filter-drawer-close {
    display: none;
}

.catalog-filters__head-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 860px) {
    /* Filtr uz neni soucasti toku stranky - produkty jsou hned pod toolbarem. */
    .catalog-layout {
        display: block;
    }

    .catalog-results {
        width: 100%;
    }

    .catalog-mobile-filter-button {
        display: inline-flex;
        min-height: 42px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        padding: 8px 13px;
        color: var(--ink);
        border: 1px solid var(--cseda-linka);
        border-radius: 7px;
        background: var(--cbila);
        box-shadow: 0 2px 7px rgba(var(--rgb-cerna), .035);
        cursor: pointer;
        font-size: .75rem;
        font-weight: 850;
        line-height: 1;
        white-space: nowrap;
        transition:
            color .2s ease,
            border-color .2s ease,
            background-color .2s ease,
            transform .2s ease,
            box-shadow .2s ease;
    }

    .catalog-mobile-filter-button:hover,
    .catalog-mobile-filter-button:focus-visible,
    .catalog-mobile-filter-button[aria-expanded="true"] {
        color: var(--coranzova-tmava);
        border-color: rgba(var(--rgb-oranzova), .55);
        background: rgba(var(--rgb-oranzova), .045);
        box-shadow: 0 5px 14px rgba(var(--rgb-oranzova), .09);
    }

    .catalog-mobile-filter-button:active {
        transform: scale(.98);
    }

    .catalog-mobile-filter-button__icon {
        position: relative;
        display: block;
        width: 20px;
        height: 16px;
        flex: 0 0 20px;
    }

    .catalog-mobile-filter-button__icon i {
        position: absolute;
        left: 1px;
        width: 18px;
        height: 1.7px;
        border-radius: 2px;
        background: currentColor;
    }

    .catalog-mobile-filter-button__icon i:nth-child(1) { top: 2px; }
    .catalog-mobile-filter-button__icon i:nth-child(2) { top: 7px; }
    .catalog-mobile-filter-button__icon i:nth-child(3) { top: 12px; }

    .catalog-mobile-filter-button__icon i::after {
        position: absolute;
        top: 50%;
        width: 5px;
        height: 5px;
        border: 1.7px solid currentColor;
        border-radius: 50%;
        background: var(--cbila);
        content: "";
        transform: translateY(-50%);
    }

    .catalog-mobile-filter-button__icon i:nth-child(1)::after { left: 4px; }
    .catalog-mobile-filter-button__icon i:nth-child(2)::after { right: 3px; }
    .catalog-mobile-filter-button__icon i:nth-child(3)::after { left: 7px; }

    .catalog-mobile-filter-button b {
        display: inline-flex;
        min-width: 20px;
        height: 20px;
        align-items: center;
        justify-content: center;
        padding: 0 5px;
        color: var(--cbila);
        border-radius: 999px;
        background: var(--coranzova);
        font-size: .62rem;
        font-weight: 900;
        line-height: 1;
    }

    .catalog-filter-drawer-backdrop {
        position: fixed;
        z-index: 1190;
        inset: 0;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(var(--rgb-cerna), .48);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        cursor: default;
        transition: opacity .28s ease, visibility 0s linear .28s;
        backdrop-filter: blur(1.5px);
        -webkit-backdrop-filter: blur(1.5px);
    }

    .catalog-filter-drawer-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }

    .catalog-filters[data-catalog-filter-drawer] {
        position: fixed;
        z-index: 1200;
        top: 0;
        bottom: 0;
        left: 0;
        width: min(88vw, 410px);
        max-width: 410px;
        height: 100dvh;
        min-width: 0;
        margin: 0;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        border: 0;
        border-right: 1px solid var(--cseda-linka);
        border-radius: 0;
        background: var(--cbila);
        box-shadow: 16px 0 45px rgba(var(--rgb-cerna), .18);
        opacity: 0;
        transform: translate3d(-102%, 0, 0);
        visibility: hidden;
        pointer-events: none;
        transition:
            transform .38s cubic-bezier(.22,.8,.22,1),
            opacity .24s ease,
            visibility 0s linear .38s;
        will-change: transform;
    }

    .catalog-filters[data-catalog-filter-drawer].is-open {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        visibility: visible;
        pointer-events: auto;
        transition-delay: 0s;
    }

    .catalog-filters[data-catalog-filter-drawer] form {
        min-height: 100%;
        margin: 0;
        background: var(--cbila);
    }

    .catalog-filters[data-catalog-filter-drawer] .catalog-filters__head {
        position: sticky;
        z-index: 4;
        top: 0;
        min-height: 62px;
        padding: 12px 14px 12px 17px;
        background: rgba(var(--rgb-bila), .97);
        border-bottom: 1px solid var(--cseda-linka);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .catalog-filters[data-catalog-filter-drawer] .catalog-filters__head strong {
        color: var(--ink);
        font-size: .84rem;
        font-weight: 900;
        letter-spacing: .025em;
    }

    .catalog-filters__head-actions {
        gap: 11px;
    }

    .catalog-filters[data-catalog-filter-drawer] .catalog-filters__head-actions > a {
        font-size: .69rem;
        white-space: nowrap;
    }

    .catalog-filter-drawer-close {
        position: relative;
        display: inline-flex;
        width: 36px;
        height: 36px;
        flex: 0 0 36px;
        align-items: center;
        justify-content: center;
        padding: 0;
        color: var(--ink);
        border: 1px solid var(--cseda-linka);
        border-radius: 50%;
        background: var(--cbila);
        cursor: pointer;
        font-family: Arial, Helvetica, sans-serif;
        line-height: 1;
        transition:
            color .18s ease,
            border-color .18s ease,
            background-color .18s ease,
            transform .18s ease;
    }

    .catalog-filter-drawer-close span {
        display: block;
        margin-top: -2px;
        font-size: 24px;
        font-weight: 300;
        line-height: 1;
    }

    .catalog-filter-drawer-close:hover,
    .catalog-filter-drawer-close:focus-visible {
        color: var(--coranzova-tmava);
        border-color: var(--coranzova);
        background: rgba(var(--rgb-oranzova), .055);
    }

    .catalog-filter-drawer-close:active {
        transform: scale(.94);
    }

    body.catalog-filter-drawer-open {
        overflow: hidden;
        touch-action: none;
    }

    body.catalog-filter-drawer-open .catalog-filters[data-catalog-filter-drawer] {
        touch-action: pan-y;
    }
}

@media (max-width: 600px) {
    .catalog-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        gap: 10px 8px;
    }

    .catalog-toolbar__count {
        align-self: center;
        grid-column: 1;
        grid-row: 1;
    }

    .catalog-mobile-filter-button {
        grid-column: 2;
        grid-row: 1;
    }

    .catalog-sort {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .catalog-filters[data-catalog-filter-drawer] {
        width: min(91vw, 390px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-mobile-filter-button,
    .catalog-filter-drawer-backdrop,
    .catalog-filters[data-catalog-filter-drawer],
    .catalog-filter-drawer-close {
        transition: none !important;
    }
}


/* ==========================================================================
   PRABOS 2026 - POROVNANI PRODUKTU / MOBILE
   Fixni prvni sloupec + kompletni styl nakupniho radku
   ========================================================================== */
@media (max-width: 760px) {

    /* --------------------------------------------------------------
       Horizontalni porovnani: prvni sloupec s nazvy parametru zustava
       pri posunu tabulky vzdy vlevo.
       -------------------------------------------------------------- */
    .page-compare .compare-table-wrap {
        position: relative;
        width: 100%;
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        isolation: isolate;
    }

    .page-compare .compare-table {
        min-width: 760px;
        border-collapse: separate;
        border-spacing: 0;
    }

    .page-compare .compare-table tr > :first-child {
        position: sticky;
        left: 0;
        z-index: 5;
        width: 138px;
        min-width: 138px;
        max-width: 138px;
        background: var(--cseda-svetla);
        box-shadow: 8px 0 13px -13px rgba(var(--rgb-cerna), .55);
    }

    .page-compare .compare-table thead tr > :first-child {
        z-index: 7;
    }

    .page-compare .compare-table tbody tr:last-child > :first-child {
        background: var(--cseda-svetla);
    }

    .page-compare .compare-table__property,
    .page-compare .compare-table tbody th {
        width: 138px;
        min-width: 138px;
        max-width: 138px;
        padding: 13px 12px;
        font-size: .69rem;
        line-height: 1.35;
        overflow-wrap: anywhere;
    }

    /* Produktovy sloupec musi mit dost mista i pro kosik. */
    .page-compare .compare-table__product,
    .page-compare .compare-table tbody td {
        min-width: 250px;
    }

    /* --------------------------------------------------------------
       Radek "Pridat do kosiku".
       V mobile CSS byly dosud pouze dva drobne override, chybel cely
       zaklad komponenty, proto prvky vypadaly jako nativni HTML.
       -------------------------------------------------------------- */
    .page-compare .compare-table__cart-row > th,
    .page-compare .compare-table__cart-row > td {
        vertical-align: top;
    }

    .page-compare .compare-cart-cell {
        padding: 14px !important;
        background: var(--cbila);
    }

    .page-compare .compare-cart-box {
        display: grid;
        width: 100%;
        gap: 11px;
    }

    .page-compare .compare-cart-box__variant {
        display: grid;
        width: 100%;
        gap: 6px;
    }

    .page-compare .compare-cart-box__variant > span {
        color: var(--cseda-text);
        font-size: .61rem;
        font-weight: 850;
        line-height: 1;
        letter-spacing: .035em;
        text-transform: uppercase;
    }

    .page-compare .compare-cart-box__variant select {
        box-sizing: border-box;
        width: 100%;
        min-height: 42px;
        margin: 0;
        padding: 8px 34px 8px 11px;
        color: var(--ccerna);
        border: 1px solid var(--cseda-linka);
        border-radius: 7px;
        background-color: var(--cbila);
        font: inherit;
        font-size: .76rem;
        font-weight: 750;
        line-height: 1.2;
        cursor: pointer;
        outline: none;
        transition: border-color .18s ease, box-shadow .18s ease;
    }

    .page-compare .compare-cart-box__variant select:focus {
        border-color: var(--coranzova);
        box-shadow: 0 0 0 3px rgba(var(--rgb-oranzova), .08);
    }

    .page-compare .compare-cart-box__price {
        display: block;
        color: var(--ccerna);
        font-size: 1rem;
        font-weight: 900;
        line-height: 1.15;
    }

    .page-compare .compare-cart-box__bottom {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        align-items: stretch;
    }

    .page-compare .compare-cart-qty {
        display: grid;
        width: 118px;
        min-height: 42px;
        grid-template-columns: 38px 42px 38px;
        overflow: hidden;
        border: 1px solid var(--cseda-linka);
        border-radius: 7px;
        background: var(--cbila);
    }

    .page-compare .compare-cart-qty button,
    .page-compare .compare-cart-qty input {
        box-sizing: border-box;
        min-width: 0;
        width: 100%;
        height: 42px;
        margin: 0;
        padding: 0;
        color: var(--ccerna);
        border: 0;
        border-radius: 0;
        background: var(--cbila);
        font: inherit;
        font-size: .76rem;
        font-weight: 850;
        line-height: 42px;
        text-align: center;
        outline: none;
    }

    .page-compare .compare-cart-qty button {
        background: var(--cseda-svetla);
        cursor: pointer;
        transition: color .17s ease, background-color .17s ease;
    }

    .page-compare .compare-cart-qty button:active,
    .page-compare .compare-cart-qty button:focus-visible {
        color: var(--coranzova-tmava);
        background: rgba(var(--rgb-oranzova), .07);
    }

    .page-compare .compare-cart-qty input {
        -moz-appearance: textfield;
        border-right: 1px solid var(--cseda-linka);
        border-left: 1px solid var(--cseda-linka);
    }

    .page-compare .compare-cart-qty input::-webkit-outer-spin-button,
    .page-compare .compare-cart-qty input::-webkit-inner-spin-button {
        margin: 0;
        -webkit-appearance: none;
    }

    .page-compare .compare-cart-box__button {
        display: inline-flex;
        box-sizing: border-box;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 10px 13px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: var(--cbila);
        border: 1px solid var(--coranzova);
        border-radius: 7px;
        background: var(--coranzova);
        box-shadow: 0 6px 16px rgba(var(--rgb-oranzova), .14);
        font: inherit;
        font-size: .68rem;
        font-weight: 900;
        line-height: 1.2;
        letter-spacing: .015em;
        text-align: center;
        text-transform: uppercase;
        cursor: pointer;
        transition:
            transform .17s ease,
            background-color .17s ease,
            border-color .17s ease,
            box-shadow .17s ease;
    }

    .page-compare .compare-cart-box__button span {
        font-size: .9rem;
        line-height: 1;
    }

    .page-compare .compare-cart-box__button:active,
    .page-compare .compare-cart-box__button:focus-visible {
        border-color: var(--coranzova-tmava);
        background: var(--coranzova-tmava);
        box-shadow: 0 8px 18px rgba(var(--rgb-oranzova), .19);
        transform: translateY(-1px);
        outline: none;
    }

    .page-compare .compare-cart-box__button.is-loading,
    .page-compare .compare-cart-box__button:disabled {
        cursor: wait;
        opacity: .62;
        transform: none;
        box-shadow: none;
    }

    .page-compare .compare-cart-box__out {
        padding: 12px;
        color: var(--cseda-text);
        border: 1px solid var(--cseda-linka);
        border-radius: 7px;
        background: var(--cseda-svetla);
        font-size: .69rem;
        font-weight: 750;
        line-height: 1.45;
        text-align: center;
    }
}


/* ==========================================================================
   PRABOS 2026 - IOS INPUT ZOOM FIX
   iOS Safari automaticky zoomuje stranku pri focusu na formularovy prvek,
   pokud ma jeho text mene nez 16 px.
   ========================================================================== */
@media (max-width: 860px) {
    @supports (-webkit-touch-callout: none) {
        input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="range"]):not([type="color"]):not([type="hidden"]),
        select,
        textarea {
            font-size: 16px !important;
        }
    }
}

/* Homepage banner: jemny Ken Burns efekt pro obe fotografie aktivniho slidu. */
.homepage-banner-slide__image img {
    transform: scale(1.01);
    transform-origin: center center;
    will-change: transform;
}

.homepage-banner-slide.is-active .homepage-banner-slide__image img,
.homepage-banner-slide.is-leaving .homepage-banner-slide__image img {
    animation: homepage-banner-photo-zoom 7.8s linear forwards;
}

@keyframes homepage-banner-photo-zoom {
    from { transform: scale(1.01); }
    to { transform: scale(1.13); }
}

@media (prefers-reduced-motion: reduce) {
    .homepage-banner-slide__image img {
        transform: scale(1.01) !important;
        animation: none !important;
    }
}


@media (max-width: 560px) {
    .content-youtube-embed {
        margin: 22px auto;
        padding: 5px;
        border-radius: 10px;
    }

    .content-youtube-embed__frame {
        border-radius: 7px;
    }

    .content-youtube-embed__caption {
        padding: 9px 7px 4px;
        font-size: .72rem;
    }
}

/* ========================================================================== */
/* CENTRALIZOVANE FRONTEND STYLY - 2026-10-13                                 */
/* ========================================================================== */

/* --- Online poradna (drive inc/chat.css) --- */
/* PRABOS online poradna --------------------------------------------------- */
.prabos-chat-toggle,
.prabos-chat-box,
.prabos-chat-box * {
    box-sizing: border-box;
}

.prabos-chat-toggle {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 990;
    display: grid;
    width: 62px;
    height: 62px;
    padding: 0;
    place-items: center;
    color: #fff;
    border: 0;
    border-radius: 50%;
    background: #ff6900;
    box-shadow: 0 14px 34px rgba(26, 22, 18, .28);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.prabos-chat-toggle:hover,
.prabos-chat-toggle:focus-visible {
    background: #ea5f00;
    box-shadow: 0 16px 38px rgba(26, 22, 18, .34);
    transform: translateY(-2px);
}

.prabos-chat-toggle:focus-visible,
.prabos-chat-close:focus-visible,
.prabos-chat-suggestion:focus-visible,
.prabos-chat-send:focus-visible,
.prabos-chat-input:focus-visible {
    outline: 3px solid rgba(255, 105, 0, .32);
    outline-offset: 3px;
}

.prabos-chat-toggle svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.prabos-chat-box {
    position: fixed;
    right: 22px;
    bottom: 98px;
    z-index: 991;
    display: flex;
    overflow: hidden;
    width: min(390px, calc(100vw - 32px));
    height: min(620px, calc(100vh - 124px));
    min-height: 430px;
    flex-direction: column;
    color: #151714;
    border: 1px solid rgba(20, 23, 19, .14);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 17, 14, .28);
    font-family: Arial, Helvetica, sans-serif;
    opacity: 0;
    pointer-events: none;
    transform: translateY(14px) scale(.98);
    transform-origin: right bottom;
    visibility: hidden;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.prabos-chat-box.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    visibility: visible;
}

.prabos-chat-header {
    display: flex;
    min-height: 74px;
    padding: 14px 14px 14px 18px;
    align-items: center;
    gap: 13px;
    color: #fff;
    background: #0c0f0c;
}

.prabos-chat-logo {
    display: block;
    width: 103px;
    height: 34px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.prabos-chat-title {
    min-width: 0;
    margin: 0;
    flex: 1 1 auto;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
}

.prabos-chat-close {
    display: grid;
    width: 40px;
    height: 40px;
    padding: 0;
    flex: 0 0 40px;
    place-items: center;
    color: #fff;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .1);
    cursor: pointer;
}

.prabos-chat-close:hover { background: rgba(255, 255, 255, .18); }
.prabos-chat-close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }

.prabos-chat-messages {
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 0;
    padding: 18px 16px 12px;
    flex: 1 1 auto;
    background: #f5f6f2;
    overscroll-behavior: contain;
}

.prabos-chat-message {
    display: flex;
    margin: 0 0 12px;
}

.prabos-chat-message--user { justify-content: flex-end; }

.prabos-chat-bubble {
    max-width: 84%;
    padding: 11px 13px;
    color: #2b3029;
    border: 1px solid #e0e3db;
    border-radius: 15px 15px 15px 4px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(27, 31, 25, .05);
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}

.prabos-chat-message--user .prabos-chat-bubble {
    color: #fff;
    border-color: #ff6900;
    border-radius: 15px 15px 4px 15px;
    background: #ff6900;
}

.prabos-chat-bubble a {
    color: #315a14;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.prabos-chat-message--user .prabos-chat-bubble a { color: #fff; }

.prabos-chat-loading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #697065;
}

.prabos-chat-spinner {
    width: 15px;
    height: 15px;
    border: 2px solid #d5d9d0;
    border-top-color: #ff6900;
    border-radius: 50%;
    animation: prabos-chat-spin .7s linear infinite;
}

.prabos-chat-suggestions {
    display: flex;
    overflow-x: auto;
    padding: 10px 14px 8px;
    gap: 7px;
    border-top: 1px solid #e4e6df;
    background: #fff;
    scrollbar-width: thin;
}

.prabos-chat-suggestion {
    min-width: max-content;
    padding: 8px 11px;
    color: #334b22;
    border: 1px solid #cfd8c8;
    border-radius: 999px;
    background: #f7f9f4;
    font: 700 12px/1.25 Arial, Helvetica, sans-serif;
    cursor: pointer;
}

.prabos-chat-suggestion:hover { border-color: #7d946e; background: #eef3e9; }

.prabos-chat-form {
    display: flex;
    padding: 11px 12px 8px;
    align-items: flex-end;
    gap: 8px;
    border-top: 1px solid #e4e6df;
    background: #fff;
}

.prabos-chat-input {
    display: block;
    overflow-y: auto;
    width: 100%;
    min-height: 43px;
    max-height: 112px;
    padding: 11px 12px;
    resize: none;
    color: #1d211b;
    border: 1px solid #cfd3cb;
    border-radius: 10px;
    background: #fff;
    font: 14px/1.4 Arial, Helvetica, sans-serif;
}

.prabos-chat-input:focus { border-color: #7f9770; }

.prabos-chat-send {
    display: grid;
    width: 43px;
    height: 43px;
    padding: 0;
    flex: 0 0 43px;
    place-items: center;
    color: #fff;
    border: 0;
    border-radius: 10px;
    background: #ff6900;
    cursor: pointer;
}

.prabos-chat-send:hover { background: #e95f00; }
.prabos-chat-send:disabled { cursor: wait; opacity: .55; }
.prabos-chat-send svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

.prabos-chat-note {
    margin: 0;
    padding: 0 14px 10px;
    color: #858a82;
    background: #fff;
    font-size: 10px;
    line-height: 1.35;
    text-align: center;
}

.site-scroll-top { right: 104px; }

body.cookie-consent-pending .prabos-chat-toggle,
body.cookie-consent-pending .prabos-chat-box {
    display: none !important;
}

@keyframes prabos-chat-spin { to { transform: rotate(360deg); } }

@media (max-width: 860px) {
    .prabos-chat-toggle {
        right: 12px;
        bottom: 12px;
        width: 58px;
        height: 58px;
    }

    .prabos-chat-box {
        right: 10px;
        bottom: 80px;
        left: 10px;
        width: auto;
        height: min(610px, calc(100dvh - 96px));
        min-height: 360px;
        transform-origin: center bottom;
    }

    .prabos-chat-header { min-height: 68px; padding: 12px 12px 12px 15px; }
    .prabos-chat-logo { width: 92px; height: 31px; }
    .prabos-chat-messages { padding: 15px 13px 9px; }
    .prabos-chat-bubble { max-width: 88%; font-size: 13px; }
    .site-scroll-top { right: 82px; bottom: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .prabos-chat-toggle,
    .prabos-chat-box {
        transition: none !important;
    }

    .prabos-chat-spinner { animation: none !important; }
}

/* --- Cookies (drive cookies/cookies*.css) --- */
/* ==========================================================================
   PRABOS 2026 - COOKIES
   Samostatne styly cookie listy a panelu predvoleb.
   ========================================================================== */

#cookies-div-zluta,
#cookies-div-bila,
#cookies-ikona {
    --cookie-black: #0b0d0c;
    --cookie-white: #ffffff;
    --cookie-orange: #ff6900;
    --cookie-orange-dark: #d85f00;
    --cookie-text: #555b52;
    --cookie-text-soft: #747a70;
    --cookie-line: #dedfd9;
    --cookie-soft: #f4f5f1;
    --cookie-off: #777b75;
    --cookie-shadow: 0 24px 72px rgba(0,0,0,.22), 0 5px 18px rgba(0,0,0,.08);
    font-family: Arial, Helvetica, sans-serif;
}

/* --------------------------------------------------------------------------
   PREPINACE
   cookies-prepinac1 = technicke cookies / trvale zapnute
   cookies-prepinac2 = zapnuto
   cookies-prepinac3 = vypnuto
   -------------------------------------------------------------------------- */
.cookies-prepinac {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 46px;
    height: 26px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
    vertical-align: middle;
    transition:
        background-color .28s cubic-bezier(.22,1,.36,1),
        box-shadow .28s ease,
        transform .18s ease;
}

.cookies-prepinac::before {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,.22);
    content: "";
    transform: translateX(0);
    transition:
        transform .30s cubic-bezier(.22,1,.36,1),
        box-shadow .28s ease;
    will-change: transform;
}

/* technicke cookies - zapnuto, ale vizualne mene aktivni */
.cookies-prepinac1 {
    background: #8b9088 !important;
    cursor: default;
    opacity: .72;
}

.cookies-prepinac1::before {
    transform: translateX(20px);
}

/* zapnuto */
.cookies-prepinac2 {
    background: #ff6900 !important;
    cursor: pointer;
}

.cookies-prepinac2::before {
    transform: translateX(20px);
}

/* vypnuto */
.cookies-prepinac3 {
    background: #7b8079 !important;
    cursor: pointer;
}

.cookies-prepinac3::before {
    transform: translateX(0);
}

.cookies-prepinac2:hover,
.cookies-prepinac3:hover {
    box-shadow:
        inset 0 0 0 1px rgba(0,0,0,.08),
        0 0 0 4px rgba(255,105,0,.10);
}

.cookies-prepinac2:active,
.cookies-prepinac3:active {
    transform: scale(.96);
}

.cookies-prepinac-animace {
    animation: cookies-switch-pop .28s cubic-bezier(.22,1,.36,1);
}

@keyframes cookies-switch-pop {
    0%   { transform: scale(1); }
    45%  { transform: scale(.95); }
    75%  { transform: scale(1.035); }
    100% { transform: scale(1); }
}

/* --------------------------------------------------------------------------
   ZAVIRACI TLACITKO - ciste CSS, zadny PNG ani SVG
   -------------------------------------------------------------------------- */
.cookies-zavrit {
    position: relative;
    display: inline-flex;
    box-sizing: border-box;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #dedfd9;
    border-radius: 9px;
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: none;
    color: #0b0d0c;
    font-size: 0 !important;
    line-height: 1;
    cursor: pointer;
    outline: none;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        color .18s ease,
        transform .18s cubic-bezier(.22,1,.36,1);
}

.cookies-zavrit > * {
    display: none !important;
}

.cookies-zavrit::before {
    position: static;
    display: block !important;
    width: auto;
    height: auto;
    background: none !important;
    color: currentColor;
    content: "×" !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-1px);
}

.cookies-zavrit::after {
    display: none !important;
    content: none !important;
}

.cookies-zavrit:hover,
.cookies-zavrit:focus-visible {
    border-color: #ff6900;
    background: #fff7f1 !important;
    color: #d85f00;
    transform: translateY(-1px);
}

.cookies-zavrit:active {
    transform: scale(.95);
}


/* Technicke cookie iframe - nikdy nesmi zabirat misto v layoutu. */
iframe#iframe_cookie1,
iframe#iframe_cookie2,
#iframe_cookie1,
#iframe_cookie2 {
    position: absolute !important;
    top: -10000px !important;
    left: -10000px !important;
    display: block !important;
    width: 1px !important;
    min-width: 0 !important;
    height: 1px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   PRVNI PANEL
   -------------------------------------------------------------------------- */
#cookies-div-zluta {
    position: fixed;
    z-index: 10050;
    left: 50%;
    right: auto;
    bottom: 22px;
    box-sizing: border-box;
    float: none;
    width: min(720px, calc(100vw - 44px));
    height: auto;
    max-height: calc(100dvh - 44px);
    margin: 0;
    padding: 27px 30px 24px;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--cookie-text);
    background: var(--cookie-white);
    border: 1px solid var(--cookie-line);
    border-radius: 14px;
    box-shadow: var(--cookie-shadow);
    font-size: 13px;
    line-height: 1.58;
    text-align: left;
    opacity: 1;
    transform: translateX(-50%);
    animation: cookies-panel-in .30s cubic-bezier(.22,1,.36,1) both;
}

#cookies-div-zluta::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--cookie-orange);
    content: "";
}

#cookies-div-zluta h1,
#cookies-div-zluta h2,
#cookies-div-zluta h3 {
    margin: 0 0 9px;
    padding: 0;
    color: var(--cookie-black);
    background: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-align: left;
}

#cookies-div-zluta p {
    margin: 0;
    padding: 0;
    color: var(--cookie-text);
    font-size: 13px;
    line-height: 1.58;
}

#cookies-div-zluta1 {
    box-sizing: border-box;
    float: none;
    width: 100%;
    margin: 0 0 19px;
    padding: 0;
}

#cookies-div-zluta2 {
    box-sizing: border-box;
    float: none;
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
}

#cookies-div-zluta a,
#cookies-div-zluta a:hover,
#cookies-div-zluta a:focus-visible {
    color: var(--cookie-orange-dark);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   TLACITKA
   -------------------------------------------------------------------------- */
.cookies-button1,
.cookies-button2,
.cookies-button3 {
    box-sizing: border-box;
    float: none;
    display: inline-flex;
    min-height: 44px;
    margin: 0;
    padding: 0 17px;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px !important;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    transition:
        transform .18s ease,
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        box-shadow .18s ease;
}

.cookies-button1 {
    color: var(--cookie-black);
    background: var(--cookie-white);
    border: 1px solid #bfc3b8;
    box-shadow: none;
}

.cookies-button2,
.cookies-button3 {
    color: var(--cookie-white);
    background: var(--cookie-orange);
    background-image: none !important;
    border: 1px solid var(--cookie-orange);
    box-shadow: 0 8px 18px rgba(255,105,0,.18);
}

.cookies-button1:hover,
.cookies-button1:focus-visible {
    color: var(--cookie-orange-dark);
    border-color: var(--cookie-orange);
    transform: translateY(-1px);
}

.cookies-button2:hover,
.cookies-button2:focus-visible,
.cookies-button3:hover,
.cookies-button3:focus-visible {
    color: var(--cookie-white);
    background: var(--cookie-orange-dark);
    border-color: var(--cookie-orange-dark);
    transform: translateY(-1px);
    box-shadow: 0 11px 22px rgba(255,105,0,.24);
}

/* --------------------------------------------------------------------------
   DRUHY PANEL / PREDVOLBY
   -------------------------------------------------------------------------- */
#cookies-div-bila {
    display: none !important;
    position: fixed;
    z-index: 10060;
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    box-sizing: border-box;
    width: min(880px, calc(100vw - 52px));
    max-height: calc(100dvh - 64px);
    margin: 0;
    padding: 28px 31px 27px;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--cookie-text);
    background: var(--cookie-white);
    border: 1px solid var(--cookie-line);
    border-radius: 16px;
    box-shadow:
        0 0 0 100vmax rgba(9,11,10,.64),
        0 30px 90px rgba(0,0,0,.30);
    font-size: 12px;
    line-height: 1.55;
    opacity: 1;
    transform: translate(-50%, -50%);
}


/* Detail nastaveni cookies se otevre VYHRADNE po explicitnim kliknuti uzivatele. */
html.cookies-settings-open #cookies-div-bila {
    display: block !important;
    animation: cookies-settings-in .22s cubic-bezier(.22,1,.36,1) both;
}

@keyframes cookies-settings-in {
    from {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 10px));
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

#cookies-div-bila .cookies-div-main {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

#cookies-div-bila table {
    width: 100% !important;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
}

#cookies-div-bila tbody,
#cookies-div-bila tr {
    background: transparent;
}

#cookies-div-bila td {
    padding: 6px 7px;
    border: 0;
    color: var(--cookie-text);
    background: transparent;
    vertical-align: top;
}

/* Historickou cookies ilustraci v detailu uz nepotrebujeme. */
#cookies-div-bila .cookies-bila1,
#cookies-div-bila .cookies-bila1 img,
#cookies-div-bila .cookies-bila1 .img-embed-wrap {
    display: none !important;
}

#cookies-div-bila h1,
#cookies-div-bila h2 {
    margin: 0 0 7px;
    padding: 0;
    color: var(--cookie-black);
    background: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px !important;
    font-weight: 800;
    line-height: 1.18;
    letter-spacing: -.03em;
    text-align: left;
}

#cookies-div-bila h3 {
    margin: 0;
    padding: 0;
    color: var(--cookie-black);
    background: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px !important;
    font-weight: 800;
    line-height: 1.3;
    text-align: left;
}

#cookies-div-bila p {
    margin: 0;
    color: var(--cookie-text);
}

#cookies-div-bila a,
#cookies-div-bila a:hover,
#cookies-div-bila a:focus-visible {
    color: var(--cookie-orange-dark);
}

/* Prazdne oddelovaci radky historicke tabulkove sablony. */
#cookies-div-bila tr:nth-child(2),
#cookies-div-bila tr:nth-child(5),
#cookies-div-bila tr:nth-child(8),
#cookies-div-bila tr:nth-child(11),
#cookies-div-bila tr:nth-child(13) {
    display: none;
}

#cookies-div-bila tr:first-child td {
    padding-top: 0;
    padding-bottom: 16px;
}

#cookies-div-bila tr:first-child td:last-child {
    width: 46px;
    padding-left: 12px;
    text-align: right;
}

#cookies-div-bila tr:nth-child(3) td,
#cookies-div-bila tr:nth-child(6) td,
#cookies-div-bila tr:nth-child(9) td {
    padding-top: 14px;
    padding-bottom: 8px;
    border-top: 1px solid var(--cookie-line);
}

#cookies-div-bila tr:nth-child(4) td,
#cookies-div-bila tr:nth-child(7) td,
#cookies-div-bila tr:nth-child(10) td {
    padding-bottom: 13px;
    color: var(--cookie-text-soft);
    font-size: 12px;
    line-height: 1.55;
}

#cookies-div-bila tr:nth-child(12) td:first-child {
    padding: 12px 14px;
    color: var(--cookie-black);
    background: rgba(255,105,0,.065);
    border-left: 3px solid var(--cookie-orange);
    border-radius: 5px;
}

#cookies-div-bila tr:last-child td[colspan] {
    display: flex;
    padding: 17px 0 0;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
    border-top: 1px solid var(--cookie-line);
}

/* Ikona pro pozdejsi otevreni nastaveni cookies. */
#cookies-ikona {
    position: fixed;
    z-index: 1200;
    right: auto;
    bottom: 18px;
    left: 18px;
    box-sizing: border-box;
    width: 43px;
    height: 43px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255,105,0,.38);
    border-radius: 50%;
    background: url("../cookies/img/bcg_ikona1.png") center / 20px 20px no-repeat var(--cookie-white);
    box-shadow: 0 8px 25px rgba(0,0,0,.16);
    cursor: pointer;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

#cookies-ikona:hover,
#cookies-ikona:focus-visible {
    border-color: var(--cookie-orange);
    box-shadow: 0 10px 28px rgba(255,105,0,.18);
    transform: translateY(-2px);
}

@keyframes cookies-panel-in {
    from {
        opacity: 0;
        transform: translate(-50%, 14px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

@media (max-width: 700px) {
    #cookies-div-zluta {
        bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 30px);
        padding: 21px 19px 18px;
        border-radius: 12px;
        font-size: 12px;
    }

    #cookies-div-zluta h1,
    #cookies-div-zluta h2,
    #cookies-div-zluta h3 {
        font-size: 19px;
    }

    #cookies-div-zluta1 {
        margin-bottom: 16px;
    }

    #cookies-div-zluta2 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #cookies-div-zluta .cookies-button1,
    #cookies-div-zluta .cookies-button2,
    #cookies-div-zluta .cookies-button3 {
        width: 100%;
        min-height: 45px;
    }

    #cookies-div-bila {
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 28px);
        padding: 21px 17px 19px;
        border-radius: 13px;
        font-size: 11px;
    }

    #cookies-div-bila h1,
    #cookies-div-bila h2 {
        font-size: 21px !important;
    }

    #cookies-div-bila h3 {
        font-size: 13px !important;
    }

    #cookies-div-bila td {
        padding-right: 3px;
        padding-left: 3px;
    }

    #cookies-div-bila tr:first-child td:last-child {
        width: 42px;
        padding-left: 6px;
    }

    #cookies-div-bila tr:nth-child(4) td,
    #cookies-div-bila tr:nth-child(7) td,
    #cookies-div-bila tr:nth-child(10) td {
        font-size: 11px;
    }

    #cookies-div-bila tr:last-child td[colspan] {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #cookies-div-bila tr:last-child .cookies-button1,
    #cookies-div-bila tr:last-child .cookies-button2,
    #cookies-div-bila tr:last-child .cookies-button3 {
        width: 100%;
    }

    .cookies-zavrit {
        width: 36px;
        height: 36px;
    }

    #cookies-ikona {
        bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
        left: 12px;
        width: 40px;
        height: 40px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #cookies-div-zluta,
    .cookies-prepinac-animace {
        animation: none !important;
    }

    .cookies-button1,
    .cookies-button2,
    .cookies-button3,
    .cookies-zavrit,
    #cookies-ikona,
    .cookies-prepinac,
    .cookies-prepinac::before {
        transition: none !important;
    }
}
/* ==========================================================================
   PRABOS 2026 - MOBILE COOKIE OVERRIDES
   ========================================================================== */
#cookies-div-zluta {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 30px);
    padding: 21px 19px 18px;
    border-radius: 12px;
    font-size: 12px;
}

#cookies-div-zluta h1,
#cookies-div-zluta h2,
#cookies-div-zluta h3 {
    font-size: 19px;
}

#cookies-div-zluta1 {
    margin-bottom: 16px;
}

#cookies-div-zluta2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

#cookies-div-zluta .cookies-button1,
#cookies-div-zluta .cookies-button2,
#cookies-div-zluta .cookies-button3 {
    width: 100%;
    min-height: 45px;
}

#cookies-div-bila {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 28px);
    padding: 21px 17px 19px;
    border-radius: 13px;
    font-size: 11px;
}

#cookies-div-bila h1,
#cookies-div-bila h2 {
    font-size: 21px !important;
}

#cookies-div-bila h3 {
    font-size: 13px !important;
}

#cookies-div-bila td {
    padding-right: 3px;
    padding-left: 3px;
}

#cookies-div-bila tr:first-child td:last-child {
    width: 42px;
    padding-left: 6px;
}

#cookies-div-bila tr:nth-child(4) td,
#cookies-div-bila tr:nth-child(7) td,
#cookies-div-bila tr:nth-child(10) td {
    font-size: 11px;
}

#cookies-div-bila tr:last-child td[colspan] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

#cookies-div-bila tr:last-child .cookies-button1,
#cookies-div-bila tr:last-child .cookies-button2,
#cookies-div-bila tr:last-child .cookies-button3 {
    width: 100%;
}

.cookies-zavrit {
    width: 36px;
    height: 36px;
}

#cookies-ikona {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 12px);
    left: 12px;
    width: 40px;
    height: 40px;
}

/* ========================================================================== */
/* PRABOS - footer 2 (presunuto z index.php)                                  */
/* ========================================================================== */
.site-footer2 {
    color: rgba(var(--rgb-bila), .68);
    background: var(--ccerna2);
    border-top: 1px solid rgba(var(--rgb-bila), .08);
}
.site-footer2__inner {
    display: grid;
    min-height: 42px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    font-size: .72rem;
    line-height: 1.25;
}
.site-footer2__copyright { justify-self: start; min-width: 0; }
.site-footer2__copyright p,
.site-footer2__social p { margin: 0; }
.site-footer2__nowonet { justify-self: center; line-height: 0; }
.site-footer2__nowonet-link {
    display: inline-flex;
    color: var(--cbila);
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}
.site-footer2__nowonet-link:hover,
.site-footer2__nowonet-link:focus-visible { color: var(--coranzova); transform: translateY(-1px); }
.site-footer2__nowonet-logo {
    display: block;
    width: 94px;
    height: 23px;
    background: currentColor;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}
.site-footer2__social { justify-self: end; }
.site-footer2__social-links { display: flex; align-items: center; justify-content: flex-end; gap: 17px; }
.site-footer2__social-link {
    display: inline-flex;
    width: 21px;
    height: 21px;
    align-items: center;
    justify-content: center;
    color: var(--cbila);
    text-decoration: none;
    transition: color 180ms ease, transform 180ms ease;
}
.site-footer2__social-link:hover,
.site-footer2__social-link:focus-visible { color: var(--coranzova); transform: translateY(-1px); }
.site-footer2__social-link svg { display: block; width: 100%; height: 100%; fill: currentColor; }

/* ========================================================================== */
/* Checkout - finalni pravidla lightboxu podminek (presunuto z index.php)     */
/* ========================================================================== */
body.checkout-terms-lightbox-open { overflow: hidden !important; }
.checkout-terms-lightbox[hidden] { display: none !important; }
.checkout-terms-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease;
}
.checkout-terms-lightbox.is-open { opacity: 1; pointer-events: auto; }
.checkout-terms-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11,13,12,.72);
    backdrop-filter: blur(3px);
}
.checkout-terms-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(980px, calc(100vw - 56px));
    height: min(760px, calc(100vh - 56px));
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 26px 80px rgba(0,0,0,.32);
    transform: translateY(12px) scale(.985);
    transition: transform .18s ease;
}
.checkout-terms-lightbox.is-open .checkout-terms-lightbox__dialog { transform: translateY(0) scale(1); }
.checkout-terms-lightbox__header { position: absolute; top: 12px; right: 12px; z-index: 3; }
.checkout-terms-lightbox__close {
    position: relative;
    display: block;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #10120f;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.checkout-terms-lightbox__close span::before,
.checkout-terms-lightbox__close span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
}
.checkout-terms-lightbox__close span::before { transform: translate(-50%,-50%) rotate(45deg); }
.checkout-terms-lightbox__close span::after { transform: translate(-50%,-50%) rotate(-45deg); }
.checkout-terms-lightbox__content { flex: 1 1 auto; min-height: 0; }
.checkout-terms-lightbox__iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }

/* ========================================================================== */
/* Docasna pripravovana stranka                                               */
/* ========================================================================== */
body.page-prabos-placeholder {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px;
    color: #ffffff;
    background:
        radial-gradient(circle at 18% 12%, rgba(255,126,0,.16), transparent 34%),
        radial-gradient(circle at 82% 85%, rgba(255,126,0,.08), transparent 28%),
        #0b0d0c;
    font-family: Arial, Helvetica, sans-serif;
}
body.page-prabos-placeholder .placeholder {
    width: min(720px, 100%);
    padding: 0;
    text-align: center;
}
body.page-prabos-placeholder .placeholder-logo {
    display: block;
    width: min(310px, 70vw);
    height: auto;
    margin: 0 auto 54px;
    filter: brightness(0) invert(1);
}
body.page-prabos-placeholder .placeholder-line {
    width: 54px;
    height: 4px;
    margin: 0 auto 28px;
    border-radius: 10px;
    background: #ff7900;
}
body.page-prabos-placeholder .placeholder h1 {
    margin: 0 0 18px;
    font-size: clamp(32px, 5vw, 56px);
    line-height: 1.05;
    letter-spacing: -.035em;
}
body.page-prabos-placeholder .placeholder p {
    max-width: 560px;
    margin: 0 auto;
    color: rgba(255,255,255,.72);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
}
body.page-prabos-placeholder .placeholder small {
    display: block;
    margin-top: 48px;
    color: rgba(255,255,255,.36);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* ========================================================================== */
/* Samostatne zobrazeni dokumentu / checkout lightbox                         */
/* ========================================================================== */
body.page-document-view { margin: 0; padding: 0; }
body.page-document-view.checkout-lightbox-document-page {
    color: #10120f;
    background: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px;
    line-height: 1.65;
}
.checkout-lightbox-document {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 28px 34px 42px;
    overflow-wrap: anywhere;
}
.checkout-lightbox-document h2 {
    margin: 0 0 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid #dedfd9;
    color: #10120f;
    font-size: 24px;
    line-height: 1.2;
}
.checkout-lightbox-document h3 { margin: 26px 0 10px; font-size: 18px; }
.checkout-lightbox-document p { margin: 0 0 14px; }
.checkout-lightbox-document ul,
.checkout-lightbox-document ol { margin: 0 0 16px; padding-left: 24px; }
.checkout-lightbox-document table { width: 100%; max-width: 100%; border-collapse: collapse; }
.checkout-lightbox-document td,
.checkout-lightbox-document th { padding: 8px; vertical-align: top; }
.checkout-lightbox-document img { max-width: 100%; height: auto; }
.checkout-lightbox-document a { color: #d85f00; text-underline-offset: 2px; }
.legacy-document-window { width: 1000px; height: 600px; padding: 10px; overflow: auto; }

/* Samostatny PPL widget iframe. */
html.page-ppl-widget-proxy,
body.page-ppl-widget-proxy { margin: 0; height: 100%; }
body.page-ppl-widget-proxy #ppl-parcelshop-map { height: 100vh; }

/* Centralizovane nahrady drive inline stylu. */
.is-js-hidden { display: none !important; }
.is-visibility-hidden { visibility: hidden !important; }
.cursor-pointer { cursor: pointer !important; }
.cookies-button1,
.cookies-button2 { margin-bottom: 10px; }
.account-return-message { margin-top: 20px; }
.prabos-public-map { width: 100%; height: 620px; }
.pwa-ios-prompt { width: 100%; height: 0; float: left; display: none; }
.pwa-ios-prompt.is-visible { display: block; }

.site-footer2__inner {
    min-height: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 18px;
}
.site-footer2__copyright { grid-column: 1 / -1; justify-self: center; text-align: center; }
.site-footer2__nowonet { justify-self: start; }
.site-footer2__social { justify-self: end; }

@media (max-width: 700px) {
    .checkout-terms-lightbox { padding: 10px; }
    .checkout-terms-lightbox__dialog {
        width: calc(100vw - 20px);
        height: calc(100vh - 20px);
        border-radius: 14px;
    }
    .checkout-terms-lightbox__header { top: 8px; right: 8px; }
    .checkout-terms-lightbox__close { width: 40px; height: 40px; }
}

.checkout-lightbox-document { padding: 20px 18px 34px; font-size: 14px; }
.checkout-lightbox-document h2 { font-size: 20px; }
.legacy-document-window { width: 1000px; height: 600px; }

.prabos-public-map { height: 400px; }


/* ========================================================================== */
/* CENTRALIZOVANE NAHRADY DRIVE INLINE STYLU - 2026-10-13                   */
/* ========================================================================== */
.video-legacy-holder { width: 640px; height: 480px; padding: 10px; overflow: hidden; }
.cookies-consent-iframe { margin-top: 150px; }
.dynamic-cover-bg { background-position: center center; background-repeat: no-repeat; background-size: cover; }
.dynamic-cover-bg--white { background-color: #fff; }
.dynamic-overlay-cover-bg { background-position: center center, center center; background-repeat: repeat, no-repeat; background-size: cover, cover; }
#div-banner-podstranka[data-subpage-banner-image] { background-position: left 0, right center; background-repeat: no-repeat, no-repeat; background-size: 100% 100%, 66% auto; }
.div-produkt-abs--akce { background: url('/img/bcg_akce.png') right top no-repeat; }
.div-produkt-abs--novinka { background: url('/img/bcg_novinka.png') right top no-repeat; }
.article-title-compact { font-size: .8em; }
.checkout-billing-note { float: left; padding-left: 20px; }
.checkout-ppl-return-holder,
.checkout-ppl-return-choice { width: 100%; }
[data-background-kind="payment"] { background-position: right center; background-repeat: no-repeat; background-size: auto 30px; }
[data-background-kind="shipping"] { background-position: right top; background-repeat: no-repeat; background-size: auto 30px; }
.contacts-map-grayscale { filter: grayscale(100%); }
.contacts-map-frame { border: 0; }
.rating-author { padding-bottom: 5px; }
.rating-star { float: left; margin-right: 5px; }
.rating-form-label { width: 300px; }
.rating-form-label-top { vertical-align: top; }
.rating-form-value-bottom { vertical-align: bottom; }
.newsletter-consent-label { position: relative; top: -8px; float: right; font-size: 12px; line-height: 16px; }
.newsletter-consent-label--desktop { width: calc(100% - 30px); }
.newsletter-consent-label--mobile { width: calc(100% - 50px); }
.newsletter-result { height: auto; margin: auto; }
.newsletter-result--wide { width: 680px; padding: 10px; }
.verified-company-badge { width: 130px; height: 130px; }
.verified-company-badge__link { display: block; }
.verified-company-badge__link--top { height: 90px; }
.verified-company-badge__link--bottom { height: 40px; }
.verified-company-badge__image { margin: 0; padding: 0; border: 0; }
.legacy-floating-popup { position: fixed; top: 100px; z-index: 10000000; overflow: hidden; border-radius: 10px; box-shadow: 0 0 50px #777; }
.legacy-floating-popup__top { width: 100%; height: 35px; float: left; margin-bottom: 20px; }
.legacy-floating-popup__close { float: right; margin: 10px 10px 0 0; cursor: pointer; }
.legacy-floating-popup__content { width: 780px; height: auto; padding: 0 20px 20px; background: #eee; }
.popup-image { width: 780px; }
.checkout-debug-box { margin: 14px 0; padding: 14px 16px; border: 1px solid; border-radius: 10px; color: #111; font: 14px/1.5 Arial, sans-serif; }
.checkout-debug-box--ok { border-color: #249b45; background: #f2fbf4; }
.checkout-debug-box--error { border-color: #d92d20; background: #fff1f0; }
.checkout-debug-box--ok .checkout-debug-box__title { color: #167a34; }
.checkout-debug-box--error .checkout-debug-box__title { color: #b42318; }
.checkout-debug-box__details { margin-top: 6px; }
.page-account-edit .account-order-highlight-cell { background: #f49331; color: #fff; }
.page-account-edit .account-order-discount-cell { height: 20px; background: #dff7d1; }
.page-account-edit .account-order-text-left { text-align: left; }
.page-account-edit .account-order-text-center { text-align: center; }
.return-confirmation { max-width: 720px; margin-top: 20px; }
.return-confirmation__table { margin-bottom: 18px; }
.return-bank-field { width: 100%; max-width: 520px; margin-bottom: 12px; }
.return-bank-field__label { width: 180px; }
.return-bank-field__input { max-width: 320px; }
.pwa-ios-install-prompt { position: fixed; right: 80px; bottom: 20px; left: 80px; z-index: 1000; display: none; padding: 15px; border: 1px solid #ccc; border-radius: 20px; background: #eee; box-shadow: 0 4px 12px rgba(0,0,0,.1); }
.pwa-ios-install-prompt.is-visible { display: block; }
.pwa-ios-install-prompt__close-holder { width: 100%; height: 0; float: left; }
.pwa-ios-install-prompt__close { position: relative; box-sizing: content-box; top: -50px; right: -50px; float: right; width: 40px; height: 40px; padding: 20px; border: 1px solid #000; border-radius: 50%; background: url('../img/bcg_zavrit.png') center center / 40px 40px no-repeat #fff; cursor: pointer; }
[data-center-horizontal] { left: 50%; transform: translateX(-50%); }

/* Legacy import skladu - nahrazuje drive inline styly v import_sklad.php */
.legacy-import-product-image { height: 150px; }
.legacy-import-product-link { padding: 10px 20px; background: #eeeeee; text-decoration: none; color: #000000; }
