/* ==========================================================
   CHIRONAX – NOVÝ FIREMNÍ / SERVISNÍ VZHLED
   Soubor: chironax.css
   Verze: 1.0
   Načítat až PO style.css a zahlavi.css.
   ========================================================== */

:root{
  --cx-blue:#006bb6;
  --cx-blue-dark:#004f8c;
  --cx-navy:#07355d;
  --cx-cyan:#00afdb;
  --cx-text:#183247;
  --cx-muted:#63798b;
  --cx-line:#dfe8ef;
  --cx-soft:#f4f8fb;
  --cx-white:#fff;
  --cx-shadow:0 10px 30px rgba(7,53,93,.09);
  --cx-radius:10px;
  --cx-max:1380px;
}

html{scroll-behavior:smooth}

body{
  color:var(--cx-text);
  background:var(--cx-white);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body,
input,
textarea,
select,
button{
  font-family:Arial,Helvetica,sans-serif;
}

.container{
  max-width:var(--cx-max);
}

/* Odkazy */
a{
  transition:color .2s ease,background-color .2s ease,border-color .2s ease,
             box-shadow .2s ease,transform .2s ease;
}

/* ==========================================================
   TLAČÍTKA
   ========================================================== */

.btn,
a.btn,
button.btn{
  border-radius:6px;
  text-transform:none;
  font-weight:700;
  letter-spacing:0;
  min-height:44px;
  padding:11px 20px;
  box-shadow:none;
}

.btn-primary,
a.btn-primary{
  background:var(--cx-blue);
  border-color:var(--cx-blue);
  color:#fff;
}

.btn-primary:hover,
a.btn-primary:hover{
  background:var(--cx-blue-dark);
  border-color:var(--cx-blue-dark);
  color:#fff;
  box-shadow:0 7px 18px rgba(0,107,182,.18);
}

.btn-default,
a.btn-default{
  border-color:#b9cfdf;
  color:var(--cx-blue-dark);
  background:#fff;
}

.btn-default:hover,
a.btn-default:hover{
  border-color:var(--cx-blue);
  color:var(--cx-blue);
  background:#f7fbfe;
}

/* ==========================================================
   HORNÍ LIŠTA
   ========================================================== */

.top-navigation-bar{
  background:var(--cx-blue-dark);
  color:#fff;
  border:0;
  min-height:34px;
}

.top-navigation-bar a,
.top-navigation-bar .top-navigation-contacts,
.top-navigation-bar .top-navigation-tools{
  color:#fff;
}

.top-navigation-bar a:hover{
  color:#dff5ff;
}

/* ==========================================================
   HLAVIČKA
   ========================================================== */

.header-top{
  background:#fff;
  border-bottom:1px solid var(--cx-line);
}

.header-top .container{
  padding-top:13px;
  padding-bottom:13px;
}

.site-name a{
  display:flex;
  align-items:center;
}

.site-name img{
  max-height:62px;
  width:auto;
}

.search-form input[type="search"],
.search-form input[type="text"]{
  min-height:44px;
  border:1px solid #d5e1e9;
  border-radius:6px 0 0 6px;
  background:#f8fafc;
}

.search-form button{
  min-height:44px;
  border-radius:0 6px 6px 0;
}

/* ==========================================================
   HLAVNÍ NAVIGACE
   ========================================================== */

.navigation-in{
  background:#fff;
  box-shadow:0 5px 18px rgba(7,53,93,.06);
  border:0;
}

.navigation-in > ul{
  justify-content:center;
}

.navigation-in > ul > li > a{
  color:var(--cx-navy);
  font-weight:700;
  font-size:14px;
  padding-top:17px;
  padding-bottom:17px;
  border-bottom:3px solid transparent;
}

.navigation-in > ul > li > a:hover,
.navigation-in > ul > li.active > a{
  color:var(--cx-blue);
  border-bottom-color:var(--cx-blue);
  background:#fff;
}

.navigation-in ul.menu-level-2{
  border:1px solid var(--cx-line);
  border-radius:0 0 8px 8px;
  box-shadow:var(--cx-shadow);
}

/* ==========================================================
   OBSAH / TYPOGRAFIE
   ========================================================== */

.content-wrapper{
  background:#fff;
}

.content-inner{
  color:var(--cx-text);
}

h1,h2,h3,h4,h5{
  color:var(--cx-navy);
  font-weight:700;
  letter-spacing:-.015em;
}

h1{
  font-size:34px;
  line-height:1.15;
}

h2{
  font-size:27px;
  line-height:1.2;
}

h3{
  font-size:21px;
  line-height:1.25;
}

p{
  line-height:1.65;
}

/* Breadcrumb */
.breadcrumbs{
  color:var(--cx-muted);
  font-size:13px;
}

.breadcrumbs a{
  color:var(--cx-muted);
}

.breadcrumbs a:hover{
  color:var(--cx-blue);
}

/* ==========================================================
   HOMEPAGE – NOVÉ CHIRONAX BLOKY
   Vkládá je později chironax.js / obsah homepage.
   ========================================================== */

.cx-home{
  color:var(--cx-text);
}

.cx-section{
  padding:58px 0;
}

.cx-section--soft{
  background:var(--cx-soft);
}

.cx-section--blue{
  background:linear-gradient(120deg,var(--cx-navy),var(--cx-blue-dark));
  color:#fff;
}

.cx-section__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:25px;
  margin-bottom:27px;
}

