/* ========================================================================
   BUSINESS-OFFICE.CZ — REVAMP REDESIGN OVERRIDES
   First-pass mapping of the Revamp visual system onto the current
   GeneratePress / Gutenberg CSS classes.

   Safe testing: load this file AFTER custom-cz.css.
   Scope: global design layer for the entire public website.
   ======================================================================== */

:root {
    --bo-bg: #f6f4ef;
    --bo-surface: #ffffff;
    --bo-surface-2: #e6e0d4;
    --bo-text: #0f1535;
    --bo-muted: #8a8579;
    --bo-deep: #2a2f44;
    --bo-primary: #0f1535;
    --bo-accent: #c9a24a;
    --bo-accent-hover: #b8923e;
    --bo-accent-soft: #e8d9a8;
    --bo-on-primary: #f6f4ef;
    --bo-container: 1320px;
    --bo-text-width: 780px;
    --bo-radius-sm: 2px;
    --bo-radius-md: 4px;
    --bo-radius-lg: 6px;
    --bo-shadow-sm: 0 1px 2px rgba(15, 21, 53, 0.06), 0 1px 1px rgba(15, 21, 53, 0.04);
    --bo-shadow-md: 0 8px 24px rgba(15, 21, 53, 0.09), 0 2px 6px rgba(15, 21, 53, 0.04);
    --bo-shadow-lg: 0 18px 48px rgba(15, 21, 53, 0.13), 0 5px 14px rgba(15, 21, 53, 0.06);
    --bo-section-y: clamp(48px, 5vw, 76px);
    --bo-side-padding: clamp(0px, 3vw, 0px);
}

/* ------------------------------------------------------------------------
   1. HOME — GLOBAL CANVAS, TYPOGRAPHY AND WIDTH
   ------------------------------------------------------------------------ */

html,
body {
    background: var(--bo-bg) !important;
}

html::before,
html::after {
    display: none !important;
    content: none !important;
}

body {
    color: var(--bo-text);
    font-family: var(--font-body, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
    background-color: var(--bo-bg) !important;
    background-image: none !important;
    overflow-x: clip !important;
}

body #page,
body .site,
body .site-content,
body #primary,
body #main,
body article,
body .inside-article,
body .entry-content {
    background-color: transparent;
}

body #page {
    position: relative;
    isolation: isolate;
max-width: 100% !important;
    width: 100%;
}

/* Subtle grid from the Revamp hero. */
body #page::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 25px 0 auto;
    height: min(760px, 78vh);
    pointer-events: none;
    opacity: 0.042;
    background-image:
        linear-gradient(var(--bo-primary) 1px, transparent 1px),
        linear-gradient(90deg, var(--bo-primary) 1px, transparent 1px);
    background-size: 64px 64px;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 78%, transparent 100%);
}

body .grid-container,
body .inside-header,
body .inside-top-bar,
body .site-content,
body .inside-footer-widgets,
body .footer-bar {
    width: min(100%, var(--bo-container));
    max-width: var(--bo-container) !important;
    margin-inline: auto;
}

x.body .site-content {
    padding: 0 var(--bo-side-padding) var(--bo-section-y) !important;
}

body.separate-containers .inside-article,
body.one-container .site-content,
body .inside-page-header {
    padding: 0 !important;
    border: 0;
    box-shadow: none;
}

body .entry-content:not(:first-child) {
    margin-top: 0;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    color: var(--bo-text);
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    text-wrap: balance;
}

body h1 {
    font-size: clamp(1.5rem, 5.15vw, 2.5rem);
    font-weight: 300;
    line-height: 1.01;
    letter-spacing: 0.025em;
}

body h2 {
    font-size: clamp(1.25rem, 3.9vw, 2.55rem);
    font-weight: 300;
    line-height: 1.04;
}

body h3 {
    font-size: clamp(1.0rem, 2vw, 1.5rem);
    font-weight: 500;
    line-height: 1.1;
}

body p,
body li,
body input,
body select,
body textarea,
body button,
body a {
    font-family: var(--font-body, 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
}

x.body p {
    color: var(--bo-deep);
    line-height: 1.7;
}

body a {
    color: var(--bo-primary);
    text-underline-offset: 3px;
}

body hr,
body .wp-block-separator {
    border: 0;
    border-top: 1px solid var(--bo-surface-2);
    margin-block: clamp(34px, 4vw, 58px);
}

/* Reusable optional classes for Gutenberg blocks. */
body .bo-section,
body .section-shell {
    padding-block: var(--bo-section-y);
}

body .bo-section-title,
body .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    color: var(--bo-primary);
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.4;
    text-transform: uppercase;
}

body .bo-section-title::before,
body .eyebrow::before {
    content: "";
    display: block;
    width: 46px;
    height: 2px;
    flex: 0 0 46px;
    background: var(--bo-accent);
}

/* ------------------------------------------------------------------------
   2. TOP BAR
   ------------------------------------------------------------------------ */

body .top-bar {
    min-height: 28px;
    padding: 0 var(--bo-side-padding) !important;
    color: var(--bo-on-primary) !important;
    background: var(--bo-primary) !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .top-bar .inside-top-bar {
    min-height: 28px;
    padding: 4px 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between !important;
}

body .top-bar .widget,
body .top-bar .widget_nav_menu,
body .menu-languages-and-social-container {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

body #menu-languages-and-social {
    width: 100%;
    display: flex !important;
    align-items: center;
    gap: 18px;
    margin: 0;
}

body #menu-languages-and-social > li {
    margin: 0 !important;
    padding: 0;
}

body #menu-languages-and-social > li:has(a[href*="neverejna-klientska-sekce"]) {
    order: 40;
    margin-left: auto !important;
}

body #menu-languages-and-social > li#menu-item-204 {
    order: 50;
}

body #menu-languages-and-social > li#menu-item-205 {
    order: 60;
}

body #menu-languages-and-social > li#menu-item-4615 {
    display: none !important;
}

body #menu-languages-and-social a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 20px;
    padding: 0 !important;
    color: rgba(246, 244, 239, 0.92) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0;
    text-decoration: none;
    transition: color 180ms ease;
}

body #menu-languages-and-social a:hover {
    color: var(--bo-accent) !important;
}

body #menu-languages-and-social img,
body #menu-languages-and-social li#menu-item-204 img,
body #menu-languages-and-social li#menu-item-205 img {
    width: 17px !important;
    height: 12px !important;
    padding: 0 !important;
    object-fit: cover;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body .top-bar .dashicons,
