/*
Theme Name: hrbitovyadopce
Version: 1.0
Description: A child theme of Twenty Twenty
Template: twentytwenty
Author: Administrator
*/
@import url("../twentytwenty/style.css");


@import url("../hrbitovyadopce/assets/css/hrbitovyadopce.css");

:root {
    --admin-bar: 32px;
    --header: 100px;
}

/*--------------------------------------------------ANIMACE*/

#top a,
#top a::after,
#top a::before,
#top h2,
#top button,
#top button::after,
#top button:before,
#top span,
#top span::after,
#top span::before,
#top img,
#top:not(.showing-modal) ul,
#top:not(.showing-modal) li,
#top:not(.showing-modal) li::after,
#top:not(.showing-modal) li::before,
header#site-header,
body#top .primary-menu>li>a::after,
.header-inner,
.hrob-item,
.grid-item-post {
    transition: all 0.3s linear;
    -webkit-transition: all 0.3s -webkit-filter ease-in-out;
    -moz-transition: all 0.3s -moz-filter ease-in-out;
    -ms-transition: all 0.3s -ms-filter ease-in-out;
    -o-transition: all 0.3s -o-filter ease-in-out;
}


/*----------------------------------------------------------------------------------------------------TYPOGRAFIE*/

#top * {
    letter-spacing: unset;
}


strong {
    color: var(--n80);
}

#top .color-accent {
    color: var(--black);
}

body#top,
.entry-content,
.price,
.onsale,
.entry-content cite,
.entry-content figcaption,
.entry-content table,
.entry-content address,
.entry-content .wp-caption-text,
.entry-content .wp-block-file,
.woocommerce table.shop_table tbody tr,
.woocommerce-page table.shop_table tbody tr,
.woocommerce-error,
.woocommerce-info,
.woocommerce-message.woocommerce-message,
#site-content .woocommerce-error,
#site-content .woocommerce-info,
.entry-content p,
.entry-content li,
.entry-header p,
button,
#top .widget-content {
    font-family: var(--font);
    font-size: 20px;
    line-height: 125%;
    color: var(--black);
}

#top .entry-content .has-large-font-size {
    font-size: 20px !important;
    line-height: 150%;
}

#top .entry-content .has-larger-font-size {
    font-size: 28px;
    line-height: 150%;
}

.entry-content p {
    margin-bottom: 16px;
}

.color-accent,
.color-accent-hover:hover,
.color-accent-hover:focus,
:root .has-accent-color,
.has-drop-cap:not(:focus):first-letter,
.wp-block-.is-style-outline,
body a {
    color: var(--n100);
}

/*--------------------------------------------------ELLIPSIS*/
.hrob-name,
#top .item-name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*--------------------------------------------------NADPISY*/
#top .wp-block-heading:first-child {
    margin-top: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
    font-family: var(--font);
    color: var(--black);
    line-height: 125%;
    font-weight: 500;
}

h1,
.heading-size-1 {
    font-size: 42px;
}

h2,
.heading-size-2 {
    font-size: 36px;
}

h3,
.heading-size-3 {
    font-size: 32px;
}

h4,
.heading-size-4 {
    font-size: 28px;
}

h5,
.heading-size-5 {
    font-size: 24px;
}

h6,
.heading-size-6 {
    font-size: 20px;
}

/*----------------------------------------------------------------------------------------------------GENERAL*/
.wp-block-cover .wp-block-cover__image-background {
    mix-blend-mode: multiply;
}

.fancybox__container img,
.fancybox__slide img,
.fancybox__content img {
    transition: none !important;
    animation: none !important;
}

/*--------------------------------------------------HIDE*/

.site-description,
p.powered-by-wordpress,
.home .entry-header,
.entry-content hr::before,
.entry-content hr::after,
hr.styled-separator::before,
hr.styled-separator::after,
.post-meta-wrapper.post-meta-edit-link-wrapper,
.toggle:not(.search-toggle):not(.search-untoggle) svg.svg-icon,
.home #breadcrumbs,
nav.pagination-single hr,
body:not(.overlay-header) .primary-menu>li>.icon,
.header-inner .primary-menu-wrapper+.header-toggles .toggle-wrapper:first-child::before,
.pagination-separator,
.entry-categories,
#top .post-author,
.meta-icon,
.post-views,
.archive-title .color-accent,
#top .close-nav-toggle,
.singular .featured-media::before {
    display: none;
}


