/*
Theme Name: sitprorodinu
Version: 1.0
Description: A child theme of Twenty Twenty
Template: twentytwenty
Author: Administrator
*/

@import url("../twentytwenty/style.css");
@import url("../sitprorodinu/assets/css/sitprorodinu.css");

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

/*--------------------------------------------------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,
.header-inner,
.menu-item-has-children > a::after,
.sub-menu,
#top .column-link::after,
#top .column-link {
  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,
.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,
.widget-content,
.widget-content p,
.widget-content li {
  font-family: var(--font);
  font-size: 16px;
  line-height: 169%;
  color: var(--n70);
}

#top .has-large-font-size {
  font-size: 20px !important;
}

.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-button.is-style-outline,
body a,
#top .popup-link a {
  color: var(--p-100);
}

/*--------------------------------------------------ELLIPSIS*/
.item-title,
.item-content,
#top .woocommerce-loop-product__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/*--------------------------------------------------NADPISY*/
#top .wp-block-heading:first-child:not(.main-title) {
  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 {
  font-family: var(--font);
  color: var(--black);
  line-height: 124%;
  font-weight: 400;
  text-transform: none;
}

h1,
.heading-size-1,
.main-title {
  font-size: 72px;
}

h2,
.heading-size-2,
.singular:not(.page) .entry-title,
.archive-title {
  font-size: 40px;
  padding: 20.5px 0;
  font-weight: 400;
}

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

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

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

h6,
.heading-size-6,
.member-layout h4 {
  font-size: 20px;
}
.member-layout h5 {
  font-size: 18px;
}
.member-layout h6 {
  font-size: 16px;
}
/*----------------------------------------------------------------------------------------------------GENERAL*/

/*--------------------------------------------------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(.sub-menu-toggle) .svg-icon,
.home div#breadcrumbs,
nav.pagination-single hr,
.entry-categories,
#top .post-author,
span.meta-icon,
.sr-only,
h1.archive-title .color-accent,
.menu-item .icon,
#top .primary-menu ul::after,
#top .close-nav-toggle,
.page-template-page-clenska-sekce .entry-header,
.woocommerce-breadcrumb,
.woocommerce ul.products::after,
.woocommerce ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce-page ul.products::before,
.member-layout .entry-header,
.frm_screen_reader,
.frm_primary_label {
  display: none;
}

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

/*--------------------------------------------------LAYOUT*/
#top .section-inner,
.entry-content > .alignwide,
.alignfull .alignwide,
.flex-wrapper,
.woocommerce .content-area,
#top #site-content>.section-inner {
  width: calc(100% - 40px);
  max-width: 1280px;
  margin: 0 auto;
}
:where(.wp-block-columns.has-background) {
  padding: 20px;
}
.home main#site-content {
  padding-top: var(--header);
}

.flex-wrapper {
  display: grid;
  grid-template-columns: 3fr 1fr;
  gap: 20px;
}

#top .content-inner.section-inner {
  width: 100%;
}

.member-main__content > .alignwide {
  max-width: unset;
  width: 100%;
}

.wp-block-columns.alignwide + .wp-block-columns.alignwide {
  margin-top: 20px;
}

.page-template-page-clenska-sekce {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.page-template-page-clenska-sekce footer#site-footer {
  margin-top: auto;
}

/*margins*/
.primary-menu > li,
ul.primary-menu,
.header-titles .site-logo,
.header-titles,
#top .wp-block-image,
.woocommerce .content-area .site-main {
  margin: 0;
}

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

/*paddings*/
#top .af-submit,
.wp-block-columns.alignfull,
.alignfull:not(.has-background) .wp-block-columns,
section,
.woocommerce .content-area {
  padding: 0;
}

#top .wp-block-group.has-background {
  padding: 60px 0;
}

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

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

#top .number {
  line-height: 1;
}

.number-bgr img {
  object-fit: contain !important;
}

.number-bgr p {
  line-height: 124%;
}

.p-0 {
  padding: 0;
}
/*column link*/
#top .has-link {
  position: relative;
}

.column-link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
}

#top .column-link::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  position: absolute;
  right: 20px;
  bottom: 20px;
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/arrow-right.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/arrow-right.svg);
}

#top .column-link:hover::after {
  width: 32px;
  height: 32px;
}

a.column-link + .wp-block-heading {
  margin-top: 0;
}

/*bloky*/
#top .bloky {
  gap: 0;
  margin: 0 auto;
}

.bloky .wp-block-cover {
  align-items: unset;
  justify-content: unset;
  padding: 20px 33% 20px 24px;
}

.bloky .wp-block-cover__inner-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0;
  width: 100%;
}

#top .bloky .wp-block-column:hover .wp-block-cover__background {
  background: #00000085;
}

/*testimonials*/
#top .testimonials {
  flex-wrap: wrap !important;
}

#top .testimonials .wp-block-cover {
  margin: 0;
  height: 100%;
  /* Přidáme tyto řádky pro vynucení zarovnání nahoru */
  display: flex !important;
  align-items: flex-start !important;
}

#top .testimonials .wp-block-cover__inner-container {
  /* Padding-top určuje mezeru od horní hrany */
  padding: 40px 0 40px 50%;
  /* Resetujeme případné marginy, které tam vkládá WP */
  margin-top: 0 !important;
  width: 100%;
}

#top .testimonials .wp-block-cover__inner-container h5 {
  color: black;
}

/*newsletter*/
#top .newsletter {
  padding: 32px;
  margin-top: -80px !important;
}