body .top-bar .dashicons-before::before,
body .top-bar [class*="fa-"] {
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    color: inherit;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    line-height: 1;
}

/* ------------------------------------------------------------------------
   3. MAIN HEADER AND NAVIGATION
   ------------------------------------------------------------------------ */

body header.site-header,
body #masthead {
    position: sticky;
    top: 0;
    z-index: 10000;
    background: rgba(246, 244, 239, 0.96) !important;
    border-bottom: 1px solid var(--bo-surface-2);
    box-shadow: none;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
max-width: 100% !important;
    width: 100%;
}

body.admin-bar header.site-header {
    top: 32px;
}

body #masthead .inside-header.grid-container,
body .inside-header.grid-container {
    min-height: 72px;
    padding: 11px var(--bo-side-padding) !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: clamp(20px, 3vw, 48px);
}

body .site-logo {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 52px;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto;
}

body .site-logo a {
    width: auto !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body .site-logo img {
    display: block !important;
    width: auto !important;
    max-width: 150px;
    height: 65px !important;
    object-fit: contain;
}

body .nav-float-right #site-navigation,
body #site-navigation {
    width: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    flex: 1 1 auto;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body .main-navigation .main-nav > ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 2px;
}

body .main-navigation .main-nav ul li {
    margin: 0 !important;
}

body .main-navigation .main-nav ul li a {
    min-height: auto;
    padding: 10px 12px !important;
    color: var(--bo-text) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2 !important;
    text-transform: none;
    transition: color 180ms ease;
}

body .main-navigation .main-nav ul li a:hover,
body .main-navigation .main-nav ul li.current-menu-item > a,
body .main-navigation .main-nav ul li.current-menu-ancestor > a {
    color: var(--bo-accent) !important;
}

/* The existing Kontakt menu item becomes the primary header CTA. */
body #menu-top-company-menu a[href*="kontakt"] {
    margin-left: 8px;
    padding: 11px 17px !important;
    color: var(--bo-on-primary) !important;
    background: var(--bo-primary) !important;
    border: 1px solid var(--bo-primary) !important;
    border-radius: var(--bo-radius-sm) !important;
}

body #menu-top-company-menu a[href*="kontakt"]:hover {
    color: var(--bo-on-primary) !important;
    background: var(--bo-deep) !important;
    border-color: var(--bo-deep) !important;
}

/* Reuse the existing top-services widget only for the Configurator button. */
body .nav-float-right .header-widget,
body .header-widget {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

body .header-widget section.TopServices-box {
    display: block !important;
    margin: 0;
    padding: 0;
}

body .header-widget .ServicesClaim {
    display: none !important;
}

body .header-widget .widget_nav_menu,
body .header-widget .menu-top-services-menu-container {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

body #menu-top-services-menu {
    display: flex !important;
    gap: 0 !important;
    margin: 0;
}

body #menu-top-services-menu > li {
    display: none !important;
}

body #menu-top-services-menu > li#menu-item-136 {
    display: block !important;
    width: auto !important;
}

body #menu-top-services-menu > li#menu-item-136 a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 16px !important;
    color: var(--bo-text) !important;
    background: transparent !important;
    border: 1px solid var(--bo-text) !important;
    border-radius: var(--bo-radius-sm) !important;
    font-family: var(--font-body, 'Inter', sans-serif) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2;
    text-decoration: none;
}

body #menu-top-services-menu > li#menu-item-136 a::after {
    display: none !important;
    content: none !important;
}

body #menu-top-services-menu > li#menu-item-136 a:hover {
    color: var(--bo-on-primary) !important;
    background: var(--bo-primary) !important;
}

/* ------------------------------------------------------------------------
   4. BUTTONS
   ------------------------------------------------------------------------ */