/*--------------------------------------------------ZÁKLADNÍ HTML*/




/*--------------------------------------------------LAYOUT*/
#top .section-inner,
.entry-content>.alignwide,
.wp-block-cover.alignfull .alignwide,
.wp-block-group.alignfull .alignwide,
#breadcrumbs .breadcrumb-inner,
.woocommerce .content-area #main>*:not(header),
.woocommerce .entry-content>*:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide),
#adopce-form,
.flex-wrapper {
    width: calc(100% - 40px);
    max-width: 1280px;
    margin: 0 auto;
}

[class*="__inner-container"]>*:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide),
#adopce-form {
    max-width: 1000px;
    width: 100%;
}

.entry-content>*:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    width: calc(100% - 40px);
    max-width: 1280px;
}

body:not(.search) .flex-wrapper {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 40px;
}

#top.archive .flex-wrapper,
#top.single-post .flex-wrapper,
.blog .flex-wrapper {
    grid-template-columns: 3fr 1fr;
}

#top .flex-wrapper .section-inner,
#top .archive-subtitle,
.wp-block-cover.alignfull .alignwide,
.wp-block-cover .wp-block-cover__inner-container {
    width: 100%;
}



.home main#site-content {
    padding-top: var(--header);
}

/*margins*/
.primary-menu>li,
ul.primary-menu,
.header-titles .site-logo,
.header-titles,
.footer-top-visible .footer-nav-widgets-wrapper,
#top .item-content,
.primary-menu-wrapper+.header-toggles,
.nav-links>*,
.hroby-statistika p,
.wp-block-latest-posts.wp-block-latest-posts__list li,
#top .wp-block-latest-posts__list {
    margin: 0;
}

#top .entry-content>.alignwide:first-child,
.wp-block-columns.alignfull+.wp-block-columns.alignfull,
#top .wp-block-heading:first-child,
#top .footer-widgets .wp-block-group,
#top .footer-widgets .wp-block-columns,
#top .wp-block-image:first-child {
    margin-top: 0;
}

/*paddings*/
#top .af-submit,
.post-inner,
.alignfull:not(.has-background) .wp-block-columns,
.header-toggles .toggle,
.header-inner .toggle {
    padding: 0;
}

.wp-block-cover,
.wp-block-cover-image,
section,
#top:not(.home) .post-inner,
#sidebar,
#top .search-results {
    padding-top: 20px;
    padding-bottom: 20px;
}

#top.single-hrob .post-inner {
    padding-top: 0;
}

/*--------------------------------------------------CLASSY*/
.mb-0 {
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

/*--------------------------------------------------HOVERY*/


/*----------------------------------------------------------------------------------------------------DEFAULT BLOCKS*/
/*--------------------------------------------------BUTTONS*/
body button,
body .button,
body .faux-button,
body .wp-block-button__link,
body .wp-block-file .wp-block-file__button,
body input[type="button"],
body input[type="reset"],
body input[type="submit"],
body .bg-accent,
body .bg-accent-hover:hover,
body .bg-accent-hover:focus,
:root .has-accent-background-color,
body .comment-reply-link,
.single-product#top .woocommerce-variation-add-to-cart .button {
    background: transparent;
    border: none;
    color: var(--black);
    font-weight: 400;
    line-height: normal;
    padding: 0;
    text-decoration: underline;
    font-size: 20px;
}

.wp-block-buttons {
    margin: 20px auto;
}


/*--------------------------------------------------FORMY*/
#top .acf-fields>.acf-field {
    padding: 0;
    border: none;
}

#top input,
#top textarea,
#top select {
    font-size: 16px;
    padding: 10px;
    border: 2px solid var(--p-dark);
    line-height: 150%;
    color: var(--black);
    background: white;
}
.checkbox-fields-wrapper {
    display: flex
;
    flex-wrap: wrap;
    gap: 4px;
}
/*check a radio*/
.checkbox-field,
#zbytek-checkboxu,
.acf-checkbox-list {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;

}

#show-more {
    color: var(--p-dark);
    font-weight: 600;
    cursor: pointer;
}