#top .newsletter .wp-block-heading {
  padding: 0;
  margin-bottom: 16px;
}

/*--------------------------------------------------HOVERY*/
#top .wp-block-button .wp-block-button__link:hover,
#top .primary-menu > li.cta:hover > a,
#top .page-list-navigation li:hover a,
#top.single-product .single_add_to_cart_button:hover,
a.button:hover,
.header-secondary-navigation-wrapper a:hover,
#top .frm_submit button:hover,
.wp-block-file a.wp-block-file__button:hover {
  text-decoration: none !important;
  background: black;
  border-color: black;
  color: white;
}

#sidebar a:hover,
.pagination-single a:hover .title {
  text-decoration: none;
}

.item-link:hover {
  background: var(--n-05);
  border-color: var(--n-05);
}

div#breadcrumbs a:hover,
#top .primary-menu > li:hover > a,
.wp-block-file a:not(.wp-element-button):hover {
  text-decoration: none;
  color: var(--p-120);
}

/*----------------------------------------------------------------------------------------------------DEFAULT BLOCKS*/
.bloky .has-background-dim {
  mix-blend-mode: multiply;
}
/*--------------------------------------------------FILE*/
#top .wp-block-file {
  background: white;
  padding: 20px;
  align-items: center;
  display: grid;
  grid-template-columns: 36px 1fr auto;
}
.wp-block-file a:not(.wp-element-button) {
  color: black;
  font-weight: 400;
}
/*--------------------------------------------------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,
.single-product .single_add_to_cart_button,
.frm_submit button {
  font-family: var(--font);
  font-size: 16px;
  background: var(--p-100);
  border: 1px solid var(--p-100);
  color: white;
  text-transform: none;
  font-weight: 400;
  line-height: normal;
  padding: 14px 28px;
  border-radius: 24px;
}

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

p + .wp-block-buttons {
  margin-top: 40px;
}

/*--------------------------------------------------FORMY*/

fieldset {
  padding: 0;
  border: none;
}
.frm_form_field {
  margin-bottom: 16px;
}

#top input,
#top textarea,
#top select {
  font-size: 16px;
  padding: 12px 24px;
  border: 1px solid var(--n-20);
  line-height: 150%;
  color: black;
  margin: 0;
  border-radius: 24px;
}

/*radio a checkbox*/
#top input[type="checkbox"],
#top input[type="radio"] {
  margin: 0 8px 0 0;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  /* pro starší Safari */
  -moz-appearance: none;
}

input[type="checkbox"]:checked::before {
  content: "";
  margin: 0;
  left: 2px;
  top: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  background: var(--p-100);
  border-radius: 100%;
}

#top
  .wc_payment_method
  input.input-radio[name="payment_method"]:checked
  + label::before {
  background: var(--p-100);
}

/*newsletter*/
#frm_form_2_container input {
  border: none;
}

#frm_form_2_container fieldset {
  border: none;
  padding: 0;
}

#frm_form_2_container label {
  display: none;
}

#top #frm_form_2_container .frm_fields_container {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

#frm_form_2_container .frm_form_field {
  width: 100%;
}

#frm_form_2_container .frm_button_submit {
  background: black;
  text-wrap: nowrap;
}

#frm_form_2_container #frm_field_6_container {
  width: auto;
}

/*--------------------------------------------------TABULKY*/
#top .wp-block-table.is-style-stripes th {
  background: white;
  font-weight: 400;
  font-size: 20px;
}

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

#top .wp-block-table:last-child table {
  margin-bottom: 0;
}

#top .wp-block-table.is-style-stripes table {
  border: none;
}

#top .wp-block-table.is-style-stripes tbody tr:nth-child(even) {
  background: white;
}

#top .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: var(--n-05);
}*/

/*----------------------------------------------------------------------------------------------------CUSTOM BLOCKS*/
#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;
}

/*--------------------------------------------------HOMEPAGE SLIDER*/
.homepage-slider .slick-track {
  display: flex;
  align-items: flex-end;
}

.homepage-slide img {
  object-fit: contain;
  object-position: bottom;
}

/*--------------------------------------------------TABS*/
#top .kt-tabs-content-wrap > .wp-block-kadence-tab {
  border: none;
  border-top: 1px solid var(--n-40);
  padding: 20px;
}

#top .kt-tabs-title-list {
  gap: 16px;
  margin-bottom: 40px;
}

#top .wp-block-kadence-tabs .kt-tabs-title-list li .kt-tab-title {
  font-size: 16px;
  color: var(--p-100);
  background: white;
  border: 2px solid var(--p-100);
  border-radius: 24px;
  padding: 12px 30px;
  line-height: 1;
}

#top .wp-block-kadence-tabs .kt-tabs-title-list li.kt-tab-title-active {
  cursor: auto;
}

#top
  .wp-block-kadence-tabs
  .kt-tabs-title-list
  li.kt-tab-title-active
  .kt-tab-title {
  color: white;
  background: var(--p-100);
}
@media (max-width: 767px) {
  #top .kt-tab-title {
    color: var(--p-100);
    border: 2px solid var(--p-100);

    margin-right: 0;
    display: flex;
    justify-content: space-between;
  }
  #top .kt-title-item:not(:last-child) .kt-tab-title {
    margin-bottom: -2px;
  }
  #top .kt-tab-title::after {
    content: "+";
  }

  #top .kt-tab-title-active .kt-tab-title {
    background: var(--p-100);
    color: white;
}
#top .kt-tab-title-active .kt-tab-title::after {
    content: "-";
}
#top .kt-tabs-content-wrap > .wp-block-kadence-tab {
    border: none;
}
}
/*--------------------------------------------------POST GRID*/
.post-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.post-grid-block {
  grid-template-columns: 2fr 1fr 1fr;
}

