@charset "UTF-8";
:root {
  --fw-light: 300;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-extrabold: 800;
  --fs-xxxl: 48px;
  --fs-xxl: 37px;
  --fs-xl: 31px;
  --fs-lg: 20px;
  --fs-normal: 17px;
  --fs-md: 15px;
  --fs-sm: 15px;
  --fs-xs: 15px;
  --fs-xxs: 15px;
  --color-black: #25272F;
  --color-red: #EA4E4F;
  --section-padding-y: 90px;
}
@media screen and (max-width: 1199.98px) {
  :root {
    --fs-xxxl: 44px;
    --fs-xxl: 33px;
    --fs-xl: 29px;
    --fs-lg: 18px;
    --fs-normal: 16px;
    --fs-md: 14px;
    --fs-sm: 14px;
    --fs-xs: 14px;
    --fs-xxs: 14px;
    --section-padding-y: 75px;
  }
}
@media screen and (max-width: 991.98px) {
  :root {
    --fs-xxxl: 44px;
    --fs-xxl: 33px;
    --fs-xl: 29px;
    --fs-lg: 18px;
    --fs-normal: 16px;
    --fs-md: 14px;
    --fs-sm: 14px;
    --fs-xs: 14px;
    --fs-xxs: 14px;
    --section-padding-y: 75px;
  }
}
@media screen and (max-width: 767.98px) {
  :root {
    --fs-xxxl: 40px;
    --fs-xxl: 31px;
    --fs-xl: 26px;
    --fs-lg: 17px;
    --fs-normal: 15px;
    --fs-md: 13px;
    --fs-sm: 13px;
    --fs-xs: 13px;
    --fs-xxs: 13px;
    --section-padding-y: 60px;
  }
}
@media screen and (max-width: 575.98px) {
  :root {
    --fs-xxxl: 40px;
    --fs-xxl: 31px;
    --fs-xl: 26px;
    --fs-lg: 17px;
    --fs-normal: 15px;
    --fs-md: 13px;
    --fs-sm: 13px;
    --fs-xs: 13px;
    --fs-xxs: 13px;
    --section-padding-y: 60px;
  }
}
.b-red {
  background-color: var(--color-red);
  color: var(--color-white);
}
a {
  color: inherit;
}
.bg-no-repeat {
  background-repeat: no-repeat;
}
.bg-cover {
  background-size: cover;
}
.bg-center {
  background-position: center;
}
.t-red {
  color: var(--color-red) !important;
}
.pointer {
  cursor: pointer !important;
}
.fw-italic {
  font-style: italic;
}
.fw-light {
  font-weight: 300;
}
.fw-medium {
  font-weight: 500;
}
.fw-semibold {
  font-weight: 600;
}
.fw-extrabold {
  font-weight: 800;
}
.fs-xxxl {
  font-size: var(--fs-xxxl);
}
.fs-xxl {
  font-size: var(--fs-xxl);
}
.fs-xl {
  font-size: var(--fs-xl);
}
.fs-lg {
  font-size: var(--fs-lg);
}
.fs-normal {
  font-size: var(--fs-normal);
}
.fs-md {
  font-size: var(--fs-md);
}
.fs-sm {
  font-size: var(--fs-sm);
}
.fs-xs {
  font-size: var(--fs-xs);
}
.fs-xxs {
  font-size: var(--fs-xxs);
}
.fs-6 {
  font-size: 6px;
}
.fs-7 {
  font-size: 7px;
}
.fs-8 {
  font-size: 8px;
}
.fs-9 {
  font-size: 9px;
}
.fs-10 {
  font-size: 10px;
}
.fs-11 {
  font-size: 11px;
}
.fs-12 {
  font-size: 12px;
}
.fs-13 {
  font-size: 13px;
}
.fs-14 {
  font-size: 14px;
}
.fs-15 {
  font-size: 15px;
}
.fs-16 {
  font-size: 16px;
}
.fs-17 {
  font-size: 17px;
}
.fs-18 {
  font-size: 18px;
}
.fs-19 {
  font-size: 19px;
}
.fs-20 {
  font-size: 20px;
}
.fs-21 {
  font-size: 21px;
}
.fs-22 {
  font-size: 22px;
}
.fs-23 {
  font-size: 23px;
}
.fs-24 {
  font-size: 24px;
}
.fs-25 {
  font-size: 25px;
}
.fs-26 {
  font-size: 26px;
}
.fs-27 {
  font-size: 27px;
}
.fs-28 {
  font-size: 28px;
}
.fs-29 {
  font-size: 29px;
}
.fs-30 {
  font-size: 30px;
}
.fs-31 {
  font-size: 31px;
}
.fs-32 {
  font-size: 32px;
}
.fs-33 {
  font-size: 33px;
}
.fs-34 {
  font-size: 34px;
}
.fs-35 {
  font-size: 35px;
}
.fs-36 {
  font-size: 36px;
}
.fs-37 {
  font-size: 37px;
}
.fs-38 {
  font-size: 38px;
}
.fs-39 {
  font-size: 39px;
}
.fs-40 {
  font-size: 40px;
}
.fs-41 {
  font-size: 41px;
}
.fs-42 {
  font-size: 42px;
}
.fs-43 {
  font-size: 43px;
}
.fs-44 {
  font-size: 44px;
}
.fs-45 {
  font-size: 45px;
}
.fs-46 {
  font-size: 46px;
}
.fs-47 {
  font-size: 47px;
}
.fs-48 {
  font-size: 48px;
}
.fs-49 {
  font-size: 49px;
}
.fs-50 {
  font-size: 50px;
}
.fs-51 {
  font-size: 51px;
}
.fs-52 {
  font-size: 52px;
}
.fs-53 {
  font-size: 53px;
}
.fs-54 {
  font-size: 54px;
}
.fs-55 {
  font-size: 55px;
}
.fs-56 {
  font-size: 56px;
}
.fs-57 {
  font-size: 57px;
}
.fs-58 {
  font-size: 58px;
}
.fs-59 {
  font-size: 59px;
}
.fs-60 {
  font-size: 60px;
}
.fs-61 {
  font-size: 61px;
}
.fs-62 {
  font-size: 62px;
}
.fs-63 {
  font-size: 63px;
}
.fs-64 {
  font-size: 64px;
}
.fs-65 {
  font-size: 65px;
}
.fs-66 {
  font-size: 66px;
}
.fs-67 {
  font-size: 67px;
}
.fs-68 {
  font-size: 68px;
}
.fs-69 {
  font-size: 69px;
}
.fs-70 {
  font-size: 70px;
}
.fs-71 {
  font-size: 71px;
}
.fs-72 {
  font-size: 72px;
}
@media (min-width: 576px) {
  .fs-sm-6 {
    font-size: 6px;
  }
  .fs-sm-7 {
    font-size: 7px;
  }
  .fs-sm-8 {
    font-size: 8px;
  }
  .fs-sm-9 {
    font-size: 9px;
  }
  .fs-sm-10 {
    font-size: 10px;
  }
  .fs-sm-11 {
    font-size: 11px;
  }
  .fs-sm-12 {
    font-size: 12px;
  }
  .fs-sm-13 {
    font-size: 13px;
  }
  .fs-sm-14 {
    font-size: 14px;
  }
  .fs-sm-15 {
    font-size: 15px;
  }
  .fs-sm-16 {
    font-size: 16px;
  }
  .fs-sm-17 {
    font-size: 17px;
  }
  .fs-sm-18 {
    font-size: 18px;
  }
  .fs-sm-19 {
    font-size: 19px;
  }
  .fs-sm-20 {
    font-size: 20px;
  }
  .fs-sm-21 {
    font-size: 21px;
  }
  .fs-sm-22 {
    font-size: 22px;
  }
  .fs-sm-23 {
    font-size: 23px;
  }
  .fs-sm-24 {
    font-size: 24px;
  }
  .fs-sm-25 {
    font-size: 25px;
  }
  .fs-sm-26 {
    font-size: 26px;
  }
  .fs-sm-27 {
    font-size: 27px;
  }
  .fs-sm-28 {
    font-size: 28px;
  }
  .fs-sm-29 {
    font-size: 29px;
  }
  .fs-sm-30 {
    font-size: 30px;
  }
  .fs-sm-31 {
    font-size: 31px;
  }
  .fs-sm-32 {
    font-size: 32px;
  }
  .fs-sm-33 {
    font-size: 33px;
  }
  .fs-sm-34 {
    font-size: 34px;
  }
  .fs-sm-35 {
    font-size: 35px;
  }
  .fs-sm-36 {
    font-size: 36px;
  }
  .fs-sm-37 {
    font-size: 37px;
  }
  .fs-sm-38 {
    font-size: 38px;
  }
  .fs-sm-39 {
    font-size: 39px;
  }
  .fs-sm-40 {
    font-size: 40px;
  }
  .fs-sm-41 {
    font-size: 41px;
  }
  .fs-sm-42 {
    font-size: 42px;
  }
  .fs-sm-43 {
    font-size: 43px;
  }
  .fs-sm-44 {
    font-size: 44px;
  }
  .fs-sm-45 {
    font-size: 45px;
  }
  .fs-sm-46 {
    font-size: 46px;
  }
  .fs-sm-47 {
    font-size: 47px;
  }
  .fs-sm-48 {
    font-size: 48px;
  }
  .fs-sm-49 {
    font-size: 49px;
  }
  .fs-sm-50 {
    font-size: 50px;
  }
  .fs-sm-51 {
    font-size: 51px;
  }
  .fs-sm-52 {
    font-size: 52px;
  }
  .fs-sm-53 {
    font-size: 53px;
  }
  .fs-sm-54 {
    font-size: 54px;
  }
  .fs-sm-55 {
    font-size: 55px;
  }
  .fs-sm-56 {
    font-size: 56px;
  }
  .fs-sm-57 {
    font-size: 57px;
  }
  .fs-sm-58 {
    font-size: 58px;
  }
  .fs-sm-59 {
    font-size: 59px;
  }
  .fs-sm-60 {
    font-size: 60px;
  }
  .fs-sm-61 {
    font-size: 61px;
  }
  .fs-sm-62 {
    font-size: 62px;
  }
  .fs-sm-63 {
    font-size: 63px;
  }
  .fs-sm-64 {
    font-size: 64px;
  }
  .fs-sm-65 {
    font-size: 65px;
  }
  .fs-sm-66 {
    font-size: 66px;
  }
  .fs-sm-67 {
    font-size: 67px;
  }
  .fs-sm-68 {
    font-size: 68px;
  }
  .fs-sm-69 {
    font-size: 69px;
  }
  .fs-sm-70 {
    font-size: 70px;
  }
  .fs-sm-71 {
    font-size: 71px;
  }
  .fs-sm-72 {
    font-size: 72px;
  }
}
@media (min-width: 768px) {
  .fs-md-6 {
    font-size: 6px;
  }
  .fs-md-7 {
    font-size: 7px;
  }
  .fs-md-8 {
    font-size: 8px;
  }
  .fs-md-9 {
    font-size: 9px;
  }
  .fs-md-10 {
    font-size: 10px;
  }
  .fs-md-11 {
    font-size: 11px;
  }
  .fs-md-12 {
    font-size: 12px;
  }
  .fs-md-13 {
    font-size: 13px;
  }
  .fs-md-14 {
    font-size: 14px;
  }
  .fs-md-15 {
    font-size: 15px;
  }
  .fs-md-16 {
    font-size: 16px;
  }
  .fs-md-17 {
    font-size: 17px;
  }
  .fs-md-18 {
    font-size: 18px;
  }
  .fs-md-19 {
    font-size: 19px;
  }
  .fs-md-20 {
    font-size: 20px;
  }
  .fs-md-21 {
    font-size: 21px;
  }
  .fs-md-22 {
    font-size: 22px;
  }
  .fs-md-23 {
    font-size: 23px;
  }
  .fs-md-24 {
    font-size: 24px;
  }
  .fs-md-25 {
    font-size: 25px;
  }
  .fs-md-26 {
    font-size: 26px;
  }
  .fs-md-27 {
    font-size: 27px;
  }
  .fs-md-28 {
    font-size: 28px;
  }
  .fs-md-29 {
    font-size: 29px;
  }
  .fs-md-30 {
    font-size: 30px;
  }
  .fs-md-31 {
    font-size: 31px;
  }
  .fs-md-32 {
    font-size: 32px;
  }
  .fs-md-33 {
    font-size: 33px;
  }
  .fs-md-34 {
    font-size: 34px;
  }
  .fs-md-35 {
    font-size: 35px;
  }
  .fs-md-36 {
    font-size: 36px;
  }
  .fs-md-37 {
    font-size: 37px;
  }
  .fs-md-38 {
    font-size: 38px;
  }
  .fs-md-39 {
    font-size: 39px;
  }
  .fs-md-40 {
    font-size: 40px;
  }
  .fs-md-41 {
    font-size: 41px;
  }
  .fs-md-42 {
    font-size: 42px;
  }
  .fs-md-43 {
    font-size: 43px;
  }
  .fs-md-44 {
    font-size: 44px;
  }
  .fs-md-45 {
    font-size: 45px;
  }
  .fs-md-46 {
    font-size: 46px;
  }
  .fs-md-47 {
    font-size: 47px;
  }
  .fs-md-48 {
    font-size: 48px;
  }
  .fs-md-49 {
    font-size: 49px;
  }
  .fs-md-50 {
    font-size: 50px;
  }
  .fs-md-51 {
    font-size: 51px;
  }
  .fs-md-52 {
    font-size: 52px;
  }
  .fs-md-53 {
    font-size: 53px;
  }
  .fs-md-54 {
    font-size: 54px;
  }
  .fs-md-55 {
    font-size: 55px;
  }
  .fs-md-56 {
    font-size: 56px;
  }
  .fs-md-57 {
    font-size: 57px;
  }
  .fs-md-58 {
    font-size: 58px;
  }
  .fs-md-59 {
    font-size: 59px;
  }
  .fs-md-60 {
    font-size: 60px;
  }
  .fs-md-61 {
    font-size: 61px;
  }
  .fs-md-62 {
    font-size: 62px;
  }
  .fs-md-63 {
    font-size: 63px;
  }
  .fs-md-64 {
    font-size: 64px;
  }
  .fs-md-65 {
    font-size: 65px;
  }
  .fs-md-66 {
    font-size: 66px;
  }
  .fs-md-67 {
    font-size: 67px;
  }
  .fs-md-68 {
    font-size: 68px;
  }
  .fs-md-69 {
    font-size: 69px;
  }
  .fs-md-70 {
    font-size: 70px;
  }
  .fs-md-71 {
    font-size: 71px;
  }
  .fs-md-72 {
    font-size: 72px;
  }
}
@media (min-width: 992px) {
  .fs-lg-6 {
    font-size: 6px;
  }
  .fs-lg-7 {
    font-size: 7px;
  }
  .fs-lg-8 {
    font-size: 8px;
  }
  .fs-lg-9 {
    font-size: 9px;
  }
  .fs-lg-10 {
    font-size: 10px;
  }
  .fs-lg-11 {
    font-size: 11px;
  }
  .fs-lg-12 {
    font-size: 12px;
  }
  .fs-lg-13 {
    font-size: 13px;
  }
  .fs-lg-14 {
    font-size: 14px;
  }
  .fs-lg-15 {
    font-size: 15px;
  }
  .fs-lg-16 {
    font-size: 16px;
  }
  .fs-lg-17 {
    font-size: 17px;
  }
  .fs-lg-18 {
    font-size: 18px;
  }
  .fs-lg-19 {
    font-size: 19px;
  }
  .fs-lg-20 {
    font-size: 20px;
  }
  .fs-lg-21 {
    font-size: 21px;
  }
  .fs-lg-22 {
    font-size: 22px;
  }
  .fs-lg-23 {
    font-size: 23px;
  }
  .fs-lg-24 {
    font-size: 24px;
  }
  .fs-lg-25 {
    font-size: 25px;
  }
  .fs-lg-26 {
    font-size: 26px;
  }
  .fs-lg-27 {
    font-size: 27px;
  }
  .fs-lg-28 {
    font-size: 28px;
  }
  .fs-lg-29 {
    font-size: 29px;
  }
  .fs-lg-30 {
    font-size: 30px;
  }
  .fs-lg-31 {
    font-size: 31px;
  }
  .fs-lg-32 {
    font-size: 32px;
  }
  .fs-lg-33 {
    font-size: 33px;
  }
  .fs-lg-34 {
    font-size: 34px;
  }
  .fs-lg-35 {
    font-size: 35px;
  }
  .fs-lg-36 {
    font-size: 36px;
  }
  .fs-lg-37 {
    font-size: 37px;
  }
  .fs-lg-38 {
    font-size: 38px;
  }
  .fs-lg-39 {
    font-size: 39px;
  }
  .fs-lg-40 {
    font-size: 40px;
  }
  .fs-lg-41 {
    font-size: 41px;
  }
  .fs-lg-42 {
    font-size: 42px;
  }
  .fs-lg-43 {
    font-size: 43px;
  }
  .fs-lg-44 {
    font-size: 44px;
  }
  .fs-lg-45 {
    font-size: 45px;
  }
  .fs-lg-46 {
    font-size: 46px;
  }
  .fs-lg-47 {
    font-size: 47px;
  }
  .fs-lg-48 {
    font-size: 48px;
  }
  .fs-lg-49 {
    font-size: 49px;
  }
  .fs-lg-50 {
    font-size: 50px;
  }
  .fs-lg-51 {
    font-size: 51px;
  }
  .fs-lg-52 {
    font-size: 52px;
  }
  .fs-lg-53 {
    font-size: 53px;
  }
  .fs-lg-54 {
    font-size: 54px;
  }
  .fs-lg-55 {
    font-size: 55px;
  }
  .fs-lg-56 {
    font-size: 56px;
  }
  .fs-lg-57 {
    font-size: 57px;
  }
  .fs-lg-58 {
    font-size: 58px;
  }
  .fs-lg-59 {
    font-size: 59px;
  }
  .fs-lg-60 {
    font-size: 60px;
  }
  .fs-lg-61 {
    font-size: 61px;
  }
  .fs-lg-62 {
    font-size: 62px;
  }
  .fs-lg-63 {
    font-size: 63px;
  }
  .fs-lg-64 {
    font-size: 64px;
  }
  .fs-lg-65 {
    font-size: 65px;
  }
  .fs-lg-66 {
    font-size: 66px;
  }
  .fs-lg-67 {
    font-size: 67px;
  }
  .fs-lg-68 {
    font-size: 68px;
  }
  .fs-lg-69 {
    font-size: 69px;
  }
  .fs-lg-70 {
    font-size: 70px;
  }
  .fs-lg-71 {
    font-size: 71px;
  }
  .fs-lg-72 {
    font-size: 72px;
  }
}
@media (min-width: 1200px) {
  .fs-xl-6 {
    font-size: 6px;
  }
  .fs-xl-7 {
    font-size: 7px;
  }
  .fs-xl-8 {
    font-size: 8px;
  }
  .fs-xl-9 {
    font-size: 9px;
  }
  .fs-xl-10 {
    font-size: 10px;
  }
  .fs-xl-11 {
    font-size: 11px;
  }
  .fs-xl-12 {
    font-size: 12px;
  }
  .fs-xl-13 {
    font-size: 13px;
  }
  .fs-xl-14 {
    font-size: 14px;
  }
  .fs-xl-15 {
    font-size: 15px;
  }
  .fs-xl-16 {
    font-size: 16px;
  }
  .fs-xl-17 {
    font-size: 17px;
  }
  .fs-xl-18 {
    font-size: 18px;
  }
  .fs-xl-19 {
    font-size: 19px;
  }
  .fs-xl-20 {
    font-size: 20px;
  }
  .fs-xl-21 {
    font-size: 21px;
  }
  .fs-xl-22 {
    font-size: 22px;
  }
  .fs-xl-23 {
    font-size: 23px;
  }
  .fs-xl-24 {
    font-size: 24px;
  }
  .fs-xl-25 {
    font-size: 25px;
  }
  .fs-xl-26 {
    font-size: 26px;
  }
  .fs-xl-27 {
    font-size: 27px;
  }
  .fs-xl-28 {
    font-size: 28px;
  }
  .fs-xl-29 {
    font-size: 29px;
  }
  .fs-xl-30 {
    font-size: 30px;
  }
  .fs-xl-31 {
    font-size: 31px;
  }
  .fs-xl-32 {
    font-size: 32px;
  }
  .fs-xl-33 {
    font-size: 33px;
  }
  .fs-xl-34 {
    font-size: 34px;
  }
  .fs-xl-35 {
    font-size: 35px;
  }
  .fs-xl-36 {
    font-size: 36px;
  }
  .fs-xl-37 {
    font-size: 37px;
  }
  .fs-xl-38 {
    font-size: 38px;
  }
  .fs-xl-39 {
    font-size: 39px;
  }
  .fs-xl-40 {
    font-size: 40px;
  }
  .fs-xl-41 {
    font-size: 41px;
  }
  .fs-xl-42 {
    font-size: 42px;
  }
  .fs-xl-43 {
    font-size: 43px;
  }
  .fs-xl-44 {
    font-size: 44px;
  }
  .fs-xl-45 {
    font-size: 45px;
  }
  .fs-xl-46 {
    font-size: 46px;
  }
  .fs-xl-47 {
    font-size: 47px;
  }
  .fs-xl-48 {
    font-size: 48px;
  }
  .fs-xl-49 {
    font-size: 49px;
  }
  .fs-xl-50 {
    font-size: 50px;
  }
  .fs-xl-51 {
    font-size: 51px;
  }
  .fs-xl-52 {
    font-size: 52px;
  }
  .fs-xl-53 {
    font-size: 53px;
  }
  .fs-xl-54 {
    font-size: 54px;
  }
  .fs-xl-55 {
    font-size: 55px;
  }
  .fs-xl-56 {
    font-size: 56px;
  }
  .fs-xl-57 {
    font-size: 57px;
  }
  .fs-xl-58 {
    font-size: 58px;
  }
  .fs-xl-59 {
    font-size: 59px;
  }
  .fs-xl-60 {
    font-size: 60px;
  }
  .fs-xl-61 {
    font-size: 61px;
  }
  .fs-xl-62 {
    font-size: 62px;
  }
  .fs-xl-63 {
    font-size: 63px;
  }
  .fs-xl-64 {
    font-size: 64px;
  }
  .fs-xl-65 {
    font-size: 65px;
  }
  .fs-xl-66 {
    font-size: 66px;
  }
  .fs-xl-67 {
    font-size: 67px;
  }
  .fs-xl-68 {
    font-size: 68px;
  }
  .fs-xl-69 {
    font-size: 69px;
  }
  .fs-xl-70 {
    font-size: 70px;
  }
  .fs-xl-71 {
    font-size: 71px;
  }
  .fs-xl-72 {
    font-size: 72px;
  }
}
figure {
  margin-bottom: 0;
}
.figure-img {
  margin-bottom: 0;
}
.figure-caption {
  color: var(--color-black);
  font-size: var(--fs-md);
  margin-top: 14px;
}
.opacity-10 {
  opacity: 0.1;
}
.opacity-20 {
  opacity: 0.2;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-90 {
  opacity: 0.9;
}
nav + main section:first-of-type, nav + main article:first-of-type {
  padding-top: calc(var(--section-padding-y) + 60px) !important;
}
article + section:first-of-type {
  padding-top: var(--section-padding-y) !important;
}
section, article, header {
  position: relative;
}
section.section--dark, section.section--red, article.section--dark, article.section--red, header.section--dark, header.section--red {
  color: var(--color-white);
}
section .mask + .container, article .mask + .container, header .mask + .container {
  position: relative;
  z-index: 5;
}
section .mask + .row, article .mask + .row, header .mask + .row {
  z-index: 5;
}
@media (min-width: 992px) {
  main > section:first-child:not(.no-move-top) {
    position: relative;
    /* Důležité pro fungování vlastnosti 'top' */
    padding-top: 0;
    top: -140px;
    margin-bottom: -164px;
  }
}
.section--white {
  --bs-border-color: #d4dde2;
}
.section--red, .section--dark {
  --bs-border-color: #495257;
}
.section--white + .section--white, .section--red + .section--red, .section--dark + .section--dark {
  padding-top: 0 !important;
}
.section--red .section--number {
  color: var(--color-dark);
}
.section--red .section--number::before {
  background-color: var(--color-dark);
}
body {
  font-size: var(--fs-normal);
  font-family: "Roboto", sans-serif;
  color: var(--color-black);
}
a {
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
a.no-decoration {
  text-decoration: none;
}
a.no-decoration:hover {
  text-decoration: underline;
}
a[class^="col"] {
  text-decoration: none;
}
a[class^="col"]:hover {
  text-decoration: none;
}
h1, .h1 {
  font-size: var(--fs-xxxl);
  line-height: 1.2;
  margin-bottom: calc(var(--fs-xxxl) * (1 - 1.2));
}
h2, .h2 {
  font-size: var(--fs-xxl);
  line-height: 1.2;
  margin-bottom: calc(var(--fs-xxl) * (1 - 1.2));
  padding-bottom: calc(var(--fs-xxl) / 2);
  font-weight: bold;
}
h3, .h3 {
  font-size: var(--fs-xl);
  line-height: 1.3;
  margin-bottom: calc(var(--fs-xl) * (1 - 1.3));
  padding-bottom: calc(var(--fs-xl) / 2);
}
h4, .h4 {
  font-size: var(--fs-lg);
  line-height: 1.4;
  margin-bottom: calc(var(--fs-lg) * (1 - 1.4));
}
h5, .h5 {
  font-size: var(--fs-normal);
  line-height: 1.4;
  margin-bottom: calc(var(--fs-lg) * (1 - 1.4));
}
h6, .h6 {
  font-size: var(--fs-normal);
  line-height: 1.4;
  margin-bottom: calc(var(--fs-lg) * (1 - 1.4));
}
p:last-of-type {
  margin-bottom: 0;
}
.container-fluid .col-p-s {
  padding-left: calc((100% - 1320px + 24px) / 2);
}
@media (max-width: 1399.98px) {
  .container-fluid .col-p-s {
    padding-left: calc((100% - 1140px + 24px) / 2);
  }
}
@media (max-width: 1199.98px) {
  .container-fluid .col-p-s {
    padding-left: calc((100% - 960px + 24px) / 2);
  }
}
@media (max-width: 991.98px) {
  .container-fluid .col-p-s, .container-fluid .slider-column-wrapper {
    padding-left: calc((100% - 720px + 24px) / 2);
  }
}
@media (max-width: 767.98px) {
  .container-fluid .col-p-s, .container-fluid .slider-column-wrapper {
    padding-left: calc((100% - 540px + 24px) / 2);
  }
}
@media (max-width: 575.98px) {
  .container-fluid .col-p-s, .container-fluid .slider-column-wrapper {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }
}
.g-6, .gx-6 {
  --bs-gutter-x: 4rem;
}
.g-6, .gy-6 {
  --bs-gutter-y: 4rem;
}
.g-7, .gx-7 {
  --bs-gutter-x: 5rem;
}
.g-7, .gy-7 {
  --bs-gutter-y: 5rem;
}
section, article {
  padding: var(--section-padding-y) 0;
  position: relative;
}
section .mask, article .mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
section > .mask + *, article > .mask + * {
  z-index: 5;
  position: relative;
}
.ratio-3x4 {
  --bs-aspect-ratio: 125%;
}
/* --- ZÁKLADNÍ PROMĚNNÉ A LAYOUT (SHOP / PAYMENT) --- */
:root {
  --bcd-bg: #d4dfe1;
  --bcd-purple: #3a0055;
  --bcd-orange: #ff6b00;
  --bcd-green: #108e66;
  --bcd-red: #dc3545;
  --bcd-text: #1a1a1a;
  /* Invoice Variables */
  --inv-bg-dark: #555;
  --inv-paper: #ffffff;
  --inv-text: #25272f;
}
/* FIX: Globální reset pro prevenci poskakování paddingů */
*, *::before, *::after {
  box-sizing: border-box;
}
/* Výchozí nastavení (Payment page) */
body {
  background-color: var(--bcd-bg);
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  color: var(--bcd-text);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}
/* --- PAYMENT CARD STYLES --- */
.bcd-payment-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.bcd-card {
  background: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: 0 15px 35px rgba(58, 0, 85, 0.15);
  max-width: 480px;
  width: 100%;
  min-height: 200px;
  overflow: hidden;
  position: relative;
}
.bcd-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--bcd-purple) 50%, var(--bcd-orange) 50%);
  z-index: 2;
}
.bcd-header {
  padding: 40px 40px 20px 40px;
  text-align: center;
}
.bcd-logo-text {
  font-size: 24px;
  font-weight: 700;
  color: var(--bcd-purple);
  letter-spacing: -0.5px;
  margin-bottom: 5px;
  line-height: 1.1;
}
.bcd-subtitle {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #666;
  margin-top: 10px;
}
.bcd-body {
  padding: 20px 40px 40px 40px;
}
/* --- ORDER SUMMARY --- */
.order-summary {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  padding: 20px;
  margin-bottom: 30px;
}
.price-tag {
  font-size: 48px;
  font-weight: 700;
  color: var(--bcd-text);
  line-height: 1;
  margin: 15px 0;
  letter-spacing: -1px;
}
.info-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-bottom: 8px;
  color: #555;
}
.info-label {
  color: #888;
}
/* --- TLAČÍTKA (Payment) --- */
.btn-bcd-primary, .btn-bcd-secondary {
  border: none;
  padding: 16px 20px;
  font-weight: 600;
  font-size: 16px;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
  border-radius: 0;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  height: 54px;
  line-height: 22px;
}
.btn-bcd-primary {
  background-color: var(--bcd-orange);
  color: #fff;
}
.btn-bcd-primary:hover {
  background-color: #e65c00;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 107, 0, 0.3);
}
.btn-bcd-secondary {
  background-color: #eee;
  color: #333;
}
.btn-bcd-secondary:hover {
  background-color: #ddd;
  color: #111;
}
.secure-badge {
  margin-top: 25px;
  font-size: 12px;
  color: #999;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.status-icon {
  margin-bottom: 20px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.success-icon {
  color: var(--bcd-green);
}
.error-icon {
  color: var(--bcd-red);
}
.status-icon svg {
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto;
}
.status-title {
  font-size: 22px;
  font-weight: 700;
  color: var(--bcd-text);
  margin-bottom: 10px;
}
.status-message {
  color: #666;
  margin-bottom: 30px;
  line-height: 1.5;
}
.admin-notice {
  background: #eee;
  color: #555;
  font-size: 11px;
  text-align: center;
  padding: 5px;
  margin-bottom: 10px;
}
/* --- UTILITIES --- */
.mt-4 {
  margin-top: 1.5rem;
}
.text-center {
  text-align: center;
}
.text-danger {
  color: #dc3545;
}
.fw-bold {
  font-weight: 700;
}
.text-muted {
  color: #6c757d;
}
.mb-0 {
  margin-bottom: 0;
}
.mb-4 {
  margin-bottom: 1.5rem;
}
.text-dark {
  color: #212529;
}
.border-top {
  border-top: 1px solid #dee2e6;
}
.pt-3 {
  padding-top: 1rem;
}
.mt-3 {
  margin-top: 1rem;
}
/* --- LOADING SPINNER --- */
.bcd-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: bcd-spin 0.8s linear infinite;
  margin-right: 8px;
  vertical-align: middle;
}
@keyframes bcd-spin {
  to {
    transform: rotate(360deg);
  }
}
/* --- ANIMACE IKON --- */
@keyframes drawStroke {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes iconPop {
  0% {
    transform: scale(0.5);
    opacity: 0;
  }
  70% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.success-icon svg {
  animation: iconPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
.success-icon svg path, .success-icon svg polyline {
  stroke-dasharray: 60;
  stroke-dashoffset: 60;
  animation: drawStroke 0.8s ease-in-out 0.3s forwards;
}
.error-icon svg {
  animation: iconPop 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
.error-icon svg circle {
  stroke-dasharray: 70;
  stroke-dashoffset: 70;
  animation: drawStroke 0.6s ease-in-out forwards;
}
.error-icon svg line {
  stroke-dasharray: 20;
  stroke-dashoffset: 20;
}
.error-icon svg line:nth-of-type(1) {
  animation: drawStroke 0.3s ease-in-out 0.4s forwards;
}
.error-icon svg line:nth-of-type(2) {
  animation: drawStroke 0.3s ease-in-out 0.55s forwards;
}
@media (max-width: 576px) {
  .bcd-header, .bcd-body {
    padding: 30px 20px;
  }
  .price-tag {
    font-size: 38px;
  }
}
/* ========================================= INVOICE STYLES (Moved from single-invoice.php) ========================================= */
/* Override body for Invoice Page */
body.bcd-invoice-page {
  background: var(--inv-bg-dark);
  font-family: Arial, sans-serif !important;
  -webkit-print-color-adjust: exact;
  /* Faktura vyžaduje standardní font */
  display: block;
  /* Reset flex from payment layout */
}
/* Container A4 */
.inv-page-container {
  width: 210mm;
  min-height: 275mm;
  background: var(--inv-paper);
  margin: 30px auto;
  padding: 20mm;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  position: relative;
  color: var(--inv-text);
  overflow: hidden;
}
/* Typography Helpers */
.inv-h4 {
  font-weight: 700;
  margin-bottom: 5px;
  color: #000;
  font-size: 1.5rem;
  /* Bootstrap default approx */
}
.inv-text-muted-custom {
  color: #888;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 5px;
}
.inv-f-sm {
  font-size: 0.9rem;
  line-height: 1.5;
}
.inv-f-xs {
  font-size: 0.75rem;
  color: #666;
}
/* Table */
.invoice-table {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  border-collapse: collapse;
}
.invoice-table th {
  text-align: left;
  padding: 10px 0;
  border-bottom: 2px solid #eee;
  color: #888;
  font-weight: normal;
  font-size: 0.85rem;
}
.invoice-table td {
  padding: 12px 0;
  border-bottom: 1px solid #f5f5f5;
}
/* Footer */
.invoice-footer {
  position: absolute;
  bottom: 15mm;
  left: 20mm;
  right: 20mm;
  text-align: center;
  border-top: 1px solid #eee;
  padding-top: 10px;
  font-size: 0.75rem;
  color: #666;
}
/* Invoice Control Buttons */
/* Úprava BCD tlačítek pro ovládací panel faktury */
.control-panel {
  padding-bottom: 20px;
  /* Trochu místa pod tlačítky */
}
.control-panel .btn-bcd-primary, .control-panel .btn-bcd-secondary {
  width: auto;
  /* Zrušíme 100% šířku, aby mohla být vedle sebe */
  display: inline-block;
  min-width: 160px;
  /* Aby měla tlačítka jednotnou minimální šířku */
  margin: 5px;
  /* Rozestupy mezi tlačítky */
  font-size: 14px;
  /* Na faktuře mohou být o něco menší texty */
  padding: 12px 20px;
  /* Úprava paddingu */
  height: auto;
  /* Reset výšky */
  line-height: normal;
}
/* PRINT MEDIA */
@media print {
  @page {
    margin: 10mm;
  }
  body.bcd-invoice-page {
    background: white;
    margin: 0;
  }
  .inv-page-container {
    width: 100%;
    margin: 0;
    box-shadow: none;
    padding: 0;
    min-height: 275mm;
    border: none;
  }
  .d-print-none {
    display: none !important;
  }
}
.breadcrumbs a {
  text-decoration: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}
.breadcrumbs .breadcrumb_last {
  font-weight: var(--fw-medium);
}
.btn {
  border-radius: 20px;
  font-weight: normal;
  font-size: var(--fs-normal);
  padding: 6px 32px;
  transition: all 0.5s;
}
.btn:hover {
  text-decoration: none !important;
}
.btn.btn-white {
  background-color: var(--color-white);
  color: var(--color-blue);
  border: 1px solid var(--color-white);
}
.btn.btn-white:hover {
  background-color: var(--color-blue);
  color: var(--color-white);
  border: 1px solid var(--color-white);
}
.btn:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: none;
}
.form-control:focus {
  border-color: var(--bs-border-color);
}
select {
  border: 1px solid var(--bs-border-color);
}
@media (min-width: 992px) {
  .home header {
    height: 800px;
    max-height: 100vh;
  }
}
/* Pomocná třída pro rodiče obrázku, která zajistí oříznutí. */
.img-zoom-wrapper {
  overflow: hidden;
}
/* Cílový element, který se bude animovat. */
.img-zoom {
  transition: transform 0.4s ease-in-out;
}
/* Při najetí na .hover-zoom se cílový .img-zoom zvětší. */
.hover-zoom:hover .img-zoom {
  transform: scale(1.1);
}
.loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 2000;
  background: rgba(0, 0, 0, 0.5);
}
.fns-loader {
  border: 5px solid gray;
  border-top: 5px solid black;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}
:root {
  --navbar-height: 68px;
  --bs-dropdown-link-hover-bg: transparent !important;
}
nav {
  background-color: var(--color-white);
  font-size: 17px !important;
}
nav .navbar-toggler {
  --bs-border-width: 0px;
}
nav .navbar-toggler:focus {
  --bs-navbar-toggler-focus-width: 0;
}
nav .navbar-brand {
  display: flex;
  align-items: center;
  min-height: var(--navbar-height);
}
nav .navbar-brand img {
  height: 40px;
  transition: all 0.5s;
}
@media (max-width: 991.98px) {
  nav .navbar-brand img {
    height: 30px;
  }
}
nav.scrolled .navbar-brand img {
  height: 40px;
}
@media (min-width: 992px) {
  nav .nav-item {
    padding: 14px 33px !important;
    position: relative;
  }
  nav .nav-item::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--color-blue) 0% 0%;
    content: "";
    z-index: 1;
    transform: matrix(-0.41, 0.91, -0.91, -0.41, 0, 0);
    opacity: 0;
    filter: blur(50px);
    transition: all 0.5s;
  }
  nav .nav-item.hover::after {
    opacity: 0.38;
  }
}
html {
  scroll-behavior: auto !important;
}