.cx-section__head h2{
  margin:0;
}

.cx-section__head p{
  margin:5px 0 0;
  color:var(--cx-muted);
}

/* HERO */
.cx-hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(244,249,252,.99) 0%,rgba(244,249,252,.96) 42%,
    rgba(244,249,252,.35) 66%,rgba(244,249,252,.06) 100%);
  min-height:455px;
  display:flex;
  align-items:center;
}

.cx-hero__inner{
  max-width:var(--cx-max);
  width:100%;
  margin:0 auto;
  padding:60px 20px;
  position:relative;
  z-index:2;
}

.cx-hero__content{
  max-width:650px;
}

.cx-eyebrow{
  color:var(--cx-blue);
  text-transform:uppercase;
  font-size:13px;
  font-weight:800;
  letter-spacing:.09em;
  margin-bottom:14px;
}

.cx-hero h1{
  margin:0 0 18px;
  font-size:48px;
  line-height:1.08;
  color:var(--cx-navy);
}

.cx-hero h1 strong{
  color:var(--cx-blue);
}

.cx-hero__lead{
  max-width:600px;
  font-size:18px;
  line-height:1.55;
  color:#334e62;
}

.cx-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:27px;
}

.cx-button{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:48px;
  padding:12px 23px;
  border-radius:6px;
  font-weight:700;
  text-decoration:none!important;
}

.cx-button--primary{
  color:#fff!important;
  background:var(--cx-blue);
  border:1px solid var(--cx-blue);
}

.cx-button--primary:hover{
  background:var(--cx-blue-dark);
  border-color:var(--cx-blue-dark);
}

.cx-button--secondary{
  color:var(--cx-blue)!important;
  background:#fff;
  border:1px solid var(--cx-blue);
}

.cx-button--secondary:hover{
  background:#eef8fd;
}

/* Důvěryhodnost / statistiky */
.cx-trust{
  background:#fff;
  border-top:1px solid var(--cx-line);
  border-bottom:1px solid var(--cx-line);
}

.cx-trust__grid{
  max-width:var(--cx-max);
  margin:auto;
  padding:17px 20px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
}

.cx-trust__item{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:4px 22px;
  border-right:1px solid var(--cx-line);
  font-size:14px;
  font-weight:700;
  color:var(--cx-navy);
}

.cx-trust__item:last-child{
  border-right:0;
}

