/* ── Subpage common ── */
.page-hero {
  position: relative;
  padding: 56px 48px 40px;
  background-color: #0a0a0a;
  background-image: url("../img/hero-bg.f80fdd5fc6c3.png");
  background-position: center;
  background-repeat: repeat-x;
  background-size: auto 100%;
  text-align: center;
  margin-top: 68px;
}
.page-hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.78); }
.page-hero-content { position: relative; z-index: 1; }
.page-breadcrumb { font-size: 11px; color: rgba(255,255,255,.58); margin-bottom: 14px; letter-spacing: .5px; }
.page-breadcrumb a { color: rgba(255,255,255,.58); transition: color .2s; }
.page-breadcrumb a:hover { color: #d63d2d; }
.page-hero-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(24px, 3.5vw, 42px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -1px;
  line-height: 1.1;
}
.page-hero-sub { color: rgba(255,255,255,.72); margin-top: 14px; font-size: 16px; }

/* ── Product page hero visual ── */
.page-hero--styled {
  min-height: 320px;
  padding: 0;
  overflow: hidden;
  background-image: none;
}
.page-hero--styled .page-hero-overlay {
  background: linear-gradient(to right, rgba(0,0,0,.92) 36%, rgba(0,0,0,.28) 100%);
}
.page-hero--styled .page-hero-content {
  position: relative;
  z-index: 1;
  padding: 56px 48px 40px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 320px;
}
.phero-wrap {
  position: relative;
  z-index: 1;
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 48px 40px;
  display: flex;
  align-items: center;
  gap: 32px;
  min-height: 320px;
}
.page-hero-content--left {
  flex: 0 0 auto;
  max-width: 500px;
  text-align: left;
}
.page-hero-content--left .page-breadcrumb,
.page-hero-content--left .page-breadcrumb a { color: rgba(255,255,255,.58); }
.phero-visual {
  flex: 1;
  position: relative;
  min-height: 240px;
}
.phero-product-wrap { position: absolute; inset: 0; }
.phero-glow {
  position: absolute; inset: -20%;
  background: radial-gradient(ellipse at 50% 55%, rgba(255,209,0,.22) 0%, transparent 65%);
  filter: blur(50px); pointer-events: none;
}
.phero-img { position: absolute; object-fit: contain; filter: drop-shadow(0 20px 40px rgba(0,0,0,.7)); }
.phero-nayax-bg {
  position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.phero-nayax {
  position: absolute;
  font-family: 'Plus Jakarta Sans', 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  font-size: 96px;
  letter-spacing: 16px;
  color: #fff;
  white-space: nowrap;
  user-select: none;
  line-height: 1;
}
.phero-nayax--1 { top: -8%;  left: -4%;  opacity: .10; transform: rotate(-5deg); }
.phero-nayax--2 { top: 52%;  left: 2%;   opacity: .07; transform: rotate(3deg);  }
.phero-nayax--3 { top: 22%;  left: 30%;  opacity: .08; transform: rotate(-3deg); }
.phero-nayax--4 { top: 65%;  right: 2%;  opacity: .10; transform: rotate(6deg);  }
.phero-nayax--5 { top: 5%;   right: -2%; opacity: .07; transform: rotate(-4deg); }
.phero-img--front { height: 86%; bottom: 0; right: 0; opacity: 1; animation: pheroFloat 5.5s ease-in-out infinite; z-index: 3; }

@keyframes pheroFloat  { 0%,100% { transform: translateY(0)    rotate(-3deg); } 50% { transform: translateY(-14px) rotate(-3deg); } }
@keyframes pheroFloat2 { 0%,100% { transform: translateY(0)    rotate(5deg);  } 50% { transform: translateY(-18px) rotate(5deg);  } }

@media (max-width: 900px) {
  .phero-wrap { padding: 52px 32px 36px; }
  .page-hero-content--left { max-width: 380px; }
}
@media (max-width: 640px) {
  .page-hero--styled { min-height: 160px; }
  .phero-wrap { flex-direction: column; min-height: 160px; padding: 52px 24px 32px; }
  .page-hero-content--left { max-width: 100%; text-align: center; }
  .phero-visual { display: none; }
  .page-hero { padding: 40px 24px 28px; }
}

/* ── Product list ── */
.products-page { background: #f5f5f7; padding: 64px 48px; }
.products-page-inner { max-width: 1200px; margin: 0 auto; }
.products-page-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
  margin-top: 44px;
}
.prod-card {
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 18px;
  text-align: center;
  padding: 40px 24px 32px;
  transition: transform .35s cubic-bezier(.22,.1,.36,1), box-shadow .35s cubic-bezier(.22,.1,.36,1), border-color .35s;
}
.prod-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 44px rgba(0,0,0,.1);
  border-color: #d63d2d;
}
.prod-card img { height: 160px; width: auto; margin: 0 auto 22px; object-fit: contain; }
.prod-card-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px; font-weight: 700;
  color: #1a1a1a; margin-bottom: 10px;
}
.prod-card-desc { font-size: 15px; color: #888; line-height: 1.65; margin-bottom: 20px; }
.btn-red {
  display: inline-block;
  padding: 10px 28px;
  background: #d63d2d;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .8px;
  border-radius: 100px;
  transition: background .2s, transform .2s;
}
.btn-red:hover { background: #b5321e; color: #fff; transform: translateY(-1px); }

/* ── Product detail ── */
.product-page { background: #fff; padding: 64px 48px; }
.product-page-inner { max-width: 1100px; margin: 0 auto; }
.product-layout {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 64px;
  align-items: start;
}
.product-image-wrap {
  text-align: center;
  background: #f5f5f7;
  border-radius: 18px;
  padding: 40px;
}
.product-image-wrap img { max-height: 360px; width: auto; margin: 0 auto; object-fit: contain; }
.product-name {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 8px;
  letter-spacing: -.5px;
}
.product-subtitle { font-size: 15px; color: #d63d2d; font-weight: 600; margin-bottom: 22px; }
.product-desc { font-size: 16px; color: #777; line-height: 1.85; margin-bottom: 32px; }

.product-features h3,
.product-specs h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 14px; font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #1a1a1a;
  margin-bottom: 14px;
  border-bottom: 2px solid #d63d2d;
  padding-bottom: 8px;
  display: inline-block;
}
.product-features ul { list-style: none; margin-bottom: 32px; }
.product-features li {
  padding: 8px 0;
  font-size: 15px;
  color: #777;
  border-bottom: 1px solid #f0f0f0;
  display: flex; align-items: center; gap: 10px;
}
.product-features li::before { content: '✓'; color: #d63d2d; font-weight: 700; flex-shrink: 0; }

.specs-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.specs-table tr:nth-child(even) td { background: #f9f9f9; }
.specs-table td { padding: 9px 13px; border: 1px solid #eee; }
.specs-table td:first-child { font-weight: 600; color: #333; width: 45%; }

.product-cta { margin-top: 44px; padding: 36px; background: #f5f5f7; border-radius: 18px; text-align: center; }
.product-cta p { color: #777; margin-bottom: 18px; }

/* ── GYIK ── */
.gyik-page { background: #fff; padding: 64px 48px; }
.gyik-inner { max-width: 860px; margin: 0 auto; }
.gyik-intro { color: #777; font-size: 15px; margin-bottom: 44px; line-height: 1.85; }
.faq-item { border-bottom: 1px solid #ebebeb; }
.faq-q {
  width: 100%; background: none; border: none; text-align: left;
  padding: 22px 0; font-size: 15px; font-weight: 600; color: #1a1a1a;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  gap: 16px; transition: color .2s; font-family: inherit;
}
.faq-q:hover { color: #d63d2d; }
.faq-q .arrow { font-size: 18px; flex-shrink: 0; transition: transform .25s; color: #d63d2d; }
.faq-item.is-open .faq-q { color: #d63d2d; }
.faq-item.is-open .arrow { transform: rotate(180deg); }
.faq-a { display: none; padding: 0 0 22px; font-size: 15px; color: #777; line-height: 1.85; }
.faq-item.is-open .faq-a { display: block; }


/* ── Contact ── */
.kapcsolat-page { background: #fff; padding: 64px 48px; }
.kapcsolat-inner { max-width: 1100px; margin: 0 auto; }
.kapcsolat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-bottom: 52px; }
.contact-card {
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 18px;
  padding: 36px 28px;
  transition: box-shadow .3s, border-color .3s;
}
.contact-card:hover { box-shadow: 0 12px 32px rgba(0,0,0,.07); border-color: #d63d2d; }
.contact-card h3 { font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #d63d2d; margin-bottom: 20px; font-family: 'Plus Jakarta Sans', sans-serif; }
.contact-card p { font-size: 16px; color: #777; margin-bottom: 8px; line-height: 1.7; }
.contact-card a { color: #d63d2d; }
.contact-card strong { color: #1a1a1a; font-weight: 600; }
.contact-map { background: #f5f5f7; padding: 48px; border-radius: 18px; text-align: center; }
.contact-map h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 18px; font-weight: 700; color: #1a1a1a; margin-bottom: 8px; }
.contact-map p { color: #888; margin-bottom: 24px; }
.contact-map iframe { border: none; width: 100%; border-radius: 12px; }

/* ── Error report ── */
.hiba-page { background: #fff; padding: 64px 48px; }
.hiba-inner { max-width: 720px; margin: 0 auto; }
.hiba-intro { color: #777; font-size: 15px; line-height: 1.85; margin-bottom: 36px; }

.hiba-layout { display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: start; }
.hiba-info-col { position: sticky; top: 88px; }
.hiba-form-col {}
.hiba-form-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; font-weight: 700; color: #1a1a1a; text-transform: uppercase; letter-spacing: .8px; margin-bottom: 16px; }
.hiba-info-box { display: flex; flex-direction: column; gap: 12px; }
.hiba-info-item {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 18px 20px;
  background: #f9f9f9;
  border: 1px solid #ebebeb;
  border-radius: 14px;
}
.hiba-info-item svg { width: 20px; height: 20px; flex-shrink: 0; color: #aaa; margin-top: 2px; }
.hiba-info-item strong { display: block; font-size: 14px; font-weight: 700; color: #1a1a1a; margin-bottom: 6px; }
.hiba-info-item p { font-size: 14px; color: #777; line-height: 1.7; margin: 0 0 4px; }
.hiba-info-item a { color: #d63d2d; }
.hiba-info-item--highlight { background: #fff8f7; border-color: #f5c5bf; }
.hiba-info-item--highlight svg { color: #d63d2d; }
.hiba-info-item--warning { background: #fffbf0; border-color: #f0d080; }
.hiba-info-item--warning svg { color: #c8960a; }
.form-group { margin-bottom: 22px; }
.form-group label { display: block; font-size: 14px; font-weight: 600; color: #1a1a1a; margin-bottom: 7px; }
.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 11px 16px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  font-size: 15px;
  color: #333;
  font-family: inherit;
  transition: border-color .2s, box-shadow .2s;
  background: #fff;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { outline: none; border-color: #d63d2d; box-shadow: 0 0 0 3px rgba(214,61,45,.1); }
.form-group textarea { min-height: 140px; resize: vertical; }
.form-note { font-size: 12px; color: #999; margin-top: 5px; }
.form-submit { margin-top: 10px; }

/* ── Videos ── */
.videos-page { background: #f5f5f7; padding: 64px 48px; }
.videos-inner { max-width: 1000px; margin: 0 auto; }
.videos-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 28px; margin-top: 36px; }
.video-card { background: #fff; border-radius: 18px; border: 1px solid rgba(0,0,0,.07); overflow: hidden; transition: transform .3s, box-shadow .3s; }
.video-card:hover { transform: translateY(-4px); box-shadow: 0 14px 36px rgba(0,0,0,.1); }
.video-embed { position: relative; padding-bottom: 56.25%; height: 0; }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }
.video-card-body { padding: 20px; }
.video-card-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 700; color: #1a1a1a; margin-bottom: 6px; }
.video-card-desc { font-size: 14px; color: #888; }

/* ── NKFI ── */
.nkfi-page { background: #fff; padding: 64px 48px; }
.nkfi-inner { max-width: 900px; margin: 0 auto; }
.nkfi-inner img { max-width: 100%; margin: 0 auto; display: block; }
.nkfi-inner p { font-size: 15px; color: #777; line-height: 1.85; margin-bottom: 16px; }
.nkfi-inner h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 22px; font-weight: 700; color: #1a1a1a; margin: 32px 0 12px; }

/* ── Legal ── */
.legal-page { background: #fff; padding: 64px 48px; }
.legal-inner { max-width: 860px; margin: 0 auto; }
.legal-inner h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 20px; font-weight: 700; color: #1a1a1a; margin: 36px 0 14px; }
.legal-inner h3 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 16px; font-weight: 700; color: #1a1a1a; margin: 24px 0 10px; }
.legal-inner p { font-size: 14px; color: #777; line-height: 1.85; margin-bottom: 12px; }
.legal-inner ul { padding-left: 20px; margin-bottom: 12px; }
.legal-inner li { font-size: 14px; color: #777; line-height: 1.85; }
.legal-inner a { color: #d63d2d; text-decoration: underline; }
.legal-table-wrap { overflow-x: auto; margin: 14px 0 18px; }
.legal-table { width: 100%; border-collapse: collapse; font-size: 13px; color: #444; }
.legal-table th, .legal-table td { border: 1px solid #e5e5e5; padding: 10px 12px; text-align: left; vertical-align: top; line-height: 1.5; }
.legal-table thead th { background: #f7f7f7; font-weight: 700; color: #1a1a1a; font-size: 12px; text-transform: uppercase; letter-spacing: .5px; }

/* ── Dokumentumtár ── */
.docs-page { background: #f5f5f7; padding: 64px 48px; }
.docs-inner { max-width: 1000px; margin: 0 auto; }
.docs-intro { color: #777; font-size: 15px; line-height: 1.85; margin-bottom: 36px; }

.docs-search-wrap {
  position: relative;
  margin-bottom: 52px;
}
.docs-search-icon {
  position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
  width: 18px; height: 18px; color: #999; pointer-events: none;
}
.docs-search-input {
  width: 100%;
  padding: 13px 18px 13px 46px;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  font-size: 15px;
  color: #333;
  font-family: inherit;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
  box-sizing: border-box;
}
.docs-search-input:focus {
  outline: none;
  border-color: #d63d2d;
  box-shadow: 0 0 0 3px rgba(214,61,45,.1);
}

.docs-section { margin-bottom: 52px; }
.docs-section-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: #d63d2d;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.docs-section-title svg { width: 16px; height: 16px; flex-shrink: 0; }

.docs-grid { display: flex; flex-direction: column; gap: 10px; }

.doc-card {
  display: flex;
  align-items: center;
  gap: 18px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: 14px;
  padding: 18px 20px;
  text-decoration: none;
  transition: border-color .25s, box-shadow .25s, transform .25s;
}
.doc-card:hover {
  border-color: #d63d2d;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transform: translateX(3px);
}
.doc-icon {
  flex-shrink: 0;
  width: 40px;
  height: 48px;
}
.doc-icon svg { width: 40px; height: 48px; }
.doc-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.doc-title {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.4;
  white-space: normal;
}
.doc-meta {
  font-size: 12px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: .5px;
}
.doc-arrow {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  color: #ccc;
  transition: color .25s;
}
.doc-arrow svg { width: 18px; height: 18px; }
.doc-card:hover .doc-arrow { color: #d63d2d; }

.docs-no-results {
  text-align: center;
  color: #999;
  font-size: 15px;
  padding: 48px 0;
}

/* ── Státusz oldal ── */
.status-page { background: #f7f7f8; padding: 64px 48px; min-height: 60vh; }
.status-inner { max-width: 1100px; margin: 0 auto; }

.status-overall {
  display: flex; align-items: center; gap: 22px;
  background: #fff; border: 1px solid #e8e8eb; border-left: 6px solid #2bb673;
  padding: 22px 28px; border-radius: 12px;
  box-shadow: 0 6px 20px rgba(0,0,0,.04);
  margin-bottom: 36px;
}
.status-overall-dot {
  width: 18px; height: 18px; border-radius: 50%;
  background: #2bb673; box-shadow: 0 0 0 6px rgba(43,182,115,.18);
  flex-shrink: 0;
}
.status-overall-text h2 { font-size: 22px; font-weight: 700; color: #1a1a1a; margin: 0; }
.status-updated { font-size: 13px; color: #888; margin-top: 4px; }

.status-overall--minor { border-left-color: #f0a500; }
.status-overall--minor .status-overall-dot { background: #f0a500; box-shadow: 0 0 0 6px rgba(240,165,0,.18); }
.status-overall--major { border-left-color: #e8721a; }
.status-overall--major .status-overall-dot { background: #e8721a; box-shadow: 0 0 0 6px rgba(232,114,26,.18); }
.status-overall--critical { border-left-color: #d63d2d; }
.status-overall--critical .status-overall-dot { background: #d63d2d; box-shadow: 0 0 0 6px rgba(214,61,45,.18); }
.status-overall--maintenance { border-left-color: #4a90e2; }
.status-overall--maintenance .status-overall-dot { background: #4a90e2; box-shadow: 0 0 0 6px rgba(74,144,226,.18); }

.status-section { margin-bottom: 40px; }
.status-section-title {
  font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: #d63d2d; margin-bottom: 16px;
  font-family: 'Plus Jakarta Sans', sans-serif;
}

.status-incident {
  background: #fff; border: 1px solid #e8e8eb; border-left: 4px solid #4a90e2;
  border-radius: 10px; padding: 18px 22px; margin-bottom: 14px;
}
.status-incident--ok { border-left-color: #2bb673; }
.status-incident--minor { border-left-color: #f0a500; }
.status-incident--major { border-left-color: #e8721a; }
.status-incident--critical { border-left-color: #d63d2d; }
.status-incident--maintenance { border-left-color: #4a90e2; }
.status-incident-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.status-incident h4 { font-size: 16px; font-weight: 600; color: #1a1a1a; margin: 0; }
.status-meta { font-size: 13px; color: #777; margin-top: 6px; }
.status-summary { font-size: 14px; color: #555; line-height: 1.6; margin-top: 10px; }

.status-badge {
  display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .5px;
  text-transform: uppercase; padding: 4px 10px; border-radius: 999px;
  background: #eef4ff; color: #2c5fa5;
}
.status-badge--ok { background: #e7f7ee; color: #1f7a4a; }
.status-badge--minor { background: #fff4dc; color: #95620a; }
.status-badge--major { background: #fde4d0; color: #944113; }
.status-badge--critical { background: #fbdcd7; color: #8e2419; }
.status-badge--maintenance { background: #e3edf9; color: #2c5fa5; }

.bank-chip {
  display: inline-block; font-size: 0.82em; font-weight: 700;
  padding: 1px 9px; border-radius: 999px;
  background: #f0f4ff; color: #2c4fa5;
  border: 1px solid #c8d6f5;
  vertical-align: baseline; line-height: 1.6;
}

.status-groups { display: grid; grid-template-columns: 1fr; gap: 16px; }
.status-group {
  background: #fff; border: 1px solid #e8e8eb; border-radius: 10px;
  padding: 18px 22px;
}
.status-group-title { font-size: 15px; font-weight: 700; color: #1a1a1a; margin: 0 0 12px; }
.status-component-list { list-style: none; padding: 0; margin: 0; }
.status-component {
  padding: 12px 0; border-bottom: 1px solid #f0f0f2; font-size: 14px;
}
.status-component:last-child { border-bottom: none; }
.status-component-row { display: flex; align-items: center; justify-content: space-between; }

.uptime-bar {
  display: flex; gap: 2px; margin-top: 10px;
  height: 26px; align-items: stretch;
  width: 100%;
}
.uptime-bar .uptime-day {
  flex: 1 1 0;
  min-width: 0;
  border-radius: 1px;
  background: #2bb673;
  transition: transform .12s ease;
  position: relative;
  cursor: pointer;
}
.uptime-bar .uptime-day:hover { transform: scaleY(1.15); }
.uptime-bar .uptime-day::after {
  content: attr(data-tip);
  position: absolute; bottom: calc(100% + 8px); left: 50%;
  transform: translateX(-50%);
  background: #1a1a1a; color: #fff;
  padding: 8px 12px; border-radius: 8px;
  font-size: 12px; font-weight: 500; line-height: 1.5;
  white-space: pre-line; text-align: left;
  min-width: 180px; max-width: 280px;
  opacity: 0; pointer-events: none; transition: opacity .12s ease;
  z-index: 10;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.uptime-bar .uptime-day::before {
  content: ''; position: absolute; bottom: calc(100% + 2px); left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: #1a1a1a;
  opacity: 0; pointer-events: none; transition: opacity .12s ease;
  z-index: 10;
}
.uptime-bar .uptime-day:hover::after,
.uptime-bar .uptime-day:hover::before { opacity: 1; }
.uptime-bar .uptime-day--ok { background: #2bb673; }
.uptime-bar .uptime-day--minor { background: #f0a500; }
.uptime-bar .uptime-day--major { background: #de2f1b; }
.uptime-bar .uptime-day--critical { background: #8e2419; }
.uptime-bar .uptime-day--maintenance { background: #4a90e2; }
.uptime-bar .uptime-day--nodata { background: #e0e2e6; }

.uptime-legend {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: 6px; font-size: 11px; color: #999;
  letter-spacing: .3px;
}
.uptime-legend .uptime-pct { color: #555; font-weight: 600; }
.status-component-name { color: #444; }
.status-component-status { font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.status-component-status--ok { color: #1f7a4a; }
.status-component-status--minor { color: #95620a; }
.status-component-status--major { color: #944113; }
.status-component-status--critical { color: #8e2419; }
.status-component-status--maintenance { color: #2c5fa5; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; display: inline-block; }

.status-past {
  background: #fff; border: 1px solid #e8e8eb; border-left: 3px solid #c0c5cc;
  border-radius: 8px; padding: 14px 18px; margin-bottom: 10px;
}
.status-past--ok { border-left-color: #93c8a6; }
.status-past--minor { border-left-color: #f0c46a; }
.status-past--major { border-left-color: #e8a274; }
.status-past--critical { border-left-color: #d63d2d; }
.status-past-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.status-past h4 { font-size: 15px; font-weight: 600; color: #1a1a1a; margin: 0; }

.status-timeline {
  list-style: none; padding: 0; margin: 14px 0 0;
  border-left: 2px solid #e8e8eb; padding-left: 18px;
}
.status-timeline-item { position: relative; padding-bottom: 14px; }
.status-timeline-item:last-child { padding-bottom: 0; }
.status-timeline-dot {
  position: absolute; left: -25px; top: 4px;
  width: 10px; height: 10px; border-radius: 50%;
  background: #c0c5cc; border: 2px solid #fff;
  box-shadow: 0 0 0 1px #c0c5cc;
}
.status-timeline-item--resolved .status-timeline-dot { background: #2bb673; box-shadow: 0 0 0 1px #2bb673; }
.status-timeline-item--monitoring .status-timeline-dot { background: #4a90e2; box-shadow: 0 0 0 1px #4a90e2; }
.status-timeline-item--identified .status-timeline-dot { background: #f0a500; box-shadow: 0 0 0 1px #f0a500; }
.status-timeline-item--investigating .status-timeline-dot { background: #e8721a; box-shadow: 0 0 0 1px #e8721a; }
.status-timeline-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 10px; flex-wrap: wrap; margin-bottom: 4px;
}
.status-timeline-status {
  font-size: 12px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
  color: #555;
}
.status-timeline-item--resolved .status-timeline-status { color: #1f7a4a; }
.status-timeline-item--monitoring .status-timeline-status { color: #2c5fa5; }
.status-timeline-item--identified .status-timeline-status { color: #95620a; }
.status-timeline-item--investigating .status-timeline-status { color: #944113; }
.status-timeline-when { font-size: 12px; color: #888; }
.status-timeline-body { font-size: 14px; color: #444; line-height: 1.6; margin: 0; }

.status-source { margin-top: 36px; font-size: 13px; color: #888; text-align: center; }
.status-source a { color: #d63d2d; }

/* Lokális incidensek */
.status-section--local { border-top: 3px solid #e8e8eb; padding-top: 8px; }
.status-incident--info     { border-left-color: #4a90e2; }
.status-incident--warning  { border-left-color: #f0a500; }
.status-incident--resolved { opacity: .65; }
.status-badge--info           { background: #e3edf9; color: #2c5fa5; }
.status-badge--warning        { background: #fff4dc; color: #95620a; }
.status-badge--critical       { background: #fbdcd7; color: #8e2419; }
.status-badge--resolved       { background: #e7f7ee; color: #1f7a4a; }
.status-badge--investigating  { background: #fde4d0; color: #944113; }
.status-badge--identified     { background: #fff4dc; color: #95620a; }
.status-badge--monitoring     { background: #e3edf9; color: #2c5fa5; }
.status-badge--resolved.status-badge--resolved { background: #e7f7ee; color: #1f7a4a; }

.status-error {
  background: #fff; border: 1px solid #e8e8eb; border-radius: 12px;
  padding: 36px 32px; text-align: center;
}
.status-error h2 { font-size: 20px; color: #1a1a1a; margin-bottom: 12px; }
.status-error p { color: #666; line-height: 1.6; }
.status-error a { color: #d63d2d; font-weight: 600; }

/* ── Responsive ── */
@media (max-width:900px) {
  .products-page-grid { grid-template-columns: repeat(2,1fr); }
  .kapcsolat-grid { grid-template-columns: 1fr; }
  .videos-grid { grid-template-columns: 1fr; }
  .product-layout { grid-template-columns: 1fr; }
  .status-groups { grid-template-columns: 1fr; }
}
@media (max-width:600px) {
  .products-page-grid { grid-template-columns: 1fr; }
  .gyik-page, .hiba-page, .kapcsolat-page, .products-page,
  .videos-page, .nkfi-page, .legal-page, .product-page, .docs-page { padding: 40px 20px; }
  .status-page { padding: 40px 20px; }
  .page-hero { padding: 64px 24px 44px; }
  .contact-map { padding: 28px 20px; }
  .product-image-wrap { padding: 24px; }
  .hiba-layout { grid-template-columns: 1fr; }
  .hiba-info-col { position: static; }
}