a.item-link {
  text-decoration: none;
  padding: 24px;
  display: block;
  border: 1px solid var(--n-40);
  color: black;
}

#top .post-grid-block .post-grid-item:first-child .item-link,
.post-grid-block .item-link:hover {
  border-color: white;
  background: white;
}

.item-meta {
  font-size: 14px;
  color: var(--n-40);
}

.item-meta a {
  color: var(--n-40);
}

#top .item-title {
  margin: 0 0 48px 0;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  height: 84px;
  font-size: 24px;
}

.item-content {
  -webkit-line-clamp: 2;
  line-clamp: 2;
  height: 50px;
  margin-bottom: 24px;
}

.item-content p {
  margin: 0;
}

.read-more {
  color: var(--p-100);
  text-decoration: underline;
}

.item-link:hover .read-more {
  text-decoration: none;
}

/*--------------------------------------------------PAGE LIST*/
.page-list {
  max-width: unset;
}

.page-list-navigation {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0;
  justify-content: center;
}

.page-list-navigation li {
  list-style: none;
  margin: 0;
}

#top .page-list-navigation li a {
  border: 1px solid var(--p-100);
  border-radius: 24px;
  padding: 10px 28px 12px 28px;
  line-height: 1;
  color: var(--p-100);
  display: block;
  text-decoration: none;
  font-weight: 500;
}

.page-list-navigation li a::after {
  content: "\f345";
  font-family: "dashicons";
  position: relative;
  top: 3px;
  right: -3px;
}

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

header#site-header {
  position: fixed;
  width: 100%;
  z-index: 8888;
  top: 0;
}

.header-inner {
  padding: 32px 0 16px 0;
}

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

.scrolled header#site-header .header-inner {
  padding: 12px 0;
}

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

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

/*--------------------------------------------------UŽIVATELSKÉ MENU*/
.header-secondary-navigation-wrapper {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  justify-content: center;
}

.header-secondary-navigation-wrapper a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--p-100);
  width: 44px;
  border-radius: 100%;
  height: 44px;
  position: relative;
}

div#mini-cart-count,
div#mini-cart-count-modal {
  position: absolute;
  background: black;
  color: white;
  height: 16px;
  width: 16px;
  border-radius: 100%;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 0;
  top: 0;
}

/*--------------------------------------------------MENU*/
.primary-menu a:hover,
.primary-menu a:focus,
.primary-menu .current_page_ancestor {
  text-decoration: none;
}

#top .primary-menu > li > a {
  color: black;
  font-size: 16px;
  padding: 12px;
  margin: 0;
}

#top .primary-menu li.current-menu-item a {
  text-decoration: none;
}

#top .primary-menu li.current-menu-item:not(.cta) > a,
#top .primary-menu li.current-menu-item > .link-icon-wrapper > a,
#top .primary-menu .current_page_ancestor > a,
#top .primary-menu ul a:hover {
  text-decoration: none;
  color: var(--p-100);
}

#top .primary-menu > .cta > a {
  background: var(--p-100);
  border-radius: 24px;
  color: white;
  padding-left: 30px;
  padding-right: 30px;
  margin-left: 22px;
  border: 1px solid var(--p-100);
}

#top .primary-menu > .menu-item-has-children > a {
  position: relative;
}

.menu-item-has-children > a::after {
  content: "\f140";
  font-family: "dashicons";
  position: absolute;
  color: var(--p-100);
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
}

.menu-item-has-children:hover > a::after {
  top: 30px;
}

/*--------------------SUBMENU*/
#top .primary-menu > .menu-item-has-children {
  position: relative;
}

#top .primary-menu > .menu-item-has-children:not(:hover) .sub-menu {
  pointer-events: none;
}

#top .primary-menu .sub-menu {
  transform: translateX(-50%);
  left: 50%;
  right: unset;
  background: black;
  border-radius: 0;
  text-align: center;
  top: calc(100% + 10px);
}

#top .primary-menu .sub-menu a {
  font-size: 16px;
}

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

#top .nav-toggle {
  position: unset;
  width: unset;
  padding: 0;
  position: relative;
  right: unset;
}

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

.nav-toggle .toggle-inner {
  height: 48px;
  width: 48px;
  border: 2px solid var(--p-100);
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0;
}

.nav-toggle .toggle-icon {
  height: 1.8px;
  width: 24px;
  position: relative;
  overflow: visible;
  background: var(--p-100);
}

.toggle-icon svg.svg-icon path,
.toggle-text {
  display: none;
}

.toggle-icon::before,
.toggle-icon::after {
  content: "";
  display: block;
  width: 100%;
  height: 1.8px;
  display: block;
  background: var(--p-100);
  position: absolute;
  transform-origin: center;
}

.toggle-icon::before {
  top: -7px;
}

.toggle-icon::after {
  bottom: -8px;
}

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

.toggle.active .toggle-icon::before {
  transform: rotate(-45deg);
  top: 0;
}

.toggle.active .toggle-icon::after {
  transform: rotate(45deg);
  bottom: 0;
}