body .wp-block-button__link,
body a.tlacitko-varianty,
body .wpforms-submit,
body input[type="submit"] {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    color: var(--bo-on-primary);
    background: var(--bo-primary);
    border: 1px solid var(--bo-primary);
    border-radius: var(--bo-radius-sm);
    box-shadow: none;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.25;
    text-decoration: none;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body .wp-block-button__link:hover,
body a.tlacitko-varianty:hover,
body .wpforms-submit:hover,
body input[type="submit"]:hover {
    color: var(--bo-on-primary);
    background: var(--bo-deep);
    border-color: var(--bo-deep);
    transform: translateY(-1px);
    text-decoration: none;
}

body .wp-block-button.is-style-outline > .wp-block-button__link,
body .wp-block-buttons > .wp-block-button:nth-child(2) > .wp-block-button__link {
    color: var(--bo-text);
    background: transparent;
    border-color: var(--bo-text);
}

body .wp-block-button.is-style-outline > .wp-block-button__link:hover,
body .wp-block-buttons > .wp-block-button:nth-child(2) > .wp-block-button__link:hover {
    color: var(--bo-on-primary);
    background: var(--bo-primary);
}

body .wp-block-button.Light-btn a.wp-block-button__link.wp-element-button {
   min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
background-color: transparent !important;
border:solid 1px #0f1535 !important;
color: #0f1535 !important;
}

body .wp-block-button.Light-btn a.wp-block-button__link.wp-element-button:hover {
   min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
background-color: #0f1535 !important;
border:solid 1px #0f1535 !important;
color: #FFFFFF !important;
}

/* ------------------------------------------------------------------------
   5. INTRO / HERO MAPPING
   ------------------------------------------------------------------------ */

body .Hp-Intro-Box {margin-top:50px}

body .Hp-Intro-Clmn,
body .bo-revamp-hero-copy {
    position: relative !important;
    xpadding-block: clamp(54px, 7vw, 104px) clamp(42px, 5vw, 76px);
}

body .Hp-Intro-Clmn::before,
body .bo-revamp-hero-copy::before {
    content: "BUSINESS OFFICE SOLUTIONS S.R.O.";
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: var(--bo-primary);
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.4;
}

body .Hp-Intro-Clmn::after,
body .bo-revamp-hero-copy::after {
    content: "";
    position: absolute;
    top: 6px;
    left: -64px;
    width: 46px;
    height: 2px;
    background: var(--bo-accent);
}

body .Hp-Intro-Clmn h1,
body .bo-revamp-hero-copy h1 {
    max-width: 850px;
    margin-bottom: 24px;
}

body .Hp-Intro-Clmn h1 em,
body .Hp-Intro-Clmn h1 i,
body .bo-revamp-hero-copy h1 em {
    color: var(--bo-primary);
    font-weight: 300;
}

body .Hp-Intro-Clmn > p,
body .bo-revamp-hero-copy > p {
    max-width: var(--bo-text-width);
    xmargin-bottom: 28px;
    color: var(--bo-deep);
    font-size: clamp(1.05rem, 1.3vw, 1.22rem);
    line-height: 1.65;
}

body .Hp-Intro-Clmn .NasTymBtn {
    position: static !important;
    inset: auto !important;
    margin-top: 28px;
}

body .intro-boxes  {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 25px !important;
    padding-block: var(--bo-section-y);
    padding: 50px 0px 0px 0px;
}
body .intro-box-numbers {background: rgba(231, 227, 216, 0.1);
    padding: 15px;
    border-radius: 5px;
    border: solid 1px #e7e3d8;}

body .intro-box-numbers .intro-number {font-family: 'Fraunces', Georgia, serif;font-size: 1.8rem;margin-bottom:0px;}
body .intro-box-numbers .intro-text {font-size: 0.8rem;color:#8a8579;margin-bottom:0px;font-weight:600}





/* Optional exact hero class: add bo-revamp-hero to a Gutenberg Columns/Group block. */
body .bo-revamp-hero {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
    align-items: center;
    gap: clamp(38px, 5vw, 72px);
    min-height: min(760px, calc(100vh - 100px));
    padding-block: 28px;
}

body .bo-revamp-hero > * {
    min-width: 0;
}

body .bo-revamp-hero-media,
body figure:has(img[alt*="Outsourcing obchodu"]),
body figure:has(img[alt*="Outsourcing Obchodu"]) {
    position: relative;
    margin: 0;
    padding: 14px;
}

body .bo-revamp-hero-media::before,
body .bo-revamp-hero-media::after,
body figure:has(img[alt*="Outsourcing obchodu"])::before,
body figure:has(img[alt*="Outsourcing obchodu"])::after,
body figure:has(img[alt*="Outsourcing Obchodu"])::before,
body figure:has(img[alt*="Outsourcing Obchodu"])::after {
    content: "";
    position: absolute;
    z-index: 2;
    width: 82px;
    height: 82px;
    pointer-events: none;
}

body .bo-revamp-hero-media::before,
body figure:has(img[alt*="Outsourcing obchodu"])::before,
body figure:has(img[alt*="Outsourcing Obchodu"])::before {
    top: 0;
    left: 0;
    border-top: 2px solid var(--bo-accent);
    border-left: 2px solid var(--bo-accent);
}

body .bo-revamp-hero-media::after,
body figure:has(img[alt*="Outsourcing obchodu"])::after,
body figure:has(img[alt*="Outsourcing Obchodu"])::after {
    right: 0;
    bottom: 0;
    border-right: 2px solid var(--bo-accent);
    border-bottom: 2px solid var(--bo-accent);
}

body .bo-revamp-hero-media img,
body figure:has(img[alt*="Outsourcing obchodu"]) img,
body figure:has(img[alt*="Outsourcing Obchodu"]) img {
    width: 100%;
    aspect-ratio: 4 / 5;
    display: block;
    object-fit: cover;
    border: 1px solid var(--bo-surface-2) !important;
    border-radius: var(--bo-radius-sm) !important;
    box-shadow: var(--bo-shadow-sm);
}

/* Optional statistics row matching the Revamp hero. */
body .bo-revamp-stats {
    max-width: 650px;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid var(--bo-surface-2);
}

body .bo-revamp-stats strong {
    display: block;
    margin-bottom: 4px;
    color: var(--bo-primary);
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
}

body .bo-revamp-stats span {
    color: var(--bo-muted);
    font-size: 12px;
    line-height: 1.35;
}

/* ------------------------------------------------------------------------
   6. SERVICE PILLARS
   ------------------------------------------------------------------------ */


body .services-intro-text {position:relative;}

body .services-intro-text::before {
    content: "TŘI PILÍŘE SPOLUPRÁCE";
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
    color: var(--bo-primary);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.4;
}



body .services-intro-text::after {
    content: "";
    position: absolute;
    top: 8px;
    left: -64px;
    width: 46px;
    height: 2px;
    background: var(--bo-accent);
}


body .entry-content > .Slogans-box {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 0;
    padding-block: 20px;
    background-color: #e8e3d8;
    border-top: 1px solid #CECECE;
    border-bottom: 1px solid #CECECE;
    margin-bottom: 50px;
}



body .Slogans-box > .wp-block-group {
    width: calc(100% - 48px);
    max-width: 1320px;
    margin-inline: auto;

    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: center;
    gap: 20px;
}

body .Slogans-box .Slogans {}

body .Slogans-box .Slogans p {
    margin: 0;
    padding: 0;
    font-size: clamp(0.75rem, 1vw, 0.8rem);
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.18em;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
position:relative;
}

body .Slogans-box .Slogans p::after {
content: "|";
position:absolute;
right: -2px;
width: 2px;
}

body .Slogans-box .Slogans p:last-child::after {display:none}


body .header-services-text {font-size: clamp(1.55rem, 2.1vw, 2rem);letter-spacing: 0.02em;margin-bottom:0px;}
body .services-text {font-size: clamp(1.05rem, 1.3vw, 1.22rem);}

body .HP-Services-Boxes {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 25px !important;
    xpadding-block: var(--bo-section-y);
}

body .HP-Services-Boxes > *,
body .HP-Services-Boxes .wp-block-column {
    min-width: 0;
    margin: 0 !important;
}

body .HP-Services-Boxes section,
body .HP-Obchod,
body .HP-Marketing,
body .HP-Management {
    height: 100%;
    position: relative;
    padding: 28px !important;
    color: var(--bo-text);
    background: var(--bo-surface) !important;
    background-image: none !important;
    border: 1px solid var(--bo-surface-2) !important;
    border-radius: var(--bo-radius-md) !important;
    box-shadow: var(--bo-shadow-sm);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

body .HP-Services-Boxes section:hover,
body .HP-Obchod:hover,
body .HP-Marketing:hover,
body .HP-Management:hover {
    color: var(--bo-text) !important;
    background: var(--bo-surface) !important;
    border-color: rgba(201, 162, 74, 0.68) !important;
    box-shadow: var(--bo-shadow-md);
    transform: translateY(-4px);
}

body .HP-Services-Boxes section::after {
    position: absolute;
    top: 15px;
    right: 10px;
    color: var(--bo-accent);
    font-size: 2.8rem;
    letter-spacing: 0.08em;
    font-family: 'Fraunces';
    font-weight: 300;
}

body .HP-Services-Boxes > *:nth-child(1) section::after {
    content: "01";
}

body .HP-Services-Boxes > *:nth-child(2) section::after {
    content: "02";
}

body .HP-Services-Boxes > *:nth-child(3) section::after {
    content: "03";
}

body .HP-Services-Boxes section h2 {
    margin: 0 40px 15px 0;
    padding: 0;
    color: var(--bo-text);
    font-size: clamp(1.0rem, 2.1vw, 1.5rem);
    font-weight: 500;
}

body .HP-Services-Boxes section h2::before {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    color: var(--bo-on-primary);
    background: var(--bo-primary);
    border-radius: var(--bo-radius-sm);
    font-family: "Font Awesome 6 Free";
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0;
}

body .HP-Obchod h2::before,
body .HP-Obchod-Inner h2::before {
    content: "\f0b1";
}

body .HP-Marketing h2::before,
body .HP-Marketing-Inner h2::before {
    content: "\f201";
}

body .HP-Management h2::before,
body .HP-Management-Inner h2::before {
    content: "\f5dc";
}

body .HP-Services-Boxes section h2 a {
    display: block;
    padding: 0 !important;
    color: var(--bo-text) !important;
    background: none !important;
    text-decoration: none;
font-weight: 400;
}

body .HP-Services-Boxes section h2 a::after {
    display: none !important;
    content: none !important;
}

body .HP-Services-Boxes section p {
    color: var(--bo-deep);
    font-size: 14px;
    line-height: 1.7;
}

body .HP-Services-Boxes ul {
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

body .HP-Services-Boxes ul li {
    min-height: 24px;
    margin: 8px 0 !important;
    padding-left: 23px;
    color: var(--bo-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

body .HP-Services-Boxes ul li::before {
    content: "\f00c" !important;
    top: 2px !important;
    left: 0;
    color: var(--bo-accent);
    font-family: "Font Awesome 6 Free";
    font-size: 13px;
    font-weight: 900;
}

/* ------------------------------------------------------------------------
   7. SAVINGS / VALUE PROPOSITION BAND
   ------------------------------------------------------------------------ */

body .HP-Banner-Claim,
body .bo-value-band {
    position: relative;
    overflow: hidden;
    margin-block: var(--bo-section-y);
    padding: clamp(34px, 5vw, 64px) clamp(24px, 5vw, 64px) !important;
    color: var(--bo-on-primary);
    background: var(--bo-primary) !important;
    border: 0 !important;
    border-radius: var(--bo-radius-md) !important;
    box-shadow: none;
}

body .HP-Banner-Claim::after,
body .bo-value-band::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.07;
    background-image:
        linear-gradient(var(--bo-on-primary) 1px, transparent 1px),
        linear-gradient(90deg, var(--bo-on-primary) 1px, transparent 1px);
    background-size: 48px 48px;
}

body .HP-Banner-Claim > *,
body .bo-value-band > * {
    position: relative;
    z-index: 1;
}

body .HP-Banner-Claim h2,
body .HP-Banner-Claim h3,
body .bo-value-band h2,
body .bo-value-band h3 {
    color: var(--bo-on-primary);
}

body .HP-Banner-Claim p,
body .HP-Banner-Claim li,
body .bo-value-band p,
body .bo-value-band li {
    color: rgba(246, 244, 239, 0.86);
}

body .HP-Banner-Claim strong,
body .bo-value-band strong {
    color: var(--bo-accent);
}


/* Top sluzby Homepage */


body .entry-content > #top-sluzby {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 0;
    xpadding-block: 50px;
    background-color: #0f1535;
    border-top: 1px solid #ebeae3;
    border-bottom: 1px solid #ebeae3;
    margin-bottom: 50px;
    padding: 50px 0px 0px 0px;
}

body #top-sluzby > .wp-block-group__inner-container {
    width: calc(100% - 48px);
    max-width: 1320px;
    margin-inline: auto;
    align-items: center;
    color: #f6f4ef;
    position:relative
}


body #top-sluzby .wp-block-group__inner-container::before {
    content: "Výběr top služeb a řešení";
    display: flex;
    align-items: center;
    margin-bottom: 22px;
    color: #FFFFFF;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.4;
    gap: 12px;
    margin-left:64px;
    text-transform:uppercase;
}


body #top-sluzby .wp-block-group__inner-container::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 0px;
    width: 46px;
    height: 2px;
    background: var(--bo-accent);
}


body .entry-content > #top-sluzby h2 {
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    letter-spacing: 0.02em;
    color: rgb(255, 255, 255);
    margin-bottom: 20px;
    font-weight: 400;
    line-height: 2.8rem;
}

body .entry-content > #top-sluzby .bo-post-slider .bo-slider-track {
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: calc(0.25rem * 5);
background-color:transparent;
padding-bottom: 100px;
}

