/* Custom styles for UpCz */

/* CSS Custom Properties for reusable values */
:root {
    --decorative-element-z-index: 0;
    --content-z-index: 1;
    --carousel-nav-size: 52px;
    --carousel-arrow-size: 16px;
    --quote-marker-size-large: 60px;
    --quote-marker-size-small: 30px;
}

/* .single-post.postid-1539 .wp-block-post-date {
    display: none;
} */

.single-post .entry-content h2 {
    font-size: 2rem;
}
.single-post .entry-content h3 {
    font-size: 1.75rem;
}
.single-post .entry-content h4 {
    font-size: 1.5rem;
}
.visible {
  z-index: 2;
  position: relative;
}
.hide {
    display: none;
}
.overflow-hidden {
    overflow: hidden;
}
.negativ-left-50 {
  margin-left: -50px;
}
.negativ-left-300 {
    margin-left: -300px;
}

.equal-height-columns {
    display: flex;
    gap: var(--wp--style--block-gap, 2rem); /* zachová mezeru mezi sloupci */
  }
  
  .equal-height-columns > .wp-block-column {
    display: flex;
    flex-direction: column;
    justify-content: stretch;
  }

.wp-block-image {
    text-align: initial;
}
@media only screen and (max-width: 781px) {
    .wp-image-9796 {
        display: none;
    }
}
.orange-btn a {
    color: var(--wp--preset--color--white-fg);
    font-weight: bold;
    background-color: var(--wp--preset--color--primary-orange);
    padding: 16px 24px !important;
    border-radius: 12px;
    line-height: var(--wp--custom--button--typography--line-height);
}
.orange-btn a:hover {
    background-color: var(--wp--preset--color--accent-orange);
    color: var(--wp--preset--color--white-fg) !important;
    text-decoration: none;
}
li::marker {
    color: var(--wp--preset--color--primary-orange);
}
@media screen {
    .d-none {
        display: none;
    }   
}
@media (min-width: 782px) {
    .d-sm-none {
        display: none;
    }
    .d-sm-table-cell {
        display: table-cell;
    }
}
.wp-block-cover, .wp-block-cover-image {
    min-height: 310px;
}
.grecaptcha-badge {
    display: none;
}
a:not(.ab-item):not(.screen-reader-shortcut):active, a:not(.ab-item):not(.screen-reader-shortcut):focus {
    outline: none;
}

/* Custom block styles */
ul.is-style-white-check, ul.is-style-orange-check, ul.is-style-orange-x {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

ul.is-style-white-check > li, ul.is-style-orange-check > li, ul.is-style-orange-x > li {
  position: relative;
  padding-left: 2.5em;
  margin-bottom: 0.5em;
}

ul.is-style-white-check > li::before, ul.is-style-orange-check > li::before, ul.is-style-orange-x > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  width: 1.5em;
  height: 1.5em;
  background-image: url('/wp-content/uploads/2025/03/621011.svg');
  background-size: contain;
  background-repeat: no-repeat;
}
ul.is-style-orange-check > li::before {
  background-image: url('/wp-content/uploads/2025/03/111140.svg');
}
ul.is-style-orange-x > li::before {
    background-image: url('/wp-content/uploads/2025/03/111029.svg');
}

