/* =============================================
   ZDRAVOTNÝ KOMPAS — Design System v1.0
   WordPress Theme CSS
   ============================================= */

:root {
  --color-primary:     #587C84;
  --color-section-bg:  #DFEAEA;
  --color-accent:      #A3CCC0;
  --color-cta:         #90CFE0;
  --color-cta-hover:   #79B9CF;
  --color-link:        #007bff;
  --color-link-hover:  #0056b3;
  --color-surface:     #FFFFFF;
  --color-border:      #DDDDDD;
  --color-dark:        #464C51;
  --color-text:        #333333;
  --color-muted:       #707070;
  --color-bg-light:    #FAFAFA;
  --color-error:       #D9534F;
  --color-success:     #5CB85C;

  --radius-card:   8px;
  --radius-btn:    6px;
  --radius-input:  6px;
  --shadow-card:       0 2px 6px rgba(0,0,0,0.08);
  --shadow-card-hover: 0 4px 16px rgba(88,124,132,0.15);

  --font-heading: 'Poppins', Arial, sans-serif;
  --font-body:    'Roboto',  Arial, sans-serif;

  --max-width:   1160px;
  --section-pad: 64px;
  --card-pad:    24px;
  --gap-cards:   20px;
}

/* --- Reset --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--font-body); color: var(--color-text); background: var(--color-section-bg); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img  { max-width: 100%; display: block; }
a    { color: var(--color-link); text-decoration: none; transition: color .2s; }
a:hover { color: var(--color-link-hover); }

/* --- Typography --- */
h1,h2,h3,h4,h5 { font-family: var(--font-heading); color: var(--color-primary); line-height: 1.25; font-weight: 600; }
h1 { font-size: clamp(28px,5vw,46px); }
h2 { font-size: clamp(22px,4vw,34px); }
h3 { font-size: clamp(18px,3vw,26px); }
h4 { font-size: clamp(16px,2.5vw,20px); }
p  { font-size: 16px; color: var(--color-muted); }
.lead { font-size: 18px; color: var(--color-dark); max-width: 640px; }

/* =============================================
   HEADER
   ============================================= */