/*modal*/
.menu-modal {
  margin-top: var(--header);
  background: #ffffffa8;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.menu-modal-inner.modal-inner {
  max-width: 400px;
  margin-right: 0;
  margin-left: auto;
}

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

.modal-menu li {
  border-color: var(--n-10);
}

.modal-menu .ancestor-wrapper {
  align-items: center;
}

.modal-menu > li > a,
.modal-menu > li > .ancestor-wrapper > a {
  font-size: 20px;
  font-weight: 400;
  color: black;
  padding: 20px;
}

.modal-menu a:focus,
.modal-menu a:hover,
.modal-menu li.current-menu-item > .ancestor-wrapper > a,
.modal-menu li.current_page_ancestor > .ancestor-wrapper > a {
  text-decoration: none;
  color: var(--p-100);
}

#top .sub-menu-toggle {
  border: 2px solid var(--p-100);
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 100%;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#top .sub-menu-toggle svg {
  color: var(--p-100);
  width: 14px;
}

.modal-menu ul li {
  border: none;
}

.modal-menu ul li a {
  color: inherit;
  font-weight: 400;
  font-size: 18px;
  padding: 20px 30px;
}

.modal-menu ul ul li a {
  padding: 20px 40px;
  font-size: 16px;
}

.modal-menu ul li:first-child a {
  padding-top: 0;
}

.modal-menu ul li:not(:last-child) a {
  padding-bottom: 0;
}

/*----------------------------------------------------------------------------------------------------MAIN CONTENT - BLOG*/
/*--------------------------------------------------ARCHIVE*/
#top .archive-header {
  padding: 0;
  text-align: left;
}
.related.products ul {
    background: var(--n-10);
    padding: 20px;
}
/*--------------------------------------------------SINGLE POST*/
.singular:not(.page) .entry-header {
  padding: 0;
  text-align: left;
}

.singular:not(.page)
  .entry-content
  > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(
    .is-style-wide
  ),
.singular#top:not(.page) .entry-header-inner,
#top .archive-header-inner {
  width: 100%;
  max-width: unset;
}

.post-meta-wrapper {
  margin: 0 0 48px 0;
  width: 100%;
  max-width: unset;
}

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

#top .post-meta a {
  pointer-events: none;
  color: var(--n-60);
  font-size: 14px;
}

/*paginace*/
#top .pagination-single {
  width: 100%;
  padding: 20px 0;
  font-size: 16px;
  border-top: 1px solid var(--neutral-10);
  margin-top: 40px;
}

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

.pagination-single a .title {
  text-decoration: underline;
}

/*--------------------------------------------------SINGLE POST --- AKCE*/
.akce-info-wrapper {
  display: flex;
  margin-bottom: 40px;
  gap: 40px;
}

.akce-image img {
  height: 104px;
  width: auto;
}

.akce-login-notice {
  background: var(--n-05);
  padding: 24px;
  text-align: center;
}

.akce-popis {
  margin-bottom: 40px;
}

/*----------------------------------------------------------------------------------------------------MAIN CONTENT - SHOP*/
.woocommerce-message {
  background: var(--p-10);
  border-color: var(--p-100);
}

.woocommerce-message a {
  border-color: black;
}

/* login form */
.woocommerce > h2 {
  margin: 0 0 20px;
  padding: 0;
  text-align: center;
}

.woocommerce-form-login {
  background: var(--n-05);
  padding: 20px;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}

.woocommerce-form-login__submit {
  width: 100%;
}

#top .lost_password {
  margin: 0;
}

/*--------------------------------------------------VÝPIS KURZŮ*/
#top.archive .products {
  background: var(--n-05);
  padding: 20px;
}

#top .products {
  display: grid;
  gap: 20px;
}

.products.columns-3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.products.columns-4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

#top .products li {
  background: white;
  width: 100%;
  margin: 0;
  border: 1px solid transparent;
}

#top .products li:hover {
  border-color: var(--n-40);
}

.products .product .woocommerce-loop-product__link {
  width: 100%;
}

.products img {
  height: 200px;
  width: 100%;
  object-fit: cover;
}

.woocommerce-LoopProduct-link > *:not(img) {
  padding: 0 16px;
}

#top .woocommerce-loop-product__title {
  margin: 20px 0;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  height: 56px;
  font-size: 24px;
}

.member-discount-label {
  position: absolute;
  top: 0;
  right: 0;
  background: var(--p-100);
  color: white;
  padding: 4px 8px;
  font-size: 14px;
}

#top .product-info {
  display: flex;
  justify-content: space-between;
  color: black;
}

#top .products .product .price {
  margin: 0;
}

.price del {
  opacity: 1;
  color: var(--n-40);
}

.products .product .button {
  margin: 20px auto 16px auto;
  width: calc(100% - 32px);
}

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

/*--------------------------------------------------TITLE*/
.singular .entry-header {
  padding: 40px 0 40px;
}

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

div#breadcrumbs a {
  text-decoration: underline;
}

/*--------------------------------------------------SIDEBAR*/
#sidebar {
  background: var(--n-05);
  padding: 24px;
}

#top .sidebar-widget > * {
  margin: 0;
}

#top #sidebar .wp-block-heading {
  font-size: 24px;
  margin: 0 0 8px 0;
}

#top #sidebar .sidebar-widget:not(:first-child) .wp-block-heading {
  margin-top: 32px;
}

#sidebar li {
  margin: 0 0 8px 0;
}

#sidebar a {
  font-weight: 400;
  font-size: 16px;
  color: var(--p-100);
  text-decoration: underline;
}