.wp-block-quote.is-style-up-quote {
    position: relative;
    border: none;
    padding-left: 0;
}
.wp-block-quote.is-style-up-quote::before {
    content: "“";
    position: absolute;
    left: -20px;
    top: -55px;
    font-size: 80px;
    color: var(--wp--preset--color--accent, #ff8c00);
    font-weight: 700;
}
.wp-block-quote.is-style-up-quote::after {
    content: "”";
    position: absolute;
    right: -30px;
    bottom: -100px;
    font-size: 80px;
    color: var(--wp--preset--color--accent, #ff8c00);
    font-weight: 700;
}

/* Responsive styles */
@media (max-width: 781px) {
    .hide-on-mobile {
        display: none !important;
    }
    .no-bg-mobile {
        background-image: none !important;
    }
    /*
    .wp-block-image img {
        height: auto !important;
    } */
    .wp-site-blocks .site-header .wp-block-site-logo {
        flex-basis: initial;
        margin-bottom: unset;
        margin-top: calc( var(--wp--custom--gap--vertical) / 2 );
        text-align: center;
    }
    .entry-content > .wp-block-group.has-background {
        padding: var(--wp--custom--gap--vertical) var(--wp--custom--gap--horizontal) !important;
    }
    /*
    .entry-content > .wp-block-group > .wp-block-columns > .wp-block-column > .wp-block-group {
        min-height: 79vw !important;
    } */
    .wp-container-core-group-is-layout-9dde13e5 {
        margin-top: 0;
    }
    .container_028ae42a8e8f > * {
        text-align: left !important;
        max-width: 100% !important;
    }
    .wp-container-core-group-is-layout-6b856653 {
        margin-top: 70px !important;
    }
}
@media (min-width: 480px) {
    .wp-block[data-align=left], .wp-block[data-align=right], .wp-site-blocks .alignleft, .wp-site-blocks .alignright {
        max-width: unset;
    }
}

/* Navigation and Top bar */
nav .wp-block-search__inside-wrapper {
    background-color: transparent;
}
a.wp-block-navigation-item__content.current-menu-item {
    color: var(--wp--preset--color--primary-orange) !important;
}
nav .wp-block-search__button.has-icon {
    color: var(--wp--preset--color--white-fg);
    background: transparent;
    padding: 0.5rem;
}
nav .wp-block-search__button.has-icon:hover svg {
    border-bottom: 1px solid var(--wp--preset--color--primary-orange);
}
@media (min-width: 782px) {
    nav .wp-block-search:not(.wp-block-search__searchfield-hidden) {
        position: absolute;
        top: 65px;
        background: var(--wp--preset--color--black-bg);
        border-radius: 16px;
        padding: 15px 0px 15px 15px;
    }
}
.wpml-language-switcher-navigation-block ul.horizontal-list > li.wp-block-navigation-item[data-wpml="current-language-item"] {
    display: none;
}
main#wp--skip-link--target {
    margin-block-start: 0;
    margin-top: 0;
  }
/*
@media (min-width: 782px) {
    main#wp--skip-link--target {
      margin-top: -112px;
    }
} */
.wp-site-blocks > div.is-position-sticky {
    padding: var(--wp--custom--gap--vertical) var(--wp--custom--gap--horizontal);
    opacity: 0.95;
    transition: all 0.3s ease; 
}
header nav .wp-block-navigation__responsive-container-content {
    gap: 20px;
}
.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container {
    min-width: 230px;
}

/* Stretched links */
.stretched-link-container > div {
  position: relative;
  cursor: pointer;
}
@media only screen and (min-width: 782px) {
    .stretched-link-container > div {
      transition: transform 0.3s ease-in-out;
    }
    .stretched-link-container > div:hover {
        transform: scale(1.02);
    }
}

/* Homepage */
.slick-next, .slick-prev {
  top: 8%;
}
@media only screen and (min-width: 782px) {
    .cb-button-prev.swiper-button-prev {
        left: -30px;
    }
    .cb-button-next.swiper-button-next {
        right: -30px;
    }
}
.wp-block-cb-carousel .slick-next:before, .wp-block-cb-carousel .slick-prev:before {
    color: var(--wp--preset--color--primary-orange);
    opacity: 1;
}
@media only screen and (min-width: 1050px) {
    .home-cards {
        margin-top: -85px;
    }
    .home-cards > .wp-block-columns > .wp-block-column > .wp-block-group {
        margin-top: 23px;
    }
}

.home-benefit {
    background-size: contain !important;
    background-repeat: no-repeat;
    background-position: bottom;
}
@media only screen and (max-width: 781px) {
    .home-benefit {
        background-image: none !important;
    }
}
.small-icons .wp-block-media-text {
    grid-template-columns: 8% auto !important;
}
.small-icons figure.wp-block-media-text__media > img {
    width: 24px;
}
.small-icons .wp-block-media-text__content {
    padding: 0;
}
.small-icons .wp-block-media-text__content > p {
    margin-top: 0;
}
.accent-hover:hover {
    background-color: var(--wp--preset--color--accent-orange);
    border-radius: 12px;
}
@media only screen and (max-width: 781px) {
    .stats > .wp-block-column {
        padding: 0 0 25px 0 !important;
    }
}
.home .slider {
    padding-top: 112px !important;
    background-image: url(https://www.upverso.cz/wp-content/smush-webp/2025/03/Background-1024x372.png.webp);
    background-position: center;
    background-size: cover;
}
.home .slider h1 {
    font-size: 3rem;
}
@media (max-width: 768px) {
  .home .slider {
    padding-top: 40px !important;
    background-image: none;
  }
  .home .slider h1 {
    font-size: 2.5rem;
  }
}
.slider .wp-image-1457 {
  width: 100% !important;
  height: auto !important;
  display: block;
  object-fit: cover;
  aspect-ratio: 585 / 486;
}
.slider .wp-block-columns .wp-block-column:last-child {
  content-visibility: auto;
  contain: layout style;
  overflow: hidden;
}
.slider .wp-block-image img {
  max-width: 100%;
  height: auto;
  display: block;
}
@media (min-width: 782px) {
    .radial-gradient-orange {
        position: relative;
        overflow: hidden;
        isolation: isolate;
      }
    .radial-gradient-orange::before {
        content:"";
        position:absolute;
        left: 50%;
        top: 0;
        width: clamp(420px, 60vw, 685px);
        height: clamp(420px, 60vw, 685px);
        border-radius: 9999px;
        transform: translate(-50%, -45%);
        z-index: -1;
        pointer-events: none;
        background: radial-gradient(44.45% 58.28% at 50% 50%, #F7931E 80%, #377AFF 100%);
        filter: blur(150px);
    }
    .radial-gradient-orange.bottom::before {
        top: auto;
        bottom: 0;
        transform: translate(-50%, 87%);
    }
    .radial-gradient-orange.right::before {
        top: auto;
        bottom: 45%;
        transform: translate(135%, 35%);
        filter: blur(100px);
        width: 250px;
        height: 250px;
    }
    .radial-gradient-orange.bottom-right::before {
        top: auto;
        bottom: 5%;
        transform: translate(0%, 50%);
        filter: blur(100px);
    }
    .radial-gradient-orange.bottom-left::before {
        top: auto;
        bottom: 0%;
        transform: translate(-120%, 80%);
        filter: blur(100px);
    }
    .radial-gradient-orange.left::before {
        top: auto;
        bottom: 55%;
        transform: translate(-146%, 76%);
        width: 402.646px;
        height: 402.646px;
        aspect-ratio: 402.65/402.65;
        border-radius: 402.646px;
        background: radial-gradient(44.45% 58.28% at 50% 50%, #F7931E 80%, #377AFF 100%);
        filter: blur(100px);
    }
    /* 2. radial glow (aktivuje se tridou .top-right) */
    .radial-gradient-orange::after{
        content: none; /* defaultne vypnuto */
    }    
    .radial-gradient-orange.top-right::after{
        content:"";
        position:absolute;
        right: 0;
        top: 0;
        width: clamp(420px, 60vw, 685px);
        height: clamp(420px, 60vw, 685px);
        border-radius: 9999px;
        /* z rohu "leze" do sekce */
        transform: translate(40%, -80%);
        z-index: -1;
        pointer-events: none;
        /* stejny styl jako bottom-left (jen symetricky) */
        background: radial-gradient(44.45% 58.28% at 50% 50%, #F7931E 80%, #377AFF 100%);
        filter: blur(100px);
    }
    .radial-gradient-orange.product::before{
        content: none;
    }

    .section-with-person{
        position: relative;
        overflow: hidden;
        isolation: isolate;
    }
    .section-with-person::after{
        content: "";
        position: absolute;
        right: 25%;
        bottom: 0;
        width: clamp(280px, 28vw, 360px);
        height: auto;
        aspect-ratio: 3 / 4;
        background-image: url("/wp-content/uploads/2026/01/Group-27-1.webp");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: bottom center;
        pointer-events: none;
    }
    .section-with-person>div{
        gap: 19rem;
    }
}

/* Products page */
.product-cards .wp-block-columns > .wp-block-column > div {
  position: relative;
}
.product-cards .wp-block-columns > .wp-block-column > div h2 {
  z-index: 2;
  position: relative;
}
.product-cards .wp-block-columns > .wp-block-column > div::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 45%;
  pointer-events: none;
  z-index: 1;
}
.product-cards .wp-block-columns > .wp-block-column:nth-of-type(1) > div::before {
  background-image: url(/wp-content/uploads/2025/03/6397.svg);
}
.product-cards .wp-block-columns > .wp-block-column:nth-of-type(2) > div::before {
  background-image: url(/wp-content/uploads/2025/03/6799.svg);
}
.product-cards .wp-block-columns > .wp-block-column:nth-of-type(3) > div::before {
  background-image: url(/wp-content/uploads/2025/03/6840.svg);
}

/* Other Pages */
.up-svet-section ul.blablablocks-tabs-buttons {
    margin-top: -40px !important;
    overflow: hidden;
}
.up-svet-section .blablablocks-tabs-content {
    margin-top: -40px;
    z-index: -1;
}
.up-svet-section .blablablocks-tabs-buttons li:first-of-type span.bbb-tab-icon {
    margin-right: 20px;
}
@media (max-width: 781px) {
    .up-svet-section span.bbb-tab-icon {
        display: none;
    }
}
body.single-vyzvy .vyzva-bottom > div.wp-block-group.radial-gradient-orange.bottom-right {
    background: transparent !important;
    border-radius: 0 !important;
}
body.single-vyzvy .vyzva-bottom ul.blablablocks-tabs-buttons.has-background.has-dark-bg-background-color {
    background: transparent !important;
}
body.single-vyzvy .vyzva-bottom .blablablocks-tabs__vertical .blablablocks-tabs-buttons .blablablock-tab-btn {
    background: transparent;
}

/* Tabs arrows for vertical tabs */
.blablablocks-tabs__vertical .blablablocks-tabs-buttons .blablablock-tab-btn {
    position: relative;
    padding-right: 30px;
}
.blablablocks-tabs__vertical .blablablocks-tabs-buttons .blablablock-tab-btn::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 7px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg width='7' height='14' viewBox='0 0 7 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L1 13' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-image 0.3s ease;
    flex-shrink: 0;
}
.blablablocks-tabs__vertical.blablablocks-tabs-icon__left .blablablocks-tabs-buttons .blablablock-tab-btn::after {
    right: 20px;
}
.blablablocks-tabs__vertical.blablablocks-tabs-icon__right .blablablocks-tabs-buttons .blablablock-tab-btn::after {
    right: 0px;
}
.blablablocks-tabs__vertical .blablablocks-tabs-buttons .blablablock-tab-btn.is-bbb-active-tab::after {
    background-image: url("data:image/svg+xml,%3Csvg width='7' height='14' viewBox='0 0 7 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 7L1 13' stroke='%23F7931E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.blablablocks-tab-container .blablablock-tab-btn {
    padding: 15px 30px 15px 30px;
}
@media (max-width: 781px) {
    .blablablocks-tabs__vertical .blablablocks-tabs-buttons .blablablock-tab-btn::after {
        display: none;
    }
    .blablablocks-tabs__vertical .blablablocks-tabs-buttons .blablablock-tab-btn {
        padding-right: var(--bbb-tab-padding, 1rem);
    }
    .blablablocks-tab-container .blablablock-tab-btn {
       padding: 10px 20px 10px 20px;
    }
}
.blablablocks-tabs.blablablocks-tab-container.blablablocks-tabs__horizontal.wp-block-blablablocks-tabs {
    z-index: 1;
    position: relative;
}

/* Tab title and description structure - Figma design */
.blablablocks-tabs-buttons .blablablock-tab-btn .tab-button-text {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
    width: 100%;
}
.blablablocks-tabs-buttons .blablablock-tab-btn .tab-title {
    font-weight: 700;
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.0;
    color: #FFFFFF;
    display: block;
    width: 100%;
}
.blablablocks-tabs-buttons .blablablock-tab-btn.is-bbb-active-tab .tab-title {
    color: var(--wp--preset--color--primary-orange, #F7931E);
}
.blablablocks-tabs-buttons .blablablock-tab-btn .tab-description {
    font-weight: 400;
    font-size: 13px;
    line-height: 1.6;
    color: #EFF4F8;
    display: block;
    margin-top: 0;
    width: 100%;
}
/* Tab content layout - image at bottom (only for vyzvy-tabs class) */
@media (min-width: 782px) {
    /* Ensure hidden tabs stay hidden */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content[hidden] {
        display: none !important;
    }
    
    /* Only apply flex layout to visible (non-hidden) tab content */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) {
        display: flex;
        flex-direction: column;
    }
    
    /* Main content group - ensure it's flex column */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) > .wp-block-group.is-vertical.is-layout-flex {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 100%;
    }
    
    /* Image container - push to bottom and align to right (consistent for all) */
    /* Apply to all .is-layout-constrained containers that contain images */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-group.is-layout-constrained:has(.wp-block-image),
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-group.is-layout-constrained:has(figure.wp-block-image),
    /* Fallback - apply to all .is-layout-constrained (will work for image containers) */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-group.is-layout-constrained {
        margin-top: auto !important;
        margin-bottom: 0 !important;
        margin-block-start: auto !important;
        margin-block-end: 0 !important;
        display: flex !important;
        justify-content: flex-end !important;
        align-items: flex-end !important;
        width: 100% !important;
    }
    
    /* Align figure/image to the right (merged rules) */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-group.is-layout-constrained .wp-block-image.alignright,
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-group.is-layout-constrained figure.wp-block-image.alignright {
        margin: 0 0 0 auto;
        float: none;
        display: flex;
        align-items: flex-end;
        width: fit-content;
        max-width: 100%;
        min-height: 500px;
    }
    
    /* Ensure images maintain consistent size and align right */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-image.alignright img {
        display: block;
        margin: 0 0 0 auto;
        width: auto;
        height: 500px;
        max-width: 100%;
        object-fit: cover;
        object-position: center bottom;
    }
    
    /* Limit spacer height to reasonable value */
    .vyzvy-tabs.blablablocks-tabs__vertical .blablablocks-tab-content:not([hidden]) .wp-block-spacer {
        flex-grow: 0;
        flex-shrink: 0;
        height: 2rem;
        max-height: 2rem;
        min-height: 2rem;
    }
}

@media (max-width: 781px) {
    .blablablocks-tabs-buttons .blablablock-tab-btn .tab-description {
        display: none;
    }
    .blablablocks-tabs__vertical .blablablock-tab-btn {
        max-width: 200px;
    }
    .blablablocks-tab-content.wp-block-blablablocks-tab .wp-block-image:not(.size-full.is-resized) > img {
        width: 100% !important;
        height: auto !important;
    }
}

@media (min-width: 782px) {
    .wp-block-columns.arrows > .wp-block-column:not(:first-of-type):before {
        content: url(/wp-content/uploads/2024/02/padding-top.png);
        position: absolute;
        margin-left: -45px;
    }
}

/* Gallery - Figma design */
.gallery-columns-3 .gallery-item {
    padding: 0.25rem;
}
.gallery-columns-3 .gallery-item {
    max-width: 33%;
}
.gallery-item {
    display: inline-block;
    text-align: center;
    vertical-align: top;
    width: 100%;
}

/* FAQ Details Block - Figma Design */
.wp-block-details {
    border-radius: 16px;
    padding: 20px 30px;
    margin-bottom: 10px;
}
.wp-block-details:not([open]) {
    background-color: var(--wp--preset--color--dark-bg);
}
.wp-block-details:not([open]) summary {
  display: flex;
  align-items: center;
    justify-content: space-between;
  list-style: none;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
  color: var(--wp--preset--color--primary-orange);
    cursor: pointer;
    padding: 0;
    margin: 0;
}
.wp-block-details[open] {
    background-color: transparent;
    border: 1px solid #758793;
}
.wp-block-details[open] summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    color: var(--wp--preset--color--white-fg);
    cursor: pointer;
    padding: 0;
    margin: 0;
}
summary::-webkit-details-marker {
    display: none;
}
.wp-block-details summary::after {
    content: "";
    width: 14px;
    height: 7px;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='7' viewBox='0 0 14 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7 6L13 1' stroke='%23FF8500' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    margin-left: 20px;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}
.wp-block-details[open] summary::after {
    transform: rotate(180deg);
}
.wp-block-details > *:not(summary) {
    margin-top: 20px;
    padding: 0;
}
.wp-block-file:not(.wp-element-button) {
    font-size: unset;
    background-image: url(https://www.ebenefity.cz/wp-content/uploads/2024/02/bxs-file-pdf.svg.png);
    background-repeat: no-repeat;
    background-position: left;
    padding-left: 30px;
    font-weight: bold;
    text-align: left !important;
}
.files table {
    width: 100%;
}
.files tr > td {
    border-bottom: 1px solid #3c516a;
    padding: 12px 5px 15px;
    text-align: center;
}
.files .wp-block-file__button {
    font-weight: bold;
    background: transparent;
    color: var(--wp--preset--color--primary-orange);
    font-size: inherit;
    background-image: url(https://www.ebenefity.cz/wp-content/uploads/2024/02/bxs-download.svg.png);
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 30px;
}
.files .wp-block-file__button:hover {
    background-color: transparent !important;
    color: var(--wp--preset--color--primary-orange) !important;
    text-decoration: underline;
}
@media only screen and (max-width: 781px) {
    .files .wp-block-file__button {
        color: transparent;
        width: 0px;
        margin-left: 0;
    }
}
#mam-zajem {
    background-size: inherit !important;
    background-repeat: no-repeat;
    background-position: bottom left;
}
.bg-contain-right {
    background-size: contain !important;
    background-repeat: no-repeat;
    background-position: right;
}
@media only screen and (max-width: 781px) {
    #mam-zajem, .bg-contain-right {
        background-image: none !important;
    }
    .loga .wp-block-image {
        width: 45%;
    }
}

/* Cenik */
#cenik table th {
    background-color: #F3EEED;
}
#cenik :is(td, th, thead) {
    border: none !important;
}
#cenik figure.wp-block-table {
    border-radius: 16px;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: #FAF9F9;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
    background-color: white;
}
#cenik table img.wp-image-832 {
    display: none;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* Contact form */