.checkbox-field h3 {
    flex-basis: 100%;
}

#top .acf-checkbox-list li {
    display: inline-block;
    width: max-content;
}

#top ul.acf-checkbox-list li label {
    display: flex;
    gap: 8px;
}

#top input[type="radio"],
#top input[type="checkbox"] {
    visibility: hidden;
    width: 20px;
    height: 20px;
    margin: 0 4px 0 0;
    padding: 0;
}

#top input[type="radio"]::before,
#top input[type="checkbox"]::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: white;
    border: 1px solid;
    cursor: pointer;
    visibility: visible;
}

input[type="radio"]::before {
    border-radius: 100%;
    position: relative;
    top: 3px;
}

#top input[type="checkbox"]::before {
    position: absolute;
    left: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

#top .selected input[type="radio"]::before {
    background: var(--black);
    box-shadow: inset 0px 0px 0px 2px white;
}

#top .selected input[type="checkbox"]::before {
    content: "\f147";
    font-family: 'dashicons';
    color: var(--neutral-100);
}

#top .selected input[type="checkbox"]::before,
#top label:not(.selected):hover input[type="checkbox"]::before {
    font-size: 20px;
    padding-right: 2px;
}

#top .sidebar-filter input[type="radio"]::before,
#top .sidebar-filter input[type="checkbox"]::before {
    border: 2px solid var(--p-dark);
}

#top .sidebar-filter .selected input[type="checkbox"]::before,
#top .sidebar-filter label:not(.selected):hover input[type="checkbox"]::before {
    color: white;
    background: var(--black);
}

#top .af-success p {
    padding: 20px;
    font-size: 20px;
}

/*adopční form*/

#zobrazit-formular::after {
    content: "\f140";
    font-family: 'dashicons';
    position: absolute;
}

#zobrazit-formular.active::after {
    transform: rotate(180deg);
}

@media (min-width: 782px) {


    #adopce-form .acf-fields {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    #adopce-form .acf-field-textarea,
    #adopce-form .af-submit {
        grid-column: 1 / -1;
    }

    #adopce-form .acf-field .acf-label {
        margin-bottom: 4px;
    }

    #adopce-form label {
        text-align: left;
        margin: 0;
    }

}

/*--------------------------------------------------TABULKY*/

/*----------------------------------------------------------------------------------------------------CUSTOM BLOCKS*/
#hroby-preloader-overlay {
  position: fixed !important; /* důležité – nezávislé na okolí */
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999; /* musí být vyšší než header nebo cokoliv jiného */
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
}

.overlay-spinner-container {
  text-align: center;
  color: #fff;
  font-size: 18px;
}

.overlay-spinner-container .spinner {
  margin: 0 auto 15px;
  width: 50px;
  height: 50px;
  border: 6px solid rgba(255, 255, 255, 0.3);
  border-top: 6px solid #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

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


#top .loader {
    width: 50px;
    height: 50px;
    margin: 100px auto;
    background: url(/wp-content/themes/sweet-pain/assets/css/ajax-loader.gif)no-repeat;
}

#top .slider {
    transform: none;
    z-index: 1;
}

#top .slider:not(.slick-initialized) {
    transform: translateY(-200%);
    transform-origin: top;
}

/*--------------------------------------------------POST GRID*/
#top .grid-wrapper {
    width: 100%;
}

.grid-wrapper .content.grid,
.post-grid-block {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px 20px;
}

.grid-top {
    display: flex;
    justify-content: flex-end;
    gap: 40px;
}
.grid-top label {
    font-size: 12px;
}
.hrob-item:hover,
.grid-item-post:not(.footer-widgets):hover {
    text-decoration: none;
}

.hrob-item .adopce {
    position: absolute;
    text-transform: uppercase;
    z-index: 1;
    color: #f4f4f4;
    font-size: 14px;
    font-weight: 400;
    padding: 4px 8px;
    background: var(--black);
}

.hrob-item img,
.grid-item-post img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.hrob-item:hover img,
.grid-item-post:hover img {
    filter: grayscale(1);
}

.hrob-info,
.item-info {
    padding: 10px;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#top .item-content {
    font-size: 14px;
}

#top .hrob-item a {
    text-decoration: none;
}