.site-header {
  position: sticky; top: 0; z-index: 10000;
  background: var(--color-surface);
  border-bottom: 3px solid var(--color-accent);
  box-shadow: 0 2px 8px rgba(88,124,132,.1);
}
.header-inner {
  max-width: var(--max-width); margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px);
  display: flex; align-items: center; justify-content: space-between; height: 68px;
}
.header-inner { gap: 12px; }
.header-inner .main-nav { margin-left: auto; }
.header-actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.zk-language-switch {
  display: inline-flex; align-items: center; flex: 0 0 auto;
  padding: 3px; border: 1px solid var(--color-border); border-radius: 6px;
  background: var(--color-surface);
}
.zk-language-switch a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 34px; border-radius: 3px; text-decoration: none;
  font-size: 13px; font-weight: 600; line-height: 1; letter-spacing: 0;
  color: var(--color-muted);
}
.zk-language-switch a:hover { background: var(--color-section-bg); color: var(--color-primary); }
.zk-language-switch a[aria-current="true"] { color: #fff; background: var(--color-primary); }
.zk-language-switch a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
@media (max-width: 1100px) {
  .header-actions { margin-left: auto; }
  .header-inner .main-nav { display: none; }
  .header-inner .hamburger { display: flex; }
  .mobile-nav { max-height: calc(100dvh - 72px); overflow-y: auto; }
}
@media (min-width: 1101px) { .site-header .mobile-nav { display: none; } }

/* Logo */
.site-logo { display: flex; align-items: center; text-decoration: none; flex-shrink: 0; }
.site-logo .site-logo-img,
.site-header .site-logo-img {
  height: 44px !important;
  width: auto !important;
  max-width: 200px !important;
  max-height: 44px !important;
  object-fit: contain !important;
  display: block !important;
  transition: opacity .2s;
}
.site-logo:hover .site-logo-img { opacity: .85; }

/* Shared platform navigation uses native details so it also works without JS. */
.zk-platform-link,
.zk-account-menu > summary {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-height: 38px; padding: 7px 9px; border: 1px solid var(--color-border);
  border-radius: 6px; background: #fff; color: var(--color-primary);
  font-size: 13px; font-weight: 600; line-height: 1.2; white-space: nowrap;
  cursor: pointer; list-style: none;
}
.zk-account-menu > summary::-webkit-details-marker { display: none; }
.zk-platform-link svg,
.zk-account-menu > summary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.zk-platform-link:hover,
.zk-account-menu > summary:hover { background: var(--color-section-bg); }
.zk-platform-link:focus-visible,
.zk-account-menu > summary:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.zk-account-menu { position: relative; }
.zk-account-panel {
  position: absolute; top: calc(100% + 10px); right: 0; width: 248px;
  max-width: calc(100vw - 24px); padding: 8px; border: 1px solid var(--color-border);
  border-radius: 8px; background: #fff; box-shadow: 0 12px 30px rgba(36,59,65,.18);
}
.zk-account-panel a {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 11px 12px; border-radius: 5px; color: var(--color-primary);
  font-size: 14px; line-height: 1.35;
}
.zk-account-panel a:hover,
.zk-account-panel a:focus-visible { background: var(--color-section-bg); }
.zk-account-panel .zk-account-credits { margin-bottom: 5px; background: var(--color-section-bg); }
.zk-account-panel .zk-account-primary { background: var(--color-primary); color: #fff; }
.zk-account-panel .zk-account-primary:hover { background: #456d75; }
@media (max-width: 1360px) {
  .zk-platform-link > span,
  .zk-account-menu > summary > span { display: none; }
  .zk-platform-link,
  .zk-account-menu > summary { width: 36px; padding: 7px; }
}
@media (max-width: 480px) {
  .site-header .header-inner { position: relative; padding-left: 12px; padding-right: 12px; gap: 8px; }
  .site-header .header-actions { gap: 6px; }
  .site-header .zk-account-menu { position: static; }
  .site-header .zk-account-panel { right: 12px; }
  .site-header .site-logo-img { width: 96px !important; height: 36px !important; }
  .site-header .zk-language-switch a { width: 30px; }
}

/* Desktop Nav — WP generates ul > li > a */
.main-nav { display: flex; align-items: center; }
.main-nav .nav-list { list-style: none; display: flex; gap: 4px; align-items: center; margin: 0; padding: 0; }
.main-nav .nav-list li a {
  display: inline-flex; align-items: center;
  font-family: var(--font-body); font-size: 14px; color: var(--color-muted);
  padding: 8px 14px; border-radius: var(--radius-btn);
  transition: background .2s, color .2s; text-decoration: none; white-space: nowrap;
}
.main-nav .nav-list li a:hover {
  background: var(--color-section-bg);
  color: var(--color-primary);
}
.main-nav .nav-list li.current-menu-item > a,
.main-nav .nav-list li.current_page_item > a,
.main-nav .nav-list li.current-menu-ancestor > a {
  background: var(--color-section-bg);
  color: var(--color-primary);
  font-weight: 600;
  box-shadow: inset 0 -2px 0 var(--color-primary);
}

/* Hamburger */
.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 22px; height: 2px; background: var(--color-primary); border-radius: 2px; transition: all .25s; }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile Nav */
.mobile-nav { display: none; flex-direction: column; background: var(--color-surface); border-top: 1px solid var(--color-border); padding: 12px 16px 16px; gap: 2px; }
.mobile-nav.open { display: flex; }
.mobile-nav .nav-list { list-style: none; display: flex; flex-direction: column; gap: 2px; padding: 0; margin: 0; width: 100%; }
.mobile-nav .nav-list li a {
  display: block; font-size: 15px; color: var(--color-muted);
  padding: 12px 16px; border-radius: var(--radius-btn);
  text-decoration: none; transition: background .2s, color .2s; width: 100%;
}
.mobile-nav .nav-list li a:hover,
.mobile-nav .nav-list li.current-menu-item > a,
.mobile-nav .nav-list li.current_page_item > a {
  background: var(--color-section-bg); color: var(--color-primary); font-weight: 500;
}

/* =============================================
   CONTAINER & LAYOUT
   ============================================= */
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }

/* =============================================
   PAGE HERO (small — inner pages)
   ============================================= */
.page-hero-small {
  background: linear-gradient(135deg, var(--color-section-bg) 0%, #f4fafa 100%);
  padding: 48px 0 40px;
  border-bottom: 1px solid var(--color-border);
}
.page-hero-small h1 { margin: 8px 0 12px; }
.page-hero-small .lead { font-size: 16px; }

/* =============================================
   HOME HERO
   ============================================= */
.hero {
  background: linear-gradient(135deg, var(--color-section-bg) 0%, #f4fafa 100%);
  padding: 80px 0 72px;
}
.hero-inner {
  max-width: var(--max-width); margin: 0 auto; padding: 0 24px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.hero-label {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 500; color: var(--color-primary);
  background: rgba(163,204,192,.35); border: 1px solid var(--color-accent);
  border-radius: 20px; padding: 4px 12px; margin-bottom: 20px;
  letter-spacing: .05em; text-transform: uppercase;
}
.hero h1 { margin-bottom: 20px; font-weight: 700; }
.hero h1 span { color: var(--color-cta-hover); }
.hero .lead { margin-bottom: 32px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }

/* Dashboard mockup */
.hero-visual {
  background: var(--color-surface); border-radius: 12px;
  box-shadow: 0 8px 32px rgba(88,124,132,.12);
  border: 1px solid var(--color-border); overflow: hidden;
}
.mockup-header { background: var(--color-primary); padding: 12px 16px; display: flex; align-items: center; gap: 8px; }
.mockup-dot { width: 10px; height: 10px; border-radius: 50%; }
.mockup-title { font-family: var(--font-heading); font-size: 12px; color: rgba(255,255,255,.85); margin-left: 4px; }
.mockup-body { padding: 20px 16px; }
.mockup-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 16px; }
.mockup-kpi  { background: var(--color-section-bg); border-radius: 6px; padding: 10px; text-align: center; }
.mockup-kpi-val { font-family: var(--font-heading); font-size: 18px; font-weight: 700; color: var(--color-primary); display: block; }
.mockup-kpi-lbl { font-size: 10px; color: var(--color-muted); display: block; margin-top: 2px; }
.mockup-chart { background: var(--color-section-bg); border-radius: 6px; padding: 12px; height: 90px; display: flex; align-items: flex-end; gap: 6px; }
.mockup-bar { flex: 1; background: var(--color-accent); border-radius: 3px 3px 0 0; }
.mockup-row { display: flex; gap: 10px; margin-top: 10px; }
.mockup-pill { flex: 1; background: var(--color-section-bg); border-radius: 4px; height: 28px; }

/* =============================================
   TRUST BAR
   ============================================= */
.trust-bar { background: var(--color-surface); border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); padding: 24px 0; }
.trust-bar-inner { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 32px; flex-wrap: wrap; }
.trust-label { font-size: 12px; font-weight: 500; color: var(--color-muted); text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; }
.trust-logos { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.trust-logo  { font-family: var(--font-heading); font-size: 13px; font-weight: 600; color: var(--color-primary); background: var(--color-section-bg); padding: 6px 14px; border-radius: 4px; border: 1px solid var(--color-accent); }

/* =============================================
   SECTION HEADER
   ============================================= */
.section-header { text-align: center; margin-bottom: 48px; }
.section-tag    { display: inline-block; font-size: 11px; font-weight: 500; color: var(--color-primary); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 10px; opacity: .75; }
.section-header h2 { margin-bottom: 12px; }
.section-header p  { max-width: 560px; margin: 0 auto; }

/* =============================================
   FEATURES
   ============================================= */
.section-features { padding: var(--section-pad) 0; background: var(--color-surface); }
.cards-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: var(--gap-cards); }
.feature-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: var(--card-pad); box-shadow: var(--shadow-card); transition: box-shadow .25s, transform .25s; }
.feature-card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
.card-icon { width: 44px; height: 44px; background: var(--color-section-bg); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.card-icon svg { width: 22px; height: 22px; stroke: var(--color-primary); fill: none; stroke-width: 1.8; }
.feature-card h4 { margin-bottom: 8px; }
.feature-card p  { font-size: 14px; line-height: 1.6; }

/* =============================================
   WORKFLOW
   ============================================= */
.section-workflow { padding: var(--section-pad) 0; background: var(--color-section-bg); }
.workflow-steps { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 16px; }
.workflow-step  { background: var(--color-surface); border-radius: var(--radius-card); padding: 24px 20px; box-shadow: var(--shadow-card); text-align: center; }
.step-number    { width: 36px; height: 36px; background: var(--color-primary); color: #fff; border-radius: 50%; font-family: var(--font-heading); font-size: 14px; font-weight: 600; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.workflow-step h4 { margin-bottom: 8px; font-size: 16px; }
.workflow-step p  { font-size: 13px; }

/* CTA Band */
.cta-band { background: var(--color-primary); padding: 48px 0; }
.cta-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.cta-band h3 { color: #fff; font-size: 22px; margin-bottom: 6px; }
.cta-band p  { color: rgba(255,255,255,.75); font-size: 15px; }

/* =============================================
   SERVICES
   ============================================= */
.section-services { padding: var(--section-pad) 0; }
.services-grid    { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: var(--gap-cards); }
.service-card { background: var(--color-surface); border: 1px solid var(--color-border); border-left: 3px solid var(--color-accent); border-radius: var(--radius-card); padding: var(--card-pad); box-shadow: var(--shadow-card); transition: box-shadow .25s, border-left-color .25s; }
.service-card:hover { box-shadow: var(--shadow-card-hover); border-left-color: var(--color-primary); }
.service-card .card-icon { width: 40px; height: 40px; margin-bottom: 14px; }
.service-card h3 { font-size: 18px; margin-bottom: 8px; }
.service-card p  { font-size: 14px; margin-bottom: 16px; line-height: 1.65; }
.service-tags    { display: flex; flex-wrap: wrap; gap: 6px; }
.tag { font-size: 11px; font-weight: 500; color: var(--color-primary); background: var(--color-section-bg); border: 1px solid var(--color-accent); border-radius: 20px; padding: 3px 10px; }
.section-cta-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--color-border); }
.section-cta-row p { font-size: 15px; color: var(--color-dark); }

/* =============================================
   ANALYTICS
   ============================================= */
.section-analytics { padding: var(--section-pad) 0; background: var(--color-bg-light); }
.analytics-layout  { display: grid; grid-template-columns: 240px 1fr; gap: 24px; align-items: start; }
.filters-panel { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 20px; box-shadow: var(--shadow-card); }
.filters-panel h4 { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; opacity: .7; margin-bottom: 14px; }
.filter-group  { margin-bottom: 18px; }
.filter-label  { font-size: 12px; font-weight: 500; color: var(--color-dark); display: block; margin-bottom: 6px; }
.filter-select { width: 100%; padding: 8px 10px; border: 1px solid var(--color-border); border-radius: var(--radius-input); font-family: var(--font-body); font-size: 13px; color: var(--color-text); background: var(--color-surface); outline: none; appearance: none; cursor: pointer; transition: border-color .2s; }
.filter-select:focus { border-color: var(--color-accent); }
.filter-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-muted); cursor: pointer; margin-bottom: 6px; }
.filter-checkbox input[type="checkbox"] { accent-color: var(--color-primary); width: 14px; height: 14px; }
.analytics-main { display: flex; flex-direction: column; gap: 20px; }

/* KPI */
.kpi-row { display: grid; grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); gap: 14px; }
.kpi-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 18px 20px; box-shadow: var(--shadow-card); }
.kpi-val  { font-family: var(--font-heading); font-size: 28px; font-weight: 700; color: var(--color-primary); display: block; line-height: 1; margin-bottom: 4px; }
.kpi-lbl  { font-size: 12px; color: var(--color-muted); display: block; }
.kpi-delta { font-size: 12px; font-weight: 500; margin-top: 6px; display: block; }
.kpi-delta.up   { color: var(--color-success); }
.kpi-delta.down { color: var(--color-error); }

