/*! PDZ1_core_V1 | merged: header->global->poptavka->kosik->search->footer | build V1 */
@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700&display=swap');
/* ---- PDZ1_header_V31.css ---- */
/* =========================================
   HLAVIČKA, LOGO A MENU (PDZ1_header.css)
========================================= */

/* === HEADER TOKENY (clamp = jeden radek pro mobil i 4K) === */
:root {
    --rekusam-header-h:         clamp(64px, 7vw, 80px);    /* vyska listy: mobil nizsi -> desktop 80 */
    --rekusam-header-pad-x:     clamp(16px, 3.5vw, 50px);  /* bocni odsazeni obsahu listy */
    --rekusam-header-logo-w: 	clamp(140px, 13vw, 180px); /* sirka loga (vysku drzi max-height) */
    --rekusam-header-float-gap: clamp(10px, 1.5vw, 20px);  /* odskok plovouci listy od vrsku */
    --rekusam-panel-w:          min(320px, 88vw);          /* sirka vysuvneho panelu (i na 320px) */
     /* --- rozestupy --- */
    --rekusam-space-xs:   clamp(8px,  1.5vw, 12px);
    --rekusam-space-sm:   clamp(12px, 2.5vw, 18px);
    --rekusam-space-md:   clamp(18px, 3.5vw, 26px);
    --rekusam-space-lg:   clamp(26px, 5vw,   40px);
    --rekusam-space-xl:   clamp(34px, 6.5vw, 60px);
    --rekusam-gap:        clamp(18px, 2.5vw, 28px);
    --rekusam-card-pad:   clamp(22px, 5vw,   34px);
 
    /* --- typografická škála --- */
    --rekusam-fs-display: clamp(38px, 9vw,   64px);  /* hero H1 */
    --rekusam-fs-h2:      clamp(30px, 6.5vw, 46px);
    --rekusam-fs-h3:      clamp(19px, 5vw,   26px);
    --rekusam-fs-h4:      clamp(16px, 4.2vw, 19px);
    --rekusam-fs-lead:    clamp(16px, 4.2vw, 19px);
    --rekusam-fs-body:    clamp(15px, 4vw,   17px);
    --rekusam-fs-sm:      clamp(13px, 3.4vw, 15px);
    --rekusam-fs-xs:      clamp(11px, 2.9vw, 13px);
    --rekusam-fs-num:     clamp(24px, 6.4vw, 32px);  /* ceny, velká čísla */
    --rekusam-fs-num-lg:  clamp(46px, 13vw,  78px);  /* číslovky kroků */
 
    /* --- povrchy a linky --- */
    --rekusam-tint-green:        #eaf1ee;
    --rekusam-on-dark:           #ffffff;
    --rekusam-on-dark-strong:    rgba(255,255,255,.86);
    --rekusam-on-dark-muted:     rgba(255,255,255,.76);
    --rekusam-on-dark-faint:     rgba(255,255,255,.55);
    --rekusam-line-dark:         rgba(255,255,255,.14);
    --rekusam-card-dark-bg:      rgba(255,255,255,.045);
    --rekusam-card-dark-bg-hover:rgba(255,255,255,.07);
    --rekusam-card-dark-border:  rgba(255,255,255,.13);
    --rekusam-card-light-border: rgba(7,67,67,.16);
 
    /* --- stíny --- */
    --rekusam-shadow-card:      0 18px 40px -30px rgba(7,67,67,.45);
    --rekusam-shadow-card-lg:   0 26px 60px -34px rgba(7,67,67,.4);
    --rekusam-shadow-red:       0 16px 34px -12px rgba(227,0,27,.55);
}


/* =========================================
   1. ZÁKLADNÍ POZADÍ A PRŮHLEDNOST HLAVIČKY
========================================= */
html.header-background-dark #header {
    background: linear-gradient(to right, #105959, #074343) !important;
    border: none !important;
    box-shadow: none !important;
}

html.header-background-dark .navigation-wrapper,
html.header-background-dark #navigation,
html.header-background-dark .navigation-in,
html.header-background-dark .menu {
    background-color: transparent !important;
    background: transparent !important;
    border: none !important;
}

html.header-background-dark .p-fixed .navigation-wrapper {
    background-color: transparent !important;
    background: transparent !important;
}

#header #navigation ul.menu-level-1 > li > a,
#header .navigation-buttons a,
#header .navigation-buttons button {
    background-color: transparent !important;
}

/* Odsazení a šířka hlavičky */
#header .container {
    max-width: 1300px !important;
    width: 100% !important;
    padding-left: var(--rekusam-header-pad-x) !important;
    padding-right: var(--rekusam-header-pad-x) !important;
    margin-left: auto !important; 
    margin-right: auto !important;
    float: none !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

/* =========================================
   2. LOGO
========================================= */
#header .site-name a,
html.header-background-dark body #header .site-name a {
    display: flex !important;
    align-items: center !important;
    height: 60px !important;
    width: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#header .site-name img,
html.header-background-dark body #header .site-name img {
    width: var(--rekusam-header-logo-w) !important;
    max-height: 40px !important;
    height: auto !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* =========================================
   3. HLAVNÍ OBAL HLAVIČKY
========================================= */
#header .navigation-wrapper,
html.header-background-dark body #header .navigation-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: var(--rekusam-header-h) !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
/* =========================================
   FIXNÍ HLAVIČKA (OPRAVA STICKY EFEKTU A SPECIFIČNOSTI)
========================================= */

/* 1. Zrušení Shoptet blokace, která brání scrollování (sticky) */
.overall-wrapper {
    overflow: visible !important;
    overflow-x: clip !important;
    padding-top: 0 !important; /* pryc se 40px mezerou nad headerem (prebiji Shoptet sablonu) */ 
}

/* 2. Samotná fixní hlavička - Výchozí stav (nahoře) */
html.header-background-dark #header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important; 
    width: 100% !important;
    max-width: 100% !important;
    z-index: 99999 !important;
    background: linear-gradient(to right, #105959, #074343) !important; 
    border-radius: 0 !important;
    /* Plynulý přechod pro všechny vlastnosti */
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important; 
    border: 1px solid transparent !important; /* Příprava pro rámeček */
}

/* 3. Vzhled po odscrollování (Plovoucí "Glassmorphism" efekt) */
html.header-background-dark #header.is-scrolled {
    top: var(--rekusam-header-float-gap) !important; 
    max-width: min(1200px, calc(100% - 30px)) !important; /* strop 1200, jinak 15px mezera */
    border-radius: 999px !important; /* pill pojistka: >= polovina vysky -> vzdy kapsle */ 
    
    /* Poloprůhledný firemní gradient (85 % neprůhlednost) */
    background: linear-gradient(to right, rgba(16, 89, 89, 0.85), rgba(7, 67, 67, 0.85)) !important; 
    
    /* Efekt rozmazaného skla pod hlavičkou */
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    
    /* Jemný stín pro 3D efekt */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
    
    /* Jemný světlý rámeček, který umocní efekt skla */
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* --- Ošetření pro mobily a tablety --- */
@media (max-width: 991px) {
    html.header-background-dark #header.is-scrolled {
        top: 10px !important; /* na mobilu odskoci jen kousek */
        border-radius: 999px !important; /* pill pojistka i na mobilu; sirku resi min() vyse */ 
    }
}



/* ============================================================
   FINAL PREMIUM GLASSMORPHISM ROLETKA PRO "AKADEMIE" (FIXED HOVER & SHADOW)
   ============================================================ */

/* 1. KROK: Vypnutí ořezávání obsahu v celé hierarchii hlavičky */
#header, 
#header .container,
#header .navigation-wrapper, 
#header #navigation, 
#header .navigation-in,
#header .navigation-in.menu,
#header ul.menu-level-1,
#header ul.menu-level-1 > li {
    overflow: visible !important;
}

/* 2. KROK: Příprava pozice pro absolutní usazení roletky */
#header ul.menu-level-1 > li.rekusam-has-dropdown {
    position: relative !important;
}

/* 3. KROK: Výchozí skrytý stav roletky s plynulým dojezdem */
#header ul.menu-level-1 > li .menu-level-2.rekusam-dropdown-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    top: calc(100% + 12px) !important; /* Zachování čisté plovoucí mezery */
    left: 50% !important;
    transform: translateX(-50%) translateY(10px) !important;
    
    /* PŘESNÝ GLASSMORPHISM: Identické nastavení s Vaší odscrollovanou hlavičkou */
    background: linear-gradient(to bottom, rgba(16, 89, 89, 0.85), rgba(7, 67, 67, 0.85)) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    
    /* JEMNÝ SVĚTLÝ RÁMEČEK (shoda s hlavičkou) */
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    
    /* ZMÍRNĚNÝ JEMNÝ STÍN (elegantní 3D hloubka bez tvrdých okrajů) */
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12) !important;
    
    border-radius: 20px !important;
    padding: 10px !important;
    min-width: 260px !important;
    z-index: 999999 !important;
    text-align: left !important;
    list-style: none !important;
    margin: 0 !important;
    
    transition: opacity 0.25s cubic-bezier(0.25, 1, 0.5, 1), 
                transform 0.25s cubic-bezier(0.25, 1, 0.5, 1), 
                visibility 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* 4. KROK: KLÍČOVÁ OPRAVA MIZENÍ ROLETKY (Neviditelný interaktivní most) */
#header ul.menu-level-1 > li.rekusam-has-dropdown .menu-level-2.rekusam-dropdown-menu::before {
    content: "" !important;
    position: absolute !important;
    top: -16px !important; /* Vytáhne neviditelnou vrstvu nahoru přes celou 12px mezeru */
    left: 0 !important;
    right: 0 !important;
    height: 16px !important;
    background: transparent !important; /* Zůstává 100% průhledný, ale drží hover stav */
    display: block !important;
}

/* 5. KROK: Aktivace plynulého zobrazení na HOVER (Pouze pro desktop) */
@media (min-width: 1251px) {
    #header ul.menu-level-1 > li.rekusam-has-dropdown:hover .menu-level-2.rekusam-dropdown-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(-50%) translateY(0) !important;
    }
}

/* Úprava struktury řádků roletky */
#header ul.menu-level-2.rekusam-dropdown-menu > li {
    display: block !important;
    width: 100% !important;
    padding: 2px 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Odkazy v podmenu - Sjednocení s Montserrat a stylem Vašich tlačítek */
#header ul.menu-level-2.rekusam-dropdown-menu > li > a {
    display: block !important;
    padding: 12px 20px !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 500 !important;
    font-size: 1.25rem !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
    border-radius: 50px !important;
    background: transparent !important;
    border: none !important;
    transition: background-color 0.25s ease, padding-left 0.25s ease, color 0.25s ease !important;
}

/* Interaktivní hover stav pro položky roletky (Plovoucí pilulka) */
#header ul.menu-level-2.rekusam-dropdown-menu > li > a:hover {
    background-color: rgba(255, 255, 255, 0.15) !important; /* Jemné skleněné vyplnění pilulky */
    padding-left: 26px !important; /* Hladký mikro-posuv textu doprava při najetí */
    color: #ffffff !important;
    opacity: 1 !important;
    transform: none !important;
}

/* ============================================================
   ZACHOVÁNÍ HOVER EFEKTU PRO HLAVNÍ POLOŽKU (AKADEMIE)
   ============================================================ */
@media (min-width: 1251px) {
    /* Když najedete na LI (včetně prostoru roletky), aplikuj hover na hlavní odkaz uvnitř */
    #header #navigation ul.menu-level-1 > li.rekusam-has-dropdown:hover > a,
    #header #navigation ul.menu-level-1 > li.rekusam-has-dropdown:hover > a > b {
        transform: scale(1.1) !important;
        opacity: 0.9 !important;
        /* Pokud byste chtěl položku při rozbalení ještě více zvýraznit, 
           můžete přidat např. color: #105959 !important; */
    }
}

/* =========================================
   4. IKONY A TLAČÍTKA V HLAVIČCE
========================================= */
#header .navigation-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.poptavka-custom-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
    vertical-align: middle;
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
}

#header .navigation-buttons > a,
#header .navigation-buttons > button,
#header .navigation-buttons > div,
#header .poptavka-custom-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    min-width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

#header .navigation-buttons > a::after,
#header .navigation-buttons > button::after {
    display: none !important; 
}

#header .navigation-buttons .top-nav-button-login,
#header .navigation-buttons .cart-count,
#header .navigation-buttons .top-nav-button-account,
#header .poptavka-custom-icon,
#header .navigation-buttons .toggle-window[data-target="search"] {
    display: inline-flex !important; 
    align-items: center !important;
    justify-content: center !important;
    position: relative;
    width: 40px !important;
    height: 40px !important;
    cursor: pointer;
    background: transparent !important;
    transition: transform 0.3s ease !important;
}

#header .navigation-buttons .top-nav-button-login:hover,
#header .navigation-buttons .cart-count:hover,
#header .navigation-buttons .top-nav-button-account:hover,
#header .poptavka-custom-icon:hover,
#header .navigation-buttons .toggle-window[data-target="search"]:hover {
    transform: scale(1.15); 
}

/* Maskování ikon (CSS masky pro svg obrázky) */
#header .navigation-buttons .top-nav-button-login::before,
#header .navigation-buttons .cart-count::before,
#header .navigation-buttons .top-nav-button-account::before,
#header .poptavka-custom-icon::before,
#header .navigation-buttons .toggle-window[data-target="search"]::before,
html.header-background-dark body #header .navigation-buttons > a::before,
html.header-background-dark body #header .navigation-buttons > button::before,
html.header-background-dark body #header .poptavka-custom-icon::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 auto !important;
    line-height: 24px !important;
    font-size: 24px !important;
    background-color: #ffffff;
    transition: all 0.3s ease;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

#header .navigation-buttons .top-nav-button-login::before {
    -webkit-mask-image: url('../../02-Media/01-Header/Login_icon.svg');
    mask-image: url('../../02-Media/01-Header/Login_icon.svg');
}
#header .navigation-buttons .top-nav-button-account::before {
    -webkit-mask-image: url('../../02-Media/01-Header/Login_icon.svg');
    mask-image: url('../../02-Media/01-Header/Login_icon.svg');
    background-color: #22C55E !important;   /* poptávková zelená */
}
#header .navigation-buttons .cart-count::before {
    -webkit-mask-image: url('../../02-Media/01-Header/Cart_icon.svg');
    mask-image: url('../../02-Media/01-Header/Cart_icon.svg');
}
#header .poptavka-custom-icon::before {
    -webkit-mask-image: url('../../02-Media/01-Header/Quote_icon.svg');
    mask-image: url('../../02-Media/01-Header/Quote_icon.svg');
}
#header .navigation-buttons .toggle-window[data-target="search"]::before {
    -webkit-mask-image: url('../../02-Media/01-Header/Search_icon.svg');
    mask-image: url('../../02-Media/01-Header/Search_icon.svg');
}

/* Ikona hamburger menu */
html.header-background-dark body #header .navigation-buttons .toggle-window[data-target="navigation"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E") !important;
    background-color: #ffffff !important;
}

/* Pořadí ikon v pravém bloku */
#header .navigation-buttons > .toggle-window[data-target="search"] { order: 1 !important; }
#header .navigation-buttons > .top-nav-button-login { order: 2 !important; }
#header .navigation-buttons > .top-nav-button-account { order: 2 !important; }
#header .navigation-buttons > .poptavka-custom-wrapper { order: 3 !important; }
#header .navigation-buttons > .cart-count { order: 4 !important; }

html.header-background-dark body #header .navigation-buttons > .toggle-window[data-target="navigation"] {
    order: 5 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
}

/* =========================================
   5. NOTIFIKAČNÍ ODZNAKY A WIDGETY V HLAVIČCE
========================================= */
.poptavka-badge,
#header .navigation-buttons .cart-count i {
    position: absolute !important;
    top: 0px !important;     
    right: 0px !important;   
    font-size: 11px !important;
    font-weight: bold !important;
    font-style: normal !important; /* Tag <i> je ve výchozím stavu kurzívou, musíme to přepsat */
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    text-align: center !important;
    border-radius: 50% !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

.poptavka-badge {
    background-color: #22C55E !important;
    color: #ffffff !important;
}

#header .navigation-buttons .cart-count i {
    background-color: #ffffff !important; 
    color: #1A1A1A !important; 
}
.poptavka-custom-dropdown {
    display: none;
    position: absolute;
    top: 60px;
    right: 0;
    width: 320px;
    background-color: #ffffff;
    color: #333333;
    border: 1px solid #e0e0e0;
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
    padding: 20px;
    z-index: 99999;
    cursor: default;
    text-align: left;
}

.poptavka-item-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    padding: 10px 0;
}
.poptavka-item-row:last-child {
    border-bottom: none;
}

/* =========================================
   6. RESPONSIVITA HLAVIČKY A MENU (MEDIA QUERIES)
========================================= */

/* --- DESKTOP (od 1251px) --- */
@media (min-width: 1251px) {
    /* Úplné zneviditelnění hamburgeru na desktopu */
    html.header-background-dark body #header .navigation-buttons > .toggle-window[data-target="navigation"],
    html.header-background-dark body #header .navigation-buttons > a.toggle-window[data-target="navigation"] {
        display: none !important;
    }

    /* Zajištění viditelnosti obalu ikon na desktopu */
    #header .navigation-buttons {
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Pojistka proti zobrazení našeho panelu na velkém monitoru */
    #rekusam-vlastni-panel, #rekusam-panel-overlay {
        display: none !important;
    }
    
    /* Stylování textu hlavní navigace */
    #header #navigation ul.menu-level-1 > li > a,
    #header #navigation ul.menu-level-1 > li > a > b,
    #header .menu-helper > span {
        font-family: var(--template-headings-font) !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        font-size: clamp(1.15rem, 1.1vw + 0.4rem, 1.3rem) !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease !important;
        transform-origin: center !important;
        color: #ffffff !important; 
        padding-left: 10px !important; 
        padding-right: 10px !important;
        white-space: nowrap !important;
    }

    #header #navigation ul.menu-level-1 > li > a:hover,
    #header .menu-helper:hover > span {
        transform: scale(1.1) !important;
        opacity: 0.9 !important;
    }

    /* HRUBÁ SÍLA: Zákaz Shoptet zkracování menu */
    #header #navigation ul.menu-level-1 > li,
    #header #navigation ul.menu-level-1 > li.splitted {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
    }
    
    #header .menu-helper,
    html.header-background-dark body #header .menu-helper {
        display: none !important;
    }
}

/* --- MENŠÍ DESKTOPY A TABLETY (do 1250px) --- */
@media (max-width: 1250px) {
    /* Úplný zákaz zobrazení nativního menu Shoptetu */
    #header #navigation, 
    .menu-helper, 
    .navigation-close, 
    #header .navigation-wrapper .navigation-in,
    html.header-background-dark body #header .menu-helper {
        display: none !important;
        visibility: hidden !important;
    }

    #header .container {
        padding-left: var(--rekusam-header-pad-x) !important;
        padding-right: var(--rekusam-header-pad-x) !important;
    }

/* ============================================================
       PREMIUM GLASSMORPHISM DESIGN PRO VLASTNÍ BOČNÍ PANEL (UPRAVENÝ)
       ============================================================ */

    #rekusam-vlastni-panel {
        position: fixed;
        top: 0;
        right: calc(-1 * var(--rekusam-panel-w) - 20px);
        left: auto !important;
        width: var(--rekusam-panel-w);
        height: 100vh;
        z-index: 999999;
        display: flex;
        flex-direction: column;
        box-sizing: border-box !important;
        
        /* Světlejší firemní gradient (vychází z Vaší modré #074343) s rozmazáním pozadí */
        background: linear-gradient(135deg, rgba(16, 89, 89, 0.96), rgba(7, 67, 67, 0.98)) !important;
        -webkit-backdrop-filter: blur(25px) !important;
        backdrop-filter: blur(25px) !important;
        
        /* Zaoblení levé hrany panelu a jemný světelný okraj */
        border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
        border-radius: var(--radius-lg) 0 0 var(--radius-lg) !important;
        
        /* Plynulé vysunutí */
        transition: right 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
        box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3) !important;
    }

    #rekusam-vlastni-panel.active {
        right: 0;
        left: auto !important;
    }

    /* Elegantní zatmavení webu na pozadí */
    #rekusam-panel-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(6, 18, 26, 0.5) !important;
        -webkit-backdrop-filter: blur(4px);
        backdrop-filter: blur(4px);
        z-index: 999998;
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s ease;
    }

    #rekusam-panel-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* Hlavička menu */
    .rekusam-panel-header {
        padding: clamp(15px, 4vw, 22px) 25px !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        background: rgba(255, 255, 255, 0.03) !important;
    }

    .rekusam-panel-title {
        font-family: var(--template-headings-font) !important;
        font-weight: 700 !important;
        font-size: clamp(1.2rem, 4vw, 1.4rem) !important;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #ffffff !important;
    }

    /* Zavírací křížek */
    .rekusam-panel-close {
        font-size: 28px;
        line-height: 1;
        cursor: pointer;
        color: rgba(255, 255, 255, 0.7) !important;
        transition: color 0.2s ease, transform 0.2s ease !important;
        padding: 5px;
    }

    .rekusam-panel-close:hover {
        color: #ffffff !important;
        transform: rotate(90deg);
    }

    .rekusam-panel-content {
        overflow-y: auto;
        padding: 15px 0 !important;
        flex: 1;
    }

    /* Odkazy v panelu - ZVĚTŠENÝ FONT a zrušení podtržení */
    #rekusam-vlastni-panel .rekusam-panel-item a:not(.btn) {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        padding: 14px 24px !important;
        margin: 2px 12px !important;
        color: rgba(255, 255, 255, 0.9) !important;
        text-decoration: none !important;
        font-family: var(--template-headings-font) !important;
        font-weight: 600 !important;
        font-size: clamp(1.25rem, 4.5vw, 1.4rem) !important; /* Navýšeno z původních malých hodnot */
        letter-spacing: 0.5px;
        border-bottom: none !important;
        border-radius: 50px !important;
        transition: background-color 0.25s ease, padding-left 0.25s ease, color 0.25s ease !important;
    }

    /* Hover stav s plynulým odskokem doprava */
    #rekusam-vlastni-panel .rekusam-panel-item a:not(.btn):hover {
        background-color: rgba(255, 255, 255, 0.12) !important;
        color: #ffffff !important;
        padding-left: 32px !important;
    }

    /* Dělící linky */
    .rekusam-panel-divider {
        height: 1px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        margin: 12px 24px !important;
    }

    /* === SPOLEČNÝ ZÁKLAD PRO IKONY V PANELU === */
    .rekusam-panel-icon {
        display: inline-block !important;
        width: 22px !important; /* Mírně zvětšeno v poměru k textu */
        height: 22px !important;
        flex-shrink: 0 !important;
        background-color: rgba(255, 255, 255, 0.75) !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
        transition: background-color 0.2s ease !important;
    }

    /* Hover efekt ikon — rozsvítí se čistě bíle */
    #rekusam-vlastni-panel .rekusam-panel-item a:hover .rekusam-panel-icon {
        background-color: #ffffff !important;
    }

    .rekusam-panel-label {
        flex: 1 1 auto;
    }

    /* === NAVEDENÉ URL MASKY IKON === */
    .rekusam-panel-icon-login {
        -webkit-mask-image: url('../../02-Media/01-Header/Login_icon.svg') !important;
        mask-image: url('../../02-Media/01-Header/Login_icon.svg') !important;
    }

    .rekusam-panel-icon-poptavka {
        -webkit-mask-image: url('../../02-Media/01-Header/Quote_icon.svg') !important;
        mask-image: url('../../02-Media/01-Header/Quote_icon.svg') !important;
    }

    .rekusam-panel-icon-cart {
        -webkit-mask-image: url('../../02-Media/01-Header/Cart_icon.svg') !important;
        mask-image: url('../../02-Media/01-Header/Cart_icon.svg') !important;
    }

    .rekusam-panel-icon-search {
        -webkit-mask-image: url('../../02-Media/01-Header/Search_icon.svg') !important;
        mask-image: url('../../02-Media/01-Header/Search_icon.svg') !important;
    }

    /* Speciální úprava pro sekci Přihlášení */
    #rekusam-vlastni-panel .rekusam-panel-login a:not(.btn) {
        color: #ffffff !important; /* Světlejší tyrkysová pro excelentní kontrast na novém podkladu */
        font-weight: 700 !important;
    }
    #rekusam-vlastni-panel .rekusam-panel-login a:not(.btn) .rekusam-panel-icon {
        background-color: #ffffff !important;
    }
    #rekusam-vlastni-panel .rekusam-panel-login a:not(.btn):hover {
        background-color: rgba(255, 255, 255, 0.1) !important;
        color: #ffffff !important;
    }

    /* Spodní akční položky */
    #rekusam-vlastni-panel .rekusam-panel-action a:not(.btn) {
        background-color: rgba(255, 255, 255, 0.03) !important;
    }
    #rekusam-vlastni-panel .rekusam-panel-action a:not(.btn):hover {
        background-color: rgba(255, 255, 255, 0.08) !important;
    }

    /* Notifikační odznak poptávky */
    .rekusam-panel-badge {
        display: inline-block;
        background: #22C55E !important;
        color: #ffffff !important;
        font-family: var(--template-font) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        padding: 0 5px !important;
        border-radius: 50% !important;
        text-align: center;
        box-sizing: border-box;
    }

    body.rekusam-menu-opened {
        overflow: hidden !important;
    }
	
    /* Vynucené zobrazení burger menu od 1250px dolů a zrušení Shoptet absolutní pozice */
    html.header-background-dark body #header .navigation-buttons > a.toggle-window[data-target="navigation"],
    #header .navigation-buttons > .toggle-window[data-target="navigation"] {
        display: inline-flex !important;
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        margin: 0 !important;
        transform: none !important;
    }
}

/* --- STŘEDNÍ BREAKPOINT (992px - 1250px) --- */
@media (min-width: 992px) and (max-width: 1250px) {
    html.header-background-dark body #header div.container.navigation-wrapper,
    html.header-background-dark body #header div.navigation-wrapper.container {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Vynucení loga úplně doleva */
    html.header-background-dark body #header .navigation-wrapper > .site-name {
        margin-left: 0 !important;
        padding-left: 0 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        margin-right: auto !important;
        padding: 0 !important;
        width: auto !important;
        max-width: none !important;
    }

    /* Vynucení ikon úplně doprava */
    html.header-background-dark body #header .navigation-wrapper > .navigation-buttons {
        margin-right: 0 !important;
        padding-right: 0 !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        margin-left: auto !important;
        padding: 0 !important;
    }

    html.header-background-dark body #header .site-name > a {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
    }
}

/* --- MOBILNÍ HLAVIČKA A OPRAVA LOGA (do 991px) --- */
@media (max-width: 991px) {
    html.header-background-dark body #header .navigation-wrapper,
    html body #header .navigation-wrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: relative !important;
        width: 100% !important;
        overflow: visible !important;
    }

    html.header-background-dark body #header .site-name,
    html body #header .site-name {
        position: relative !important;
        left: auto !important; right: auto !important;
        top: auto !important; bottom: auto !important;
        transform: none !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        z-index: 100 !important;
        visibility: visible !important;
        opacity: 1 !important;
        overflow: visible !important;
    }

    html.header-background-dark body #header .navigation-buttons,
    html body #header .navigation-buttons {
        position: relative !important;
        left: auto !important; right: auto !important;
        top: auto !important; transform: none !important;
        flex: 0 0 auto !important;
    }
}

/* =========================================
   POJISTKA: Vynucení rozměrů ::before u login ikony
   (řeší problém width:0 z konfliktu specifičnosti)
========================================= */
html.header-background-dark body #header .navigation-buttons .top-nav-button-login::before,
html body #header .navigation-buttons button.top-nav-button-login::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    background-color: #ffffff !important;
    visibility: visible !important;
    opacity: 1 !important;
    
    -webkit-mask-image: url('../../02-Media/01-Header/Login_icon.svg') !important;
    mask-image: url('../../02-Media/01-Header/Login_icon.svg') !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}
html.header-background-dark body #header .navigation-buttons .top-nav-button-account::before,
html body #header .navigation-buttons a.top-nav-button-account::before {
    content: "" !important;
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    background-color: #22C55E !important;   /* poptávková zelená */
    visibility: visible !important;
    opacity: 1 !important;
    -webkit-mask-image: url('../../02-Media/01-Header/Login_icon.svg') !important;
    mask-image: url('../../02-Media/01-Header/Login_icon.svg') !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}
/* =========================================
   MOBIL: hledání a přihlášení přesunuto do bočního panelu
   ========================================= */
/* Na ≤1250px (burger režim) skryjeme ikony Hledat a Přihlášení z horní lišty,
   aby se logo + ikony nelámaly na dva řádky. Obě jsou dostupné ve výsuvném
   panelu (přihlášení staví JS, hledání spouští nativní Shoptet vyhledávání). */
@media (max-width: 1250px) {
    #header .navigation-buttons > .toggle-window[data-target="search"],
    #header .navigation-buttons > .top-nav-button-login,
    html.header-background-dark body #header .navigation-buttons > .top-nav-button-login,
	#header .navigation-buttons > .top-nav-button-account,
    html.header-background-dark body #header .navigation-buttons > .top-nav-button-account	{
        display: none !important;
    }
	
}


/* =========================================================================
   VLASTNÍ BURGER (#rekusam-burger) — V25
   -------------------------------------------------------------------------
   Pod 991px přebírá Shoptetí mobile-header-version-1 layout a přehazuje
   viditelnost nativních spouštěčů, takže nativní burger přestal reagovat.
   Řešení: nativní spouštěče na mobilu KOMPLETNĚ skryjeme a nahradíme
   vlastním tlačítkem #rekusam-burger (staví ho PDZ1_menu_V19.js), na které je
   v JS navázán PŘÍMÝ click handler. Žádná delegace, žádný souboj se Shoptetem.
   ========================================================================= */

/* 1) SKRYTÍ NATIVNÍCH SPOUŠTĚČŮ MENU NA MOBILU (≤1250).
      Vysoká specificita + !important kvůli mobile-header-v1. Umístěno na konci
      souboru, takže přebíjí dřívější pravidlo, které nativní burger zobrazovalo. */
@media (max-width: 1250px) {
    html.header-background-dark body #header .navigation-buttons > .toggle-window[data-target="navigation"],
    html.header-background-dark body #header .navigation-buttons > a.toggle-window[data-target="navigation"],
    html.header-background-dark body #header .menu-helper,
    html body #header .menu-helper {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* 2) VLASTNÍ BURGER — výchozí skrytý (desktop ≥1251 ho nemá). */
#header .navigation-buttons > .rekusam-burger {
    display: none !important; /* Přidáno !important pro přebití šablony Shoptetu */
}

/* 3) VLASTNÍ BURGER — zobrazení a vzhled na mobilu (≤1250). */
@media (max-width: 1250px) {
    html.header-background-dark body #header .navigation-buttons > .rekusam-burger {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        order: 6 !important;          /* až za košík (search/login jsou na mobilu v panelu) */
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        position: relative !important;
        z-index: 100 !important;       /* nad případnými vrstvami mobile-header-v1 */
        pointer-events: auto !important;
        -webkit-tap-highlight-color: transparent;
    }

    /* Ikona = stejná hamburger maska jako měl nativní burger */
    #header .navigation-buttons > .rekusam-burger .rekusam-burger-icon {
        display: block;
        width: 24px;
        height: 24px;
        background-color: #ffffff;
        -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E");
        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E");
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
        transition: opacity 0.2s ease;
    }

    html.header-background-dark body #header .navigation-buttons > .rekusam-burger:hover .rekusam-burger-icon {
        opacity: 0.85;
    }
}

/* Odstranění parazitního čtverečku, aby zůstaly jen 3 čisté čárky menu */
#header .navigation-buttons > button#rekusam-burger::before {
    content: none !important;
    display: none !important;
}
/* ---- PDZ1_global_V141.css ---- */
:root {

    --template-headings-font: 'Montserrat', sans-serif;
    --template-font: 'Be Vietnam Pro', system-ui, -apple-system, 'Segoe UI', sans-serif;

    /* === GLOBÁLNÍ ŠÍŘKA OBSAHU === */
    --content-max-width: 1600px; /* širší kontejner — řeší úzký pruh na 3K monitoru */

    /* === DYNAMICKÉ ROZESTUPY (clamp = jeden řádek pro mobil i 3K) ===
       Boční odsazení obsahu: min 20px (mobil) → plynule (4vw) → max 120px.
       Reaguje na šířku OKNA, ne na velikost písma → bezpečné při zoomu textu. */
    --content-padding-x: clamp(20px, 10vw, 160px);

;

    /* Vertikální odsazení sekcí: min 40px (mobil) → plynule (5vw) → max 120px (3K).
       Web se na velkých displejích „provzdušní", na mobilu zůstane kompaktní.
       Žádné samostatné mobilní proměnné ani media queries už nejsou potřeba. */
	--section-padding-y: clamp(40px, 5vw, 120px);

    /* === GLOBÁLNÍ ZAOBLENÍ (Border Radius) ===
       Pozn.: rem zde NEroste s šířkou okna (to dělá jen vw) — roste se základní
       velikostí písma. Pro zaoblení je to ale přesně to, co chceme: jedna
       konzistentní škála 8/16/24px napříč webem. */
    --radius-sm: 0.5rem;   /* ~8px: malé prvky, štítky, formulářová pole */
    --radius-md: 1rem;     /* ~16px: dlaždice, produktové karty, běžné obrázky */
    --radius-lg: 1.5rem;   /* ~24px: velké bloky, Hero obrázky, modály */

/* === REKUSAM BRAND TOKENY (globální) === */
    --rekusam-red:        #E3001B;
    --rekusam-red-dark:   #b80014;
    --rekusam-green:      #074343;
    --rekusam-green-dark: #053030;
    --rekusam-green-deep: #08403a;
    --rekusam-ink:        #1a1a1a;
    --rekusam-muted:      #7e858a;
    --rekusam-line:       #e8eaec;
    --rekusam-surface:    #ffffff;
    --rekusam-surface-2:  #f6f7f8;

    /* přesah selektorů z hero do světlé sekce */
    --rekusam-sel-straddle: clamp(40px, 5vw, 80px);
}
/* =========================================
   2. SCROLL TO TOP TLAČÍTKO (UNIVERZÁLNÍ DESIGN)
========================================= */
.rekusam-scroll-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: #ffffff !important; /* Bílý kruh */
    color: #074343 !important;            /* Modrá šipka */
    border: 2px solid #074343 !important; /* Modrý border */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 9999; 
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    box-shadow: 0 4px 15px rgba(7, 67, 67, 0.2);
}

/* Třída pro zobrazení tlačítka */
.rekusam-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Efekt při najetí myší (Inverze do firemní modré) */
.rekusam-scroll-top:hover {
    background-color: #074343 !important; 
    color: #ffffff !important;
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4);
}

/* Zmenšení na mobilech */
@media (max-width: 767px) {
    .rekusam-scroll-top {
        bottom: 20px;
        right: 20px;
        width: 44px;
        height: 44px;
    }
}

/* =========================================
   3. GLOBÁLNÍ POZADÍ A HLAVNÍ OBÁLKY
========================================= */

/* Globální modrý gradient přes celý displej */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -999;
    pointer-events: none;
    background: radial-gradient(ellipse at center, #105959 0%, #074343 100%) !important;
}

/* Reset pozadí a stínů u nadřazených prvků šablony, aby prosvítal náš gradient */
html,
body,
.overall-wrapper,
#content-wrapper,
.content-wrapper-in,
#content {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

#content-wrapper {
    max-width: var(--content-max-width) !important; 
    margin-left: auto !important; 
    margin-right: auto !important;
    float: none !important;
    padding-left: var(--content-padding-x) !important;
    padding-right: var(--content-padding-x) !important;
}

/* Boční odsazení #content-wrapper řeší clamp() v --content-padding-x,
   samostatná mobilní media query proto není potřeba. */

/* Reset vnitřních okrajů pro úvodní stránku */
.index-content-wrapper,
.homepage-texts-wrapper {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* =========================================
   4. OBSAHOVÁ TLAČÍTKA A BLOKY (Detail produktu)
========================================= */

/* Stylování tlačítka "Poptat" vedle tlačítka do košíku */
.poptat-projekt-btn {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    font-weight: bold;
    transition: all 0.2s;
    }

.poptat-projekt-btn:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Zajištění, aby tlačítka "Do košíku" a "Poptat" stála úhledně vedle sebe */
.add-to-cart, .p-tools form {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

/* =========================================
   5. SKRYTÍ ZÁLOŽEK "AKČNÍ ZBOŽÍ" A "NOVINKY" NA HOMEPAGE
========================================= */
.homepage-tabs-wrapper {
    display: none !important;
}

/* Skrytí drobečkové navigace globálně na blogovém rozcestníku i ve všech podrubrikách článků */
/* Skrýt nativní breadcrumbs jen na výpisu blogu/rozcestníku — NE na detailu
   článku (body.type-post), tam z nich JS staví vlastní lištu nad kartou. */
.in-clanky-a-novinky:not(.type-post) #content-wrapper .breadcrumbs,
.type-posts-listing #content-wrapper .breadcrumbs {
    display: none !important;
}

/* Skrytí vlastních drobečků v celém Klientském centru (/klient/ i podstránky) */
body:has(.client-center-box) .rekusam-breadcrumbs {
    display: none !important;
}

/* ============================================================================
   VLASTNÍ DROBEČKY (.rekusam-breadcrumbs) — JEDINÝ ZDROJ PRAVDY
   ----------------------------------------------------------------------------
   Nativní drobečky Shoptetu zůstávají v DOM kvůli schema.org, ale jsou sr-only
   (.rekusam-bc-native-hidden). Vlastní staví PDZ1_global JS.
 
   DVĚ VARIANTY:
   A) TMAVÉ POZADÍ (výchozí) — bílý text + bílé ikony. Kategorie, e-shop, LP…
   B) BÍLÁ KARTA — .rekusam-breadcrumbs--karta (přidává JS) NEBO body.type-post.
      Tmavý text + tmavé ikony. (Detail produktu od V20 jako e-shop = varianta A.)
 
   IKONY: maska + background-color. NEPOUŽÍVAT currentColor — globální
   a{color:#fff!important} a span{color:...!important} ho přebíjejí nahodile.
   Barva ikony se proto nastavuje explicitně a s !important.
   ============================================================================ */
 
/* Nativní necháme v DOM (SEO/schema.org), vizuálně sr-only */
.breadcrumbs.rekusam-bc-native-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
 
/* Skrytí vlastních drobečků v Klientském centru */
body:has(.client-center-box) .rekusam-breadcrumbs { display: none !important; }
 
/* --- KONTEJNER (varianta A: na tmavém/modrém pozadí) --- */
.rekusam-breadcrumbs {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: clamp(6px, 0.5vw, 10px);
    max-width: var(--content-max-width, 1600px);
    margin: clamp(16px, 2.5vw, 32px) auto clamp(10px, 1.2vw, 16px);
    font-size: clamp(1.1rem, 1.5vw, 1.25rem);
    line-height: 1.2;
    color: #ffffff;
}
 
/* Texty — zopakovaný :not() řetězec z globálu kvůli specificitě (0,3,1) */
.rekusam-breadcrumbs a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
.rekusam-breadcrumbs .rekusam-bc-current {
    color: #ffffff !important;
    text-decoration: none !important;
}
.rekusam-breadcrumbs .rekusam-bc-link:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
.rekusam-breadcrumbs .rekusam-bc-link:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover {
    color: rgba(255, 255, 255, 0.8) !important;
}
.rekusam-breadcrumbs .rekusam-bc-current { font-weight: 600 !important; }
 
/* --- IKONY (společná geometrie) --------------------------------------------
   Ikony jsou zapečené jako data URI (percent-encoded). Původní SVG na FTP
   nemá width/height (jen viewBox) → jako mask-image s mask-size: contain
   vycházela maska prázdná a element se nevykreslil vůbec. Tvary jsou 1:1
   tvoje (Homesmall_icon.svg / Arrowsmall_icon.svg), doplněné o rozměr a fill.
   --------------------------------------------------------------------------- */
.rekusam-breadcrumbs .rekusam-bc-home,
.rekusam-breadcrumbs .rekusam-bc-sep {
    display: inline-block !important;
    flex: 0 0 auto !important;
    line-height: 0 !important;
    background: none !important;
    background-color: #ffffff !important;     /* = BARVA IKONY (na modrém pozadí) */
    -webkit-mask-repeat: no-repeat !important;
            mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
            mask-position: center !important;
    -webkit-mask-size: contain !important;
            mask-size: contain !important;
    transition: background-color 0.2s ease;
}
 
.rekusam-breadcrumbs .rekusam-bc-home {
    width: clamp(18px, 1.4vw, 20px) !important;
    height: clamp(18px, 1.4vw, 20px) !important;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='450'%20height='450'%20viewBox='0%200%20450%20450'%3E%3Cpath%20fill='black'%20d='M420.35,136.31L249.37,8.08c-14.35-10.77-34.4-10.76-48.75,0L29.65,136.31c-14.15,10.61-22.6,27.5-22.6,45.19v227.88c0,22.39,18.22,40.62,40.63,40.62h88.16c22.4,0,40.63-18.22,40.63-40.62v-93.2c0-3.84,3.13-6.97,6.97-6.97h83.14c3.84,0,6.97,3.13,6.97,6.97v93.2c0,22.39,18.22,40.62,40.62,40.62h16.68c15.1,0,29.29-5.88,39.96-16.56l55.61-55.64c10.66-10.67,16.53-24.85,16.53-39.93v-156.36c0-17.69-8.45-34.58-22.6-45.19ZM330.84,416.36h-16.68c-3.84,0-6.97-3.13-6.97-6.97v-93.2c0-22.39-18.22-40.62-40.62-40.62h-83.14c-22.4,0-40.63,18.22-40.63,40.62v93.2c0,3.84-3.13,6.97-6.97,6.97H47.68c-3.84,0-6.97-3.13-6.97-6.97v-227.88c0-7.16,3.41-13.98,9.14-18.28L220.82,34.99c2.46-1.84,5.9-1.84,8.37,0l170.97,128.22c5.73,4.29,9.15,11.12,9.15,18.28v156.36c0,6.09-2.38,11.83-6.69,16.15l-55.6,55.64c-4.32,4.32-10.05,6.7-16.17,6.7Z'/%3E%3C/svg%3E") !important;
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='450'%20height='450'%20viewBox='0%200%20450%20450'%3E%3Cpath%20fill='black'%20d='M420.35,136.31L249.37,8.08c-14.35-10.77-34.4-10.76-48.75,0L29.65,136.31c-14.15,10.61-22.6,27.5-22.6,45.19v227.88c0,22.39,18.22,40.62,40.63,40.62h88.16c22.4,0,40.63-18.22,40.63-40.62v-93.2c0-3.84,3.13-6.97,6.97-6.97h83.14c3.84,0,6.97,3.13,6.97,6.97v93.2c0,22.39,18.22,40.62,40.62,40.62h16.68c15.1,0,29.29-5.88,39.96-16.56l55.61-55.64c10.66-10.67,16.53-24.85,16.53-39.93v-156.36c0-17.69-8.45-34.58-22.6-45.19ZM330.84,416.36h-16.68c-3.84,0-6.97-3.13-6.97-6.97v-93.2c0-22.39-18.22-40.62-40.62-40.62h-83.14c-22.4,0-40.63,18.22-40.63,40.62v93.2c0,3.84-3.13,6.97-6.97,6.97H47.68c-3.84,0-6.97-3.13-6.97-6.97v-227.88c0-7.16,3.41-13.98,9.14-18.28L220.82,34.99c2.46-1.84,5.9-1.84,8.37,0l170.97,128.22c5.73,4.29,9.15,11.12,9.15,18.28v156.36c0,6.09-2.38,11.83-6.69,16.15l-55.6,55.64c-4.32,4.32-10.05,6.7-16.17,6.7Z'/%3E%3C/svg%3E") !important;
}
 
.rekusam-breadcrumbs .rekusam-bc-sep {
    width: clamp(9px, 0.8vw, 11px) !important;
    height: clamp(9px, 0.8vw, 11px) !important;
    opacity: 0.75;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='450'%20height='450'%20viewBox='0%200%20450%20450'%3E%3Cpath%20fill='black'%20d='M327.69,236.04l-179.56,207.62-.11.13c-.24.3-.49.58-.75.86-3.05,3.29-7.22,5.19-11.71,5.34-4.49.15-8.76-1.45-12.04-4.5-6.79-6.32-7.16-16.98-.84-23.76l170.09-196.73L122.82,28.42l-.14-.15c-.26-.28-.5-.56-.75-.86-5.84-7.2-4.75-17.81,2.45-23.65C127.48,1.23,131.23,0,134.95,0c4.9,0,9.75,2.12,13.07,6.2l179.69,207.76c1.18,1.35,2.11,2.86,2.8,4.47.69,1.61,1.12,3.33,1.27,5.13.38,4.51-1.1,9.05-4.09,12.48Z'/%3E%3C/svg%3E") !important;
            mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='450'%20height='450'%20viewBox='0%200%20450%20450'%3E%3Cpath%20fill='black'%20d='M327.69,236.04l-179.56,207.62-.11.13c-.24.3-.49.58-.75.86-3.05,3.29-7.22,5.19-11.71,5.34-4.49.15-8.76-1.45-12.04-4.5-6.79-6.32-7.16-16.98-.84-23.76l170.09-196.73L122.82,28.42l-.14-.15c-.26-.28-.5-.56-.75-.86-5.84-7.2-4.75-17.81,2.45-23.65C127.48,1.23,131.23,0,134.95,0c4.9,0,9.75,2.12,13.07,6.2l179.69,207.76c1.18,1.35,2.11,2.86,2.8,4.47.69,1.61,1.12,3.33,1.27,5.13.38,4.51-1.1,9.05-4.09,12.48Z'/%3E%3C/svg%3E") !important;
}
 
.rekusam-breadcrumbs .rekusam-bc-home:hover {
    background-color: rgba(255, 255, 255, 0.8) !important;
}
 
 
/* ============================================================================
   VARIANTA B — BÍLÁ KARTA (detail článku)
   Přidej třídu .rekusam-breadcrumbs--karta, nebo se aplikuje dle body třídy.
   ============================================================================ */
body.type-post .rekusam-breadcrumbs,
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta {
    padding: 13px clamp(18px, 1.8vw, 26px);
    background: #ffffff;
    border-radius: var(--radius-md, 1rem);
    box-shadow: 0 10px 30px rgba(7, 67, 67, 0.10);
    box-sizing: border-box;
}
body.type-post .rekusam-breadcrumbs a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
body.type-post .rekusam-breadcrumbs .rekusam-bc-current,
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta .rekusam-bc-current {
    color: #1A1A1A !important;
}
body.type-post .rekusam-breadcrumbs .rekusam-bc-link:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover,
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta .rekusam-bc-link:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover {
    color: #074343 !important;
}
/* Ikony na bílé kartě = tmavé */
body.type-post .rekusam-breadcrumbs .rekusam-bc-home,
body.type-post .rekusam-breadcrumbs .rekusam-bc-sep,
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta .rekusam-bc-home,
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta .rekusam-bc-sep {
    background-color: #1A1A1A !important;
}
body.type-post .rekusam-breadcrumbs .rekusam-bc-home:hover,
.rekusam-breadcrumbs.rekusam-breadcrumbs--karta .rekusam-bc-home:hover {
    background-color: #074343 !important;
}

/* =========================================
   6. GLOBÁLNÍ TYPOGRAFIE (Zvětšené hodnoty)
========================================= */

h1 {
    font-size: clamp(2.5rem, 6vw, 3.5rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-bottom: 0.8em !important;
}

h2 {
    font-size: clamp(2.1rem, 5vw, 2.8rem) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-bottom: 0.7em !important;
}

h3 {
    font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin-bottom: 0.6em !important;
}

h4 {
    font-size: clamp(1.3rem, 3vw, 1.6rem) !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    margin-bottom: 0.5em !important;
}

h5 {
    font-size: clamp(1.25rem, 2vw, 1.35rem) !important; /* Upraveno z 1.1rem */;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 0.5em !important;
}

/* Z původního "p {" udělej toto: */
#content p, p {
    font-size: 1.375rem !important; /* ~22px – o něco větší tělo textu */
    line-height: 1.65 !important;   /* o chlup vyšší řádkování k větší velikosti */
    font-weight: 400 !important;    /* nižší váha jen pro odstavce */
    margin-bottom: 1em !important;
    color: rgba(255, 255, 255, 0.9);
}
/* Seznamy: stejná velikost jako odstavce (globál je dřív opomněl) */
#content li {
    font-size: 1.375rem !important;
	line-height: 1.6 !important;
}
/* p má vlastní váhu 400 výše; seznamy a spany držíme na 500 kvůli
   inline font-weight:400, který vkládá Shoptet editor */
#content li,
#content span {
    font-weight: 500 !important;
}
/* Tučné popisky a zvýraznění zůstávají nejvýraznější */
#content b,
#content strong {
    font-weight: 700 !important;
}

/* =========================================
   7. GLOBÁLNÍ TLAČÍTKA A TYPOGRAFIE (Dle barevného schématu)
========================================= */

/* 1. Sjednocení fontu, velikosti a tvaru pro VŠECHNA tlačítka */
.btn, 
.rekusam-hero-btn, 
.poptat-projekt-btn,
.rekusam-shoptet-form-wrapper button,
#header .navigation-buttons button {
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: clamp(1.1rem, 1.02rem + 0.35vw, 1.35rem) !important;
    letter-spacing: 0.5px !important;
    border-radius: 999px !important;
    padding: clamp(10px, 0.5rem + 0.35vw, 13px) clamp(18px, 0.9rem + 1vw, 28px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* 2. BAREVNÉ VARIANTY Z NÁVRHU */

/* A) Základní - Vyplněné (Tmavě modré) */
.btn-blue-filled {
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    transition: all 0.3s ease !important;
}
.btn-blue-filled:hover {
    background-color: #053030 !important; /* Tmavší modrá při najetí */
    border-color: #053030 !important;
    transform: translateY(-2px);
    color: #FFFFFF !important;
}

/* B) Základní - Obrysové (Tmavě modré) */
.btn-blue-outline {
    background-color: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    transition: all 0.3s ease !important;
}
.btn-blue-outline:hover {
    background-color: #074343 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* C) Konverzní - Vyplněné (Zelené) */
.btn-green-filled {
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    transition: all 0.3s ease !important;
}
.btn-green-filled:hover {
    background-color: #053030 !important; /* Tmavší zelená při najetí */
    border-color: #053030 !important;
    transform: translateY(-2px);
    color: #FFFFFF !important;
}

/* D) Konverzní - Obrysové (Zelené) */
.btn-green-outline {
    background-color: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    transition: all 0.3s ease !important;
}
.btn-green-outline:hover {
    background-color: #074343 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* E) Specifické tlačítko POPTAT v detailu produktu (přebarvení na zelené konverzní) */
.poptat-projekt-btn {
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    transition: all 0.3s ease !important;
}
.poptat-projekt-btn:hover {
    background-color: #053030 !important; /* Tmavší zelená při najetí */
    border-color: #053030 !important;
    transform: translateY(-2px);
    color: #FFFFFF !important;
}

/* F) Pro tmavé podklady - Vyplněné (Bílé) */
.btn-white-filled {
    background-color: #FFFFFF !important;
    color: #1A1A1A !important; /* Tmavý text pro perfektní čitelnost na bílém podkladu */
    border: 2px solid #FFFFFF !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important; /* Jemný stín pro oddělení od tmavého pozadí */
    transition: all 0.3s ease !important;
}
.btn-white-filled:hover {
    background-color: #f0f0f0 !important; /* Lehce zešedne při najetí */
    border-color: #f0f0f0 !important;
    color: #074343 !important; /* Text se efektně zbarví do vaší firemní tmavší modré */
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
}

/* G) Pro tmavé podklady - Obrysové (Bílé) */
.btn-white-outline {
    background-color: transparent !important;
    color: #FFFFFF !important;
    border: 2px solid #FFFFFF !important;
    transition: all 0.3s ease !important;
}
.btn-white-outline:hover {
    background-color: #FFFFFF !important;
    color: #074343 !important; /* Text zmodrá, aby po vyplnění pozadí nezmizel */
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
}

/* =========================================
   8. GLOBÁLNÍ ANIMACE: FADE IN UP
========================================= */

/* Výchozí stav - skryto a posunuto dolů */
.rekusam-animate-up {
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
    /* Přidáme i will-change pro plynulejší renderování v prohlížeči */
    will-change: opacity, transform; 
}

/* Aktivní stav po odscrollování */
.rekusam-animate-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Volitelné zpoždění pro kaskádový efekt (např. pro více prvků vedle sebe) */
.rekusam-delay-1 { transition-delay: 0.15s; }
.rekusam-delay-2 { transition-delay: 0.30s; }
.rekusam-delay-3 { transition-delay: 0.45s; }
.rekusam-delay-4 { transition-delay: 0.60s; }

/* Reset zpoždění při hoveru, aby interaktivní prvky reagovaly okamžitě */
.rekusam-animate-up.is-visible:hover {
    transition-delay: 0s;
}

/* =========================================
   9. GLOBÁLNÍ TYPOGRAFIE (Pro výchozí tmavý podklad)
========================================= */

/* Základní barva textu pro celý web */
body {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Nadpisy čistě bílé pro maximální kontrast + jisté ukotvení na Montserrat.
   (Tělo webu je nově Inter, takže font nadpisů vynucujeme explicitně, aby se
   nikde nepřeklopil na Inter podle motivu.) */
h1, h2, h3, h4, h5, h6 {
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
}

/* Odrážky a obálky sladěné s běžným textem */
ul, ol, li, span {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Textové odkazy (vyloučena tlačítka) */
a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) {
    color: #ffffff !important;
    text-decoration: underline !important;
}

a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover {
    color: #f0f7fa !important;
}

/* === Vyloučení prvků v hlavičce a patičce z globálního podtrhávání === */

/* Pozor: hlavní pravidlo výše (a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top))
   má specificitu (0,3,1) s !important. Proto v override duplikujeme stejný řetězec :not(),
   abychom se dostali na specificitu (0,4,1) a pravidlo opravdu vyhrálo. */
.navigation-wrapper a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top), 
#navigation a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top), 
.navigation-buttons a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
.footer-banners a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
.footer-banner a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) {
    text-decoration: none !important;
}

/* Pojistka i pro :hover stav (stejný princip se specificitou) */
.navigation-wrapper a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover,
.footer-banners a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover,
.footer-banner a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover {
    text-decoration: none !important;
}

/* =========================================
   10. TYPOGRAFIE PRO SVĚTLÁ POZADÍ (.theme-light)
========================================= */

/* Přidáním třídy "theme-light" k obálce/sekci se vše uvnitř přebarví pro světlý podklad */

.theme-light {
    color: #1A1A1A !important; /* Tmavý základ pro výbornou čitelnost */
}

/* Nadpisy v tmavší firemní modré */
.theme-light h1, .theme-light h2, .theme-light h3, 
.theme-light h4, .theme-light h5, .theme-light h6 {
    color: #074343 !important;
}

/* Odstavce a seznamy v jemnější tmavě šedé, ať nekřičí do očí */
.theme-light p, .theme-light ul, .theme-light ol, 
.theme-light li, .theme-light span {
    color: #333333 !important;
}

/* Odkazy v textu na světlém pozadí */
.theme-light a:not(.btn):not(.poptat-projekt-btn) {
    color: #074343 !important;
    text-decoration: underline !important;
}

.theme-light a:not(.btn):not(.poptat-projekt-btn):hover {
    color: #105959 !important; /* Světlejší modrá při najetí */
}


/* =========================================
   11. SPECIÁLNÍ NADPISY S FIREMNÍM GRADIENTEM (.text-gradient)
========================================= */

/* Přidáním třídy "text-gradient" přímo k nadpisu se text vybarví firemním přechodem */

.text-gradient {
    background: linear-gradient(135deg, #105959 0%, #074343 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important; 
    display: inline-block !important; 
}

/* =========================================
   12. GLOBÁLNÍ ODSAZENÍ SEKCÍ (PADDING)
========================================= */

/* Univerzální odsazení nahoře i dole (nejčastější použití) */
.rekusam-section-padding {
    padding-top: var(--section-padding-y) !important;
    padding-bottom: var(--section-padding-y) !important;
}

/* Odsazení pouze nahoře */
.rekusam-padding-top {
    padding-top: var(--section-padding-y) !important;
}

/* Odsazení pouze dole */
.rekusam-padding-bottom {
    padding-bottom: var(--section-padding-y) !important;
}

/* Mobilní hodnoty řeší clamp() přímo v --section-padding-y
   (40px na mobilu → plynule → 120px na 3K), proto tu žádná media query není. */

/* =========================================
   PDZ - TOAST NOTIFIKACE (KOŠÍK)
========================================= */
#rekusam-toast-container {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none; /* Aby neblokoval klikání na webu pod ním */
}

.rekusam-toast {
    background: #ffffff;
    border-left: 4px solid #074343; /* Vaše globální zelená */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    pointer-events: auto; /* Samotný toast je klikatelný */
    transform: translateX(120%);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease;
    width: 340px;
    box-sizing: border-box;
}

.rekusam-toast.is-visible {
    transform: translateX(0);
    opacity: 1;
}

.rekusam-toast-icon {
    width: 26px;
    height: 26px;
    background-color: #074343;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E") no-repeat center / contain;
    flex-shrink: 0;
}

.rekusam-toast-content {
    flex: 1;
}

.rekusam-toast-title {
    font-weight: 700;
    color: #1a1a1a !important;
    font-size: 1.25rem; /* Zvětšeno z 0.95rem */
    margin: 0 0 4px 0;
    font-family: var(--template-font);
}

.rekusam-toast-desc {
    font-size: 1.25rem; /* Zvětšeno z 0.85rem */
    color: #5a6b7c !important;
    margin: 0;
    font-family: var(--template-font);
    line-height: 1.3;
}

.rekusam-toast-action {
    font-size: 1.25rem; /* Zvětšeno z 0.9rem */
    font-weight: 700;
    color: #074343 !important;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.2s;
    text-transform: uppercase;
}

.rekusam-toast-action:hover {
    color: #053030;
}

@media (max-width: 600px) {
    #rekusam-toast-container {
        bottom: 20px;
        right: 20px;
        left: 20px;
    }
    .rekusam-toast {
        width: 100%;
    }
}

/* === VARIACÍ TOASTU PRO POPTÁVKU (Zelená) === */
.rekusam-toast-poptavka .rekusam-toast-icon {
    /* Ikona Poptávky (změněno z ikony odškrtnutí) */
    -webkit-mask: url('../../02-Media/01-Header/Quote_icon.svg') no-repeat center / contain !important;
    mask: url('../../02-Media/01-Header/Quote_icon.svg') no-repeat center / contain !important;
    background-color: #074343 !important; 
}

.rekusam-toast-poptavka .rekusam-toast-action {
    color: #074343 !important; /* Zelený odkaz místo modrého */
}

.rekusam-toast-poptavka .rekusam-toast-action:hover {
    color: #053030 !important;
}

/* === VARIACÍ TOASTU PRO CHYBY (Červená) === */
.rekusam-toast-error {
    border-left-color: #dc2626 !important; 
}

.rekusam-toast-error .rekusam-toast-icon {
    background-color: #dc2626 !important;
    /* Ikona vykřičníku */
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='12'/%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

.rekusam-toast-error .rekusam-toast-action {
    display: none !important; /* U chybových hlášek odkaz nepotřebujeme */
}

/* =========================================
   POPUP PROJEKTOVÉ POPTÁVKY — přesunuto
   Styly poptávkového košíku jsou nově v samostatném souboru
   PDZ1_poptavka_V1.css (načítat AŽ ZA tímto globálním CSS).
   Až bude design hotový, obsah lze vrátit sem.
========================================= */

/* =========================================
   UNIVERZÁLNÍ ŠTÍTEK NAD NADPISEM (GDPR styl)
========================================= */
.rekusam-eyebrow,
#content .rekusam-eyebrow,
#content span.rekusam-eyebrow,
.theme-light #content span.rekusam-eyebrow {
    display: inline-block !important;
    width: fit-content !important;
    align-self: flex-start !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;

    font-size: clamp(0.8rem, 0.72rem + 0.35vw, 1.1rem) !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 9px 18px !important;
    border-radius: 999px !important;
    margin-bottom: 22px !important;
    line-height: 1.2 !important;

    /* světlé pozadí — jemný zelený tint */
    color: var(--rekusam-green, #074343) !important;
    background: #eaf1ee !important;
    border: 1px solid rgba(7, 67, 67, 0.18) !important;
}

.rekusam-eyebrow.rekusam-eyebrow--white,
#content span.rekusam-eyebrow.rekusam-eyebrow--white {
    color: rgba(255, 255, 255, 0.85) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* ============================================================
   UNIVERZÁLNÍ TŘÍDA PRO POZADÍ NA CELOU ŠÍŘKU (OPRAVENO)
   ============================================================ */
.rekusam-section-fullwidth {
    position: relative !important;
    width: 100vw !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    box-sizing: border-box !important;
    
    /* Důležité: Nuluje ten předchozí rozbitý pokus */
    transform: none !important; 
    
    /* Výchozí šedé pozadí pro úseky (lze lokálně u sekce přepsat) */
    background: #e8edf1; 
}

/* =========================================
   SKRYTÍ NATIVNÍCH PRVKŮ (BREADCRUMBS & H1)
========================================= */

/* 1. Skrytí drobečkové navigace (pouze na textových stránkách, aby zůstala v e-shopu) */
.type-page .breadcrumbs {
    display: none !important;
}

/* 2. SEO-friendly skrytí nativního nadpisu H1 */
.type-page .pageArticleDetail header h1 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Volitelně: zrušení mezer po skrytém H1 — JEN nativní header s H1, ne vlastní sekce */
.type-page .pageArticleDetail header:has(h1) {
  margin: 0 !important;
  padding: 0 !important;
}
/* =========================================
   13. GLOBÁLNÍ PRELOADER (Plynulé přechody)
========================================= */

/* Hladké prolínání nativního obsahu */
.overall-wrapper {
    transition: opacity 0.4s ease;
}

/* Skrytí obsahu dokud JS nedokončí úpravy DOMu */
html:not(.rekusam-loaded) .overall-wrapper {
    opacity: 0 !important;
    pointer-events: none;
}

/* Zamknutí scrollu během načítání, aby uživatel neujel */
html:not(.rekusam-loaded) body {
    overflow: hidden !important;
}

/* Definice vrstev pro Logo a Spinner */
html::before, html::after {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    pointer-events: none;
    z-index: 9999999;
}

/* Zobrazení při načítání */
html:not(.rekusam-loaded)::before, 
html:not(.rekusam-loaded)::after {
    opacity: 1;
    visibility: visible;
}

/* 1) Logo PDZ (vycentrováno nad střed) */
html::before {
    content: "";
    position: fixed;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 70px;
    background: url('../../02-Media/01-Header/Zehnder_light_logo.svg') no-repeat center center;
    background-size: contain;
}

/* 2) Točící se Spinner (umístěný pod logem) */
html::after {
    content: "";
    position: fixed;
    top: calc(45% + 70px);
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    border: 4px solid rgba(255, 255, 255, 0.2);
    border-top: 4px solid #ffffff;
    border-radius: 50%;
    animation: rekusamSpin 0.8s linear infinite;
}

@keyframes rekusamSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ============================================================================
   PDZ1 — COOKIES BANNER & NASTAVENÍ (OPRAVA GEOMETRIE, ŠÍŘKY A CENTROVÁNÍ)
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1) COOKIE LIŠTA (Dokonalé lícování s vnitřní mřížkou webu)
   ---------------------------------------------------------------------------- */
body .siteCookies.js-siteCookies,
body .siteCookies--dark.js-siteCookies {
    position: fixed !important;
    background: #ffffff !important;
    box-shadow: 0 20px 50px rgba(7, 67, 67, 0.25) !important;
    border: 1px solid var(--rekusam-line, #e6edf3) !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    padding: clamp(20px, 2.5vw, 32px) !important;
    
    /* LÍCOVÁNÍ S GLOBÁLNÍ ŠÍŘKOU OBSAHU:
       Šířka i max-width přesně kopírují okraje tvých hlavních kontejnerů */
    max-width: calc(var(--content-max-width, 1600px) - (2 * var(--content-padding-x, clamp(20px, 10vw, 160px)))) !important;
    width: calc(100% - (2 * var(--content-padding-x, 20px))) !important;
    
    /* Absolutní vycentrování na spodek */
    left: 50% !important;
    right: auto !important; 
    margin: 0 !important;
    bottom: clamp(16px, 2.5vw, 32px) !important;
    transform: translateX(-50%) !important;
    height: auto !important;
    box-sizing: border-box !important;
    color: #1a1a1a !important;
    z-index: 999999 !important;
}

/* Vyčištění nativních Shoptet stylů */
body .siteCookies__form,
body .siteCookies__content,
body .siteCookies__text,
body .siteCookies__links {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* Flexbox layout: Text dostane maximum místa vlevo, tlačítka se odtlačí doprava */
.siteCookies__form {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: clamp(32px, 4vw, 64px) !important;
    width: 100% !important;
}

.siteCookies__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 !important; /* Maximální protažení textové části */
    min-width: 0 !important;
}

/* Dynamický nadpis */
body .siteCookies__content::before {
    content: "Nastavení ochrany soukromí";
    display: block !important;
    font-family: var(--template-headings-font, sans-serif) !important;
    font-size: clamp(1.3rem, 1.5vw, 1.6rem) !important;
    font-weight: 700 !important;
    color: var(--rekusam-blue, #074343) !important;
}

.siteCookies__text {
    font-family: var(--template-font, sans-serif) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    line-height: 1.55 !important;
    color: #1a1a1a !important;
}

.siteCookies__text a {
    color: var(--rekusam-blue, #074343) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.siteCookies__link.js-cookies-settings {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: var(--rekusam-muted, #5b6b7a) !important;
    font-family: var(--template-font, sans-serif) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.25rem) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    cursor: pointer !important;
    display: inline-block !important;
}
.siteCookies__link.js-cookies-settings:hover {
    color: var(--rekusam-blue, #074343) !important;
}

/* Pravá strana: Tlačítka čistě vedle sebe */
.siteCookies__buttonWrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 14px !important;
    flex-shrink: 0 !important; /* Zákaz deformace tlačítek textem */
    background: transparent !important;
    padding: 0 !important;
}

body .siteCookies__button {
    font-family: var(--template-headings-font, sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(1.15rem, 1.20vw, 1.3rem) !important;
    padding: 11px clamp(24px, 2.5vw, 36px) !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: clamp(44px, 4.5vw, 50px) !important;
    letter-spacing: 0.5px !important;
    box-shadow: none !important;
}

/* Souhlasím (Zelené) */
body .siteCookies__button[data-testid="buttonCookiesAccept"] {
    background-color: var(--rekusam-green, #074343) !important;
    color: #FFFFFF !important;
    border: 2px solid var(--rekusam-green, #074343) !important;
}
body .siteCookies__button[data-testid="buttonCookiesAccept"]:hover {
    background-color: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
}

/* Odmítnout (Modrý obrys) */
body .siteCookies__button[data-testid="buttonCookiesReject"] {
    background-color: transparent !important;
    color: var(--rekusam-blue, #074343) !important;
    border: 2px solid var(--rekusam-blue, #074343) !important;
}
body .siteCookies__button[data-testid="buttonCookiesReject"]:hover {
    background-color: var(--rekusam-blue, #074343) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* ============================================================================
   PDZ1 — COOKIES BANNER & NASTAVENÍ (OPRAVA ŠÍŘKY, LÍCOVÁNÍ A STABILITY)
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1) COOKIE LIŠTA (Přesné lícování na vnitřní grid obsahu)
   ---------------------------------------------------------------------------- */
body .siteCookies.js-siteCookies,
body .siteCookies--dark.js-siteCookies {
    position: fixed !important;
    background: #ffffff !important;
    box-shadow: 0 20px 50px rgba(7, 67, 67, 0.25) !important;
    border: 1px solid var(--rekusam-line, #e6edf3) !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    padding: clamp(20px, 2.5vw, 32px) !important;
    
    /* STRIKTNÍ LÍCOVÁNÍ: Šířka přesně odpovídá vnitřnímu obsahu e-shopu */
    max-width: calc(var(--content-max-width, 1600px) - (2 * var(--content-padding-x, clamp(20px, 10vw, 160px)))) !important;
    width: calc(100% - (2 * var(--content-padding-x, 20px))) !important;
    
    /* Dokonalé vycentrování nad spodním okrajem */
    left: 50% !important;
    right: auto !important; 
    margin: 0 !important;
    bottom: clamp(16px, 2.5vw, 32px) !important;
    transform: translateX(-50%) !important;
    height: auto !important;
    box-sizing: border-box !important;
    color: #1a1a1a !important;
    z-index: 999999 !important;
}

/* Vyčištění nativních Shoptet podkladů */
body .siteCookies__form,
body .siteCookies__content,
body .siteCookies__text,
body .siteCookies__links {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Flexbox layout: Vynucení 100% šířky a přebití Shoptet limitu */
body .siteCookies__form {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: clamp(32px, 4vw, 64px) !important;
    width: 100% !important;
    max-width: 100% !important; /* KLÍČOVÝ FIX: Odtlačí tlačítka na absolutní pravý kraj */
}

.siteCookies__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 !important; /* Levá strana dostane maximum volného prostoru */
    min-width: 0 !important;
}

/* Dynamický nadpis banneru */
body .siteCookies__content::before {
    content: "Nastavení ochrany soukromí";
    display: block !important;
    font-family: var(--template-headings-font, sans-serif) !important;
    font-size: clamp(1.3rem, 1.5vw, 1.6rem) !important;
    font-weight: 700 !important;
    color: var(--rekusam-blue, #074343) !important;
}

.siteCookies__text {
    font-family: var(--template-font, sans-serif) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    line-height: 1.55 !important;
    color: #1a1a1a !important;
}

.siteCookies__text a {
    color: var(--rekusam-blue, #074343) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.siteCookies__link.js-cookies-settings {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: var(--rekusam-muted, #5b6b7a) !important;
    font-family: var(--template-font, sans-serif) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.25rem) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    cursor: pointer !important;
    display: inline-block !important;
}
.siteCookies__link.js-cookies-settings:hover {
    color: var(--rekusam-blue, #074343) !important;
}

/* Pravá strana: Tlačítka zafixovaná vedle sebe */
.siteCookies__buttonWrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 14px !important;
    flex-shrink: 0 !important; /* Zákaz deformace tlačítek textem */
    background: transparent !important;
    padding: 0 !important;
}

body .siteCookies__button {
    font-family: var(--template-headings-font, sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(1.15rem, 1.20vw, 1.3rem) !important;
    padding: 11px clamp(24px, 2.5vw, 36px) !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: clamp(44px, 4.5vw, 50px) !important;
    letter-spacing: 0.5px !important;
    box-shadow: none !important;
}

/* Souhlasím (Zelené) */
body .siteCookies__button[data-testid="buttonCookiesAccept"] {
    background-color: var(--rekusam-green, #074343) !important;
    color: #FFFFFF !important;
    border: 2px solid var(--rekusam-green, #074343) !important;
}
body .siteCookies__button[data-testid="buttonCookiesAccept"]:hover {
    background-color: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
}

/* Odmítnout (Modrý obrys) */
body .siteCookies__button[data-testid="buttonCookiesReject"] {
    background-color: transparent !important;
    color: var(--rekusam-blue, #074343) !important;
    border: 2px solid var(--rekusam-blue, #074343) !important;
}
body .siteCookies__button[data-testid="buttonCookiesReject"]:hover {
    background-color: var(--rekusam-blue, #074343) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* ============================================================================
   PDZ1 — COOKIES BANNER & NASTAVENÍ (ODLADĚNÁ GEOMETRIE BEZ SCROLLU)
   ============================================================================ */

/* ----------------------------------------------------------------------------
   1) COOKIE LIŠTA (Dokonalé lícování s vnitřní mřížkou obsahu)
   ---------------------------------------------------------------------------- */
body .siteCookies.js-siteCookies,
body .siteCookies--dark.js-siteCookies {
    position: fixed !important;
    background: #ffffff !important;
    box-shadow: 0 20px 50px rgba(7, 67, 67, 0.25) !important;
    border: 1px solid var(--rekusam-line, #e6edf3) !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    padding: clamp(20px, 2.5vw, 32px) !important;
    
    /* LÍCOVÁNÍ S GLOBÁLNÍ ŠÍŘKOU OBSAHU:
       Šířka i max-width přesně kopírují okraje tvých hlavních kontejnerů */
    max-width: calc(var(--content-max-width, 1600px) - (2 * var(--content-padding-x, clamp(20px, 10vw, 160px)))) !important;
    width: calc(100% - (2 * var(--content-padding-x, 20px))) !important;
    
    /* Absolutní vycentrování na spodek */
    left: 50% !important;
    right: auto !important; 
    margin: 0 !important;
    bottom: clamp(16px, 2.5vw, 32px) !important;
    transform: translateX(-50%) !important;
    height: auto !important;
    box-sizing: border-box !important;
    color: #1a1a1a !important;
    z-index: 999999 !important;
}

/* Vyčištění nativních Shoptet stylů */
body .siteCookies__form,
body .siteCookies__content,
body .siteCookies__text,
body .siteCookies__links {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

/* Flexbox layout: Vynucení plné šířky, tlačítka skočí na pravý kraj */
body .siteCookies__form {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: clamp(32px, 4vw, 64px) !important;
    width: 100% !important;
    max-width: 100% !important;
}

.siteCookies__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

/* Dynamický nadpis */
body .siteCookies__content::before {
    content: "Nastavení ochrany soukromí";
    display: block !important;
    font-family: var(--template-headings-font, sans-serif) !important;
    font-size: clamp(1.3rem, 1.5vw, 1.6rem) !important;
    font-weight: 700 !important;
    color: var(--rekusam-blue, #074343) !important;
}

.siteCookies__text {
    font-family: var(--template-font, sans-serif) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    line-height: 1.55 !important;
    color: #1a1a1a !important;
}

.siteCookies__text a {
    color: var(--rekusam-blue, #074343) !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

.siteCookies__link.js-cookies-settings {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: var(--rekusam-muted, #5b6b7a) !important;
    font-family: var(--template-font, sans-serif) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.25rem) !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    cursor: pointer !important;
    display: inline-block !important;
}
.siteCookies__link.js-cookies-settings:hover {
    color: var(--rekusam-blue, #074343) !important;
}

/* Pravá strana: Tlačítka vedle sebe */
.siteCookies__buttonWrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 14px !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

body .siteCookies__button {
    font-family: var(--template-headings-font, sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(1.15rem, 1.20vw, 1.3rem) !important;
    padding: 11px clamp(24px, 2.5vw, 36px) !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: clamp(44px, 4.5vw, 50px) !important;
    letter-spacing: 0.5px !important;
    box-shadow: none !important;
}

/* Souhlasím (Zelené) */
body .siteCookies__button[data-testid="buttonCookiesAccept"] {
    background-color: var(--rekusam-green, #074343) !important;
    color: #FFFFFF !important;
    border: 2px solid var(--rekusam-green, #074343) !important;
}
body .siteCookies__button[data-testid="buttonCookiesAccept"]:hover {
    background-color: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
}

/* Odmítnout (Modrý obrys) */
body .siteCookies__button[data-testid="buttonCookiesReject"] {
    background-color: transparent !important;
    color: var(--rekusam-blue, #074343) !important;
    border: 2px solid var(--rekusam-blue, #074343) !important;
}
body .siteCookies__button[data-testid="buttonCookiesReject"]:hover {
    background-color: var(--rekusam-blue, #074343) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* ============================================================================
   PDZ1 — COOKE DIALOG / NASTAVENÍ (STRIKTNÍ SYMETRIE & OUTLINE DESIGN)
   ============================================================================ */

/* 1) Bezpečné vycentrování okna na ose X bez narušení vertikální polohy z JS */
body #colorbox:has(.cookiesDialog) {
    left: 50% !important;
    transform: translateX(-50%) !important;
    overflow: visible !important;
}

/* Sjednocení šířky všech kontejnerů na stabilní Shoptet rozměr */
body #colorbox:has(.cookiesDialog),
body #colorbox:has(.cookiesDialog) #cboxWrapper,
body #cboxContent.cookiesDialog {
    width: min(760px, 100vw - 32px) !important;
}

/* KLÍČOVÉ: Vnitřní kontejnery dostávají z JS inline width (698px/700px), která je
   širší než karta → obsah přetékal vpravo za padding. Přinutíme je respektovat
   šířku rodičovské karty, aby byl padding symetrický na obou stranách. */
body #colorbox:has(.cookiesDialog) #cboxLoadedContent,
body #colorbox:has(.cookiesDialog) .colorbox-html-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* NEKOMPROMISNÍ RESET VÝŠEK: Kompletní neutralizace inline výšek z JS (458px).
   Tímto krokem přinutíme modál, aby se přizpůsobil obsahu a zachoval paddingy. */
body #cboxContent.cookiesDialog,
body #colorbox:has(.cookiesDialog) #cboxWrapper,
body #colorbox:has(.cookiesDialog) #cboxLoadedContent,
body #colorbox:has(.cookiesDialog) .colorbox-html-content {
    height: auto !important;
    overflow: visible !important;
}

/* Hlavní bílá karta s naprosto identickým 32px paddingem na všech stranách */
body #cboxContent.cookiesDialog {
    background: #ffffff !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 25px 60px rgba(7, 67, 67, 0.3) !important;
    padding: 32px !important; /* Striktní čtvercová symetrie okolo celého obsahu */
    box-sizing: border-box !important;
    position: relative !important;
}

/* Odstranění nativních Shoptet okrajů a vynulování vnitřních paddingů */
body #colorbox:has(.cookiesDialog) #cboxLoadedContent {
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Vyvážená vnitřní struktura formuláře nastavení */
.cookiesSetting__form {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    font-family: var(--template-font, sans-serif) !important;
    width: 100% !important;
}

.cookiesSetting__title {
    font-family: var(--template-headings-font, sans-serif) !important;
    color: var(--rekusam-blue, #074343) !important;
    font-size: 1.6rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}

.cookiesSetting__perex {
    color: #333333 !important;
    font-size: 1.1rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

.cookiesSetting__data {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

/* Řádky jednotlivých typů cookies */
.cookiesSetting__item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 24px !important;
    background: #f6f7f8 !important;
    border: none !important;
    border-radius: var(--radius-md, 1rem) !important;
    padding: 14px 20px !important;
    box-sizing: border-box !important;
}

.cookiesSetting__item__col1 {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    flex: 1 !important;
}

.cookiesSetting__item__name {
    font-size: 1.2rem !important;
    color: #1a1a1a !important;
    font-weight: 600 !important;
}
.cookiesSetting__item__name strong {
    font-weight: 700 !important;
}

.cookiesSetting__item__text {
    font-size: 1.05rem !important;
    color: var(--rekusam-muted, #5b6b7a) !important;
    line-height: 1.45 !important;
}

/* ----------------------------------------------------------------------------
   2) INTERAKTIVNÍ PŘEPÍNAČE (Toggle Switches)
   ---------------------------------------------------------------------------- */
.cookiesSetting__item__status {
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
    cursor: pointer !important;
}

/* Nativní checkbox schováváme neprůstřelným "visually hidden" vzorem (clip 0×0).
   Samotné appearance:none/opacity:0 nestačilo — Shoptet/prohlížeč pod ním kreslil
   zbytkový čtvereček. Clip element fyzicky ořízne na nulu, takže nevykreslí nic;
   :checked + .state (přepínání kolečka) i klik přes <label for> dál fungují. */
input.cookiesSetting__item__checkbox {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    border: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

.cookiesSetting__item__state {
    position: relative !important;
    display: inline-block !important;
    width: 46px !important;
    height: 24px !important;
    background-color: #cbd5e1 !important;
    border-radius: 999px !important;
    margin: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    text-indent: -9999px !important;
}

/* SKUTEČNÝ VINÍK ČTVEREČKU: Shoptet na state label kreslí vlastní ::before
   (14×14, bílé pozadí, šedý border) jako nativní checkbox-box. Kompletně ho
   neutralizujeme, aby v pilulce zůstalo jen naše kolečko z ::after. */
.cookiesSetting__item__state::before {
    content: none !important;
    display: none !important;
}

.cookiesSetting__item__state::after {
    content: "" !important;
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    width: 18px !important;
    height: 18px !important;
    background-color: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 5px rgba(7, 67, 67, 0.15) !important;
    transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
    transform: translateX(0) !important;
}

input.cookiesSetting__item__checkbox:checked + .cookiesSetting__item__state {
    background-color: var(--rekusam-green, #074343) !important;
}

input.cookiesSetting__item__checkbox:checked + .cookiesSetting__item__state::after {
    transform: translateX(22px) !important;
}

/* ----------------------------------------------------------------------------
   3) SPODNÍ ŘADA TLAČÍTEK (Kompletní přechod na OUTLINE styl)
   ---------------------------------------------------------------------------- */
.cookiesSetting__bottom {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 8px !important;
}

.cookiesSetting__uncheck {
    flex: 1 !important;
}

.cookiesSetting__uncheckLink {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    color: var(--rekusam-muted, #5b6b7a) !important;
    font-family: var(--template-font, sans-serif) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    cursor: pointer !important;
    white-space: nowrap !important;
    display: inline-block !important;
}
.cookiesSetting__uncheckLink:hover {
    color: var(--rekusam-blue, #074343) !important;
}

.cookiesSetting__button {
    font-family: var(--template-headings-font, sans-serif) !important;
    font-weight: 600 !important;
    font-size: 1.15rem !important;
    padding: 11px 26px !important;
    border-radius: 999px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: 0.5px !important;
    flex: 0 0 auto !important;
}

/* Potvrdit moje volby — Čistý MODRÝ OUTLINE styl */
body .cookiesSetting__button[data-testid="cookiesConfirmSelection"] {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--rekusam-blue, #074343) !important;
    border: 2px solid var(--rekusam-blue, #074343) !important;
}
body .cookiesSetting__button[data-testid="cookiesConfirmSelection"]:hover {
    background-color: var(--rekusam-blue, #074343) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* Povolit vše — Čistý ZELENÝ OUTLINE styl */
body .cookiesSetting__button.cookiesSetting__button--green {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--rekusam-green, #074343) !important;
    border: 2px solid var(--rekusam-green, #074343) !important;
}
body .cookiesSetting__button.cookiesSetting__button--green:hover {
    background-color: var(--rekusam-green, #074343) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* Nativní zavírací křížek Colorboxu lícovaný na 32px padding v rohu */
body #colorbox:has(.cookiesDialog) #cboxClose {
    font-family: var(--template-font, sans-serif) !important;
    color: var(--rekusam-muted, #5b6b7a) !important;
    font-weight: 600 !important;
    font-size: 1.2rem !important;
    position: absolute !important;
    top: 32px !important; /* Perfektní zarovnání s horní hranou paddingu */
    right: 32px !important; /* Perfektní zarovnání s pravou hranou paddingu */
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer;
    display: block !important;
}
body #colorbox:has(.cookiesDialog) #cboxClose:hover {
    color: var(--rekusam-blue, #074343) !important;
}

/* ----------------------------------------------------------------------------
   4) MOBILE RESPONSIVITY
   ---------------------------------------------------------------------------- */
@media (max-width: 640px) {
    body #colorbox:has(.cookiesDialog),
    body #colorbox:has(.cookiesDialog) #cboxWrapper,
    body #cboxContent.cookiesDialog {
        width: calc(100% - 20px) !important;
    }
    body #cboxContent.cookiesDialog {
        padding: 24px !important; /* Na mobilech padding pro lepší ergonomii mírně zmenšíme */
    }
    body #colorbox:has(.cookiesDialog) #cboxClose {
        top: 24px !important;
        right: 24px !important;
    }
    .cookiesSetting__bottom {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .cookiesSetting__uncheck {
        text-align: center !important;
        order: 3 !important; 
        margin-top: 4px !important;
    }
    body .cookiesSetting__button {
        width: 100% !important;
    }
}

/* Cookies-settings modal — posun pod hlavičku, ať křížek není schovaný */
body #colorbox:has(.cookiesDialog) {
    margin-top: calc(var(--rekusam-header-h, 80px) + 16px) !important;
}

/* Cookie lišta — odkaz „zde" (Více informací) byl bílý na bílé liště = neviditelný (V50) */
html body div.siteCookies.js-siteCookies .siteCookies__form .siteCookies__text a[href] {
    color: #074343 !important;
    -webkit-text-fill-color: #074343 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

/* Cookie lišta — mobilní zalomení: text nahoře, tlačítka dole vedle sebe (V50: nižší tlačítka,
   „Nastavení" vlevo pod textem — dřív tlačítko přes celou šířku s textem uprostřed) */
@media (max-width: 767px) {
    body .siteCookies.js-siteCookies { padding: 18px 18px 16px !important; }
    body .siteCookies__form {
        flex-direction: column !important;
        gap: 14px !important;
        align-items: stretch !important;
    }
    body .siteCookies .siteCookies__links { text-align: left !important; margin: 2px 0 0 !important; }
    html body div.siteCookies.js-siteCookies .siteCookies__links .siteCookies__link { width: auto !important; text-align: left !important; }
    body .siteCookies__buttonWrap {
        width: 100% !important;
        flex-shrink: 1 !important;
        gap: 10px !important;
    }
    body .siteCookies__button {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }
    body .siteCookies .siteCookies__button {
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 14px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
    }
}

/* ============================================================================
   PDZ1 — KOMPLETNÍ CHECKOUT PROCES (PŘIHLÁŠENÍ & REGISTRACE)
   ============================================================================ */

/* ----------------------------------------------------------------------------
   A) PŘIHLÁŠENÍ (.in-login) — Úzká White Card s ikonou zámku
   ---------------------------------------------------------------------------- */

body.in-login #content .content-inner {
    background: #ffffff !important;
    max-width: 460px !important;
    width: 100% !important;
    margin-top: var(--section-padding-y) !important;
    margin-bottom: var(--section-padding-y) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    /* Plynulé vnitřní odsazení: 24px na mobilu -> 40px na desktopu */
    padding: clamp(24px, 4vw, 40px) !important; 
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 25px 60px rgba(7, 67, 67, 0.25) !important;
    box-sizing: border-box !important;
}

body.in-login #content .content-inner h1 {
    color: #1A1A1A !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-bottom: clamp(20px, 3vw, 32px) !important;
    text-align: center !important;
}

body.in-login #content .formLogin {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

body.in-login #content .form-group {
    margin: 0 !important;
    padding: 0 !important;
}

body.in-login #content .form-control {
    width: 100% !important;
    height: 54px !important;
    background-color: #f6f7f8 !important; 
    border: 1px solid #074343 !important; 
    border-radius: var(--radius-sm) !important;
    padding: 12px 20px !important;
    font-family: var(--template-font) !important;
    font-size: 1.375rem !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
}

body.in-login #content .form-control:focus {
    background-color: #ffffff !important;
    border-color: #074343 !important; 
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.15) !important;
    outline: none !important;
}

body.in-login #content .form-control::placeholder {
    color: #5b6b7a !important; 
    opacity: 1 !important;
}

body.in-login #content .btn-login {
    width: 100% !important;
    min-height: 50px !important;
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: 1.25rem !important;         
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    margin-top: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}

body.in-login #content .btn-login:hover {
    background-color: #053030 !important; 
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4) !important;
}

body.in-login #content .btn-login::before {
    content: "" !important;
    font-family: inherit !important;
    display: inline-block !important;
    width: 24px !important;
    height: 24px !important;
    margin-right: 12px !important;
    flex-shrink: 0 !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
}

body.in-login #content .password-helper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 14px !important;
    gap: 16px !important;
}

body.in-login #content .password-helper a {
    color: #074343 !important; 
    font-family: var(--template-font) !important;
    font-size: 1.15rem !important; 
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, text-decoration 0.2s ease !important;
}

body.in-login #content .password-helper a:hover {
    color: #053030 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Globální pojistka pro hlášky chyb i v login sekci */
body.in-login #content .js-validator-msg,
body.in-login #content .validator-msg {
    color: #dc2626 !important; 
    font-family: var(--template-font), sans-serif !important;
    font-size: 1.125rem !important; /* Zmenšeno pro jemnější vzhled */
    font-weight: 500 !important;
    margin-top: 6px !important;
}

@media (max-width: 640px) {
    body.in-login #content .content-inner {
        width: calc(100% - 32px) !important; /* Bezpečné boční okraje na mobilu */
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
    body.in-login #content .password-helper {
        flex-direction: column !important;
        gap: 12px !important;
        text-align: center !important;
    }
}

/* ----------------------------------------------------------------------------
   B) REGISTRACE (.in-registrace) — Široká White Card, fluidní grid
      • pole sjednocená se stylem login modalu
      • vše v clamp() / fluidních hodnotách (bez pevných px tam, kde to jde)
      • sekce „Potvrzení" + souhlas vyladěné
   ---------------------------------------------------------------------------- */

body.in-registrace #content .content-inner {
    background: #ffffff !important;
    max-width: 1000px !important;
    width: 100% !important;
    margin-top: var(--section-padding-y) !important;
    margin-bottom: var(--section-padding-y) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: clamp(24px, 4vw, 48px) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 25px 60px rgba(7, 67, 67, 0.25) !important;
    box-sizing: border-box !important;
}

/* Hlavní nadpis stránky */
body.in-registrace #content .content-inner h1 {
    color: #1A1A1A !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: clamp(24px, 3.5vw, 40px) !important;
    text-align: center !important;
}

/* --- Resety Shoptet boxů, aby prosvítala bílá karta --- */
body.in-registrace #content .box,
body.in-registrace #content .box-sm,
body.in-registrace #content .box-bg-default,
body.in-registrace #content .co-box {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
body.in-registrace #content .co-box:empty {
    display: none !important;
}
/* Honeypot a technické prvky vždy skryté */
body.in-registrace #content .no-display,
body.in-registrace #content input[name="surname"],
body.in-registrace #content input[name="billFullName"] {
    display: none !important;
}

/* --- Fluidní grid polí (bez media queries: auto-fit + minmax) --- */
body.in-registrace #content fieldset.box-bg-default {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
    gap: clamp(16px, 2.5vw, 26px) !important;
    align-items: start !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* --- Nadpisy sekcí (Osobní údaje i Potvrzení) — jednotný styl s linkou --- */
body.in-registrace #content .formRegistration h4 {
    color: #074343 !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.2rem, 2vw, 1.45rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: clamp(6px, 1.2vw, 10px) !important;
    padding-bottom: clamp(6px, 1.2vw, 10px) !important;
    border-bottom: 1px solid #e6edf3 !important;
}
/* Nadpis uvnitř gridu přes celou šířku */
body.in-registrace #content fieldset.box-bg-default h4 {
    grid-column: 1 / -1 !important;
}

/* --- Form-group + popisky --- */
body.in-registrace #content .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(4px, 1vw, 7px) !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    position: relative !important;
}

html body.in-registrace #content .form-group label,
html body.in-registrace #content .form-group label span {
    color: #074343 !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    position: relative !important;
}
body.in-registrace #content .required-asterisk::after {
    display: none !important;
}

/* --- Vstupní pole — 1:1 s login modalem --- */
body.in-registrace #content .form-control {
    width: 100% !important;
    height: clamp(48px, 6vw, 54px) !important;
    background-color: #f6f7f8 !important;
    border: 1px solid #074343 !important;
    border-radius: var(--radius-sm) !important;
    padding: clamp(10px, 1.8vw, 12px) clamp(16px, 2.5vw, 20px) !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.05rem, 2vw, 1.375rem) !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
body.in-registrace #content .form-control:focus {
    background-color: #ffffff !important;
    border-color: #074343 !important;
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.15) !important;
    outline: none !important;
}
body.in-registrace #content .form-control::placeholder {
    color: #5b6b7a !important;
    opacity: 1 !important;
}

/* --- Validace na bílé kartě --- */
body.in-registrace #content .form-group.has-error,
body.in-registrace #content .has-error,
body.in-registrace #content .error,
body.in-registrace #content .js-validated-element-wrapper.has-error {
    border: none !important;
    border-color: transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}
body.in-registrace #content .has-error input,
body.in-registrace #content input.error {
    border: 1px solid #dc2626 !important;
}
body.in-registrace #content .js-validator-msg,
body.in-registrace #content .validator-msg {
    color: #dc2626 !important;
    font-family: var(--template-font), sans-serif !important;
    font-size: clamp(1rem, 1.8vw, 1.125rem) !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: clamp(4px, 1vw, 6px) auto 0 0 !important;
    text-align: left !important;
    display: block !important;
    position: relative !important;
    white-space: normal !important;
    width: 100% !important;
    overflow: visible !important;
    float: none !important;
}
body.in-registrace #content .form-group:has(#email) .js-validator-msg,
body.in-registrace #content .form-group:has(#email) .validator-msg {
    max-width: 280px !important;
}

/* --- Sekce „Potvrzení": souhlas + odeslání --- */
body.in-registrace #content .formRegistration fieldset:not(.box-bg-default) {
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: clamp(24px, 3.5vw, 36px) 0 0 0 !important;
    box-shadow: none !important;
}

/* Řádek souhlasu — text jako jemná poznámka, odkazy ve firemní modré */
body.in-registrace #content .consents {
    display: block !important;
    margin-top: clamp(12px, 2vw, 18px) !important;
}
body.in-registrace #content .consents-first input[type="checkbox"] {
    margin-right: clamp(8px, 1.5vw, 12px) !important;
    transform: translateY(2px) !important;
    flex-shrink: 0 !important;
}
body.in-registrace #content label.whole-width,
html body.in-registrace #content .consents label.whole-width,
html body.in-registrace #content .consents label[for^="consents"],
html body.in-registrace #content .consents label.whole-width span {
    display: block !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1rem, 1.8vw, 1.15rem) !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: #333333 !important;
}
html body.in-registrace #content .consents label.whole-width a,
html body.in-registrace #content .consents label[for^="consents"] a,
html body.in-registrace #content .consents label.whole-width a span {
    color: #074343 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease, text-decoration 0.2s ease !important;
}
html body.in-registrace #content .consents label.whole-width a:hover,
html body.in-registrace #content .consents label[for^="consents"] a:hover,
html body.in-registrace #content .consents label.whole-width a:hover span {
    color: #053030 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
body.in-registrace #content .consents .js-validator-msg,
body.in-registrace #content .consents .validator-msg {
    margin-left: 0 !important;
    display: block !important;
}

/* --- Odesílací tlačítko (pill, sjednocené s loginem) --- */
body.in-registrace #content .submit-wrapper {
    margin-top: clamp(24px, 3vw, 32px) !important;
    margin-bottom: 0 !important;
}
body.in-registrace #content .submit-wrapper p {
    margin: 0 !important;
    padding: 0 !important;
}
body.in-registrace #content input[type="submit"].btn-login {
    width: 100% !important;
    max-width: clamp(280px, 50%, 360px) !important;
    min-height: clamp(48px, 6vw, 54px) !important;
    margin: 0 auto !important;
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: clamp(1.1rem, 2vw, 1.25rem) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    display: block !important;
    text-align: center !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
body.in-registrace #content input[type="submit"].btn-login:hover {
    background-color: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4) !important;
}

/* --- Mobil: užší boční okraje karty (grid řeší auto-fit sám) --- */
@media (max-width: 767px) {
    body.in-registrace #content .content-inner {
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
}

/* ============================================================================
   ZAPOMENUTÉ HESLO — Čisté CSS s využitím globálních tokenů a clamp()
   ============================================================================ */

/* 1. Skrytí nativních prvků (drobečky a sidebar) na této specifické stránce */
#content-wrapper:has(#formForgottenPassword) .breadcrumbs,
#content-wrapper:has(#formForgottenPassword) .sidebar-left {
    display: none !important;
}

/* 2. Roztažení hlavního kontejneru na plnou šířku před vycentrováním karty */
#content-wrapper:has(#formForgottenPassword) #content.content {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* 3. Transformace stávajícího .content-inner na vaši ikonickou White Card */
#content:has(#formForgottenPassword) .content-inner {
    background: #ffffff !important;
    /* Šířka boxu řízená responzivním clampem s maximální stopkou na 460px */
    width: 100% !important;
    max-width: clamp(280px, 90vw, 460px) !important;
    
    /* Vertikální odsazení sekce přebírá globální token: clamp(40px, 5vw, 120px) */
    margin-top: var(--section-padding-y) !important;
    margin-bottom: var(--section-padding-y) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    
    /* Vnitřní polstrování karty plynule reaguje na velikost displeje */
    padding: clamp(1.5rem, 5vw, 2.5rem) !important; 
    
    /* Globální zaoblení pro velké bloky z vašeho tokenu: 1.5rem (~24px) */
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 25px 60px rgba(7, 67, 67, 0.25) !important;
    box-sizing: border-box !important;
}

/* 4. Nadpis H1 — Navázání na styl vašeho přihlašovacího boxu */
#content:has(#formForgottenPassword) .content-inner h1 {
    color: #1A1A1A !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
    margin-bottom: clamp(1rem, 3vw, 1.5rem) !important;
    text-align: center !important;
}

/* 5. Vyčištění Shoptet fieldsetu a duplicitního nadpisu H2 */
#formForgottenPassword fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    /* Dynamická mezera mezi prvky formuláře */
    gap: clamp(0.75rem, 2vw, 1.15rem) !important;
}
#formForgottenPassword h2 {
    display: none !important;
}

/* 6. Průvodní text instrukcí (Přebírá maximální velikost těla textu z vašeho tokenu 1.375rem) */
#formForgottenPassword p {
    font-family: var(--template-font) !important;
    font-size: clamp(1.1rem, 2.5vw, 1.375rem) !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    /* Kontrastní tmavá šedá pro světlé téma dle sekce 10 globálního CSS */
    color: #333333 !important; 
    margin-top: 0 !important;
    margin-bottom: clamp(1rem, 2.5vw, 1.5rem) !important;
    text-align: center !important;
}

/* 1. Nastavení flexboxu pro skupinu prvků, aby se vše řadilo na střed */
#formForgottenPassword .form-group.js-validated-element-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Vycentruje input a label jako bloky */
    text-align: center !important;   /* Vycentruje text uvnitř */
	font-family: var(--template-font) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 600 !important;
    color: #1A1A1A !important;
    width: 100% !important;
}

/* 2. Zarovnání textu samotného popisku na střed */
#formForgottenPassword .form-group label {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: clamp(0.4rem, 1vw, 0.6rem) !important;
}

/* 3. Centrování textu (placeholderu i zadaného e-mailu) uvnitř vstupního pole */
#formForgottenPassword .form-control {
    text-align: center !important; /* Zajistí, že blikající kurzor a text budou uprostřed */
    width: 100% !important;
    
    /* Pojistka pro správné vycentrování bloku, pokud by Shoptet omezil šířku */
    margin-left: auto !important;
    margin-right: auto !important;
}

#formForgottenPassword .form-control:focus {
    background-color: #ffffff !important;
    border-color: #074343 !important; 
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.15) !important;
    outline: none !important;
}

#formForgottenPassword .form-control::placeholder {
    color: #5b6b7a !important; 
    opacity: 1 !important;
}

/* 9. Hlavní odesílací tlačítko (Úprava nativního Shoptet input submitu) */
#formForgottenPassword .login-wrapper {
    margin-top: clamp(0.5rem, 2vw, 1rem) !important;
    padding: 0 !important;
}

#formForgottenPassword .login-wrapper input[type="submit"].btn {
    width: 100% !important;
    height: clamp(48px, 6vw, 54px) !important;
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    /* Pill-shape (plné zaoblení) zavedené v sekci 7 vašeho CSS */
    border-radius: 999px !important; 
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    /* Velikost fontu tlačítka z vašeho globálního manuálu: 1.25rem */
    font-size: clamp(1.1rem, 2vw, 1.25rem) !important;         
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    margin: 0 !important;
    -webkit-appearance: none !important;
}

#formForgottenPassword .login-wrapper input[type="submit"].btn:hover {
    background-color: #053030 !important; 
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4) !important;
}

/* Ochranné skrytí technických elementů a honeypotu */
#formForgottenPassword .no-display {
    display: none !important;
}

/* 10. Chybové hlášky validátoru (Pokud Shoptet pod polem vypsal chybu) */
#content:has(#formForgottenPassword) .js-validator-msg,
#content:has(#formForgottenPassword) .validator-msg {
    color: #dc2626 !important; 
    font-family: var(--template-font) !important;
    font-size: clamp(1.0rem, 2vw, 1.125rem) !important;
    font-weight: 500 !important;
    margin-top: clamp(4px, 1vw, 8px) !important;
}

/* ============================================================================
   NASTAVENÍ MÉHO ÚČTU (body:has(.client-center-box)) — B2B/B2G Zákaznická zóna
   ----------------------------------------------------------------------------
   Celá stránka v brand stylu: světlé pozadí, bílé karty (fieldsety), sidebar
   jako navigační panel, sladěné formulářové prvky a pill tlačítka. Jen globální
   tokeny + clamp(). Vše scopováno pod body:has(.client-center-box).
   ============================================================================ */

/* 1) Světlé plátno stránky (přebije tmavé téma webu jen zde) */
body:has(.client-center-box) #content-wrapper {
    background: transparent !important;
}
body:has(.client-center-box) .content-wrapper-in {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: clamp(1rem, 2.5vw, 2rem) !important;
    padding-top: var(--section-padding-y) !important;
    padding-bottom: var(--section-padding-y) !important;
}

/* 2) Nadpis stránky H1 */
body:has(.client-center-box) #content h1 {
    color: #FFFFFF !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.7rem, 4vw, 2.4rem) !important;
    font-weight: 700 !important;
    margin: 0 0 clamp(1rem, 3vw, 1.75rem) 0 !important;
}

/* 3) Levý sidebar — Zákaznická zóna jako navigační panel (bílá karta) */
body:has(.client-center-box) .sidebar-left {
    flex: 0 0 clamp(220px, 24vw, 280px) !important;
    max-width: 280px !important;
}
body:has(.client-center-box) .client-center-box {
    background: #FFFFFF !important;
    border-radius: var(--radius-lg) !important;
    padding: clamp(1rem, 2vw, 1.5rem) !important;
    box-shadow: 0 15px 40px rgba(7, 67, 67, 0.18) !important;
    box-sizing: border-box !important;
}
body:has(.client-center-box) .client-center-box ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(0.15rem, 0.6vw, 0.35rem) !important;
}
body:has(.client-center-box) .client-center-box li { margin: 0 !important; }

/* Odkazy v menu — pill hover, brand modrá */
body:has(.client-center-box) .client-center-box li a:not(.btn) {
    display: block !important;
    padding: clamp(0.5rem, 1.2vw, 0.7rem) clamp(0.75rem, 1.5vw, 1rem) !important;
    border-radius: 999px !important;
    color: #1A1A1A !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}
body:has(.client-center-box) .client-center-box li a:not(.btn):hover {
    background-color: rgba(7, 67, 67, 0.10) !important;
    color: #074343 !important;
}
/* Aktivní položka */
body:has(.client-center-box) .client-center-box li.active a:not(.btn) {
    background-color: #074343 !important;
    color: #FFFFFF !important;
}
/* Odhlašovací tlačítko v sidebaru */
body:has(.client-center-box) .client-center-box li.logout a.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: clamp(0.4rem, 1vw, 0.6rem) 0 !important;
    padding: clamp(0.5rem, 1.2vw, 0.65rem) 1rem !important;
    background-color: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.25s ease !important;
}
body:has(.client-center-box) .client-center-box li.logout a.btn:hover {
    background-color: #074343 !important;
    color: #FFFFFF !important;
}

/* SKRYTÍ "Moje diskuze u produktů" (B2B/B2G irelevantní) */
body:has(.client-center-box) .client-center-box a[href*="/klient/klient-diskuze/"] {
    display: none !important;
}
body:has(.client-center-box) .client-center-box li:has(> a[href*="/klient/klient-diskuze/"]) {
    display: none !important;
}

/* 4) Hlavní obsah zabere zbytek řádku */
body:has(.client-center-box) #content.content {
    flex: 1 1 clamp(320px, 60vw, 760px) !important;
    width: auto !important;
    max-width: 760px !important;
    float: none !important;
}

/* 5) JEDNA velká bílá karta = celý formulář; vnitřní fieldsety zploštělé */
body:has(.client-center-box) #content form#register-form,
body:has(.client-center-box) #content .content-inner > form {
    background: #FFFFFF !important;
    border: none !important;
    border-radius: var(--radius-lg) !important;
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
    box-shadow: 0 15px 40px rgba(7, 67, 67, 0.18) !important;
    box-sizing: border-box !important;
}

/* Vnitřní fieldsety/boxy: bez vlastní karty (žádné pozadí/stín/rádius),
   oddělené jen jemnou linkou shora s odstupem. */
body:has(.client-center-box) #content form fieldset,
body:has(.client-center-box) #content form .co-box .box {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}
/* Obal .co-box bez vlastního rámu */
body:has(.client-center-box) #content form .co-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Oddělovač mezi sekcemi: každá sekce kromě první dostane horní linku + mezeru.
   Sekce jsou: fieldset (Osobní údaje je uvnitř .co-registration), fieldset
   (Fakturační), .co-box (Lokalita). Řešíme přes odstup a border-top na H4 bloku. */
body:has(.client-center-box) #content form > fieldset,
body:has(.client-center-box) #content form > .co-box,
body:has(.client-center-box) #content form > .co-registration,
body:has(.client-center-box) #content form > .submit-wrapper {
    margin-top: clamp(1.5rem, 4vw, 2.25rem) !important;
    padding-top: clamp(1.5rem, 4vw, 2.25rem) !important;
    border-top: 2px solid #eef2f5 !important;
}
/* První sekce (Osobní údaje) bez horní linky/mezery */
body:has(.client-center-box) #content form > .co-registration:first-of-type,
body:has(.client-center-box) #content form > fieldset:first-of-type {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* Prázdný co-registration blok (Shoptet ho renderuje bez obsahu) — pryč,
   ať netvoří prázdné místo ani linku. */
body:has(.client-center-box) #content form > .co-registration:empty {
    display: none !important;
}

/* Nadpisy sekcí uvnitř karty */
body:has(.client-center-box) #content fieldset h4,
body:has(.client-center-box) #content .co-box h4 {
    color: #1A1A1A !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.25rem, 2.5vw, 1.6rem) !important;
    font-weight: 700 !important;
    margin: 0 0 clamp(0.85rem, 2vw, 1.25rem) 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
}

/* 6) Formulářové skupiny */
body:has(.client-center-box) #content .form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(0.3rem, 1vw, 0.5rem) !important;
    margin-bottom: clamp(0.85rem, 2vw, 1.15rem) !important;
}
body:has(.client-center-box) #content .form-group label {
    display: block !important;
    position: static !important;   /* zruší smart-label plovoucí placeholder */
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    color: #333333 !important;
    font-family: var(--template-font) !important;
    /* Sladěno se základním textem "p" na webu */
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;   /* KLÍČ: smart-label dával velkou line-height → obří mezera při zalomení */
    white-space: normal !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Text uvnitř labelu (Shoptet balí popisek do <span>, který dědil bílou
   z tmavého tématu webu → na bílé kartě neviditelný). Vynutíme tmavou + line-height. */
body:has(.client-center-box) #content .form-group label span,
body:has(.client-center-box) #content .form-group label .required-asterisk {
    color: #333333 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}
/* Povinná pole — hvězdička za textem */
body:has(.client-center-box) #content .required-asterisk::after {
    content: " *" !important;
    color: #dc2626 !important;
    font-weight: 700 !important;
}

/* 7) Inputy a selecty — pill/bevel v brand stylu */
body:has(.client-center-box) #content .form-control {
    width: 100% !important;
    padding: clamp(0.6rem, 1.5vw, 0.8rem) clamp(1.1rem, 2.5vw, 1.4rem) !important;
    background-color: #FFFFFF !important;
    color: #1A1A1A !important;
    border: 2px solid #074343 !important;   /* brand modrý border */
    border-radius: 999px !important;        /* pill tvar */
    font-family: var(--template-font) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}
body:has(.client-center-box) #content .form-control:focus {
    background-color: #FFFFFF !important;
    border-color: #074343 !important;
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.18) !important;
    outline: none !important;
}
body:has(.client-center-box) #content .form-control::placeholder {
    color: #90a0ad !important;
    opacity: 1 !important;
}
body:has(.client-center-box) #content select.form-control {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231A6B9B' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right clamp(1.1rem, 2.5vw, 1.4rem) center !important;
    background-size: 1.1em !important;
    padding-right: clamp(2.75rem, 5.5vw, 3.25rem) !important;
}

/* Telefon s předvolbou — sladění comboboxu */
body:has(.client-center-box) #content .phone-combined-input {
    display: flex !important;
    align-items: stretch !important;
    gap: clamp(0.4rem, 1vw, 0.6rem) !important;
}
/* Předvolba telefonu — název státu (.shp-flag-name) dědil bílou z tmavého tématu → na bílé kartě neviditelný */
body:has(.client-center-box) #content .shp-flag-name {
    color: #1A1A1A !important;
}
/* Pole s tooltipem (DIČ) — label a "?" na jednom řádku, input pod nimi.
   Shoptet renderuje "?" jako position:absolute → bez ukotvení odlétal daleko
   vpravo. Přepneme skupinu na řádkový flex a "?" dáme static hned za label. */
body:has(.client-center-box) #content .form-group-hasTooltip {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    column-gap: 0.5rem !important;
    row-gap: clamp(0.3rem, 1vw, 0.5rem) !important;
    position: relative !important;
}
/* Label jen na šířku textu (ne 100%), ať "?" sedí těsně za ním */
body:has(.client-center-box) #content .form-group-hasTooltip > label {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    order: 1 !important;
    margin: 0 !important;
}
body:has(.client-center-box) #content .form-group-hasTooltip .form-group-tooltip {
    flex: 0 0 auto !important;
    order: 2 !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    margin: 0 !important;
}
body:has(.client-center-box) #content .form-group-hasTooltip::after {
    content: "" !important;
    flex: 1 0 100% !important;
    width: 100% !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 3 !important;
}
/* Input a validační hláška zaberou celý řádek pod popiskem */
body:has(.client-center-box) #content .form-group-hasTooltip .form-control {
    order: 4 !important;
}
body:has(.client-center-box) #content .form-group-hasTooltip .js-validator-msg,
body:has(.client-center-box) #content .form-group-hasTooltip .validator-msg,
body:has(.client-center-box) #content .form-group-hasTooltip .sr-only {
    order: 4 !important;
    flex: 0 0 100% !important;
}

body:has(.client-center-box) #content .form-group-tooltip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 1.4em !important;
    height: 1.4em !important;
    background: #074343 !important;
    color: #FFFFFF !important;
    border-radius: 50% !important;
    font-size: 0.85em !important;
    font-weight: 700 !important;
    cursor: help !important;
}

/* 8) "Doručovací adresy" → prázdný stav */
body:has(.client-center-box) #content .co-registration p {
    color: #5b6b7a !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.1rem, 1.15vw, 1.3rem) !important;
    margin: 0 0 clamp(0.75rem, 2vw, 1rem) 0 !important;
}

/* 9) Sekundární tlačítko "Přidat nové místo instalace" */
body:has(.client-center-box) #content .co-registration a.btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: clamp(0.65rem, 1.6vw, 0.85rem) clamp(1.25rem, 3vw, 1.75rem) !important;
    background-color: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: clamp(1rem, 1.8vw, 1.1rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
body:has(.client-center-box) #content .co-registration a.btn-secondary:hover {
    background-color: #074343 !important;
    color: #FFFFFF !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4) !important;
}

/* 10) Hlavní "Uložit" — primární pill tlačítko */
body:has(.client-center-box) #content .submit-wrapper p { margin: 0 !important; }
body:has(.client-center-box) #content .submit-wrapper input[type="submit"].btn {
    width: 100% !important;
    max-width: 320px !important;
    height: clamp(48px, 6vw, 54px) !important;
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: clamp(1.1rem, 2vw, 1.25rem) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
body:has(.client-center-box) #content .submit-wrapper input[type="submit"].btn:hover {
    background-color: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4) !important;
}

/* 11) Skrytí honeypotu / technických polí */
body:has(.client-center-box) #content .no-display { display: none !important; }

/* 12) Responzivita: pod 860px sidebar nad obsah, plná šířka */
@media (max-width: 860px) {
    body:has(.client-center-box) .content-wrapper-in { flex-direction: column !important; }
    body:has(.client-center-box) .sidebar-left {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    body:has(.client-center-box) #content.content {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}
/* ============================================================================
   KLIENTSKÉ CENTRUM — obsah podstránek BEZ formuláře jako bílá karta
   (nastavení má kartou samotný #register-form; ostatní stránky nemají formulář,
   proto kartujeme .content-inner). Scope shodný se zbytkem: body:has(.client-center-box).
   ============================================================================ */
body:has(.client-center-box) #content .content-inner:not(:has(form)) {
    background: #FFFFFF !important;
    border-radius: var(--radius-lg) !important;
    padding: clamp(1.5rem, 4vw, 2.5rem) !important;
    box-shadow: 0 15px 40px rgba(7, 67, 67, 0.18) !important;
    box-sizing: border-box !important;
    color: #1A1A1A !important;
}

/* H1 jako tmavý nadpis karty — přebíjí bílý H1 z nastavení, (1,2,3) > (1,1,2) */
body:has(.client-center-box) #content .content-inner:not(:has(form)) h1 {
    color: #1A1A1A !important;
    margin-top: 0 !important;
}

/* Čitelný text/nadpisy v kartě */
body:has(.client-center-box) #content .content-inner:not(:has(form)) h2,
body:has(.client-center-box) #content .content-inner:not(:has(form)) h3,
body:has(.client-center-box) #content .content-inner:not(:has(form)) h4,
body:has(.client-center-box) #content .content-inner:not(:has(form)) p,
body:has(.client-center-box) #content .content-inner:not(:has(form)) li,
body:has(.client-center-box) #content .content-inner:not(:has(form)) td,
body:has(.client-center-box) #content .content-inner:not(:has(form)) th {
    color: #1A1A1A !important;
    font-family: var(--template-font) !important;
}

/* Odkazy v kartě v brand modré (přebije globální a:not(.btn){color:#fff}) */
body:has(.client-center-box) #content .content-inner:not(:has(form)) a:not(.btn) {
    color: #074343 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* Tabulky dokladů/faktur do brand stylu */
body:has(.client-center-box) #content .content-inner:not(:has(form)) table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: clamp(0.75rem, 2vw, 1.25rem) !important;
}
body:has(.client-center-box) #content .content-inner:not(:has(form)) th,
body:has(.client-center-box) #content .content-inner:not(:has(form)) td {
    padding: clamp(0.5rem, 1.2vw, 0.75rem) clamp(0.6rem, 1.5vw, 1rem) !important;
    border-bottom: 1px solid #eef2f5 !important;
    text-align: left !important;
    vertical-align: middle !important;
}
body:has(.client-center-box) #content .content-inner:not(:has(form)) thead th {
    font-family: var(--template-headings-font) !important;
    font-weight: 700 !important;
    border-bottom: 2px solid #074343 !important;
}
/* ============================================================================
   PŘIHLAŠOVACÍ MODAL (#login) — White Card v brand stylu
   Plně responzivní, jen globální tokeny + clamp(). Sladěno s body.in-login.
   Vše scopováno pod #login, aby to nezasahovalo do zbytku webu.
   ============================================================================ */

/* 1) Overlay celé obrazovky — tmavý scrim + centrování obsahu flexem.
      Horní padding drží obsah pod headerem i na nízkých displejích.
      DŮLEŽITÉ: display:flex jen pro OTEVŘENÝ stav ([open]/.is-visible), jinak by
      !important držel dialog zobrazený i po zavření (× by „nic nedělalo"). */
dialog#login.dialog--modal[open],
dialog#login.dialog--modal.is-visible {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border: none !important;
    padding: clamp(90px, 12vh, 130px) clamp(16px, 5vw, 40px) clamp(24px, 6vh, 56px) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(7, 67, 67, 0.55) !important;   /* brand navy scrim */
    -webkit-backdrop-filter: blur(6px) !important;
    backdrop-filter: blur(6px) !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    /* Pod headerem (ten má max z-index), ale nad zbytkem webu */
    z-index: 2147483646 !important;
}

/* Zavřený stav: žádné vynucené zobrazení — ať ho Shoptet/UA může schovat */
dialog#login.dialog--modal:not([open]):not(.is-visible) {
    display: none !important;
}

/* Nativní ::backdrop necháme průhledný — scrim řešíme přímo na dialogu */
#login.dialog--modal::backdrop {
    background: transparent !important;
}

/* 2) Zavírací „×" — řádek o šířce karty, tlačítko zarovnané vpravo a záporným
      margin-bottem stažené tak, aby překrylo pravý horní roh karty.
      Nezávislé na výšce karty → karta může zůstat na středu. */
#login .dialog__close--arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    justify-content: flex-end !important;
    width: min(92vw, 460px) !important;
    max-width: 460px !important;
    /* stáhne kartu nahoru pod tlačítko (≈ výška tlačítka + odstup) */
    margin: 0 0 calc(-1 * (clamp(34px, 5vw, 42px) + clamp(12px, 1.8vw, 18px))) !important;
    padding: clamp(12px, 1.8vw, 18px) clamp(12px, 1.8vw, 18px) 0 0 !important;
    background: transparent !important;
    z-index: 3 !important;            /* nad kartou */
    pointer-events: none !important;  /* klikací je jen samotné tlačítko */
}

#login .dialog__close--arrow .toggle-window-arr {
    pointer-events: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: clamp(34px, 5vw, 42px) !important;
    height: clamp(34px, 5vw, 42px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
    /* skryje text "Zpět do obchodu" i případnou ikonu šipky ze Shoptetu */
    font-size: 0 !important;
    line-height: 0 !important;
    text-indent: 0 !important;
    overflow: hidden !important;
    color: #1A1A1A !important;
    background: #f6f7f8 !important;
    border: 1px solid #d8dee3 !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* Vykreslení samotného „×" přes masku (currentColor → dědí barvu tlačítka) */
#login .dialog__close--arrow .toggle-window-arr::before {
    content: "" !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 44% !important;
    height: 44% !important;
    margin: 0 !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
/* Skrytí případného textového <span> ("do obchodu") */
#login .dialog__close--arrow .toggle-window-arr span {
    display: none !important;
}

#login .dialog__close--arrow .toggle-window-arr:hover {
    background: #074343 !important;
    color: #ffffff !important;
    border-color: #074343 !important;
}

/* 3) Obal — vyřazen z layoutu (display:contents), aby karta byla přímo flex-item
      dialogu a centrovala se spolu s „×" řádkem. */
#login .dialog__wrapper {
    display: contents !important;
}

/* 4) Samotná White Card — normální flex-item, na středu (řeší flex dialogu) */
#login .dialog__content--form {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    background: #ffffff !important;
    width: min(92vw, 460px) !important;
    max-width: 460px !important;
    margin: 0 !important;
    padding: clamp(24px, 5vw, 40px) !important;
    border-radius: var(--radius-lg) !important;        /* 24px */
    box-shadow: 0 25px 60px rgba(7, 67, 67, 0.35) !important;
    box-sizing: border-box !important;
    z-index: 2 !important;
}

#login .dialog__header {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* 5) Nadpis — stejný řez jako h1 na in-login stránce */
#login .dialog__heading--login {
    color: #1A1A1A !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 clamp(20px, 3vw, 32px) !important;
    padding: 0 clamp(28px, 7vw, 44px) !important;   /* prostor, aby text nelezl pod „×" */
    text-align: center !important;
}

/* 6) Tělo dialogu + formulář jako svislý stack */
#login .dialog__body {
    padding: 0 !important;
}

#login .formLogin {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(12px, 2vw, 16px) !important;
    margin: 0 !important;
}

#login .formLogin .form-group {
    margin: 0 !important;
    padding: 0 !important;
}

#login .input-wrapper {
    width: 100% !important;
    margin: 0 !important;
}

/* 7) Vstupní pole — shodná s in-login (bg, border, radius-sm), vše v clamp() */
#login .form-control {
    width: 100% !important;
    height: clamp(48px, 6vw, 54px) !important;
    background-color: #f6f7f8 !important;
    border: 1px solid #074343 !important;
    border-radius: var(--radius-sm) !important;        /* 8px */
    padding: clamp(10px, 1.8vw, 12px) clamp(16px, 2.5vw, 20px) !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.05rem, 2vw, 1.375rem) !important;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease-in-out !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

#login .form-control:focus {
    background-color: #ffffff !important;
    border-color: #074343 !important;
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.15) !important;
    outline: none !important;
}

#login .form-control::placeholder {
    color: #5b6b7a !important;
    opacity: 1 !important;
}

/* 8) Wrapper s tlačítkem a pomocnými odkazy */
#login .login-wrapper {
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 9) Hlavní tlačítko — pill + ikona zámku (stejná maska jako in-login) */
#login .btn-login {
    width: 100% !important;
    min-height: clamp(48px, 6vw, 54px) !important;
    background-color: #074343 !important;
    color: #FFFFFF !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: clamp(1.1rem, 2vw, 1.25rem) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    margin-top: clamp(4px, 1.5vw, 8px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

#login .btn-login:hover {
    background-color: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(7, 67, 67, 0.4) !important;
}

#login .btn-login::before {
    content: "" !important;
    display: inline-block !important;
    width: clamp(20px, 3vw, 24px) !important;
    height: clamp(20px, 3vw, 24px) !important;
    margin-right: clamp(8px, 1.5vw, 12px) !important;
    flex-shrink: 0 !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* 10) Pomocné odkazy (Nová registrace / Zapomenuté heslo) */
#login .password-helper {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: clamp(12px, 2vw, 16px) !important;
    margin-top: clamp(12px, 2vw, 14px) !important;
}

#login .password-helper a {
    color: #074343 !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1rem, 2vw, 1.15rem) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, text-decoration 0.2s ease !important;
}

#login .password-helper a:hover {
    color: #053030 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

/* 11. Serverová flash hláška přesunutá JS-em pod input pole (.rekusam-forgotten-alert)
   ----------------------------------------------------------------------------
   JS (PDZ1_global_V51+) přenese Shoptet zprávu (např. "E-mail se nenachází
   v databázi") sem pod input a přidá třídu .rekusam-forgotten-alert. Stylizujeme ji
   jako trvalý, dobře viditelný alert v brand duchu — světle červená karta
   s levým pruhem a výstražnou ikonou. */
#formForgottenPassword .rekusam-forgotten-alert {
    display: flex !important;
    align-items: flex-start !important;
    gap: clamp(0.5rem, 1.5vw, 0.75rem) !important;
    width: 100% !important;
    margin: clamp(0.4rem, 1.5vw, 0.75rem) 0 0 0 !important;
    padding: clamp(0.75rem, 2vw, 1rem) clamp(0.85rem, 2.5vw, 1.15rem) !important;
    background-color: #fef2f2 !important;      /* světle červené pozadí */
    border: 1px solid #fecaca !important;
    border-left: 4px solid #dc2626 !important; /* výrazný levý pruh */
    border-radius: var(--radius-sm) !important;
    box-sizing: border-box !important;

    /* Text hlášky */
    color: #b91c1c !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.0rem, 2vw, 1.125rem) !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    text-align: left !important;

    /* Jemné zjevení, ať alert "naskočí" a upoutá pozornost */
    animation: rekusamForgottenAlertIn 0.35s cubic-bezier(0.25, 1, 0.5, 1) both !important;
}

/* Výstražná ikona (⚠) před textem přes ::before */
#formForgottenPassword .rekusam-forgotten-alert::before {
    content: "" !important;
    flex: 0 0 auto !important;
    width: clamp(18px, 4vw, 22px) !important;
    height: clamp(18px, 4vw, 22px) !important;
    margin-top: 1px !important;
    background-color: #dc2626 !important;
    /* Vykreslení ikony přes mask, ať dědí barvu (technika ze sekce ikon) */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/%3E%3Cline x1='12' y1='9' x2='12' y2='13'/%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'/%3E%3C/svg%3E") !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
}

/* Uvnitř přesunuté hlášky Shoptet občas nechá <ul>/<li> odrážky — zneškodníme */
#formForgottenPassword .rekusam-forgotten-alert ul,
#formForgottenPassword .rekusam-forgotten-alert li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Pokud Shoptet do hlášky vloží zavírací křížek, na trvalém alertu ho skryjeme */
#formForgottenPassword .rekusam-forgotten-alert .messages-close,
#formForgottenPassword .rekusam-forgotten-alert .message__close,
#formForgottenPassword .rekusam-forgotten-alert .close {
    display: none !important;
}

@keyframes rekusamForgottenAlertIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 11) Honeypot a technické prvky vždy skryté */
#login .no-display,
#login input[name="surname"] {
    display: none !important;
}

/* 12) Chybové hlášky validátoru */
#login .js-validator-msg,
#login .validator-msg {
    color: #dc2626 !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1rem, 2vw, 1.125rem) !important;
    font-weight: 500 !important;
    margin-top: clamp(4px, 1vw, 6px) !important;
    text-align: left !important;
}



/* 13) Mobil — odkazy pod sebe, jistá boční vůle */
@media (max-width: 640px) {
    #login .password-helper {
        flex-direction: column !important;
        gap: 12px !important;
        text-align: center !important;
    }
}

.rekusam-cena-individualne {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-weight: 700;
    color: #1A1A1A !important;
    font-size: clamp(1rem, 1rem + 0.4vw, 1.2rem);
    line-height: 1.2;
    white-space: nowrap;
}

/* Cena individuálně — skrytí ovládání množství (košík, rekapitulace, detail) */
.rekusam-ind-hidden {
    display: none !important;
}
/* ---- PDZ1_poptavka_V23.css ---- */
/* =====================================================================
   PDZ1 — POPTÁVKOVÝ KOŠÍK / SUMARIZACE (PDZ1_poptavka_V12.css)
   ---------------------------------------------------------------------
   V12 (krok-2 formulář v režimu poptávky):
   • Větší a lépe zarovnané texty (label nad polem, vše na plnou šířku).
   • Inputy v PDZ pill/bevel stylu (3 zaoblené rohy + diagonální seříznutí
     s linkou) převzatém z formuláře Firmy, přebarveném na světlou kartu.
   • Checkboxy (Místo instalace / B2B účet) jako kolečko s akcentovým bodem.
   • „Zpět do obchodu" = bílý outline pill (na modrém pozadí stránky).
   • Primární tlačítko zkráceno (flex:0) → „Upravit položky" má víc místa.
   • Text tlačítka přepsán na „Odeslat poptávku" (skryt suffix s povinností).
   • Oprava neviditelných odkazů v souhlasu (ID-scope přebíjí globální #fff).
   • Řádek „Zákaznický účet" + tlačítko přihlášení zarovnán doprava.
   • Validační hlášky zarovnané doleva k poli (Shoptet je odsazoval doprava).
   • Vypnut duplicitní nativní Shoptet checkbox (label::before/::after).
   Samostatný stylový soubor pro fullscreen popup projektové poptávky.
   HTML generuje PDZ1_poptavka_V11.js (otevírá se přes .active).

   • Vzhled řízen tokeny na .rekusam-poptavka-popup → snadná témata.
   • Výchozí akcent = POPTÁVKOVÁ ZELENÁ (#074343).
   • Modrá varianta košíku: třída .is-cart na .rekusam-poptavka-popup.
   • Tlačítka kopírují globální styly (.btn-green-filled / .btn-blue-outline).
   • Dvousloupcový grid: 2/3 položky | 1/3 sticky souhrn + CTA.
   • Fluidní clamp() + tokeny, žádný text menší než 1.1rem.

   Načítat AŽ ZA PDZ1_global (kvůli tokenům --radius-* a fontům).
   ===================================================================== */

/* =========================================
   OVERLAY + TOKENY (výchozí = zelená)
========================================= */
.rekusam-poptavka-popup {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: #ffffff;
    z-index: 99999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transform: translateX(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    visibility: hidden;

    /* --- Tokeny tématu (zelená) --- */
    --rekusam-accent:        #074343;
    --rekusam-accent-dark:   #053030;
    --rekusam-accent-soft:   rgba(7, 67, 67, 0.08);
    --rekusam-accent-border: rgba(7, 67, 67, 0.40);

    /* --- Neutrální paleta --- */
    --rekusam-ink:        #1a1a1a;
    --rekusam-ink-soft:   #4f5559;
    --rekusam-muted:      #7e858a;
    --rekusam-line:       #e8eaec;
    --rekusam-surface:    #ffffff;
    --rekusam-surface-2:  #f6f7f8;
    --rekusam-danger:     #e11900;

    /* --- Fluidní typografická škála (clamp, spodní hranice 1.1rem) --- */
    --pop-fs-micro: clamp(1.1rem, 1.06rem + 0.18vw, 1.2rem);
    --pop-fs-body:  clamp(1.15rem, 1.09rem + 0.28vw, 1.3rem);
    --pop-fs-price: clamp(1.2rem, 1.06rem + 0.6vw, 1.4rem);
    --pop-fs-btn:   clamp(1.15rem, 1.09rem + 0.28vw, 1.25rem);
    --pop-fs-h1:    clamp(1.8rem, 1.3rem + 2.2vw, 2.5rem);
    --pop-fs-total: clamp(1.55rem, 1.1rem + 1.9vw, 2rem);
    --pop-fs-glyph: clamp(1.25rem, 1.1rem + 0.5vw, 1.45rem);

    /* --- Fluidní rozměry / mezery --- */
    --pop-pad-y: clamp(14px, 0.55rem + 0.6vw, 20px);
    --pop-pad-x: clamp(16px, 0.7rem + 0.8vw, 24px);
    --pop-gap:   clamp(12px, 0.5rem + 0.7vw, 18px);
    --pop-img:   clamp(60px, 4rem + 1.6vw, 80px);
    --pop-qty:   clamp(32px, 2rem + 0.6vw, 38px);

    color: var(--rekusam-ink) !important;
    font-family: var(--template-font, system-ui, -apple-system, 'Segoe UI', sans-serif);
}

.rekusam-poptavka-popup.active {
    transform: translateX(0);
    visibility: visible;
}

/* Zamknutí scrollu pozadí */
body.rekusam-poptavka-popup-open { overflow: hidden; }

.rekusam-poptavka-popup-inner {
    min-height: 100%;
    padding: 22px 0 72px;
    box-sizing: border-box;
}

/* Dvousloupcový grid: hlavička přes celou šířku, pak položky | souhrn */
.rekusam-poptavka-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 clamp(16px, 4vw, 32px);
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr);
    grid-template-areas:
        "header header"
        "items  aside";
    column-gap: clamp(20px, 3vw, 40px);
    row-gap: clamp(18px, 2vw, 28px);
    align-items: start;
}
.rekusam-poptavka-popup-header { grid-area: header; }
.rekusam-poptavka-items { grid-area: items; }
.rekusam-poptavka-empty { grid-column: 1 / -1; }

/* =========================================
   TLAČÍTKO „Zpět do obchodu" — globální BLUE OUTLINE (pilulka)
========================================= */
.rekusam-poptavka-close-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 clamp(16px, 4vw, 32px) 26px;
    padding: clamp(9px, 0.5rem + 0.4vw, 12px) clamp(18px, 1rem + 0.8vw, 26px);
    background: transparent;
    border: 2px solid #074343;
    border-radius: 999px;
    cursor: pointer;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-size: var(--pop-fs-btn);
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #074343 !important;
    transition: all 0.3s ease;
}
.rekusam-poptavka-close-btn::before { content: "←"; font-size: 1.2rem; line-height: 1; }
.rekusam-poptavka-close-btn span { color: #074343 !important; font-weight: 600; }
.rekusam-poptavka-close-btn:hover {
    background: #074343;
    color: #ffffff !important;
    transform: translateY(-2px);
}
.rekusam-poptavka-close-btn:hover span { color: #ffffff !important; }

/* =========================================
   HLAVIČKA
========================================= */
.rekusam-poptavka-popup-header {
    position: relative;
    margin-bottom: 24px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--rekusam-line);
}
.rekusam-poptavka-popup-header::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 64px;
    height: 3px;
    border-radius: 3px;
    background: var(--rekusam-accent);
}
.rekusam-poptavka-popup-header h1 {
    margin: 0 0 8px;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-size: var(--pop-fs-h1);
    font-weight: 700;
    line-height: 1.15;
    color: var(--rekusam-ink) !important;
}
.rekusam-poptavka-count {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-size: var(--pop-fs-micro);
    color: var(--rekusam-muted) !important;
}
.rekusam-poptavka-count::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rekusam-accent);
    flex-shrink: 0;
}

/* =========================================
   SEZNAM POLOŽEK (karty se zeleným rámečkem)
========================================= */
.rekusam-poptavka-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pop-gap);
    container-type: inline-size;
    container-name: rekusamitems;
}

.rekusam-poptavka-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: var(--pop-gap);
    padding: var(--pop-pad-y) var(--pop-pad-x);
    background: var(--rekusam-surface);
    border: 1.5px solid var(--rekusam-accent-border);
    border-left: 4px solid var(--rekusam-accent);
    border-radius: var(--radius-md, 1rem);
    box-shadow: 0 2px 12px rgba(17, 24, 28, 0.05);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.rekusam-poptavka-item:hover {
    border-color: var(--rekusam-accent);
    box-shadow: 0 16px 36px rgba(17, 24, 28, 0.13);
    transform: translateY(-2px);
}

/* --- Levá část: obrázek + informace --- */
.rekusam-poptavka-item-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.rekusam-poptavka-item-img-wrapper {
    width: var(--pop-img);
    height: var(--pop-img);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--rekusam-surface-2);
    border: 1px solid var(--rekusam-line);
    border-radius: var(--radius-sm, 0.5rem);
}
.rekusam-poptavka-item-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
}
.rekusam-poptavka-item-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.rekusam-poptavka-popup .rekusam-poptavka-item-name {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-size: var(--pop-fs-body);
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    color: var(--rekusam-ink) !important;
    overflow-wrap: anywhere;
}
/* Přebití globálního pravidla
   a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top){color:#fff;text-decoration:underline !important} (0,3,1).
   Zopakováním stejného :not() řetězce + prefixu se dostaneme na (0,5,1) a vyhrajeme (váš zavedený postup). */
.rekusam-poptavka-popup a.rekusam-poptavka-item-name:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) {
    color: var(--rekusam-ink) !important;
    text-decoration: none !important;
}
.rekusam-poptavka-popup a.rekusam-poptavka-item-name:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover {
    color: var(--rekusam-accent) !important;
}

/* Kód produktu jako jemný čip */
.rekusam-poptavka-item-sku {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: var(--pop-fs-micro);
    color: var(--rekusam-muted) !important;
}
.rekusam-poptavka-item-sku strong {
    font-weight: 600;
    font-size: var(--pop-fs-micro);
    letter-spacing: 0.02em;
    color: var(--rekusam-ink-soft) !important;
    background: var(--rekusam-surface-2);
    border: 1px solid var(--rekusam-line);
    padding: 1px 11px;
    border-radius: 999px;
}

/* Cena za kus — bez DPH hlavní (akcent), s DPH vedlejší */
.rekusam-poptavka-unit {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 12px;
    margin-top: 2px;
}
.rekusam-poptavka-unit-label { font-size: var(--pop-fs-micro); color: var(--rekusam-muted) !important; }
.rekusam-poptavka-unit-bez {
    font-size: var(--pop-fs-price);
    font-weight: 700;
    color: var(--rekusam-accent) !important;
    white-space: nowrap;
}
.rekusam-poptavka-unit-bez em {
    font-style: normal;
    font-size: var(--pop-fs-micro);
    font-weight: 600;
    color: var(--rekusam-accent) !important;
}
.rekusam-poptavka-unit-s { font-size: var(--pop-fs-micro); color: var(--rekusam-muted) !important; white-space: nowrap; }

/* --- Pravá část: množství + řádkový součet + odebrat --- */
.rekusam-poptavka-item-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
}

/* Stepper množství jako pilulka */
.rekusam-poptavka-qty-control {
    display: inline-flex;
    align-items: center;
    padding: 3px;
    background: var(--rekusam-surface-2);
    border: 1px solid var(--rekusam-line);
    border-radius: 999px;
}
.rekusam-qty-btn {
    width: var(--pop-qty);
    height: var(--pop-qty);
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--rekusam-ink) !important;
    font-size: var(--pop-fs-glyph);
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
}
.rekusam-qty-btn:hover { background: var(--rekusam-accent); color: #fff !important; }
.rekusam-qty-value {
    min-width: clamp(34px, 2rem + 0.6vw, 40px);
    text-align: center;
    font-size: var(--pop-fs-body);
    font-weight: 700;
    color: var(--rekusam-ink) !important;
}

.rekusam-poptavka-line-total {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    min-width: clamp(120px, 8vw, 150px);
    text-align: right;
}
.rekusam-poptavka-line-bez {
    font-size: var(--pop-fs-price);
    font-weight: 700;
    color: var(--rekusam-ink) !important;
    white-space: nowrap;
}
.rekusam-poptavka-line-bez em {
    font-style: normal;
    font-size: var(--pop-fs-micro);
    font-weight: 600;
    color: var(--rekusam-muted) !important;
}
.rekusam-poptavka-line-s { font-size: var(--pop-fs-micro); color: var(--rekusam-muted) !important; white-space: nowrap; }

/* Tlačítko × odebrat */
.rekusam-poptavka-remove {
    width: var(--pop-qty);
    height: var(--pop-qty);
    flex-shrink: 0;
    border-radius: 50%;
    border: 1px solid var(--rekusam-line);
    background: #fff;
    color: var(--rekusam-danger, #e11900) !important;
    font-size: var(--pop-fs-glyph);
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}
.rekusam-poptavka-remove:hover {
    background: var(--rekusam-danger, #e11900);
    border-color: var(--rekusam-danger, #e11900);
    color: #fff !important;
    transform: rotate(90deg);
}

/* =========================================
   PRÁZDNÝ STAV
========================================= */
.rekusam-poptavka-empty { text-align: center; padding: 64px 20px 48px; }
.rekusam-poptavka-empty p { margin: 0 0 8px; font-size: var(--pop-fs-body); color: var(--rekusam-ink-soft) !important; }
.rekusam-poptavka-empty .rekusam-poptavka-empty-hint {
    max-width: 460px;
    margin: 0 auto;
    font-size: var(--pop-fs-micro);
    color: var(--rekusam-muted) !important;
}

/* =========================================
   PRAVÝ STICKY SLOUPEC — SOUHRN + CTA
========================================= */
.rekusam-poptavka-footer {
    grid-area: aside;
    position: sticky;
    top: 22px;
    align-self: start;
    display: flex;
    flex-direction: column;
    gap: 0; /* JS renderuje patičku s inline display:block → gap neúčinný; mezeru řídí margin-top na tlačítku */
    margin: 0;
    padding: var(--pop-pad-y) var(--pop-pad-x);
    background: var(--rekusam-surface);
    border: 1.5px solid var(--rekusam-accent-border);
    border-radius: var(--radius-md, 1rem);
    box-shadow: 0 12px 32px rgba(17, 24, 28, 0.09);
}

/* Vnitřní souhrn — uvnitř karty patičky (bez vlastního rámečku) */
.rekusam-poptavka-totals {
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Pomocné průběžné řádky (doprava, sleva…) — využije modrý košík */
.rekusam-poptavka-total-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 5px 0;
    font-size: var(--pop-fs-micro);
}
.rekusam-poptavka-total-row > span:first-child { color: var(--rekusam-ink-soft) !important; }
.rekusam-poptavka-total-row > span:last-child,
.rekusam-poptavka-total-row strong { color: var(--rekusam-ink) !important; font-weight: 600; white-space: nowrap; }
.rekusam-poptavka-total-row--free strong { color: var(--rekusam-accent) !important; }

.rekusam-poptavka-total-line {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 0;
}
.rekusam-poptavka-total-bez {
    padding-bottom: 12px;
    margin-bottom: 8px;
    border-bottom: 1px dashed var(--rekusam-line);
}
.rekusam-poptavka-total-bez span { font-size: var(--pop-fs-micro); font-weight: 600; color: var(--rekusam-ink-soft) !important; }
.rekusam-poptavka-total-bez strong {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-size: var(--pop-fs-total);
    font-weight: 800;
    color: var(--rekusam-accent) !important;
    white-space: nowrap;
}
.rekusam-poptavka-total-s span { font-size: var(--pop-fs-micro); color: var(--rekusam-muted) !important; }
.rekusam-poptavka-total-s strong { font-size: var(--pop-fs-body); font-weight: 600; color: var(--rekusam-ink-soft) !important; white-space: nowrap; }

/* CTA — globální GREEN FILLED (pilulka) */
.rekusam-poptavka-footer .rekusam-poptavka-submit {
    /* Sjednoceno s globálním .btn (vyšší specificita než .rekusam-shoptet-form-wrapper button) */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
    align-self: stretch;
    margin-top: clamp(20px, 2.5vw, 32px);
    padding: clamp(10px, 0.5rem + 0.35vw, 13px) clamp(18px, 0.9rem + 1vw, 28px) !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: clamp(1.1rem, 1.02rem + 0.35vw, 1.35rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
	line-height: 1.5 !important;
    color: #ffffff !important;
    background: var(--rekusam-accent);
    border: 2px solid var(--rekusam-accent);
    border-radius: 999px !important;
    cursor: pointer;
    transition: all 0.3s ease;
}
.rekusam-poptavka-submit:hover {
    background: var(--rekusam-accent-dark);
    border-color: var(--rekusam-accent-dark);
    transform: translateY(-2px);
    color: #ffffff !important;
}
.rekusam-poptavka-submit:active { transform: translateY(0); }
.rekusam-poptavka-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

/* =========================================
   MODRÁ VARIANTA / KOŠÍK
   Třída .is-cart na .rekusam-poptavka-popup → akcent se změní na firemní modrou
   (zelené rámečky karet, banner i CTA se přebarví). Tlačítko „Zpět" zůstává
   modré (blue outline) vždy. Doplňkové řádky .rekusam-poptavka-total-row jsou
   připravené pro dopravu, slevy a rozpad DPH.
========================================= */
.rekusam-poptavka-popup.is-cart {
    --rekusam-accent:        #E3001B;
    --rekusam-accent-dark:   #b80014;
    --rekusam-accent-soft:   rgba(227, 0, 27, 0.08);
    --rekusam-accent-border: rgba(227, 0, 27, 0.40);
}

/* =========================================
   RESPONZIVITA
========================================= */
@media (max-width: 900px) {
    .rekusam-poptavka-container {
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "items"
            "aside";
    }
    .rekusam-poptavka-footer {
        position: static;
        top: auto;
        margin-top: 8px;
    }
    .rekusam-poptavka-footer { box-shadow: 0 6px 20px rgba(17, 24, 28, 0.07); }
}

/* Úzká karta (dle vlastní šířky, ne viewportu): foto vlevo + název/kód/cena vpravo,
   pod tím na celou šířku řádek s množstvím a celkovou cenou. */
@container rekusamitems (max-width: 680px) {
    .rekusam-poptavka-item {
        grid-template-columns: 1fr;
    }
    .rekusam-poptavka-item-actions {
        width: 100%;
        justify-content: space-between;
        gap: 12px;
        padding-top: 14px;
        border-top: 1px dashed var(--rekusam-line);
    }
    .rekusam-poptavka-line-total { min-width: 0; }
}

/* Ohleduplnost k vypnutým animacím */
@media (prefers-reduced-motion: reduce) {
    .rekusam-poptavka-popup,
    .rekusam-poptavka-item,
    .rekusam-poptavka-submit,
    .rekusam-qty-btn,
    .rekusam-poptavka-remove,
    .rekusam-poptavka-close-btn { transition: none !important; }
    .rekusam-poptavka-item:hover,
    .rekusam-poptavka-submit:hover,
    .rekusam-poptavka-close-btn:hover { transform: none !important; }
    .rekusam-poptavka-remove:hover { transform: none !important; }
}

/* =====================================================================
   KROK 2 OBJEDNÁVKY V REŽIMU POPTÁVKY — PDZ styl, JEDNA bílá karta
   ---------------------------------------------------------------------
   Aktivuje se třídou body.rekusam-poptavka-rezim (přidává PDZ1_poptavka JS).
   Celý formulář je jedna bílá karta; sekce uvnitř jsou ploché s jemnými
   oddělovači. Selektory jsou krok-2 specifické -> nikde jinde se neprojeví.
   ===================================================================== */
body.rekusam-poptavka-rezim {
    --rekusam-accent:        #074343;
    --rekusam-accent-dark:   #053030;
    --rekusam-accent-soft:   rgba(7, 67, 67, 0.08);
    --rekusam-accent-border: rgba(7, 67, 67, 0.40);
}

/* Kroky i rekapitulace pryč */
body.rekusam-poptavka-rezim .cart-header,
body.rekusam-poptavka-rezim .order-summary { display: none !important; }

/* Trochu vzduchu nad/pod kartou */
body.rekusam-poptavka-rezim main#content { padding-block: clamp(20px, 4vw, 48px) !important; }

/* „Zpět do obchodu" (.toggle-window-arr v levém sidebaru) = BÍLÝ outline pill.
   Sedí na modrém pozadí stránky nad bílou kartou. */
body.rekusam-poptavka-rezim .sidebar-left { padding: 0 !important; border: none !important; background: transparent !important; }
body.rekusam-poptavka-rezim .sidebar-left .toggle-window-arr {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 clamp(14px, 2vw, 22px) !important;
    padding: 9px clamp(18px, 1.4vw, 24px) !important;
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(0.95rem, 1.6vw, 1.05rem) !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}
body.rekusam-poptavka-rezim .sidebar-left .toggle-window-arr span { color: #ffffff !important; }
body.rekusam-poptavka-rezim .sidebar-left .toggle-window-arr::before { content: "←"; font-size: 1.1rem; line-height: 1; }
body.rekusam-poptavka-rezim .sidebar-left .toggle-window-arr:hover {
    background: #ffffff !important;
    color: #074343 !important;
    transform: translateY(-2px) !important;
}
body.rekusam-poptavka-rezim .sidebar-left .toggle-window-arr:hover span { color: #074343 !important; }


/* JEDNA bílá karta = celý formulář (kontakt + fakturace + instalace + poznámka + souhlas + tlačítka) */
body.rekusam-poptavka-rezim #order-form {
    max-width: 880px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(22px, 4vw, 44px) !important;
}
body.rekusam-poptavka-rezim .cart-inner { max-width: 100% !important; background: transparent !important; }

/* Sekce uvnitř = ploché (žádné vlastní karty) */
body.rekusam-poptavka-rezim #checkoutContent .box-bg-default,
body.rekusam-poptavka-rezim #note .box-bg-default {
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Jemný oddělovač mezi sekcemi (kromě první) */
body.rekusam-poptavka-rezim #checkoutContent .co-box {
    border-top: 1px solid #edf0f2 !important;
    padding-top: 26px !important;
    margin-top: 26px !important;
}
body.rekusam-poptavka-rezim #checkoutContent .co-contact-information {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Tenký rámeček kolem bloku „Fakturační adresa" a doplňkového bloku
   (poznámka + B2B účet) — vizuálně je seskupí. */
body.rekusam-poptavka-rezim #checkoutContent .co-billing-address,
body.rekusam-poptavka-rezim #checkoutContent .co-box-additional {
    border: 1px solid #e2e8ec !important;
    border-radius: var(--radius-md, 1rem) !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    margin-top: clamp(20px, 2.5vw, 28px) !important;
}
/* Vnořený fieldset stay-in-touch ponechat plochý (žádný dvojitý rámeček) */
body.rekusam-poptavka-rezim .stay-in-touch {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Nadpisy sekcí */
body.rekusam-poptavka-rezim #checkoutContent h4 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--rekusam-accent) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--rekusam-accent-soft) !important;
    text-transform: none !important;
}

/* Zarovnání: každé pole na celou šířku, štítek nad polem, vlevo zarovnáno.
   Přebíjí Shoptet .inline-form-fields (label vlevo / pole vpravo).
   :not(:has(> #add-note)) ponechá skrytý řádek „Zadat poznámku" skrytý. */
body.rekusam-poptavka-rezim #checkoutContent .form-group:not(:has(> #add-note)) {
    display: block !important;
    width: 100% !important;
    margin: 0 0 clamp(14px, 1.6vw, 18px) !important;
    text-align: left !important;
}
body.rekusam-poptavka-rezim #checkoutContent .form-group > label {
    display: block !important;
    width: auto !important;
    float: none !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    position: static !important;
}

/* Pořadí v sekci kontaktu: tlačítko přihlášení (vpravo nahoře) → zelený nadpis
   „Osobní údaje" → pole. Label „Zákaznický účet" skryt. Řešeno flex orderem. */
body.rekusam-poptavka-rezim #checkoutContent .co-contact-information {
    display: flex !important;
    flex-direction: column !important;
}
body.rekusam-poptavka-rezim #checkoutContent .co-contact-information > h4 { order: -1 !important; }
body.rekusam-poptavka-rezim #order-form #checkoutContent .co-contact-information .form-group:has(> label[for="login"]) {
    order: -2 !important;
    text-align: right !important;
    margin: 0 0 clamp(10px, 1.4vw, 16px) !important;
}
body.rekusam-poptavka-rezim #order-form #checkoutContent .form-group:has(> label[for="login"]) > label {
    display: none !important;
}
body.rekusam-poptavka-rezim #order-form #checkoutContent .form-group:has(> label[for="login"]) > div {
    display: flex !important;
    justify-content: flex-end !important;
}

/* Štítky + povinné (větší, oprava neviditelného bílého textu na tmavém motivu) */
body.rekusam-poptavka-rezim #checkoutContent label,
body.rekusam-poptavka-rezim #checkoutContent label .required-asterisk {
    color: #2b3640 !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: clamp(1.1rem, 1.05rem + 0.25vw, 1.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}
body.rekusam-poptavka-rezim #checkoutContent .required-asterisk::after { color: var(--rekusam-accent) !important; }

/* === Vstupní pole — PDZ pill/bevel styl (jako Firmy, přebarveno na světlo) ===
   3 zaoblené rohy + 1 diagonální seříznutí (clip-path) + diagonální linka. */
body.rekusam-poptavka-rezim #checkoutContent input.form-control,
body.rekusam-poptavka-rezim #checkoutContent textarea.form-control,
body.rekusam-poptavka-rezim #checkoutContent select.form-control {
    --rekusam-bc: #c3ced6;                 /* neutrální okraj na bílé kartě */
    width: 100% !important;
    max-width: 100% !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-clip: padding-box !important;
    background-color: #ffffff !important;
    border: 1.5px solid var(--rekusam-bc) !important;
    color: var(--rekusam-ink) !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: clamp(1.1rem, 1.05rem + 0.3vw, 1.2rem) !important;
    padding: clamp(12px, 1.4vw, 15px) clamp(14px, 1.8vw, 18px) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

/* Bevel + diagonální linka pouze pro textové inputy (ne select/textarea) */
body.rekusam-poptavka-rezim #checkoutContent input.form-control {
    border-radius: var(--radius-sm, 0.5rem) var(--radius-sm, 0.5rem) 0 var(--radius-sm, 0.5rem) !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%) !important;
    background-image: linear-gradient(135deg,
        transparent calc(50% - 1.5px),
        var(--rekusam-bc) calc(50% - 1.5px),
        var(--rekusam-bc) calc(50% + 1.5px),
        transparent calc(50% + 1.5px)) !important;
    background-position: 100% 100% !important;
    background-size: 14px 14px !important;
    background-repeat: no-repeat !important;
}

/* Textarea + select: zaoblený obdélník (bez seříznutí), select si nechá šipku */
body.rekusam-poptavka-rezim #checkoutContent textarea.form-control {
    border-radius: var(--radius-sm, 0.5rem) !important;
    min-height: 120px !important;
    resize: vertical !important;
}
body.rekusam-poptavka-rezim #checkoutContent select.form-control {
    border-radius: var(--radius-sm, 0.5rem) !important;
    padding-right: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231A6B9B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
}

/* Placeholdery jemně */
body.rekusam-poptavka-rezim #checkoutContent .form-control::placeholder { color: #98a4ad !important; }

/* Focus: akcent na okraji i na diagonální lince (box-shadow se clip-path ořízne) */
body.rekusam-poptavka-rezim #checkoutContent .form-control:focus,
body.rekusam-poptavka-rezim #checkoutContent .form-control:focus-visible {
    --rekusam-bc: var(--rekusam-accent) !important;
    border-color: var(--rekusam-accent) !important;
    background-color: #fbfffc !important;
    outline: none !important;
}
body.rekusam-poptavka-rezim #rekusam-datovka-wrap label { font-weight: 600 !important; }

/* Validační hlášky zarovnat doleva k poli (Shoptet je odsazuje doprava) */
body.rekusam-poptavka-rezim #checkoutContent .js-validator-msg,
body.rekusam-poptavka-rezim #checkoutContent .validator-msg {
    display: block !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

/* Telefon: vlajka + pole na řádek, pole vyplní zbytek */
body.rekusam-poptavka-rezim #checkoutContent .phone-combined-input {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
}
body.rekusam-poptavka-rezim #checkoutContent .phone-combined-input .country-flags {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
}
body.rekusam-poptavka-rezim #checkoutContent #phone { flex: 1 1 auto !important; }

/* === Checkboxy (Místo instalace / Vytvořit B2B účet) = kolečko s akcentem ===
   :not(:has(> #add-note)) chrání skrytý řádek „Zadat poznámku" (inline display:none). */
body.rekusam-poptavka-rezim #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
body.rekusam-poptavka-rezim #checkoutContent .form-group > label.whole-width {
    margin: 0 !important;
    flex: 1 1 auto !important;
    cursor: pointer !important;
}
body.rekusam-poptavka-rezim #checkoutContent .form-group:has(input[type="checkbox"]):not(:has(> #add-note)) label::before,
body.rekusam-poptavka-rezim #checkoutContent .form-group:has(input[type="checkbox"]):not(:has(> #add-note)) label::after {
    display: none !important;
    content: none !important;
}
body.rekusam-poptavka-rezim #checkoutContent input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    opacity: 1 !important;
    flex: 0 0 22px !important;
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #b9c4cc !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.2s ease !important;
}
body.rekusam-poptavka-rezim #checkoutContent input[type="checkbox"]:checked { border-color: var(--rekusam-accent) !important; }
body.rekusam-poptavka-rezim #checkoutContent input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    margin: auto !important;
    width: 11px !important;
    height: 11px !important;
    border-radius: 50% !important;
    background: var(--rekusam-accent) !important;
}
body.rekusam-poptavka-rezim #checkoutContent input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--rekusam-accent) !important;
    outline-offset: 2px !important;
}

/* Nadpis poznámky (injektovaný checkout JS) */
body.rekusam-poptavka-rezim .rekusam-note-heading {
    display: block !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--rekusam-accent) !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    margin-bottom: 10px !important;
}

/* Souhlasy */
body.rekusam-poptavka-rezim .consents {
    background: var(--rekusam-accent-soft) !important;
    border: 1px solid var(--rekusam-accent-border) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    padding: 16px 20px !important;
    margin: 24px 0 0 !important;
}
body.rekusam-poptavka-rezim .consents label,
body.rekusam-poptavka-rezim .consents label .required-asterisk,
body.rekusam-poptavka-rezim .consents label span {
    color: #2b3640 !important;
    font-size: clamp(1.05rem, 1rem + 0.25vw, 1.15rem) !important;
    line-height: 1.5 !important;
}
/* Odkazy v souhlasu: ID-scope (#order-form) dá specificitu (1,2,2), která přebíjí
   globální a:not(.btn)...{color:#fff} (0,3,1) — jinak jsou odkazy neviditelné. */
body.rekusam-poptavka-rezim #order-form .consents a,
body.rekusam-poptavka-rezim #order-form .consents a span {
    color: #074343 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}
body.rekusam-poptavka-rezim #order-form .consents a:hover,
body.rekusam-poptavka-rezim #order-form .consents a:hover span { color: #053030 !important; }

/* === Tlačítka (uvnitř karty, oddělená linkou; stejná výška) === */
body.rekusam-poptavka-rezim .next-step--step-2 {
    display: flex !important;
    gap: 16px !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    margin-top: 24px !important;
    padding-top: 22px !important;
    border-top: 1px solid #edf0f2 !important;
}
/* Primární — Odeslat poptávku (zelená výplň, pill). flex:0 → jen dle obsahu,
   aby „Upravit položky" mělo víc místa. */
body.rekusam-poptavka-rezim #poptavka-fake-btn,
body.rekusam-poptavka-rezim .next-step-finish {
    flex: 0 1 auto !important;
    background: var(--rekusam-accent) !important;
    border: 2px solid var(--rekusam-accent) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    padding: 15px clamp(26px, 3vw, 40px) !important;
    box-shadow: 0 10px 25px rgba(7, 67, 67, 0.28) !important;
    transition: all 0.2s ease !important;
}
body.rekusam-poptavka-rezim #poptavka-fake-btn:hover,
body.rekusam-poptavka-rezim .next-step-finish:hover {
    background: var(--rekusam-accent-dark) !important;
    border-color: var(--rekusam-accent-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(7, 67, 67, 0.38) !important;
}
body.rekusam-poptavka-rezim #poptavka-fake-btn .order-button-text,
body.rekusam-poptavka-rezim .next-step-finish .order-button-text { color: #fff !important; }

/* Přejmenování textu: skryj „s povinností platby" a přepiš „Objednat" → „Odeslat poptávku" */
body.rekusam-poptavka-rezim .next-step-finish .order-button-suffix { display: none !important; }
body.rekusam-poptavka-rezim .next-step-finish .order-button-text {
    font-size: 0 !important;
    line-height: 0 !important;
}
body.rekusam-poptavka-rezim .next-step-finish .order-button-text::after {
    content: "Odeslat poptávku";
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

/* Sekundární — Upravit položky (modrý outline, pill, stejná výška) */
body.rekusam-poptavka-rezim .next-step-back {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(1.05rem, 2vw, 1.15rem) !important;
    padding: 14px 26px !important;
    transition: all 0.2s ease !important;
}
body.rekusam-poptavka-rezim .next-step-back:hover { background: #074343 !important; color: #fff !important; }

/* Mobil: tlačítka pod sebe, „Upravit položky" dolů */
@media (max-width: 600px) {
    body.rekusam-poptavka-rezim #order-form { padding: 18px !important; }
    body.rekusam-poptavka-rezim .next-step--step-2 { flex-direction: column-reverse !important; }
    body.rekusam-poptavka-rezim .next-step-back,
    body.rekusam-poptavka-rezim #poptavka-fake-btn,
    body.rekusam-poptavka-rezim .next-step-finish { width: 100% !important; flex: none !important; }
}
/* ---- PDZ1_kosik_V54.css ---- */
/* =========================================
   TOKENY (modrý akcent běžného košíku)
========================================= */
body.rekusam-kosik-rezim {
    --rekusam-accent:        #074343;
    --rekusam-accent-dark:   #053030;
    --rekusam-accent-soft:   rgba(7, 67, 67, 0.08);
    --rekusam-accent-border: rgba(7, 67, 67, 0.40);

    --rekusam-green:         #074343;
    --rekusam-green-dark:    #053030;

    --rekusam-ink:        #1a1a1a;
    --rekusam-ink-soft:   #4f5559;
    --rekusam-muted:      #7e858a;
    --rekusam-line:       #e8eaec;
    --rekusam-surface:    #ffffff;
    --rekusam-surface-2:  #f6f7f8;
    --rekusam-danger:     #e11900;

    /* Fluidní škála (shodná s poptávkou, spodní hranice 1.1rem) */
    --pop-fs-micro: clamp(1.1rem, 1.06rem + 0.18vw, 1.2rem);
    --pop-fs-body:  clamp(1.15rem, 1.09rem + 0.28vw, 1.3rem);
    --pop-fs-price: clamp(1.2rem, 1.06rem + 0.6vw, 1.4rem);
    --pop-fs-btn:   clamp(1.15rem, 1.09rem + 0.28vw, 1.25rem);
    --pop-fs-total: clamp(1.55rem, 1.1rem + 1.9vw, 2rem);
    --pop-fs-glyph: clamp(1.25rem, 1.1rem + 0.5vw, 1.45rem);

    --pop-pad-y: clamp(14px, 0.55rem + 0.6vw, 20px);
    --pop-pad-x: clamp(16px, 0.7rem + 0.8vw, 24px);
    --pop-gap:   clamp(12px, 0.5rem + 0.7vw, 18px);
    --pop-img:   clamp(60px, 4rem + 1.6vw, 80px);
    --pop-qty:   clamp(32px, 2rem + 0.6vw, 38px);

    /* Fluidní rozestupy a rozměry ovládacích prvků */
    --pop-sep:       clamp(18px, 1rem + 1vw, 28px);   /* odsazení/oddělovače sekcí */
    --pop-btn-py:    clamp(12px, 0.6rem + 0.5vw, 15px);
    --pop-btn-px:    clamp(20px, 1rem + 1.4vw, 40px);
    --pop-ctrl:      clamp(20px, 1.15rem + 0.4vw, 24px); /* rádia, checkboxy, číslo v záložce */
    --pop-ctrl-dot:  clamp(9px, 0.5rem + 0.2vw, 11px);
    --pop-field-gap: clamp(12px, 0.6rem + 0.5vw, 18px);
    --pop-recap-row: clamp(6px, 0.3rem + 0.2vw, 9px);
}

/* =========================================
   KROKY OBJEDNÁVKY (.cart-header) — ZÁLOŽKY nad bílou kartou
   Aktivní záložka je bílá a splývá s kartou pod ní (margin-bottom 0,
   karta má margin-top 0). Neaktivní jsou nižší, poloprůhledné bílé.
========================================= */
body.rekusam-kosik-rezim .cart-header {
    list-style: none !important;
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    margin: 0 auto !important;              /* žádná mezera pod záložkami */
    padding: 0 clamp(14px, 2.2vw, 26px) !important; /* odsazení od zaobleného rohu karty */
    counter-reset: rekusamstep;
    background: transparent !important;
    border: none !important;
    position: relative !important;
    z-index: 2 !important;
    overflow-x: auto !important;            /* úzké displeje: záložky lze posunout */
    scrollbar-width: none !important;
}
body.rekusam-kosik-rezim .cart-header::-webkit-scrollbar { display: none !important; }
body.rekusam-kosik-rezim.in-krok-1 .cart-header,
body.rekusam-kosik-rezim.in-krok-2 .cart-header { max-width: 880px !important; }

body.rekusam-kosik-rezim .cart-header .step {
    counter-increment: rekusamstep;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    border: none !important;
}
body.rekusam-kosik-rezim .cart-header .step::before,
body.rekusam-kosik-rezim .cart-header .step::after { display: none !important; content: none !important; }

/* Vypnout nativní Shoptet vzhled kroku na <span>: šedý rámeček + vlastní
   číslování „1." (zůstává jen naše kolečko s číslem) */
body.rekusam-kosik-rezim .cart-header .step span {
    display: inline !important;
    border: none !important;
    outline: none !important;
    background: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
}
body.rekusam-kosik-rezim .cart-header .step span::before,
body.rekusam-kosik-rezim .cart-header .step span::after,
body.rekusam-kosik-rezim .cart-header .step > a > span::before,
body.rekusam-kosik-rezim .cart-header .step > strong > span::before {
    display: none !important;
    content: none !important;
}

/* Tělo záložky */
body.rekusam-kosik-rezim .cart-header .step > a,
body.rekusam-kosik-rezim .cart-header .step > strong {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px clamp(14px, 1.8vw, 24px) 11px !important;
    border: none !important;
    border-radius: var(--radius-md, 1rem) var(--radius-md, 1rem) 0 0 !important;
    background: rgba(255, 255, 255, 0.16) !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 600 !important;
    font-size: clamp(0.95rem, 1.6vw, 1.05rem) !important;
    letter-spacing: 0.3px !important;
    line-height: 1.2 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: background 0.25s ease, color 0.25s ease !important;
}
/* Číslo kroku v kolečku / fajfka u dokončeného */
body.rekusam-kosik-rezim .cart-header .step > a::before,
body.rekusam-kosik-rezim .cart-header .step > strong::before {
    content: counter(rekusamstep);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--pop-ctrl);
    height: var(--pop-ctrl);
    flex: 0 0 var(--pop-ctrl);
    border-radius: 50%;
    border: 2px solid currentColor;
    font-size: 0.8em;
    font-weight: 700;
    line-height: 1;
}
body.rekusam-kosik-rezim .cart-header .step.completed > a::before { content: "✓"; }

/* Aktivní záložka = bílá, vyšší, splývá s kartou */
body.rekusam-kosik-rezim .cart-header .step.active > strong {
    background: #ffffff !important;
    color: var(--rekusam-accent) !important;
    font-weight: 700 !important;
    padding-top: 12px !important;
    padding-bottom: 14px !important;
}
body.rekusam-kosik-rezim .cart-header .step.active > strong span { color: var(--rekusam-accent) !important; }

/* Přebití globálního a{color:#fff;underline !important} — zopakovaný :not() řetězec + prefix */
body.rekusam-kosik-rezim .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
body.rekusam-kosik-rezim .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) span {
    color: #ffffff !important;
    text-decoration: none !important;
}
body.rekusam-kosik-rezim .cart-header .step a:hover { background: rgba(255, 255, 255, 0.30) !important; }

/* --- Varianta záložek UVNITŘ okna košíku (bílé pozadí) ---
   Neaktivní = šedé s linkou, aktivní = bílá s rámečkem karty; přes
   margin-bottom:-1px překryje horní linku karty a splyne s ní. */
body.rekusam-kosik-rezim #cart-widget .cart-header .step > a,
body.rekusam-kosik-rezim #cart-widget .cart-header .step > strong {
    background: var(--rekusam-surface-2) !important;
    border: 1px solid var(--rekusam-line) !important;
    border-bottom: none !important;
    color: var(--rekusam-ink-soft) !important;
}
body.rekusam-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
body.rekusam-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) span {
    color: var(--rekusam-ink-soft) !important;
    text-decoration: none !important;
}
body.rekusam-kosik-rezim #cart-widget .cart-header .step > strong span { color: var(--rekusam-ink-soft) !important; }
body.rekusam-kosik-rezim #cart-widget .cart-header .step a:hover { background: #ffffff !important; }
body.rekusam-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover,
body.rekusam-kosik-rezim #cart-widget .cart-header .step a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover span {
    color: var(--rekusam-accent) !important;
}
body.rekusam-kosik-rezim #cart-widget .cart-header .step.active > strong {
    position: relative !important;
    z-index: 3 !important;
    margin-bottom: -1px !important;
    background: #ffffff !important;
    border: 1px solid #e6eaed !important;
    border-bottom: 1px solid #ffffff !important;
    color: var(--rekusam-accent) !important;
}
body.rekusam-kosik-rezim #cart-widget .cart-header .step.active > strong span { color: var(--rekusam-accent) !important; }

/* Kroky VŽDY vodorovně vedle sebe (přebíjí nativní Shoptet stackování na užších šířkách) */
body.rekusam-kosik-rezim #cart-wrapper .cart-header,
body.rekusam-kosik-rezim #cart-widget .cart-header,
body.rekusam-kosik-rezim.in-krok-1 .cart-header,
body.rekusam-kosik-rezim.in-krok-2 .cart-header {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-header .step,
body.rekusam-kosik-rezim #cart-widget .cart-header .step,
body.rekusam-kosik-rezim.in-krok-1 .cart-header .step,
body.rekusam-kosik-rezim.in-krok-2 .cart-header .step {
    display: block !important;
    float: none !important;
    width: auto !important;
    flex: 0 0 auto !important;
    position: static !important;
    top: auto !important;
    right: auto !important;
}

/* =========================================
   OKNO KOŠÍKU + „Zpět do obchodu" pilulky
========================================= */
/* Okno košíku = BÍLÉ (stejně jako poptávkový popup; karty s akcentovým
   rámečkem leží přímo na bílé) */
body.rekusam-kosik-rezim #cart-widget.content-window,
body.rekusam-kosik-rezim #cart-widget .content-window-in {
    background: #ffffff !important;
}

/* Hlavička hned pod headerem, ne za ním: --rekusam-header-vyska měří JS
   (spodní hrana headeru vč. případné admin lišty), fallback 130px */
body.rekusam-kosik-rezim #cart-widget .content-window-in {
    padding-top: calc(var(--rekusam-header-vyska, 130px) + 14px) !important;
    margin-top: 0 !important;
}
body.rekusam-kosik-rezim #cart-widget .place-cart-here {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.rekusam-kosik-rezim #cart-wrapper {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
body.rekusam-kosik-rezim #cart-widget .toggle-window-arr { margin-top: 0 !important; }

/* /kosik/ i okno košíku: obsah pod záložkami = JEDNA bílá karta
   (položky uvnitř zůstávají akcentové karty — stejně jako poptávkový popup) */
body.rekusam-kosik-rezim #cart-wrapper .cart-inner {
    margin-top: 0 !important;
    background: var(--rekusam-surface) !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(18px, 3vw, 32px) !important;
}

/* „Zpět do obchodu" — bílý outline pill (šipkové toggle-window-arr v okně
   košíku i v levém sidebaru kroků 1/2) */
body.rekusam-kosik-rezim .sidebar-left { padding: 0 !important; border: none !important; background: transparent !important; }
/* V okně košíku (bílé pozadí) = modrý outline.
   position:static — Shoptet ho jinak lepí absolutně k hornímu okraji
   okna (tj. pod header); takto ho odsune padding-top okna. */
body.rekusam-kosik-rezim #cart-widget .toggle-window-arr {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 clamp(14px, 2vw, 22px) var(--content-padding-x, 24px) !important;
    padding: 9px clamp(18px, 1.4vw, 24px) !important;
    background: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}
body.rekusam-kosik-rezim #cart-widget .toggle-window-arr span { color: inherit !important; }
body.rekusam-kosik-rezim #cart-widget .toggle-window-arr::before {
    content: "" !important;
    width: clamp(16px, 1.4vw, 20px) !important;
    height: clamp(16px, 1.4vw, 20px) !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
body.rekusam-kosik-rezim #cart-widget .toggle-window-arr:hover {
    background: #074343 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}
body.rekusam-kosik-rezim #cart-widget .toggle-window-arr:hover span { color: #ffffff !important; }

/* Na krocích 1/2 (modrý gradient stránky) = bílý outline */
body.rekusam-kosik-rezim .sidebar-left .toggle-window-arr {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 clamp(14px, 2vw, 22px) !important;
    padding: 9px clamp(18px, 1.4vw, 24px) !important;
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease !important;
}
body.rekusam-kosik-rezim .sidebar-left .toggle-window-arr span { color: #ffffff !important; }
body.rekusam-kosik-rezim .sidebar-left .toggle-window-arr::before {
    content: "" !important;
    width: clamp(16px, 1.4vw, 20px) !important;
    height: clamp(16px, 1.4vw, 20px) !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
body.rekusam-kosik-rezim .sidebar-left .toggle-window-arr:hover {
    background: #ffffff !important;
    color: var(--rekusam-accent) !important;
    transform: translateY(-2px) !important;
}
body.rekusam-kosik-rezim .sidebar-left .toggle-window-arr:hover span { color: var(--rekusam-accent) !important; }

/* Vzduch kolem obsahu kroků */
body.rekusam-kosik-rezim.in-krok-1 main#content,
body.rekusam-kosik-rezim.in-krok-2 main#content { padding-block: clamp(20px, 4vw, 48px) !important; }

/* Sloupec obsahu kroků 1/2 zúžen a vycentrován (karta je až uvnitř) */
body.rekusam-kosik-rezim.in-krok-1 .cart-inner,
body.rekusam-kosik-rezim.in-krok-2 .cart-inner {
    max-width: 880px !important;
    margin-inline: auto !important;
    margin-top: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* =========================================
   POLOŽKY KOŠÍKU (.cart-table) — řádky jako bílé karty
========================================= */
body.rekusam-kosik-rezim #cart-wrapper .cart-table,
body.rekusam-kosik-rezim #cart-wrapper .cart-table tbody {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--pop-gap) !important;
}

body.rekusam-kosik-rezim #cart-wrapper .cart-table tr {
    position: relative !important;
    display: grid !important;
    grid-template-columns: var(--pop-img) minmax(0, 1fr) auto auto auto !important;
    grid-template-areas:
        "img name  qty price total"
        "img avail qty price total" !important;
    align-items: center !important;
    column-gap: var(--pop-gap) !important;
    row-gap: 6px !important;
    padding: var(--pop-pad-y) var(--pop-pad-x) !important;
    padding-right: calc(var(--pop-pad-x) + var(--pop-qty) + 12px) !important; /* místo pro × */
    background: var(--rekusam-surface) !important;
    border: 1.5px solid var(--rekusam-accent-border) !important;
    border-left: 4px solid var(--rekusam-accent) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: 0 2px 12px rgba(17, 24, 28, 0.05) !important;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table tr:hover {
    border-color: var(--rekusam-accent) !important;
    box-shadow: 0 16px 36px rgba(17, 24, 28, 0.13) !important;
    transform: translateY(-2px) !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    vertical-align: middle !important;
    text-align: left !important; /* Shoptet .p-cell centruje */
    width: auto !important;
    float: none !important;
}

/* Obrázek produktu */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .cart-p-image {
    grid-area: img;
    width: var(--pop-img) !important;
    height: var(--pop-img) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: var(--rekusam-surface-2) !important;
    border: 1px solid var(--rekusam-line) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .cart-p-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* Název produktu — tmavý, bez podtržení (přebití globálního bílého odkazu) */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-name { grid-area: name; min-width: 0; }
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-name a.main-link:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--rekusam-ink) !important;
    text-decoration: none !important;
    overflow-wrap: anywhere;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-name a.main-link:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover {
    color: var(--rekusam-accent) !important;
}

/* Dostupnost — jemný čip pod názvem (barvu si nese inline styl Shoptetu) */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-availability {
    grid-area: avail;
    justify-self: start !important;
    text-align: left !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-availability .p-label { display: none !important; }
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-availability .availability-label {
    display: inline-flex !important;
    align-items: center !important;
    padding: 1px 11px !important;
    background: var(--rekusam-surface-2) !important;
    border: 1px solid var(--rekusam-line) !important;
    border-radius: 999px !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

/* Mikropopisky sloupců (Počet / Cena za m. j. / Součet) */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-label {
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 0 4px !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 400 !important;
    color: var(--rekusam-muted) !important;
    text-align: inherit !important;
}

/* Množství — pill stepper (− počet +) */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-quantity { grid-area: qty; }
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px !important;
    background: var(--rekusam-surface-2) !important;
    border: 1px solid var(--rekusam-line) !important;
    border-radius: 999px !important;
}
/* Tvrdý reset Shoptet pozicování uvnitř .quantity (± jinak leží přes číslici) */
body.rekusam-kosik-rezim #cart-wrapper .cart-table span.quantity { position: relative !important; width: auto !important; }
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity label {
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    inset: auto !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .increase-tooltip,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .decrease-tooltip { display: none !important; }

/* Pořadí: − | počet | + (v DOM je increase před decrease) */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .decrease { order: 1 !important; }
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity label { order: 2 !important; margin: 0 !important; }
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .increase { order: 3 !important; }

body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity button.increase,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity button.decrease {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 var(--pop-qty) !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: var(--pop-qty) !important;
    height: var(--pop-qty) !important;
    border: none !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--rekusam-ink) !important;
    font-size: var(--pop-fs-glyph) !important;
    line-height: 1 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .increase:hover,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .decrease:hover {
    background: var(--rekusam-accent) !important;
    color: #ffffff !important;
}
/* Shoptet kreslí +/− přes ::before/::after (pruhy s background přes celé
   tlačítko → modré kolečko). Pseudy vypnout, glyfy nechat na textových
   spanech .increase__sign / .decrease__sign. */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity button.increase::before,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity button.increase::after,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity button.decrease::before,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity button.decrease::after {
    display: none !important;
    content: none !important;
    background: none !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .increase__sign,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity .decrease__sign {
    display: inline-block !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-indent: 0 !important;
    overflow: visible !important;
    font-size: var(--pop-fs-glyph) !important;
    line-height: 1 !important;
    color: inherit !important;
    background: none !important;
}

body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity input.amount {
    position: static !important;
    inset: auto !important;
    -webkit-appearance: textfield !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
    width: clamp(38px, 2.4rem + 0.6vw, 46px) !important;
    height: var(--pop-qty) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    text-align: center !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 700 !important;
    color: var(--rekusam-ink) !important;
    box-shadow: none !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity input.amount::-webkit-inner-spin-button,
body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity input.amount::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

/* Cena za kus */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price {
    grid-area: price;
    text-align: right !important;
    white-space: nowrap !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price .price-final {
    font-size: var(--pop-fs-price) !important;
    font-weight: 700 !important;
    color: var(--rekusam-accent) !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price .unit-value {
    font-size: var(--pop-fs-micro) !important;
    color: var(--rekusam-muted) !important;
}

/* Řádkový součet */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-total {
    grid-area: total;
    text-align: right !important;
    min-width: clamp(110px, 8vw, 150px);
    white-space: nowrap !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-total .price-final {
    font-size: var(--pop-fs-price) !important;
    font-weight: 700 !important;
    color: var(--rekusam-ink) !important;
}

/* Odebrat — červené kulaté × v pravém horním rohu karty */
body.rekusam-kosik-rezim #cart-wrapper .cart-table .remove-item {
    position: absolute !important;
    top: var(--pop-pad-y) !important;
    right: var(--pop-pad-x) !important;
    width: var(--pop-qty) !important;
    height: var(--pop-qty) !important;
    padding: 0 !important;
    border: 1px solid var(--rekusam-line) !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: var(--rekusam-danger) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .remove-item::before {
    content: "×" !important;
    font-family: inherit !important;
    font-size: var(--pop-fs-glyph) !important;
    line-height: 1 !important;
}
body.rekusam-kosik-rezim #cart-wrapper .cart-table .remove-item:hover {
    background: var(--rekusam-danger) !important;
    border-color: var(--rekusam-danger) !important;
    color: #ffffff !important;
    transform: rotate(90deg) !important;
}

/* =========================================
   /kosik/ — BONUSY + SOUHRN CEN + TLAČÍTKA
========================================= */
/* Řádek souhrnu: flex — Bonusy vlevo (pruží), souhrn cen vpravo (pevná šířka).
   Bootstrap floaty/paddingy sloupců vypnuty, dlaždice mají stejnou výšku. */
body.rekusam-kosik-rezim #cart-wrapper .summary {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: var(--pop-gap) !important;
    margin: var(--pop-gap) 0 0 !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary::before,
body.rekusam-kosik-rezim #cart-wrapper .summary::after { display: none !important; content: none !important; }
body.rekusam-kosik-rezim #cart-wrapper .summary > .col-md-8 {
    flex: 1 1 320px !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary > .col-md-4 {
    flex: 0 1 clamp(280px, 34%, 380px) !important;
    width: auto !important;
    max-width: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-left: auto !important;
}

/* Bonusy (doprava zdarma apod.) — kompaktní dlaždice: výška dle souhrnu cen,
   menší padding, obsah svisle vycentrovaný */
body.rekusam-kosik-rezim #cart-wrapper .summary .box {
    flex: 1 1 auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 8px !important;
    background: var(--rekusam-surface-2) !important;
    border: 1px solid var(--rekusam-line) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: none !important;
    padding: clamp(12px, 1.4vw, 18px) var(--pop-pad-x) !important;
    margin: 0 !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .box h2 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important;
    font-weight: 700 !important;
    color: var(--rekusam-accent) !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: none !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .extra.delivery {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
/* Ikona kamionu (font shoptet přes ::before) — zeleně, ne bíle */
body.rekusam-kosik-rezim #cart-wrapper .summary .extra.delivery::before {
    color: var(--rekusam-green) !important;
    font-size: 1.3em !important;
    line-height: 1 !important;
    position: static !important;
    margin: 0 !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .extra.delivery span,
body.rekusam-kosik-rezim #cart-wrapper .summary .extra.delivery strong {
    color: var(--rekusam-green) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 700 !important;
}

/* Souhrn cen — bílá karta s akcentovým rámečkem (jako patička poptávky) */
body.rekusam-kosik-rezim #cart-wrapper .summary .price-wrapper {
    height: 100% !important;
    align-content: center !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: baseline !important;
    row-gap: 4px !important;
    column-gap: 16px !important;
    padding: var(--pop-pad-y) var(--pop-pad-x) !important;
    background: var(--rekusam-surface) !important;
    border: 1.5px solid var(--rekusam-accent-border) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: 0 12px 32px rgba(17, 24, 28, 0.09) !important;
    text-align: right !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .price-label {
    text-align: left !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    color: var(--rekusam-ink-soft) !important;
    padding: 0 !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .price.price-primary,
body.rekusam-kosik-rezim #cart-wrapper .summary .price.price-primary span {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-total) !important;
    font-weight: 800 !important;
    color: var(--rekusam-accent) !important;
    white-space: nowrap !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .price-label.price-secondary {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 500 !important;
    color: var(--rekusam-muted) !important;
}
body.rekusam-kosik-rezim #cart-wrapper .summary .price.price-secondary,
body.rekusam-kosik-rezim #cart-wrapper .summary .price.price-secondary span {
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    color: var(--rekusam-ink-soft) !important;
    white-space: nowrap !important;
}

/* =========================================
   NAVIGAČNÍ TLAČÍTKA — uvnitř bílých karet (všechny kroky)
   Zpět = modrý outline pill se šipkou ←, Pokračovat/Objednat = zelený filled
========================================= */
body.rekusam-kosik-rezim .next-step--cart,
body.rekusam-kosik-rezim .next-step--step-1,
body.rekusam-kosik-rezim.in-krok-2 .next-step--step-2 {
    display: flex !important;
    gap: 16px !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    margin-top: var(--pop-sep) !important;
    padding-top: var(--pop-sep) !important;
    border-top: 1px solid #edf0f2 !important;
}

/* Zpět — modrý outline pill se šipkou */
body.rekusam-kosik-rezim .next-step .next-step-back {
    min-width: clamp(120px, 10vw, 170px) !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    background: transparent !important;
    color: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    text-transform: uppercase !important;
    padding: var(--pop-btn-py) var(--pop-btn-px) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
body.rekusam-kosik-rezim .next-step .next-step-back::before {
    content: "←" !important;
    font-size: 1.1rem !important;
    line-height: 1 !important;
}
body.rekusam-kosik-rezim .next-step .next-step-back span { color: inherit !important; }
body.rekusam-kosik-rezim .next-step .next-step-back:hover {
    background: #074343 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Text uvnitř tlačítek převezme velikost/řez z tlačítka (přebíjí nativní zmenšení .continue-shopping) */
body.rekusam-kosik-rezim .next-step .next-step-back .continue-shopping,
body.rekusam-kosik-rezim .next-step--cart .next-step-forward .order-button-text,
body.rekusam-kosik-rezim .next-step--step-1 .next-step-forward .order-button-text {
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
    line-height: inherit !important;
}

body.rekusam-kosik-rezim .next-step .next-step-back:hover span { color: #ffffff !important; }

/* Pokračovat (kosik + krok-1) — zelený filled pill */
body.rekusam-kosik-rezim .next-step--cart .next-step-forward,
body.rekusam-kosik-rezim .next-step--step-1 .next-step-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--rekusam-green) !important;
    border: 2px solid var(--rekusam-green) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    padding: calc(var(--pop-btn-py) + 1px) var(--pop-btn-px) !important;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(7, 67, 67, 0.28) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
body.rekusam-kosik-rezim .next-step--cart .next-step-forward .order-button-text,
body.rekusam-kosik-rezim .next-step--step-1 .next-step-forward .order-button-text { color: #ffffff !important; }
body.rekusam-kosik-rezim .next-step--cart .next-step-forward:hover,
body.rekusam-kosik-rezim .next-step--step-1 .next-step-forward:hover {
    background: var(--rekusam-green-dark) !important;
    border-color: var(--rekusam-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(7, 67, 67, 0.38) !important;
}

/* =========================================
   KROK 1 — DOPRAVA & PLATBA (bílé karty, custom rádia)
========================================= */
/* Skrytí poptávkových metod pro běžnou objednávku
   (.rekusam-poptavka-only přidává JS jako pojistku bez :has) */
body.rekusam-kosik-rezim .radio-wrapper:has(> input#shippingId-85),
body.rekusam-kosik-rezim .radio-wrapper:has(> input#billingId-82),
body.rekusam-kosik-rezim .radio-wrapper.rekusam-poptavka-only { display: none !important; }

/* JEDNA bílá karta = celý krok 1 (doprava + platba + rekapitulace + tlačítka) */
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent {
    margin-top: 0 !important;
    background: var(--rekusam-surface) !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(22px, 4vw, 44px) !important;
}
/* Sekce uvnitř = ploché (žádné vlastní karty) a POD SEBOU na plnou šířku
   (Shoptet je jinak plave do dvou sloupců → „ujíždějící" nadpis platby) */
body.rekusam-kosik-rezim.in-krok-1 #order-form {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent .co-box {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent .co-box::before,
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent .co-box::after { display: none !important; content: none !important; }
/* Vypnout Shoptet vnitřní linky/rámečky */
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent .shipping-billing-table,
body.rekusam-kosik-rezim.in-krok-1 #order-shipping-methods,
body.rekusam-kosik-rezim.in-krok-1 #order-billing-methods {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.rekusam-kosik-rezim .order-summary-inner,
body.rekusam-kosik-rezim #shipping-billing-summary,
body.rekusam-kosik-rezim .order-recapitulation {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Oddělovač mezi dopravou a platbou */
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent .co-payment-method {
    border-top: 1px solid #edf0f2 !important;
    padding-top: var(--pop-sep) !important;
    margin-top: var(--pop-sep) !important;
}
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent h4 {
    border-top: none !important;
    background: none !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--rekusam-accent) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    border-bottom: 1px solid var(--rekusam-accent-soft) !important;
    text-transform: none !important;
    background: none !important;
}
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent h4.order-icon::before { display: none !important; content: none !important; }

/* Rekapitulace uvnitř karty = jemně orámovaný blok */
body.rekusam-kosik-rezim.in-krok-1 #checkoutContent .order-summary {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: clamp(20px, 2.5vw, 28px) 0 0 !important;
}

/* Řádek metody */
body.rekusam-kosik-rezim .shipping-billing-table .radio-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: clamp(12px, 1.4vw, 16px) clamp(12px, 1.6vw, 18px) !important;
    margin: 0 0 10px !important;
    border: 1.5px solid var(--rekusam-line) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    background: var(--rekusam-surface) !important;
    transition: border-color 0.18s ease, background-color 0.18s ease !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .radio-wrapper:hover { border-color: var(--rekusam-accent-border) !important; }
body.rekusam-kosik-rezim .shipping-billing-table .radio-wrapper:has(input:checked) {
    border-color: var(--rekusam-accent) !important;
    background: var(--rekusam-accent-soft) !important;
}

/* Custom rádio (kolečko s akcentovým bodem — jako checkboxy v poptávce) */
body.rekusam-kosik-rezim .shipping-billing-table input[type="radio"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    position: static !important;
    opacity: 1 !important;
    flex: 0 0 var(--pop-ctrl) !important;
    width: var(--pop-ctrl) !important;
    height: var(--pop-ctrl) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #b9c4cc !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    display: inline-block !important;
    transition: border-color 0.2s ease !important;
}
body.rekusam-kosik-rezim .shipping-billing-table input[type="radio"]:checked { border-color: var(--rekusam-accent) !important; }
body.rekusam-kosik-rezim .shipping-billing-table input[type="radio"]:checked::after {
    content: "" !important;
    display: block !important;
    width: var(--pop-ctrl-dot) !important;
    height: var(--pop-ctrl-dot) !important;
    margin: calc((var(--pop-ctrl) - var(--pop-ctrl-dot)) / 2 - 2px) auto 0 !important;
    border-radius: 50% !important;
    background: var(--rekusam-accent) !important;
}
body.rekusam-kosik-rezim .shipping-billing-table input[type="radio"]:focus-visible {
    outline: 2px solid var(--rekusam-accent) !important;
    outline-offset: 2px !important;
}

/* Label = zbytek řádku, název vlevo / cena vpravo; vypnout nativní fake-rádio */
body.rekusam-kosik-rezim .shipping-billing-table .radio-wrapper label {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    background: none !important;
    min-height: 0 !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .radio-wrapper label::before,
body.rekusam-kosik-rezim .shipping-billing-table .radio-wrapper label::after {
    display: none !important;
    content: none !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .payment-info {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    gap: 4px 10px !important;
    min-width: 0 !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .shipping-billing-name {
    text-transform: none !important;
    letter-spacing: normal !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    color: var(--rekusam-ink) !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .not-possible-info {
    font-size: var(--pop-fs-micro) !important;
    font-style: italic !important;
    color: var(--rekusam-muted) !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .payment-shipping-price {
    flex: 0 0 auto !important;
    font-size: var(--pop-fs-price) !important;
    font-weight: 700 !important;
    color: var(--rekusam-ink) !important;
    white-space: nowrap !important;
}
body.rekusam-kosik-rezim .shipping-billing-table .payment-shipping-price.for-free { color: var(--rekusam-green) !important; }

/* Tooltip otazníček */
body.rekusam-kosik-rezim .shipping-billing-table .question-tooltip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 50% !important;
    border: 1.5px solid var(--rekusam-accent-border) !important;
    color: var(--rekusam-accent) !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    cursor: help !important;
}

/* =========================================
   REKAPITULACE OBJEDNÁVKY (.order-summary) — krok-1 i krok-2
========================================= */
body.rekusam-kosik-rezim .order-summary {
    background: var(--rekusam-surface) !important;
    border: 1.5px solid var(--rekusam-accent-border) !important;
    border-radius: var(--radius-md, 1rem) !important;
    box-shadow: 0 12px 32px rgba(17, 24, 28, 0.09) !important;
    padding: var(--pop-pad-y) var(--pop-pad-x) !important;
    margin: 0 0 var(--pop-gap) !important;
}
/* Plošné vypnutí Shoptet solid borderů uvnitř rekapitulace — jediné
   oddělovače jsou naše tečkované níže */
body.rekusam-kosik-rezim .order-summary .order-summary-item,
body.rekusam-kosik-rezim .order-summary .order-summary-item.helper,
body.rekusam-kosik-rezim .order-summary .order-summary-item > div,
body.rekusam-kosik-rezim .order-summary .recapitulation-single,
body.rekusam-kosik-rezim .order-summary #shipping-billing-summary,
body.rekusam-kosik-rezim .order-summary .order-recapitulation,
body.rekusam-kosik-rezim .order-summary .price-wrapper,
body.rekusam-kosik-rezim .order-summary hr {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    background-image: none !important;
}
body.rekusam-kosik-rezim .order-summary hr { display: none !important; }
body.rekusam-kosik-rezim .order-summary .order-summary-item > div { border-bottom: none !important; }

body.rekusam-kosik-rezim .order-summary h2 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    color: var(--rekusam-accent) !important;
    margin: 0 0 14px !important;
    padding-bottom: 10px !important;
    border: none !important;
    border-bottom: 1px dashed var(--rekusam-line) !important;
}
body.rekusam-kosik-rezim .order-summary-item {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: var(--pop-recap-row) 0 !important;
    border: none !important;
    border-bottom: 1px dashed var(--rekusam-line) !important;
    background: transparent !important;
    font-size: var(--pop-fs-micro) !important;
    color: var(--rekusam-ink-soft) !important;
}
body.rekusam-kosik-rezim .order-summary-item:last-child { border-bottom: none !important; }
body.rekusam-kosik-rezim .order-summary-item > div:first-child { min-width: 0 !important; }
body.rekusam-kosik-rezim .order-summary-item > div:last-child,
body.rekusam-kosik-rezim .order-summary-item > div:last-child span { white-space: nowrap !important; font-weight: 600 !important; color: var(--rekusam-ink) !important; }
/* Vnitřní spany řádků (množství × název) — přebití globálního span{#fff} */
body.rekusam-kosik-rezim .order-summary-item span { color: inherit !important; }

/* Odkazy na produkty — tmavé (přebití globálního bílého odkazu) */
body.rekusam-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
body.rekusam-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) span {
    color: var(--rekusam-ink-soft) !important;
    text-decoration: none !important;
}
body.rekusam-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover,
body.rekusam-kosik-rezim .order-summary-item a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover span {
    color: var(--rekusam-accent) !important;
}

/* Řádky „Způsob dopravy / Platba" v rekapitulaci (krok 1): název vpravo
   za cenou v DOM → row-reverse ukáže „Osobní odběr — ZDARMA". Texty byly
   bílé na bílé (globální span{#fff}). */
body.rekusam-kosik-rezim .recapitulation-single {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: var(--pop-recap-row) 0 !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: 1px dashed var(--rekusam-line) !important;
    background: transparent !important;
    font-size: var(--pop-fs-micro) !important;
}
body.rekusam-kosik-rezim .recapitulation-single .recapitulation-shipping-billing-label {
    color: var(--rekusam-ink-soft) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 400 !important;
}
body.rekusam-kosik-rezim .recapitulation-single .recapitulation-shipping-billing-info {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: baseline !important;
    gap: 10px !important;
    color: var(--rekusam-ink) !important;
    font-weight: 600 !important;
    font-size: var(--pop-fs-micro) !important;
    white-space: nowrap !important;
}
body.rekusam-kosik-rezim .recapitulation-single .recapitulation-shipping-billing-info span {
    color: var(--rekusam-green) !important;
    font-weight: 700 !important;
}

/* Mezisoučet „Celkem za zboží" */
body.rekusam-kosik-rezim .order-summary-item.helper {
    flex-wrap: wrap !important;
    border: none !important;
    border-bottom: 1px dashed var(--rekusam-line) !important;
    padding: 10px 0 !important;
}
body.rekusam-kosik-rezim .order-summary-item.helper strong { color: var(--rekusam-ink) !important; font-weight: 600 !important; }
body.rekusam-kosik-rezim .order-summary-item .recapitulation-shipping-billing-info--withVat {
    font-size: var(--pop-fs-micro) !important;
    color: var(--rekusam-muted) !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
}

/* Celkové ceny v rekapitulaci */
body.rekusam-kosik-rezim .order-summary-item.price {
    display: block !important;
    border: none !important;
    border-top: 1px dashed var(--rekusam-line) !important;
    padding: 12px 0 0 !important;
    margin-top: 6px !important;
}
body.rekusam-kosik-rezim .order-summary-item.price .price-wrapper {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: baseline !important;
    row-gap: 4px !important;
    column-gap: 16px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    text-align: right !important;
}
body.rekusam-kosik-rezim .order-summary-item.price .price-label {
    text-align: left !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-body) !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    color: var(--rekusam-ink-soft) !important;
}
body.rekusam-kosik-rezim .order-summary-item.price .price.price-primary,
body.rekusam-kosik-rezim .order-summary-item.price .price.price-primary span {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-total) !important;
    font-weight: 800 !important;
    color: var(--rekusam-accent) !important;
    white-space: nowrap !important;
}
body.rekusam-kosik-rezim .order-summary-item.price .price-label.price-secondary {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-size: var(--pop-fs-micro) !important;
    font-weight: 500 !important;
    color: var(--rekusam-muted) !important;
}
body.rekusam-kosik-rezim .order-summary-item.price .price.price-secondary,
body.rekusam-kosik-rezim .order-summary-item.price .price.price-secondary span {
    font-size: var(--pop-fs-body) !important;
    font-weight: 600 !important;
    color: var(--rekusam-ink-soft) !important;
    white-space: nowrap !important;
}

/* =========================================
   KROK 2 — FORMULÁŘ JAKO JEDNA BÍLÁ KARTA (modrá varianta poptávkového stylu)
   Kroky i rekapitulace ZŮSTÁVAJÍ viditelné.
========================================= */
body.rekusam-kosik-rezim.in-krok-2 #order-form {
    max-width: 880px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #e6eaed !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    padding: clamp(22px, 4vw, 44px) !important;
}

/* Sekce uvnitř = ploché */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .box-bg-default,
body.rekusam-kosik-rezim.in-krok-2 #note .box-bg-default {
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .co-box {
    border-top: 1px solid #edf0f2 !important;
    padding-top: var(--pop-sep) !important;
    margin-top: var(--pop-sep) !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .co-contact-information {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Rámeček kolem fakturace a doplňkového bloku; rekapitulace uvnitř karty
   dostává stejný jemný rámeček (dědí styly .order-summary výše) */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .co-billing-address,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .co-box-additional {
    border: 1px solid #e2e8ec !important;
    border-radius: var(--radius-md, 1rem) !important;
    padding: clamp(18px, 2.5vw, 26px) !important;
    margin-top: clamp(20px, 2.5vw, 28px) !important;
}
body.rekusam-kosik-rezim.in-krok-2 #order-form .order-summary {
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: clamp(20px, 2.5vw, 28px) 0 0 !important;
}
body.rekusam-kosik-rezim.in-krok-2 .stay-in-touch {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* Nadpisy sekcí */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent h4 {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--rekusam-accent) !important;
    font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
    font-weight: 700 !important;
    margin: 0 0 var(--pop-field-gap) !important;
    padding-bottom: clamp(9px, 0.5rem + 0.3vw, 12px) !important;
    border-bottom: 1px solid var(--rekusam-accent-soft) !important;
    text-transform: none !important;
}

/* Pole na plnou šířku, štítek nad polem */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-group:not(:has(> #add-note)) {
    display: block !important;
    width: 100% !important;
    margin: 0 0 var(--pop-field-gap) !important;
    text-align: left !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-group > label {
    display: block !important;
    width: auto !important;
    float: none !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    position: static !important;
}

/* Kontakt: přihlášení vpravo nahoře → nadpis → pole */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .co-contact-information {
    display: flex !important;
    flex-direction: column !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .co-contact-information > h4 { order: -1 !important; }
body.rekusam-kosik-rezim.in-krok-2 #order-form #checkoutContent .co-contact-information .form-group:has(> label[for="login"]) {
    order: -2 !important;
    text-align: right !important;
    margin: 0 0 clamp(10px, 1.4vw, 16px) !important;
}
body.rekusam-kosik-rezim.in-krok-2 #order-form #checkoutContent .form-group:has(> label[for="login"]) > label {
    display: none !important;
}
body.rekusam-kosik-rezim.in-krok-2 #order-form #checkoutContent .form-group:has(> label[for="login"]) > div {
    display: flex !important;
    justify-content: flex-end !important;
}

/* Štítky + povinné */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent label,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent label .required-asterisk {
    color: #2b3640 !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: clamp(1.1rem, 1.05rem + 0.25vw, 1.2rem) !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .required-asterisk::after { color: var(--rekusam-accent) !important; }

/* Vstupní pole — PDZ pill/bevel styl */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent input.form-control,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent textarea.form-control,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent select.form-control {
    --rekusam-bc: #c3ced6;
    width: 100% !important;
    max-width: 100% !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-clip: padding-box !important;
    background-color: #ffffff !important;
    border: 1.5px solid var(--rekusam-bc) !important;
    color: var(--rekusam-ink) !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: clamp(1.1rem, 1.05rem + 0.3vw, 1.2rem) !important;
    padding: clamp(12px, 1.4vw, 15px) clamp(14px, 1.8vw, 18px) !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent input.form-control {
    border-radius: var(--radius-sm, 0.5rem) var(--radius-sm, 0.5rem) 0 var(--radius-sm, 0.5rem) !important;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 14px), calc(100% - 14px) 100%, 0 100%) !important;
    background-image: linear-gradient(135deg,
        transparent calc(50% - 1.5px),
        var(--rekusam-bc) calc(50% - 1.5px),
        var(--rekusam-bc) calc(50% + 1.5px),
        transparent calc(50% + 1.5px)) !important;
    background-position: 100% 100% !important;
    background-size: 14px 14px !important;
    background-repeat: no-repeat !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent textarea.form-control {
    border-radius: var(--radius-sm, 0.5rem) !important;
    min-height: clamp(110px, 6rem + 4vw, 160px) !important;
    resize: vertical !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent select.form-control {
    border-radius: var(--radius-sm, 0.5rem) !important;
    padding-right: clamp(34px, 2rem + 1vw, 44px) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231A6B9B' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-control::placeholder { color: #98a4ad !important; }
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-control:focus,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-control:focus-visible {
    --rekusam-bc: var(--rekusam-accent) !important;
    border-color: var(--rekusam-accent) !important;
    background-color: #fbfdff !important;
    outline: none !important;
}
body.rekusam-kosik-rezim.in-krok-2 #rekusam-datovka-wrap label { font-weight: 600 !important; }

/* Validační hlášky doleva */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .js-validator-msg,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .validator-msg {
    display: block !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    width: 100% !important;
}

/* Telefon: vlajka + pole */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .phone-combined-input {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .phone-combined-input .country-flags {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent #phone { flex: 1 1 auto !important; }

/* Rozbalovací výběr předvolby telefonu (.country-flags) — Shoptet vykresluje
   názvy států v <span>, které přebíjí globální span{color:#fff !important} */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags {
    position: relative !important;
    cursor: pointer !important;
}
/* ZAVŘENÝ stav (.initialized bez .active): jen vybraná vlajka jako trigger,
   seznam skrytý — jinak panel překrýval pole pod sebou */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized .country-flags-inner {
    position: static !important;
    display: block !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    min-width: 0 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized .country-flag {
    display: none !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized .country-flag.selected {
    display: flex !important;
    position: static !important;   /* Shoptet ji jinak pozicuje absolutně */
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
/* v zavřeném stavu jen vlajka, bez názvu a předvolby */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized:not(.active) .country-flag.selected .shp-flag-label {
    display: none !important;
}

/* OTEVŘENÝ stav (.initialized.active): rozbalený panel nad ostatními poli */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flags-inner {
    position: absolute !important;
    top: calc(100% + 6px) !important;
    left: 0 !important;
    display: block !important;
    min-width: clamp(240px, 22vw, 320px) !important;
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    box-shadow: 0 18px 40px rgba(17, 24, 28, 0.16) !important;
    max-height: clamp(220px, 40vh, 320px) !important;
    overflow-y: auto !important;
    z-index: 50 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flag {
    display: flex !important;
    padding: 8px 12px !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flag.selected {
    position: static !important;   /* zpět do toku — jinak leží přes první položku */
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: auto !important;
    justify-content: flex-start !important;
    padding: 8px 12px !important;
    margin: 0 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags.initialized.active .country-flag.selected .shp-flag-label {
    display: flex !important;
}

/* Fallback pro neinicializovaný stav (JS ještě neproběhl) */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flags:not(.initialized) .country-flags-inner {
    background: #ffffff !important;
    border: 1.5px solid #c3ced6 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    max-height: clamp(220px, 40vh, 320px) !important;
    overflow-y: auto !important;
    z-index: 20 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    background: #ffffff !important;
    cursor: pointer !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-label,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-name,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag span {
    color: var(--rekusam-ink) !important;
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-size: var(--pop-fs-micro) !important;
    text-align: left !important;
    text-shadow: none !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-label {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex: 1 1 auto !important;
    justify-content: flex-start !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag-name {
    flex: 1 1 auto !important;
    font-weight: 500 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag:hover {
    background: var(--rekusam-accent-soft) !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected .shp-flag-label,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected .shp-flag-name,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag.selected span {
    background: var(--rekusam-accent-soft) !important;
    color: var(--rekusam-accent) !important;
    font-weight: 700 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .country-flag .shp-flag {
    flex: 0 0 auto !important;
    width: 22px !important;
    height: 16px !important;
}

/* Země (fakturace) — Shoptet ji renderuje jako <select disabled> s jedinou
   možností (v adminu je povolena jen ČR). Ať to nevypadá rozbitě: */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent select#billCountryId[disabled] {
    background-color: var(--rekusam-surface-2) !important;
    background-image: none !important;
    color: var(--rekusam-ink-soft) !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* Checkboxy = kolečko s akcentem */
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-group > label.whole-width {
    margin: 0 !important;
    flex: 1 1 auto !important;
    cursor: pointer !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) > label::before,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .form-group:has(> input[type="checkbox"]):not(:has(> #add-note)) > label::after {
    display: none !important;
    content: none !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    opacity: 1 !important;
    flex: 0 0 var(--pop-ctrl) !important;
    width: var(--pop-ctrl) !important;
    height: var(--pop-ctrl) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 2px solid #b9c4cc !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    cursor: pointer !important;
    position: relative !important;
    transition: border-color 0.2s ease !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"]:checked { border-color: var(--rekusam-accent) !important; }
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"]:checked::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    margin: auto !important;
    width: var(--pop-ctrl-dot) !important;
    height: var(--pop-ctrl-dot) !important;
    border-radius: 50% !important;
    background: var(--rekusam-accent) !important;
}
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--rekusam-accent) !important;
    outline-offset: 2px !important;
}

/* Nadpis poznámky (injektuje PDZ1_checkout JS) */
body.rekusam-kosik-rezim.in-krok-2 .rekusam-note-heading {
    display: block !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    color: var(--rekusam-accent) !important;
    font-weight: 700 !important;
    font-size: var(--pop-fs-body) !important;
    margin-bottom: 10px !important;
}

/* Souhlasy */
body.rekusam-kosik-rezim.in-krok-2 #order-form .consents,
body.rekusam-kosik-rezim.in-krok-2 #checkoutContent .consents {
    display: block !important;
    background: var(--rekusam-accent-soft) !important;
    border: 1px solid var(--rekusam-accent-border) !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    padding: var(--pop-field-gap) var(--pop-pad-x) !important;
    margin-top: calc(var(--pop-sep) * 1.8) !important; /* odsazení od celkové ceny */
    margin-bottom: 0 !important;
    clear: both !important;
}
/* pojistka, kdyby marginy kolabovaly do rekapitulace */
body.rekusam-kosik-rezim.in-krok-2 #order-form .order-summary {
    padding-bottom: var(--pop-sep) !important;
}
body.rekusam-kosik-rezim.in-krok-2 .consents label,
body.rekusam-kosik-rezim.in-krok-2 .consents label .required-asterisk,
body.rekusam-kosik-rezim.in-krok-2 .consents label span {
    color: #2b3640 !important;
    font-size: clamp(1.05rem, 1rem + 0.25vw, 1.15rem) !important;
    line-height: 1.5 !important;
}
body.rekusam-kosik-rezim.in-krok-2 #order-form .consents a,
body.rekusam-kosik-rezim.in-krok-2 #order-form .consents a span {
    color: #074343 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}
body.rekusam-kosik-rezim.in-krok-2 #order-form .consents a:hover,
body.rekusam-kosik-rezim.in-krok-2 #order-form .consents a:hover span { color: #053030 !important; }

/* Tlačítko Objednat (krok 2) — zelený filled pill; kontejner a tlačítko
   Zpět řeší společný blok NAVIGAČNÍ TLAČÍTKA výše */
body.rekusam-kosik-rezim.in-krok-2 .next-step-finish {
    flex: 0 1 auto !important;
    min-width: clamp(220px, 22vw, 340px) !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0 !important;
    padding-left: calc(var(--pop-btn-px) * 1.25) !important;
    padding-right: calc(var(--pop-btn-px) * 1.25) !important;
    background: var(--rekusam-green) !important;
    border: 2px solid var(--rekusam-green) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif) !important;
    font-weight: 700 !important;
    font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
    padding: calc(var(--pop-btn-py) + 1px) var(--pop-btn-px) !important;
    box-shadow: 0 10px 25px rgba(7, 67, 67, 0.28) !important;
    transition: all 0.2s ease !important;
}
body.rekusam-kosik-rezim.in-krok-2 .next-step-finish:hover {
    background: var(--rekusam-green-dark) !important;
    border-color: var(--rekusam-green-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 35px rgba(7, 67, 67, 0.38) !important;
}
body.rekusam-kosik-rezim.in-krok-2 .next-step-finish .order-button-text {
    color: #fff !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
}
/* Podnadpis „s povinností platby" skryt — tlačítko je jednořádkové a nižší.
   POZOR: povinnost platby musí zůstat vyjádřena v popisku tlačítka (admin). */
body.rekusam-kosik-rezim.in-krok-2 .next-step-finish .order-button-suffix {
    display: none !important;
}
/* Krok 2: výška tlačítek Zpět i Objednat na globální hodnotu (a shodná mezi sebou) */
body.rekusam-kosik-rezim.in-krok-2 .next-step--step-2 .next-step-back,
body.rekusam-kosik-rezim.in-krok-2 .next-step-finish {
    padding-top: clamp(10px, 0.5rem + 0.35vw, 13px) !important;
    padding-bottom: clamp(10px, 0.5rem + 0.35vw, 13px) !important;
}
/* =========================================
   RESPONZIVITA
========================================= */
/* ---- do 991 px (mobil + tablet) ---- */
@media (max-width: 991px) {
    /* Karta položky: foto + název nahoře, akční řádek (počet | ceny) dole */
    body.rekusam-kosik-rezim #cart-wrapper .cart-table tr {
        grid-template-columns: var(--pop-img) minmax(0, 1fr) !important;
        grid-template-areas:
            "img   name"
            "img   avail"
            "qty   qty"
            "price total" !important;
        row-gap: 10px !important;
        padding-right: var(--pop-pad-x) !important;
    }
    body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-name { padding-right: calc(var(--pop-qty) + 10px) !important; }
    body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-quantity {
        padding-top: 12px !important;
        border-top: 1px dashed var(--rekusam-line) !important;
    }
    body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price { text-align: left !important; }

    /* Souhrn Bonusy | ceny pod sebe */
    body.rekusam-kosik-rezim #cart-wrapper .summary > .col-md-8,
    body.rekusam-kosik-rezim #cart-wrapper .summary > .col-md-4 {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    /* Navigační tlačítka na plnou šířku pod sebe */
    body.rekusam-kosik-rezim.in-krok-2 #order-form { padding: 18px !important; }
    body.rekusam-kosik-rezim .next-step--cart,
    body.rekusam-kosik-rezim .next-step--step-1,
    body.rekusam-kosik-rezim.in-krok-2 .next-step--step-2 { flex-direction: column-reverse !important; }
    body.rekusam-kosik-rezim .next-step .next-step-back,
    body.rekusam-kosik-rezim .next-step .next-step-forward,
    body.rekusam-kosik-rezim.in-krok-2 .next-step-finish { width: 100% !important; flex: none !important; }
    body.rekusam-kosik-rezim #cart-wrapper .cart-inner { padding: 14px !important; }
    body.rekusam-kosik-rezim.in-krok-1 #checkoutContent { padding: 18px !important; }

    /* Jen aktivní záložka s textem, ostatní číslované */
    body.rekusam-kosik-rezim .cart-header .step:not(.active) > a span { display: none !important; }
    body.rekusam-kosik-rezim .cart-header .step:not(.active) > a { padding: 9px 12px 11px !important; }
	
	/* Telefony pod 990px: bílá karta kroků na ~95 % šířky okna */
    body.rekusam-kosik-rezim.in-krok-1 #content-wrapper,
    body.rekusam-kosik-rezim.in-krok-2 #content-wrapper {
        padding-left: 2.5vw !important;
        padding-right: 2.5vw !important;
    }
    body.rekusam-kosik-rezim.in-krok-1 .cart-inner,
    body.rekusam-kosik-rezim.in-krok-2 .cart-inner { max-width: 100% !important; }
}

/* ---- 992–1250 px (úzký desktop) ---- */
@media (min-width: 992px) and (max-width: 1250px) {
    /* Souhrn Bonusy | ceny pod sebe (jako na mobilu) */
    body.rekusam-kosik-rezim #cart-wrapper .summary > .col-md-8,
    body.rekusam-kosik-rezim #cart-wrapper .summary > .col-md-4 {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }
}

/* Ohleduplnost k vypnutým animacím */
@media (prefers-reduced-motion: reduce) {
    body.rekusam-kosik-rezim .cart-table tr,
    body.rekusam-kosik-rezim .remove-item,
    body.rekusam-kosik-rezim .quantity .increase,
    body.rekusam-kosik-rezim .quantity .decrease,
    body.rekusam-kosik-rezim .next-step-back,
    body.rekusam-kosik-rezim .next-step-forward,
    body.rekusam-kosik-rezim .next-step-finish,
    body.rekusam-kosik-rezim .toggle-window-arr { transition: none !important; }
    body.rekusam-kosik-rezim .cart-table tr:hover,
    body.rekusam-kosik-rezim .remove-item:hover,
    body.rekusam-kosik-rezim .next-step-back:hover,
    body.rekusam-kosik-rezim .next-step-forward:hover,
    body.rekusam-kosik-rezim .next-step-finish:hover,
    body.rekusam-kosik-rezim .toggle-window-arr:hover { transform: none !important; }
}
/* ---- PDZ1_global_searchV14.css ---- */
/* ============================================================================
   14. SEKCÍ VYHLEDÁVÁNÍ & ŠEPTANDA (BRAND GLASSMORPHISM, STŘED, BEZ PODTRŽENÍ)
   ============================================================================ */

/* NEPRŮSTŘELNÝ RESET DEKORACE PRO ODKAZY, SPANY A EM UVNITŘ VYHLEDÁVÁNÍ */
.search-window-in a,
.search-window-in a span,
.search-window-in a em,
.search-whisperer a,
.search-whisperer a span,
.search-whisperer a em {
    text-decoration: none !important;
}

/* Výsledky vyhledávání (našeptávač) — bez podtržení odkazů.
   Stejný :not() řetězec jako hlavní underline pravidlo → specificita (0,4,1),
   aby přebilo a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top) (0,3,1). */
.search-whisperer a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top),
.search-whisperer a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):hover,
.search-whisperer a:not(.btn):not(.poptat-projekt-btn):not(.rekusam-scroll-top):focus {
    text-decoration: none !important;
}

/* Globální kontejner vyhledávacího okon */
.content-window-in.search-window-in {
    width: 100% !important;
    max-width: 100% !important;
    padding-top: var(--section-padding-y) !important;
    padding-bottom: var(--section-padding-y) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* Vnitřní container - symetrické lícování na mřížku webu */
.search-window-in .container {
    width: 100% !important;
    max-width: var(--content-max-width, 1600px) !important;
    padding-left: var(--content-padding-x, clamp(20px, 10vw, 160px)) !important;
    padding-right: var(--content-padding-x, clamp(20px, 10vw, 160px)) !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

/* Hlavní rodič vyhledávání */
.search {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Tlačítko "Zpět do obchodu" */
.search-window-in [data-testid="backToShop"].toggle-window {
    background-color: transparent !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    border-radius: 999px !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    margin-bottom: clamp(24px, 4vw, 48px) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.search-window-in [data-testid="backToShop"].toggle-window:hover {
    background-color: #ffffff !important;
    color: #074343 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
}

/* Hlavní nadpis */
.search h2 {
    font-size: clamp(2.1rem, 5vw, 2.8rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
    margin-bottom: clamp(20px, 3vw, 40px) !important;
    text-align: center !important;
    width: 100% !important;
}

/* Vyhledávací formulář */
.search-form.js-search-main {
    position: relative !important;
    max-width: 960px !important;
    width: 100% !important;
    margin: 0 auto clamp(40px, 6vw, 80px) !important;
    float: none !important;
    display: block !important;
}
.search-form.js-search-main fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

/* Vyhledávací Input */
input[type="search"].js-search-input.lg {
    width: 100% !important;
    height: clamp(56px, 6vw, 72px) !important;
    background: #ffffff !important;
    border: 2px solid transparent !important;
    border-radius: 999px !important;
    padding-left: clamp(24px, 3vw, 36px) !important;
    padding-right: clamp(70px, 7vw, 96px) !important;
    font-family: var(--template-font) !important;
    font-size: clamp(1.2rem, 1.35vw, 1.45rem) !important;
    color: #1A1A1A !important;
    box-shadow: 0 15px 45px rgba(7, 67, 67, 0.3) !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}
input[type="search"].js-search-input.lg:focus {
    border-color: #105959 !important;
    box-shadow: 0 20px 55px rgba(7, 67, 67, 0.45) !important;
    outline: none !important;
}

/* Tlačítko lupy */
.search-form [data-testid="searchBtn"] {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: clamp(44px, 4.5vw, 52px) !important;
    height: clamp(44px, 4.5vw, 52px) !important;
    background-color: #074343 !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
    padding: 0 !important;
    z-index: 10 !important;
}
.search-form [data-testid="searchBtn"]:hover {
    background-color: #053030 !important;
    transform: translateY(-50%) scale(1.05) !important;
}
.search-form [data-testid="searchBtn"]::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2.5' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* PREMIUM BRAND GLASSMORPHISM ŠEPTANDA */
body .search-whisperer.active {
    position: absolute !important;
    top: calc(100% + 16px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    
    background: rgba(18, 73, 105, 0.92) !important;
    -webkit-backdrop-filter: blur(25px) saturate(160%) !important;
    backdrop-filter: blur(25px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: var(--radius-lg) !important;
    box-shadow: 0 40px 100px rgba(10, 41, 60, 0.6) !important;
    padding: clamp(24px, 3.5vw, 40px) !important;
    z-index: 99999 !important;
    
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: clamp(24px, 4vw, 48px) !important;
}

@media (max-width: 991px) {
    body .search-whisperer.active {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
        max-height: 65vh !important;
        overflow-y: auto !important;
    }
}

.search-whisperer-documents::before,
.search-whisperer-products::before {
    display: block !important;
    font-family: var(--template-headings-font) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #105959 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 16px !important;
}

/* --- LEVÁ ČÁST: STRÁNKY A ČLÁNKY --- */
.search-whisperer-documents {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding-right: clamp(16px, 2.5vw, 32px) !important;
    min-width: 0 !important;
}
@media (max-width: 991px) {
    .search-whisperer-documents {
        border-right: none !important;
        padding-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        padding-bottom: 28px !important;
    }
}

a.search-whisperer-document {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 12px 18px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
    transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
a.search-whisperer-document:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    transform: translateX(6px) !important;
}
a.search-whisperer-document em {
    font-style: normal !important;
    font-family: var(--template-font) !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: rgba(255, 255, 255, 0.5) !important;
}
a.search-whisperer-document.search-whisperer-category em {
    color: #00ff4c !important; 
    text-shadow: 0 0 10px rgba(0, 255, 76, 0.3);
}
a.search-whisperer-document span {
    font-family: var(--template-font) !important;
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
}

/* --- PRAVÁ ČÁST: PRODUKTY --- */
.search-whisperer-products {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-width: 0 !important;
}
.search-whisperer-products li[data-testid="productItem"] {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}

.search-whisperer-products li[data-testid="productItem"] a {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    padding: 14px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-md) !important;
    transition: all 0.25s cubic-bezier(0.25, 1, 0.5, 1) !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.search-whisperer-products li[data-testid="productItem"] a:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2) !important;
}

.search-whisperer-image {
    width: clamp(68px, 6vw, 84px) !important;
    height: clamp(68px, 6vw, 84px) !important;
    flex-shrink: 0 !important;
    background: #ffffff !important;
    border-radius: var(--radius-sm) !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.search-whisperer-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.search-whisperer-products .p-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.search-whisperer-products .p-name {
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.1rem, 1.25vw, 1.3rem) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
}

.search-whisperer-products .availability-label {
    font-family: var(--template-font) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #00ff4c !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-shadow: 0 0 10px rgba(0, 255, 76, 0.25);
}
.search-whisperer-products .availability-label::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: currentColor;
    border-radius: 50%;
}

.search-whisperer-products .price-final {
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.2rem, 1.4vw, 1.5rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-align: right !important;
    white-space: nowrap !important;
    padding-left: 16px !important;
}

@media (max-width: 540px) {
    .search-whisperer-products li[data-testid="productItem"] a {
        flex-wrap: wrap !important;
        gap: 16px !important;
    }
    .search-whisperer-products .price-final {
        width: 100% !important;
        text-align: left !important;
        padding-left: calc(clamp(68px, 6vw, 84px) + 20px) !important;
        margin-top: -6px !important;
    }
}

/* DOPORUČUJEME */
.search h3 {
    font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
    text-align: left !important;
}
.recommended-products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
}

/* ============================================================================
   15. STRÁNKA S VÝSLEDKY VYHLEDÁVÁNÍ (BÍLÁ KARTA, PILL BUTTONS & BRAND BORDER)
   ============================================================================ */

/* STRIKTNÍ RESET DEKORACE ODKAZŮ */
body.type-search #content a,
body.type-search #content a span,
body.type-search #content a em,
body.type-search #content a strong {
    text-decoration: none !important;
}

/* Skrytí nativní drobečkové navigace */
body.type-search .breadcrumbs {
    display: none !important;
}

/* HLAVNÍ BÍLÁ KARTA OBSAHU VÝSLEDKŮ */
body.type-search #content.content {
    max-width: var(--content-max-width, 1600px) !important;
    margin: clamp(24px, 4vw, 40px) auto clamp(40px, 6vw, 80px) !important;
    padding: clamp(32px, 5vw, 56px) clamp(20px, 5vw, 64px) !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: var(--radius-lg, 1.5rem) !important;
    box-shadow: 0 24px 60px rgba(7, 67, 67, 0.18) !important;
    font-family: var(--template-font, sans-serif) !important;
    float: none !important;
    width: 100% !important;
}

/* HRUBÁ SPECIFICITA: Vynucení tmavé barvy nadpisu výsledků na bílé kartě */
body.type-search #content h2,
body.type-search #content h2 span {
    font-size: clamp(2rem, 4.5vw, 2.8rem) !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin-top: 0 !important;
    margin-bottom: clamp(24px, 4vw, 40px) !important;
    text-align: left !important;
}
body.type-search #content h2 strong.highlight {
    color: #074343 !important;
}

/* ----------------------------------------------------------------------------
   1) DOPLŇKOVÉ SKUPINY VÝSLEDKŮ (Kategorie & Články)
   ---------------------------------------------------------------------------- */
body.type-search .search-results-groups {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 24px !important;
    margin-bottom: clamp(32px, 5vw, 56px) !important;
}

/* Karty s tenkým modrým borderem */
body.type-search #content .search-results-group {
    background: #f8fafc !important;
    border: 1px solid rgba(7, 67, 67, 0.25) !important; /* Tenký brandový border */
    border-radius: var(--radius-md, 1rem) !important;
    padding: 24px !important;
    box-sizing: border-box !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}
body.type-search #content .search-results-group:hover {
    border-color: #074343 !important;
    box-shadow: 0 8px 24px rgba(7, 67, 67, 0.06) !important;
}

/* Agresivní specificita pro nadpisy skupin (Kategorie / Články) */
body.type-search #content .search-results-group h4 {
    font-family: var(--template-headings-font) !important;
    font-size: 1.2rem !important;
    font-weight: 700 !important;
    color: #074343 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid rgba(7, 67, 67, 0.15) !important;
    padding-bottom: 8px !important;
}

body.type-search #content .search-results-group-list ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}

/* Agresivní specificita pro textové řádky uvnitř skupin */
body.type-search #content .search-results-group-list li a,
body.type-search #content .search-results-group-list li a span {
    display: block !important;
    padding: 8px 12px !important;
    background: #ffffff !important;
    border: 1px solid #e6edf3 !important;
    border-radius: var(--radius-sm, 0.5rem) !important;
    color: #1A1A1A !important; /* Oprava nečitelné bílé */
    font-family: var(--template-font) !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
}
body.type-search #content .search-results-group-list li a:hover,
body.type-search #content .search-results-group-list li a:hover span {
    border-color: #074343 !important;
    color: #074343 !important;
    transform: translateX(4px) !important;
}

/* Tlačítko Zobrazit vše -> PILL SHAPE dle globálního CSS */
body.type-search #content .display-results-group {
    display: inline-flex !important;
    margin-top: 14px !important;
    font-family: var(--template-headings-font) !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    color: #074343 !important;
    background: transparent !important;
    border: 2px solid #074343 !important; /* Outline styl z globálního CSS */
    padding: 8px 20px !important;
    border-radius: 999px !important; /* Striktní Pill Shape */
    transition: all 0.25s ease !important;
    cursor: pointer !important;
}
body.type-search #content .display-results-group:hover {
    background: #074343 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(7, 67, 67, 0.2) !important;
}

/* ----------------------------------------------------------------------------
   2) SEKCE PRODUKTŮ & PRODUKTOVÉ KARTY
   ---------------------------------------------------------------------------- */

/* Nadpis sekce Produkty */
body.type-search #content h4.search-products-heading {
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.4rem, 3vw, 1.8rem) !important;
    font-weight: 700 !important;
    color: #1A1A1A !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* Mřížka výpisu produktů (4 sloupce) */
body.type-search #products.products-block {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: clamp(16px, 2vw, 24px) !important;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

@media (max-width: 1200px) { body.type-search #products.products-block { grid-template-columns: repeat(3, 1fr) !important; } }
@media (max-width: 820px)  { body.type-search #products.products-block { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; } }
@media (max-width: 580px)  { body.type-search #products.products-block { grid-template-columns: 1fr !important; } }

body.type-search #products .product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Samotné tělo karty s tenkým modrým borderem */
body.type-search #products .product .p {
    background: #ffffff !important;
    border: 1px solid rgba(7, 67, 67, 0.25) !important; /* Tenký brandový border */
    border-radius: var(--radius-md, 1rem) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    position: relative !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}
body.type-search #products .product .p:hover {
    transform: translateY(-5px) !important;
    border-color: #074343 !important;
    box-shadow: 0 12px 28px rgba(7, 67, 67, 0.12) !important;
}

/* Náhledový box obrázku */
body.type-search #products .product .p > a.image {
    display: block !important;
    aspect-ratio: 1 / 1 !important;
    background: #FAFBFC !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}
body.type-search #products .product .p > a.image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: clamp(10px, 1.5vw, 16px) !important;
    box-sizing: border-box !important;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
body.type-search #products .product .p:hover > a.image img {
    transform: scale(1.04) !important;
}

/* Vnitřní textové boxy */
body.type-search #products .product .p .p-in {
    padding: clamp(14px, 1.8vw, 20px) !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    gap: 0 !important;
}
body.type-search #products .product .p .p-in-in,
body.type-search #products .product .p .p-bottom,
body.type-search #products .product .p .p-bottom > div[data-micro="offer"] {
    display: contents !important;
}

/* Přesné vynucení tmavého názvu produktu (přebíjí globální bílou) */
body.type-search #products .product .p .name {
    display: block !important;
    order: 2 !important;
    margin: 0 0 4px 0 !important;
}
body.type-search #products .product .p .name span {
    color: #1A1A1A !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.2rem, 1.35vw, 1.35rem) !important; 
    font-weight: 700 !important;
    line-height: 1.3 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    height: 2.6em !important;
}
body.type-search #products .product .p:hover .name span {
    color: #074343 !important;
}

/* Krátký popisek produktu */
body.type-search #products .product .p .p-desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #6b7280 !important; 
    font-family: var(--template-font) !important;
    font-size: clamp(1.05rem, 1.1rem, 1.1rem) !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    order: 3 !important;
    margin: 0 0 16px 0 !important; 
    height: 3em !important;
}

/* Skladová dostupnost */
body.type-search #products .product .p .availability {
    font-family: var(--template-font) !important;
    font-size: clamp(1.05rem, 1.1rem, 1.15rem) !important;
    order: 4 !important;
    margin: 0 0 12px 0 !important;
}
body.type-search #products .product .p .availability span {
    color: #16a34a !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
body.type-search #products .product .p .availability span::before {
    content: "" !important;
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    background-color: currentColor !important;
    border-radius: 50% !important;
}

/* Ceny (Kategorie layout) */
body.type-search #products .product .p .prices {
    display: flex !important;
    flex-direction: column !important;
    order: 5 !important;
    gap: 2px !important;
    margin: 0 0 16px 0 !important;
}
body.type-search #products .product .p .price.price-final {
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.35rem, 1.6vw, 1.5rem) !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1.1 !important;
    order: 1 !important;
}
body.type-search #products .product .p .price.price-final strong {
    font-weight: 800 !important;
    color: #1a1a1a !important;
}
body.type-search #products .product .p .price.price-final::after {
    content: " bez DPH" !important;
    font-size: 0.7em !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
}
body.type-search #products .product .p .price-additional {
    font-family: var(--template-font) !important;
    font-size: clamp(1.05rem, 1.2vw, 1.15rem) !important;
    font-weight: 500 !important;
    color: #9ca3af !important;
    line-height: 1.2 !important;
    order: 2 !important;
}

body.type-search #products .product .p .p-code {
    display: none !important;
}

/* ----------------------------------------------------------------------------
   3) NÁKUPNÍ TLAČÍTKA -> STRIKTNÍ PILL SHAPE (999px) DLE GLOBÁLNÍHO CSS
   ---------------------------------------------------------------------------- */
body.type-search #products .product .p .p-tools {
    order: 6 !important;
    margin-top: auto !important;
    width: 100% !important;
}
body.type-search #products .product .p .p-tools form {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
}

body.type-search #products .product .p .p-tools form .add-to-cart-button,
body.type-search #products .product .p .p-tools form .poptat-projekt-btn {
    width: 100% !important;
    padding: 11px 22px !important;
    font-family: var(--template-headings-font) !important;
    font-size: clamp(1.1rem, 1.15rem, 1.15rem) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    height: 44px !important;
    
    /* DEFINITIVNÍ PILL SHAPE GLOBÁLNÍHO SOUBORU */
    border-radius: 999px !important;
}

/* Modré vyplněné Do košíku (.btn-blue-filled styl) */
body.type-search #products .product .p .p-tools form .add-to-cart-button {
    background: #E3001B !important;
    border: 2px solid #E3001B !important;
    color: #ffffff !important;
}
body.type-search #products .product .p .p-tools form .add-to-cart-button:hover {
    background: #b80014 !important;
    border-color: #b80014 !important;
    transform: translateY(-2px) !important;
}

/* Zelené vyplněné Poptat (.btn-green-filled / .poptat-projekt-btn styl) */
body.type-search #products .product .p .p-tools form .poptat-projekt-btn {
    background: #074343 !important;
    border: 2px solid #074343 !important;
    color: #ffffff !important;
}
body.type-search #products .product .p .p-tools form .poptat-projekt-btn:hover {
    background: #053030 !important;
    border-color: #053030 !important;
    transform: translateY(-2px) !important;
}

/* --- BADGES ŠTÍTKY NA OBRÁZKU (Novinka, Tip..) --- */
body.type-search #products .product .flags {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    z-index: 3 !important;
    max-width: calc(100% - 24px) !important;
}
body.type-search #products .product .flag {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 999px !important; /* Sjednoceno na pill tvar */
    font-family: var(--template-headings-font) !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 1 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
}
body.type-search #products .product .flag::before,
body.type-search #products .product .flag::after {
    display: none !important;
}
body.type-search #products .product .flag-action { background: #16a34a !important; }
body.type-search #products .product .flag-new { background: #074343 !important; }
body.type-search #products .product .flag-tip { background: #ea580c !important; }
body.type-search #products .product .flag-sale { background: #dc2626 !important; }
body.type-search #products .product .flag-recommended { background: #ea580c !important; }

body.type-search #content .search-results-group-list li.no-display { display: list-item !important; }
body.type-search #content .display-results-group { display: none !important; }
/* ---- PDZ1_footer_V12.css ---- */
/* =========================================
   PATIČKA A BANNERY (PDZ1_footer_V9.css)
   Upgradováno pro plnou responzivitu (Global V73)

   V9b: Mikro-rozestupy bannerů i credits řádku převedeny na sdílenou
        clamp() škálu --rekusam-fb-sp-* (:root). Desktop beze změny (clamp MAX
        = původní px), mobil kompaktnější. Ladí se z jednoho místa.

   V9: VNITŘNÍ OBSAH BANNERŮ (.rekusam-fb*) PŘESUNUT SEM Z ADMINU.
       Dříve měl každý ze 4 bannerů v administraci vlastní inline
       <style> blok (sloupce 2–4 skoro identické = trojí údržba).
       Vše je nově v sekci 6 tohoto souboru (footer CSS je připojené
       <link>em na všech stránkách). Bannery v adminu drží JEN HTML.
       Sloučeny shodné selektory (fb2/fb3/fb4) a vynechán mrtvý kód
       text-decoration:none (globál ho už vynucuje na
       .footer-banners a:not(.btn)...). Vzhled 1:1, jen jedno místo.

   V8: OPRAVA ROZDÍLNÉ ŠÍŘKY BANNERŮ TITULKA vs. PODSTRÁNKY.
       Příčina (ne CSS, ale DOM): na titulce Shoptet renderuje blok
       .footer-banners.banner-wrapper UVNITŘ #content-wrapper
       (max-width 1600 + padding clamp 20–160) -> banner byl stažený na
       šířku obsahu. Na podstránkách ho JS vkládá jako sourozence #footer,
       tedy MIMO #content-wrapper -> banner se roztáhl přes celou patičku.
       Stejné pravidlo, jiný rodič = jiná šířka.

       Řešení: banner-wrapper je nově NEZÁVISLÝ NA RODIČI. Místo
       max-width + margin:auto jede full-bleed přes 100vw s breakout
       margin (calc(50% - 50vw)) a obsah (sloupce) drží na stropu 1300
       přes boční padding max(pad, (100vw - 1300)/2). Výsledek je na
       titulce i podstránce PIXEL-IDENTICKÝ a lícuje s headerem i spodní
       lištou patičky. Spodní lišta (#footer .footer-bottom) zůstává na
       max-width 1300 + margin:auto (je uvnitř #footer, celošířkového).

   V7: Šířka patičky i patičkových bannerů sjednocena 1:1 s HEADEREM
       (#header .container, max-width 1300px). Místo širokých globálních
       tokenů (--content-max-width 1600 / --content-padding-x clamp 20–160)
       jedou nově patičkové tokeny --rekusam-footer-max-width a
       --rekusam-footer-pad-x, které kopírují --rekusam-header-pad-x z headeru.
       Dorovnán i breakpoint 992–1250px (header tam jede 100 % + 20px).
       Vše plynulé přes clamp() => nezávislé na hustotě pixelů.
========================================= */

/* =========================================
   0. TOKENY ŠÍŘKY PATIČKY (SHODA S HEADEREM)
========================================= */
:root {
    /* Strop šířky obsahu = stejný jako #header .container */
    --rekusam-footer-max-width: 1300px;
    /* Boční odsazení = přebíráme přímo z headeru (fallback = stejná hodnota) */
    --rekusam-footer-pad-x: var(--rekusam-header-pad-x, clamp(16px, 3.5vw, 50px));

    /* === MIKRO-ROZESTUPY (bannery + spodní lišta) ===
       Plynulé přes clamp(), laditelné z jednoho místa.
       clamp MAX = původní px (desktop beze změny), MIN = kompaktnější mobil. */
    --rekusam-fb-sp-6:  clamp(5px,  0.6vw, 6px);   /* odskok mezi odkazy */
    --rekusam-fb-sp-8:  clamp(6px,  0.8vw, 8px);   /* subtitle, drobné gapy */
    --rekusam-fb-sp-10: clamp(8px,  0.9vw, 10px);  /* label-bottom, podpis gap */
    --rekusam-fb-sp-12: clamp(9px,  1.1vw, 12px);  /* kontaktní řádek, ikona */
    --rekusam-fb-sp-18: clamp(12px, 1.6vw, 18px);  /* gap v credits řádku */
    --rekusam-fb-sp-20: clamp(14px, 1.7vw, 20px);  /* margin nadpisů, padding wrapů */
    --rekusam-fb-sp-30: clamp(20px, 2.4vw, 30px);  /* horní odskok label, padding wrapů */
}

/* =========================================
   1. ZÁKLADNÍ NASTAVENÍ PATIČKY
========================================= */
#footer {
    background: linear-gradient(to right, #105959, #074343) !important;
    border: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

#footer .footer-bottom {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Skrytí natvrdo zadrátovaného newsletteru v patičce */
.footer-newsletter,
#footer .footer-newsletter,
.container.footer-newsletter,
#footer > .container.footer-newsletter {
    display: none !important;
}

/* =========================================
   2. PATIČKOVÉ BANNERY — STRUKTURÁLNÍ LAYOUT
   ---------------------------------------------------------------
   NEZÁVISLOST NA RODIČI: na titulce je blok uvnitř #content-wrapper
   (max-width 1600 + padding clamp 20–160), na podstránkách je mimo něj.
   Aby vykreslil VŠUDE STEJNĚ a na šířku headeru, jdeme full-bleed:
   - šířka = 100vw, breakout přes margin calc(50% - 50vw) ruší vliv
     rodičovského paddingu i max-width (funguje v obou kontextech),
   - obsah (sloupce) lícuje s obsahem headeru: header má padding UVNITŘ
     stropu 1300, takže jeho obsah je 1300 − 2×padding. Stejně tu boční
     padding = pad_headeru + max(0, (100vw − 1300)/2) → sloupce sednou
     přesně na logo/menu headeru i na střed obsahu na 4K.
========================================= */
.footer-banners.banner-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
    /* Breakout na střed viewportu nezávisle na rodiči */
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    /* Obsah lícuje s obsahem headeru (1300 − 2×padding, na střed) */
    padding-left:  calc(var(--rekusam-footer-pad-x) + max(0px, (100vw - var(--rekusam-footer-max-width)) / 2)) !important;
    padding-right: calc(var(--rekusam-footer-pad-x) + max(0px, (100vw - var(--rekusam-footer-max-width)) / 2)) !important;
    box-sizing: border-box !important;
}

/* DESKTOP > 1250px: 4 sloupce */
@media (min-width: 1251px) {
    .footer-banners.banner-wrapper > .footer-banner {
        flex: 0 0 25% !important;
        max-width: 25% !important;
        width: 25% !important;
    }
}

/* TABLET 992-1250px: 2×2 grid */
@media (min-width: 992px) and (max-width: 1250px) {
    .footer-banners.banner-wrapper > .footer-banner {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* MOBIL ≤ 991px: 1 sloupec */
@media (max-width: 991px) {
    .footer-banners.banner-wrapper > .footer-banner {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* =========================================
   3. SPOJENÍ PATIČKOVÝCH BANNERŮ S PATIČKOU (MODRÉ POZADÍ)
========================================= */
.index-content-wrapper {
    background: transparent !important; 
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

.footer-banners.banner-wrapper {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}

.homepage-texts-wrapper + .footer-banners.banner-wrapper,
.footer-banners.banner-wrapper {
    position: relative;
}

.footer-banners.banner-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: linear-gradient(to right, #105959, #074343) !important;
    z-index: -1; 
}

/* =========================================
   4. SPOJENÍ A ZAROVNÁNÍ BANNERŮ S PATIČKOU
========================================= */
#footer,
#footer .footer-bottom,
.footer-banners.banner-wrapper {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Spodní lišta patičky zůstává klasicky vycentrovaná na 1300 (= header).
   Je uvnitř #footer (celošířkový), takže max-width + margin:auto stačí —
   full-bleed jako u bannerů tu není potřeba. */
#footer .footer-bottom {
    max-width: var(--rekusam-footer-max-width) !important; /* Shoda s šířkou headeru (1300px) */
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--rekusam-footer-pad-x) !important;  /* Fluidní odsazení převzaté z headeru */
    padding-right: var(--rekusam-footer-pad-x) !important;
    box-sizing: border-box !important;
}

.footer-banners.banner-wrapper {
    /* Horní odsazení reaguje na globální vzdušnost webu (polovina section paddingu) */
    padding-top: calc(var(--section-padding-y) / 2) !important; 
    padding-bottom: 0 !important; 
}

/* DOROVNÁNÍ S HEADEREM V PÁSMU 992–1250px:
   Header v tomto rozsahu opouští strop 1300px a jede přes celou šířku
   s pevným odsazením 20px (viz #header div.container.navigation-wrapper).
   - Bannery: ponecháváme full-bleed (100vw) z výchozího pravidla a jen
     přepíšeme boční padding na 20px (sloupce pak lícují s logem/ikonami).
   - Spodní lišta: max-width 100 % + padding 20px. */
@media (min-width: 992px) and (max-width: 1250px) {
    .footer-banners.banner-wrapper {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    #footer .footer-bottom {
        max-width: 100% !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Použití fluidního odsazení výše umožnilo kompletně smazat staré @media (min-width: 1251px) a @media (max-width: 1250px), které pouze měnily paddingy ze 50px na 20px. */

/* =========================================
   5. SPODNÍ LIŠTA PATIČKY (COPYRIGHT A SHOPTET)
========================================= */
#footer .footer-bottom {
    border-top: none !important; 
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    color: rgba(255, 255, 255, 0.7) !important;
    font-family: var(--template-font) !important;
    font-size: 0.85em !important;
    display: flex !important;
    flex-direction: column !important; 
    gap: 0 !important; 
}

/* --- HORNÍ ŘÁDEK: Právní odkazy (Vycentrováno) --- */
.rekusam-footer-legal-row {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    /* Plynulá mezera mezi odkazy: mobil 18px -> desktop 40px */
    gap: clamp(18px, 3vw, 40px) !important; 
    width: 100% !important;
    /* Plynulé vertikální odsazení linek */
    padding-top: clamp(24px, 2.5vw, 32px) !important; 
    padding-bottom: clamp(24px, 2.5vw, 32px) !important; 
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important; 
}

/* Odkazy a cookies nastavení */
#footer .rekusam-footer-legal-row a,
#footer .rekusam-footer-legal-row .cookies-settings {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important; 
    font-weight: 400 !important; 
    font-size: 1.12em !important; 
    transition: color 0.2s ease, transform 0.2s ease !important;
}

#footer .rekusam-footer-legal-row a:hover,
#footer .rekusam-footer-legal-row .cookies-settings:hover {
    color: #ffffff !important;
    text-decoration: none !important;
    transform: translateY(-2px); 
}

/* --- SPODNÍ ŘÁDEK: Podpis a Copyright --- */
.rekusam-footer-credits-row {
    display: flex !important;
    justify-content: space-between !important; 
    align-items: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    /* Plynulé vertikální odsazení spodku */
    padding-top: clamp(20px, 2vw, 25px) !important;
    padding-bottom: clamp(24px, 2.5vw, 30px) !important;
    gap: var(--rekusam-fb-sp-18) !important;
}

.rekusam-footer-credits-row .copyright {
    display: flex !important;
    align-items: center !important;
    gap: var(--rekusam-fb-sp-8) !important;
    color: rgba(255, 255, 255, 0.7) !important;
}

.rekusam-footer-credits-row .copyright strong {
    color: #ffffff !important;
    font-weight: 600 !important;
}

/* Podpis Start Eshopu */
.rekusam-footer-credits-row #signature {
    display: flex !important;
    align-items: center !important;
    gap: var(--rekusam-fb-sp-10) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.rekusam-footer-credits-row #signature .title {
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.rekusam-footer-credits-row #signature:hover .title {
    color: #ffffff !important;
}

#footer .footer-bottom #signature img {
    width: 90px !important; 
    height: auto !important; 
    filter: brightness(0) invert(1) opacity(0.7) !important;
    transition: all 0.2s ease !important;
}

#footer .footer-bottom #signature:hover img {
    filter: brightness(0) invert(1) opacity(1) !important;
}

/* --- MOBILNÍ ZOBRAZENÍ --- */
@media (max-width: 991px) {
    .rekusam-footer-legal-row {
        flex-direction: column !important;
    }
    .rekusam-footer-credits-row {
        flex-direction: column-reverse !important; 
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
    }
    /* .copyright je sama flex kontejner → text-align z rodiče na její
       obsah nepůsobí, musí se centrovat přes justify-content */
    .rekusam-footer-credits-row .copyright {
        justify-content: center !important;
        flex-wrap: wrap !important;
        text-align: center !important;
    }
}

/* =========================================
   6. FOOTER BANNERY — VNITŘNÍ OBSAH (.rekusam-fb*)
   ---------------------------------------------------------------
   Přesunuto z inline <style> bloků v administraci (V9). Bannery
   v adminu teď drží JEN HTML. Velikosti písma jedou z tokenů
   --rekusam-fb-fs-* níže. text-decoration:none se tu NEŘEŠÍ — globální
   CSS ho už vynucuje na .footer-banners a:not(.btn):... (vyšší
   specificita + !important).
========================================= */

/* Velikosti písma footeru – jedno místo k ladění */
.footer-banners {
    --rekusam-fb-fs-head:  1.375rem;   /* nadpisy sloupců        = jako tělo webu */
    --rekusam-fb-fs-link:  1.375rem;   /* odkazy + kontakt       = jako tělo webu */
    --rekusam-fb-fs-addr:  1.375rem;   /* adresa                 = jako tělo webu */
    --rekusam-fb-fs-small: 1.1rem;     /* podtitul/badge/label   = jemnější doplněk */
}

/* --- SLOUPEC 1: LOGO + CLAIM --- */
.rekusam-fb1-wrap {
    background-color: transparent !important;
    padding: 0 0 var(--rekusam-fb-sp-30) 0 !important;
    max-width: 400px !important;
    text-align: left;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
}

.rekusam-fb1-logo-wrap {
    margin-bottom: clamp(18px, 2vw, 25px);
}

.rekusam-fb1-logo-link {
    display: inline-block;
    border: none !important;
    outline: none !important;
}

.rekusam-fb1-logo {
    display: block;
    width: clamp(150px, 12vw, 185px);
    aspect-ratio: 180 / 55;
    height: auto;
    background-image: url('../../02-Media/01-Header/Zehnder_light_logo.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    transition: opacity 0.2s ease;
}

.rekusam-fb1-logo:hover {
    opacity: 0.85;
}

.rekusam-fb1-subtitle {
    font-size: var(--rekusam-fb-fs-small) !important;
    color: rgba(255, 255, 255, 0.7) !important;
    margin: var(--rekusam-fb-sp-8) 0 0 0 !important;
    font-weight: 500 !important;
}

.rekusam-fb1-divider {
    width: 100%;
    max-width: clamp(150px, 12vw, 185px); /* šířka linky = šířka loga */
    height: 1px;
    background-color: rgba(255,255,255,0.25);
    margin-bottom: clamp(22px, 2.4vw, 30px);
}

.rekusam-fb1-badge {
    font-size: var(--rekusam-fb-fs-small) !important;
    color: rgba(255,255,255,0.8) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 !important;
}

/* --- SLOUPCE 2–4: SPOLEČNÝ ZÁKLAD (wrap / nadpis / odkazy) --- */
.rekusam-fb2-wrap,
.rekusam-fb3-wrap,
.rekusam-fb4-wrap {
    background-color: transparent !important;
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    padding: var(--rekusam-fb-sp-20) 0 !important;
    margin-left: 0 !important;
    text-align: center !important;
}

.rekusam-fb2-heading,
.rekusam-fb3-heading,
.rekusam-fb4-heading {
    color: #ffffff !important;
    font-size: var(--rekusam-fb-fs-head) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1 !important;
    margin: 0 0 var(--rekusam-fb-sp-20) 0 !important;
    text-align: center;
}

.rekusam-fb2-link,
.rekusam-fb3-link {
    display: block !important;
    font-size: var(--rekusam-fb-fs-link) !important;
    line-height: 1.8 !important;
    margin-bottom: var(--rekusam-fb-sp-6) !important;
    color: rgba(255,255,255,0.85) !important;
    transition: color 0.2s, transform 0.2s;
    text-align: center;
}

.rekusam-fb2-link:hover,
.rekusam-fb3-link:hover {
    color: #ffffff !important;
    transform: translateX(3px);
}

/* --- SLOUPEC 4: KONTAKTNÍ ŘÁDKY + ADRESA --- */
.rekusam-fb4-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: var(--rekusam-fb-sp-12) !important;
}

.rekusam-fb4-row svg {
    margin-right: var(--rekusam-fb-sp-12) !important;
    flex-shrink: 0;
    stroke: #ffffff;
    stroke-width: 1.5px !important;
}

.rekusam-fb4-text {
    display: block !important;
    color: #ffffff !important;
    font-size: var(--rekusam-fb-fs-link) !important;
    font-weight: 400 !important;
    text-align: left;
    transition: opacity 0.2s;
}

.rekusam-fb4-row:hover .rekusam-fb4-text {
    opacity: 0.85;
}

.rekusam-fb4-label {
    color: rgba(255,255,255,0.7) !important;
    font-size: var(--rekusam-fb-fs-small) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin: var(--rekusam-fb-sp-30) 0 var(--rekusam-fb-sp-10) 0 !important;
    font-weight: 400 !important;
    text-align: center;
}

.rekusam-fb4-address {
    font-size: var(--rekusam-fb-fs-addr) !important;
    color: rgba(255,255,255,0.9) !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
    text-align: center;
}

/* --- RESPONZIVITA SLOUPCŮ --- */

/* TABLET 992–1250px: sloupec 1 do levého zarovnání (2×2 grid) */
@media (min-width: 992px) and (max-width: 1250px) {
    .rekusam-fb1-wrap {
        padding: var(--rekusam-fb-sp-10) var(--rekusam-fb-sp-20) var(--rekusam-fb-sp-20) var(--rekusam-fb-sp-20) !important;
        text-align: left !important;
        margin-left: 0 !important;
        max-width: 100% !important;
    }
    .rekusam-fb1-logo {
        margin: 0 !important;
        -webkit-mask-position: left center !important;
        mask-position: left center !important;
    }
    .rekusam-fb1-subtitle,
    .rekusam-fb1-badge {
        text-align: left !important;
    }
}

/* OD 992px: levé zarovnání sloupců 2–4 */
@media (min-width: 992px) {
    .rekusam-fb2-wrap,
    .rekusam-fb3-wrap,
    .rekusam-fb4-wrap {
        text-align: left !important;
        padding: var(--rekusam-fb-sp-30) 0 var(--rekusam-fb-sp-30) 0 !important;
    }
    .rekusam-fb2-heading,
    .rekusam-fb3-heading,
    .rekusam-fb4-heading {
        text-align: left;
    }
    .rekusam-fb2-link,
    .rekusam-fb3-link {
        text-align: left;
    }
    .rekusam-fb4-row {
        justify-content: flex-start !important;
    }
    .rekusam-fb4-label,
    .rekusam-fb4-address {
        text-align: left;
    }
}

/* NAD 1250px: odsazení sloupců 2–4 od loga */
@media (min-width: 1251px) {
    .rekusam-fb2-wrap,
    .rekusam-fb3-wrap,
    .rekusam-fb4-wrap {
        margin-left: clamp(30px, 4vw, 60px) !important;
        padding: 0 0 var(--rekusam-fb-sp-30) 0 !important;
    }
}

/* MOBIL ≤991px: sloupec 1 na střed */
@media (max-width: 991px) {
    .rekusam-fb1-wrap {
        max-width: 100% !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding: var(--rekusam-fb-sp-20) 0 !important;
    }
    .rekusam-fb1-logo {
        margin: 0 auto !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
    }
    .rekusam-fb1-subtitle,
    .rekusam-fb1-badge {
        text-align: center !important;
    }
    .rekusam-fb1-divider {
        margin: 0 auto clamp(22px, 2.4vw, 30px) auto !important;
    }
}
/* =========================================
   B. SEKCE
========================================= */
.rekusam-section{
    position:relative;
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    box-sizing:border-box;
    padding:var(--section-padding-y) var(--content-padding-x);
}
.rekusam-section--dark  {background:var(--rekusam-green-deep);}
.rekusam-section--light {background:var(--rekusam-surface);}
.rekusam-section--tint  {background:var(--rekusam-surface-2);}
 
.rekusam-section__inner{max-width:var(--content-max-width);margin:0 auto;}
.rekusam-section__head{margin:0 0 var(--rekusam-space-xl);max-width:24ch;}
.rekusam-section__head--center{margin-left:auto;margin-right:auto;text-align:center;max-width:44ch;}
.rekusam-section__head--wide{max-width:34ch;}
 
/* --- typografie uvnitř sekcí (přebíjí globální h1–h5 / p) --- */
#content .rekusam-section h2,
.rekusam-section h2{
    font-family:var(--template-headings-font)!important;
    font-size:var(--rekusam-fs-h2)!important;
    font-weight:800!important;line-height:1.12!important;
    letter-spacing:-.01em!important;margin:0!important;
}
#content .rekusam-section h3,
.rekusam-section h3{
    font-family:var(--template-headings-font)!important;
    font-size:var(--rekusam-fs-h3)!important;
    font-weight:800!important;line-height:1.25!important;
    letter-spacing:-.01em!important;margin:0 0 var(--rekusam-space-xs)!important;
}
#content .rekusam-section h4,
.rekusam-section h4{
    font-family:var(--template-headings-font)!important;
    font-size:var(--rekusam-fs-h4)!important;
    font-weight:600!important;line-height:1.35!important;margin:0!important;
}
#content .rekusam-section p,
.rekusam-section p{
    font-size:var(--rekusam-fs-body)!important;
    line-height:1.6!important;font-weight:400!important;margin:0!important;
}
#content .rekusam-section .rekusam-lead,
.rekusam-section .rekusam-lead{
    font-size:var(--rekusam-fs-lead)!important;line-height:1.6!important;
}
#content .rekusam-section .rekusam-note,
.rekusam-section .rekusam-note{
    font-size:var(--rekusam-fs-sm)!important;line-height:1.5!important;
}
.rekusam-section__head h2 + .rekusam-lead{margin-top:var(--rekusam-space-sm)!important;}
 
/* --- barvy podle podkladu --- */
#content .rekusam-section--dark h2, .rekusam-section--dark h2,
#content .rekusam-section--dark h3, .rekusam-section--dark h3,
#content .rekusam-section--dark h4, .rekusam-section--dark h4{color:var(--rekusam-on-dark)!important;}
#content .rekusam-section--dark p, .rekusam-section--dark p{color:var(--rekusam-on-dark-muted)!important;}
 
#content .rekusam-section--light h2, .rekusam-section--light h2,
#content .rekusam-section--tint  h2, .rekusam-section--tint  h2,
#content .rekusam-section--light h3, .rekusam-section--light h3,
#content .rekusam-section--tint  h3, .rekusam-section--tint  h3,
#content .rekusam-section--light h4, .rekusam-section--light h4,
#content .rekusam-section--tint  h4, .rekusam-section--tint  h4{color:var(--rekusam-green)!important;}
#content .rekusam-section--light p, .rekusam-section--light p,
#content .rekusam-section--tint  p, .rekusam-section--tint  p{color:var(--rekusam-muted)!important;}
 
/* =========================================
   C. KARTY
========================================= */
.rekusam-card{
    position:relative;display:flex;flex-direction:column;
    border-radius:var(--radius-lg);
    padding:var(--rekusam-card-pad);
    background:var(--rekusam-surface);
    border:1px solid var(--rekusam-card-light-border);
    box-shadow:var(--rekusam-shadow-card);
    transition:transform .35s ease,border-color .35s ease,background .35s ease;
}
.rekusam-card--dark{
    background:var(--rekusam-card-dark-bg);
    border-color:var(--rekusam-card-dark-border);
    box-shadow:none;
}
.rekusam-card--flush{padding:0;overflow:hidden;}
.rekusam-card--hover:hover{transform:translateY(-4px);}
.rekusam-card--dark.rekusam-card--hover:hover{
    background:var(--rekusam-card-dark-bg-hover);
    border-color:rgba(255,255,255,.24);
}
 
/* štítek v rohu karty (Premium apod.) */
.rekusam-flag{
    display:inline-block;
    background:var(--rekusam-red);border-radius:999px;
    padding:8px 16px;line-height:1;
    font-family:var(--template-headings-font);
    font-size:var(--rekusam-fs-xs);font-weight:800;
    letter-spacing:.12em;text-transform:uppercase;color:#fff;
    box-shadow:0 12px 26px -12px rgba(227,0,27,.7);
}
 
/* nadřazený popisek nad nadpisem uvnitř karty */
#content .rekusam-kicker,
.rekusam-kicker{
    display:block;font-family:var(--template-headings-font)!important;
    font-size:var(--rekusam-fs-xs)!important;font-weight:700!important;
    letter-spacing:.14em!important;text-transform:uppercase!important;
    margin:0 0 var(--rekusam-space-xs)!important;
    color:var(--rekusam-on-dark-faint)!important;
}
#content .rekusam-section--light .rekusam-kicker,
#content .rekusam-section--tint  .rekusam-kicker{color:var(--rekusam-muted)!important;}
 
/* =========================================
   D. TLAČÍTKA — červená varianta a velikosti
   (základ .btn je v sekci 7 tohoto CSS)
========================================= */
.btn-red-filled{
    background-color:var(--rekusam-red)!important;
    color:#FFFFFF!important;
    border:2px solid var(--rekusam-red)!important;
    box-shadow:var(--rekusam-shadow-red)!important;
    transition:all .3s ease!important;
}
.btn-red-filled:hover{
    background-color:var(--rekusam-red-dark)!important;
    border-color:var(--rekusam-red-dark)!important;
    color:#FFFFFF!important;transform:translateY(-2px);
}
.btn-red-outline{
    background-color:transparent!important;
    color:var(--rekusam-red)!important;
    border:2px solid var(--rekusam-red)!important;
    transition:all .3s ease!important;
}
.btn-red-outline:hover{
    background-color:var(--rekusam-red)!important;color:#FFFFFF!important;transform:translateY(-2px);
}
 
/* velikost pro CTA v landing sekcích */
.btn.btn--lg{
    font-size:var(--rekusam-fs-body)!important;
    padding:clamp(17px,4.4vw,19px) clamp(28px,6vw,40px)!important;
    line-height:1!important;
}
/* na mobilu přes celou šířku, od 768px podle obsahu */
.btn.btn--block{width:100%!important;}
@media (min-width:768px){
    .btn.btn--block{width:auto!important;}
}


/* --- DESKTOP: HLAVICKY SEKCI (od 992 px, mobil beze zmeny) ---
   Puvodne .rekusam-section__head{max-width:24ch}; "ch" se pocita z pisma
   obalu (~17 px), takze nadpis mel na desktopu jen ~210 px a H2 se lamal
   uprostred slov. Sirku ted drzi samotny H2 ve vlastnich "ch". */
@media (min-width: 992px) {
    .rekusam-section__head,
    .rekusam-section__head--wide { max-width: none; }
    .rekusam-section__head h2 { max-width: 22ch; }
    .rekusam-section__head--wide h2 { max-width: 26ch; }
    .rekusam-section__head .rekusam-lead { max-width: 60ch; }
    .rekusam-section__head--center { max-width: none; }
    .rekusam-section__head--center h2,
    .rekusam-section__head--center .rekusam-lead { margin-left: auto !important; margin-right: auto !important; }
}


/* --- DESKTOP: TYPOGRAFICKA SKALA (od 992 px, mobil beze zmeny) ---
   Fluidni tokeny dosahuji maxima uz kolem 430-710 px, takze desktop mel
   mobilni pomery: tezke H3 (26 px), obri cisla kroku (78 px), H1 v hero
   na 5 radku. Na desktopu proto pevne, o neco klidnejsi hodnoty. */
@media (min-width: 992px) {
    :root {
        --rekusam-fs-display: 58px;
        --rekusam-fs-h3:      22px;
        --rekusam-fs-num-lg:  60px;
    }
    /* Perex mimo .rekusam-section (hero) nedostaval velikost perexu
       a padal na 13,75 px ze sablony -> sjednoceno s perexy sekci. */
    #content .rekusam-lead {
        font-size: var(--rekusam-fs-lead) !important;
        line-height: 1.6 !important;
    }
}


/* --- HLAVICKY SEKCI: oprava (V21) ---
   1) Sirka hlavicky uz od 768 px (768-991 px se H2 lamal uprostred slov,
      hlavicka mela jen 24ch = ~227 px).
   2) Centrovani H2 a perexu v .rekusam-section__head--center: dosud ho
      prebijelo #content .rekusam-section h2/p {margin:0 !important} a nadpis
      stal vlevo pod vycentrovanym stitkem.
   3) Perex v heru (mimo .rekusam-section) mel na tabletu 13,75 px – oprava
      z V19 platila az od 992 px, ted od 768 px. */
@media (min-width: 768px) {
    .rekusam-section__head,
    .rekusam-section__head--wide,
    .rekusam-section__head--center { max-width: none; }
    .rekusam-section__head h2 { max-width: 22ch; }
    .rekusam-section__head--wide h2 { max-width: 26ch; }
    .rekusam-section__head .rekusam-lead { max-width: 60ch; }
    #content .rekusam-section__head--center h2,
    #content .rekusam-section__head--center .rekusam-lead {
        margin-left: auto !important;
        margin-right: auto !important;
    }
    #content .rekusam-lead {
        font-size: var(--rekusam-fs-lead) !important;
        line-height: 1.6 !important;
    }
}


/* --- DESKTOP: H2 SEKCI 46 -> 40 px (V22) ---
   Na hutnych strankach (Jak to funguje: 8 sekci) pusobil 46px nadpis
   prilis hlucne. Mobil beze zmeny (jen od 992 px). */
@media (min-width: 992px) {
    :root { --rekusam-fs-h2: 40px; }
}


/* --- DESKTOP: FAQ AKORDEON – mensi otazky a odpovedi (V23) ---
   Otazky mely 19 px tucne, odpovedi 17–19 px (Caste dotazy dokonce
   velikost perexu). Jednotne pro vsechny akordeony .rekusam-faq.
   Specificnost html body #content … prebiji styly jednotlivych stranek. */
@media (min-width: 992px) {
    html body #content .rekusam-faq .rekusam-faq__label {
        font-size: 17px !important;
        line-height: 1.4 !important;
    }
    html body #content .rekusam-faq .rekusam-faq__a p,
    html body #content .rekusam-faq .rekusam-faq__a li {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }
}


/* --- BOCNI PANEL: rozbalovaci polozka (Poradna) (V24) ---
   Polozka s podmenu v panelu byla odkaz na „#“. Ted je to roletka jako
   v hlavicce: klik ji rozbali, podpolozky odsazene a o neco mensi. */
#rekusam-vlastni-panel .rekusam-panel-chevron {
    flex: none;
    width: 8px;
    height: 8px;
    margin-left: auto;
    margin-right: 4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform .25s ease;
}
#rekusam-vlastni-panel .rekusam-panel-item--sub.is-open .rekusam-panel-chevron {
    transform: translateY(2px) rotate(-135deg);
}
#rekusam-vlastni-panel .rekusam-panel-sub {
    display: none;
    padding: 2px 0 6px;
}
#rekusam-vlastni-panel .rekusam-panel-item--sub.is-open .rekusam-panel-sub {
    display: block;
}
#rekusam-vlastni-panel .rekusam-panel-sub a:not(.btn) {
    margin-left: 28px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: clamp(1.15rem, 4vw, 1.25rem) !important;
    font-weight: 500 !important;
    color: rgba(255, 255, 255, 0.75) !important;
}
#rekusam-vlastni-panel .rekusam-panel-item--sub.is-open > .rekusam-panel-sub-toggle {
    background-color: rgba(255, 255, 255, 0.08) !important;
}


/* --- STITKY SEKCI (eyebrow): citelne na mobilu (V25) ---
   Velikost clamp(.8rem…1.1rem) pri rem = 10 px davala na mobilu 8,5 px. */
.rekusam-eyebrow,
#content .rekusam-eyebrow,
#content span.rekusam-eyebrow,
.theme-light #content span.rekusam-eyebrow {
    font-size: clamp(11px, 10.5px + 0.1vw, 12px) !important;
}


/* --- POKLADNA krok 2: text souhlasu s podmínkami byl bílý na světlé kartě (V27) --- */
#checkoutContent .consents p.label,
#checkoutContent .consents .label {
    color: #334250 !important;
}


/* --- POKLADNA: nadpisy a odkazy uvnitř bílé karty byly bílé (V28) ---
   „Zvolte způsob dopravy/platby“, nadpisy kroku 2, „Zvolte odběrné místo“. */
body.ordering-process #checkoutContent h2,
body.ordering-process #checkoutContent h3,
body.ordering-process #checkoutContent h4,
body.ordering-process #checkoutContent legend {
    color: #1a1a1a !important;
}
body.ordering-process #checkoutContent .radio-wrapper a:not(.btn) {
    color: #074343 !important;
}


/* --- POKLADNA krok 2: bílý text na bílé kartě (V29) ---
   „Země: Česká republika“, „Zákaznický účet“, „Povinná pole“.
   Skrytá varianta štítku země (js-location--hidden) se zobrazovala navíc
   (přebíjelo ji pravidlo klientské zóny .form-group label). */
body.ordering-process #checkoutContent p.label,
body.ordering-process #checkoutContent .form-control-wrapper--with-note,
body.ordering-process #checkoutContent .required-asterisk--bef {
    color: #2b3640 !important;
}
html body.ordering-process #checkoutContent .form-group label.js-location--hidden {
    display: none !important;
}
html body.ordering-process #checkoutContent .form-group > p.label.js-location {
    display: block !important;
    font-size: 12px !important;
    margin: 0 0 4px !important;
}
html body.ordering-process #checkoutContent .form-control-wrapper--with-note strong {
    font-size: 15px !important;
    font-weight: 600 !important;
}


/* --- POKLADNA krok 2: bloky uvnitř bílé karty odlišené (V30) ---
   Fakturační adresa, adresa instalace, poznámka: tónovaný podklad + akcent vlevo. */
html body.ordering-process #checkoutContent .co-box.co-billing-address,
html body.ordering-process #checkoutContent .co-box.co-shipping-address,
html body.ordering-process #checkoutContent .co-box.co-box-additional {
    background: #eef4f4 !important;
    border: 1px solid rgba(7, 67, 67, 0.16) !important;
    border-left: 3px solid #074343 !important;
    border-radius: 10px !important;
}
html body.ordering-process #checkoutContent .co-box.co-billing-address .form-control,
html body.ordering-process #checkoutContent .co-box.co-shipping-address .form-control,
html body.ordering-process #checkoutContent .co-box.co-box-additional .form-control {
    background-color: #ffffff !important;
}


/* --- PRÁZDNÝ KOŠÍK (okno košíku i /kosik/) (V30) ---
   Texty byly bílé na bílé kartě, vyhledávání se centrovalo přes nadpis,
   obsah narážel na hranu karty (mobilní padding 14 px). */
html body.rekusam-kosik-rezim #cart-wrapper .cart-inner.cart-empty,
html body .cart-inner.cart-empty {
    padding: clamp(24px, 4vw, 48px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(7, 67, 67, 0.10) !important;
    box-shadow: 0 18px 40px -30px rgba(7, 67, 67, 0.45) !important;
}
html body .cart-empty .cart-heading {
    font-size: clamp(24px, 3vw, 34px) !important;
    margin: 0 0 clamp(20px, 3vw, 32px) !important;
}
html body .cart-empty .cart-row,
html body .cart-empty .empty-cart-boxes {
    display: grid !important;
    grid-template-columns: 1fr;
    margin: 0 !important;
}
html body .cart-empty .cart-row { gap: 24px; }
html body .cart-empty .empty-cart-boxes { gap: 8px; }
html body .cart-empty .cart-row::before,
html body .cart-empty .cart-row::after,
html body .cart-empty .empty-cart-boxes::before,
html body .cart-empty .empty-cart-boxes::after {
    display: none !important;
    content: none !important;
}
html body .cart-empty .cart-row > [class*="col-"],
html body .cart-empty .empty-cart-boxes > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
}
html body .cart-empty .empty-cart-boxes h3,
html body .cart-empty h2.h4 {
    color: #1a1a1a !important;
    font-size: 18px !important;
    margin: 0 0 12px !important;
}
html body .cart-empty .empty-cart-boxes ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
}
html body #cart-wrapper .cart-empty .empty-cart-boxes ul li > a[href],
html body .cart-empty .empty-cart-boxes ul li > a[href] {
    display: inline-flex !important;
    align-items: center;
    padding: 11px 22px !important;
    border: 1px solid #074343 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #074343 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    text-decoration: none !important;
}
html body #cart-wrapper .cart-empty .empty-cart-boxes ul li > a[href]:hover,
html body .cart-empty .empty-cart-boxes ul li > a[href]:hover {
    background: #074343 !important;
    color: #ffffff !important;
}
html body .cart-empty .search {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    min-height: 56px !important;
    margin: 0 !important;
}
html body .cart-empty .search .search-form {
    left: auto !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 420px !important;
    border: 1px solid rgba(7, 67, 67, 0.22) !important;
    background: #ffffff !important;
}
html body .cart-empty .search .search-form,
html body .cart-empty .search .search-input { box-shadow: none !important; }
/* „Potřebujete pomoc?“ jako tónovaná karta */
html body .cart-empty .col-xl-4 .cart-content {
    height: 100%;
    padding: clamp(20px, 2.5vw, 28px) !important;
    background: #eef4f4 !important;
    border-left: 3px solid #074343 !important;
    border-radius: 12px !important;
}
html body .cart-empty .col-xl-4 .box,
html body .cart-empty .contact-box {
    min-height: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}
html body .cart-empty .contact-box strong { color: #1a1a1a !important; font-size: 15px !important; }
html body .cart-empty .contact-box ul { list-style: none !important; padding: 0 !important; margin: 10px 0 0 !important; }
html body .cart-empty .contact-box ul:empty { display: none !important; }
html body .cart-empty .contact-box li { margin: 0 0 6px !important; font-size: 15px !important; color: #2b3640 !important; }
html body .cart-empty .contact-box a { color: #074343 !important; font-weight: 600 !important; }
@media (min-width: 992px) {
    html body .cart-empty .cart-row { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; }
}


/* --- HLAVIČKY SEKCÍ i pod 768 px (V30) ---
   Oprava z V21 platila až od 768 px; pod ní měla hlavička dál 24ch (~227 px)
   a H2 („Zvládli to s naším vedením sami“, „Máte otázky?…“) se lámal po slovech.
   Šířku teď na všech šířkách drží samotný H2 ve vlastních „ch“. */
.rekusam-section__head,
.rekusam-section__head--wide,
.rekusam-section__head--center { max-width: none; }
.rekusam-section__head h2 { max-width: 22ch; }
.rekusam-section__head--wide h2 { max-width: 26ch; }
.rekusam-section__head .rekusam-lead { max-width: 60ch; }
#content .rekusam-section__head--center h2,
#content .rekusam-section__head--center .rekusam-lead {
    margin-left: auto !important;
    margin-right: auto !important;
}


/* =====================================================================
   KOŠÍK + KROKY 1/2: ŠÍŘKA, ODKAZ ZPĚT, POLOŽKA KOŠÍKU (V32)
   ===================================================================== */

/* --- Jedna centrovaná kolona 1040 px na všech krocích ---
   Levý sloupec s tlačítkem „Zpět do obchodu“ odsouval kartu doprava
   (na 768–991 px ji smrskl na ~380 px). */
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) #content-wrapper .content-wrapper-in {
    position: relative !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 1040px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .content-wrapper-in > main#content {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    margin-left: 0 !important;
}
body.rekusam-kosik-rezim.in-kosik main#content { padding-block: clamp(20px, 4vw, 48px) !important; }
/* košík pod 992 px: stejné boční okraje jako kroky 1/2 (dřív 10vw) */
@media (max-width: 991px) {
    html body.rekusam-kosik-rezim.in-kosik #content-wrapper {
        padding-left: 2.5vw !important;
        padding-right: 2.5vw !important;
    }
}

/* --- „Zpět do obchodu“ = tichý odkaz vpravo na lince záložek kroků --- */
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .content-wrapper-in > .sidebar-left {
    position: absolute !important;
    z-index: 2;
    top: clamp(20px, 4vw, 48px) !important;
    right: 20px !important;
    height: 46px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
}
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr {
    margin: 0 !important;
    padding: 6px 2px !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: var(--template-body-font, inherit) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transform: none !important;
}
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr span { color: inherit !important; }
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr::before {
    width: 16px !important;
    height: 16px !important;
    transition: transform 0.2s ease;
}
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr:hover {
    background: none !important;
    color: #ffffff !important;
    transform: none !important;
}
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr:hover span {
    color: #ffffff !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr:hover::before { transform: translateX(-3px); }
/* pod 768 px se se záložkami nevejde — zpět vede spodní tlačítko a menu */
@media (max-width: 767px) {
    html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .content-wrapper-in > .sidebar-left { display: none !important; }
}

/* --- Záložky kroků: názvy všech kroků od 600 px; pod 600 px jen čísla
       (dřív zůstával vypsaný krok 3, který není odkaz, a záložky přetékaly) --- */
@media (min-width: 600px) {
    body.rekusam-kosik-rezim .cart-header .step:not(.active) > a span { display: inline !important; }
}
@media (max-width: 599px) {
    html body.rekusam-kosik-rezim .cart-header .step:not(.active) > strong span { display: none !important; }
    html body.rekusam-kosik-rezim .cart-header .step:not(.active) > strong { padding: 9px 12px 11px !important; }
}

/* --- Položka košíku pod 992 px: obrázek | název + dostupnost + počet | součet ---
   Popisky sloupců pryč, „Odebrat“ místo kolečka ×, cena za kus jen od 2 ks. */
@media (max-width: 991px) {
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table tr {
        grid-template-columns: clamp(60px, 14vw, 76px) minmax(0, 1fr) auto !important;
        grid-template-areas:
            "img name  total"
            "img avail price"
            "img qty   qty" !important;
        align-items: start !important;
        column-gap: clamp(12px, 3vw, 20px) !important;
        row-gap: 4px !important;
        padding: 16px !important;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .cart-p-image {
        width: clamp(60px, 14vw, 76px) !important;
        height: clamp(60px, 14vw, 76px) !important;
        align-self: start !important;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-label { display: none !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-name { padding-right: 0 !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-name a.main-link:not(.btn) { font-size: 16px !important; line-height: 1.3 !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .main-link-variant {
        margin-top: 2px;
        font-size: 13px !important;
        font-weight: 400 !important;
        color: var(--rekusam-muted) !important;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-availability .availability-label {
        gap: 6px;
        padding: 0 !important;
        background: none !important;
        border: 0 !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-availability .availability-label::before {
        content: "";
        flex: none;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: currentColor;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-total { grid-area: total; position: static !important; text-align: right !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-total strong.price-final { font-size: 17px !important; white-space: nowrap; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price { grid-area: price; text-align: right !important; font-size: 12px !important; color: var(--rekusam-muted) !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price strong.price-final,
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price .unit-value {
        font-size: 12px !important;
        font-weight: 500 !important;
        color: var(--rekusam-muted) !important;
        white-space: nowrap;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table tr:has(input.amount[value="1"]) .p-price { display: none !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-quantity { grid-area: qty; margin: 0 !important; padding-top: 10px !important; border-top: 0 !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .remove-item {
        position: absolute !important;
        top: auto !important;
        right: 16px !important;
        bottom: 22px !important;
        width: auto !important;
        height: auto !important;
        padding: 4px 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: none !important;
        box-shadow: none !important;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .remove-item::before {
        content: "Odebrat" !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        background: none !important;
        transform: none !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: var(--rekusam-muted) !important;
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .remove-item:hover::before { color: var(--rekusam-red, #e3001b) !important; }
}
/* telefon: cena pod dostupnost, počet + Odebrat přes celou šířku */
@media (max-width: 599px) {
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table tr {
        grid-template-columns: clamp(60px, 18vw, 72px) minmax(0, 1fr) !important;
        grid-template-areas:
            "img name"
            "img avail"
            "img total"
            "img price"
            "qty qty" !important;
    }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-total,
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-price { text-align: left !important; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-total { margin-top: 6px; }
    html body.rekusam-kosik-rezim #cart-wrapper .cart-table .p-quantity { padding-top: 14px !important; }
}


/* --- „Zpět do obchodu“: klikatelnost + mezera (V33) ---
   Pruh záložek kroků (.cart-header) ležel přes odkaz a blokoval klik;
   mezi „Zpět“ a „do obchodu“ byla dvojitá mezera (flex gap). */
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .content-wrapper-in > .sidebar-left { z-index: 20 !important; }
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr { gap: 0 !important; }
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr::before { margin-right: 8px !important; }
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr span { margin-left: 0.28em !important; }


/* --- „Zpět do obchodu“: hover jen barva + posun šipky, bez podtržení (V34) --- */
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr:hover,
html body.rekusam-kosik-rezim:is(.in-kosik, .in-krok-1, .in-krok-2) .sidebar-left .toggle-window-arr:hover span { text-decoration: none !important; }


/* --- Košík: obrys počtu kusů v zelené barvě webu (V35) --- */
html body.rekusam-kosik-rezim #cart-wrapper .cart-table .quantity { border: 1px solid var(--rekusam-accent) !important; }


/* --- Pokladna krok 1: vybrané odběrné místo (název pobočky u dopravce)
       bylo bílé na světlé kartě — platí pro všechny dopravce s výdejními místy (V36) --- */
html body.ordering-process #checkoutContent .radio-wrapper .sublabel { color: #2b3640 !important; font-weight: 500; }


/* =====================================================================
   POKLADNA KROK 2 „Informace o vás“: pole ve stylu Rekusam (V37)
   Původní PDZ vzhled (zkosený roh s diagonální linkou, modrá šipka selectu,
   pole jen 320 px) nahrazen; platí pro objednávku i poptávku.
   ===================================================================== */
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent input.form-control,
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent textarea.form-control,
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent select.form-control {
    border: 1px solid rgba(7, 67, 67, 0.24) !important;
    border-radius: 10px !important;
    clip-path: none !important;
    box-shadow: none !important;
    font-size: 15px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent input.form-control { background-image: none !important; }
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23074343' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
}
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .form-control:hover { border-color: rgba(7, 67, 67, 0.45) !important; }
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .form-control:focus,
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .form-control:focus-visible {
    border-color: #074343 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.12) !important;
}
/* pole širší (Shoptet je drží na 320 px) */
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .form-group > .form-control-wrapper {
    width: 100% !important;
    max-width: 560px !important;
}
/* štítky polí a zaškrtávátek čitelněji (byly 11–12 px) */
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent label:not(.whole-width):not([for^="consents"]),
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent label:not(.whole-width) .required-asterisk {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent label.whole-width,
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .consents p.label { font-size: 14px !important; }
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent label.rekusam-note-heading { font-size: 15px !important; font-weight: 600 !important; }

/* --- Rekapitulace objednávky: písmo 12 px → 15 px, celková cena výrazněji --- */
html body.ordering-process .order-summary h2.h4 { font-size: 18px !important; }
html body.ordering-process .order-summary :is(div, span, strong):not(.price-label):not(.price-primary *) { font-size: 15px !important; }
html body.ordering-process #content .order-summary .price-wrapper .price-label.price-primary { font-size: 16px !important; font-weight: 700 !important; }
html body.ordering-process #content .order-summary .price-wrapper strong.price-primary,
html body.ordering-process #content .order-summary .price-wrapper strong.price-primary span { font-size: 24px !important; }
html body.ordering-process #content .order-summary .price-wrapper .price-label.price-secondary,
html body.ordering-process #content .order-summary .price-wrapper strong.price-secondary,
html body.ordering-process #content .order-summary .price-wrapper strong.price-secondary span { font-size: 14px !important; }


/* --- Pokladna krok 2: obrys polí v zelené barvě webu (V38) --- */
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent :is(input, textarea, select).form-control,
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent :is(input, textarea, select).form-control:hover { border-color: var(--rekusam-accent) !important; }


/* --- Pokladna krok 2: jednotné okraje bloků (V39) ---
   Tónovaný blok se zeleným pruhem jen pro Rekapitulaci; ostatní bloky
   (Osobní údaje, Fakturační / doručovací adresa, Poznámka) bez podkladu
   a rámečku, ale se stejným vnitřním okrajem — obsah všech bloků i souhlasu
   začíná na jedné linii (+3 px / +2 px vyrovnává chybějící levý okraj).
   Telefon na šířku ostatních polí, vlajka se zeleným obrysem. */
html body.ordering-process #checkoutContent .co-box:is(.co-contact-information, .co-billing-address, .co-shipping-address, .co-box-additional) {
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
}
html body.ordering-process #checkoutContent .co-box.order-summary {
    background: #eef4f4 !important;
    border: 1px solid rgba(7, 67, 67, 0.16) !important;
    border-left: 3px solid #074343 !important;
    border-radius: 10px !important;
}
html body.ordering-process #checkoutContent .co-box:is(.co-contact-information, .co-billing-address, .co-shipping-address, .co-box-additional, .order-summary) {
    padding: clamp(20px, 2.6vw, 28px) !important;
    margin-bottom: 18px !important;
}
html body.ordering-process #checkoutContent .co-box:is(.co-contact-information, .co-billing-address, .co-shipping-address, .co-box-additional) {
    padding-left: calc(clamp(20px, 2.6vw, 28px) + 3px) !important;
}
html body.ordering-process #checkoutContent .form-group.consents {
    padding: 14px clamp(20px, 2.6vw, 28px) !important;
    padding-left: calc(clamp(20px, 2.6vw, 28px) + 2px) !important;
    border-radius: 10px !important;
}
html body.ordering-process #checkoutContent .phone-combined-input {
    width: 100% !important;
    max-width: none !important;
}
html body.ordering-process #checkoutContent .phone-combined-input .country-flags {
    min-width: 56px;
    height: 52px !important;
    justify-content: center;
    background: #ffffff !important;
    border: 1px solid var(--rekusam-accent) !important;
    border-radius: 10px !important;
}


/* --- Pokladna krok 2: oddělení sekcí, poznámka, registrace, souhlas, rekapitulace (V40) --- */
/* tenká linka mezi sekcemi (adresa, doručení, poznámka) */
html body.ordering-process #checkoutContent .co-box:is(.co-billing-address, .co-shipping-address, .co-box-additional) {
    border-top: 1px solid rgba(7, 67, 67, 0.14) !important;
    border-radius: 0 !important;
}
/* „Máte specifické požadavky…“ jako nadpis sekce; štítek „Vaše poznámka“ jen pro čtečky */
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent label.rekusam-note-heading {
    display: block !important;
    margin: 0 0 16px !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 26px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
}
html body.ordering-process #checkoutContent #note label[for="remark"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
}
/* „Vytvořit si účet“ jako samostatná volba */
html body.ordering-process #checkoutContent .co-box-additional fieldset.stay-in-touch {
    max-width: none;
    margin-top: 24px !important;
    padding: 16px 18px !important;
    background: #eef4f4 !important;
    border: 1px solid rgba(7, 67, 67, 0.16) !important;
    border-radius: 10px !important;
}
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .stay-in-touch label.whole-width {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
html body.ordering-process #checkoutContent .stay-in-touch .additional-information {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 400;
    color: #5b6770;
}
/* souhlas s podmínkami: jen text na střed nad tlačítkem Objednat */
html body.ordering-process #checkoutContent .form-group.consents {
    margin: 8px 0 18px !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    text-align: center !important;
}
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent .form-group.consents p.label {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 14px !important;
    color: #5b6770 !important;
}
/* rekapitulace: popisky stejným písmem jako částky */
html body.ordering-process #content .order-summary .price-wrapper .price-label.price-primary {
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #074343 !important;
}
html body.ordering-process #content .order-summary .price-wrapper .price-label.price-secondary {
    font-family: var(--template-font, 'Be Vietnam Pro', sans-serif) !important;
    font-weight: 500 !important;
    color: rgb(79, 85, 89) !important;
}
/* poznámka na plnou šířku bloku */
html body:is(.rekusam-kosik-rezim.in-krok-2, .rekusam-poptavka-rezim) #checkoutContent #note .form-group > .form-control-wrapper { max-width: none !important; }


/* --- PŘIHLÁŠENÍ (/login/ i okno z ikony profilu) (V41) ---
   Šablona Shoptetu změnila markup (form.login-form, .submit-wrapper, .alternative-links),
   starý styl (.formLogin / .btn-login / .password-helper) se už neuplatnil:
   bílé popisky a odkazy, nulové mezery. */
html body.in-login #content form.login-form .form-group,
html body .dialog__content form.login-form .form-group {
    margin: 0 0 18px !important;
}
html body.in-login #content form.login-form label,
html body.in-login #content form.login-form label .required-asterisk,
html body .dialog__content form.login-form label,
html body .dialog__content form.login-form label .required-asterisk {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
html body.in-login #content form.login-form label,
html body .dialog__content form.login-form label {
    margin: 0 0 6px !important;
}
html body.in-login #content form.login-form .form-control,
html body .dialog__content form.login-form .form-control {
    background-color: #ffffff !important;
    border: 1px solid #074343 !important;
    border-radius: 10px !important;
    font-size: 15px !important;
}
html body.in-login #content form.login-form .submit-wrapper,
html body .dialog__content form.login-form .submit-wrapper {
    margin: 26px 0 0 !important;
}
html body.in-login #content form.login-form .submit-wrapper .btn,
html body .dialog__content form.login-form .submit-wrapper .btn {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}
html body.in-login #content form.login-form .submit-wrapper .btn:hover,
html body .dialog__content form.login-form .submit-wrapper .btn:hover {
    background: #053030 !important;
    border-color: #053030 !important;
}
html body.in-login #content form.login-form .submit-wrapper .btn::before,
html body .dialog__content form.login-form .submit-wrapper .btn::before {
    content: "" !important;
    flex-shrink: 0;
    width: 20px !important;
    height: 20px !important;
    margin-right: 10px !important;
    background-color: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain !important;
}
html body.in-login #content form.login-form .alternative-links,
html body .dialog__content form.login-form .alternative-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: space-between !important;
    gap: 8px 16px;
    margin: 18px 0 0 !important;
}
html body.in-login #content form.login-form .alternative-links a,
html body .dialog__content form.login-form .alternative-links a {
    color: #074343 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
html body.in-login #content form.login-form .alternative-links a:hover,
html body .dialog__content form.login-form .alternative-links a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}


/* --- Přihlášení: hover odkazů Nová registrace / Zapomenuté heslo zůstává zelený (V42) --- */
html body.in-login #content form.login-form .alternative-links a:hover,
html body .dialog__content form.login-form .alternative-links a:hover { color: #053030 !important; }


/* --- REGISTRACE (/registrace/) (V43) ---
   Starý styl mířil na zastaralý markup (.formRegistration h4, input.btn-login);
   nadpisy a souhlas byly bílé a mřížka polí (auto-fit) dělala prázdné místo.
   Teď úzká karta jako přihlášení, pole pod sebou, zelené obrysy, tlačítko přes šířku. */
html body.in-registrace #content .content-inner { max-width: 520px !important; }
html body.in-registrace #content form.registration-form fieldset.box-bg-default { display: block !important; }
html body.in-registrace #content form.registration-form h2 {
    margin: 0 0 8px !important;
    color: #1a1a1a !important;
    font-family: var(--template-headings-font) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: left !important;
}
html body.in-registrace #content form.registration-form .form-legend { margin: 0 0 16px !important; text-align: left !important; }
html body.in-registrace #content form.registration-form .form-legend .required-asterisk {
    color: #5b6770 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}
html body.in-registrace #content form.registration-form .form-group { margin: 0 0 18px !important; }
html body.in-registrace #content form.registration-form label,
html body.in-registrace #content form.registration-form label .required-asterisk {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
html body.in-registrace #content form.registration-form label { margin: 0 0 6px !important; }
html body.in-registrace #content form.registration-form .form-control {
    background: #ffffff !important;
    border: 1px solid #074343 !important;
    border-radius: 10px !important;
    font-size: 15px !important;
}
html body.in-registrace #content form.registration-form > fieldset:not(.box-bg-default) {
    margin: 10px 0 0 !important;
    padding: 22px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid rgba(7, 67, 67, 0.14) !important;
}
html body.in-registrace #content form.registration-form .consents {
    margin: 0 0 4px !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
}
html body.in-registrace #content form.registration-form .consents p.label {
    margin: 0 !important;
    color: #5b6770 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
}
html body.in-registrace #content form.registration-form .consents a { color: #074343 !important; font-weight: 600 !important; }
html body.in-registrace #content form.registration-form .consents a:hover { color: #053030 !important; }
html body.in-registrace #content form.registration-form .submit-wrapper { margin: 22px 0 0 !important; }
html body.in-registrace #content form.registration-form .submit-wrapper .btn {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}
html body.in-registrace #content form.registration-form .submit-wrapper .btn:hover { background: #053030 !important; border-color: #053030 !important; }


/* --- ZAPOMENUTÉ HESLO (/klient/zapomenute-heslo/) (V44) ---
   Úvodní text (dnes mimo formulář) byl bílý, formulář měl vlastní kartu se stínem
   uvnitř karty, centrovaný štítek, „pill“ pole a obrysové tlačítko.
   Sjednoceno s přihlášením a registrací. */
html body.in-zapomenute-heslo #content .content-inner > p {
    margin: 0 0 24px !important;
    color: #5b6770 !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    text-align: center !important;
}
html body.in-zapomenute-heslo #content form#formForgottenPassword {
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
html body.in-zapomenute-heslo #content #formForgottenPassword .form-group {
    margin: 0 !important;
    align-items: stretch !important;
    text-align: left !important;
}
html body.in-zapomenute-heslo #content #formForgottenPassword .form-group label,
html body.in-zapomenute-heslo #content #formForgottenPassword .form-group label .required-asterisk {
    color: #1a1a1a !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-align: left !important;
}
html body.in-zapomenute-heslo #content #formForgottenPassword .form-group label { margin: 0 0 6px !important; }
html body.in-zapomenute-heslo #content #formForgottenPassword .form-control {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #074343 !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    text-align: left !important;
}
html body.in-zapomenute-heslo #content #formForgottenPassword .submit-wrapper { margin: 10px 0 0 !important; }
html body.in-zapomenute-heslo #content #formForgottenPassword .submit-wrapper .btn {
    width: 100% !important;
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #074343 !important;
    border: 2px solid #074343 !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font) !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}
html body.in-zapomenute-heslo #content #formForgottenPassword .submit-wrapper .btn:hover { background: #053030 !important; border-color: #053030 !important; }


/* --- ROLETKY VE FORMULÁŘÍCH (fáze projektu) — vlastní dropdown Rekusam (V45) ---
   Nativní <select> otevíral systémový (tmavě šedý) seznam bez stylů. Templates JS
   (V14) staví nad ním .rekusam-select jako u variant produktu; tady tmavá varianta
   pro zelený formulářový box. Nativní select zůstává (hodnota pro odeslání). */
.rekusam-form__box .rekusam-select { position: relative; }
.rekusam-form__box .rekusam-select > select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.rekusam-form__select-wrap:has(.rekusam-select)::after { display: none !important; }
.rekusam-form__box .rekusam-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: clamp(14px, 3.6vw, 17px) clamp(16px, 4vw, 20px);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--rekusam-line-dark);
    border-radius: var(--radius-md);
    color: var(--rekusam-on-dark);
    font-family: var(--template-font);
    font-size: var(--rekusam-fs-body);
    line-height: 1.4;
    cursor: pointer;
    transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
.rekusam-form__box .rekusam-select__trigger:hover { background: rgba(255, 255, 255, 0.1); }
.rekusam-form__box .rekusam-select__trigger:focus-visible,
.rekusam-form__box .rekusam-select.is-open .rekusam-select__trigger {
    outline: none;
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--rekusam-red);
    box-shadow: 0 0 0 3px rgba(227, 0, 27, 0.18);
}
.rekusam-form__box .rekusam-select__label {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: var(--rekusam-on-dark) !important;
}
.rekusam-form__box .rekusam-select__chevron {
    flex: none;
    width: 18px;
    height: 18px;
    color: var(--rekusam-on-dark);
    transition: transform 0.25s ease;
}
.rekusam-form__box .rekusam-select__chevron svg { display: block; width: 100%; height: 100%; }
.rekusam-form__box .rekusam-select.is-open .rekusam-select__chevron { transform: rotate(180deg); }
.rekusam-form__box .rekusam-select__panel {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    padding: 6px;
    background: #0b4f4b;
    border: 1px solid var(--rekusam-line-dark);
    border-radius: var(--radius-md);
    box-shadow: 0 24px 48px -16px rgba(0, 0, 0, 0.55);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-6px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}
.rekusam-form__box .rekusam-select.is-open .rekusam-select__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}
.rekusam-form__box .rekusam-select__option {
    padding: 11px 14px;
    border-radius: 10px;
    color: rgba(255, 255, 255, 0.86) !important;
    font-size: var(--rekusam-fs-body);
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.rekusam-form__box .rekusam-select__option:hover { background: rgba(255, 255, 255, 0.08); color: #ffffff !important; }
.rekusam-form__box .rekusam-select__option.is-selected {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff !important;
    font-weight: 600;
}


/* =====================================================================
   POPTÁVKOVÝ KOŠÍK (popup) — sjednocení s košíkem (V46, k JS core V12)
   ===================================================================== */
/* šířka jako košík */
.rekusam-poptavka-popup .rekusam-poptavka-container { max-width: 1040px; }

/* hlavička: nadpis + počet vlevo, tichý odkaz „← Zpět do obchodu" vpravo */
.rekusam-poptavka-popup .rekusam-poptavka-popup-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 16px;
    align-items: center;
}
.rekusam-poptavka-popup .rekusam-poptavka-popup-header h1,
.rekusam-poptavka-popup .rekusam-poptavka-count { grid-column: 1; }
.rekusam-poptavka-popup .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    margin: 0;
    padding: 6px 2px;
    gap: 8px;
    background: none;
    border: 0;
    border-radius: 0;
    font-family: var(--template-font, inherit);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    color: #074343 !important;
    transform: none;
}
.rekusam-poptavka-popup .rekusam-poptavka-close-btn span { color: inherit !important; }
.rekusam-poptavka-popup .rekusam-poptavka-close-btn::before { transition: transform 0.2s ease; }
.rekusam-poptavka-popup .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn:hover {
    background: none;
    color: #053030 !important;
    transform: none;
}
.rekusam-poptavka-popup .rekusam-poptavka-close-btn:hover span { color: #053030 !important; }
.rekusam-poptavka-popup .rekusam-poptavka-close-btn:hover::before { transform: translateX(-3px); }

/* položka: obrázek | název + varianta | součet; pod tím počet + Odebrat */
.rekusam-poptavka-popup .rekusam-poptavka-item {
    grid-template-columns: var(--pop-img) minmax(0, 1fr) auto;
    grid-template-areas:
        "img info    total"
        "img actions actions";
    align-items: start;
    column-gap: clamp(14px, 2vw, 20px);
    row-gap: 12px;
}
.rekusam-poptavka-popup .rekusam-poptavka-item-img-wrapper { grid-area: img; }
.rekusam-poptavka-popup .rekusam-poptavka-item-info { grid-area: info; gap: 4px; }
.rekusam-poptavka-popup .rekusam-poptavka-item-variant { font-size: 13px; color: var(--rekusam-muted) !important; }
.rekusam-poptavka-popup .rekusam-poptavka-line-total {
    grid-area: total;
    min-width: 0;
    align-items: flex-end;
    text-align: right;
}
.rekusam-poptavka-popup .rekusam-poptavka-line-s {
    font-size: 17px;
    font-weight: 700;
    color: var(--rekusam-ink) !important;
    white-space: nowrap;
}
.rekusam-poptavka-popup .rekusam-poptavka-line-bez,
.rekusam-poptavka-popup .rekusam-poptavka-line-unit {
    font-size: 12px;
    font-weight: 500;
    color: var(--rekusam-muted) !important;
    white-space: nowrap;
}
.rekusam-poptavka-popup .rekusam-poptavka-item-actions {
    grid-area: actions;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: auto;
    padding-top: 0;
    border-top: 0;
}
.rekusam-poptavka-popup .rekusam-poptavka-qty-control { border-color: var(--rekusam-accent); }
.rekusam-poptavka-popup .rekusam-poptavka-remove {
    width: auto;
    height: auto;
    padding: 4px 0;
    background: none;
    border: 0;
    border-radius: 0;
    font-family: var(--template-font, inherit);
    font-size: 13px;
    font-weight: 600;
    color: var(--rekusam-muted) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.rekusam-poptavka-popup .rekusam-poptavka-remove:hover {
    background: none;
    border: 0;
    color: var(--rekusam-danger, #e11900) !important;
    transform: none;
}
/* úzká karta: přebije starší @container pravidlo (grid 1fr + čárkovaná linka) */
@container rekusamitems (max-width: 680px) {
    .rekusam-poptavka-popup .rekusam-poptavka-item { grid-template-columns: var(--pop-img) minmax(0, 1fr) auto; }
    .rekusam-poptavka-popup .rekusam-poptavka-item-actions { width: auto; padding-top: 0; border-top: 0; justify-content: space-between; }
}
/* telefon: součet pod názvem */
@container rekusamitems (max-width: 440px) {
    .rekusam-poptavka-popup .rekusam-poptavka-item {
        grid-template-columns: var(--pop-img) minmax(0, 1fr);
        grid-template-areas:
            "img info"
            "img total"
            "actions actions";
    }
    .rekusam-poptavka-popup .rekusam-poptavka-line-total { align-items: flex-start; text-align: left; }
}

/* souhrn: hlavní cena s DPH, pod ní bez DPH a poznámka o orientační ceně */
.rekusam-poptavka-popup .rekusam-poptavka-total-main span {
    font-size: 15px;
    font-weight: 600;
    color: var(--rekusam-ink-soft) !important;
}
.rekusam-poptavka-popup .rekusam-poptavka-total-main strong {
    font-family: var(--template-headings-font, 'Montserrat', sans-serif);
    font-size: var(--pop-fs-total);
    font-weight: 800;
    color: var(--rekusam-accent) !important;
    white-space: nowrap;
}
.rekusam-poptavka-popup .rekusam-poptavka-total-sub span { font-size: 13px; color: var(--rekusam-muted) !important; }
.rekusam-poptavka-popup .rekusam-poptavka-total-sub strong {
    font-size: 14px;
    font-weight: 600;
    color: var(--rekusam-ink-soft) !important;
    white-space: nowrap;
}
.rekusam-poptavka-popup .rekusam-poptavka-total-note {
    margin: 12px 0 0;
    padding-top: 12px;
    border-top: 1px dashed var(--rekusam-line);
    font-size: 13px;
    line-height: 1.45;
    color: var(--rekusam-muted) !important;
}


/* --- Poptávka: „Zpět do obchodu" na řádku s počtem položek, šipka jako v košíku (V47) --- */
.rekusam-poptavka-popup .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn {
    grid-row: 2;
    gap: 0;
}
.rekusam-poptavka-popup .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn::before {
    content: "";
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%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' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rekusam-poptavka-popup .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn span { margin-left: 0.28em; }


/* --- Poptávka: počet položek svisle na střed s odkazem Zpět (V48) ---
   globální spodní okraj odstavce posouval text nad osu odkazu */
.rekusam-poptavka-popup .rekusam-poptavka-popup-header .rekusam-poptavka-count { grid-row: 2; align-self: center; margin: 0 !important; }


/* =====================================================================
   POPTÁVKA — KROK 2 (/objednavka/krok-2/ v režimu poptávky) + ČERVENÁ (V49, k JS core V14)
   Košík = zelená, poptávka = červená (barva poptávky na webu).
   ===================================================================== */
/* --- jedna vycentrovaná kolona 760 px (dřív karta ~370 px vpravo od levého sloupce) --- */
html body.rekusam-poptavka-rezim.in-krok-2 #content-wrapper .content-wrapper-in {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 .content-wrapper-in > main#content {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    margin-left: 0 !important;
    padding-top: 12px !important;
}
@media (max-width: 991px) {
    html body.rekusam-poptavka-rezim.in-krok-2 #content-wrapper {
        padding-left: 2.5vw !important;
        padding-right: 2.5vw !important;
    }
}

/* --- řádek nad kartou: nadpis „Projektová poptávka" vlevo, „← Zpět do obchodu" vpravo --- */
html body.rekusam-poptavka-rezim.in-krok-2 .content-wrapper-in > .sidebar-left {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: clamp(20px, 4vw, 48px) 20px 0 !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left h1.rekusam-poptavka-page-title {
    margin: 0 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(26px, 3.2vw, 36px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #ffffff !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left .toggle-window-arr {
    flex-shrink: 0;
    margin: 0 !important;
    padding: 6px 2px !important;
    gap: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-family: var(--template-body-font, inherit) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    transform: none !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left .toggle-window-arr span { color: inherit !important; margin-left: 0.28em !important; }
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left .toggle-window-arr::before {
    width: 16px !important;
    height: 16px !important;
    margin-right: 8px !important;
    transition: transform 0.2s ease;
}
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left .toggle-window-arr:hover,
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left .toggle-window-arr:hover span {
    background: none !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transform: none !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 .sidebar-left .toggle-window-arr:hover::before { transform: translateX(-3px); }
/* (V50) „Zpět do obchodu" už se na mobilu nedává NAD nadpis — zalomí se POD něj (flex-wrap v bloku
   „KROK 2 — SAMOSTATNÉ KARTY" níže), text se nezkracuje. */

/* --- souhrn poptávky = první karta (neutrální bílá; dřív červený box působil jako chybová hláška).
       Pozadí, okraje a stín karty viz blok „KROK 2 — SAMOSTATNÉ KARTY". --- */
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn {
    margin: 0 0 16px;
    padding: clamp(20px, 3.2vw, 32px);
    background: #ffffff;
    border: 0;
    border-radius: 15px;
}
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn h2 {
    margin: 0 0 12px !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #1a1a1a !important;
}
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn ul { list-style: none; margin: 0; padding: 0; }
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-top: 1px solid #e6eaec;
    font-size: 15px;
}
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn li:first-child { padding-top: 0; border-top: 0; }
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn span.rekusam-poptavka-souhrn-name { font-weight: 600; color: #1a1a1a !important; }
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn span.rekusam-poptavka-souhrn-name em {
    display: block;
    margin-top: 2px;
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    color: #5b6770 !important;
}
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn span.rekusam-poptavka-souhrn-qty { white-space: nowrap; font-weight: 600; color: #2b3640 !important; }
html body.rekusam-poptavka-rezim #checkoutContent .rekusam-poptavka-souhrn p {
    margin: 14px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: #5b6770 !important;
}

/* --- „* Povinná pole" byla bílá na bílé kartě --- */
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .form-legend,
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .form-legend .required-asterisk { color: #5b6770 !important; }

/* --- tlačítka dole: „Odeslat poptávku" (červené) přes šířku, pod ním „Upravit položky" --- */
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .next-step--step-2 {
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    gap: 12px !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .next-step--step-2 .next-step-back,
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .next-step--step-2 #poptavka-fake-btn {
    width: 100% !important;
    margin: 0 !important;
    justify-content: center !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent #poptavka-fake-btn {
    background: #e3001b !important;
    border-color: #e3001b !important;
    color: #ffffff !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent #poptavka-fake-btn:hover { background: #b80014 !important; border-color: #b80014 !important; }
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .next-step--step-2 .next-step-back {
    background: transparent !important;
    border-color: #e3001b !important;
    color: #e3001b !important;
}
html body.rekusam-poptavka-rezim.in-krok-2 #checkoutContent .next-step--step-2 .next-step-back:hover {
    background: #e3001b !important;
    color: #ffffff !important;
}

/* --- poptávkový košík (popup) v červené; .is-cart si drží vlastní variantu --- */
.rekusam-poptavka-popup:not(.is-cart) {
    --rekusam-accent:        #e3001b;
    --rekusam-accent-dark:   #b80014;
    --rekusam-accent-soft:   rgba(227, 0, 27, 0.08);
    --rekusam-accent-border: rgba(227, 0, 27, 0.35);
}
.rekusam-poptavka-popup:not(.is-cart) .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn,
.rekusam-poptavka-popup:not(.is-cart) .rekusam-poptavka-popup-header .rekusam-poptavka-close-btn:hover,
.rekusam-poptavka-popup:not(.is-cart) .rekusam-poptavka-close-btn:hover span { color: #e3001b !important; }


/* =====================================================================
   KROK 2 — SAMOSTATNÉ KARTY (košík i poptávka) (V50, k JS core V15)
   Místo jedné velké bílé karty má každý blok vlastní kartu na zeleném pozadí.
   Akcent: košík = zelená, poptávka = červená (nadpisy sekcí, tlačítka).
   ===================================================================== */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) { --k2-accent: #074343; --k2-accent-dark: #053030; }
html body.in-krok-2.rekusam-poptavka-rezim { --k2-accent: #e3001b; --k2-accent-dark: #b80014; }

/* --- velká karta (form) pryč: bez pozadí, rámečku a stínu --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) form#order-form {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* --- jednotlivé karty --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent > :is(.rekusam-poptavka-souhrn, .co-contact-information, .co-billing-address, .co-box-additional),
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent > .order-summary {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 15px !important;
    padding: clamp(20px, 3.2vw, 32px) !important;
    margin: 0 0 16px !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
}

/* --- souhlas + tlačítka = jedna karta (dvě části napojené na sebe) --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent > .consents {
    background: #ffffff !important;
    border-radius: 15px 15px 0 0 !important;
    padding: clamp(20px, 3.2vw, 32px) clamp(20px, 3.2vw, 32px) 10px !important;
    margin: 0 !important;
}
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent > .next-step--step-2 {
    background: #ffffff !important;
    border-top: 0 !important;
    border-radius: 0 0 15px 15px !important;
    padding: 10px clamp(20px, 3.2vw, 32px) clamp(20px, 3.2vw, 32px) !important;
    margin: -1px 0 0 !important;                      /* překryv 1 px = bez švu na zlomkovém pixelu */
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    clip-path: inset(0 -80px -80px -80px) !important; /* stín nepřetéká nahoru přes souhlas */
}
/* souhlas zarovnaný doleva — odkazy začínají na kraji řádku */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent .consents p.label { text-align: left !important; }

/* --- nadpisy sekcí: stejná velikost, barva akcentu --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent > * h2,
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent label.rekusam-note-heading {
    color: var(--k2-accent) !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    margin: 0 0 14px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
}

/* --- šedé pomocné texty (globální span{color:white} je dělal neviditelné) --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent .form-legend,
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent .form-legend .required-asterisk,
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent span.additional-information { color: #5b6770 !important; }
/* „* Povinná pole" vlevo (Shoptet ho dává doprava) */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent .form-legend { text-align: left !important; }

/* --- „Vytvořit si účet" přesunuté do Osobních údajů (JS core V15) --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent fieldset.co-contact-information > .form-group.rekusam-reg-moved {
    padding-top: 22px !important;
    margin-bottom: 0 !important;
}
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent label .rekusam-reg-strong { font-weight: 700 !important; color: #1a1a1a !important; }

/* --- tlačítka dole: stejná výška, písmo i velikost --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent .next-step--step-2 :is(.next-step-back, .next-step-finish, #poptavka-fake-btn) {
    min-height: 52px !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(12px, 1.1rem + 0.35vw, 14px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) #order-form #checkoutContent #poptavka-fake-btn .order-button-text::after,
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent #submit-order :is(.order-button-text, .order-button-suffix) {
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(12px, 1.1rem + 0.35vw, 14px) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}
/* „Objednat s povinností platby" na jednom řádku (§ 1826a OZ — tlačítko musí vyjadřovat povinnost platby) */
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent #submit-order {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    column-gap: 0.35em !important;
    text-align: center !important;
}
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent #submit-order .order-button-text { display: inline !important; width: auto !important; color: #ffffff !important; }
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent #submit-order .order-button-suffix { display: inline !important; color: #ffffff !important; }
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent #submit-order :is(.order-button-text, .order-button-suffix) {
    line-height: 1.2 !important;
    margin: 0 !important;                              /* Shoptet: suffix margin-top −6px, padding-bottom 11px */
    padding: 0 !important;
    vertical-align: middle !important;
}

/* --- rekapitulace (košík): „Celkem k úhradě" se na mobilu nevešlo (pevná mřížka 162 + 126 px) --- */
html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent .order-summary .price-wrapper {
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: 12px !important;
}
@media (max-width: 479px) {
    html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent .order-summary .price-label.price-primary { font-size: 16px !important; }
    html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent .order-summary .price.price-primary,
    html body.in-krok-2.rekusam-kosik-rezim #order-form #checkoutContent .order-summary .price.price-primary span { font-size: 20px !important; }
}

/* --- „Zpět do obchodu" vždy celé; když se vedle nadpisu nevejde, zalomí se pod něj --- */
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) .sidebar-left .toggle-window-arr { white-space: nowrap !important; }
html body.in-krok-2:is(.rekusam-kosik-rezim, .rekusam-poptavka-rezim) .sidebar-left .toggle-window-arr span { display: inline !important; }
html body.in-krok-2.rekusam-poptavka-rezim .content-wrapper-in > .sidebar-left {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    row-gap: 6px !important;
}


/* =====================================================================
   KLIENTSKÉ CENTRUM — SJEDNOCENÍ S POKLADNOU (V51)
   Samostatné bílé karty na zeleném pozadí, zelené nadpisy sekcí, pole jako
   v kroku 2 pokladny. Přebíjí starší PDZ blok „NASTAVENÍ MÉHO ÚČTU" výše
   (ten cílil nadpisy na h4 — Shoptet teď renderuje h2 → bílé na bílé).
   ===================================================================== */

/* --- obsah širší (formulář byl jen 440 px) --- */
html body:has(.client-center-box) #content.content { max-width: 820px !important; }

/* --- velká karta formuláře pryč → sekce jako samostatné karty --- */
html body:has(.client-center-box) #content :is(form#register-form, .content-inner > form) {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
html body:has(.client-center-box) #content form > :is(.co-box, fieldset):not(:empty):not(.js-hidden:not(.visible)),
html body:has(.client-center-box) #content .content-inner > .shipping-addresses {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 15px !important;
    padding: clamp(20px, 3.2vw, 32px) !important;
    margin: 0 0 16px !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
}
/* poslední sekce + „Uložit" = jedna karta (napojené části, jako souhlas + tlačítka v pokladně) */
html body:has(.client-center-box) #content form > :is(.co-box, fieldset):not(:empty):not(.js-hidden:not(.visible)):has(+ .submit-wrapper) {
    border-radius: 15px 15px 0 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 8px !important;
}
html body:has(.client-center-box) #content form > .submit-wrapper {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 0 15px 15px !important;
    margin: -1px 0 16px !important;
    padding: 8px clamp(20px, 3.2vw, 32px) clamp(20px, 3.2vw, 32px) !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    clip-path: inset(0 -80px -80px -80px) !important;
}
/* „Uložit" / „Odeslat" = hlavní zelené tlačítko (submit-wrapper bývá i uvnitř fieldsetu) */
html body:has(.client-center-box) #content form .submit-wrapper .btn {
    width: 100% !important;
    min-height: 52px !important;
    background: #074343 !important;
    border: 2px solid #074343 !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(12px, 1.1rem + 0.35vw, 14px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body:has(.client-center-box) #content form .submit-wrapper .btn:hover { background: #053030 !important; border-color: #053030 !important; }

/* --- nadpisy sekcí (h2 i h4) zeleně --- */
html body:has(.client-center-box) #content :is(form, .shipping-addresses) :is(h2, h4) {
    color: #074343 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
}

/* --- „* Povinná pole": vlevo, šedě, jediná hvězdička --- */
html body:has(.client-center-box) #content .form-legend,
html body:has(.client-center-box) #content .form-legend .required-asterisk { color: #5b6770 !important; text-align: left !important; }
html body:has(.client-center-box) #content .form-legend .required-asterisk::after { content: none !important; }

/* --- štítky a pole jako v pokladně --- */
html body:has(.client-center-box) #content .form-group label,
html body:has(.client-center-box) #content .form-group label span:not(.required-asterisk) { color: #1a1a1a !important; font-size: 14px !important; font-weight: 600 !important; }
html body:has(.client-center-box) #content :is(input, textarea, select).form-control {
    border: 1px solid rgba(7, 67, 67, 0.24) !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    font-size: 15px !important;
    box-shadow: none !important;
    background-color: #ffffff !important;
}
html body:has(.client-center-box) #content .form-control:hover { border-color: rgba(7, 67, 67, 0.45) !important; }
html body:has(.client-center-box) #content .form-control:focus,
html body:has(.client-center-box) #content .form-control:focus-visible { border-color: #074343 !important; box-shadow: 0 0 0 3px rgba(7, 67, 67, 0.12) !important; }
html body:has(.client-center-box) #content select.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23074343' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
    background-size: 12px 8px !important;
    padding-right: 40px !important;
}

/* pole širší (Shoptet je drží na 440 px) — stejně jako v pokladně */
html body:has(.client-center-box) #content .form-group > .form-control-wrapper {
    width: 100% !important;
    max-width: 560px !important;
}

/* --- zaškrtávátka: kroužek (label::before) zajížděl do textu (starý blok dával labelu padding 0) --- */
html body:has(.client-center-box) #content .form-group > input:is([type="checkbox"], [type="radio"]) + label {
    position: relative !important;
    padding-left: 32px !important;
    font-weight: 500 !important;
}

/* --- doručovací adresy (prázdný stav) --- */
html body:has(.client-center-box) #content .shipping-addresses p { color: #5b6770 !important; margin: 0 0 14px !important; }
html body:has(.client-center-box) #content .shipping-addresses p:last-child { margin-bottom: 0 !important; }

/* --- postranní menu: název zóny jako nadpis, „Odhlásit se" dolů jako nenápadný odkaz --- */
html body:has(.client-center-box) .client-center-box li:first-child > a:not(.btn) {
    background: none !important;
    color: #074343 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 4px 12px 10px !important;
    pointer-events: auto !important;
}
html body:has(.client-center-box) .client-center-box li.active:first-child > a:not(.btn) { background: none !important; color: #074343 !important; }
html body:has(.client-center-box) #content fieldset > .submit-wrapper { margin-top: 8px !important; }
html body:has(.client-center-box) .client-center-box li.logout {
    order: 99 !important;
    margin-top: 8px !important;
    padding-top: 10px !important;
    border-top: 1px solid #e6eaec !important;
}
html body:has(.client-center-box) .client-center-box li.logout a.btn {
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 0 !important;
    background: none !important;
    color: #5b6770 !important;
    font-family: var(--template-font, inherit) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
html body:has(.client-center-box) .client-center-box li.logout a.btn:hover { background: none !important; color: #074343 !important; }

/* --- stránky se seznamy (přehled, objednávky/poptávky, platby, doklady…): celý .content-inner byl
       jedna bílá karta s černým H1 uvnitř → nadpis nad kartou jako u Osobních údajů, obsah v kartě --- */
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    filter: drop-shadow(0 18px 30px rgba(17, 24, 28, 0.10));
}
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 { color: #ffffff !important; margin: 0 0 clamp(1rem, 3vw, 1.75rem) !important; }
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 ~ * {
    background: #ffffff !important;
    margin: 0 !important;
    padding-left: clamp(20px, 3.2vw, 32px) !important;
    padding-right: clamp(20px, 3.2vw, 32px) !important;
}
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 + * { border-radius: 15px 15px 0 0 !important; padding-top: clamp(20px, 3.2vw, 32px) !important; }
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 ~ :last-child { border-radius: 0 0 15px 15px !important; padding-bottom: clamp(20px, 3.2vw, 32px) !important; }
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 + :last-child { border-radius: 15px !important; }
/* prázdný div.client-link na začátku karty tvořil šev (tenkou linku) — pryč; části karty se o 1 px překrývají */
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > .client-link:not(:has(*)) { display: none !important; }
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 ~ * ~ * { margin-top: -1px !important; }
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 + .client-link:not(:has(*)) + * { border-radius: 15px 15px 0 0 !important; padding-top: clamp(20px, 3.2vw, 32px) !important; margin-top: 0 !important; }
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h1 + .client-link:not(:has(*)) + :last-child { border-radius: 15px !important; }

/* --- telefon: pole bylo pevně 124 px (třída .small), vlajka bez rámečku --- */
html body:has(.client-center-box) #content .phone-combined-input { display: flex !important; gap: 8px !important; align-items: stretch !important; }
html body:has(.client-center-box) #content .phone-combined-input #phone { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; }
html body:has(.client-center-box) #content .phone-combined-input .country-flags {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding: 0 12px !important;
    background: #ffffff !important;
    border: 1px solid rgba(7, 67, 67, 0.24) !important;
    border-radius: 10px !important;
}

/* --- mobil --- */
@media (max-width: 767px) {
    html body:has(.client-center-box) #content .shipping-addresses a.btn { width: 100% !important; }
}

/* --- od 992 px menu vždy VEDLE obsahu (na ~1050 px se dřív obsah zalomil pod menu) --- */
@media (min-width: 992px) {
    html body:has(.client-center-box) .content-wrapper-in { flex-wrap: nowrap !important; }
    html body:has(.client-center-box) #content.content { flex: 1 1 0% !important; min-width: 0 !important; }
}

/* --- roletka menu (do 991 px): tlačítko s aktuální stránkou, seznam po kliknutí (JS core V16) --- */
html body:has(.client-center-box) .client-center-box .rekusam-cc-toggle { display: none; }
@media (max-width: 991px) {
    html body:has(.client-center-box) .content-wrapper-in > .sidebar-left { flex: 1 1 100% !important; max-width: none !important; }
    html body:has(.client-center-box) .client-center-box { padding: 6px !important; }
    html body:has(.client-center-box) .client-center-box .rekusam-cc-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        width: 100%;
        padding: 10px 14px;
        background: none;
        border: 0;
        cursor: pointer;
        text-align: left;
    }
    html body:has(.client-center-box) .client-center-box .rekusam-cc-toggle-label {
        display: flex;
        flex-direction: column;
        gap: 2px;
        color: #074343 !important;
        font-family: var(--template-headings-font, Montserrat, sans-serif);
        font-size: 15px;
        font-weight: 700;
        line-height: 1.25;
    }
    html body:has(.client-center-box) .client-center-box .rekusam-cc-toggle-label::before {
        content: "Zákaznická zóna";
        color: #5b6770;
        font-family: var(--template-font, inherit);
        font-size: 12px;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }
    html body:has(.client-center-box) .client-center-box .rekusam-cc-toggle-sipka {
        flex: 0 0 auto;
        width: 10px;
        height: 10px;
        margin-right: 4px;
        border-right: 2px solid #074343;
        border-bottom: 2px solid #074343;
        transform: rotate(45deg) translateY(-3px);
        transition: transform 0.2s ease;
    }
    html body:has(.client-center-box) .client-center-box.is-open .rekusam-cc-toggle-sipka { transform: rotate(-135deg) translateY(-3px); }
    html body:has(.client-center-box) .client-center-box:not(.is-open) ul { display: none !important; }
    html body:has(.client-center-box) .content-wrapper-in > .sidebar-left { margin-bottom: 12px !important; }
    html body:has(.client-center-box) .client-center-box li a:not(.btn) { font-size: 15px !important; padding: 10px 12px !important; text-align: left !important; }
    html body:has(.client-center-box) .client-center-box.is-open ul {
        margin-top: 4px !important;
        padding: 8px 4px 4px !important;
        border-top: 1px solid #e6eaec !important;
    }
}

/* --- (V52) mobil: obsah zóny přetékal za okraj displeje. Wrapper je do 991 px flex-column,
       takže flex-basis 100 % platil pro výšku a šířka sloupce se řídila obsahem (fieldset má
       min-inline-size: min-content). → explicitní šířka 100 % a min-width 0. --- */
html body:has(.client-center-box) #content.content { min-width: 0 !important; }
html body:has(.client-center-box) #content fieldset { min-width: 0 !important; min-inline-size: 0 !important; }
@media (max-width: 991px) {
    html body:has(.client-center-box) .content-wrapper-in > :is(.sidebar-left, #content.content) {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        align-self: stretch !important;
    }
}

/* --- (V53) menší okraje: menu i karty lícují; na mobilu 12 px od kraje displeje
       (dřív wrapper ~38 px + odsazení hlavního sloupce 20 px na každé straně) --- */
@media (max-width: 991px) {
    html body:has(.client-center-box) .content-wrapper-in { padding-left: 0 !important; padding-right: 0 !important; }
    html body:has(.client-center-box) #content.content { padding-left: 0 !important; padding-right: 0 !important; }
    html body:has(.client-center-box) .sidebar-left > .sidebar-inner { padding: 0 !important; }
}
@media (max-width: 767px) {
    html body:has(.client-center-box) #content-wrapper { padding-left: 12px !important; padding-right: 12px !important; }
}


/* =====================================================================
   DĚKOVNÁ STRÁNKA (/objednavka/dekujeme/) (V54, k JS core V17)
   Jedna vycentrovaná kolona 760 px: potvrzení (bílé na zeleném), pod ním
   samostatné bílé karty jako v kroku 2 a klientském centru.
   Akcent: objednávka = zelená, poptávka = červená
   (body.rekusam-dekujeme-poptavka — JS core V17 podle dopravy „Projektová poptávka").
   ===================================================================== */
html body.in-dekujeme { --dk-accent: #074343; --dk-accent-dark: #053030; --dk-tint: #eef4f4; }
html body.in-dekujeme.rekusam-dekujeme-poptavka { --dk-accent: #e3001b; --dk-accent-dark: #b80014; --dk-tint: #fdf3f4; }

/* --- kolona --- */
html body.in-dekujeme #content-wrapper .content-wrapper-in {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 auto !important;
}
html body.in-dekujeme .content-wrapper-in > .sidebar-left { display: none !important; }
html body.in-dekujeme .content-wrapper-in > main#content {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: clamp(28px, 5vw, 56px) 0 clamp(40px, 6vw, 72px) !important;
}
@media (max-width: 991px) {
    html body.in-dekujeme #content-wrapper { padding-left: 12px !important; padding-right: 12px !important; }
}

/* --- potvrzení nahoře --- */
html body.in-dekujeme #content h1.order-summary-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    text-align: center !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(28px, 3.6vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #ffffff !important;
}
html body.in-dekujeme #content h1.order-summary-heading::before {
    content: "" !important;
    display: block !important;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23074343' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 30px no-repeat;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
}
html body.in-dekujeme.rekusam-dekujeme-poptavka #content h1.order-summary-heading::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e3001b' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
html body.in-dekujeme #content .reca-number {
    margin: 0 0 clamp(24px, 3.5vw, 36px) !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.82) !important;
}
html body.in-dekujeme #content .reca-number strong { color: #ffffff !important; font-weight: 700 !important; }
html body.in-dekujeme #content .reca-number .rekusam-dk-sub { display: block; margin-top: 4px; }

/* --- karty --- */
html body.in-dekujeme #content .recapitulation-wrapper { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
html body.in-dekujeme #content .co-box {
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 15px !important;
    padding: clamp(20px, 3.2vw, 32px) !important;
    margin: 0 0 16px !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    color: #2b3640 !important;
}
html body.in-dekujeme #content .co-box h4 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    color: var(--dk-accent) !important;
}
html body.in-dekujeme #content .co-box h4.order-icon::before { display: none !important; content: none !important; }

/* --- platba a doručení: řádky štítek / hodnota (flex — Shoptet tabulky na mobilu láme do bloků) --- */
html body.in-dekujeme #content .co-payment-method .row { display: block !important; margin: 0 !important; }
html body.in-dekujeme #content .co-payment-method table.recapitulation-table,
html body.in-dekujeme #content .co-payment-method table.recapitulation-table tbody {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
    background: none !important;
}
html body.in-dekujeme #content .co-payment-method table.recapitulation-table tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 16px !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-top: 1px solid #edf0f2 !important;
    background: none !important;
}
html body.in-dekujeme #content .co-payment-method table.recapitulation-table tr:first-child { border-top: 0 !important; }
html body.in-dekujeme #content .co-payment-method table.recapitulation-table :is(th, td) {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}
html body.in-dekujeme #content .co-payment-method table.recapitulation-table th { font-weight: 500 !important; color: #5b6770 !important; text-align: left !important; }
html body.in-dekujeme #content .co-payment-method table.recapitulation-table td { text-align: right !important; color: #1a1a1a !important; }
html body.in-dekujeme #content .co-payment-method table.recapitulation-table td strong { font-weight: 700 !important; color: #1a1a1a !important; }
/* druhá tabulka = údaje k platbě (účet, VS) → podbarvený box */
html body.in-dekujeme #content .co-payment-method table.recapitulation-table + table.recapitulation-table {
    margin-top: 14px !important;
    padding: 4px 18px !important;
    background: var(--dk-tint) !important;
    border-radius: 10px !important;
}
html body.in-dekujeme #content .co-payment-method table.recapitulation-table + table.recapitulation-table tr { border-top-color: rgba(7, 67, 67, 0.1) !important; }

/* --- obsah objednávky: obrázek | název + varianta | počet | cena --- */
html body.in-dekujeme #content .co-order table.cart-table { width: 100% !important; margin: 0 !important; border: 0 !important; background: none !important; }
html body.in-dekujeme #content .co-order table.cart-table tbody { display: block !important; }
html body.in-dekujeme #content .co-order table.cart-table tr {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) auto auto;
    align-items: center;
    column-gap: 18px;
    padding: 14px 0 !important;
    border: 0 !important;
    border-top: 1px solid #edf0f2 !important;
    background: none !important;
}
html body.in-dekujeme #content .co-order table.cart-table tr:first-child { padding-top: 0 !important; border-top: 0 !important; }
html body.in-dekujeme #content .co-order table.cart-table td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #2b3640 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
}
html body.in-dekujeme #content .co-order td.cart-p-image img {
    display: block !important;
    width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    border: 1px solid #edf0f2 !important;
    border-radius: 10px !important;
    background: #ffffff !important;
}
html body.in-dekujeme #content .co-order td.p-name { font-size: 13px !important; color: #5b6770 !important; }
html body.in-dekujeme #content .co-order td.p-name [data-testid="recapItemName"],
html body.in-dekujeme #content .co-order td.p-name a {
    display: block;
    margin-bottom: 2px;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
}
html body.in-dekujeme #content .co-order td.p-name br { display: none !important; }
html body.in-dekujeme #content .co-order td.p-quantity { white-space: nowrap !important; color: #5b6770 !important; }
html body.in-dekujeme #content .co-order td.p-quantity :is(span, strong) { display: none !important; } /* „/ 111 078 Kč" = jednotková cena, stačí cena vpravo */
html body.in-dekujeme #content .co-order td.p-price { white-space: nowrap !important; text-align: right !important; font-weight: 700 !important; color: #1a1a1a !important; }
@media (max-width: 599px) {
    html body.in-dekujeme #content .co-order table.cart-table tr {
        grid-template-columns: 56px minmax(0, 1fr) auto;
        grid-template-areas: "img name name" "img qty price";
        row-gap: 6px;
        column-gap: 14px;
    }
    html body.in-dekujeme #content .co-order td.cart-p-image { grid-area: img; align-self: start; }
    html body.in-dekujeme #content .co-order td.cart-p-image img { width: 56px !important; height: 56px !important; }
    html body.in-dekujeme #content .co-order td.p-name { grid-area: name; }
    html body.in-dekujeme #content .co-order td.p-quantity { grid-area: qty; }
    html body.in-dekujeme #content .co-order td.p-price { grid-area: price; }
}

/* --- poznámka + odkazy pod kartami (na zeleném) --- */
html body.in-dekujeme #content .order-summary-item {
    display: block !important;
    font-weight: 400 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    text-align: center !important;
}
html body.in-dekujeme #content .order-summary-item.total { margin-top: 8px !important; font-size: 14px !important; color: rgba(255, 255, 255, 0.78) !important; }
html body.in-dekujeme #content .order-summary-item.summary-thx { display: none !important; } /* „Děkujeme!" — nahoře už je */
html body.in-dekujeme #content .order-complete-links { margin: 22px 0 0 !important; text-align: center !important; }
html body.in-dekujeme #content .order-complete-links p { margin: 0 0 14px !important; color: rgba(255, 255, 255, 0.5) !important; font-size: 14px !important; }
html body.in-dekujeme #content .order-complete-links .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 34px !important;
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: var(--dk-accent) !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}
html body.in-dekujeme #content .order-complete-links .btn:hover { background: transparent !important; color: #ffffff !important; }
html body.in-dekujeme #content .order-complete-links p a:not(.btn) {
    margin: 0 6px !important;
    white-space: nowrap !important;
    color: rgba(255, 255, 255, 0.85) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
html body.in-dekujeme #content .order-complete-links p a:not(.btn):hover { color: #ffffff !important; text-decoration: underline !important; }

/* --- poptávka: bez platebních údajů, místo nich věta o nabídce (JS core V17) --- */
html body.in-dekujeme.rekusam-dekujeme-poptavka #content .co-payment-method { display: none !important; }
html body.in-dekujeme #content .rekusam-dk-info { margin: 14px 0 0 !important; padding: 14px 18px !important; background: var(--dk-tint) !important; border-radius: 10px !important; font-size: 14px !important; line-height: 1.5 !important; color: #2b3640 !important; }

/* =====================================================================
   KLIENTSKÉ CENTRUM — SEZNAM OBJEDNÁVEK / POPTÁVEK (V54)
   Tabulka o 7 sloupcích se do karty nevešla (přetékala vpravo) a datum, stav
   a štítky byly bílé na bílé. → každá objednávka = řádek seznamu:
   číslo + datum | stav | cena s DPH + bez DPH; celý řádek je odkaz na detail.
   Platí i pro „Poslední objednávky" na přehledu /klient/ (tabulka bez třídy → :has odkazu na detail).
   ===================================================================== */
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])),
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
}
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) { padding-bottom: 8px !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) thead { display: none !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody tr {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(110px, auto);
    grid-template-areas:
        "code status price"
        "date pay    bez"
        "track track track";
    align-items: center;
    column-gap: 24px;
    row-gap: 4px;
    margin: 0 -14px !important;
    padding: 16px 14px !important;
    border: 0 !important;
    border-top: 1px solid #edf0f2 !important;
    border-radius: 10px !important;
    background: none !important;
    transition: background-color 0.15s ease;
}
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody tr:first-child { border-top-color: transparent !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody tr:hover { background: #eef4f4 !important; border-top-color: transparent !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody tr:hover + tr { border-top-color: transparent !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #2b3640 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td .client-table-heading { display: none !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(1) { grid-area: code; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(2) { grid-area: date; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(3) { grid-area: bez; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(4) { grid-area: price; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(5) { grid-area: status; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(6) { grid-area: pay; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(7) { grid-area: track; }

/* číslo: celý řádek je klikací (roztažený ::after odkazu) */
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(1) a {
    position: static !important;
    color: #074343 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(1) a strong { font-weight: inherit !important; color: inherit !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(1) a::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    border-radius: 10px;
}
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody tr:hover td:nth-child(1) a { text-decoration: underline !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(2),
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(2) span { color: #5b6770 !important; font-size: 13px !important; }

/* ceny vpravo */
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:is(:nth-child(3), :nth-child(4)) { text-align: right !important; white-space: nowrap !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(4),
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(4) strong { color: #1a1a1a !important; font-size: 16px !important; font-weight: 700 !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(3) { color: #5b6770 !important; font-size: 13px !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(3)::after { content: " bez DPH"; }

/* stav = štítek, stav platby = šedý text */
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(5) { justify-self: start; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(5) .status {
    display: inline-block !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    background: #eef4f4 !important;
    color: #074343 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
}
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(6) { color: #5b6770 !important; font-size: 13px !important; }
/* sledování zásilky jen když je odkaz (jinak „Není k dispozici") */
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(7):not(:has(a)) { display: none !important; }
html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(7) a { position: relative !important; z-index: 2 !important; color: #074343 !important; font-weight: 600 !important; }

/* nadpis sekce na přehledu (/klient/: „Poslední 2 objednávky") zelený jako ostatní nadpisy sekcí */
html body:has(.client-center-box) #content .content-inner:not(:has(> form)) > h2 {
    margin-bottom: 0 !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 700 !important;
    color: #074343 !important;
}

/* stránkování pod seznamem */
html body:has(.client-center-box) #content .content-inner > .pagination-wrapper { color: #5b6770 !important; font-size: 13px !important; }
html body:has(.client-center-box) #content .content-inner > .pagination-wrapper :is(strong, a) { color: #1a1a1a !important; }
html body:has(.client-center-box) #content .content-inner > .pagination-wrapper .pagination:not(:has(a)) { display: none !important; } /* jediná stránka = samotná „1" */

@media (max-width: 599px) {
    html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) tbody tr {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "code   price"
            "date   bez"
            "status pay"
            "track  track";
        column-gap: 14px;
        margin: 0 -10px !important;
        padding: 14px 10px !important;
    }
    html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(5) { margin-top: 6px !important; }
    html body:has(.client-center-box) #content :is(table.customer-orders, table.table-mobile-enriched:has(td a[href*="objednavky/?code="])) td:nth-child(6) { margin-top: 6px !important; text-align: right !important; }
}

/* =====================================================================
   KLIENTSKÉ CENTRUM — DETAIL OBJEDNÁVKY (V54, k JS core V17)
   JS zabalí sekce do section.rekusam-cc-card → samostatné karty s mezerou
   (přebíjí obecné „h1 ~ * = jedna slepená karta" výše).
   ===================================================================== */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail { filter: none !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail > section.rekusam-cc-card {
    margin: 0 0 16px !important;
    padding: clamp(20px, 3.2vw, 32px) !important;
    background: #ffffff !important;
    border-radius: 15px !important;
    box-shadow: 0 18px 50px rgba(17, 24, 28, 0.10) !important;
    color: #2b3640 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail > section.rekusam-cc-card :is(div, p) { background: none !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; border-radius: 0 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card h2 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    background: none !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: clamp(20px, 2.2vw, 24px) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #074343 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card h4 {
    margin: 0 0 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #5b6770 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card a:not(.btn) { color: #074343 !important; }

/* --- hlavička: zpět · číslo · datum + štítek stavu · Znovu nakoupit --- */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-back {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #5b6770 !important;
    text-decoration: none !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-back::before {
    content: "";
    width: 16px;
    height: 16px;
    margin-right: 8px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%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' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5'/%3E%3Cpath d='M12 19l-7-7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
    transition: transform 0.2s ease;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-back:hover { color: #074343 !important; text-decoration: none !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-back:hover::before { transform: translateX(-3px); }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head h2 { margin-bottom: 8px !important; font-size: clamp(24px, 2.8vw, 30px) !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head > div {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px 24px !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head > div > p { margin: 0 !important; color: #5b6770 !important; font-size: 14px !important; line-height: 1.9 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-status {
    display: inline-block !important;
    margin-left: 4px !important;
    padding: 2px 10px !important;
    border-radius: 6px !important;
    background: #eef4f4 !important;
    color: #074343 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 0 26px !important;
    background: #074343 !important;
    border: 1px solid #074343 !important;
    color: #ffffff !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head .btn:hover { background: #053030 !important; border-color: #053030 !important; }

/* --- údaje o zákazníkovi: dva sloupce adres, poznámka pod nimi --- */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 18px 32px !important;
    margin: 0 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row::before,
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row::after { display: none !important; } /* bootstrap clearfix = prázdné buňky mřížky */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row > div { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row + div {
    margin-top: 18px !important;
    padding-top: 16px !important;
    border-top: 1px solid #edf0f2 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row p,
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail section.rekusam-cc-card > .row + div p { margin: 0 !important; }

/* --- položky: produkt | počet | cena; doprava a platba menším písmem; součty vpravo --- */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details,
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tbody {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details thead { display: none !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tbody tr {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(110px, auto);
    grid-template-areas: "name qty price" "name qty bez";
    align-items: baseline;
    column-gap: 24px;
    row-gap: 2px;
    padding: 14px 0 !important;
    border: 0 !important;
    border-top: 1px solid #edf0f2 !important;
    background: none !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tbody tr:first-child { padding-top: 0 !important; border-top: 0 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td {
    display: none !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #2b3640 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td .client-table-heading { display: none !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(1) { display: block !important; grid-area: name; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(2) { display: block !important; grid-area: qty; color: #5b6770 !important; white-space: nowrap !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(2) strong { font-weight: 400 !important; color: inherit !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(6) { display: block !important; grid-area: bez; text-align: right !important; white-space: nowrap !important; color: #5b6770 !important; font-size: 13px !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(6)::after { content: " bez DPH"; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(7) { display: block !important; grid-area: price; text-align: right !important; white-space: nowrap !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td:nth-child(7) strong { font-weight: 700 !important; color: #1a1a1a !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td.p-name a.p-name__itemLink {
    display: block !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    text-decoration: none !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td.p-name a.p-name__itemLink:hover { color: #074343 !important; text-decoration: underline !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details td.p-name :is(.p-name__codeLabel, .p-name__code) { font-size: 13px !important; font-style: normal !important; color: #5b6770 !important; }
/* doprava, platba */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.rekusam-cc-row-fee { grid-template-areas: "name name price"; padding: 10px 0 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.rekusam-cc-row-fee td:is(:nth-child(2), :nth-child(6)) { display: none !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.rekusam-cc-row-fee td { font-size: 14px !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.rekusam-cc-row-fee .p-name__itemName { font-weight: 600 !important; color: #2b3640 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.rekusam-cc-row-fee .p-name__shipping { display: block !important; font-size: 13px !important; color: #5b6770 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.rekusam-cc-row-fee td:nth-child(7) strong { font-weight: 600 !important; color: #2b3640 !important; }
/* součty */
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.row-summary { display: block !important; margin-top: 4px !important; padding: 16px 0 0 !important; border-top: 1px solid #dfe5e8 !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tr.row-summary td { display: block !important; }
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 6px 24px !important;
    margin: 0 !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary :is(dt, dd) {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #5b6770 !important;
    text-align: right !important;
}
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary dt:first-of-type,
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary dd:first-of-type,
html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary dd:first-of-type strong {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
}

@media (max-width: 599px) {
    html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tbody tr:not(.row-summary) {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "name name" "qty price" "qty bez";
        row-gap: 4px;
    }
    html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details tbody tr.rekusam-cc-row-fee:not(.row-summary) { grid-template-areas: "name price"; }
    html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary dt { text-align: left !important; }
    html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail table.table-order-details dl.list-summary dt:first-of-type { font-size: 15px !important; }
    html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head .btn { width: 100% !important; }
    html body:has(.client-center-box) #content .content-inner.rekusam-cc-detail .rekusam-cc-card--head > div > p { flex: 1 1 100% !important; }
}


/* =====================================================================
   DLOUHÝ POPIS PRODUKTU — JEDNOTNÁ ŠABLONA (.rekusam-desc)
   HTML se vkládá do „Popis" produktu (TinyMCE, bez skriptů a SVG),
   ikony a barvy dodává tento CSS. Technické údaje patří do Parametrů.
   ===================================================================== */
body.type-product #content .basic-description .rekusam-desc { color: #2b3640; }
body.type-product #content .basic-description .rekusam-desc :is(p, li) { color: #2b3640 !important; } /* velikost = tělo webu (#content p, 1.375rem) */
body.type-product #content .basic-description .rekusam-desc ul li::before { content: "" !important; color: transparent !important; }
body.type-product #content .basic-description .rekusam-desc > * + * { margin-top: 28px !important; }
body.type-product #content .basic-description .rekusam-desc h3 {
    margin: 0 0 12px !important;
    font-family: var(--template-headings-font, Montserrat, sans-serif) !important;
    font-size: 1.9rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #074343 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
body.type-product #content .basic-description .rekusam-desc p { margin: 0 0 10px !important; color: #2b3640 !important; }
body.type-product #content .basic-description .rekusam-desc p:last-child { margin-bottom: 0 !important; }
body.type-product #content .basic-description .rekusam-desc strong { color: #1a1a1a !important; font-weight: 700 !important; }

/* 1) úvod */
body.type-product #content .basic-description .rekusam-desc .rekusam-desc-lead p { font-size: 1.6rem !important; line-height: 1.6 !important; color: #1a1a1a !important; }

/* 2) hlavní výhody — zelená fajfka */
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-benefits { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; gap: 12px; }
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-benefits li {
    position: relative;
    margin: 0 !important;
    padding: 0 0 0 34px !important;
    list-style: none !important;
}
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-benefits li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #eef4f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23074343' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat;
}

/* 3) kompatibilita — štítky */
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-compat { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-compat li {
    margin: 0 !important;
    padding: 6px 12px !important;
    list-style: none !important;
    border: 1px solid rgba(7, 67, 67, 0.22);
    border-radius: 8px;
    background: #ffffff;
    color: #074343 !important;
    font-size: 1.3rem !important;
    font-weight: 600;
    line-height: 1.3 !important;
}

/* 4) balení obsahuje — prostý seznam s pomlčkou */
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-box { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-box li { position: relative; margin: 0 0 6px !important; padding: 0 0 0 18px !important; list-style: none !important; }
body.type-product #content .basic-description .rekusam-desc ul.rekusam-desc-box li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: 8px; height: 2px; background: #074343; }

/* 5) tip od Rekusam — podbarvený box */
body.type-product #content .basic-description .rekusam-desc .rekusam-desc-tip {
    padding: 18px 20px 18px 56px !important;
    border-radius: 12px;
    background: #eef4f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23074343' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6'/%3E%3Cpath d='M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.2 1 2V17h6v-.3c0-.8.4-1.5 1-2A7 7 0 0 0 12 2z'/%3E%3C/svg%3E") 18px 18px / 24px no-repeat;
}
body.type-product #content .basic-description .rekusam-desc .rekusam-desc-tip h3 { margin-bottom: 6px !important; font-size: 1.6rem !important; }

/* 6) poradíme — závěrečná výzva */
body.type-product #content .basic-description .rekusam-desc .rekusam-desc-help {
    padding: 18px 20px !important;
    border-left: 3px solid #074343;
    background: #f6f8f9;
    border-radius: 0 12px 12px 0;
}
body.type-product #content .basic-description .rekusam-desc .rekusam-desc-help a { color: #074343 !important; font-weight: 700; }

@media (max-width: 599px) {
    body.type-product #content .basic-description .rekusam-desc .rekusam-desc-lead p { font-size: 1.5rem !important; }
    body.type-product #content .basic-description .rekusam-desc .rekusam-desc-tip { padding: 16px 16px 16px 50px !important; background-position: 14px 16px; }
}