#top .hrob-name,
#top .item-name {
    margin: 0;
    font-size: 20px;
    line-height: 28px;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    min-height: 56px;
    text-decoration: underline;
}

#top A:hover .hrob-name,
#top a:hover .item-name {
    text-decoration: none;
}

/*výpis příspěvků*/
#top .post-grid-block {
    margin: 40px auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.post-grid .item-info span:not(.thumb-wrapper) {
    display: block;
    margin-bottom: 10px;
}

#top .post-grid a {
    font-weight: 400;
    text-decoration: none;
}

#top .post-grid .item-link {
    text-transform: uppercase;
    margin: 0;
    width: max-content;
}

.post-grid .item-link::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: var(--black);
    bottom: 5px;
    position: relative;
}

/*----------------------------------------------------------------------------------------------------HEADER*/

header#site-header {
    position: fixed;
    width: 100%;
    z-index: 4;
    top: 0;
    background: var(--p-dark);
    border-bottom: 1px solid var(--black);
}

#top .nav-toggle {
    position: unset;
    width: unset;
}

.admin-bar header#site-header {
    top: var(--admin-bar);
}

.header-inner {
    padding: 20px 0;
}

.header-titles-wrapper {
    justify-content: space-between;
    padding: 0;
}


/*--------------------------------------------------SEARCH*/
.search-modal .search-field {
    height: auto;
}

.search-modal-inner {
    height: var(--header);
    display: flex;
    align-items: center;
    background: var(--p-light);
}

.header-navigation-wrapper .search-toggle svg {
    height: 20px;
    width: 20px;
    margin-left: 20px;
}

/*--------------------------------------------------TOPBAR*/


/*--------------------------------------------------LOGO*/
.site-logo img {
    max-height: 60px;
}


/*--------------------------------------------------MENU*/
body#top .primary-menu>li>a {
    color: var(--black);
    font-size: 16px;
    text-transform: uppercase;
    padding: 10px 20px;
    text-decoration: none !important;
}

body#top .primary-menu>li>a::after {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background: var(--black);
}

body#top .primary-menu>li:hover>a::after {
    width: 100%;
}

body#top .primary-menu>li.menu-item-has-children>a::before {
    content: "\f140";
    font-family: 'dashicons';
    position: absolute;
    right: 0;
}

body#top .primary-menu>li.current-menu-item>a {
    font-weight: 600;
}

/*--------------------SUBMENU*/


/*--------------------------------------------------BURGERMENU*/
body:not(.enable-search-modal) .header-titles-wrapper {
    justify-content: space-between;
    padding: 0;
}

.header-inner .toggle {
    position: relative;
}

.toggle.close-nav-toggle.fill-children-current-color {
    outline: none !important;
}

.toggle:not(.search-toggle) .toggle-icon {
    background: var(--black);
}

.toggle:not(.search-toggle) .toggle-icon svg.svg-icon path,
.toggle-text {
    display: none;
}

.toggle:not(.search-toggle) .toggle-icon::before,
.toggle:not(.search-toggle) .toggle-icon::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    display: block;
    background: var(--black);
    position: absolute;
}

.toggle:not(.search-toggle) .toggle-icon::before {
    top: -3px;
}

.toggle:not(.search-toggle) .toggle-icon::after {
    bottom: 0px;
    right: 0;
}

.nav-toggle .toggle-icon,
.nav-toggle svg {
    height: 3px;
    width: 4rem;
}

#top .toggle.active span.toggle-icon {
    background: transparent;
}

.toggle.active span.toggle-icon::before {
    transform: rotate(-45deg) translate(-7px, 10px);
}

.toggle.active span.toggle-icon::after {
    transform: rotate(45deg) translate(-6px, -10px);
}


/*modal*/

.menu-modal-inner.modal-inner,
.menu-modal {
    background: none;
}

#top .menu-modal {
    background-color: var(--p-dark);
    top: var(--header) !important;
    justify-content: flex-end;
}

#top.admin-bar .menu-modal {
    top: calc(var(--header) + var(--admin-bar)) !important;
}

#top .menu-modal-inner {
    max-width: 500px;
    margin-right: 0;
    background: var(--p-dark);
}

.modal-menu {
    width: 100%;
    left: unset;
}