/* Karty služeb */
.cx-service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.cx-service-card{
  background:#fff;
  border:1px solid var(--cx-line);
  border-radius:var(--cx-radius);
  padding:27px;
  min-height:210px;
  box-shadow:0 5px 18px rgba(7,53,93,.05);
}

.cx-service-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--cx-shadow);
  border-color:#c6dce9;
}

.cx-service-card h3{
  margin:14px 0 9px;
  font-size:19px;
}

.cx-service-card p{
  color:var(--cx-muted);
  font-size:14px;
}

.cx-service-card a{
  color:var(--cx-blue);
  font-weight:700;
}

/* Životní cyklus */
.cx-process{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  border:1px solid var(--cx-line);
  border-radius:var(--cx-radius);
  overflow:hidden;
  background:#fff;
}

.cx-process__item{
  position:relative;
  text-align:center;
  padding:25px 12px;
  font-weight:700;
  color:var(--cx-navy);
  border-right:1px solid var(--cx-line);
}

.cx-process__item:last-child{
  border-right:0;
}

/* Řešení pro zákazníky */
.cx-solution-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.cx-solution{
  min-height:245px;
  border-radius:var(--cx-radius);
  overflow:hidden;
  position:relative;
  background:#dce7ee;
  box-shadow:0 5px 18px rgba(7,53,93,.08);
}

.cx-solution img{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0;
}

.cx-solution:after{
  content:"";
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(transparent,rgba(2,31,54,.86));
}

.cx-solution__title{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:19px;
  color:#fff;
  font-size:19px;
  font-weight:800;
}

/* ==========================================================
   KATEGORIE
   ========================================================== */

.subcategories{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:25px;
}

.subcategories li{
  width:auto!important;
  margin:0!important;
  border:1px solid var(--cx-line);
  border-radius:var(--cx-radius);
  background:#fff;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(7,53,93,.04);
}

.subcategories li:hover{
  border-color:#c0d8e7;
  box-shadow:var(--cx-shadow);
  transform:translateY(-2px);
}

.subcategories li a{
  color:var(--cx-navy)!important;
  font-weight:700;
}

.subcategories li a:hover{
  color:var(--cx-blue)!important;
}

/* ==========================================================
   PRODUKTOVÉ KARTY
   ========================================================== */

.products-block{
  gap:0;
}

.products-block .product{
  border-color:var(--cx-line);
  background:#fff;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.products-block .product:hover{
  z-index:2;
  border-color:#c4d9e6;
  box-shadow:var(--cx-shadow);
}

.product .name{
  color:var(--cx-navy);
  font-weight:700;
}

.product .name:hover{
  color:var(--cx-blue);
}

.product .prices{
  color:var(--cx-navy);
}

.product .price-final{
  font-weight:800;
}

.product .availability{
  font-size:12px;
}

/* Produktové obrázky – jednotnější plocha */
.product .image{
  background:#fff;
}

.product .image img{
  object-fit:contain;
}

/* ==========================================================
   DETAIL PRODUKTU
   ========================================================== */

.p-detail{
  color:var(--cx-text);
}

.p-detail-inner-header h1{
  color:var(--cx-navy);
}

.p-short-description{
  border-top:1px solid var(--cx-line);
  padding-top:15px;
}

.p-short-description *{
  color:var(--cx-text)!important;
  font-size:14px!important;
}

.p-detail .description-inner{
  line-height:1.7;
}

.p-detail .description-inner table{
  border-collapse:collapse;
  border:1px solid var(--cx-line);
}

.p-detail .description-inner table td,
.p-detail .description-inner table th{
  padding:10px 13px;
  border:1px solid var(--cx-line);
}

.p-detail .description-inner table th{
  background:var(--cx-soft);
  color:var(--cx-navy);
}

/* Záložky produktu */
.shp-tabs-holder{
  border-bottom:1px solid var(--cx-line);
}

.shp-tabs-holder ul.shp-tabs li a{
  color:var(--cx-muted)!important;
  font-weight:700!important;
  border-bottom:3px solid transparent;
}