body .entry-content > #top-sluzby .bo-post-slider .bo-slider-track .gb-loop-item {
background-color:#1b203e !important;
border: solid 1px #c9a14a;
}

body .entry-content > #top-sluzby .bo-post-slider .bo-slider-track .gb-loop-item h3 {font-size:1.5rem;padding: 0px 0px 0px 0px;margin:0px 0px 0px 0px;font-weight:400}
body .entry-content > #top-sluzby .bo-post-slider .bo-slider-track .gb-loop-item h3 a {color:#f7f5f0;text-decoration:none;}
body .entry-content > #top-sluzby .bo-post-slider .bo-slider-track .gb-loop-itemp p {color:#f7f5f0;margin:0px 0px 0px 0px}


/* Reference značky Homepage */

body .entry-content > #reference-znacky {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 0;
    padding-block: 20px;
    background-color: #e8e3d8;
    border-top: 1px solid #CECECE;
    border-bottom: 1px solid #CECECE;
    margin-bottom: 50px;
}


body #reference-znacky > .wp-block-group__inner-container {
    width: calc(100% - 48px);
    max-width: 1320px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: center;
    gap: 20px;
}


body #reference-znacky h2 {
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    letter-spacing: 0.02em;
    color: #0f1535;
    margin-bottom: 20px;
    font-weight: 400;
    line-height: 2.8rem;
}


/* Proc outsourcing Homepage */

body .entry-content > #proc-outsourcing, body .entry-content > #klienti-outsourcing {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
    margin-bottom: 0;
    padding-block: 50px;
    background-color: #0f1535;
    border-top: 1px solid #ebeae3;
    border-bottom: 1px solid #ebeae3;
    margin-bottom: 50px;
}

body #proc-outsourcing > .wp-block-eds-animate-it-block {
    width: calc(100% - 48px);
    max-width: 1320px;
    margin-inline: auto;
    align-items: center;
    color:#f6f4ef
}