.wpcf7-list-item {
    margin: 0;
}
.wpcf7 a {
    text-decoration: underline;
}
.wpcf7 p {
    margin: 0.5rem 0;
}
.wpcf7 label {
    font-weight: bold;
}
span.wpcf7-list-item-label {
    font-weight: normal;
    font-size: var(--wp--custom--font-sizes--x-small);
}
.wpcf7 p.small {
    font-size: var(--wp--custom--font-sizes--x-small);
}
body:not(.single-post) .wpcf7 .wpcf7-form-control.wpcf7-text, body:not(.single-post) .wpcf7 textarea, body:not(.single-post) .wpcf7 select {
    color: var(--wp--preset--color--black-bg);
    background: var(--wp--preset--color--up-light);
    border: 0;
    width: 100%;
}

body.single-post .wpcf7 .wpcf7-form-control.wpcf7-text, body.single-post .wpcf7 textarea, body.single-post .wpcf7 select {
    color: var(--wp--preset--color--black-bg);
    background: #F4F4f4;
    border: 1px solid #FFF;
    width: 100%;
}
.wpcf7 .row {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}
.wpcf7 .col-md-6 {
    position: relative;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}
@media (min-width: 782px) {
  .wpcf7 .col-md-6 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}
.wpcf7 .wpcf7-form-control.wpcf7-text {
    max-width: 100%;
}
.wpcf7 .wpcf7-submit {
    background: var(--wp--custom--button--color--background);
    color: var(--wp--preset--color--white-fg);
    border-radius: 12px;
    font-weight: bold;
    width: 100%;
    padding: 18px;
    border-style: none;
    background-image: url(/wp-content/uploads/2024/02/bx-send.svg.png);
    background-repeat: no-repeat;
    background-position: 59%;
}
.narrow .wpcf7 .wpcf7-submit {
    background-position: 80%;
} 
body.single-post .wpcf7 .wpcf7-submit {
    background-color: var(--wp--preset--color--primary-orange);
    color: #fff;
    border: 0;
}
body.single-post .wpcf7 .wpcf7-submit:hover {
    color: #fff;
    background-color: var(--wp--preset--color--accent-orange);
}
@media (max-width: 781px) {
  .wpcf7 .wpcf7-submit {
    background-position: 64%;
  }
}
.wpcf7 .hidden-fields-container {
    display: none;
}
:is(.wp-block-search__button, .wp-block-button__link):is(:hover, :active, :focus) {
    color: #fff;
}
.wp-block-button.is-style-fill .wp-block-button__link:focus,
.wp-block-button.is-style-fill .wp-block-button__link:active {
    background-color: var(--wp--preset--color--primary-orange) !important;
    outline: none;
}
.wp-block-button.is-style-fill .wp-block-button__link:active {
    background-color: var(--wp--preset--color--accent-orange) !important;
    outline: none;
}

