/* Shared refinements for the bilingual static site. */
.site-footer h2,
.site-footer .footer-grid > div:first-child h2 {
  color: #f8faff;
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0,0,0,.16);
}
.site-footer a {
  transition: color .22s ease, translate .22s ease, text-decoration-color .22s ease;
}
.site-footer a:hover,
.site-footer a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: #9fb4ff;
  translate: 2px 0;
}

[data-feature="platform"] { --feature-icon: url('../images/icons/platform.svg?v=26952daa9c93'); }
[data-feature="products"] { --feature-icon: url('../images/icons/products.svg?v=f50028e03488'); }
[data-feature="solutions"] { --feature-icon: url('../images/icons/solutions.svg?v=a416108142b8'); }
[data-feature="implementation"] { --feature-icon: url('../images/icons/implementation.svg?v=b9d98571ff73'); }
[data-feature="cloud"] { --feature-icon: url('../images/icons/cloud.svg?v=62f151676d9f'); }
[data-feature="integrations"] { --feature-icon: url('../images/icons/integrations.svg?v=1ff49f202324'); }
[data-feature="trading"] { --feature-icon: url('../images/icons/trading.svg?v=be7709c2b7eb'); }
[data-feature="services"] { --feature-icon: url('../images/icons/services.svg?v=10fa7181cf47'); }
[data-feature="contact"] { --feature-icon: url('../images/icons/contact.svg?v=5f6f4f86f5c5'); }
[data-feature="calendar"] { --feature-icon: url('../images/icons/calendar.svg?v=4525f7bf23da'); }
[data-feature="company"] { --feature-icon: url('../images/icons/company.svg?v=1c793c2c76c6'); }
[data-feature="projects"] { --feature-icon: url('../images/icons/projects.svg?v=7f878e594047'); }
[data-feature="packages"] { --feature-icon: url('../images/icons/packages.svg?v=79301128e1d1'); }
[data-feature="faq"] { --feature-icon: url('../images/icons/faq.svg?v=adf06b9a9073'); }
[data-feature="kadrovska-evidencija"] { --feature-icon: url('../images/icons/kadrovska-evidencija.svg?v=b6ed39535ebd'); }
[data-feature="prodazba"] { --feature-icon: url('../images/icons/prodazba.svg?v=0ebf153b1374'); }
[data-feature="nabavki"] { --feature-icon: url('../images/icons/nabavki.svg?v=05a7f370df0b'); }
[data-feature="magacin"] { --feature-icon: url('../images/icons/magacin.svg?v=e91a9eb4cb28'); }
[data-feature="finansii"] { --feature-icon: url('../images/icons/finansii.svg?v=72d00a261b97'); }
[data-feature="smetkovodstvo"] { --feature-icon: url('../images/icons/smetkovodstvo.svg?v=a702e915dccb'); }
[data-feature="b2b"] { --feature-icon: url('../images/icons/b2b.svg?v=71929be0bea6'); }
[data-feature="webshop"] { --feature-icon: url('../images/icons/webshop.svg?v=0b63f6f81716'); }
[data-feature="maloprodazba"] { --feature-icon: url('../images/icons/maloprodazba.svg?v=558ce03e0e60'); }
[data-feature="restorani"] { --feature-icon: url('../images/icons/restorani.svg?v=6186bfcc1979'); }
[data-feature="hoteli"] { --feature-icon: url('../images/icons/hoteli.svg?v=36599846d46a'); }
[data-feature="e-faktura"] { --feature-icon: url('../images/icons/e-faktura.svg?v=ae269e7466ad'); }