body #klienti-outsourcing > .wp-block-eds-animate-it-block {
    width: calc(100% - 48px);
    max-width: 1320px;
    margin-inline: auto;
    align-items: center;
    color:#f6f4ef
}


body .entry-content > #proc-outsourcing figure {position:relative;margin-bottom:75px;}
body .entry-content > #proc-outsourcing figure img {border: solid 1px #c9a24a;padding:1px;}

body .entry-content > #proc-outsourcing .wp-block-cover__inner-container {
    text-align: left;
    background: rgba(202, 162, 74, 0.9);
    max-width: 200px;
    padding: 10px 20px 10px 20px;
    position: absolute;
    left: 0px;
    top: 0px;
    font-weight: 400;
    color: #0f1535;
}

body .entry-content > .outsourcing .wp-block-cover__inner-container p.bigger-text {
  font-family: 'Fraunces', Georgia, serif;font-size:36px !important;font-weight:400;margin:0px 0px 0px 0px !important;padding:0px;color:#0f1535;text-align:left;
} 
 
body .entry-content > .outsourcing .wp-block-cover__inner-container p.smaller-text {
    font-size: 12px !important;font-weight:600;margin:0px 0px 0px 0px !important;padding:0px;color:#0f1535;text-align:left;text-transform: uppercase;line-height: 18px;

}   



body .entry-content > .outsourcing .outsourcing-tbl {margin-bottom:0px;padding-bottom:0px;}
body .entry-content > .outsourcing .outsourcing-clmn {position:relative;}

body #proc-outsourcing .outsourcing-box .outsourcing-clmn::before {
    content: "PROČ OUTSOURCING";
    display: flex;
    align-items: center;
    margin-bottom: 22px;
    margin-left:64px;
    color: #c9a24a;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.4;
    gap: 12px;
}


body #proc-outsourcing .outsourcing-box .outsourcing-clmn::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 0px;
    width: 46px;
    height: 2px;
    background: var(--bo-accent);
}

body .entry-content > .outsourcing .outsourcing-clmn h2 {
font-size: clamp(1.55rem, 2.1vw, 2rem);
letter-spacing: 0.02em;
margin-bottom: 0px;
color:#FFFFFF;
margin-bottom:20px;
font-weight:400;
line-height: 2.8rem;
}

body .entry-content > .outsourcing .outsourcing-clmn h2 strong {font-family: 'Fraunces', Georgia, serif;color:#c9a24a;font-weight:400}

body .entry-content > .outsourcing .outsourcing-clmn h3 {
    margin: 0 40px 15px 0;
    padding: 0;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-weight: 500;
    text-transform:uppercase;
letter-spacing: 0.15em;
line-height: 1.5em;
}

body .entry-content > .outsourcing .outsourcing-clmn p {
    color:#f6f4ef;
    font-weight: 300;
    margin:0px 0px 0px 0px
}


body .entry-content > .outsourcing .outsourcing-clmn .outsourcing-intro-text {margin-bottom:30px;}

body .entry-content > .outsourcing .outsourcing-clmn .outsourcing-vyhody {grid-template-columns: repeat(2, minmax(0, 1fr));gap:20px;margin-bottom:20px;}

body .entry-content > .outsourcing .outsourcing-clmn .outsourcing-vyhody > div {
border-left:solid 1px #c9a24a;
padding: 10px 20px 10px 20px;
}

body .entry-content > .outsourcing .outsourcing-clmn .outsourcing-vyhody p {
    font-size: 1.0rem;
    margin: 0px;
    font-weight: 300;
}

body .entry-content > .outsourcing .outsourcing-clmn .outsourcing-vyhody ul li {
    font-size: 1.0rem;
    margin: 0px;
    font-weight: 300;
}

body .entry-content > .outsourcing .outsourcing-clmn .outsourcing-vyhody ul.wp-block-list li::before {
        font-family: "Font Awesome 6 Free";
        font-weight: 500;
        position: absolute;
        left: 0px;
        font-size: 10px;
        top: 5px;
    }

body .entry-content > #proc-outsourcing .outsourcing-clmn .outsourcing-naklady p {color:#f6f4ef;}
body .entry-content > #proc-outsourcing .outsourcing-clmn .outsourcing-cile {color:#f6f4ef}
body .entry-content > #proc-outsourcing .outsourcing-clmn .outsourcing-tym {color:#f6f4ef}
body .entry-content > #proc-outsourcing .outsourcing-clmn .outsourcing-jazyky {color:#f6f4ef}




body #klienti-outsourcing .outsourcing-box .outsourcing-clmn::before {
    content: "PRO KOHO JSME VHODNÍ";
    display: flex;
    align-items: center;
    margin-bottom: 22px;
    margin-left:64px;
    color: #c9a24a;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 1.4;
    gap: 12px;
}


body #klienti-outsourcing .outsourcing-box .outsourcing-clmn::after {
    content: "";
    position: absolute;
    top: 8px;
    left: 0px;
    width: 46px;
    height: 2px;
    background: var(--bo-accent);
}


/* ------------------------------------------------------------------------
   8. CASE STUDIES / ARTICLE CARDS
   ------------------------------------------------------------------------ */

body #pripadove-studie {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    margin-right: -50vw;
    padding-block: 50px;
    background-color: #e7e3d8;
    border-top: 1px solid #CECECE;
    border-bottom: 1px solid #CECECE;
    margin-bottom: 50px;
}

body #pripadove-studie .wp-block-group__inner-container  {
    width: calc(100% - 48px);
    max-width: 1320px;
    margin-inline: auto;
    align-items: center;
    color: #f6f4ef;
    position: relative;
}

body #pripadove-studie h2 {
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    letter-spacing: 0.02em;
    color: #0f1535;
    margin-bottom: 20px;
    font-weight: 400;
    line-height: 2.8rem;
}

body #pripadove-studie article.gb-loop-item {background-color: #f5f4ef;padding:0px;border: solid 1px #CECECE;}
body #pripadove-studie article.gb-loop-item .gb-loop-item-image {max-height:250px;overflow:hidden;margin-bottom:20px;}
body #pripadove-studie article.gb-loop-item .gb-loop-item-text {padding:0px 0px 20px 0px}
body #pripadove-studie article.gb-loop-item h3 {font-size:1.15rem;margin-bottom:10px;}
body #pripadove-studie article.gb-loop-item h3 a {text-decoration:none}
body #pripadove-studie article.gb-loop-item p {margin-bottom:0px;}
body #pripadove-studie article.gb-loop-item .readmore {font-size: 0.95rem;font-weight: 500;position:relative;margin-top:10px;}
body #pripadove-studie article.gb-loop-item .readmore a {display:block;text-decoration:none}