/* Calendar */
.tribe-block {
    --tec-spacer-13: 50px !important;
  --tec-color-text-primary: var(--wp--preset--color--white-fg);
  --tec-color-text-secondary: var(--wp--preset--color--tertiary);
  --tec-color-accent-primary: var(--wp--preset--color--primary-orange) !important;
  --tec-color-icon-active: var(--wp--preset--color--primary-orange);
  --tec-color-day-marker-month: var(--wp--preset--color--white-fg);
    --tec-color-text-day-of-week-month: var(--wp--preset--color--white-fg);
    --tec-color-background: var(--wp--preset--color--dark-gray);
    --tec-color-border-secondary-month-grid: var(--wp--preset--color--black-bg);
    --tec-grid-gutter-page: 30px;
}
.tribe-events-header__events-bar.tribe-events-c-events-bar {
    display: none !important;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-cell--desktop {
    background-color: var(--wp--preset--color--dark-bg);
    border-radius: 10px;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day {
    border-width: 0 3px 3px 0 !important;
}
td.tribe-events-calendar-month__day {
    padding: 6px 3px;
}
.tribe-filter-bar-c-filter__container {
    background: var(--wp--preset--color--black-bg);
    border: 1px solid var(--wp--preset--color--tertiary);
    border-radius: 5px;
}
button.tribe-filter-bar-c-pill__pill {
    background-color: var(--wp--preset--color--dark-bg) !important;
    border-radius: 5px !important;
    border: 1px solid var(--wp--preset--color--tertiary) !important;
}
button.tribe-filter-bar-c-clear-button.tribe-common-c-btn-border.tribe-common-c-btn-border--alt.tribe-filter-bar__action-clear {
    padding: 3px 10px;
    border-radius: 5px !important;
    border: 1px solid var(--wp--preset--color--tertiary) !important;
}

/* Search */
.wp-block-search__inside-wrapper {
    background-color: #3C516A;
    border-radius: 16px;
}
input.wp-block-search__input {
    font-size: var(--wp--custom--font-sizes--x-small) !important;
}
.wp-block-search .wp-block-search__input {
    padding: 10px 20px;
    border: 1px solid #4C627C;
    border-radius: 16px;
    background-color: #3C516A;
    min-width: 15rem;
}
.wp-block-search__button {
    background: transparent;
    color: var(--wp--preset--color--primary-orange);
}
.wp-block-search__button:hover {
    background: transparent !important;
}
.wp-block-search__button:hover svg {
    fill: var(--wp--preset--color--primary-orange) !important;
}

/* Novinky */
.wp-block-post-featured-image img {
    border-radius: 16px 16px 0 0;
}
body.single-post .entry-content, body.single-post .entry-content p {
    font-size: var(--wp--preset--font-size--small);
}
body.single-post .entry-content .wp-block-spacer {
    display: none;
}
body.single-post .entry-content a:where(:not(.wp-element-button)) { 
    color: var(--wp--preset--color--primary-orange);
    text-decoration: underline;
}
@media (min-width: 782px) {
  .hero-cover .wp-block-cover__image-background {
    object-fit: cover;
    object-position: right center;
    background-color: transparent;
    width: 75%;
    left: auto;
    right: 0;
  }
}

.filter ul {
    list-style: none;
    padding: 0;
}
.filter ul > li {
    display: inline-block;
    margin-right: 20px;
}
.filter ul > li.current-cat > a {
    text-decoration: underline;
    color: var(--wp--preset--color--primary-orange)
}
.filter a {
    text-underline-offset: 13px;
    color: var(--wp--preset--color--white-fg);
}

/* Category tags styling - Figma design */
.wp-block-categories-list,
.wp-block-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style: none;
    padding: 0;
}
.wp-block-categories-list li,
.wp-block-categories li {
    display: inline-flex;
    margin: 0;
    padding: 0;
}
.wp-block-categories-list li a,
.wp-block-categories li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7.5px 15px;
    border: 1px solid;
    border-radius: 0 9px 9px 9px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.5px;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
}