.modal-menu li {
    border: none;
}

#top .modal-menu li a {
    font-size: 20px;
    text-transform: uppercase;
    color: var(--black);
    font-weight: 400;
    text-align: right;
    padding: 16px 0;
}

.sub-menu-toggle {
    border: none;
}

#top .modal-menu li li a {
    font-size: 16px;
}

.modal-menu>li>.ancestor-wrapper>.sub-menu-toggle {
    padding: 0 16px;
}

.modal-menu>li>.ancestor-wrapper>.sub-menu-toggle svg {
    color: white;
}

.menu-modal ul.secondary-menu {
    border-top: 1px solid white;
    padding-top: 32px;
    margin-top: 16px;
}

.menu-modal ul.secondary-menu .title {
    display: block;
}

/*----------------------------------------------------------------------------------------------------MAIN CONTENT - HROBY*/


.gallery-wrapper {
    grid-column: 1 / -1;
    margin: 40px 0;
}

.hrob-fotky-gallery {
    display: flex;
    gap: 20px;
}

.wordcloud-tag {
    white-space: nowrap;
}

/*--------------------------------------------------SINGLE HROB*/
.hidden {
    display: none;
    visibility: hidden;
}

.single-hrob .entry-header {
    padding: 0 0 80px 0;
}

.single-hrob .entry-header-inner {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}


.single-hrob .entry-header-inner .left-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#top .featured-media-inner {
    left: unset;
    width: auto;
}

.single-hrob .entry-header-inner img {
    height: 300px;
    width: auto;
    object-fit: cover;
}

.hrob-najemce-posledni,
.hrob-hledame-najemce {
    display: flex;
    align-items: center;
    gap: 40px;
}

.hrob-najemce-posledni img,
.hrob-hledame-najemce img {
    max-height: 150px;
    width: auto;
    height: auto;
}

.hrob-najemce-info,
.hrob-adoptujte {
    flex: 1;
}

.hrob-najemce-info p {
    margin: 0 0 5px 0;
}

.hrob-najemce-info p strong {
    font-size: 20px;
    display: block;
}



/*----------------------------------------------------------------------------------------------------MAIN CONTENT - POSTS*/
#top .archive-subtitle {
    margin-top: 20px;
}

.single-post .entry-content>*:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
    max-width: unset;
    width: 100%;
}

@media (max-width:1480px) {
    main#site-content>.content-inner {
        width: calc(100% - 40px);
    }

    main#site-content.kurzy>.content-inner {
        width: 100%;
    }
}

#sidebar {
    flex-basis: 25%;
}

.posts-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding: 60px 0;
    gap: 20px;
}

/*--------------------------------------------------SINGLE POST*/
.post-meta-wrapper {
    width: 100%;
    max-width: unset;
    margin: 0;
}

#top .post-meta {
    justify-content: flex-start;
    margin: 0;
}

.post-meta .meta-wrapper {
    margin: 0;
}

#top .entry-header .post-meta a {
    font-weight: 400 !important;
    pointer-events: none;
    color: var(--black);
    font-size: 24px;
}

.single-post .featured-media {
    float: left;
    margin: 10px 20px 20px 0;
}

.single-post .featured-media img {
    max-height: 200px;
    max-width: 200px;
    width: auto;
}

/*--------------------------------------------------SIDEBAR*/

.sidebar-widget {
    margin-bottom: 40px;
}

.sidebar-widget .has-background {
    padding: 20px;
}


.sidebar-widget .wp-block-heading {
    margin-bottom: 10px;
}

.sidebar-widget li {
    margin-left: 0;
}

/*responze sidebaru*/
@media (min-width: 782px) {
    .sidebar-toggler {
        display: none;
    }
}

#top #sidebar .wp-block-latest-posts__featured-image.alignleft {
    float: left;
    margin-right: 20px;
}