.shp-tabs-holder ul.shp-tabs li.active a,
.shp-tabs-holder ul.shp-tabs li a:hover{
  color:var(--cx-blue)!important;
  border-bottom-color:var(--cx-blue);
}

/* ==========================================================
   FORMULÁŘE
   ========================================================== */

.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea,
select{
  border-color:#cedce6;
  border-radius:5px;
  box-shadow:none;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus{
  border-color:var(--cx-blue);
  box-shadow:0 0 0 3px rgba(0,107,182,.08);
}

/* ==========================================================
   PATIČKA
   ========================================================== */

.footer{
  border-top:1px solid var(--cx-line);
  background:#f7fafc;
  color:#496276;
}

.footer h4,
.footer .h4{
  color:var(--cx-navy);
  font-weight:800;
}

.footer a{
  color:#496276;
}

.footer a:hover{
  color:var(--cx-blue);
}

.footer-bottom{
  border-top:1px solid var(--cx-line);
}

/* ==========================================================
   NOVÝ SERVISNÍ CTA BLOK
   ========================================================== */

.cx-service-cta{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  overflow:hidden;
  border-radius:var(--cx-radius);
  background:linear-gradient(120deg,var(--cx-navy),var(--cx-blue-dark));
  color:#fff;
}

.cx-service-cta__content{
  padding:48px;
}

.cx-service-cta h2{
  color:#fff;
  font-size:34px;
  margin:0 0 12px;
}

.cx-service-cta p{
  color:#dcecf7;
  max-width:610px;
}

.cx-service-cta__facts{
  background:#f5f9fc;
  color:var(--cx-navy);
  padding:38px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.cx-service-cta__fact{
  padding:16px;
  background:#fff;
  border:1px solid var(--cx-line);
  border-radius:8px;
  font-weight:700;
}

/* ==========================================================
   MOBIL / TABLET
   ========================================================== */

@media(max-width:1199px){
  .cx-service-grid,
  .cx-solution-grid,
  .subcategories{
    grid-template-columns:repeat(2,1fr);
  }

  .cx-process{
    grid-template-columns:repeat(4,1fr);
  }

  .cx-process__item{
    border-bottom:1px solid var(--cx-line);
  }

  .cx-trust__grid{
    grid-template-columns:repeat(2,1fr);
  }

  .cx-trust__item:nth-child(2){
    border-right:0;
  }
}

@media(max-width:767px){
  h1{font-size:28px}
  h2{font-size:23px}

  .cx-section{
    padding:38px 0;
  }

  .cx-hero{
    min-height:auto;
    background:#f2f8fc;
  }

  .cx-hero__inner{
    padding:42px 18px;
  }

  .cx-hero h1{
    font-size:35px;
  }

  .cx-hero__lead{
    font-size:16px;
  }

  .cx-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .cx-button{
    width:100%;
  }

  .cx-trust__grid{
    grid-template-columns:1fr 1fr;
    padding:8px 12px;
  }

  .cx-trust__item{
    padding:12px 8px;
    font-size:12px;
  }

  .cx-service-grid,
  .cx-solution-grid,
  .subcategories{
    grid-template-columns:1fr;
  }

  .cx-process{
    grid-template-columns:1fr 1fr;
  }

  .cx-service-cta{
    grid-template-columns:1fr;
  }

  .cx-service-cta__content{
    padding:32px 22px;
  }

  .cx-service-cta h2{
    font-size:28px;
  }

  .cx-service-cta__facts{
    padding:22px;
    grid-template-columns:1fr;
  }

  .cx-section__head{
    display:block;
  }

  .navigation-in > ul > li > a{
    border-bottom:0;
  }
}

@media(max-width:480px){
  .cx-trust__grid{
    grid-template-columns:1fr;
  }

  .cx-trust__item{
    border-right:0;
    border-bottom:1px solid var(--cx-line);
  }

  .cx-trust__item:last-child{
    border-bottom:0;
  }

  .cx-process{
    grid-template-columns:1fr;
  }
}
