/* -- start setup -- */
/*
font-family: "Rubik", sans-serif;
*/

/* definice barev */
:root {
  --senditrackYellow: #fec32d;
  --senditrackYellowHover: #ffdf6d;
  --lightGrey: #f4f4f4;
}

.black {
  color: Black;
}

* {
  font-family:
    "Rubik",
    serif,
    Arial,
    Verdana,
    Trebuchet MS,
    Helvetica,
    sans-serif;
  font-size: 16px;
  color: #212529;
}

.cPointer {
  cursor: pointer;
}

.br1 {
  border: 1px solid Red;
}

.maxW885 {
  max-width: 885px;
  margin-left: auto;
  margin-right: auto;
}

/* -- common -- */
.horniIndex {
  vertical-align: super;
  font-size: 9px;
}

.i {
  font-style: italic;
}

sup {
  font-size: 0.7em;
}

.borderImage {
  border: 1px solid #d4d4d4;
}

.maxW1100 {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

/* -- float -- */
.floatLeft {
  float: left;
}

.floatRight {
  float: right;
}

.clear {
  clear: both;
}

.textLeft {
  text-align: left !important;
}

.pb90 {
  padding: 0 0 90px 0;
}

.ml20 {
  margin-left: 20px !important;
}

.relative {
  position: relative;
}

@media (min-width: 768px) {
  .mb50 {
    margin-bottom: 50px !important;
  }
}

@media (min-width: 1280px) {
  .container {
    max-width: 1180px;
  }
}

.hiddenElement {
  visibility: hidden;
}

/* -- all pages -- */
hr {
  display: none;
}

body {
  background-color: White;
}

.imgCenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.contentSmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media only screen and (min-width: 480px) {
  .contentSmall {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

@media only screen and (min-width: 768px) {
  .contentSmall {
    padding-top: 35px;
    padding-bottom: 35px;
  }
}

@media only screen and (min-width: 992px) {
  .contentSmall {
    padding-top: 55px;
    padding-bottom: 55px;
  }
}

@media only screen and (min-width: 1200px) {
  .contentSmall {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

.content {
  padding-top: 20px;
  padding-bottom: 20px;
}

@media only screen and (min-width: 480px) {
  content {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

@media only screen and (min-width: 768px) {
  .content {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media only screen and (min-width: 992px) {
  .content {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .contentSmaller {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

@media only screen and (min-width: 1200px) {
  .content {
    padding-top: 120px;
    padding-bottom: 120px;
  }

  .contentSmaller {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.contentGrey {
  background-color: var(--lightGrey);
}

.odd {
  border-bottom: 1px solid #e0e0e0;
  margin: 15px auto 45px auto;
}

.oddLine {
  border-top: 1px solid #253e49;
  margin-bottom: 20px;
}

h2 {
  font-size: 18px;
}

@media only screen and (min-width: 480px) {
  h2 {
    font-size: 21px;
  }
}

@media only screen and (min-width: 768px) {
  h2 {
    font-size: 24px;
  }
}

@media only screen and (min-width: 992px) {
  h2 {
    font-size: 27px;
  }
}

@media only screen and (min-width: 1200px) {
  h2 {
    font-size: 30px;
  }
}

.button {
  font-weight: 500;
  border: none;
  display: block;
  color: Black;
  font-size: 16px;
  width: 180px;
  height: 50px;
  line-height: 50px;
  background-color: var(--senditrackYellow);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  text-align: center;
  transition: background-color 0.5s;
  text-transform: uppercase;
  text-decoration: none;
}

.button100pr {
  width: 100%;
  font-size: 13px;
}

.buttonCenter {
  margin-left: auto;
  margin-right: auto;
}

.button:hover {
  color: Black;
  text-decoration: none;
  background-color: var(--senditrackYellowHover);
}

.top {
  padding: 15px;
}

.topLogo img {
  max-width: 155px;
}

.topMenu {
  margin-bottom: 0;
  padding-left: 0;
}

.topMenu li {
  list-style-type: none;
  text-align: center;
  margin-left: 10px;
}

.topMenu li a {
  /* Dřív line-height: 40px – při zalomení položky na dva řádky vznikla mezera 80 px
     a menu se rozpadlo. Stejnou výšku řádku teď dělá padding. (14. 10. 2026) */
  display: inline-block;
  line-height: 1.25;
  padding: 10px 4px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.5s;
  color: #aaa;
}

.topMenu li a:hover {
  color: #212529;
}

.menuVypocetNakladu img {
  width: 35px;
}

@media only screen and (min-width: 992px) {
  .topMenu li {
    margin-left: 12px;
  }

  .topMenu li a {
    font-size: 15px;
  }
}

@media only screen and (min-width: 1200px) {
  .topMenu li {
    margin-left: 20px;
  }

  .topMenu li a {
    font-size: 16px;
  }
}

.topMenu li a:hover {
  color: black;
}

.topMenu li a.active {
  color: Black;
}

.topMenuBadge {
  font-size: 10px;
  text-transform: uppercase;
  padding: 2px 4px;
  color: White;
  border-bottom: 1px solid Grey;
  border-right: 1px solid Grey;
}

.topMenuBadge1 {
  background-color: #fec32d;
}
.topMenuBadge2 {
  background-color: #60a300;
}
.topMenuBadge3 {
  background-color: #a13bb4;
}
.topMenuBadge4 {
  background-color: #55dabf;
}
.topMenuBadge5 {
  background-color: #ca1734;
}

/* rozbalovaci menu  */
.menu-wrapper {
  position: relative;
}

.menu-toggle {
  cursor: pointer;
  background: none;
  border: none;
  text-decoration: none;
  color: #000;
  font-size: 14px;
}

.menu-btn {
  font-size: 22px;
  padding: 4px 8px;
}

.menu-dropdown {
  position: absolute;
  top: 36px;
  right: 0;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  min-width: 200px;
  display: none;
  z-index: 1000;
}

.menu-dropdown a {
  display: block;
  padding: 5px 14px;
  text-decoration: none;
  color: #000;
  font-size: 14px;
}

.menu-dropdown a:hover {
  background: #f5f5f5;
}

.menu-wrapper.active .menu-dropdown {
  display: block;
}

.topMenu .menu-dropdown a {
  line-height: 30px;
  border-bottom: 1px solid #f5f5f5;
}

.header {
  background-image: url(../pcs/pcs_layout/header.png);
  background-position: center center;
  background-repeat: no-repeat;
  height: 386px;
  background-size: cover;
  padding-top: 100px;
}

.headerTitle {
  font-size: 13px;
  font-weight: bold;
  text-transform: uppercase;
}

@media only screen and (min-width: 480px) {
  .headerTitle {
    font-size: 14px;
  }
}

@media only screen and (min-width: 768px) {
  .headerTitle {
    font-size: 15px;
  }
}

@media only screen and (min-width: 992px) {
  .headerTitle {
    font-size: 16px;
  }
}

@media only screen and (min-width: 1200px) {
  .headerTitle {
    font-size: 16px;
  }
}

.headerSubTitle {
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
}

@media only screen and (min-width: 480px) {
  .headerSubTitle {
    font-size: 30px;
  }
}

@media only screen and (min-width: 768px) {
  .headerSubTitle {
    font-size: 36px;
  }
}

@media only screen and (min-width: 992px) {
  .headerSubTitle {
    font-size: 42px;
  }
}

@media only screen and (min-width: 1200px) {
  .headerSubTitle {
    font-size: 48px;
  }
}

/* header continue */
.headerContinue {
  min-height: 173px;
  background-image: url(../pcs/pcs_layout/header-continue-background.png);
  background-repeat: repeat-x;
  background-position: center;
}

.headerContinuePageDesc {
  min-height: 173px;
}

.headerContinueTitle {
  color: #495057;
}

.headerContinueSubTitle {
  font-size: 20px;
  font-weight: bold;
}

@media only screen and (min-width: 480px) {
  .headerContinueSubTitle {
    font-size: 25px;
  }
}

@media only screen and (min-width: 768px) {
  .headerContinueSubTitle {
    font-size: 30px;
  }
}

@media only screen and (min-width: 992px) {
  .headerContinueSubTitle {
    font-size: 35px;
  }
}

@media only screen and (min-width: 1200px) {
  .headerContinueSubTitle {
    font-size: 38px;
  }
}

.mapaTmp {
  background-image: url(../pcs/pcs_layout/mapa-tmp.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 906px;
  min-height: 600px;
}

.iconBox {
  max-width: 1200px;
  margin: 0 auto;
}

.icon {
  min-height: 70px;
}

.icon img {
  height: 50px;
}

.iconTitle {
  font-weight: bold;
  font-size: 16px;
  color: Black;
}

.iconText {
  font-size: 14px;
}

/* carousel refernece */
/* carousel  */
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  width: 46px;
  height: 46px;
  background-color: transparent !important;
}

.owl-carousel .owl-nav .owl-prev {
  width: 46px;
  height: 46px;
  background-color: transparent !important;
  background-image: url(../pcs/pcs_layout/carousel-prev.svg) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  transition: all 0.5s ease 0s;
}

.owl-carousel .owl-nav .owl-next {
  background-image: url(../pcs/pcs_layout/carousel-next.svg) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  width: 46px;
  height: 46px;
  transition: all 0.5s ease 0s;
}

.owl-carousel .owl-nav .owl-prev:hover,
.owl-carousel .owl-nav .owl-next:hover {
  background-color: transparent !important;
  opacity: 1 !important;
}

.owl-carousel .owl-nav .owl-prev.disabled,
.owl-carousel .owl-nav .owl-next.disabled {
  background-color: transparent !important;
  opacity: 1 !important;
}

.owl-carousel .owl-nav .owl-prev {
  position: absolute;
  top: 90%;
  left: -10px;
  margin-top: -15px !important;
}

.owl-carousel .owl-nav .owl-next {
  position: absolute;
  top: 90%;
  right: 0px;
  right: -10px;
  margin-top: -15px !important;
}

@media only screen and (min-width: 1200px) {
  .owl-carousel .owl-nav .owl-prev {
    top: 50%;
    left: 50px;
    margin-top: -15px !important;
  }

  .owl-carousel .owl-nav .owl-next {
    top: 50%;
    right: 50px;
    margin-top: -15px !important;
  }
}

.clientLogo {
  width: 164px;
  margin: 0 auto 20px auto;
}

.clientText {
  max-width: 660px;
  margin-left: auto;
  margin-right: auto;
  line-height: 30px;
  text-align: center;
  min-height: 120px;
}

.clientName {
  text-align: center;
  color: Black;
  font-size: normal;
}

.clientName strong {
  display: block;
  font-weight: bold;
  text-align: center;
  color: Black;
  text-transform: uppercase;
  font-size: normal;
}

/* footer */
.footer {
  background-image: url(../pcs/pcs_layout/footer-background.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 579px;
  padding-top: 70px;
}

.footerLogo {
  max-height: 80px;
}

.footerTitle {
  color: #fec32d;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.footerContant {
  color: White;
  font-size: 24px;
}

.footerContant strong,
.footerContant a {
  color: White;
  font-size: 24px;
  font-weight: bold;
}

.footerAdress {
  color: #acacac;
  font-size: 14px;
  line-height: 24px;
  margin-top: 15px;
}

.footerList {
  padding: 0;
}

.footerList li {
  list-style-type: none;
  padding-left: 20px;
  background-image: url(../pcs/pcs_layout/dot.png);
  background-position: left center;
  background-repeat: no-repeat;
  margin-bottom: 0.5rem;
}

.footerList li a {
  color: #acacac;
  font-size: 14px;
}

.footerList li a:hover {
  color: White;
  text-decoration: none;
}

/* ico stazeni aplikace */
.buttonDwFooter {
  height: 40px;
}

/* qr kod stazeni aplikace */
.qrKodFooter {
  width: 120px;
}

.copyright {
  color: #acacac;
  font-size: 14px;
  text-align: center;
  line-height: 40px;
}

/* PAGE cenik */
.cenikPrepinani {
  margin: 0 auto 20px auto;
  background-color: #f1f1f1 !important;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  width: 256px;
}

.cenikPrepinani li {
  height: 40px;
  line-height: 40px;
}

.cenikPrepinani li a {
  padding: 0 30px !important;
  height: 40px !important;
  line-height: 40px !important;
  margin: 0 !important;
}

.cenikPrepinani li a {
  background-color: #f1f1f1 !important;
  box-shadow: none !important;
}

.cenikPrepinani li a.active {
  background-color: #6aa246 !important;
  box-shadow: none !important;
}

.cenikPrepinani li.navItem1 a {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}

.cenikPrepinani li.navItem2 a {
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}

.cenikPrepinani li a {
  font-style: 15px !important;
  color: Black !important;
  height: 40px;
  line-height: 40px;
  background-color: #f1f1f1;
}

.cenikPrepinani li a.active {
  font-style: 15px !important;
  color: White !important;
  height: 40px;
  line-height: 40px;
  background-color: #6aa246;
}

.cenikBoxes {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.boxCenik {
  margin-top: 30px;
  padding: 25px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  min-height: 300px;
}

.boxCenik1 {
  border: 2px solid Black;
}

.boxCenik2 {
  border: 2px solid #ffca2c;
}

.boxCenikTitle {
  color: black;
  font-size: 18px;
  font-weight: bold;
}

.boxCenikText {
  margin-top: 10px;
  min-height: 200px;
}

@media only screen and (min-width: 992px) {
  .boxCenikText2 {
    min-height: 320px;
  }
}

.boxCenikButton {
  font-weight: 500;
  border: none;
  display: block;
  color: Black;
  font-size: 15px;
  width: 200px;
  height: 46px;
  line-height: 46px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  text-align: center;
  transition: background-color 0.5s;
  box-shadow: 0px 3px 6px #0000001a;
  text-decoration: none;
}

.boxCenikButton1 {
  background-color: Black;
  color: White;
}

.boxCenikButton2 {
  background-color: #fec32d;
  color: Black;
}

.boxCenikButton1:hover {
  background-color: Black;
  color: White;
  text-decoration: none;
}

.boxCenikButton2:hover {
  background-color: #fec32d;
  color: Black;
  text-decoration: none;
}

.greyBackground {
  background-color: #f7f7f7;
  background-image: url(../pcs/pcs_layout/white-arrow.png);
  background-position: top center;
  background-repeat: no-repeat;
}

.tableCenik2Box {
  border: 1px solid #fec32d;
  border-bottom: none;
  padding: 0 25px;
  max-width: 650px;
  margin: 20px auto;
  background-color: White;
  margin-bottom: 10px;
}

.tableCenik2 {
  border-collapse: collapse;
  width: 100%;
  background-color: White;
}

.tableCenik2H1 {
  font-size: 18px;
  font-weight: bold;
  color: Black;
  text-align: left;
  height: 57px;
}

.tableCenik2D1 {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ededed;
  color: #1c1c1c;
  font-size: 14px;
}

.tableCenik2Price {
  line-height: 50px;
  background-color: Black;
  color: White;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  margin: 0 -25px 0 -25px;
}

/* aplikace dopravce, zakaznik */
.headerNavod {
  background-image: url(../pcs/pcs_layout/pdf-ico.png);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 50px;
  padding-right: 65px;
  min-height: 80px;
  line-height: 80px;
}

.headerNavod a {
  color: Black;
  font-weight: bold;
  text-transform: uppercase;
}

.headerNavod a:hover {
  color: Black;
  text-decoration: none;
}

@media only screen and (min-width: 676px) {
  .headerNavod {
    position: absolute;
    top: 45px;
    right: 0;
  }
}

/* ikonky dopravce */
.icoDopravceBox,
.icoZakaznikBox {
  position: relative;
}

.icoDopravce,
.icoZakaznik,
.icoAmortizace {
  min-width: 120px;
  min-height: 140px;
  background-position: center;
  background-repeat: no-repeat;
}

.icoDopravce1 {
  background-image: url(../pcs/pcs_icons/ico-color-dopravce1.png);
}

.icoDopravce2 {
  background-image: url(../pcs/pcs_icons/ico-color-dopravce2.png);
}

.icoDopravce3 {
  background-image: url(../pcs/pcs_icons/ico-color-dopravce3.png);
}

.icoDopravce4 {
  background-image: url(../pcs/pcs_icons/ico-color-dopravce4.png);
}

.icoDopravce5 {
  background-image: url(../pcs/pcs_icons/ico-color-dopravce5.png);
}

.icoZakaznik1 {
  background-image: url(../pcs/pcs_icons/ico-color-zakaznik1.png);
}

.icoZakaznik2 {
  background-image: url(../pcs/pcs_icons/ico-color-zakaznik2.png);
}

.icoZakaznik3 {
  background-image: url(../pcs/pcs_icons/ico-color-zakaznik3.png);
}

.icoZakaznik4 {
  background-image: url(../pcs/pcs_icons/ico-color-zakaznik4.png);
}

.icoZakaznik5 {
  background-image: url(../pcs/pcs_icons/ico-color-zakaznik5.png);
}

.icoZakaznik6 {
  background-image: url(../pcs/pcs_icons/ico-color-zakaznik6.png);
}

.icoVozy1 {
  background-image: url(../pcs/pcs_icons/ico-color-vozy1.png);
}

.icoVozy2 {
  background-image: url(../pcs/pcs_icons/ico-color-vozy2.png);
}

.icoVozy3 {
  background-image: url(../pcs/pcs_icons/ico-color-vozy3.png);
}

.icoVozy4 {
  background-image: url(../pcs/pcs_icons/ico-color-vozy4.png);
}

.icoDenni1 {
  background-image: url(../pcs/pcs_icons/ico-color-denni1.png);
}

.icoDenni2 {
  background-image: url(../pcs/pcs_icons/ico-color-denni2.png);
}

.icoDenni3 {
  background-image: url(../pcs/pcs_icons/ico-color-denni3.png);
}

.icoAmortizace1 {
  background-image: url(../pcs/pcs_icons/ico-color-amortizace1.png);
}

.icoAmortizace2 {
  background-image: url(../pcs/pcs_icons/ico-color-amortizace2.png);
}

.icoAmortizace3 {
  background-image: url(../pcs/pcs_icons/ico-color-amortizace3.png);
}

.icoAmortizace4 {
  background-image: url(../pcs/pcs_icons/ico-color-amortizace4.png);
}

.amortizaceIkona img {
  width: 85px;
  margin: 0 auto;
  display: block;
}

.hideInfoRight,
.showInfoRight {
  text-align: right;
}

.hideInfoRight a,
.showInfoRight a {
  font-weight: bold;
  color: Black;
  font-size: 14px;
  text-decoration: none;

  background-position: right center;
  background-repeat: no-repeat;
  padding-right: 20px;
}

.hideInfoRight a {
  background-image: url(../pcs/pcs_icons/toggle-hide.png);
}

.showInfoRight a {
  background-image: url(../pcs/pcs_icons/toggle-show.png);
}

.hideInfoRight a:hover,
.showInfoRight a:hover {
  text-decoration: underline;
}

.iconsRowVozovyPark {
  margin-left: auto;
  margin-right: auto;
}

.iconsRowDenni {
  max-width: 825px;
  margin-left: auto;
  margin-right: auto;
}

.icoDopravceText,
.icoZakaznikText {
  color: Black;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
}

.icoDopravceSmallText {
  color: #6a6a6a;
  text-align: center;
  font-size: 14px;
}

.arrow {
  position: absolute;
  top: 60px;
  right: -20px;
  width: 14px;
  height: 15px;
  background-image: url(../pcs/pcs_icons/ico-dopravce-arrow.png);
  background-position: center;
  background-repeat: no-repeat;
}

/*POPTAVKA FORM */
.poptavkaForm {
  border: 2px solid var(--senditrackYellow);
  background-color: White;
  max-width: 1500px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.11);
}

@media (min-width: 1600px) {
  .poptavkaForm {
    position: absolute;
    top: -150px;
    left: 50%;
    width: 1500px;
    margin-left: -750px;
    margin-right: 0;
    z-index: 999;
  }
}

.poptavkaPart2 {
  position: relative;
  z-index: 10;
}

.poptavkaForm label {
  color: Black;
  font-size: 15px;
  font-weight: bold;
}

.custom-dropdown {
  position: relative;
}

.dropdown-toggle-box {
  border: 1px solid #ced4da;
  padding: 10px 12px;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
}

.dropdown-arrow {
  opacity: 0.6;
  margin-left: 10px;
}

/* Dropdown pro druh vozu */
.custom-dropdown-menu {
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  padding: 8px 0;
  display: none;
  z-index: 100010;
}

.custom-dropdown-menu .dropdown-item {
  padding: 8px 14px;
  cursor: pointer;
  font-size: 0.95rem;
}

.custom-dropdown-menu .dropdown-item:hover {
  background: #f2f2f2;
}

.custom-dropdown-menu .dropdown-item.active {
  background: #e6e6e6;
  font-weight: 600;
}

/* Obecné popup panely (Co se poveze, Zásilka, Specifikace, Foto) */
.popup-wrapper {
  position: relative;
}

.popup-panel {
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  padding: 12px;
  display: none;
  z-index: 1200;
  max-height: 340px;
  overflow: auto;
}

@media (max-width: 767.98px) {
  .popup-panel {
    max-width: 100%;
  }
}

/* modal */
.modal-maxW400 {
  max-width: 400px;
}

.loginBox {
  background-color: black;
  padding: 20px 30px;
}

.forgotPassBox {
  background-image: url(../pcs/pcs_layout/forgot-background.png);
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

.loginBoxTitle {
  display: block;
  padding-top: 60px;
  background-image: url(../pcs/pcs_layout/login-ico.svg);
  background-position: top center;
  background-repeat: no-repeat;
  font-size: 24px;
  font-weight: bold;
  color: White;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 20px;
}

.loginForm input {
  background: #ffffff 0% 0% no-repeat padding-box;
  box-shadow: 0px 3px 6px #0000001a;
  border-radius: 3px;
  margin-bottom: 10px;
}

.loginForm input.submitLoginForm {
  border: none;
  background: #fec32d 0% 0% no-repeat padding-box;
  box-shadow: 0px 3px 6px #0000001a;
  border-radius: 3px;
  color: Black;
  font-weight: bold;
  font-size: 18px;
}

.forgotPass {
  display: block;
  margin-bottom: 10px;
  color: #bfbfbf;
  font-size: 14px;
  text-decoration: underline;
}

.newLogin {
  color: #bfbfbf;
  font-weight: bold;
  display: block;
  line-height: 30px;
  text-decoration: underline;
}

/* nova registrace styl  */
.registraceNum {
  width: 40px;
  height: 40px;
  line-height: 40px;
  background-color: #fec32d;
  float: left;
  margin-right: 20px;
  text-align: center;
  font-weight: bold;
  color: Black;
}

.registraceTitle {
  line-height: 40px;
  color: Black;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: bold;
}

.registraceFormSection {
  margin-top: 20px;
  border-left: 3px solid #f4f4f4;
  margin-left: 17px;
  padding-left: 37px;
  max-width: 600px;
}

.registraceFormSection label {
  color: Black;
  font-weight: bold;
}

.registraceForm input {
  background-color: #f4f4f4;
  border: none;
}

.registraceForm input.submitRegistraceForm {
  margin: 30px 0 0 57px;
  max-width: 324px;
  background-color: Black;
  color: White;
  font-weight: bold;
  height: 46px;
  line-height: 46px;
  padding: 0;
  font-size: 18px;
}

.boxRegistraceVyuziti {
  width: 100%;
  padding: 20px;
  border: 2px solid #fec32d;
  margin-top: 5px;
  margin-bottom: 5px;
  background-position: right 10px center;
  background-repeat: no-repeat;
}

.boxRegistraceVyuziti1 {
  background-image: url(../pcs/pcs_layout/ico-reg1.png);
}

.boxRegistraceVyuziti2 {
  background-image: url(../pcs/pcs_layout/ico-reg2.png);
}

.boxRegistraceVyuziti3 {
  background-image: url(../pcs/pcs_layout/ico-reg3.png);
}

.formOdeslani {
  color: Black;
  font-weight: bold;
  background-color: #ffc107;
  display: block;
  padding: 20px;
  text-align: center;
  margin-bottom: 20px;
}

.formOdeslaniErr {
  color: White;
  background-color: Red;
}

.errLogin,
.okLogin {
  color: White;
  font-weight: bold;
  background-color: Red;
  height: 40px;
  line-height: 40px;
  text-align: center;
  margin-bottom: 15px;
}

.okLogin {
  color: Black;
  background-color: #fec32d;
}

.bonusRamecek {
  color: Black;
  font-size: 20px;
  text-align: center;
  padding: 20px;
  border: 2px solid #fec32d;
  margin-bottom: 40px;
}

.bonusRamecek strong {
  color: Black;
  font-size: 28px;
}

.blackLink {
  color: Black;
  text-decoration: underline;
}

.blackLink:hover {
  color: Black;
  text-decoration: none;
}

.arrow {
  position: absolute;
  top: 60px;
  right: -20px;
  width: 14px;
  height: 15px;
  background-image: url(../pcs/pcs_ikony/ico-dopravce-arrow.png);
  background-position: center;
  background-repeat: no-repeat;
}

.citeBlok {
  background-image: url(../pcs/pcs_ikony/cite-box.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  max-width: 902px;
  text-align: center;
  font-size: 18px;
  font-weight: normal;
  padding: 25px 55px;
  color: Black;
  margin: 20px auto;
}

.rokyTitle {
  color: #000000;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 25px;
}

.rokyItem {
  background-image: url(../pcs/pcs_ikony/dot-roky.png);
  background-position: 0 8px;
  background-repeat: no-repeat;
  padding-left: 25px;
  margin-bottom: 25px;
}

/* vozovy park  */
.kamJezdimForm .kamJezdimCard {
  background-color: #efefef;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0.5rem;
}

.kamJezdimForm .kamJezdimHeader {
  padding: 1.25rem 1.25rem 0 1.25rem;
}

.kamJezdimeFiltr {
  text-decoration: underline;
  font-weight: bold;
  cursor: pointer;
}

.kamJezdimForm .kamJezdimBody {
  padding: 1.25rem;
}

.kamJezdimForm .kamJezdimTitle {
  font-weight: 700;
}

.kamJezdimForm .kamJezdimDivider {
  margin: 1rem 0;
  border-bottom: 1px solid #c8c8c8;
}

.kamJezdimForm .kamJezdimCountryItem.is-hidden {
  display: none;
}

.kamVozidlaFotkaItem img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* denni cesty */
/* Základ sekcí */ /*
.day-block {
  margin-bottom: 28px;
}

.day-title {
  font-weight: 800;
  font-size: 28px;
  margin: 0 0 10px 0;
}

/* Wrapper tabulky */ /*
.day-table-wrap {
}

/* Hlavička tabulky */ /*
.day-thead th {
  background: #e9ecef;
  border-bottom: 1px solid #dee2e6;
  padding: 12px 10px;
  vertical-align: middle;
}

.day-tbody td {
  background: #ffffff;
  padding: 12px 10px;
  border-bottom: 1px solid #eef1f4;
  vertical-align: middle;
}*/

/* Sloupce – šířky (doladíš podle reality) */

/*
.col-voz {
  width: 90px;
}
.col-kapacita {
  width: 240px;
}
.col-datum {
  width: 170px;
}
.col-cas {
  width: 160px;
}
.col-start {
  width: 220px;
}
.col-cil {
  width: 220px;
}
.col-ridic {
  width: 170px;
}
.col-akce {
  width: 260px;
}
*/
/* "Vůz" kód */ /*
.voz-code {
  font-weight: 800;
  letter-spacing: 0.3px;
} /*

/* Hlavičky – ikonka, sort */
/*
.th-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.th-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  white-space: nowrap;
}

.th-info {
  opacity: 0.75;
}

.th-sort {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
}

.th-sort-btn {
  padding: 2px 6px;
  line-height: 1;
}*/

/* Akce vpravo */
.row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: nowrap;
}

.btn-save,
.btn-cost {
  font-weight: 700;
}

/* Podřádek: + Přidat průjezdní bod */
.day-subrow td {
  background: transparent;
  border-bottom: 0;
  padding: 8px 10px 12px 10px;
}

.btn-add-point {
  padding-left: 0;
  font-weight: 700;
  text-decoration: underline;
}

/* Spodní "Uložit" */
.day-footer {
  margin-top: 10px;
}

/* Jemné zmenšení input-group textů */
.input-group-text-sm {
  font-size: 0.875rem;
}

/* Responsive drobnosti */
@media (max-width: 992px) {
  .row-actions {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .col-akce {
    width: 320px;
  }
}

/* poptavky  */
/* Horní nápověda */
.page-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 1 1 auto;
  text-align: center;
  color: #4b5563;
  font-weight: 600;
}

/* Tabs lehce do stylu screenu */
.poptavky-tabs .nav-link {
  border-radius: 6px 6px 0 0;
  font-weight: 700;
}
.poptavky-tabs .nav-link.active {
  background: #4aa3df;
  color: #fff;
  border-color: #4aa3df;
}

/* Legenda stavů */
.status-legend {
  display: grid;
  grid-template-columns: repeat(7, minmax(100px, 1fr));
  gap: 10px;
  align-items: start;
}

.status-item {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: center;
  text-align: left;
  flex-direction: column;
}

.status-item .status-text {
  width: 100%;
}

.status-title {
  font-weight: 800;
  color: #111827;
}

.status-sub {
  color: #6b7280;
  font-size: 0.7rem;
  font-style: italic;
  margin-top: 2px;
}

.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin: 0;
}

/* Barvy puntíků (doladíš podle potřeby) */
.status-wait {
  background: #f4c542;
}
.status-wait-late {
  background: #d32f2f;
}
.status-running {
  background: #f4c542;
}
.status-running-late {
  background: #d32f2f;
}
.status-done {
  background: #53d34f;
}
.status-notdone {
  background: #111827;
}
.status-rejected {
  background: #111827;
}

.status-item-centered {
  grid-column: 1 / -1;
  max-width: 520px;
  margin: 6px auto 0 auto;
}

/* Card + tabulka */

/* Sloupce */ /*
.col-id {
  width: 120px;
}
.col-voz {
  width: 140px;
}
.col-stav {
  width: 140px;
}
.col-detail {
  width: 120px;
}
.col-akce {
  width: 100px;
}
.col-vzd {
  width: 170px;
}
*/ /*
.link-id {
  font-weight: 800;
  text-decoration: underline;
}

.cell-strong {
  font-weight: 700;
}

.cell-muted {
  color: #6b7280;
  font-size: 0.9rem;
}

.table-search {
  min-width: 220px;
}

.table-footnote {
  color: #6b7280;
  font-size: 0.9rem;
}
*/
/* Badge stavy */
.status-badge {
  font-weight: bold;
  text-transform: lowercase;
  border-radius: 4px;
  padding: 5px 8px;
}

.status-badge-notdone {
  background: #111827;
  color: #fff;
}

/* Responsive legenda */
@media (max-width: 1200px) {
  .status-legend {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }
}
@media (max-width: 768px) {
  .status-legend {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
  }
}
@media (max-width: 520px) {
  .status-legend {
    grid-template-columns: 1fr;
  }
}

.mainTable {
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.mainTable thead {
  -webkit-border-top-left-radius: 5px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topleft: 5px;
  -moz-border-radius-topright: 5px;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}

.mainTable thead th {
  background-color: #efefef;
  font-size: 14px;
  font-weight: bold;
  color: Black;
}

.mainTable tbody td,
.mainTable tbody td strong,
.mainTable tbody td a {
  font-size: 14px;
  color: Black;
}

/* vozy */
.kamDruhVozuGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.kamDruhVozuCard {
  border: 1px solid #d9e2ef;
  border-radius: 10px;
  padding: 15px;
  text-align: center;
  cursor: pointer;
  background: #fff;
}

.kamDruhVozuIcon {
  font-size: 32px;
  display: block;
  margin-bottom: 5px;
}

.kamRozmeryGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.kamDruhVozuGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.kamDruhVozuCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border: 2px solid #e3e3e3;
  border-radius: 12px;

  padding: 20px 10px;

  background: #fff;

  cursor: pointer;

  transition: all 0.25s ease;
}

.kamAutoImg {
  width: 70px;
  height: auto;
  margin-bottom: 10px;
}

.kamDruhVozuCard span {
  font-weight: 600;
  font-size: 15px;
}

.kamDruhVozuCard:hover {
  border-color: #f59e0b;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
}

.btn-check:checked + .kamDruhVozuCard {
  border-color: #f59e0b;
  background: #fff7ed;

  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);

  transform: scale(1.03);
}

.kamDruhVozuCard {
  position: relative;
}

.btn-check:checked + .kamDruhVozuCard::after {
  content: "✓";

  position: absolute;
  top: 8px;
  right: 10px;

  width: 24px;
  height: 24px;

  border-radius: 50%;

  background: #f59e0b;
  color: white;

  font-size: 14px;
  font-weight: bold;

  display: flex;
  align-items: center;
  justify-content: center;
}

/* amortizace form  */
.amortizaceFormLabel {
  font-weight: bold;
  color: Black;
  font-size: 15px;
  margin-bottom: 5px;
  margin-top: 15px;
}

.amortizaceNote {
  color: Black;
  font-size: 14px;
  margin-top: 5px;
}

.tableAmortizace th,
.tableAmortizace th strong,
.tableAmortizace td,
.tableAmortizace td strong {
  font-size: 13px;
}

/* ── Editor zásilky – modální overlay (musí být nad mapou) ── */
.zasilka-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 100000;
}
.zasilka-overlay.active {
  display: block;
}

.popup-panel--zasilka {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(680px, 96vw) !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  z-index: 100001 !important;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.28) !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 16px !important;
  /* reset absolutního pozicování z .popup-panel */
  top: 50% !important;
  left: 50% !important;
  max-width: none !important;
  max-height: 90vh !important;
}


/* =====================================================================
   SJEDNOCENÍ – tabulky, tlačítka, nadpisy nad tabulkami (2026-09)
   ===================================================================== */

/* tabulky: jednotně 13px */
.table th, .table td,
.table td strong, .table td a, .table td small,
.mainTable thead th, .mainTable tbody td, .mainTable tbody td strong, .mainTable tbody td a {
  font-size: 13px;
}
.table td small, .table td .small, .table td .cell-muted { font-size: 12px; }
.table .btn-sm { font-size: 12px; padding: 4px 9px; }
.table .badge { font-size: 11px; }
.table th { font-weight: 600; color: #475569; }

/* .button: šířka podle textu, menší písmo */
.button {
  display: inline-block;
  width: auto;
  min-width: 150px;
  height: 44px;
  line-height: 44px;
  padding: 0 22px;
  font-size: 14px;
}
.buttonCenter { display: table; }
.button100pr { width: 100%; min-width: 0; font-size: 13px; }

/* menší nadpis nad tabulkou (Dnes / Zítra …) */
.tableTitle {
  font-size: 20px;
  font-weight: 700;
  margin: 28px 0 10px;
}

/* Nové pracovní stránky (2026) – položky v selectech dědí 16px z "* {font-size}", sjednotit s velikostí selectu */
.vp select option, .dc select option, .req select option, .cd select option, .users select option, .firma select option, .auth select option, .profil select option, .cenik select option, .pe select option, .pl select option { font-size: 12px; }
.vp select, .dc select, .req select, .cd select, .users select { font-size: 12px; }

/* Horní navigace (15. 9. 2026) – menší černé písmo, ikona amortizace nahrazena textem */
.top { padding: 12px 15px; border-bottom: 1px solid #edf0f3; }
.topMenu li { margin-left: 6px; }
.topMenu li a { font-size: 13px; font-weight: 600; color: #111827; line-height: 36px; padding: 0 6px; border-radius: 8px; letter-spacing: 0; }
.topMenu li a:hover { color: #111827; background: #f5f6f8; }
.topMenu li a.active { color: #111827; box-shadow: inset 0 -2px 0 #f4b223; border-radius: 0; }
.topMenu .menu-toggle.user-toggle { font-size: 13px; font-weight: 600; color: #111827; }
.topMenu .menu-dropdown a { font-size: 13px; }
.topMenu .menu-btn { font-size: 20px; }
@media only screen and (min-width: 992px) { .topMenu li { margin-left: 8px; } .topMenu li a { font-size: 13px; } }
@media only screen and (min-width: 1200px) { .topMenu li { margin-left: 12px; } .topMenu li a { font-size: 13px; } }
/* 768–1199 px: položky se lámou na dva řádky → kompaktní řádkování, menší písmo, badge role skrytý (16. 9. 2026) */
@media only screen and (max-width: 1199px) {
  .topMenu li { margin-left: 2px; }
  .topMenu li a { display: inline-block; line-height: 1.2; padding: 6px 5px; font-size: 12px; }
  .topMenu .menu-toggle.user-toggle { font-size: 12px; line-height: 1.2; padding: 6px 5px; display: inline-block; }
  .topMenu .topMenuBadge { display: none; }
  .topMenu .menu-btn { padding: 4px 6px; }
  .topLogo img { max-width: 120px; }
}
/* mobil < 768 px: hamburger + panel se všemi odkazy */
.mobBtn { display: none; border: 1px solid #e3e7eb; background: #fff; border-radius: 10px; width: 42px; height: 42px; font-size: 20px; line-height: 1; color: #111827; cursor: pointer; }
.mobMenu { background: #fff; border-top: 1px solid #edf0f3; margin: 12px -15px -12px; padding: 6px 0 10px; }
.mobMenu a { display: block; padding: 11px 18px; font-size: 14px; font-weight: 600; color: #111827; text-decoration: none; border-bottom: 1px solid #f3f4f6; }
.mobMenu a.active { box-shadow: inset 4px 0 0 #f4b223; background: #fffaf0; }
.mobMenu a:hover { background: #f5f6f8; color: #111827; }
.mobMenu .mobGroup { padding: 12px 18px 4px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: #8a929d; font-weight: 700; }
@media only screen and (max-width: 991.98px) { .mobBtn { display: inline-flex; align-items: center; justify-content: center; } }
@media only screen and (max-width: 767.98px) { .topLogo img { max-width: 130px; } }
/* --- horní menu: zkrácené popisky a kompaktní rozestupy (14. 10. 2026) ---------------
   S přibývajícími položkami se menu na běžných noteboocích lámalo na dva řádky.
   Nad 1900 px je plný popisek, pod ním zkrácený a menší rozestupy. */
.topMenu .menuKratky { display: none; }
/* default.css má * { font-size:16px } – spany uvnitř odkazu jinak nedědí velikost položky
   a zkrácené popisky by byly větší než ostatní (14. 10. 2026) */
.topMenu .menuPlny, .topMenu .menuKratky,
.topMenu .menuPlny2, .topMenu .menuKratky2 { font-size: inherit; font-weight: inherit; }

/* Text položky se nikdy neláme uvnitř – raději menší písmo než rozbité řádkování. */
.topMenu > ul > li > a,
.topMenu .menu-toggle.user-toggle { white-space: nowrap; }

/* Položky rozbalovací nabídky musí zůstat pod sebou. Pravidlo .topMenu li a výše má
   vyšší specificitu než .menu-dropdown a, takže je nutné to přepsat tady. */
.topMenu .menu-dropdown a { display: block; white-space: nowrap; }

@media only screen and (max-width: 1899.98px) {
  .topMenu .menuPlny { display: none; }
  .topMenu .menuKratky { display: inline; }
  .topMenu li { margin-left: 6px; }
  .topMenu li a { font-size: 13px; padding: 10px 3px; }
  /* odznak role („Firemní správce“) by lámal jméno uživatele na druhý řádek */
  .topMenu .topMenuBadge { display: none; }
  .topMenu .menu-toggle.user-toggle { white-space: nowrap; }
}
@media only screen and (max-width: 1399.98px) and (min-width: 1200px) {
  .topMenu li { margin-left: 3px; }
  .topMenu li a { font-size: 12.5px; }
}
/* 992–1199 px: menu se sem vejde jen v kompaktní podobě. Pravidlo musí být až za blokem
   max-width:1899.98px výše, jinak ho ten přebije (stejná specificita, rozhoduje pořadí). */
@media only screen and (max-width: 1365.98px) and (min-width: 992px) {
  .topMenu li { margin-left: 0; }
  .topMenu li a { font-size: 12px; padding: 8px 5px; }
  .topMenu .menu-toggle.user-toggle { font-size: 12px; padding: 8px 3px; }
  .topLogo img { max-width: 110px; }
}
/* druhá úroveň zkrácení – jen v nejužším pásmu, kde se menu jinak nevejde */
.topMenu .menuKratky2 { display: none; }
@media only screen and (max-width: 1365.98px) and (min-width: 992px) {
  .topMenu .menuPlny2 { display: none; }
  .topMenu .menuKratky2 { display: inline; }
}
/* 992–1049 px (např. iPad na šířku): ani zkrácené menu se nevejde a stránka by se
   posouvala do šířky – v tomhle pásmu proto rovnou hamburger.
   !important je nutné, protože Bootstrap utility d-lg-flex / d-lg-none ho také používají. */
@media only screen and (max-width: 1049.98px) {
  .topMenu > ul.d-lg-flex { display: none !important; }
  .mobBtn.d-lg-none { display: inline-flex !important; align-items: center; justify-content: center; }
  .mobMenu.d-lg-none { display: block !important; }
  .mobMenu.d-lg-none[hidden] { display: none !important; }
}