@media (max-width: 782px) {

    .single-post #sidebar {
        display: none;
    }

    .flex-wrapper {
        flex-direction: column-reverse;
    }

    #sidebar {
        padding: 0;
        border: none;
    }

    #top #sidebar * {
        max-width: 100%;
        float: unset;
    }

    #top #sidebar .wp-block-heading.first-child {
        margin-top: 0;
    }

    .wp-block-latest-comments__comment-date,
    .wp-block-latest-posts__post-date {
        font-weight: 400;
        color: var(--neutral-60);
        font-size: 14px;
    }

    .clearFilters-wrapper {
        margin-bottom: 20px;
    }

    #sidebar .wp-block-heading,
    .grid-top .wp-block-heading {
        margin-top: 20px;
    }

    .sidebar-toggler {
        position: relative;
        margin-top: 20px;
        font-size: 20px;
        text-decoration: underline;
        text-transform: uppercase;
    }

    .sidebar-toggler::after {
        content: "\f140";
        font-family: 'dashicons';
        position: absolute;

    }

    .active .sidebar-toggler::after {
        transform: rotate(180deg)
    }

    #sidebar:not(.active) .sidebar-inner {
        transform: scaleY(0);
        transform-origin: top;
        display: none;
    }

    #sidebar .sidebar-inner {
        transform: none;
        display: block;
        padding: 20px;
        background: var(--p-lighter);
        margin-top: 20px;
    }

}

/*nejnovější příspěvky*/
.wp-block-latest-posts__featured-image img {
    max-height: 80px;
}

.wp-block-latest-posts__post-excerpt {
    font-size: 14px;
    padding-left: 100px;
}

.wp-block-latest-posts__read-more {
    color: var(--p-100);
}

/*tabulka/seznam*/

#zobrazeni-toggle .icons-wrapper {
    display: flex;
    margin-bottom: 40px;
}

#top .grid-top .wp-block-heading {
    margin: 0 0 10px;
    font-size: 16px;
}

.display-toggle.grid {
    display: flex;
    gap: 4px;
    padding: 0 8px;
}

.switch-icon {
    position: relative;
}

.switch-icon.grid {
    padding-bottom: 16px;
}

.display-toggle.grid .icon-part {
    display: block;
    width: 12px;
    height: 12px;
    background: var(--p-dark);
    margin: 16px 0 0;
}

.display-toggle.grid .icon-part::before,
.display-toggle.grid .icon-part::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: var(--p-dark);
    position: relative;
}

.display-toggle.grid .icon-part::before {
    top: -16px;
}

.display-toggle.grid .icon-part::after {
    bottom: -4px;
}

.display-toggle.grid .desc {
    margin-left: -4px;
}

/*--*/
.display-toggle.table .icon-part {
    display: block;
    width: 44px;
    height: 8px;
    background: var(--p-dark);
    margin: 0 10px;
}

.display-toggle.table {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hrob-row {
    display: grid;
    align-items: center;
    grid-template-columns: 50px 1fr 1fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--p-dark);
    padding-bottom: 20px;
}

.hrob-row:not(.hrob-header) .hrob-col:not(.name) {
    font-size: 16px;
}

.hrob-row.hrob-header {
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    border-top: 1px solid var(--p-dark);
    padding-top: 20px;
}

.hrob-col.etapa {
    text-align: right;
}

/*--*/
.active .icon-part::after,
.active .icon-part::before,
.active .icon-part,
.display-toggle:hover .icon-part::after,
.display-toggle:hover .icon-part::before,
.display-toggle:hover .icon-part {
    background: var(--black) !important;
}

#zobrazeni-toggle .desc {
    position: absolute;
    font-size: 12px;
    bottom: -24px;
    text-transform: none;
}


/*--------------------------------------------------PAGINACE*/
.pagination-single {
    font-size: 14px;
    padding: 40px 0 0 0;
}

.pagination-single a {
    color: var(--p-100);
}

.pagination {
    display: flex;
    padding: 10px 0;
    margin-top: 40px;
    gap: 10px;
}

.pagination a {
    text-transform: uppercase;
    text-decoration: underline;
    font-size: 16px;
}

/*--------------------------------------------------VYMAZAT FILTRY*/
.clearFilters-wrapper {
    min-height: 41px;
}

#top #clearFilters {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 16px;
    margin-top: 16px;
    display: block;
    width: max-content;
    display: none;
    padding-left: 20px;
    position: relative;

}

#clearFilters::before {
    content: "\f335";
    font-family: 'dashicons';
    position: absolute;
    left: 0;
}