body #pripadove-studie article.gb-loop-item .readmore a::after {
font-family: "Font Awesome 6 Free";
        content: "\f08e";
        font-weight: 600;
        font-size: 12px;
        margin-left:10px;
}

body .page-list-ext,
body .Category-article:has(.gb-loop-item) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 25px !important;
}

body .page-list-ext-item,
body .Category-article .gb-loop-item {
    min-width: 0;
    height: 100%;
    padding: 0 0 24px !important;
    overflow: hidden;
    color: var(--bo-text);
    background: var(--bo-surface) !important;
    border: 1px solid var(--bo-surface-2) !important;
    border-radius: var(--bo-radius-md) !important;
    box-shadow: var(--bo-shadow-sm);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

body .page-list-ext-item:hover,
body .Category-article .gb-loop-item:hover {
    background: var(--bo-surface) !important;
    border-color: rgba(201, 162, 74, 0.68) !important;
    box-shadow: var(--bo-shadow-md);
    transform: translateY(-4px);
}

body .page-list-ext-image,
body .Category-article .gb-loop-item figure {
    margin: 0 0 22px;
    overflow: hidden;
}

body .page-list-ext-image img,
body .Category-article .gb-loop-item figure img {
    width: 100%;
    aspect-ratio: 16 / 9;
    display: block;
    object-fit: cover;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    transition: transform 350ms ease;
}

body .page-list-ext-item:hover img,
body .Category-article .gb-loop-item:hover figure img {
    transform: scale(1.025);
}

body .page-list-ext-title,
body .page-list-ext-date,
body .page-list-ext-excerpt,
body .Category-article .gb-loop-item h2,
body .Category-article .gb-loop-item h3,
body .Category-article .gb-loop-item p {
    margin-inline: 24px;
}

body .page-list-ext h3.page-list-ext-title,
body .Category-article .gb-loop-item h3 {
    margin-bottom: 10px;
    font-size: 1.45rem;
    line-height: 1.15;
}

body .page-list-ext .page-list-ext-date {
    color: var(--bo-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ------------------------------------------------------------------------
   9. CONFIGURATOR
   ------------------------------------------------------------------------ */

body .Config-wrapper,
body #sluzby-config-presets,
body #konfigurator-wrapper {
    color: var(--bo-text);
}

body .Config-wrapper {
    gap: 25px;
    margin-block: var(--bo-section-y);
}

body .Config-wrapper .Config-budget,
body .Config-wrapper .Cena_AddButton,
body #sluzby-config-presets,
body #sluzby-konfigurator .sekce-box {
    padding: 24px !important;
    background: var(--bo-surface) !important;
    border: 1px solid var(--bo-surface-2) !important;
    border-radius: var(--bo-radius-md) !important;
    box-shadow: var(--bo-shadow-sm);
}

body #sluzby-config-buttons {
    gap: 14px;
}

body #sluzby-config-buttons div {
    min-height: 96px;
    padding: 18px !important;
    color: var(--bo-text);
    background: var(--bo-bg) !important;
    border: 1px solid var(--bo-surface-2) !important;
    border-radius: var(--bo-radius-sm) !important;
    box-shadow: none;
    transition: background 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body #sluzby-config-buttons div:hover,
body #sluzby-config-buttons div.aktivni-zamer,
body [data-zamer].aktivni-zamer {
    color: var(--bo-text);
    background: var(--bo-accent-soft) !important;
    border-color: var(--bo-accent) !important;
    transform: translateY(-2px);
}

body #sluzby-konfigurator {
    gap: 18px;
}

body #sluzby-konfigurator .sekce-box h3,
body #sluzby-konfigurator .sekce-box .frekvence-group h4 {
    color: var(--bo-text);
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-weight: 500;
}

/* ------------------------------------------------------------------------
   10. REFERENCES
   ------------------------------------------------------------------------ */

body .Reference_klientu {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px !important;
    align-items: stretch;
    padding-block: var(--bo-section-y);
}

body .Reference_klientu > .wp-block-column,
body .Reference_klientu_clmn {
    min-width: 0;
    height: 100%;
    position: relative;
    margin: 0 !important;
    padding: 30px !important;
    background: var(--bo-surface) !important;
    border: 1px solid var(--bo-surface-2) !important;
    border-radius: var(--bo-radius-md) !important;
    box-shadow: var(--bo-shadow-sm);
}

body .Reference_klientu > .wp-block-column::before,
body .Reference_klientu_clmn::before {
    content: "“";
    display: block;
    height: 42px;
    margin-bottom: 6px;
    color: var(--bo-accent);
    font-family: var(--font-display, 'Fraunces', Georgia, serif);
    font-size: 4.5rem;
    line-height: 0.9;
}

body .Reference_klientu p {
    color: var(--bo-deep);
}

body .Reference_klientu img {
    border: 0 !important;
    box-shadow: none !important;
}

/* ------------------------------------------------------------------------
   11. FOOTER
   ------------------------------------------------------------------------ */

body .site-footer {
    color: var(--bo-on-primary);
    background: var(--bo-primary) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    position: relative;
    width: 100vw;
    max-width: 100% !important;
}

body .footer-widgets,
body .site-footer .footer-widgets-container {
    padding: 0 var(--bo-side-padding);
    background: transparent !important;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    width: 1320px;
}

body .site-footer .footer-widgets-container .inside-footer-widgets {
    display: grid !important;
    grid-template-columns: 1.35fr repeat(2, 1fr);
    gap: clamp(28px, 4vw, 56px);
    padding-block: clamp(25px, 6vw, 50px) !important;
}

body .inside-footer-widgets > div,
body .footer-widget-1,
body .footer-widget-2,
body .footer-widget-3,
body .footer-widget-4,
body .footer-widget-5 {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bo-on-primary);
    border: solid 1px rgba(201, 161, 74);
    background-color: rgb(27, 32, 62);
}