.feature-icon {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 50px;
  height: 50px;
  border-radius: 13px;
  background: linear-gradient(135deg,#7089dc,#445db8);
  box-shadow: 0 9px 20px rgba(48,76,160,.19);
  transition: transform .26s ease, box-shadow .26s ease;
}
.feature-icon::after,
.related-cta::before {
  content: '';
  display: block;
  width: 26px;
  height: 26px;
  background: currentColor;
  -webkit-mask: var(--feature-icon) center / contain no-repeat;
  mask: var(--feature-icon) center / contain no-repeat;
}
.feature-icon::after { color: #fff; }
.feature-icon:has(img)::after { display: none; }
.feature-icon img { display: block; width: 26px; height: 26px; object-fit: contain; }
.solutionsart .feature-icon { width: 50px; height: 50px; }
.solutionsart .feature-icon,
.aboutpath .feature-icon { background: linear-gradient(135deg,#7089dc,#445db8); color: #fff; }
.solutionsart > div:hover .feature-icon,
.aboutpath a:hover .feature-icon,
.new-card:hover .feature-icon,
.solutioncard:hover .feature-icon,
.industry:hover .feature-icon,
.platformgrid article:hover .feature-icon { transform: scale(1.08) rotate(-3deg); box-shadow: 0 13px 25px rgba(48,76,160,.28); }

.related-cta,
.solutioncard button.related-cta,
.new-card a.related-cta,
.platformgrid article a.related-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  width: fit-content;
  padding: 9px 14px;
  margin-top: 14px;
  border: 1px solid #b8c7ef;
  border-radius: 8px;
  background: #f7f9ff;
  color: #294ab6;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.related-cta::before { width: 18px; height: 18px; }
.related-cta::before {
  background: var(--feature-icon, url('../images/icons/solutions.svg?v=a416108142b8')) center / contain no-repeat;
  -webkit-mask: none; mask: none;
  filter: brightness(0) saturate(100%) invert(31%) sepia(39%) saturate(1969%) hue-rotate(200deg) brightness(88%);
}
.catalogcard .textlink { display: inline-flex; align-items: center; gap: 8px; width: fit-content; min-height: 37px; padding: 7px 11px; border: 1px solid #b8c7ef; border-radius: 7px; background: #f7f9ff; font-weight: 600; text-decoration: none; transition: background-color .22s ease, transform .22s ease; }
.catalogcard .textlink::before { content:''; width: 18px; height: 18px; display: block; background: currentColor; -webkit-mask: var(--product-icon) center / contain no-repeat; mask: var(--product-icon) center / contain no-repeat; }
.catalogcard .textlink::before { background: var(--product-icon) center / contain no-repeat; -webkit-mask: none; mask: none; filter: brightness(0) saturate(100%) invert(31%) sepia(39%) saturate(1969%) hue-rotate(200deg) brightness(88%); }
.catalogcard .textlink:hover { background: #e9efff; transform: translateY(-2px); }
.related-cta:hover,
.solutioncard button.related-cta:hover,
.new-card a.related-cta:hover,
.platformgrid article a.related-cta:hover {
  transform: translateY(-2px);
  border-color: #4565cf;
  background: #e9efff;
  box-shadow: 0 9px 19px rgba(49,85,206,.13);
}
.aboutpath a,
.solutionsart > div,
.platformgrid article,
.contactcard,
.module,
.packcard,
.aboutprinciples article {
  transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease;
}
@media (hover: hover) {
  .aboutpath a:hover,
  .solutionsart > div:hover,
  .platformgrid article:hover,
  .contactcard:hover {
    transform: translateY(-4px);
    border-color: #a4b7e9;
    box-shadow: 0 18px 31px rgba(28,52,110,.11);
  }
  .module:hover, .packcard:hover, .aboutprinciples article:hover { transform: translateY(-4px); border-color: #a4b7e9; box-shadow: 0 18px 31px rgba(28,52,110,.11); }
}
.module .feature-icon, .packcard .feature-icon, .aboutprinciples .feature-icon { margin-bottom: 12px; }
.aboutprinciples .feature-icon { width: 45px; height: 45px; }
.btn[href="demo.html"]::before,
.btn[href="contact.html"]::before,
.btn[href="kontakt.html"]::before {
  content:''; display: inline-block; width: 17px; height: 17px; margin-right: 8px; vertical-align: -3px;
  background: currentColor;
  -webkit-mask: url('../images/icons/calendar.svg?v=4525f7bf23da') center / contain no-repeat;
  mask: url('../images/icons/calendar.svg?v=4525f7bf23da') center / contain no-repeat;
}
.btn[href="contact.html"]::before,
.btn[href="kontakt.html"]::before { -webkit-mask-image: url('../images/icons/contact.svg?v=5f6f4f86f5c5'); mask-image: url('../images/icons/contact.svg?v=5f6f4f86f5c5'); }

.contact-request-section { background: #f3f6fd; }
.contact-request-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr); gap: 24px; align-items: start; }
.contact-request-aside { background: #fff; border: 1px solid #dce5f4; border-radius: 14px; padding: 29px; }
.contact-request-aside a:not(.related-cta),
.contactcard a:not(.textlink) { color: #3155ce; }
.contact-request-aside p { line-height: 1.75; }
.contact-request-aside .related-cta { margin-top: 8px; }
.contactpreview .btn { margin: 13px 12px 13px 0; }
.contactpreview pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.appointment-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px 20px; margin: 24px 0; padding: 21px; border: 1px solid #dce5f4; border-radius: 12px; background: #f7f9ff; }
.appointment-intro, .appointment-note { grid-column: 1 / -1; }
.appointment-intro h3 { margin: 7px 0; font-size: 22px; color: #182a51; }
.appointment-intro p, .appointment-note { margin: 0; color: #63738f; font-size: 13px; line-height: 1.6; }
.appointment-intro strong { color: #284fba; }
.appointment-fields .contactfield { min-width: 0; }
.appointment-fields input, .appointment-fields select { width: 100%; }
.appointment-fields :is(input,select):focus-visible { outline: 3px solid #9db1ed; outline-offset: 2px; }
.aboutfacts .factline a { color: #3155ce; font-size: inherit; }
.nanosoft-actual-logo { display: block; width: min(78%, 300px); height: auto; margin: 0 auto 20px; padding: 16px; background: #fff; border-radius: 12px; box-shadow: 0 16px 30px rgba(20,35,68,.13); }

@media (max-width: 850px) {
  .aboutpath { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .aboutpath a { min-width: 0; }
}
@media (max-width: 760px) {
  .contact-request-grid { grid-template-columns: 1fr; }
  .appointment-fields { grid-template-columns: 1fr; }
  .appointment-intro, .appointment-note { grid-column: auto; }
}
@media (max-width: 480px) {
  .industrygrid, .aboutpath { grid-template-columns: 1fr; }
  .industry, .aboutpath a { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer a, .feature-icon, .related-cta,
  .aboutpath a, .solutionsart > div, .platformgrid article, .contactcard, .module, .packcard, .aboutprinciples article, .catalogcard .textlink {
    transition: none!important;
    transform: none!important;
    translate: none!important;
  }
}

/* Shared bilingual navigation: direct links plus accessible, grouped mega menus. */
.site-header { z-index: 100; }
.site-header nav { position: relative; }
.site-header .navlinks { align-items: stretch; gap: 3px; height: 100%; }
.site-header .nav-item { display: flex; align-items: center; align-self: stretch; position: static; border-radius: 8px; }
.site-header .nav-primary {
  display: inline-flex; align-items: center; position: relative; min-height: 44px;
  padding: 0 2px 0 9px; color: #213053; font-weight: 600; text-decoration: none;
  transition: color .22s ease, transform .22s ease;
}
.site-header .nav-primary::after {
  content: ''; position: absolute; bottom: 5px; left: 9px; right: 2px; height: 2px;
  border-radius: 2px; background: #3155ce; transform: scaleX(0); transform-origin: left;
  transition: transform .22s ease;
}
.site-header .nav-primary[aria-current="page"] { text-decoration: none; }
.site-header .nav-item:is(:hover,.is-open) .nav-primary,
.site-header .nav-item.is-current .nav-primary,
.site-header .nav-primary:focus-visible { color: #3155ce; transform: translateY(-1px); }
.site-header .nav-item:is(:hover,.is-open) .nav-primary::after,
.site-header .nav-item.is-current .nav-primary::after,
.site-header .nav-primary:focus-visible::after,
.site-header .nav-primary[aria-current="page"]::after { transform: scaleX(1); }
.site-header .mega-toggle {
  display: inline-grid; place-items: center; width: 24px; height: 42px; padding: 0;
  border: 0; border-radius: 6px; background: transparent; color: #67769b; cursor: pointer;
  transition: color .2s ease, background-color .2s ease;
}
.site-header .mega-toggle span { width: 6px; height: 6px; border-right: 1.7px solid currentColor; border-bottom: 1.7px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s ease; }
.site-header .nav-item:is(:hover,.is-open) .mega-toggle { background: #edf2ff; color: #3155ce; }
.site-header .nav-item.is-open .mega-toggle span { transform: translateY(2px) rotate(225deg); }
.site-header .nav-item :is(a,button):focus-visible { outline: 2px solid #3155ce; outline-offset: 2px; }
.site-header .mega-panel {
  position: absolute; top: calc(100% - 1px); left: 0; right: 0; z-index: 20;
  background: #fff; border: 1px solid #dbe3f4; border-radius: 0 0 16px 16px;
  box-shadow: 0 25px 55px rgba(17,35,76,.18); max-height: min(650px,calc(100vh - 105px)); overflow: auto;
  animation: mega-reveal .24s ease both;
}
.site-header .mega-content { display: grid; grid-template-columns: minmax(0,1fr) 265px; min-height: 312px; }
.site-header .mega-menu-content { padding: 27px 30px 31px; min-width: 0; }
.site-header .mega-kicker { color: #6378b1; text-transform: uppercase; letter-spacing: .16em; font-size: 10px; font-weight: 700; margin-bottom: 15px; }
.site-header .mega-sections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.site-header .mega-section h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 10px; font-size: 13px; line-height: 1.3; color: #172850; }
.site-header .mega-heading-icon, .site-header .mega-link-icon { display: inline-grid; place-items: center; flex: none; border-radius: 8px; background: #eaf0ff; }
.site-header .mega-heading-icon { width: 29px; height: 29px; background: #3155ce; }
.site-header .mega-heading-icon img { width: 17px; height: 17px; }
.site-header .mega-section ul { list-style: none; margin: 0; padding: 0; }
.site-header .mega-section li { margin: 0; }
.site-header .mega-section li a {
  display: flex; align-items: center; gap: 9px; min-height: 36px; margin: 2px -7px; padding: 5px 7px;
  border-radius: 8px; color: #51617e; font-size: 12px; line-height: 1.3; text-decoration: none;
  transition: color .2s ease, background-color .2s ease, transform .2s ease;
}
.site-header .mega-section li a:hover, .site-header .mega-section li a:focus-visible { color: #2546b0; background: #f0f4ff; transform: translateX(3px); }
.site-header .mega-link-icon { width: 26px; height: 26px; }
.site-header .mega-link-icon img { width: 16px; height: 16px; filter: brightness(0) saturate(100%) invert(31%) sepia(39%) saturate(1969%) hue-rotate(200deg) brightness(88%); }
.site-header .mega-link-arrow { margin-left: auto; color: #7c91bf; opacity: 0; transform: translate(-3px,3px); transition: opacity .2s ease, transform .2s ease; }
.site-header .mega-section li a:is(:hover,:focus-visible) .mega-link-arrow { opacity: 1; transform: translate(0,0); }
.site-header .mega-visual { position: relative; display: flex; align-items: end; min-height: 312px; overflow: hidden; background: #172850; }
.site-header .mega-visual > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.site-header .mega-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 6%,rgba(14,28,67,.94)); }
.site-header .mega-visual-content { position: relative; z-index: 1; padding: 24px; color: #fff; }
.site-header .mega-visual-content > span { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: #ccd9ff; }
.site-header .mega-visual-content h2 { color: #fff; font-size: 19px; line-height: 1.25; margin: 10px 0; }
.site-header .mega-visual-content p { color: #e6edff; font-size: 12px; line-height: 1.55; margin: 0 0 13px; }
.site-header .mega-visual-content a { color: #fff; display: inline-flex; gap: 7px; align-items: center; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.site-header .mega-visual-content a:hover { color: #cddaff; }
@keyframes mega-reveal { from { opacity: 0; translate: 0 -8px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 1180px) {
  .site-header .navlinks.open { align-items: stretch; gap: 3px; height: auto; }
  .site-header .nav-item { display: grid; grid-template-columns: minmax(0,1fr) 44px; border-bottom: 1px solid #edf0f7; }
  .site-header .nav-primary { min-height: 46px; padding: 9px 7px; }
  .site-header .nav-primary::after { left: 7px; right: auto; width: 55px; bottom: 6px; }
  .site-header .mega-toggle { width: 42px; height: 42px; }
  .site-header .mega-panel { position: static; grid-column: 1 / -1; width: 100%; max-height: none; border-radius: 10px; box-shadow: none; margin-bottom: 9px; }
  .site-header .mega-content { grid-template-columns: 1fr; min-height: 0; }
  .site-header .mega-visual { display: none; }
  .site-header .mega-menu-content { padding: 16px; }
  .site-header .mega-sections { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (max-width: 600px) {
  .site-header .mega-sections { grid-template-columns: 1fr; gap: 15px; }
  .site-header .mega-section li a { min-height: 40px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header .mega-panel { animation: none; }
  .site-header .nav-primary, .site-header .nav-primary::after, .site-header .mega-toggle, .site-header .mega-toggle span, .site-header .mega-section li a, .site-header .mega-link-arrow { transition: none; }
}