/*----------------------------------------------------------------------------------------------------MAIN CONTENT - PAGE*/

/*--------------------------------------------------TITLE*/
.singular .entry-header,
.archive-header,
.search .entry-header {
    background: var(--p-dark);
    text-align: left;
    padding: 40px 0 60px;
}

.hroby-statistika {
    background: var(--p-dark);
    margin-top: -60px;
    padding-bottom: 60px;
    font-size: 24px;
}

/*--------------------BREADCRUMBY*/
#breadcrumbs {
    padding: 10px 0 0;
    font-size: 14px;
    color: var(--black);
    margin-top: var(--header);
    background: var(--p-dark);
}

#breadcrumbs a {
    color: var(--black);
    font-weight: 600;
}

/*--------------------------------------------------SIDEBAR*/
form#hroby-filter-form label {
    cursor: pointer;
}

#sidebar .wp-block-heading,
.grid-top .wp-block-heading {
    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 10px;
    margin-top: 37px;
}

#sidebar .wp-block-heading:not.first-child {
    border-top: 1px solid var(--p-dark);
    padding-top: 20px;
    margin-top: 20px;
}

.flex-wrapper .sidebar {
    flex-basis: 25%;
}

#sidebar.help-nav {

    overflow-y: scroll;
}

#sidebar.help-nav.fixed {
    position: fixed;
    top: 132px;
}

/*--------------------------------------------------TABY - SEARCH PAGE*/
nav.tabs-nav {
    white-space: nowrap;
    overflow-x: auto;
    display: flex;
}

nav.tabs-nav.scroll-tabnav {
    position: relative;
    margin-left: -20px;
    width: calc(100% + 40px);
    padding-left: 20px;
    padding-right: 20px;
}

li.tab {
    margin-left: 0;
}

h2.tab-title {
    margin-top: 0;
}

.tab-content {
    opacity: 0;
    overflow: hidden;
    max-height: 0;
    transition: opacity 0.3s ease-in-out, max-height 0.3s ease;
}

.search-hrob-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.tab-content h3 {
    margin: 0 0 10px 0;
}

.tab-content.active {
    opacity: 1;
    max-height: fit-content;
}

/*----------------------------------------------------------------------------------------------------FOOTER*/
.footer-nav-widgets-wrapper {
    background: #000;
}

#top .footer-widgets-wrapper {
    display: block;
    margin: 0;
    width: 100%;
}

.footer-widgets {
    width: 100%;
    margin: 0;
}

#top .widget-content .wp-block-heading {
    color: #f4f4f4;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 0;
}

#top .widget-content p {
    font-size: 16px;
    font-weight: 600;
    line-height: 28px;
    color: #f4f4f4;
}

#top .widget-content a {
    font-weight: 700;
    color: white;
}

#top .widget-content .wp-block-image {
    margin: 0 20px 0 0;
}

#top .widget-content .wp-block-image img {
    margin-right: 20px;
}

.widget-content .wp-block-social-links .wp-social-link svg {
    width: 60px;
    height: 60px;
}