body .inside-footer-widgets aside h2,
body .inside-footer-widgets aside h3,
body .inside-footer-widgets aside h4 {
    margin-bottom: 18px;
    padding: 0;
    color: var(--bo-accent) !important;
    font-family: var(--font-body, 'Inter', sans-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.4;
    text-transform: uppercase;
}

body .inside-footer-widgets p,
body .inside-footer-widgets li,
body .inside-footer-widgets a,
body .site-footer .footer-bar,
body .site-footer .footer-bar p,
body .site-footer .footer-bar a {
    color: rgba(246, 244, 239, 0.84) !important;
    font-size: 14px;
    line-height: 1.7;
}

body .inside-footer-widgets a:hover,
body .site-footer .footer-bar a:hover {
    color: var(--bo-accent) !important;
}

body .inside-footer-widgets ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body .inside-footer-widgets li {
    margin-bottom: 8px;
    padding-left: 0;
}

body .inside-footer-widgets li::before {
    display: none !important;
    content: none !important;
}

body .site-info {
    padding: 0 var(--bo-side-padding);
    color: rgba(246, 244, 239, 0.68);
    background: var(--bo-primary) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

body .site-info .inside-site-info,
body .site-info .footer-bar {
    padding-block: 16px !important;
}

/* ------------------------------------------------------------------------
   12. TABLET
   ------------------------------------------------------------------------ */

@media (max-width: 1180px) {
    body #masthead .inside-header.grid-container,
    body .inside-header.grid-container {
        gap: 18px;
    }

    body .main-navigation .main-nav ul li a {
        padding-inline: 8px !important;
        font-size: 13px !important;
    }

    body .header-widget {
        display: none !important;
    }

    body .bo-revamp-hero {
        grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
        gap: 34px;
    }

    body .page-list-ext,
    body .Category-article:has(.gb-loop-item),
    body .Reference_klientu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .site-footer .footer-widgets-container .inside-footer-widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ------------------------------------------------------------------------
   13. MOBILE / SMALL TABLET
   ------------------------------------------------------------------------ */

@media (max-width: 1024px) {
    body .top-bar {
        padding-inline: 14px !important;
    }

    body #menu-languages-and-social {
        gap: 12px;
    }

    body #menu-languages-and-social a {
        font-size: 11px !important;
    }

    body #masthead .inside-header.grid-container,
    body .inside-header.grid-container {
        min-height: 64px;
        padding: 9px 16px !important;
        justify-content: space-between;
    }

    body .site-logo {
        position: static !important;
        width: auto !important;
        min-width: 0;
    }

    body .site-logo a {
        width: auto !important;
        height: auto !important;
        background: transparent !important;
        border: 0 !important;
    }

    body .site-logo img {
        display: block !important;
        height: 42px !important;
    }

    body #mobile-menu-control-wrapper {
        width: auto;
        min-height: 42px;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--bo-primary) !important;
        background-image: none !important;
        border: 1px solid var(--bo-primary) !important;
        border-radius: var(--bo-radius-sm) !important;
    }

    body .menu-toggle {
        min-height: 42px;
        padding: 8px 12px !important;
        color: var(--bo-on-primary) !important;
        background: transparent !important;
        border: 0 !important;
        font-size: 15px !important;
        line-height: 1.2;
    }

    body .menu-toggle .gp-icon svg {
        width: 22px !important;
        height: 22px !important;
        position: static !important;
        inset: auto !important;
        fill: currentColor !important;
    }

    body .has-inline-mobile-toggle #site-navigation.toggled,
    body #site-navigation.toggled {
        width: calc(100% + 32px) !important;
        margin: 9px -16px -9px !important;
        padding: 12px 16px 18px !important;
        background: var(--bo-surface) !important;
        border-top: 1px solid var(--bo-surface-2) !important;
        border-bottom: 1px solid var(--bo-surface-2) !important;
        border-radius: 0 !important;
        box-shadow: var(--bo-shadow-md);
    }

    body .main-navigation.toggled .main-nav > ul {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
    }

    body .main-navigation.toggled .main-nav ul li a,
    body #menu-top-company-menu a[href*="kontakt"] {
        width: 100%;
        margin: 0;
        padding: 12px 14px !important;
        color: var(--bo-text) !important;
        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid var(--bo-surface-2) !important;
        border-radius: 0 !important;
        font-size: 15px !important;
    }

    body .main-navigation.toggled .main-nav ul li a:hover,
    body #menu-top-company-menu a[href*="kontakt"]:hover {
        color: var(--bo-primary) !important;
        background: var(--bo-accent-soft) !important;
    }

    body .Hp-Intro-Clmn,
    body .bo-revamp-hero-copy {
        padding-block: 48px 42px;
    }

    body .Hp-Intro-Clmn::after,
    body .bo-revamp-hero-copy::after {
        display: none;
    }

    body .bo-revamp-hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    body .HP-Services-Boxes {
        grid-template-columns: 1fr;
    }

    body #sluzby-konfigurator {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    body.admin-bar header.site-header {
        top: 46px;
    }

    body .top-bar {
        display: none !important;
    }

    body .site-content {
        padding-inline: 16px !important;
    }

    body h1 {
        font-size: clamp(1.5rem, 5.15vw, 2.5rem);
        line-height: 1.02;
    }

    body h2 {
        font-size: clamp(2rem, 9vw, 3rem);
    }

    body .Hp-Intro-Clmn::before,
    body .bo-revamp-hero-copy::before {
        font-size: 10px;
        letter-spacing: 0.16em;
    }

    body .bo-revamp-stats {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body .page-list-ext,
    body .Category-article:has(.gb-loop-item),
    body .Reference_klientu,
    body .site-footer .footer-widgets-container .inside-footer-widgets {
        grid-template-columns: 1fr;
    }

    body .HP-Services-Boxes section,
    body .HP-Obchod,
    body .HP-Marketing,
    body .HP-Management,
    body .Reference_klientu > .wp-block-column,
    body .Reference_klientu_clmn {
        padding: 24px !important;
    }

    body .Config-wrapper {
        flex-direction: column;
    }

    body .Config-wrapper > * {
        width: 100%;
    }
}

@media (max-width: 480px) {
    body #masthead .inside-header.grid-container,
    body .inside-header.grid-container {
        padding-inline: 14px !important;
    }

    body .site-logo img {
        height: 38px !important;
    }

    body .wp-block-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    body .wp-block-button,
    body .wp-block-button__link {
        width: 100%;
    }
}


/* ------------------------------------------------------------------------
   13. GLOBAL INNER PAGES — PAGE, POST, ARCHIVE AND SEARCH
   ------------------------------------------------------------------------ */

body:not(.home) .site-content {
    width: min(100%, var(--bo-container));
    margin-inline: auto;
    padding: 0px;
}

body:not(.home) #primary,
body:not(.home) #main,
body:not(.home) article,
body:not(.home) .inside-article,
body:not(.home) .entry-content {
    background: transparent;
}

