/* ==========================================================================
   ShopSync.cz – visual refresh "Variant A"  (see design/redesign/REDESIGN.md)
   Loaded AFTER css/main.css – everything here overrides the old template.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */
:root{
  --ink:#2B2F33; --text:#5A6168; --muted:#60676E;
  --ground:#E6EAF3;
  --surface:#FFFFFF; --line:#E4E8F1; --line-soft:#EDF0F3;
  --lav:#ECEBFA;
  --indigo:#1E2251; --indigo-2:#2B2470; --indigo-3:#1C3C7A;
  --on-dark:#C9CCE8; --on-dark-muted:#A9AED6;
  --blue:#1A73E8; --blue-ink:#1A5EA8; --teal:#00BCD4; --green:#2ECC71;
  --grad-title:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);
  --grad-blue:linear-gradient(135deg,#1a73e8 0%,#00bcd4 100%);
  --grad-num:linear-gradient(135deg,#00A4FB 0%,#00E59A 100%);
  --grad-btn:linear-gradient(135deg,#1a73e8 0%,#00bcd4 55%,#2ecc71 100%);
  --grad-lav-panel:linear-gradient(135deg,#EEF0FC 0%,#F4EEFB 100%);
  --ok:#22A447; --no:#DC3545; --add:#F7801E;
  --r-panel:20px; --r-card:16px; --r-input:10px; --r-btn:12px;
  --sh-card:0 1px 2px rgba(20,20,40,.04),0 12px 32px -20px rgba(20,20,40,.18);
  --sh-panel:0 1px 2px rgba(30,34,81,.05),0 24px 48px -28px rgba(30,34,81,.34);
  --sh-hover:0 1px 2px rgba(20,20,40,.05),0 22px 40px -22px rgba(118,75,162,.32);
  /* full-bleed helpers for sections that live inside .container (subpages) */
  --bleed:calc(50% - 50vw);
  --bleed-pad:calc(50vw - 50%);
}

/* reusable backgrounds */
.hero-band,
#homeIntro.light-hero,
#homeIntro.page-header{
  background:
    radial-gradient(rgba(30,34,81,.06) 1px,transparent 1.2px) 0 0/22px 22px,
    radial-gradient(640px 340px at 95% 0%,rgba(240,147,251,.26),transparent 70%),
    radial-gradient(760px 420px at 72% 110%,rgba(0,188,212,.20),transparent 65%),
    radial-gradient(620px 420px at -5% -10%,rgba(102,126,234,.24),transparent 65%),
    linear-gradient(180deg,#FFFFFF 0%,var(--ground) 100%) !important;
  background-attachment:scroll !important;
  border-bottom:1px solid #E7E9F4 !important;
  border-radius:0 !important;
}
.band-lav,
.services.whyus,
.connection-block,
.cenik-select-band{
  background:linear-gradient(180deg,var(--ground) 0,#E6E4F8 140px,var(--ground) 100%);
}
.band-dark{
  background:
    radial-gradient(600px 300px at 85% 0%,rgba(240,147,251,.18),transparent 70%),
    radial-gradient(700px 320px at 10% 100%,rgba(0,188,212,.18),transparent 70%),
    linear-gradient(120deg,#1E2251 0%,#2B2470 55%,#1C3C7A 100%);
  color:#fff;
}

/* gradient text helper */
.g-title,
.g-blue,
.g-num{
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
.g-title{background-image:var(--grad-title)}
.g-blue{background-image:var(--grad-blue)}
.g-num{background-image:var(--grad-num)}

/* --------------------------------------------------------------------------
   2. Base typography / page
   -------------------------------------------------------------------------- */
html{overflow-x:hidden;overflow-x:clip}
body{
  background-color:var(--ground);
  background-image:radial-gradient(rgba(30,34,81,.06) 1px,transparent 1.2px);
  background-size:22px 22px;
  color:var(--text);
  font-family:"Raleway",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.7;
  font-variant-numeric:lining-nums;
}
h1,h2,h3,h4,h5,h6{color:var(--ink);font-family:"Raleway",sans-serif}
a{color:var(--blue-ink)}
a:hover,a:focus,a:active{color:#0F4682}
label{color:var(--ink);font-weight:600}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
input[type=radio],input[type=checkbox]{accent-color:var(--blue)}

/* stray headings rendered directly inside the page container (e.g. "Formulář odeslán", Kompatibilita) */
.container > h1{
  font-size:clamp(28px,3.6vw,44px);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.1;
  margin:32px 0 40px;
  background:var(--grad-title);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.container > h2{font-size:34px;font-weight:500;letter-spacing:-.015em;color:var(--ink);margin:32px 0 16px}

/* --------------------------------------------------------------------------
   3. Header
   -------------------------------------------------------------------------- */
.site-header{
  position:fixed;top:0;left:0;width:100%;
  padding:0 !important;
  background:#FFFFFF !important;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border-bottom:1px solid transparent;
  box-shadow:none !important;
  transition:background .4s ease,box-shadow .4s ease,border-color .4s ease;
}
.site-header .col-md-12{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  min-height:130px;
  transition:min-height .4s ease;
}
.site-header .logo{float:none;display:flex;align-items:center}
.site-header .logo img,
.site-header #mainlogo{height:60px;width:auto;display:block;transition:height .4s ease}
.site-header:hover .logo img{transform:none}
.site-header .main-navigation{margin-top:0;float:none;display:flex;align-items:center;flex-shrink:0}
.site-header .main-nav ul{display:flex;align-items:center;flex-wrap:nowrap}
.site-header .main-nav ul > li{float:none}

.site-header.site-header-shrink{
  background:rgba(255,255,255,.78) !important;
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  backdrop-filter:saturate(160%) blur(10px);
  box-shadow:0 1px 0 rgba(20,20,40,.06),0 10px 30px -20px rgba(20,20,40,.35) !important;
  border-bottom-color:transparent;
}
.site-header.site-header-shrink .col-md-12{min-height:84px}
.site-header.site-header-shrink .logo img,
.site-header.site-header-shrink #mainlogo{height:44px}

/* top-level items */
.main-nav ul li{margin-left:4px}
.main-nav ul > li > a{
  display:inline-flex;align-items:center;gap:7px;
  height:44px;padding:0 12px !important;
  border-radius:10px;
  font-size:14.5px;font-weight:500;letter-spacing:0;
  color:var(--ink);background:transparent;
  transition:background .15s ease,color .15s ease;
}
.main-nav ul > li > a::after{display:none}
.main-nav ul > li > a:hover,
.main-nav ul > li:hover > a,
.main-nav ul > li:focus-within > a{background:#F3F5F8;color:var(--blue-ink)}
.main-nav ul > li.active > a{color:var(--blue-ink) !important;font-weight:700;background:transparent !important}
.main-nav ul > li.active:hover > a{background:#F3F5F8 !important}
.main-nav ul li.active ul li a{color:var(--text) !important;font-weight:500}
.main-nav ul li a i{margin-left:0;font-size:11px;opacity:.7}

/* dropdown panel */
.main-nav ul li ul{
  min-width:230px;width:auto;
  margin-top:8px;padding:8px;
  border:1px solid var(--line-soft) !important;
  border-radius:14px;
  box-shadow:0 18px 40px -16px rgba(20,20,40,.25);
}
.main-nav ul li ul li a{
  display:flex;align-items:center;
  min-height:38px;height:auto;padding:0 12px;
  border-radius:8px;
  font-size:14.5px;font-weight:500;line-height:1.2;
  color:var(--text) !important;
}
.main-nav ul li ul li a:hover{
  background:linear-gradient(135deg,rgba(102,126,234,.08),rgba(240,147,251,.08)) !important;
  color:var(--ink) !important;
}
.main-nav ul li ul li.nav-all{border-top:1px solid #EEF1F4;margin-top:6px;padding-top:6px}
.main-nav ul li ul li.nav-all a{color:var(--blue-ink) !important;font-weight:700}

/* hamburger */
.mobile-menu-toggle{
  width:44px;height:44px;
  background:#F3F5F8;border:0;border-radius:10px;
  color:var(--ink);font-size:18px;line-height:44px;
  animation:none;
}
.mobile-menu-toggle:hover,.mobile-menu-toggle:focus{color:var(--blue-ink);box-shadow:none;border-color:transparent}

/* off-canvas drawer */
.mobile-menu-overlay{background:rgba(20,22,30,.45)}
.mobile-menu{
  width:min(340px,88vw);max-width:none;
  background:#FFFFFF;color:var(--ink);
  padding:16px 24px 32px;
  box-shadow:-20px 0 40px -20px rgba(0,0,0,.3);
}
.mobile-menu-close{
  position:absolute;top:16px;right:24px;
  width:44px;height:44px;padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:#F3F5F8;border-radius:10px;
  color:var(--ink);font-size:18px;
}
.mobile-menu-close:hover,.mobile-menu-close:focus{color:var(--blue-ink)}
.mobile-menu-list{margin-top:56px}
.mobile-menu-list li,
.mobile-menu-list ul li{border:0}
.mobile-menu-list li a{
  display:flex;align-items:center;
  min-height:44px;padding:0;
  font-size:15.5px;font-weight:500;color:var(--ink);
}
.mobile-menu-list li a:hover{color:var(--blue-ink)}
.mobile-menu-list ul{padding:0 0 0 14px;margin:2px 0 6px 2px;border-left:2px solid #EEF1F4}
.mobile-menu-list ul li a{min-height:40px;padding:0;font-size:15px;font-weight:500;color:var(--text)}
.mobile-menu-list ul ul{padding-left:14px}
.mobile-menu-list ul ul li a{font-size:14.5px;min-height:38px;padding:0;color:var(--text)}
.mobile-menu-list li.lang-switch > a{display:inline-flex;min-height:0;margin:18px 0 0}

/* --------------------------------------------------------------------------
   4. Buttons, inputs, tags
   -------------------------------------------------------------------------- */
.btn-primary-custom,
input[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 32px;
  border:0;border-radius:var(--r-btn);
  background:var(--grad-btn);
  color:#FFFFFF;
  font-family:"Raleway",system-ui,sans-serif;
  font-size:15px;font-weight:700;line-height:1;letter-spacing:.01em;
  text-transform:none;text-decoration:none;
  cursor:pointer;
  box-shadow:0 10px 24px -12px rgba(26,115,232,.6);
  transition:transform .2s ease,box-shadow .2s ease;
}
a.btn-primary-custom{display:inline-flex !important}
.btn-primary-custom:hover,
input[type=submit]:hover{
  color:#FFFFFF;
  background:var(--grad-btn);
  transform:translateY(-1px);
  box-shadow:0 14px 28px -12px rgba(26,115,232,.7);
}
.btn-primary-custom:active{transform:translateY(0)}
.btn-primary-custom .fa{font-size:14px}

/* inputs */
.pricing-form .form-control,
.pricing-form input[type=text],
.pricing-form input[type=email],
.pricing-form input[type=tel],
.pricing-form input[type=number],
.pricing-form textarea{
  display:block;width:100%;max-width:420px;height:48px;
  padding:0 14px;
  border:1px solid #D5DAE0;border-radius:var(--r-input);
  background:#FFFFFF;color:var(--ink);
  font-family:"Raleway",system-ui,sans-serif;
  font-size:15.5px !important;font-weight:500;line-height:1.4;
  box-shadow:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.pricing-form .form-control:hover{border-color:#B9C1CA}
.pricing-form .form-control:focus,
.pricing-form input:focus,
.pricing-form textarea:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(26,115,232,.18);
}
.pricing-form textarea,
.pricing-form textarea.form-control{
  max-width:none;height:auto;min-height:120px;
  padding:12px 14px;line-height:1.6;resize:vertical;
}

/* tag pills */
.tag{
  display:inline-flex;align-items:center;
  min-height:26px;padding:0 9px;margin:0;
  border-radius:999px;
  background:#F3F5F7;border:1px solid #E6E9ED;
  color:#3D4349;
  font-size:12.5px;font-weight:500;line-height:1;
  white-space:nowrap;text-decoration:none;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.tag:hover{background:#FFFFFF;border-color:var(--blue);color:var(--blue-ink)}
.tag a,.tag a:focus,.tag a:active,.tag a:visited{color:inherit;text-decoration:none}
.tag:hover a{color:var(--blue-ink)}

/* --------------------------------------------------------------------------
   5. Homepage hero
   -------------------------------------------------------------------------- */
#homeIntro.light-hero{
  padding:72px 0 88px !important;
  margin-top:130px;
  height:auto;min-height:0;
}
#homeIntro.light-hero .homepage_title{padding-left:15px !important;padding-right:15px !important}
#homeIntro.light-hero h1{
  font-size:clamp(42px,6.2vw,80px) !important;
  font-weight:800;
  line-height:1.05 !important;
  letter-spacing:-.03em;
  margin:0 0 32px 0 !important;
  max-width:980px;
  text-wrap:balance;
}
#homeIntro.light-hero .hero-rotator{height:100px;max-width:860px}
#homeIntro.light-hero .hero-rotator-line{
  font-size:20px;line-height:1.6;font-weight:400;
  color:var(--text);
  text-wrap:pretty;
}

/* --------------------------------------------------------------------------
   6. Stats strip (dark band)
   -------------------------------------------------------------------------- */
.stats-strip{padding:48px 0 !important;text-align:center}
.stats-strip .stats-line{gap:28px 56px;font-size:14px;line-height:1;color:var(--on-dark)}
.stats-strip .stats-item{
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:"icon num" "icon label";
  column-gap:18px;row-gap:6px;
  align-items:center;
  text-align:left;
  white-space:nowrap;
}
.stats-strip .stats-icon{
  grid-area:icon;
  font-size:40px;line-height:1;
  background:none !important;
  -webkit-text-fill-color:#00A4FB;color:#00A4FB;
}
.stats-strip .stats-icon-arrows{font-size:44px;-webkit-text-fill-color:#00B8C9;color:#00B8C9}
.stats-strip .stats-line strong{
  grid-area:num;
  align-self:end;
  margin:0;
  font-size:60px;font-weight:800;line-height:1;letter-spacing:-.02em;
  background:var(--grad-num);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
.stats-strip .stats-label{
  grid-area:label;
  display:block;
  max-width:none;opacity:1;margin:0;overflow:visible;
  font-size:14px;font-weight:600;color:var(--on-dark);
  transition:none;
}
.stats-strip .stats-sep{height:64px;background:rgba(255,255,255,.22)}

/* --------------------------------------------------------------------------
   7. Supported systems grid (homepage)
   -------------------------------------------------------------------------- */
.light-content{background-color:transparent}
.light-content.services:not(.whyus){padding:80px 0 88px;margin-top:0}

.vendor-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));
  gap:20px 18px;
  align-items:stretch;
  margin:0;
}
.vendor-grid::before,.vendor-grid::after{display:none}
.vendor-grid > [class*="col-"]{float:none;width:auto;min-height:0;padding:0;display:flex;position:static}
.vendor-grid .service-box-wrap{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:12px;
  width:100%;margin:0;padding:20px 10px 18px;
  background:#FFFFFF;
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  box-shadow:var(--sh-card);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.vendor-grid .service-box-wrap:hover{
  transform:translateY(-3px);
  border-color:#E1E6EC;
  box-shadow:var(--sh-hover);
  background:#FFFFFF;
}
.vendor-grid .service-icon-wrap{
  height:72px;width:100%;
  display:flex;align-items:center;justify-content:center;
  padding:0 8px;overflow:visible;
}
.vendor-grid .service-icon-wrap a{display:flex;align-items:center;justify-content:center;max-height:56px;max-width:100%}
.vendor-grid .service-icon-wrap img{
  display:block;
  width:auto !important;height:auto;
  max-width:100%;max-height:56px;
  object-fit:contain;
  filter:none !important;opacity:1 !important;transform:none !important;
}
.vendor-grid .service-cnt-wrap{flex:1;display:flex;flex-direction:column;min-height:0;width:100%}
.vendor-grid .service-title{margin:0 0 10px;font-size:18px;font-weight:600;line-height:1.2;color:var(--ink);transform:none !important}
.vendor-grid .service-box-wrap:hover .service-title{color:var(--ink)}
.vendor-grid .service-cnt-wrap p{
  flex:1;
  display:flex;flex-wrap:wrap;justify-content:center;align-content:center;
  gap:6px;margin:0;
}

/* --------------------------------------------------------------------------
   8. Why us (lavender band)
   -------------------------------------------------------------------------- */
.services.whyus{padding:88px 0 96px;margin-top:0 !important}
.whyus .section-banner{margin-bottom:48px}
.whyus .row > [class*="col-"]{margin-bottom:24px}
.whyus .whyus-card{
  padding:32px;gap:16px;
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  box-shadow:var(--sh-card);
}
.whyus .whyus-card:hover{transform:translateY(-3px);box-shadow:var(--sh-hover)}
.whyus .whyus-icon{
  width:48px;height:48px;margin:0;
  border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,rgba(26,115,232,.1),rgba(0,188,212,.12));
}
.whyus .whyus-icon i{
  font-size:22px;
  background:none !important;
  -webkit-text-fill-color:var(--blue) !important;color:var(--blue) !important;
  transform:none !important;
}
.whyus .whyus-title{
  margin:0;
  font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.15;
  background-image:var(--grad-blue);
}
.whyus .whyus-text{font-size:16px;line-height:1.7;color:var(--text)}

/* --------------------------------------------------------------------------
   9. Novinky (news) block
   -------------------------------------------------------------------------- */
#blogPosts.news-light{background:transparent !important;padding:88px 0 96px !important}
#blogPosts.news-light .news-header{margin-bottom:40px}
#blogPosts.news-light .latest-posts{margin-left:-12px;margin-right:-12px}
#blogPosts.news-light .latest-posts > article{padding-left:12px;padding-right:12px;margin-bottom:24px}
#blogPosts.news-light .news-card{
  padding:32px;gap:16px;
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  box-shadow:var(--sh-card);
}
#blogPosts.news-light .news-card:hover{transform:translateY(-3px);box-shadow:var(--sh-hover)}
#blogPosts.news-light .news-date{align-items:center;gap:12px;margin-bottom:0}
#blogPosts.news-light .news-date-day{font-size:34px;letter-spacing:-.02em;background-image:var(--grad-num)}
#blogPosts.news-light .news-date-rest{gap:3px}
#blogPosts.news-light .news-date-month{font-size:11px;font-weight:700;letter-spacing:.14em;color:#3D4349}
#blogPosts.news-light .news-date-year{font-size:11px;font-weight:400;letter-spacing:.1em;color:var(--muted);margin-top:0}
#blogPosts.news-light .news-card-title{margin:0;font-size:28px;letter-spacing:-.02em;line-height:1.15;background-image:var(--grad-blue)}
#blogPosts.news-light .news-card-title a{background-image:inherit}
#blogPosts.news-light .news-card-desc{
  margin:0;font-size:15.5px;line-height:1.65;color:var(--text);
  /* full text always visible – no line clamp / hover expansion */
  display:block;-webkit-line-clamp:unset;max-height:none;overflow:visible;transition:none;
}
#blogPosts.news-light .news-card-more{background-image:var(--grad-blue) !important;font-size:12px;letter-spacing:.12em;margin-top:auto}
#blogPosts.news-light .news-card-more .fa{-webkit-text-fill-color:var(--blue);color:var(--blue)}

/* --------------------------------------------------------------------------
   10. Footer
   -------------------------------------------------------------------------- */
.site-footer{background:var(--indigo);padding:56px 0 48px;color:var(--on-dark)}
.footer-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:0 40px}
.footer-menu li{margin:0}
.footer-menu li a{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--on-dark);
  font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1;
}
.footer-menu li a:hover{color:#FFFFFF}
.copyright-text{
  margin:16px 0 0;
  font-size:12.5px;font-weight:700;letter-spacing:.06em;line-height:1.4;text-transform:uppercase;
  color:var(--on-dark-muted);
}

/* --------------------------------------------------------------------------
   11. Subpage header (section#homeIntro.page-header, lives inside .container)
   -------------------------------------------------------------------------- */
#homeIntro.page-header{
  position:relative;
  margin:130px var(--bleed) 32px !important;
  padding:72px var(--bleed-pad) 64px !important;
  min-height:0 !important;
  overflow:visible !important;
  color:inherit;
}
#homeIntro.page-header .parallax-overlay{background:transparent !important;padding:0 !important}
#homeIntro.page-header .home-intro-content{
  width:auto !important;max-width:none;
  padding:0 !important;
  display:block !important;
  text-align:left;
}
#homeIntro.page-header h1{
  display:block !important;
  font-size:clamp(42px,7vw,88px) !important;
  font-weight:800 !important;
  letter-spacing:-.03em;
  line-height:1.05 !important;
  margin:0 !important;
  padding:0 0 .08em 0 !important;
  text-align:left;
  text-wrap:balance;
}

/* subpages whose first block is a white panel: the hero band wraps the whole panel.
   The wrapper becomes a one-column grid; a ::before layer spans the hero row and the
   panel row and carries the band background, so the band is as tall as hero + panel. */
.container:has(> #homeIntro.page-header){
  display:grid;
  grid-template-columns:minmax(0,100%);
  isolation:isolate;
}
.container:has(> #homeIntro.page-header)::before{
  content:"";
  display:block;
  grid-row:1 / span 2;
  grid-column:1;
  z-index:-1;
  margin:0 var(--bleed) -56px;
  min-height:680px;
  /* glows pinned to the top (same placement as the plain hero band), fully transparent
     towards the bottom so the band dissolves into the page ground without any edge;
     the dot pattern comes from the body background and therefore never breaks */
  background:
    radial-gradient(640px 340px at 95% 0,rgba(240,147,251,.26),transparent 70%),
    radial-gradient(760px 420px at 72% 390px,rgba(0,188,212,.20),transparent 65%),
    radial-gradient(620px 420px at -5% -40px,rgba(102,126,234,.24),transparent 65%),
    linear-gradient(180deg,#FFFFFF 0,rgba(255,255,255,0) 460px);
}
.container:has(> #homeIntro.page-header)::after{display:none}
.container:has(> #homeIntro.page-header) > #homeIntro.page-header{
  grid-row:1;grid-column:1;
  background:transparent !important;
  border-bottom:0 !important;
  padding-bottom:40px !important;
  margin-bottom:0 !important;
}
.container:has(> #homeIntro.page-header) > section:nth-of-type(2){grid-row:2;grid-column:1}
.container:has(> #homeIntro.page-header) > section:nth-of-type(2).paragraph{
  margin-top:0;
  margin-bottom:88px;
}

/* volume calculator bar inside the ceník result header */
#homeIntro.page-header .vc-bar{margin:40px 0 0;padding:0 15px;gap:24px 32px;align-items:center}
#homeIntro.page-header .vc-bar-sliders{gap:14px;flex:1 1 520px;max-width:640px}
#homeIntro.page-header .vc-mini-row{gap:10px 24px}
#homeIntro.page-header .vc-mini-label{width:200px;font-size:15px;font-weight:700;color:var(--ink)}
#homeIntro.page-header .vc-mini-label strong{color:inherit}
#homeIntro.page-header .vc-mini-state{width:170px;font-size:14px;font-style:italic;color:var(--blue-ink)}
#homeIntro.page-header .vc-mini-state.vc-warning{color:#9a7000}
#homeIntro.page-header .vc-mini-state.vc-danger{color:#9d3142}
#homeIntro.page-header .vc-bar-btn a{min-width:232px}
#homeIntro.page-header #vc-notice{padding:10px 15px 0;font-size:14px;color:var(--muted)}
#homeIntro.page-header #vc-notice.vc-info{color:#2a7a6a}
#homeIntro.page-header #vc-notice.vc-warn{color:#9a7000}

/* range inputs – blue track + thumb (ceník header, order form, interval slider) */
#homeIntro.page-header .vc-mini-row input[type=range],
.pricing-form .vc-bar-order input[type=range],
.pricing-form .ss-range{height:28px;accent-color:var(--blue)}
#homeIntro.page-header .vc-mini-row input[type=range]::-webkit-slider-runnable-track,
.pricing-form .vc-bar-order input[type=range]::-webkit-slider-runnable-track,
.pricing-form .ss-range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,#8EC5F5,#1A5EA8)}
#homeIntro.page-header .vc-mini-row input[type=range]::-webkit-slider-thumb,
.pricing-form .vc-bar-order input[type=range]::-webkit-slider-thumb,
.pricing-form .ss-range::-webkit-slider-thumb{
  width:18px;height:18px;margin-top:-7px;
  border-radius:50%;
  background:#1A5EA8;
  border:3px solid #FFFFFF;
  box-shadow:0 0 0 1px #1A5EA8,0 2px 6px rgba(26,94,168,.35);
}
#homeIntro.page-header .vc-mini-row input[type=range]::-moz-range-track,
.pricing-form .vc-bar-order input[type=range]::-moz-range-track,
.pricing-form .ss-range::-moz-range-track{height:4px;border-radius:4px;background:linear-gradient(90deg,#8EC5F5,#1A5EA8)}
#homeIntro.page-header .vc-mini-row input[type=range]::-moz-range-thumb,
.pricing-form .vc-bar-order input[type=range]::-moz-range-thumb,
.pricing-form .ss-range::-moz-range-thumb{
  width:12px;height:12px;
  border-radius:50%;
  background:#1A5EA8;
  border:3px solid #FFFFFF;
  box-shadow:0 0 0 1px #1A5EA8;
}

/* --------------------------------------------------------------------------
   12. Content panels (.paragraph) + lists
   -------------------------------------------------------------------------- */
.paragraph{
  background:#FFFFFF !important;
  border:1px solid var(--line);
  border-radius:var(--r-panel);
  box-shadow:var(--sh-panel);
  padding:48px 44px;
  margin:24px 0;
  font-size:16.5px;line-height:1.7;color:var(--text);
  transition:none;
}
.paragraph:hover{background:#FFFFFF !important}
.paragraph > :first-child{margin-top:0}
.paragraph > p:last-child,
.paragraph > ul:last-child{margin-bottom:0}
.paragraph strong{color:var(--ink)}
.paragraph h2{
  margin:0 0 24px;
  font-size:34px;font-weight:500;letter-spacing:-.015em;line-height:1.2;
  color:var(--ink);
}
.paragraph p:has(+ ul.list){margin-bottom:12px;font-weight:600;color:var(--ink)}
.paragraph ul.list{
  list-style:none;margin:0 0 24px;padding:0;
  display:flex;flex-direction:column;gap:12px;
}
.paragraph ul.list li{position:relative;margin:0;padding-left:36px;line-height:1.7}
.paragraph ul.list li::before{
  content:"\f00c";
  font-family:"FontAwesome";
  position:absolute;left:0;top:.35em;
  width:22px;height:22px;
  border-radius:50%;
  background:var(--grad-btn);
  color:#FFFFFF;
  font-size:11px;line-height:22px;text-align:center;
}
.paragraph ul.list-plus li::before{content:"\f067"}

/* --------------------------------------------------------------------------
   13. Forms: pricing / order form card, selection tiles, radios
   -------------------------------------------------------------------------- */
.pricing-form{
  background:#FFFFFF;
  border:1px solid var(--line-soft);
  border-radius:var(--r-panel);
  box-shadow:var(--sh-card);
  padding:44px 40px;
  margin:0 auto;
  max-width:800px;
  font-size:15px;
}
/* a form that sits inside an ordinary white panel does not need its own card */
.paragraph > .pricing-form{background:transparent;border:0;box-shadow:none;padding:0;max-width:none;margin:0}

.form-group{margin-bottom:26px;gap:12px}
.form-group label{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--ink)}
.form-text{display:block;margin-top:-4px;font-size:13px;line-height:1.5;color:var(--muted)}

.button-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0}
.selection-button{
  position:relative;
  min-height:64px;padding:12px 16px;gap:14px;
  background:#FFFFFF;
  border:1px solid #E4E8F1;
  border-radius:14px;
  font-size:14.5px;font-weight:600;line-height:1.35;
  color:var(--ink);
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;
}
.selection-button:hover{
  border-color:#C9D3E3;background:#FFFFFF;
  transform:translateY(-2px);
  box-shadow:0 10px 22px -16px rgba(20,20,40,.35);
}
.selection-button.selected{
  border-color:var(--blue);
  background:#F2F7FF;
  color:var(--blue-ink);
  font-weight:600;
  box-shadow:inset 0 0 0 1px var(--blue);
}
.selection-button.selected::after{color:var(--blue);font-size:15px;right:14px}
.selection-button > span{flex:1;min-width:0;padding-right:18px}
.selection-button .selection-icon{
  width:64px !important;height:32px !important;flex:0 0 64px;
  border-radius:0;transform:none !important;
}
.selection-button .selection-icon.erp,
.selection-button .selection-icon.eshop{width:24px !important;height:24px !important;flex:0 0 24px;margin:0 20px;border-radius:6px}

.radio-group{gap:8px 28px;margin-top:0}
.radio-item{min-height:44px;gap:10px;padding:0}
.radio-item input[type=radio]{width:20px;height:20px;margin:0;accent-color:var(--blue)}
.radio-item label{font-size:15px;font-weight:500;color:var(--ink)}

.form-submit{margin-top:12px;display:flex;flex-direction:column;align-items:center;gap:14px}
.form-hint{margin:0;font-size:14.5px;line-height:1.6;color:var(--muted);text-align:center}

/* --------------------------------------------------------------------------
   14. Ceník – selection band, result panel, comparison table
   -------------------------------------------------------------------------- */
.cenik-select-band{
  margin:56px var(--bleed) 0;
  padding:80px var(--bleed-pad) 88px;
}
.cenik-select-band .pricing-form{margin:0 auto}

.paragraph.cenik-result-panel,
.paragraph.cenik-result-panel:hover{
  background:var(--grad-lav-panel) !important;
  border-color:#E2E1F4;
  box-shadow:none;
  padding:40px;
  margin-top:56px;
}
.cenik-result-panel .cenik-wrap + div{padding:16px 8px 0 !important;font-size:14px;line-height:1.7;color:var(--muted)}

.table-responsive-wrapper{
  background:#FFFFFF;
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  box-shadow:var(--sh-card);
  overflow:hidden;overflow-x:auto;
}
#cenik2.cenik-grouped{
  min-width:720px;
  border:0;border-radius:0;box-shadow:none;
  background:#FFFFFF;
}
#cenik2.cenik-grouped th{
  background:#EEF1F5;
  color:var(--ink);
  font-family:"Raleway",sans-serif;
  font-size:15px;font-weight:600;
  padding:22px 12px;
  border-bottom:1px solid #E4E8F1;
}
#cenik2.cenik-grouped th.cenik-feature-col{background:#EEF1F5}
#cenik2.cenik-grouped td{padding:14px 12px;border-bottom:1px solid #EEF1F4;font-size:15px;line-height:1.5}
#cenik2.cenik-grouped td.cenik-feature-col{padding:14px 22px;vertical-align:middle}
#cenik2.cenik-grouped tr.cenik-feature-row:hover td{background-color:#FAFBFD}

/* price row */
#cenik2.cenik-grouped .cenik_cena_head{
  background:linear-gradient(180deg,#F1F8FD 0%,#F7FBFE 100%) !important;
  padding:26px 12px !important;
  font-size:14px !important;font-weight:400 !important;line-height:1.3;
  color:var(--muted) !important;
}
#cenik2.cenik-grouped .cenik_cena_head .price{font-size:26px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:var(--blue-ink)}
#cenik2.cenik-grouped .cenik_cena_head .price_desc{font-size:14px;color:var(--muted);margin-top:2px;padding-bottom:12px}
#cenik2.cenik-grouped .cenik_cena_head .price_desc:last-child{padding-bottom:0}
.cenik-connection{gap:18px;padding:12px}
.cenik-connection img{max-height:46px;max-width:130px}
.cenik-connection-arrows{color:var(--blue-ink);font-size:24px}

/* group rows */
#cenik2.cenik-grouped .cenik-group-row td,
#cenik2.cenik-grouped tr.cenik-group-row:hover td{
  background:#F3F5FA !important;
  border-top:1px solid #E8ECF2;border-bottom:1px solid #E8ECF2;
}
.cenik-group-toggle{
  min-height:54px;padding:0 22px;gap:12px;
  font-size:15px;font-weight:700;letter-spacing:0;line-height:1.2;
  color:var(--ink);
}
.cenik-group-toggle i{font-size:12px;color:var(--muted)}
.cenik-group-toggle:hover{color:var(--blue-ink)}
.cenik-group-count{
  display:inline-flex !important;align-items:center;justify-content:center;
  min-width:26px;height:22px;padding:0 7px;
  border-radius:999px;
  border:1px solid #D5DAE0;background:#FFFFFF;
  font-size:11.5px;font-weight:600;line-height:1;
  color:var(--text);
}

/* feature rows: name + visible description (former hover tooltip) */
#cenik2.cenik-grouped .module-name,
#cenik2.cenik-grouped .cenik-feature-name{
  display:block;
  font-size:15px;font-weight:600;line-height:1.4;
  color:var(--ink);
  cursor:default;
}
#cenik2.cenik-grouped .module-name::after{display:none}
#cenik2.cenik-grouped .module-name:hover{color:var(--ink)}
#cenik2.cenik-grouped td.cenik-feature-col .module-tooltip{
  position:static;display:block;
  margin:4px 0 0;padding:0;
  background:transparent;box-shadow:none;
  color:var(--muted);
  font-size:13px;font-weight:400;line-height:1.5;
  min-width:0;max-width:none;
  opacity:1;visibility:visible;transform:none;
  white-space:normal;
}
#cenik2.cenik-grouped td.cenik-feature-col .module-tooltip::before{display:none}
#cenik2.cenik-grouped .cenik-extra .module-tooltip{display:none}
#cenik2.cenik-grouped .cenik-extra .module-name{display:inline;cursor:default}

/* icons */
.modern-check{color:var(--ok)}
.modern-cross{color:var(--no)}
.modern-plus{color:var(--add)}
.cenik-sum-mixed{color:#B6BDC6}
#cenik2.cenik-grouped .modern-check,
#cenik2.cenik-grouped .modern-cross,
#cenik2.cenik-grouped .modern-plus{font-size:20px}
#cenik2.cenik-grouped .cenik-extra{font-size:14px;color:var(--text)}
#cenik2.cenik-grouped .cenik-extra .price,
#cenik2.cenik-grouped .cenik-extra strong,
#cenik2.cenik-grouped .cenik-extra-plus{color:var(--blue-ink)}

/* mobile one-tariff view */
.cenik-mobile-slide{border:1px solid var(--line-soft);border-radius:var(--r-card);box-shadow:var(--sh-card)}
.cenik-mobile-tabs{background:#E9ECF4}
.cenik-mobile-tabs button.active{background:var(--grad-blue);box-shadow:0 3px 10px rgba(26,115,232,.3)}
.cenik-mobile-price{background:linear-gradient(180deg,#F1F8FD 0%,#F7FBFE 100%);color:var(--muted)}
.cenik-mobile-price .price{color:var(--blue-ink)}
.cenik-mobile-row{color:var(--ink);font-size:15px}
.cenik-mobile-group{color:var(--muted)}

/* --------------------------------------------------------------------------
   15. ERP / eshop detail – connection block (lavender band) + system cards
   -------------------------------------------------------------------------- */
.connection-block{
  margin:0 var(--bleed) 48px;
  padding:72px var(--bleed-pad) 80px;
}
.connection-header{gap:28px;margin:0 0 36px}
.connection-source-logo{height:auto;width:150px;max-width:150px}
.connection-title{font-size:clamp(28px,3.4vw,38px);letter-spacing:-.02em;line-height:1.15}
.connection-block .systems-grid{
  grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));
  gap:16px;
}
.system-card{
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  box-shadow:var(--sh-card);
}
.system-card:hover{transform:translateY(-3px);border-color:#DCE3EA;box-shadow:var(--sh-hover)}
.system-card:hover .system-card-name{background:none;-webkit-text-fill-color:currentColor;color:var(--blue-ink)}
.system-card.active,
.system-card.is-active,
.system-card.selected{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.connection-block .system-card{padding:18px 14px 16px;gap:10px;border-radius:14px}
.connection-block .system-card-logo{height:64px}
.connection-block .system-card-logo img{max-height:56px}
.connection-block .system-card-name{
  min-height:2.6em;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  font-size:13px;font-weight:700;line-height:1.3;
  color:var(--ink);
  margin:0;
}
.systems-overview{background:transparent;padding:0 0 60px}

/* --------------------------------------------------------------------------
   16. Order form (objednávka)
   -------------------------------------------------------------------------- */
.package-label,
.module-option{border:1px solid #E3E7EC;border-radius:14px;background:#FFFFFF}
.package-label{padding:14px 16px}
.package-label:hover,
.module-option:hover{border-color:#C9D3E3}
.package-label.selected,
.module-option.selected{
  border-color:var(--blue);
  background:linear-gradient(135deg,#EEF5FF 0%,#E9FAFB 100%);
  box-shadow:inset 0 0 0 1px var(--blue);
}
.package-label.selected .module-tick,
.module-option.selected .module-tick{background:var(--blue)}
.package-name{font-size:15.5px;color:var(--ink)}
.package-price{font-size:14px;color:var(--muted)}
.package-price .price{color:var(--blue-ink)}
.package-note{font-size:14px;color:var(--muted)}
.module-option .module-opt-name{font-size:15px;color:var(--ink)}
.module-option .module-price{color:var(--blue-ink)}
.module-option .module-features{font-size:14.5px;color:var(--text)}
.eshop-count-section,
.checkbox-section{border:1px solid #E3E7EC !important;border-radius:14px !important;background:#F8F9FC !important}
.order-legal{font-size:14px;line-height:1.7;color:var(--text)}
.interval-state{color:var(--blue-ink)}
.pricing-form .vc-bar-order{margin-bottom:0}
.pricing-form .vc-bar-order .vc-mini-row{gap:10px 24px}
.pricing-form .vc-bar-order .vc-mini-label{width:200px;min-width:0;flex:0 0 200px;font-size:15px;font-weight:700;color:var(--ink)}
.pricing-form #vc-notice-order{padding:0;min-height:1.5em}
.pricing-form .vc-bar-order .vc-mini-state{font-size:14px;color:var(--blue-ink)}
.pricing-form .vc-bar-order .vc-mini-state.vc-warning{color:#9a7000}
.pricing-form .vc-bar-order .vc-mini-state.vc-danger{color:#9d3142}
.pricing-form #vc-notice-order{font-size:14px;color:var(--muted)}

/* --------------------------------------------------------------------------
   17. Other pages (contact, overview grids, section banners)
   -------------------------------------------------------------------------- */
.section-banner-title{font-size:clamp(38px,5vw,64px) !important;line-height:1.05 !important;padding:0 0 .08em 0 !important}
.contact-page{background:transparent;padding:0 0 40px}
.contact-card,
.calendly-block,
.billing-block{border:1px solid var(--line-soft);border-radius:var(--r-card);box-shadow:var(--sh-card)}
.contact-card:hover,
.billing-block:hover{transform:translateY(-3px);box-shadow:var(--sh-hover)}
.contact-list li{font-size:17px}
.contact-card-desc,
.calendly-desc{color:var(--text)}
.reference_list li{background:#FFFFFF;border:1px solid var(--line-soft);border-radius:12px;padding:10px 14px;margin:6px}

/* --------------------------------------------------------------------------
   18. Responsive
   -------------------------------------------------------------------------- */
@media (max-width:991px){
  .site-header{position:relative !important;padding:0 !important}
  .site-header .col-md-12{min-height:72px}
  .site-header .logo img,
  .site-header #mainlogo{height:44px}
  #homeIntro.light-hero{margin-top:0}
  #homeIntro.page-header{margin-top:0 !important}
  .first-widget{margin-top:0}
  #homeIntro.light-hero .hero-rotator{height:130px}
}

@media (max-width:768px){
  .radio-group{flex-direction:row}
}

@media (max-width:760px){
  #homeIntro.light-hero{padding:48px 0 56px !important}
  #homeIntro.light-hero h1{margin-bottom:24px !important}
  #homeIntro.light-hero .hero-rotator{height:150px}
  #homeIntro.light-hero .hero-rotator-line{font-size:17px}
  #homeIntro.page-header{padding:48px var(--bleed-pad) 40px !important;margin-bottom:24px !important}
  .container:has(> #homeIntro.page-header) > #homeIntro.page-header{padding-bottom:28px !important}
  .container:has(> #homeIntro.page-header) > section:nth-of-type(2).paragraph{margin-bottom:64px}
  .container:has(> #homeIntro.page-header)::before{margin-bottom:-40px}
  #homeIntro.page-header .vc-bar{margin-top:28px;gap:20px}
  #homeIntro.page-header .vc-mini-row{flex-wrap:wrap;gap:6px 10px}
  #homeIntro.page-header .vc-mini-label{width:100%;white-space:normal;font-size:14px}
  #homeIntro.page-header .vc-mini-state{width:auto;font-size:13px}
  #homeIntro.page-header .vc-bar-btn,
  #homeIntro.page-header .vc-bar-btn a{width:100%}
  .stats-strip{padding:36px 0 !important}
  .stats-strip .stats-line{gap:24px 32px}
  .stats-strip .stats-line strong{font-size:44px}
  .stats-strip .stats-icon{font-size:32px}
  .stats-strip .stats-icon-arrows{font-size:36px}
  .stats-strip .stats-sep{display:none}
  .light-content.services:not(.whyus){padding:56px 0 64px}
  .vendor-grid{gap:14px 12px}
  .services.whyus{padding:56px 0 64px}
  .whyus .section-banner{margin-bottom:28px}
  .whyus .whyus-card{padding:24px}
  #blogPosts.news-light{padding:56px 0 64px !important}
  #blogPosts.news-light .news-header{margin-bottom:24px}
  #blogPosts.news-light .news-card{padding:24px}
  .paragraph{padding:28px 20px;margin:16px 0}
  .paragraph h2{font-size:28px}
  .pricing-form{padding:28px 18px}
  .cenik-select-band{margin-top:40px;padding:56px var(--bleed-pad) 56px}
  .paragraph.cenik-result-panel{padding:16px;margin-top:32px}
  .button-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .selection-button{min-height:56px;padding:10px 12px;gap:10px;font-size:13.5px}
  .selection-button .selection-icon{width:48px !important;height:28px !important;flex:0 0 48px}
  .connection-block{margin-bottom:32px;padding:56px var(--bleed-pad) 56px}
  .connection-block .systems-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .connection-source-logo{width:110px}
  .site-footer{padding:40px 0 32px}
  .footer-menu{gap:0 20px}
  .container > h1{margin:24px 0 28px}
}

@media (max-width:540px){
  .pricing-form .vc-bar-order .vc-mini-row{flex-wrap:wrap;gap:6px 10px}
  .pricing-form .vc-bar-order .vc-mini-label{width:100%;flex:0 0 100%;white-space:normal;font-size:14px}
  .pricing-form .vc-bar-order .vc-mini-state{width:auto;font-size:13px}
}

@media (max-width:480px){
  .button-selection-grid{grid-template-columns:1fr}
  .selection-button .selection-icon{width:56px !important;height:30px !important;flex:0 0 56px}
}