#sidebar time,
li.cat-item {
  font-weight: 400;
  color: var(--n-60);
  font-size: 14px;
}

/*--------------------------------------------------HOMEPAGE*/
#top .main-subtitle {
  margin-bottom: 40px;
}

/*--------------------------------------------------ČLENSKÉ ORGANIZACE - MAPA*/
.clenske-map-layout {
  display: grid;
  grid-template-columns: 1fr 3fr;
}

.clenske-kraj-list {
  margin-bottom: 40px;
}

#top .clenske-kraj-btn {
  padding: 16px 24px;
  display: block;
  font-size: 14px;
  color: black;
  font-weight: 500;
  text-decoration: none;
  background: none;
  border-radius: 0;
  border: none;
  width: 100%;
  text-align: left;
}

.clenske-map-sidebar h2 {
  padding: 0;
  margin: 0 0 20px;
}

#top .clenske-kraj-btn:hover,
#top .clenske-kraj-btn.is-active {
  background: var(--p-100);
  color: white;
}

div#kraj-koordinator-box {
  margin-bottom: 40px;
}

div#clenske-map {
  height: 100%;
  min-height: 600px;
}

#top .leaflet-pane {
  font-size: 16px;
}

#top .popup-title {
  font-weight: 600;
}

/*--------------------------------------------------ČLENSKÁ SEKCE*/
.member-layout {
  display: grid;
  grid-template-columns: 1fr 4fr;
  flex: 1;
}

.page-template-page-clenska-sekce .member-layout {
  flex: 1;
  align-items: stretch;
  min-height: 0;
}

.page-template-page-clenska-sekce .member-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.page-template-page-clenska-sekce .member-sidebar__inner {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.page-template-page-clenska-sekce .member-sidebar__nav {
  flex: 1;
}

/* Zarovnání s textem položek menu: margin ul 24px + padding-left odkazu 24px */
.member-sidebar__coordinator {
  margin-top: auto;
  padding: 24px 24px 16px 48px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.member-sidebar__coordinator-heading {
  margin: 0 0 8px;
  font-size: 20px !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.member-sidebar__coordinator-kraj {
  margin: 0 0 16px;
  font-size: 14px;
  color: #444;
}

.member-sidebar__coordinator-dl {
  margin: 0;
}

.member-sidebar__coordinator-row {
  margin-bottom: 12px;
}

.member-sidebar__coordinator-row:last-child {
  margin-bottom: 0;
}

.member-sidebar__coordinator-row dt {
  margin: 0 0 4px;
  font-size: 12px;
  font-weight: 600;
  color: #666;
}

.member-sidebar__coordinator-row dd {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  word-break: break-word;
}

.member-sidebar__coordinator-row--link dd {
  font-weight: 500;
}

.member-sidebar__coordinator-row--link a {
  color: var(--p-100);
  text-decoration: none;
}

.member-sidebar__coordinator-row--link a:hover,
.member-sidebar__coordinator-row--link a:focus {
  color: var(--p-120);
  text-decoration: underline;
}

.member-sidebar__logo img {
  max-height: 69px;
  width: auto;
  margin: 50px auto 40px;
}

ul#menu-menu-clenske-sekce {
  list-style: none;
  margin-left: 24px;
}

ul#menu-menu-clenske-sekce li {
  margin: 0;
}

ul#menu-menu-clenske-sekce a {
  padding: 16px 24px;
  display: block;
  font-size: 14px;
  color: black;
  font-weight: 500;
  text-decoration: none;
}

#menu-menu-clenske-sekce .menu-item > a {
  display: flex;
  align-items: center;
  gap: 18px;
}

#menu-menu-clenske-sekce .menu-item > a::before,
.member-main__icons-list > li > button::before,
#top .search-form::before,
.column-link::after,
.header-secondary-navigation-wrapper a::before {
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  background-color: currentColor;
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
}

#menu-menu-clenske-sekce .menu-item > a::before,
.member-main__icons-list li > a::before,
.member-main__icons-list li > button::before,
#top .search-form::before {
  transition: none !important;
}

.member-main__icons-list li > a::before,
.member-main__icons-list li > button::before,
#top .search-form::before,
.header-secondary-navigation-wrapper a::before {
  content: "";
  width: 24px;
  height: 24px;
}

#menu-menu-clenske-sekce .kalendar > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/kalendar.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/kalendar.svg);
}

#menu-menu-clenske-sekce .dokumenty > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/dokumenty.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/dokumenty.svg);
}

#menu-menu-clenske-sekce .kurzy > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/kurzy.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/kurzy.svg);
}

#menu-menu-clenske-sekce .novinky > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/novinky.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/novinky.svg);
}

#menu-menu-clenske-sekce .poradna > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/poradna.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/poradna.svg);
}

#menu-menu-clenske-sekce .financniporadna > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/financniporadna.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/financniporadna.svg);
}

#menu-menu-clenske-sekce .logout > a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/odhlaseni.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/odhlaseni.svg);
}

/* Ikona panáčka: v členské sekci jen na tlačítku, jinde na přímém potomkovi */
.member-main__icons-list li.profil > button::before,
.member-main__icons-list li.profil > a::before,
.header-secondary-navigation-wrapper .header-login a::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/profil.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/profil.svg);
}

/* Členská sekce – profil: dropdown jen s odhlášením */
.member-main__icons-list li.profil {
  position: relative;
}