/* Category colors based on category ID */
/* Novinky & trendy / Články a novinky - Green (#4dce90) */
.wp-block-categories-list .cat-item-1 a,
.wp-block-categories .cat-item-1 a {
    border-color: #4dce90;
    color: #4dce90;
}

/* Společenská odpovědnost - Yellow (#ffcb00) */
.wp-block-categories-list .cat-item-11 a,
.wp-block-categories .cat-item-11 a {
    border-color: #ffcb00;
    color: #ffcb00;
}

/* Tiskové zprávy - Orange (#ff6a00) */
.wp-block-categories-list .cat-item-10 a,
.wp-block-categories .cat-item-10 a {
    border-color: #ff6a00;
    color: #ff6a00;
}

/* Legislativa - Light Blue (#5ad0f9) - if category exists */
.wp-block-categories-list .cat-item a[href*="legislativa"],
.wp-block-categories .cat-item a[href*="legislativa"] {
    border-color: #5ad0f9;
    color: #5ad0f9;
}

/* Fallback for categories by URL slug (for browsers that support :has()) */
@supports selector(:has(*)) {
    .wp-block-categories-list li:has(a[href*="novinky"]) a:not(.cat-item-1 a),
    .wp-block-categories li:has(a[href*="novinky"]) a:not(.cat-item-1 a) {
        border-color: #4dce90;
        color: #4dce90;
    }
    
    .wp-block-categories-list li:has(a[href*="spolecenska-odpovednost"]) a:not(.cat-item-11 a),
    .wp-block-categories li:has(a[href*="spolecenska-odpovednost"]) a:not(.cat-item-11 a) {
        border-color: #ffcb00;
        color: #ffcb00;
    }
    
    .wp-block-categories-list li:has(a[href*="tiskove-zpravy"]) a:not(.cat-item-10 a),
    .wp-block-categories li:has(a[href*="tiskove-zpravy"]) a:not(.cat-item-10 a) {
        border-color: #f9359c;
        color: #f9359c;
    }
}