body:not(.home) .inside-article,
body:not(.home) .page-header,
body:not(.home) .comments-area,
body:not(.home) .paging-navigation {
    padding: 0 !important;
    box-shadow: none !important;
}

body:not(.home) .entry-header,
body:not(.home) .page-header {
    max-width: 920px;
    margin: 0 0 clamp(10px, 4vw, 20px);
    padding-bottom: 20px !important;
    border-bottom: 0px solid var(--bo-surface-2);
}

body:not(.home) .entry-title,
body:not(.home) .page-title {
    font-size: clamp(1.5rem, 5.15vw, 2.5rem);
    font-weight: 300;
    line-height: 1.01;
    letter-spacing: 0.025em;
}

body:not(.home) .entry-meta {
    margin-top: 14px;
    color: var(--bo-muted);
    font-size: 13px;
}

body:not(.home) nav#breadcrumbs,
body:not(.home) .aioseo-breadcrumbs {
    width: min(100%, var(--bo-container));
    margin: 0 auto;
    padding: 12px var(--bo-side-padding) !important;
    color: var(--bo-muted);
    background: transparent !important;
    border-bottom: 0px solid var(--bo-surface-2);
    font-size: 12px;
}

body:not(.home) nav#breadcrumbs a,
body:not(.home) .aioseo-breadcrumbs a {
    color: var(--bo-text) !important;
    text-decoration: none;
}

body:not(.home) nav#breadcrumbs a:hover,
body:not(.home) .aioseo-breadcrumbs a:hover {
    color: var(--bo-accent) !important;
}

body:not(.home) .entry-content {
    color: var(--bo-text);
    font-size: clamp(16px, 1.2vw, 18px);
    line-height: 1.5;
}

body:not(.home) .entry-content > p,
body:not(.home) .entry-content > ul,
body:not(.home) .entry-content > ol,
body:not(.home) .entry-content > blockquote,
body:not(.home) .entry-content > h2,
body:not(.home) .entry-content > h3,
body:not(.home) .entry-content > h4 {
    max-width: 900px;
}

body:not(.home) .entry-content h2 {
    color: var(--bo-text);
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    font-weight: 400;
    line-height: 2.8rem;
    letter-spacing: 0.02em;

}

body:not(.home) .entry-content h3 {
    margin-bottom: 10px;
    color: var(--bo-text);
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.1;
}

body:not(.home) .entry-content a:not(.wp-block-button__link):not(.tlacitko-varianty) {
    color: var(--bo-text);
    text-decoration-color: var(--bo-accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

body:not(.home) .entry-content a:not(.wp-block-button__link):not(.tlacitko-varianty):hover {
    color: var(--bo-accent-hover);
}

body:not(.home) .entry-content blockquote {
    margin-block: 32px;
    padding: 22px 26px;
    color: var(--bo-text);
    background: var(--bo-surface);
    border: 0;
    border-left: 3px solid var(--bo-accent);
    box-shadow: var(--bo-shadow-sm);
}

body:not(.home) .entry-content table {
    width: 100%;
    margin-block: 28px;
    overflow: hidden;
    background: var(--bo-surface);
    border: 1px solid var(--bo-surface-2);
    border-collapse: separate;
    border-spacing: 0;
    box-shadow: var(--bo-shadow-sm);
}

body:not(.home) .entry-content th {
    color: var(--bo-on-primary);
    background: var(--bo-primary);
    font-weight: 600;
}

body:not(.home) .entry-content th,
body:not(.home) .entry-content td {
    padding: 13px 15px;
    border: 0;
    border-bottom: 1px solid var(--bo-surface-2);
    text-align: left;
}

body:not(.home) .entry-content tr:last-child td {
    border-bottom: 0;
}

body:not(.home) input:not([type='checkbox']):not([type='radio']),
body:not(.home) select,
body:not(.home) textarea {
    min-height: 46px;
    padding: 10px 12px;
    color: var(--bo-text);
    background: var(--bo-surface);
    border: 1px solid #d8d2c6;
    border-radius: var(--bo-radius-sm);
    box-shadow: none;
}

body:not(.home) input:focus,
body:not(.home) select:focus,
body:not(.home) textarea:focus {
    outline: 2px solid color-mix(in srgb, var(--bo-accent) 40%, transparent);
    outline-offset: 1px;
    border-color: var(--bo-accent);
}

body.archive .site-main,
body.blog .site-main,
body.search .site-main {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

body.archive .page-header,
body.blog .page-header,
body.search .page-header,
body.archive .paging-navigation,
body.blog .paging-navigation,
body.search .paging-navigation {
    grid-column: 1 / -1;
}

body.archive .site-main > article,
body.blog .site-main > article,
body.search .site-main > article {
    min-width: 0;
    padding: 24px !important;
    background: var(--bo-surface) !important;
    border: 1px solid var(--bo-surface-2);
    box-shadow: var(--bo-shadow-sm);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

body.archive .site-main > article:hover,
body.blog .site-main > article:hover,
body.search .site-main > article:hover {
    transform: translateY(-3px);
    border-color: var(--bo-accent-soft);
    box-shadow: var(--bo-shadow-md);
}

body.archive .site-main > article .entry-title,
body.blog .site-main > article .entry-title,
body.search .site-main > article .entry-title {
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
}

body.archive .site-main > article .post-image,
body.blog .site-main > article .post-image,
body.search .site-main > article .post-image,
body.archive .site-main > article .featured-image,
body.blog .site-main > article .featured-image,
body.search .site-main > article .featured-image {
    margin: -24px -24px 22px !important;
}

body.archive .site-main > article img,
body.blog .site-main > article img,
body.search .site-main > article img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

body.single-post .entry-content,
body.single .entry-content {
    max-width: 1040px;
}

body.single-post .featured-image,
body.single .featured-image {
    margin-bottom: clamp(30px, 5vw, 56px);
}

body.single-post .featured-image img,
body.single .featured-image img {
    width: 100%;
    max-height: 620px;
    object-fit: cover;
    border: 1px solid var(--bo-surface-2);
}

@media (max-width: 1024px) {
    body.archive .site-main,
    body.blog .site-main,
    body.search .site-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body:not(.home) .site-content {
        padding-top: 0px !important;
        padding-bottom: 0px !important;
    }

    body.archive .site-main,
    body.blog .site-main,
    body.search .site-main {
        grid-template-columns: 1fr;
    }

    body:not(.home) .entry-title,
    body:not(.home) .page-title {
        font-size: clamp(2rem, 10vw, 3rem);
    }
}