.member-main__icons-list li.profil .profil__dropdown {
  display: block;
  position: absolute;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 8px 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
  font-size: 14px;
  color: inherit;
  flex: none;
  top: 100%;
  right: 0;
  margin-top: 6px;
  min-width: 160px;
  z-index: 1000;
}

.member-main__icons-list li.profil .profil__dropdown[hidden] {
  display: none !important;
}

.member-main__icons-list li.profil .profil__detail,
.member-main__icons-list li.profil .profil__logout {
  display: block;
  padding: 10px 16px;
  color: #111;
  text-decoration: none;
  font-size: 14px;
}

.member-main__icons-list li.profil .profil__detail:hover,
.member-main__icons-list li.profil .profil__logout:hover {
  background: var(--n-05, #f5f5f5);
}

.header-secondary-navigation-wrapper .header-cart a::before,
.member-main__icons-list li.kosik > *::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/cart.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/cart.svg);
}

/* Ikona zvonečku jen na tlačítku, ne na tečce ani tooltipu */
.member-main__icons-list li.notifikace > button::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/notifikace.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/notifikace.svg);
}

/* Členská sekce – zvoneček: červený bodík a tooltip s novými akcemi/kurzy */
.member-main__icons-list li.notifikace {
  position: relative;
}

/* Tečka a tooltip nesmí dědit styly ikon (kruh 42px) */
.member-main__icons-list li.notifikace .notifikace__dot,
.member-main__icons-list li.notifikace .notifikace__tooltip {
  display: block;
  font-size: 14px;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  color: inherit;
  flex: none;
}

.member-main__icons-list li.notifikace .notifikace__dot {
  display: block;
  position: absolute;
  top: 2px;
  right: 2px;
  width: 10px;
  height: 10px;
  padding: 0;
  border-radius: 50%;
  background: #c00;
  pointer-events: none;
  z-index: 2;
}

/* Žádný pseudo-element na tečce (zabraňuje druhému „zvonečku“) */
.member-main__icons-list li.notifikace .notifikace__dot::before,
.member-main__icons-list li.notifikace .notifikace__dot::after {
  display: none !important;
  content: none !important;
}

.member-main__icons-list li.notifikace .notifikace__tooltip {
  position: fixed;
  z-index: 1000;
  width: auto;
  min-width: 260px;
  max-width: 360px;
  max-height: 70vh;
  overflow: auto;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  font-size: 14px;
  line-height: 1.4;
}

.member-main__icons-list li.notifikace .notifikace__tooltip[hidden] {
  display: none !important;
}

.notifikace-tooltip__heading {
  margin: 0 0 6px;
  font-weight: 700;
  color: var(--p-100, #333);
}

.notifikace-tooltip__heading + .notifikace-tooltip__list {
  margin-top: 4px;
}

.notifikace-tooltip__list {
  margin: 0 0 12px;
  padding-left: 1.2em;
  list-style: disc;
}

.notifikace-tooltip__list:last-child {
  margin-bottom: 0;
}

.notifikace-tooltip__list li {
  margin-bottom: 4px;
}

.notifikace-tooltip__list a {
  color: #111;
  text-decoration: none;
}

/* Odstranění děděných ::before/::after (černý čtvereček od tématu) */
.notifikace-tooltip__list a::before,
.notifikace-tooltip__list a::after {
  display: none !important;
  content: none !important;
}

.notifikace-tooltip__list a:hover {
  text-decoration: underline;
}

.notifikace-tooltip__date {
  display: block;
  font-size: 12px;
  color: #666;
}

.notifikace-tooltip__empty {
  margin: 0;
  color: #666;
}

/* Členská sekce – Detail účtu (Adresy, Detaily účtu, Rezervace) */
.member-account-detail {
  max-width: 720px;
}

.member-account-detail__section {
  margin-bottom: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--n-20, #e5e5e5);
}

.member-account-detail__section:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.member-account-detail__heading {
  margin: 0 0 0.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--p-100, #333);
}

.member-account-detail__subheading {
  margin: 0.5rem 0 0.25rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--n-80, #333);
}

.member-account-detail__dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.25rem 1.5rem;
}

.member-account-detail__dl dt {
  margin: 0;
  font-weight: 600;
  color: var(--n-60, #666);
}

.member-account-detail__dl dd {
  margin: 0;
}

.member-account-detail__address {
  margin: 0.5rem 0 0;
  font-style: normal;
  line-height: 1.5;
}

.member-account-detail__empty {
  margin: 0.5rem 0 0;
  color: var(--n-60, #666);
}

.member-account-detail__bookings {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
  list-style: disc;
}

.member-account-detail__booking-item {
  margin-bottom: 0.5rem;
  display: block;
}

.member-account-detail__booking-date {
  display: block;
  font-size: 0.9em;
  color: var(--n-60, #666);
}

.member-account-detail__booking-status {
  font-size: 0.85em;
  color: var(--n-50, #888);
}

#top .search-form::before {
  mask-image: url(/wp-content/themes/sitprorodinu/assets/img/lupa.svg);
  -webkit-mask-image: url(/wp-content/themes/sitprorodinu/assets/img/lupa.svg);
  color: white;
  position: absolute;
  right: 10px;
  pointer-events: none;
}

#menu-menu-clenske-sekce .current-menu-item a,
ul#menu-menu-clenske-sekce li:hover a {
  background: var(--p-100);
  color: white;
}

.member-main {
  background: var(--n-05);
  padding: 60px 60px 60px 20px;
}

.member-main__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 32px;
  margin-bottom: 50px;
}

.member-main__topbar-inner {
  display: flex;
  gap: 10px;
  align-items: center;
}

.member-main__search {
  position: relative;
}

input.search-submit {
  margin-left: -46px !important;
  border: none !important;
}

.member-main__icons-list li > button,
#top .search-submit {
  font-size: 0;
  display: block;
  width: 42px;
  height: 42px;
  border-radius: 100%;
  padding: 0;
  background: var(--p-100);
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}