/* --- MAP ICON --- */
/* MAPA – stejné měřítko a centrování jako ostatní ikony */
.display-toggle.map {
  width: 70px;                 /* stejná šířka jako ostatní */
  height: 50px;                /* stejná výška ikon boxu */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  color: var(--p-muted, #c8b79d); /* neaktivní barva (přebije ji .active) */
}

/* aktivní barva převezme i špendlík (díky currentColor) */
.display-toggle.map.active {
  color: var(--p-dark, #2e2a25);
}

.display-toggle.map .icon-part {
  display: block;
  position: relative;
  margin: 0 auto;
}

/* Kruh (hlava špendlíku) – používá currentColor */
.display-toggle.map .icon-part:nth-child(1) {
  width: 20px;
  height: 20px;
  background: currentColor;
  border-radius: 50%;
  margin-top: 4px;            /* jemné vyrovnání vůči ostatním ikonám */
}

/* Tělo (špička špendlíku) – také currentColor */
.display-toggle.map .icon-part:nth-child(2) {
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 14px solid currentColor;
  margin-top: -3px;           /* spojí se s kruhem bez mezery */
}

/* volitelné: malý efekt jako u ostatních ikon */
.display-toggle.map .icon-part,
.display-toggle.map { transition: transform .15s ease, filter .15s ease; }
.display-toggle.map:hover { filter: brightness(1.08); }

/* Základ pro Leaflet popup */
.custom-tooltip .leaflet-popup-content {
  margin: 0;               /* zruší defaultní padding Leafletu */
  padding: 0;
  width: 260px;            /* držíš maxWidth: 280 → obsah o trochu menší */
  line-height: 1.35;
  color: #222;
}

/* Karta popupu */
.custom-tooltip .popup-card {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);
}

/* Obrázek */
.custom-tooltip .popup-media {
  position: relative;
  background: #f4f2ec;
}
.custom-tooltip .popup-img {
  display: block;
  width: 100%;
  height: 180px;
  object-fit: cover;     /* vyplnit, bez deformace */
}

/* Tělo */
.custom-tooltip .popup-body {
  padding: 10px 12px 12px;
}

/* Titulek */
.custom-tooltip .popup-title {
  font-weight: 600;
  font-size: 15px;
  margin: 2px 0 8px;
  color: var(--p-dark, #2e2a25);
}

/* Odkazy */
.custom-tooltip .popup-link {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.custom-tooltip .popup-link a {
  font-size: 14px;
  color: var(--p-dark, #2e2a25);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.custom-tooltip .popup-link a:hover {
  border-color: rgba(0,0,0,0.25);
}

/* Ikona u odkazu na detail hrobu */
.custom-tooltip .popup-link-icon {
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  display: inline-block;
  vertical-align: middle;
  opacity: 0.85;
}

/* Tečka před odkazem na mapy.com (když není ikona) */
.custom-tooltip .popup-link-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--p-dark, #2e2a25);
  display: inline-block;
  flex: 0 0 auto;
  opacity: 0.65;
}

/* Ostranění defaultní šipky rámečku, nechám standard Leaflet špičku */
.custom-tooltip .leaflet-popup-tip {
  background: #fff;
}

/* Hover efekt markeru - jak už máš */
.leaflet-marker-icon {
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}
.leaflet-marker-icon.hovered {
  transform: scale(1.2);
  z-index: 1000 !important;
  filter: brightness(1.08);
}

/*--------------------------------------------------SOCKET*/
#top #site-footer {
    background: black;
    color: white;
    font-size: 14px;
    font-weight: 400;
    padding: 8px 0;
}

/*----------------------------------------------------------------------------------------------------RESPONZE*/
/*malé notebooky*/
@media (min-width: 1000px) {
    #top .more-button-responsive {
        display: none;
    }
}

@media (max-width: 1000px) {
    #top .more-button-desktop {
        display: none;
    }

    .grid-wrapper .content.grid,
    #top .post-grid-block {
        grid-template-columns: 1fr 1fr;
    }

}

/*tablety*/
@media (max-width: 782px) {
    :root {
        --admin-bar: 46px;
    }

    h1,
    .heading-size-1,
    .woocommerce-products-header__title.page-title {
        font-size: 30px;
    }

    #top h2,
    #top .heading-size-2 {
        font-size: 26px;
    }

    h3,
    .heading-size-3 {
        font-size: 24px;
    }

    h4,
    .heading-size-4 {
        font-size: 22px;
    }

    h5,
    .heading-size-5,
    #top .woocommerce-loop-product__title,
    .cart_item .product-name a,
    #top .sidebar .wp-block-heading,
    #top h2.tab-title,
    #top h3.item-title {
        font-size: 20px;
    }

    h6,
    .heading-size-6,
    #top .tab-content h3 {
        font-size: 18px;
    }

    body:not(.search) .flex-wrapper {
        display: block;
    }

    .grid-wrapper .content.grid,
    .post-grid-block {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/*mobily*/
@media (max-width: 500px) {

    .grid-wrapper .content.grid,
    #top .post-grid-block {
        grid-template-columns: 1fr 1fr;
    }

    .single-hrob .entry-header-inner {
        flex-direction: column;
    }
    .hrob-najemce-posledni,
.hrob-hledame-najemce {
    flex-direction: column;
}
}

@media (max-width: 320px) {

    .grid-wrapper .content.grid,
    #top .post-grid-block {
        grid-template-columns: 1fr;
    }
}