/* Hover effect */
.wp-block-categories-list li a:hover,
.wp-block-categories li a:hover {
    opacity: 0.8;
    transform: translateY(-1px);
}

/* Category tags in post cards - Figma design (smaller version) */
.wp-block-post-terms.taxonomy-category {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
}

.wp-block-post-terms.taxonomy-category a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border: 1px solid;
    border-radius: 0 6px 6px 6px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 11px;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s ease;
}

/* Category colors in post cards - same as list */
/* Novinky & trendy / Články a novinky - Green (#4dce90) */
.wp-block-post-terms.taxonomy-category a[href*="novinky"],
.wp-block-post-terms.taxonomy-category a.cat-item-1,
.wp-block-post-terms.taxonomy-category .cat-item-1 a {
    border-color: #4dce90;
    color: #4dce90;
}

/* Společenská odpovědnost - Yellow (#ffcb00) */
.wp-block-post-terms.taxonomy-category a[href*="spolecenska-odpovednost"],
.wp-block-post-terms.taxonomy-category a.cat-item-11,
.wp-block-post-terms.taxonomy-category .cat-item-11 a {
    border-color: #ffcb00;
    color: #ffcb00;
}

/* Tiskové zprávy - Pink (#f9359c) */
.wp-block-post-terms.taxonomy-category a[href*="tiskove-zpravy"],
.wp-block-post-terms.taxonomy-category a.cat-item-10,
.wp-block-post-terms.taxonomy-category .cat-item-10 a {
    border-color: #f9359c;
    color: #f9359c;
}