.search-form {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}

.member-main__icons-list {
  margin: 0;
  display: flex;
  gap: 10px;
  list-style: none;
}

.member-main__icons-list li {
  margin: 0;
}

.member-main__icons-list li:not(:hover) > * {
  background: white;
  color: black;
}

.member-courses-grid,
.member-main .post-grid-block {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}

.member-main .item-link {
  background: white;
  border-color: white;
}

.member-course-thumb {
  margin-bottom: 20px;
  display: block;
}

#top .member-main .item-title {
  margin-bottom: 24px;
}

#top .member-main .item-title a {
  color: black;
  text-decoration: none;
}

.member-main .read-more,
.course-card__button {
  background: var(--p-100);
  width: 100%;
  display: block;
  padding: 12px;
  color: white;
  border-radius: 24px;
  text-align: center;
  text-decoration: none;
}

/*----------KALENDAR*/
.fc {
  background: white;
  padding: 12px 12px 8px;
}

.fc .fc-button {
  border-radius: 24px;
}

.fc .fc-button-primary {
  background: white;
  color: var(--p-100);
  border: 2px solid var(--p-100);
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  background-color: var(--p-100);
  border-color: var(--p-100);
  color: var(--fc-button-text-color);
}

#top .fc table {
  margin: 0;
  border: none;
}

.fc-col-header {
  margin: 0;
}

.fc-col-header th {
  padding: 8px 4px 6px;
  text-decoration: none;
  background: var(--n-05);
  border: none;
}

/*dny*/
.fc-theme-standard td,
.fc-theme-standard th {
  border-color: var(--n-20);
}

.fc-day-other {
  background-image: repeating-linear-gradient(
    -45deg,
    rgba(80, 136, 255, 0.25) 0px,
    rgba(80, 136, 255, 0.25) 1px,
    transparent 1px,
    transparent 12px
  );
}

#top .fc-day-today {
  background-color: var(--p-10) !important;
}

.fc-daygrid-day-top {
  position: absolute;
  z-index: 999;
  right: 0;
  top: 0;
}

/*event*/
.fc .fc-daygrid-day-frame {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

#top .fc-event {
  border-radius: 0 !important;
  padding: 6px 6px;
  margin: 0;
  border: none;
  border-left: 3px solid #7551e9;
  background: #7551e961;
  color: black;
}

/* Měsíční dayGrid: názvy se zalamují uvnitř buňky dne, nepřetékají do sousedních */
#top .fc-daygrid-event,
#top .fc-daygrid-block-event {
  overflow: hidden;
}

#top .fc-h-event,
#top .fc-h-event .fc-event-main,
#top .fc-h-event .fc-event-main-frame {
  white-space: normal;
}

#top .fc-h-event .fc-event-main-frame {
  display: block;
}

#top .fc-event-content-custom {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  max-width: 100%;
  overflow: hidden;
}

#top .fc-event-content-custom .event-icon {
  flex-shrink: 0;
  line-height: 1.35;
}

#top .fc-event-content-custom .event-title {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
  white-space: normal;
  line-height: 1.35;
}

.fc-h-event .fc-event-main {
  font-size: 12px;
  color: black;
}

.fc-col-header-cell-cushion {
  text-transform: uppercase;
  text-decoration: none;
  color: var(--n-80);
  font-size: 12px;
}

.fc .fc-daygrid-day-number {
  padding: 6px 8px;
  text-decoration: none;
  color: var(--n-100);
  font-size: 13px;
}

#custom-fullcalendar {
  position: relative;
  max-width: 100%;
}

/*popup*/
div#event-detail-sidebar {
  max-width: 300px;
  background: white;
  padding: 16px;
  box-shadow: 7px 10px 40px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease;
  pointer-events: auto;
}

div#event-detail-sidebar.is-visible {
  opacity: 1;
  visibility: visible;
}

/* Kalendář - float popup - obsah události */
/* Kontejner kalendáře musí být relativní */

/* Plovoucí popover s detailem akce */
#calendar-popover {
  position: absolute;
  z-index: 9999;
  background: #fff;
  border: 1px solid #ddd;
  padding: 12px;
  max-width: 260px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  pointer-events: auto;
  /* můžeme do něj najet a klikat */
  transition: opacity 0.15s ease;
  font-size: 14px;
}

#calendar-popover.is-visible {
  opacity: 1;
  visibility: visible;
}

#calendar-popover .detail-photo {
  max-width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

#calendar-popover h4 {
  margin: 0 0 6px;
  font-size: 15px;
}

#calendar-popover p {
  margin: 0 0 8px;
}

#calendar-popover .button {
  display: inline-block;
  padding: 6px 12px;
  font-size: 13px;
  text-decoration: none;
}

/** Plovoucí popover s detailem akce - konec */

.event-info img {
  max-height: 200px;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

#top .event-info h4 {
  font-size: 18px;
  margin: 16px 0 8px;
}

.event-info .button {
  width: 100%;
}

/*--------------------------------------------------POKLADNA*/

/*--------------------------------------------------LEKTOŘI*/
.lektori-list {
  list-style: none;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px 20px;
}