/* Chart */
.chart-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: var(--card-pad); box-shadow: var(--shadow-card); }
.chart-card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.chart-card h4 { font-size: 15px; }
.chart-placeholder { height: 180px; background: var(--color-section-bg); border-radius: 6px; display: flex; align-items: flex-end; padding: 16px; gap: 8px; }
.chart-bar-wrap  { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.chart-bar-fill  { width: 100%; background: var(--color-accent); border-radius: 3px 3px 0 0; height: 0; transition: height .6s cubic-bezier(.22,1,.36,1); }
.chart-bar-label { font-size: 10px; color: var(--color-muted); }

/* Table */
.data-table-wrap { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); overflow: hidden; }
.table-header    { padding: 16px 20px; border-bottom: 1px solid var(--color-border); display: flex; align-items: center; justify-content: space-between; }
.table-header h4 { font-size: 14px; }
.table-scroll    { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th { background: var(--color-section-bg); color: var(--color-primary); font-family: var(--font-heading); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; padding: 10px 16px; text-align: left; border-bottom: 1px solid var(--color-border); white-space: nowrap; }
.data-table td { padding: 10px 16px; color: var(--color-dark); border-bottom: 1px solid #f0f0f0; }
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:hover td { background: #fafbfb; }
.data-table code { font-size: 12px; background: var(--color-section-bg); padding: 2px 6px; border-radius: 3px; color: var(--color-primary); }
.badge      { display: inline-block; font-size: 11px; font-weight: 500; padding: 2px 8px; border-radius: 20px; }
.badge-ok   { background: #e8f5e9; color: #2e7d32; }
.badge-warn { background: #fff3e0; color: #e65100; }
.badge-info { background: var(--color-section-bg); color: var(--color-primary); }

/* =============================================
   TEAM
   ============================================= */
.section-team { padding: var(--section-pad) 0; }
.team-grid    { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: var(--gap-cards); }
.team-card    { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 28px 20px; box-shadow: var(--shadow-card); text-align: center; transition: box-shadow .25s, transform .25s; }
.team-card:hover { box-shadow: var(--shadow-card-hover); transform: translateY(-2px); }
.team-avatar  { width: 72px; height: 72px; border-radius: 50%; background: var(--color-section-bg); border: 2px solid var(--color-accent); display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-family: var(--font-heading); font-size: 22px; font-weight: 600; color: var(--color-primary); }
.team-card h4  { margin-bottom: 4px; font-size: 16px; }
.team-role     { font-size: 12px; color: var(--color-cta-hover); font-weight: 500; margin-bottom: 10px; display: block; }
.team-card p   { font-size: 13px; line-height: 1.6; }
.tech-section  { padding: 48px 0; background: var(--color-section-bg); }
.tech-logos    { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.tech-chip     { font-family: var(--font-heading); font-size: 13px; font-weight: 600; color: var(--color-primary); background: var(--color-surface); border: 1px solid var(--color-accent); border-radius: 6px; padding: 8px 18px; box-shadow: var(--shadow-card); }

/* =============================================
   CONTACT
   ============================================= */
.section-contact   { padding: var(--section-pad) 0; }
.contact-layout    { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.contact-info h3   { margin-bottom: 16px; }
.contact-info .lead { font-size: 15px; margin-bottom: 28px; }
.contact-item      { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.contact-item-icon { width: 38px; height: 38px; background: var(--color-section-bg); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-item-icon svg { width: 18px; height: 18px; stroke: var(--color-primary); fill: none; stroke-width: 1.8; }
.contact-item-text { font-size: 14px; color: var(--color-dark); }
.contact-item-text strong { display: block; font-weight: 500; color: var(--color-primary); font-size: 13px; margin-bottom: 2px; }
.contact-item-text a { color: var(--color-dark); }
.contact-item-text a:hover { color: var(--color-primary); }
.contact-form-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 32px; box-shadow: var(--shadow-card); }
.contact-form-card h3 { margin-bottom: 24px; font-size: 20px; }

/* Form elements */
.form-group   { margin-bottom: 18px; }
.form-label   { display: block; font-size: 13px; font-weight: 500; color: var(--color-dark); margin-bottom: 6px; }
.form-label .required { color: var(--color-error); margin-left: 2px; }
.form-input, .form-select, .form-textarea {
  width: 100%; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: var(--radius-input);
  font-family: var(--font-body); font-size: 14px; color: var(--color-text); background: var(--color-surface);
  outline: none; transition: border-color .2s, box-shadow .2s; appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--color-accent); box-shadow: 0 0 0 3px rgba(163,204,192,.2); }
.form-textarea { min-height: 110px; resize: vertical; }
.form-row      { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-success  { background: #e8f5e9; border: 1px solid #a5d6a7; color: #2e7d32; border-radius: var(--radius-card); padding: 14px 16px; font-size: 14px; margin-bottom: 16px; }
.form-error    { background: #ffebee; border: 1px solid #ef9a9a; color: #c62828; border-radius: var(--radius-card); padding: 14px 16px; font-size: 14px; margin-bottom: 16px; }

/* =============================================
   BUTTONS
   ============================================= */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-body); font-size: 14px; font-weight: 500;
  padding: 10px 22px; border-radius: var(--radius-btn); border: none; cursor: pointer;
  transition: background .2s, color .2s, box-shadow .2s, transform .15s;
  text-decoration: none; white-space: nowrap;
}
.btn:active { transform: scale(.98); }
.btn svg    { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 2; flex-shrink: 0; }
.btn-primary { background: var(--color-cta); color: var(--color-dark); }
.btn-primary:hover { background: var(--color-cta-hover); color: var(--color-surface); box-shadow: 0 4px 12px rgba(121,185,207,.3); }
.btn-outline { background: transparent; color: var(--color-primary); border: 1px solid var(--color-primary); }
.btn-outline:hover { background: var(--color-section-bg); color: var(--color-primary); }
.btn-full   { width: 100%; }
.btn-sm     { font-size: 12px; padding: 6px 14px; }

/* =============================================
   FOOTER
   ============================================= */
.site-footer { background: var(--color-primary); color: rgba(255,255,255,.7); padding: 40px 0 24px; }
.footer-inner { max-width: var(--max-width); margin: 0 auto; padding: 0 24px; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 40px; margin-bottom: 32px; }

/* Footer logo */
.footer-logo-link { display: inline-block; margin-bottom: 14px; }
.footer-logo-img  {
  height: 40px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  /* invert to white on the dark-primary background */
  filter: brightness(0) invert(1);
  opacity: .9;
  transition: opacity .2s;
}
.footer-logo-link:hover .footer-logo-img { opacity: 1; }
.footer-brand p  { font-size: 13px; color: rgba(255,255,255,.6); line-height: 1.65; }
.footer-col h5   { color: rgba(255,255,255,.5); font-family: var(--font-heading); font-size: 11px; font-weight: 500; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .1em; }
.footer-col ul   { list-style: none; }
.footer-col ul li { margin-bottom: 8px; }
.footer-col ul li a { font-size: 13px; color: rgba(255,255,255,.65); transition: color .2s; }
.footer-col ul li a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.15); padding-top: 20px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: 12px; color: rgba(255,255,255,.45); }

/* WordPress default styles reset */
.wp-block-image { margin: 0; }
img.wp-post-image { max-width: 100%; height: auto; }

/* Page content — no gap under header, no title, responsive side margins */
.page-content-wrap {
  margin: 0;
  /* clamp: min 12px, plynule rastie, max 64px — prispôsobuje sa šírke obrazovky */
  padding: 0 clamp(12px, 4vw, 64px);
  min-height: 60vh;
  box-sizing: border-box;
}
.page-content-wrap .entry-content {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Hide WP page title globally (shown only where we explicitly add it) */
.page-title,
.entry-title,
h1.entry-title,
h1.page-title {
  display: none !important;
}

/* Remove default WP body top padding (admin bar offset when logged out) */
body:not(.admin-bar) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1024px) {
  .analytics-layout { grid-template-columns: 1fr; }
  .filters-panel { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 16px; align-items: start; }
  .filters-panel h4 { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  :root { --section-pad: 40px; }
  .main-nav { display: none; }
  .hamburger { display: flex; }
  .hero-inner { grid-template-columns: 1fr; gap: 32px; }
  .hero-visual { display: none; }
  .hero { padding: 48px 0; }
  .contact-layout { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 28px; }
  .site-logo-img { height: 36px; }
  .form-row   { grid-template-columns: 1fr; }
  .trust-bar-inner { flex-direction: column; align-items: flex-start; gap: 14px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .cta-band-inner { flex-direction: column; align-items: flex-start; }
  .section-cta-row { flex-direction: column; align-items: flex-start; }
  .kpi-row { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
  .hero-inner { padding: 0 16px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .contact-form-card { padding: 20px 16px; }
  .kpi-row { grid-template-columns: 1fr 1fr; }
}

/* =============================================
   ZK — PAGE COMPONENTS (front-page sections)
   ============================================= */

.zk-page-wrapper { display: block; }

/* Sections */
.zk-section       { padding: var(--section-pad) 0; }
.zk-section--white { background: var(--color-surface); }
.zk-section--green {
  background: var(--color-section-bg);
  /* jemná textúra — bodkovaný vzor v brand farbe */
  background-image: radial-gradient(circle, rgba(88,124,132,.07) 1px, transparent 1px);
  background-size: 24px 24px;
}
.zk-container     { max-width: var(--max-width); margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }

/* Section headers */
.zk-section-header {
  font-family: var(--font-heading);
  font-size: clamp(20px, 3vw, 28px);
  color: var(--color-primary);
  font-weight: 700;
  margin-bottom: 24px;
  line-height: 1.3;
  /* brand accent linka pod nadpisom */
  padding-bottom: 14px;
  border-bottom: 2px solid var(--color-accent);
  display: inline-block;
}
.zk-section-header--centered {
  text-align: center;
  display: block;
  border-bottom: none;
  position: relative;
  padding-bottom: 20px;
}
.zk-section-header--centered::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: var(--color-accent);
  border-radius: 2px;
}

/* Intro grid */
.zk-intro-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: start;
}
.zk-intro-text { font-size: 16px; line-height: 1.75; color: var(--color-dark); }
.zk-intro-text p { font-size: 16px; color: var(--color-dark); margin-bottom: 16px; }
.zk-intro-text p:last-child { margin-bottom: 0; }

/* Intro right column: logo + highlights stacked */
.zk-intro-right { display: flex; flex-direction: column; gap: 20px; }

/* Big logo in intro */
.zk-intro-logo-wrap {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  padding: 28px 24px;
  text-align: center;
  box-shadow: var(--shadow-card);
}
.zk-intro-logo-img {
  width: 100%;
  max-width: 340px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  display: block;
}

.zk-intro-highlights {
  background: var(--color-surface);
  border: 1px solid var(--color-accent);
  border-radius: var(--radius-card);
  padding: 24px;
  box-shadow: var(--shadow-card);
}
.zk-intro-highlights h3 { font-size: 15px; margin-bottom: 14px; color: var(--color-primary); }
.zk-intro-highlights ul  { list-style: none; padding: 0; margin: 0; }
.zk-intro-highlights ul li {
  position: relative;
  padding: 9px 0 9px 20px;
  border-bottom: 1px solid rgba(163,204,192,.35);
  font-size: 14px;
  color: var(--color-dark);
  line-height: 1.5;
}
.zk-intro-highlights ul li:last-child { border-bottom: none; }
.zk-intro-highlights ul li::before {
  content: '→';
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-size: 12px;
  top: 10px;
}

/* Grids */
.zk-grid { display: grid; gap: var(--gap-cards); }
.zk-grid--4-cols { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.zk-grid--2-cols { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }

/* Cards */
.zk-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  border-radius: var(--radius-card);
  padding: var(--card-pad);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  transition: box-shadow .25s, border-top-color .25s;
}
.zk-card:hover { box-shadow: var(--shadow-card-hover); border-top-color: var(--color-primary); }
.zk-card--flat { background: transparent; border: none; box-shadow: none; padding: 0; }
.zk-card--flat:hover { box-shadow: none; }
.zk-card h3 { font-family: var(--font-heading); font-size: 15px; font-weight: 600; color: var(--color-primary); margin-bottom: 12px; line-height: 1.4; }
.zk-card ul  { list-style: none; padding: 0; margin: 0 0 16px; flex: 1; }
.zk-card ul li {
  position: relative;
  padding: 7px 0 7px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  color: var(--color-muted);
  line-height: 1.5;
}
.zk-card ul li:last-child { border-bottom: none; }
.zk-card ul li::before { content: '·'; position: absolute; left: 4px; color: var(--color-accent); font-size: 16px; line-height: 1.3; font-weight: bold; }
.zk-price { font-size: 14px; color: var(--color-muted); min-height: 22px; margin-bottom: 12px; }

/* CTA button */
.zk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: var(--radius-btn);
  background: var(--color-cta);
  color: var(--color-dark);
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background .2s, color .2s, box-shadow .2s;
  align-self: flex-start;
  white-space: nowrap;
}
.zk-btn:hover { background: var(--color-cta-hover); color: var(--color-surface); box-shadow: 0 4px 12px rgba(121,185,207,.3); }

/* Logo grid — grayscale default, full color + scale on hover */
.zk-logo-grid { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 8px; }
.zk-logo-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  transition: box-shadow .25s, border-color .25s;
}
.zk-logo-item:hover {
  box-shadow: var(--shadow-card-hover);
  border-color: var(--color-accent);
}
.zk-logo-item img {
  height: 40px;
  width: auto;
  max-width: 110px;
  object-fit: contain;
  display: block;
  /* čiernobiele v pokoji */
  filter: grayscale(100%) opacity(0.55);
  transition: filter .3s ease, transform .3s ease;
}
.zk-logo-item:hover img {
  /* farebné + zväčšené po nabehnutí */
  filter: grayscale(0%) opacity(1);
  transform: scale(1.15);
}

/* Sub-section */
.zk-sub-section { }
.zk-sub-section h2 { margin-bottom: 24px; }

/* Team grid */
.zk-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.zk-team-grid > div {
  padding: 12px 12px 12px 0;
  border-bottom: 1px solid rgba(163,204,192,.3);
}
.zk-team-grid > div:nth-last-child(-n+2) { border-bottom: none; }
.zk-team-grid h3 { font-family: var(--font-heading); font-size: 13px; font-weight: 600; color: var(--color-primary); margin-bottom: 3px; line-height: 1.4; }
.zk-team-grid p  { font-size: 12px; color: var(--color-muted); margin: 0; }
.zk-team-consultant h3 { color: var(--color-dark); font-style: italic; }

/* Contact info */
.zk-contact-info { font-size: 14px; color: var(--color-dark); }
.zk-contact-row  { display: flex; gap: 8px; margin-bottom: 8px; align-items: baseline; flex-wrap: wrap; }
.zk-contact-row strong { color: var(--color-primary); font-weight: 500; min-width: 80px; flex-shrink: 0; }
.zk-contact-row a { color: var(--color-link); }
.zk-contact-row a:hover { color: var(--color-link-hover); }
.zk-contact-info h3 { font-size: 15px; margin: 20px 0 10px; padding-top: 20px; border-top: 1px solid var(--color-border); color: var(--color-primary); }
.zk-billing { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); padding: 14px 16px; margin-bottom: 4px; }

/* Certificate */
.zk-certificate { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--color-border); font-size: 13px; color: var(--color-muted); }
.zk-certificate h4 { font-size: 13px; font-weight: 600; color: var(--color-primary); margin-bottom: 8px; }
.zk-certificate img { max-width: 160px; height: auto; margin: 8px 0; border-radius: 4px; }
.zk-certificate p   { font-size: 13px; color: var(--color-muted); line-height: 1.6; margin: 8px 0; }
.zk-certificate span { display: block; font-size: 12px; color: var(--color-muted); margin-top: 4px; }
.zk-skcris-logo { max-width: 200px !important; margin-top: 10px; }

/* ZK Responsive */
@media (max-width: 900px) {
  .zk-intro-grid  { grid-template-columns: 1fr; gap: 28px; }
  .zk-intro-right { flex-direction: row; flex-wrap: wrap; gap: 16px; }
  .zk-intro-right > * { flex: 1 1 280px; }
  .zk-team-grid   { grid-template-columns: 1fr; }
  .zk-team-grid > div { border-bottom: 1px solid rgba(163,204,192,.3); }
  .zk-team-grid > div:last-child { border-bottom: none; }
}
@media (max-width: 600px) {
  .zk-intro-right { flex-direction: column; }
  .zk-intro-logo-img { max-width: 260px; }
}
@media (max-width: 600px) {
  .zk-grid--4-cols { grid-template-columns: 1fr; }
  .zk-grid--2-cols { grid-template-columns: 1fr; }
  .zk-logo-grid    { gap: 14px; }
  .zk-logo-item img { height: 36px; }
}

/* =============================================
   WOOCOMMERCE - clean theme integration v3
   ============================================= */

.woo-page-wrap{padding:clamp(28px,4vw,52px) 0 80px;min-height:60vh;background:linear-gradient(180deg,var(--color-section-bg) 0%,#f5f9f9 100%)}
.woo-page-wrap>.container{width:min(100%,1240px);max-width:1240px;padding-inline:clamp(16px,4vw,40px)}
.woocommerce,.woocommerce-page,.wc-block-cart,.wc-block-checkout{--woo-surface:#fff;--woo-soft:#f6faf9;--woo-border:rgba(88,124,132,.18);--woo-border-strong:rgba(88,124,132,.34);--woo-shadow:0 14px 38px rgba(50,77,83,.10);--woo-shadow-soft:0 6px 18px rgba(50,77,83,.08);--woo-primary:var(--color-primary);--woo-accent:var(--color-accent);--woo-gold:#d7b56d;--woo-text:var(--color-dark);--woo-muted:#68767a;color:var(--woo-text)}
.woocommerce *,.woocommerce *:before,.woocommerce *:after{box-sizing:border-box}.woocommerce img{max-width:100%;height:auto}.woocommerce a{color:var(--woo-primary);text-decoration:none}.woocommerce a:hover{color:#3f626a}
.woocommerce-products-header,.woocommerce .woocommerce-breadcrumb,.woocommerce .woocommerce-notices-wrapper,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering,.woocommerce div.product,.woocommerce ul.products,.woocommerce .cart-collaterals,.woocommerce form.checkout,.woocommerce .woocommerce-cart-form,.woocommerce .woocommerce-MyAccount-content,.woocommerce .woocommerce-MyAccount-navigation,.woocommerce .woocommerce-order,.woocommerce .woocommerce-customer-details,.woocommerce .woocommerce-order-details,.woocommerce .woocommerce-Addresses,.woocommerce .u-columns{max-width:1160px;margin-left:auto;margin-right:auto}
.woocommerce-products-header{margin-bottom:22px}.woocommerce-products-header__title,.woocommerce .page-title{color:var(--woo-primary);font-size:clamp(26px,3vw,38px);margin:0 0 10px}.woocommerce .woocommerce-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:24px;color:var(--woo-muted);font-size:13px}.woocommerce .woocommerce-breadcrumb a{font-weight:600}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{float:none;width:auto;margin-bottom:18px}.woocommerce .woocommerce-result-count{display:inline-flex;align-items:center;min-height:44px;color:var(--woo-muted);font-size:14px}.woocommerce .woocommerce-ordering{display:inline-flex;justify-content:flex-end;margin-left:16px}.woocommerce .woocommerce-ordering select,.woocommerce select,.woocommerce-page select{min-height:44px;border:1px solid var(--woo-border-strong);border-radius:8px;padding:9px 40px 9px 12px;background:var(--woo-surface);color:var(--woo-text);font-family:var(--font-body);font-size:14px}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.woocommerce-notice{position:relative;display:flex;align-items:flex-start;gap:12px;width:100%;margin:0 auto 20px!important;padding:16px 18px 16px 48px!important;list-style:none;border:1px solid var(--woo-border);border-left:4px solid var(--woo-primary);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft);color:var(--woo-text);font-size:14px}.woocommerce-error{border-left-color:var(--color-error)}.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before,.woocommerce-noreviews:before,.woocommerce-notice:before{position:absolute;left:18px;top:16px;color:var(--woo-primary);font-weight:700}.woocommerce-message:before{content:'✓'}.woocommerce-info:before,.woocommerce-notice:before{content:'i'}.woocommerce-error:before{content:'!';color:var(--color-error)}.woocommerce-message .button,.woocommerce-info .button{margin-left:auto!important}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt,.woocommerce .wc-block-components-button,.woocommerce-page .wc-block-components-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;min-width:148px;padding:12px 22px!important;border:1px solid transparent!important;border-radius:8px!important;background:var(--woo-primary)!important;color:#fff!important;font-family:var(--font-body)!important;font-size:15px!important;font-weight:700!important;line-height:1.2!important;text-align:center!important;text-decoration:none!important;cursor:pointer;box-shadow:0 8px 20px rgba(88,124,132,.24)!important;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s!important}.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.woocommerce #respond input#submit.alt:hover,.woocommerce .wc-block-components-button:hover,.woocommerce-page .wc-block-components-button:hover{background:#456d75!important;color:#fff!important;box-shadow:0 12px 26px rgba(88,124,132,.30)!important;transform:translateY(-1px)}.woocommerce a.button:focus-visible,.woocommerce button.button:focus-visible,.woocommerce input.button:focus-visible,.woocommerce #respond input#submit:focus-visible,.woocommerce .wc-block-components-button:focus-visible{outline:3px solid rgba(144,207,224,.45)!important;outline-offset:2px}.woocommerce a.button.loading,.woocommerce button.button.loading,.woocommerce input.button.loading{opacity:.78}.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce input.button.disabled,.woocommerce input.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.woocommerce .button.wc-forward:not(.checkout),.woocommerce .actions .button,.woocommerce .coupon .button{background:var(--woo-surface)!important;color:var(--woo-primary)!important;border-color:var(--woo-border-strong)!important;box-shadow:none!important}.woocommerce .button.wc-forward:not(.checkout):hover,.woocommerce .actions .button:hover,.woocommerce .coupon .button:hover{background:var(--woo-soft)!important;color:#3f626a!important}.woocommerce form .form-row{margin:0 0 16px;padding:0}.woocommerce form .form-row label{display:block;margin-bottom:6px;color:var(--woo-primary);font-size:13px;font-weight:700}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce input.input-text,.woocommerce textarea,.woocommerce .select2-container .select2-selection--single{width:100%;min-height:46px;border:1px solid var(--woo-border-strong)!important;border-radius:8px!important;background:var(--woo-surface)!important;color:var(--woo-text)!important;font-family:var(--font-body)!important;font-size:15px!important;padding:11px 13px!important;box-shadow:none!important}.woocommerce form .form-row textarea{min-height:120px;resize:vertical}.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus,.woocommerce form .form-row select:focus,.woocommerce input.input-text:focus,.woocommerce textarea:focus{border-color:var(--woo-primary)!important;outline:none!important;box-shadow:0 0 0 3px rgba(88,124,132,.14)!important}.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:22px;color:var(--woo-text)}.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:44px}
.woocommerce ul.products,.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;width:100%;padding:0!important;margin:16px auto 0!important;list-style:none!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{position:relative;display:flex!important;float:none!important;clear:none!important;flex-direction:column;width:auto!important;min-width:0;margin:0!important;padding:0!important;overflow:hidden;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft);text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}.woocommerce ul.products li.product:hover{border-color:var(--woo-border-strong);box-shadow:var(--woo-shadow);transform:translateY(-2px)}.woocommerce ul.products li.product a.woocommerce-loop-product__link{display:flex;flex:1 1 auto;flex-direction:column;color:inherit}.woocommerce ul.products li.product img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--woo-soft);border-bottom:1px solid var(--woo-border);margin:0!important}.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product h2,.woocommerce ul.products li.product h3{min-height:48px;margin:0;padding:16px 18px 6px!important;color:var(--woo-primary);font-family:var(--font-heading);font-size:16px!important;font-weight:700;line-height:1.35}.woocommerce ul.products li.product .price{display:block;margin:auto 0 0!important;padding:4px 18px 16px!important;color:var(--woo-primary)!important;font-family:var(--font-heading);font-size:18px!important;font-weight:800;line-height:1.35}.woocommerce ul.products li.product .price del{color:var(--woo-muted);opacity:.65;margin-right:6px}.woocommerce ul.products li.product .price ins{text-decoration:none}.woocommerce ul.products li.product .star-rating{margin:0 18px 8px}.woocommerce ul.products li.product .button{align-self:stretch;min-width:0;margin:0 18px 18px!important;box-shadow:none!important}.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{position:absolute;z-index:2;top:12px;left:12px;right:auto;display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:30px;padding:6px 10px;border-radius:999px;background:var(--woo-gold);color:#27393d;font-family:var(--font-heading);font-size:12px;font-weight:800;line-height:1;box-shadow:0 8px 18px rgba(86,70,31,.18)}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(28px,4vw,48px);align-items:start;width:100%;padding:0;margin-top:6px}.woocommerce div.product:before,.woocommerce div.product:after{display:none!important}.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary,.woocommerce div.product .summary.entry-summary{float:none!important;clear:none!important;width:100%!important;max-width:none!important;min-width:0}.woocommerce div.product .woocommerce-product-gallery{position:relative;overflow:hidden;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow)}.woocommerce div.product .woocommerce-product-gallery__wrapper{margin:0}.woocommerce div.product .woocommerce-product-gallery__image,.woocommerce div.product .woocommerce-product-gallery__image a{display:block;background:#fff}.woocommerce div.product .woocommerce-product-gallery__image img{display:block;width:100%;min-height:360px;max-height:640px;object-fit:contain;padding:clamp(12px,2vw,22px);background:#fff}.woocommerce div.product .woocommerce-product-gallery__trigger{position:absolute;z-index:3;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;overflow:hidden;border:1px solid var(--woo-border);border-radius:999px;background:rgba(255,255,255,.92);color:transparent;box-shadow:var(--woo-shadow-soft)}.woocommerce div.product .woocommerce-product-gallery__trigger:before{content:'+';color:var(--woo-primary);font-size:22px;font-weight:700;line-height:1}.woocommerce div.product .flex-control-nav,.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px;margin:0;border-top:1px solid var(--woo-border);background:var(--woo-soft);list-style:none}.woocommerce div.product .flex-control-nav li,.woocommerce div.product .flex-control-thumbs li{width:auto!important;margin:0!important}.woocommerce div.product .flex-control-nav img,.woocommerce div.product .flex-control-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;border:2px solid transparent;border-radius:6px;cursor:pointer;opacity:.72;transition:border-color .18s,opacity .18s}.woocommerce div.product .flex-control-nav img.flex-active,.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-nav img:hover,.woocommerce div.product .flex-control-thumbs img:hover{border-color:var(--woo-primary);opacity:1}.woocommerce div.product .summary.entry-summary{position:relative;padding:clamp(24px,3vw,34px);border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow)}.woocommerce div.product .product_title{margin:0 0 14px;color:var(--woo-primary);font-family:var(--font-heading);font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.18}.woocommerce div.product .woocommerce-product-rating{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 18px;color:var(--woo-muted);font-size:14px}.woocommerce div.product p.price,.woocommerce div.product span.price{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:baseline;margin:0 0 22px;padding:18px 20px;border:1px solid rgba(215,181,109,.42);border-radius:8px;background:linear-gradient(135deg,rgba(215,181,109,.16),rgba(163,204,192,.16));color:var(--woo-primary)}.woocommerce div.product p.price .woocommerce-Price-amount,.woocommerce div.product span.price .woocommerce-Price-amount{color:var(--woo-primary);font-family:var(--font-heading);font-size:clamp(24px,2.5vw,32px);font-weight:800}.woocommerce div.product p.price del,.woocommerce div.product span.price del{color:var(--woo-muted);opacity:.65}.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{text-decoration:none}.woocommerce div.product .woocommerce-product-details__short-description{margin:0 0 22px;padding-bottom:20px;border-bottom:1px solid var(--woo-border)}.woocommerce div.product .woocommerce-product-details__short-description p,.woocommerce div.product .summary p{color:var(--woo-text);font-size:15px;line-height:1.75}.woocommerce div.product .woocommerce-product-details__short-description ul{display:grid;gap:8px;padding:0;margin:12px 0 0;list-style:none}.woocommerce div.product .woocommerce-product-details__short-description li{position:relative;padding-left:26px;color:var(--woo-text);font-size:14px;line-height:1.55}.woocommerce div.product .woocommerce-product-details__short-description li:before{content:'✓';position:absolute;left:0;top:0;color:var(--woo-primary);font-weight:800}
.woocommerce div.product form.cart{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:stretch;width:100%;margin:0 0 18px}.woocommerce div.product form.cart:before,.woocommerce div.product form.cart:after{display:none!important}.woocommerce div.product form.cart table.variations,.woocommerce div.product form.cart .single_variation_wrap,.woocommerce div.product form.cart .woocommerce-variation,.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{grid-column:1/-1;width:100%}.woocommerce div.product form.cart table.variations{margin:0;border:0;border-collapse:collapse}.woocommerce div.product form.cart table.variations tbody,.woocommerce div.product form.cart table.variations tr,.woocommerce div.product form.cart table.variations th,.woocommerce div.product form.cart table.variations td{display:block;width:100%;padding:0;border:0;text-align:left}.woocommerce div.product form.cart table.variations tr{margin-bottom:12px}.woocommerce div.product form.cart table.variations label{display:block;margin-bottom:6px;color:var(--woo-primary);font-size:13px;font-weight:800}.woocommerce div.product form.cart table.variations select{width:100%}.woocommerce div.product form.cart table.variations .reset_variations{display:inline-block;margin-top:8px;font-size:12px;font-weight:600}.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px}.woocommerce div.product form.cart div.quantity,.woocommerce .quantity{display:flex;align-items:stretch}.woocommerce div.product form.cart .qty,.woocommerce .quantity .qty{width:82px;min-height:52px;border:1px solid var(--woo-border-strong);border-radius:8px;background:var(--woo-surface);color:var(--woo-primary);font-size:18px;font-weight:800;text-align:center}.woocommerce div.product form.cart .single_add_to_cart_button{width:100%;min-height:52px;min-width:0;margin:0!important}.woocommerce div.product .stock{margin:0 0 12px;color:#2f7d55;font-size:14px;font-weight:700}.woocommerce div.product .stock.out-of-stock{color:var(--color-error)}
.zk-trust-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;margin:2px 0 0;padding:12px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-soft)}.zk-trust-item{display:inline-flex;gap:7px;align-items:center;min-width:0;color:var(--woo-muted);font-size:12px;font-weight:600;line-height:1.35}.zk-trust-item svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:var(--woo-primary);stroke-width:2}.woocommerce div.product .product_meta{display:grid;gap:6px;margin-top:18px;padding-top:18px;border-top:1px solid var(--woo-border);color:var(--woo-muted);font-size:13px}.woocommerce div.product .product_meta>span{display:block}
.woocommerce div.product .woocommerce-tabs,.woocommerce .related.products,.woocommerce .up-sells.products{grid-column:1/-1;width:100%;min-width:0;position:relative;z-index:2}.woocommerce div.product .woocommerce-tabs{margin-top:10px;overflow:hidden;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft)}.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:0;padding:0 18px;margin:0;border-bottom:1px solid var(--woo-border);background:var(--woo-soft);list-style:none}.woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce div.product .woocommerce-tabs ul.tabs:after,.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;background:transparent!important}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:15px 18px;border-bottom:3px solid transparent;color:var(--woo-muted);font-size:14px;font-weight:800}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{border-bottom-color:var(--woo-primary);color:var(--woo-primary)}.woocommerce div.product .woocommerce-tabs .panel{margin:0!important;padding:clamp(24px,3vw,34px)!important;background:var(--woo-surface)!important;color:var(--woo-text)}.woocommerce div.product .woocommerce-tabs .panel h2:first-child{display:none}.woocommerce div.product .woocommerce-tabs .panel p,.woocommerce div.product .woocommerce-tabs .panel li{color:var(--woo-text);font-size:15px;line-height:1.75}.woocommerce .related.products,.woocommerce .up-sells.products{margin-top:34px}.woocommerce .related.products>h2,.woocommerce .up-sells.products>h2{margin:0 0 18px;padding-bottom:12px;border-bottom:2px solid var(--woo-accent);color:var(--woo-primary);font-family:var(--font-heading);font-size:22px;font-weight:800}.woocommerce .star-rating{position:relative;display:inline-block;width:5.4em;height:1.1em;overflow:hidden;color:#f0a500;font-size:14px;line-height:1}.woocommerce .star-rating:before{content:'★★★★★';color:#d6e0e0}.woocommerce .star-rating span{position:absolute;top:0;left:0;height:100%;overflow:hidden;padding-top:1.3em}.woocommerce .star-rating span:before{content:'★★★★★';position:absolute;top:0;left:0;color:#f0a500}.woocommerce p.stars a{color:#f0a500}
.woocommerce table.shop_table,.woocommerce table.shop_table_responsive{width:100%;border:1px solid var(--woo-border);border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft)}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:15px 16px;border:0;border-bottom:1px solid var(--woo-border);color:var(--woo-text);text-align:left;vertical-align:middle}.woocommerce table.shop_table th{background:var(--woo-soft);color:var(--woo-primary);font-family:var(--font-heading);font-size:13px;font-weight:800}.woocommerce table.shop_table tr:last-child td{border-bottom:0}.woocommerce table.shop_table td.product-thumbnail{width:92px}.woocommerce table.shop_table td.product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:6px;border:1px solid var(--woo-border)}.woocommerce table.shop_table td.product-name a{font-weight:800}.woocommerce table.shop_table .product-remove a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:rgba(217,83,79,.08);color:var(--color-error)!important;font-size:22px;line-height:1}.woocommerce table.shop_table .actions{background:var(--woo-soft)}.woocommerce table.shop_table .actions .coupon{display:flex;float:none;gap:10px;align-items:center;max-width:520px}.woocommerce table.shop_table .actions .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.woocommerce table.shop_table .actions .coupon .input-text{min-height:48px;flex:1 1 auto;border:1px solid var(--woo-border-strong);border-radius:8px;padding:11px 13px}.woocommerce .cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:24px;margin-top:28px}.woocommerce .cart-collaterals:before,.woocommerce .cart-collaterals:after{display:none!important}.woocommerce .cart-collaterals .cart_totals{float:none;width:100%;grid-column:2;padding:24px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow)}.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce .woocommerce-billing-fields h3,.woocommerce .woocommerce-shipping-fields h3,.woocommerce #order_review_heading{margin:0 0 18px;color:var(--woo-primary);font-family:var(--font-heading);font-size:22px;font-weight:800}.woocommerce .wc-proceed-to-checkout{padding:16px 0 0}.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;min-height:54px;margin:0!important;font-size:16px!important}
.woocommerce form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:28px;align-items:start}.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr;gap:18px;float:none;width:100%}.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:100%;padding:24px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft)}.woocommerce #order_review_heading,.woocommerce #order_review{grid-column:2}.woocommerce #order_review{position:sticky;top:92px;padding:24px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow)}.woocommerce #order_review table.shop_table{box-shadow:none}.woocommerce-checkout #payment{margin-top:18px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-soft)}.woocommerce-checkout #payment ul.payment_methods{padding:16px;margin:0;border-bottom:1px solid var(--woo-border);list-style:none}.woocommerce-checkout #payment ul.payment_methods li{margin:0 0 12px;color:var(--woo-text)}.woocommerce-checkout #payment ul.payment_methods li:last-child{margin-bottom:0}.woocommerce-checkout #payment div.payment_box{margin:10px 0 0;padding:14px;border-radius:8px;background:var(--woo-surface);color:var(--woo-muted);font-size:14px}.woocommerce-checkout #payment div.form-row.place-order{padding:16px;margin:0}.woocommerce-checkout #payment #place_order{float:none;width:100%;min-height:54px}.woocommerce-privacy-policy-text p{color:var(--woo-muted);font-size:13px;line-height:1.6}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}.woocommerce-account .woocommerce:before,.woocommerce-account .woocommerce:after{display:none!important}.woocommerce-MyAccount-navigation{width:100%;margin:0;padding:18px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft)}.woocommerce-MyAccount-navigation ul{display:grid;gap:6px;padding:0;margin:0;list-style:none}.woocommerce-MyAccount-navigation a{display:block;padding:10px 12px;border-radius:6px;color:var(--woo-muted);font-weight:700}.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--woo-soft);color:var(--woo-primary)}.woocommerce-MyAccount-content{width:100%;margin:0;padding:24px;border:1px solid var(--woo-border);border-radius:8px;background:var(--woo-surface);box-shadow:var(--woo-shadow-soft)}.woocommerce-mini-cart,.widget_shopping_cart_content ul{padding:0;margin:0;list-style:none}.woocommerce-mini-cart li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--woo-border)}.woocommerce-mini-cart img{width:56px;height:56px;object-fit:cover;border-radius:6px}.woocommerce-mini-cart__total,.woocommerce-mini-cart__buttons{margin-top:14px}.woocommerce-mini-cart__buttons{display:grid;gap:8px}.woocommerce-mini-cart__buttons .button{width:100%}
.wc-block-cart,.wc-block-checkout,.wc-block-components-main,.wc-block-components-sidebar{color:var(--woo-text)}.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:54px!important;border:1px solid var(--woo-primary,var(--color-primary,#587c84))!important;border-radius:8px!important;background:var(--woo-primary,var(--color-primary,#587c84))!important;color:#fff!important;opacity:1}.wc-block-cart__submit-button:disabled,.wc-block-components-checkout-place-order-button:disabled{cursor:not-allowed;opacity:.55}.wc-block-components-panel,.wc-block-components-totals-wrapper,.wc-block-cart-items,.wc-block-checkout__form{border-color:var(--woo-border)!important}.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{border-radius:8px!important}
@media (max-width:1024px){.woocommerce div.product,.woocommerce form.checkout,.woocommerce .cart-collaterals,.woocommerce-account .woocommerce{grid-template-columns:1fr}.woocommerce div.product .woocommerce-product-gallery,.woocommerce div.product .summary.entry-summary,.woocommerce #order_review{position:static}.woocommerce #order_review_heading,.woocommerce #order_review,.woocommerce .cart-collaterals .cart_totals{grid-column:auto}.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:700px){.woo-page-wrap{padding-top:22px}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:flex;width:100%;margin-left:0}.woocommerce .woocommerce-ordering select{width:100%}.woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important;gap:18px!important}.woocommerce div.product .woocommerce-product-gallery__image img{min-height:260px}.woocommerce div.product .summary.entry-summary,.woocommerce div.product .woocommerce-tabs .panel,.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2,.woocommerce #order_review,.woocommerce .cart-collaterals .cart_totals,.woocommerce-MyAccount-content,.woocommerce-MyAccount-navigation{padding:18px}.woocommerce div.product form.cart,.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{grid-template-columns:1fr}.woocommerce div.product form.cart .qty,.woocommerce .quantity .qty,.woocommerce div.product form.cart .single_add_to_cart_button{width:100%}.zk-trust-strip{grid-template-columns:1fr}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs li{flex:1 1 100%}.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:13px 16px}.woocommerce table.shop_table_responsive thead{display:none}.woocommerce table.shop_table_responsive tr,.woocommerce table.shop_table_responsive td{display:block;width:100%}.woocommerce table.shop_table_responsive td{text-align:right;padding-left:44%;position:relative}.woocommerce table.shop_table_responsive td:before{content:attr(data-title);position:absolute;left:16px;width:38%;color:var(--woo-primary);font-weight:800;text-align:left}.woocommerce table.shop_table .actions .coupon{flex-direction:column;align-items:stretch;max-width:none}.woocommerce table.shop_table .actions .button{width:100%}}
/* =============================================
   MY APPLICATIONS MENU
   ============================================= */
.main-nav .nav-list li { position: relative; }
.main-nav .nav-list .sub-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 10;
  display: none;
  min-width: 230px;
  padding: 8px;
  margin: 0;
  list-style: none;
  background: var(--color-surface);
  border: 1px solid rgba(88,124,132,.18);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(50,77,83,.16);
}
.main-nav .nav-list .menu-item-has-children:hover > .sub-menu,
.main-nav .nav-list .menu-item-has-children:focus-within > .sub-menu { display: block; }
.main-nav .nav-list .sub-menu::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
}
.main-nav .nav-list .sub-menu li a {
  display: flex;
  width: 100%;
  padding: 10px 12px;
  border-radius: 6px;
  color: var(--color-dark);
  font-size: 13px;
  line-height: 1.35;
  white-space: normal;
}
.main-nav .nav-list .sub-menu li a:hover {
  background: var(--color-section-bg);
  color: var(--color-primary);
}
.main-nav .nav-list .zk-menu-app-settings a,
.main-nav .nav-list .zk-menu-app-empty a {
  margin-top: 6px;
  border-top: 1px solid rgba(88,124,132,.16);
  color: var(--color-primary);
  font-weight: 700;
}
.mobile-nav .menu-item-has-children > a { font-weight: 600; }
.mobile-nav .sub-menu {
  display: grid;
  gap: 2px;
  padding: 4px 0 4px 12px;
  margin: 0 0 4px 10px;
  list-style: none;
  border-left: 2px solid var(--color-accent);
}
.mobile-nav .sub-menu li a {
  padding: 10px 12px;
  font-size: 14px;
}
.zk-my-apps-form {
  display: grid;
  gap: 18px;
  max-width: 760px;
}
.zk-my-apps-intro {
  margin: 0;
  color: var(--color-dark);
  font-size: 15px;
}
.zk-my-apps-list {
  display: grid;
  gap: 10px;
}
.zk-my-apps-option {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px solid rgba(88,124,132,.18);
  border-radius: 8px;
  background: var(--color-surface);
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.zk-my-apps-option:hover {
  border-color: var(--color-accent);
  box-shadow: var(--shadow-card);
}
.zk-my-apps-option input {
  width: 16px;
  height: 16px;
  margin-top: 3px;
  accent-color: var(--color-primary);
}
.zk-my-apps-option strong {
  display: block;
  color: var(--color-primary);
  font-family: var(--font-heading);
  font-size: 15px;
  line-height: 1.35;
}
.zk-my-apps-option small {
  display: block;
  margin-top: 4px;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.45;
}
.zk-my-apps-submit { justify-self: start; }
@media (max-width: 700px) {
  .zk-my-apps-form { max-width: none; }
  .zk-my-apps-submit { width: 100%; justify-self: stretch; }
}
/* Keep navigation over app workspaces, but never over an open app dialog. */
.site-header {
  isolation: isolate;
}
.site-header .header-inner,
.site-header .main-nav,
.site-header .mobile-nav {
  position: relative;
  z-index: 1;
}
.site-header .main-nav .nav-list .sub-menu {
  z-index: 10;
}
html.zk-app-modal-open .site-header {
  z-index: 1;
}

/* =============================================
   SHARED PUBLIC CONTENT
   ============================================= */
.zk-home .zk-section {
  padding-block: 60px;
  scroll-margin-top: 100px;
}
.zk-home .zk-section--green {
  background: #eaf4f2;
}
.zk-home .zk-section-header {
  max-width: 100%;
  margin-bottom: 28px;
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: 0;
}
.zk-home .zk-home-title {
  margin: 0 0 26px;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
}
.zk-home-hero .zk-intro-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
  align-items: start;
  gap: 48px;
}
.zk-home .zk-intro-title {
  margin: 0 0 18px;
  font-size: 24px;
  line-height: 1.4;
}
.zk-home .zk-intro-text p {
  color: #5f7378;
  font-size: 16px;
  line-height: 1.72;
}
.zk-home .zk-intro-highlights {
  padding: 4px 0 4px 24px;
  background: transparent;
  border: 0;
  border-left: 2px solid var(--color-accent);
  border-radius: 0;
  box-shadow: none;
}
.zk-home .zk-intro-highlights h3 {
  font-size: 18px;
}
.zk-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.zk-home .zk-btn {
  min-height: 44px;
  max-width: 100%;
  font-weight: 600;
  white-space: normal;
  text-align: center;
}
.zk-btn--ghost {
  background: var(--color-surface);
  color: var(--color-primary);
  border: 1px solid rgba(88,124,132,.24);
  box-shadow: none;
}
.zk-btn--ghost:hover {
  background: var(--color-section-bg);
  color: var(--color-primary);
}
.zk-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.zk-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 28px;
  border: 1px solid rgba(88,124,132,.18);
  border-top: 4px solid var(--color-accent);
  border-radius: 8px;
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}
.zk-product-card--featured {
  border-top-color: var(--color-primary);
  background: #f4faf9;
}
.zk-card-kicker {
  margin: 0 0 10px;
  color: #257f87;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: uppercase;
}
.zk-product-card h3 {
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 1.3;
}
.zk-card-lead {
  margin: 0 0 18px;
  color: #5f7378;
  font-size: 15px;
  line-height: 1.68;
}
.zk-product-card ul {
  flex: 1;
  padding: 0;
  margin: 0 0 22px;
  list-style: none;
}
.zk-product-card li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 10px;
  color: var(--color-dark);
  font-size: 14px;
  line-height: 1.55;
}
.zk-product-card li:last-child {
  margin-bottom: 0;
}
.zk-product-card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .62em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-accent);
}
.zk-card-actions {
  margin-top: auto;
}
.zk-home .zk-logo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 14px;
}
.zk-home .zk-logo-item {
  min-width: 0;
  height: 100px;
  padding: 16px;
}
.zk-home .zk-logo-item img {
  width: 100%;
  max-width: 136px;
  height: 64px;
  object-fit: contain;
  filter: none;
}
.zk-home .zk-logo-item:hover img {
  transform: none;
}
.zk-partners-block {
  margin-top: 44px;
  padding-top: 28px;
  border-top: 1px solid rgba(88,124,132,.16);
  scroll-margin-top: 100px;
}
.zk-home .zk-team-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
}
.zk-member-card {
  min-width: 0;
  padding: 20px 0;
  border-bottom: 1px solid rgba(88,124,132,.18);
}
.zk-home .zk-member-card h3 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.zk-home .zk-member-card p {
  margin: 0;
  color: #5f7378;
  font-size: 14px;
  line-height: 1.6;
}
.zk-contact-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px;
  align-items: start;
}
.zk-contact-column {
  min-width: 0;
}
.zk-contact-list > div {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 12px;
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 1.6;
}
.zk-contact-list dt {
  color: var(--color-primary);
  font-weight: 600;
}
.zk-contact-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
}
.zk-home .zk-contact-info h3 {
  font-size: 18px;
}
.zk-home .zk-certificate h3 {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.5;
}
.zk-home .zk-certificate img {
  max-width: 200px;
  max-height: 230px;
  height: auto;
  object-fit: contain;
}
.zk-home .zk-certificate p,
.zk-home .zk-certificate a {
  font-size: 14px;
  line-height: 1.65;
}
.zk-contact-layout .zk-certificate:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.zk-contact-column .zk-certificates {
  margin-top: 32px;
}
@media (max-width: 980px) {
  .zk-home .zk-section {
    padding-block: 48px;
  }
  .zk-home-hero .zk-intro-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
@media (max-width: 720px) {
  .zk-home .zk-home-title {
    font-size: 32px;
  }
  .zk-home .zk-section-header {
    font-size: 26px;
  }
  .zk-home .zk-intro-title,
  .zk-product-card h3 {
    font-size: 22px;
  }
  .zk-product-grid,
  .zk-home .zk-team-grid,
  .zk-contact-layout {
    grid-template-columns: 1fr;
  }
  .zk-product-card {
    padding: 22px;
  }
  .zk-home .zk-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .zk-hero-actions .zk-btn,
  .zk-card-actions .zk-btn {
    width: 100%;
  }
}

/* Product details stay above the site header in the browser's native top layer. */
html.zk-product-modal-open {
  overflow: hidden;
  scrollbar-gutter: stable;
}
.zk-product-modal-open body {
  overflow: hidden;
}
.zk-product-dialog {
  position: fixed;
  inset: 0;
  width: 900px;
  max-width: calc(100% - 32px);
  max-height: calc(100vh - 40px);
  max-height: calc(100dvh - 40px);
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-dark);
  box-shadow: 0 20px 64px rgba(24,43,47,.24);
}
.zk-product-dialog:not([open]) {
  display: none;
}
.zk-product-dialog[open] {
  display: flex;
  flex-direction: column;
}
.zk-product-dialog::backdrop {
  background: rgba(24,43,47,.58);
}
.zk-product-dialog__header {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex: 0 0 auto;
  padding: 20px 24px;
  border-bottom: 1px solid #d5e1e2;
  background: #f4f9f8;
}
.zk-product-dialog__header h2 {
  flex: 1;
  min-width: 0;
  align-self: center;
  margin: 0;
  padding: 0;
  font-size: 24px;
  line-height: 1.35;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.zk-product-dialog__header h2:focus {
  outline: none;
}
.zk-product-dialog__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #c9d9db;
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-primary);
  cursor: pointer;
}
.zk-product-dialog__close .dashicons {
  width: 26px;
  height: 26px;
  font-size: 26px;
}
.zk-product-dialog__close:hover {
  background: var(--color-section-bg);
}
.zk-product-dialog__close:focus-visible,
.zk-product-dialog a:focus-visible,
[data-zk-product-open]:focus-visible {
  outline: 3px solid #257f87;
  outline-offset: 3px;
}
.zk-product-dialog__body {
  flex: 1 1 auto;
  min-height: 0;
  padding: 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  overflow-wrap: anywhere;
}
.zk-product-dialog__body p,
.zk-product-dialog__body li,
.zk-product-dialog__body dd {
  color: #52686d;
  font-size: 15px;
  line-height: 1.7;
}
.zk-product-dialog__body p {
  margin: 0 0 16px;
}
.zk-product-dialog__body .zk-product-dialog__lead {
  color: var(--color-dark);
  font-size: 17px;
  line-height: 1.65;
}
.zk-product-dialog__body ul,
.zk-product-dialog__body ol {
  margin: 0 0 16px;
  padding-left: 22px;
}
.zk-product-dialog__body li {
  margin-bottom: 8px;
}
.zk-product-detail-section {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #d5e1e2;
}
.zk-product-detail-section h3 {
  margin: 0 0 16px;
  font-size: 19px;
  line-height: 1.4;
}
.zk-product-feature-list > div {
  margin-bottom: 16px;
}
.zk-product-feature-list dt {
  margin-bottom: 4px;
  font-size: 15px;
  font-weight: 700;
}
.zk-product-facts > div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 10px;
}
.zk-product-facts dt,
.zk-product-pricing dt {
  color: var(--color-primary);
  font-size: 14px;
  font-weight: 600;
}
.zk-product-pricing {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin: 0 0 20px;
}
.zk-product-pricing dd strong {
  display: block;
  margin-top: 6px;
  color: var(--color-dark);
  font-size: 21px;
  line-height: 1.4;
}
.zk-product-pricing dd span {
  display: block;
  margin-top: 4px;
  font-size: 14px;
}
.zk-product-credit-note {
  margin-top: 20px;
  padding: 16px 20px;
  border-left: 4px solid var(--color-accent);
  background: #f0f7f4;
}
.zk-product-credit-note h4 {
  margin: 0 0 6px;
  font-size: 16px;
  line-height: 1.5;
}
.zk-product-credit-note p {
  margin: 0;
}
.zk-research-project + .zk-research-project {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #d5e1e2;
}
.zk-research-project h4 {
  margin: 0 0 14px;
  color: var(--color-dark);
  font-size: 17px;
  line-height: 1.5;
}
.zk-research-project .zk-research-project__status {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 10px;
  color: #26735e;
  font-size: 13px;
}
.zk-product-dialog__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  flex: 0 0 auto;
  padding: 16px 24px;
  border-top: 1px solid #d5e1e2;
  background: var(--color-surface);
}
.zk-product-dialog__footer .zk-btn {
  min-height: 44px;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
@media (max-width: 600px) {
  .zk-product-dialog {
    max-width: calc(100% - 20px);
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
  }
  .zk-product-dialog__header {
    gap: 12px;
    padding: 16px;
  }
  .zk-product-dialog__header h2 {
    font-size: 20px;
  }
  .zk-product-dialog__body {
    padding: 20px 16px;
  }
  .zk-product-facts > div,
  .zk-product-pricing {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .zk-product-pricing {
    gap: 18px;
  }
  .zk-product-dialog__footer {
    gap: 8px;
    padding: 12px 16px;
  }
  .zk-product-dialog__footer .zk-btn {
    width: 100%;
  }
}