/* Legislativa - Light Blue (#5ad0f9) */
.wp-block-post-terms.taxonomy-category a[href*="legislativa"] {
    border-color: #5ad0f9;
    color: #5ad0f9;
}

/* Volna mista - tags */
.tag-ribbon {
    position: relative;
    background-color: #5cbe49;
}
.tag-ribbon::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid var(--wp--preset--color--dark-bg);
}

/* Hover effect for post card category tags */
.wp-block-post-terms.taxonomy-category a:hover {
    opacity: 0.8;
    transform: translateY(-1px);
}

.medajlonky img {
    border: 1.5px solid #fff;
    box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
}

/* Animace a efekty - pouze desktop */
@media only screen and (min-width: 782px) {        
    @keyframes slideUpFadeIn {
    0% {
        transform: translateY(50px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
    }
    .animate-up {
        animation: slideUpFadeIn 1s ease-out forwards;
        opacity: 0;
        animation-delay: 0.5s;
    }
    
    @keyframes jiggle {
        0%   { transform: scale(1) rotate(0deg); }
        25%  { transform: scale(1.05) rotate(-5deg); }
        50%  { transform: scale(1.05) rotate(5deg); }
        75%  { transform: scale(1.05) rotate(-3deg); }
        100% { transform: scale(1) rotate(0deg); }
    }  
    .jiggle-on-scroll.animate > img {
        animation: jiggle 1s ease-in-out !important;
        transform-origin: center center !important;
    }
}

/* Products section */
.produkty-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 40px;
}

.produkty-wrapper::after {
    content: "";
    position: absolute;
    inset: auto 20% -40%;
    height: 200px;
    background: radial-gradient(circle at 50% 0%, rgba(255, 162, 0, 0.55), transparent 65%);
    filter: blur(40px);
    pointer-events: none;
}

/* .wp-block-columns.produkty-columns - Gap will be handled by theme's Blockbase spacing system */

.wp-block-column.product-card {
    height: 100%;
}

.wp-block-group.is-style-up-card {
    background: var(--wp--preset--gradient--custom-darker-blue);
    border-radius: 20px;
    /* Padding and gap will be handled by theme's Blockbase spacing system */
    box-shadow: 0 30px 70px rgba(13, 17, 30, 0.55);
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.wp-block-image.is-style-up-card-image img {
    border-radius: 18px;
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.wp-block-button.is-style-up-cta .wp-block-button__link::after {
    content: " →";
    font-size: 1em;
}
.wp-block-button.is-style-fill {
    border-radius: 12px;
}

/* Job cards - "Více informací" links styled as buttons */
.wp-block-post-excerpt__more-link {
    display: inline-block;
    color: var(--wp--preset--color--white-fg) !important;
    font-weight: bold;
    background-color: var(--wp--preset--color--primary-orange);
    padding: 9px 24px;
    border-radius: 12px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    line-height: var(--wp--custom--button--typography--line-height, 1.5);
}

.wp-block-post-excerpt__more-link:hover {
    background-color: var(--wp--preset--color--accent-orange);
    color: var(--wp--preset--color--white-fg) !important;
    text-decoration: none;
}

@media (max-width: 1024px) {
    .wp-block-columns.produkty-columns {
        flex-wrap: wrap;
    }

    .wp-block-columns.produkty-columns > .wp-block-column {
        flex-basis: calc(50% - 15px);
    }
}

@media (max-width: 767px) {
    /* Padding will be handled by theme's Blockbase spacing system */
    .wp-block-columns.produkty-columns > .wp-block-column {
        flex-basis: 100%;
    }
}

/* CSR Section - Circular Cards */
.is-style-circular-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    aspect-ratio: 1 / 1;
}
.is-style-circular-card .wp-block-image {
    margin: 0;
}
.is-style-circular-card .wp-block-heading {
    margin: 0;
}
.is-style-circular-card .wp-block-paragraph {
    margin: 0;
}
.is-style-circular-card .wp-block-paragraph a {
    color: var(--wp--preset--color--primary-orange);
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
}
.is-style-circular-card .wp-block-paragraph a:hover {
    text-decoration: underline;
}

.wp-block-cb-slide-v2.cb-slide > .wp-block-group.is-style-circular-card {
    margin: 30px;
}

/* CSR Section - Tree Background */
/* Přesunuto do old.css - nepoužívané */

/* Section with Decorative Elements - Generic Utility Class */
.section-with-decorative-elements {
    position: relative;
}

.section-with-decorative-elements.has-overflow-hidden {
    overflow: hidden;
}

.section-with-decorative-elements .wp-block-columns {
    position: relative;
    z-index: var(--content-z-index);
}

/* Decorative Ellipse - Generic Base */
/* Přesunuto do old.css - nepoužívané modifikátory */

/* Quote without border - Generic (can be used in any section) */
.section-with-decorative-elements .wp-block-quote {
    border: none;
    margin: 0;
    padding: 0;
}

/* Testimonial Section - Decorative Ellipse Background */
/* Přesunuto do old.css - nepoužívané */

/* Testimonial Section - Decorative Icons */
.testimonial-section .is-style-decorative-icon {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    opacity: 1;
}

.testimonial-section .is-icon-thumbs {
    left: 1088px;
    top: 86px;
    width: 48px;
    height: 52px;
}

.testimonial-section .is-icon-heart {
    left: 802px;
    top: 168px;
    width: 55px;
    height: 59px;
}

.testimonial-section .is-icon-leaf-1 {
    left: 1177px;
    top: 236px;
    width: 22px;
    height: 26px;
    transform: scaleY(-1);
}

.testimonial-section .is-icon-leaf-2 {
    left: 1149px;
    top: 169px;
    width: 55px;
    height: 58px;
    transform: rotate(330.894deg);
}

.testimonial-section .is-style-decorative-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Quote with Markers - Generic (used by testimonial-section, reference-section, and any future sections) */
.is-style-quote-with-markers {
    position: relative;
    border: none;
    margin: 0;
}

.is-style-quote-with-markers--large {
    padding: 0;
}

.is-style-quote-with-markers--large::before {
    content: '"';
    position: absolute;
    left: -10px;
    top: -25px;
    font-size: var(--quote-marker-size-large);
    line-height: 1;
    color: var(--wp--preset--color--primary-orange);
    font-family: Raleway, sans-serif;
    font-weight: 700;
}

.is-style-quote-with-markers--large::after {
    content: '"';
    position: absolute;
    right: -10px;
    bottom: -60px;
    font-size: var(--quote-marker-size-large);
    line-height: 1;
    color: var(--wp--preset--color--primary-orange);
    font-family: Raleway, sans-serif;
    font-weight: 700;
}

/* Organization Logos Grid - Generic */
/* Přesunuto do old.css - nepoužívané base třídy */

/* Logo positions for proc-up-section (specific grid layout) */
.proc-up-section .org-logos-grid > :nth-child(1) {
    left: 0;
    top: 1px;
}

.proc-up-section .org-logos-grid > :nth-child(2) {
    left: 197px;
    top: 1px;
}

.proc-up-section .org-logos-grid > :nth-child(3) {
    left: 394px;
    top: 1px;
}

.proc-up-section .org-logos-grid > :nth-child(4) {
    left: 96px;
    top: 107px;
}

.proc-up-section .org-logos-grid > :nth-child(5) {
    left: 298px;
    top: 107px;
}

.col-icon .wp-block-column > .wp-block-group > figure > img {
    width: 175px !important;
    height: 175px !important;
}
.col-icon .wp-block-column > .wp-block-group > p {
    margin-top: -50px !important;
}

/* Carousel Container - Generic */
/* Přesunuto do old.css - nepoužívané */

/* Certifikat Card - Generic (used by certifikaty-section and any future sections) */
.is-style-certifikat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 0 !important;
}

.is-style-certifikat-card .wp-block-image {
    margin: 0;
    width: 160px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border-radius: 10px;
}

.is-style-certifikat-card .wp-block-image img {
    width: auto;
    height: auto;
    object-fit: contain;
}

.is-style-certifikat-card .wp-block-heading {
    margin: 0;
    padding: 0 10px 20px;
}

/* Carousel Navigation - Generic */
/* Přesunuto do old.css - nepoužívané */

/* Testimonial Card - Generic (used by reference-section and any future sections) */
.is-style-testimonial-card {
    border: 1px solid var(--wp--preset--color--primary-orange);
    border-radius: 16px;
    background-color: transparent;
}

/* Quote with Markers - Small variant */
/* Přesunuto do old.css - nepoužívané */

/* Reference Section - Navigation Buttons Container */
/* Přesunuto do old.css - nepoužívané */

/* Kontakt Section - Decorative Ellipse */
/* Přesunuto do old.css - nepoužívané */

/* Circular Profile Image - Generic (can be used in any section) */
.wp-block-image img[style*="border-radius:50%"] {
    border-radius: 50% !important;
}

/* Calculator */
.calc .form-control {
    background-color: var(--wp--preset--color--up-light);
    border: 0px;
    border-radius: 4px !important;
    background-repeat: no-repeat;
    background-position: 15px;
    width: 100%;
}
#numberEmployee {
    background-image: url(/wp-content/uploads/2024/02/bx-group.svg.png);
}
#valueVoucher {
    background-image: url(/wp-content/uploads/2024/02/bx-credit-card-alt.svg.png);
}
.wp-block-button > a.wp-element-button > img {
    vertical-align: middle;
    margin-right: 5px;
}
.calc table {
    border-spacing: 0;
    display: none;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.calc .table th, .calc .table td {
    padding: 0.5rem;
}
.calc .table td, .calc .table th {
    border-bottom: 1px solid #3C516A;
}
.calc .table thead th {
    border-bottom: 0 !important;
    font-size: var(--wp--custom--font-sizes--x-small);
}
.calc table tr > th.d-none.d-sm-table-cell {
    text-align: left;
}
.calc table tr > td {
    text-align: center;
}
.calc .table-success > * {
    font-weight: bold;
    background-color: green;
}
.calc .table-success > th {
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
    padding-left: 15px;
}
.calc .table-success > td:last-of-type {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
    padding-right: 15px;
}
.calc > .wp-block-columns:first-of-type {
    margin-top: 0;
}
.calc-happy {
    display: none;
}

/* Print Calc styles */
@media screen {
    .screen-only.d-none {
        display: none;
    }   
}
@media screen {
    .print-only {
        display: none !important;
    }
    .screen-only {
        display: block;
    }
}
@media print {
    .print-only {
        display: block;
    }
    .screen-only {
        display: none !important;
    }
    .table td, .table th {
        background-color: transparent !important;
        text-align: center;
        padding: 0.5rem 1rem !important;
        color: black !important;
        border-color: gray !important;
    }
}
@media print and (min-width: 501px) {
    .d-sm-none {
        display: none;
    }
    .d-sm-table-cell {
        display: table-cell;
    }
}