.lektor-item {
  text-align: center;
  background: var(--n-05);
  padding: 24px 32px;
  margin: 0;
}

h3.lektor-jmeno {
  margin: 32px 0;
  font-size: 24px;
}

img.lektor-foto {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  max-height: 200px;
  border-radius: 100%;
}

/*----------------------------------------------------------------------------------------------------FOOTER*/
#top .footer-nav-widgets-wrapper {
  background: black;
  color: white;
  margin-top: 160px;
}

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

.footer-widgets-outer-wrapper {
  border: none;
  padding-top: 0;
}

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

.footer-widgets .widget,
.footer-widgets li {
  margin: 0;
}

.footer-widgets.column-two {
  display: grid;
  grid-template-columns: 224px 1fr 1fr 8% 20%;
  gap: 64px;
  align-items: center;
}

.footer-widgets.column-one > * {
  flex: 0 1 calc((100% - 4 * 40px) / 5);
}

#top .footer-widgets .widget-content {
  font-size: 15px;
}

#top .footer-widgets a:not(.wp-block-social-link-anchor) {
  color: white;
}

.footer-widgets .wp-block-button {
  width: 100%;
  margin-bottom: 20px;
  max-width: 256px;
  margin: 0 auto;
}

.footer-widgets .wp-block-button__link {
  padding-top: 12px;
  padding-bottom: 12px;
}

.footer-widgets .wp-block-social-links .wp-social-link svg {
  height: 24px;
  width: 24px;
}

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

#top .footer-copyright {
  font-weight: 400;
  letter-spacing: 1px;
}

#site-footer a {
  text-decoration: underline;
}

#top:not(.scrolled) .to-the-top {
  opacity: 0;
}

a.to-the-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 40px;
  height: 40px;
  font-size: 0;
  text-decoration: none !important;
  border: 2px solid var(--p-100);
  background: white;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}

a.to-the-top::after {
  content: "\f342";
  font-family: "dashicons";
  font-size: 18px;
  color: var(--p-100);
}

/*----------------------------------------------------------------------------------------------------RESPONZE*/
/*malé notebooky*/
@media (min-width: 1000px) {
  .header-btns-wrapper {
    display: none;
  }
  
}

@media (max-width: 1000px) {
  :root {
    --header: 82px;
  }

  .footer-widgets.column-two {
    display: block;
    text-align: center;
  }

  .footer-widgets.column-two ul {
    list-style: none;
  }

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

  .site-logo img {
    max-height: 50px;
  }

  .header-btns-wrapper {
    display: flex;
    gap: 8px;
  }

  /* Burger menu: účet + košík pod menu (jen mobil / úzké okno) */
  #top .menu-modal .header-secondary-navigation-wrapper--menu-modal {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    gap: 20px;
    margin: 40px 0 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 28px 20px 0;
    border-top: 1px solid var(--n-10);
  }

  #top .menu-modal .header-secondary-navigation-wrapper--menu-modal .header-login,
  #top .menu-modal .header-secondary-navigation-wrapper--menu-modal .header-cart {
    flex: 0 0 auto;
    display: flex;
    justify-content: center;
  }

  #top .menu-modal .header-secondary-navigation-wrapper--menu-modal a {
    width: 48px;
    height: 48px;
  }

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

  .bloky .wp-block-cover {
    padding: 20px;
  }

  #top .number {
    font-size: 100px !important;
  }

  #top .products.columns-4 {
    grid-template-columns: 1fr 1fr 1fr;
}
}

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

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

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

  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;
  }

  .main-title,
  .main-subtitle,
  .main-banner img {
    text-align: center;
  }

  .main-banner img {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .bloky .wp-block-cover__inner-container {
    width: 50%;
  }

  .bloky .wp-block-cover {
    min-height: unset !important;
  }

  .home .wp-block-columns:not(.bloky) {
    text-align: center;
  }

  .wp-block-buttons {
    justify-content: center;
  }

  .post-grid-block,
  .lektori-list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  #top #frm_form_2_container .frm_fields_container {
    flex-direction: column;
    gap: 20px;
  }

  #frm_form_2_container .frm_button_submit {
    width: 100%;
    max-width: 280px;
  }

  .clenske-map-layout {
    display: block;
    text-align: center;
  }

  .clenske-kraj-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .clenske-kraj-list button {
    flex-basis: max-content;
  }

  #top .products.columns-4,
  .post-grid {
    grid-template-columns: 1fr 1fr;
}
}

/*mobily*/
@media (max-width: 500px) {
  .bloky .wp-block-cover__inner-container {
    width: 60%;
  }

  #top .wp-block-file {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

    #top .products.columns-4,
    .post-grid {
    grid-template-columns: 1fr;
}
}
div#darujme iframe {
    height: 400px !important;
}
/* Ikonky pro Gutenberg bloky souborů a odkazy na soubory v odstavcích */
.file-type-icon {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  margin-right: 12px;
  vertical-align: middle;
  flex-shrink: 0;
}

.file-type-icon svg {
  display: block;
  margin-bottom: 2px;
}

.file-type-icon span {
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
}

.member-documents-list__link .file-type-icon {
  display: inline-flex;
  flex-shrink: 0;
}

a.button-back,
.akce-odkazy {
  margin-top: 60px;
  display: block;
}

.woocommerce-tabs ul li.active a {
  color: var(--p-100);
  box-shadow: 0 2px 0 var(--p-100);
}
