/* PPSoft – egységes részletező oldalak. Az index stílusait nem módosítja. */
html.detail-document {
  --detail-header-height:82px;
  --detail-nav-height:55px;
  scroll-padding-top:calc(var(--detail-header-height) + var(--detail-nav-height) + 18px);
}
body.detail-page {
  --navy:#102c40;
  --ink:#18384c;
  --muted:#607381;
  --teal:#007e79;
  --mint:#dff4ed;
  --paper:#f4f7f8;
  --line:#dce5e9;
  --detail-accent-strong:#006965;
  --detail-h1:clamp(32px,3.2vw,46px);
  --detail-h2:clamp(26px,2.5vw,34px);
  font-family:"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
}
body.detail-page *,
body.detail-page *::before,
body.detail-page *::after {
  box-sizing:border-box;
}
body.detail-page main [id] {
  scroll-margin-top:0;
}
body.detail-page header {
  background:white;
}
body.detail-page #main-nav {
  gap:18px;
}
body.detail-page #main-nav > a {
  white-space:nowrap;
}
body.detail-page #main-nav > a[aria-current="page"] {
  color:var(--teal);
  text-decoration:underline;
  text-decoration-thickness:3px;
  text-underline-offset:8px;
}
body.detail-page .detail-nav {
  position:sticky;
  top:var(--detail-header-height);
  z-index:19;
  background:#e1efe9;
  border-bottom:1px solid #c4dcd1;
  box-shadow:0 3px 10px #102c4008;
}
body.detail-page .detail-nav-inner {
  display:flex;
  align-items:center;
  gap:8px;
}
body.detail-page .detail-nav-links {
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  flex:1;
  min-width:0;
  height:54px;
  gap:24px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}
body.detail-page .detail-nav-links::-webkit-scrollbar {
  display:none;
}
body.detail-page .detail-nav[data-overflow="true"] .detail-nav-links {
  justify-content:flex-start;
}
body.detail-page .detail-nav-links a {
  display:flex;
  align-items:center;
  flex-shrink:0;
  min-height:44px;
  padding:0;
  border-bottom:3px solid transparent;
  color:#375b53;
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  line-height:1.4;
}
body.detail-page .detail-nav-links a:hover,
body.detail-page .detail-nav-links a[aria-current="location"] {
  color:var(--detail-accent-strong);
}
body.detail-page .detail-nav-links a[aria-current="location"] {
  border-bottom-color:var(--teal);
}
body.detail-page .detail-nav-arrow {
  flex:0 0 36px;
  width:36px;
  min-height:44px;
  padding:0;
  color:var(--teal);
  background:transparent;
  border:0;
  font-size:26px;
  line-height:1;
}
body.detail-page .detail-nav-arrow:disabled {
  opacity:.35;
  cursor:default;
}
body.detail-page [hidden] {
  display:none !important;
}
body.detail-page main h1 {
  font-size:var(--detail-h1);
  line-height:1.15;
  letter-spacing:-.04em;
  color:var(--navy);
  margin:18px 0 22px;
}
body.detail-page main h1 em {
  color:var(--teal);
  font-style:normal;
}
body.detail-page main h2 {
  font-size:var(--detail-h2);
  line-height:1.2;
  letter-spacing:-.035em;
}
body.detail-page main h3 {
  font-size:21px;
  line-height:1.25;
  letter-spacing:-.025em;
  overflow-wrap:anywhere;
}
body.detail-page .subhero,
body.detail-page .product-hero {
  padding:24px 0 44px;
  background:linear-gradient(115deg,#f4f8fa,#e9f3ef);
}
body.detail-page .breadcrumb {
  margin-bottom:26px;
  font-size:12px;
}
body.detail-page .eyebrow {
  font-size:12px;
  color:var(--teal);
}
body.detail-page .subhero-grid > div > p,
body.detail-page .product-hero .intro {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
body.detail-page .section {
  padding:64px 0;
}
body.detail-page .section-head {
  margin-bottom:28px;
}
body.detail-page :is(.lead-small,.wide-copy,.product-overview p,.info-card p,
.feature-list p,.download-lead,.support-card p,.product-copy p,.case-content p) {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
}
body.detail-page .btn,
body.detail-page .text-link {
  font-size:14px;
}
body.detail-page .btn {
  white-space:normal;
}
body.detail-page .catalog-tile {
  min-width:0;
}
body.detail-page .catalog-tile h3 {
  font-size:20px;
}
body.detail-page .catalog-tile .text-link {
  display:flex;
  justify-content:space-between;
  gap:8px;
  width:100%;
  padding:10px;
  border-radius:7px;
  background:var(--mint);
  color:var(--detail-accent-strong);
  font-size:12px;
  line-height:1.4;
}
body.detail-page .catalog-tile:hover .text-link {
  background:#c8eadf;
}
body.detail-page .download-intro {
  flex-wrap:wrap;
  align-items:flex-start;
  gap:12px 24px;
}
body.detail-page .download-intro h2 {
  font-size:30px;
  line-height:1.25;
  max-width:100%;
  overflow-wrap:anywhere;
}
body.detail-page .download-intro .count,
body.detail-page .download-table-v5 th,
body.detail-page .download-table-v5 td small,
body.detail-page .source-credit,
body.detail-page .media-figure figcaption {
  font-size:12px;
}
body.detail-page .download-table-v5 {
  font-size:14px;
  line-height:1.7;
}
body.detail-page .download-table-v5 th:first-child {
  width:44%;
}
body.detail-page .download-table-v5 th:last-child {
  width:150px;
}
body.detail-page .download-table-v5 a {
  white-space:nowrap;
}
body.detail-page .download-row :is(p,a) {
  font-size:14px;
}
body.detail-page .download-frame {
  background:white;
}
body.detail-page .reader-layout {
  display:block;
  margin-top:32px;
}
body.detail-page .feature-chapter {
  padding:28px 30px;
  background:white;
  border-color:var(--line);
}
body.detail-page .feature-chapter:nth-child(even) {
  background:var(--paper);
}
body.detail-page .feature-chapter h2 {
  font-size:26px;
  line-height:1.25;
  margin:0 0 22px;
}
body.detail-page .feature-chapter li {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
}
body.detail-page .chapter-back {
  font-size:12px;
}
body.detail-page .other-solutions {
  margin-top:32px;
}
body.detail-page .other-solutions h3 {
  font-size:20px;
  margin-bottom:16px;
}
body.detail-page #ugyfelvelemenyek {
  padding:64px 0;
}
body.detail-page #ugyfelvelemenyek .pp-section {
  padding:0;
}
body.detail-page #ugyfelvelemenyek h3 {
  font-size:21px;
}
body.detail-page #ugyfelvelemenyek blockquote {
  font-size:15px;
  color:var(--muted);
}
body.detail-page .concept-diagram .eyebrow {
  color:#7ed6c1;
}
body.detail-page .subhero-grid .concept-diagram > p {
  font-size:12px;
  line-height:1.7;
  color:#b5c9d3;
}
body.detail-page .diagram-label {
  font-size:11px;
  color:#b5c9d3;
}
body.detail-page .diagram-node small {
  font-size:12px;
  color:#c3d5de;
}
body.detail-page :is(.closing-cta,.download-promo,.product-layout,.editorial-grid,
.subhero-grid,.info-grid,.case-content,.catalog-intro,.faq-grid) > * {
  min-width:0;
}
body.detail-page :is(.closing-cta,.download-promo) {
  flex-wrap:wrap;
}
body.detail-page .related-links a {
  overflow-wrap:anywhere;
}
@media (min-width:1051px) and (max-width:1150px) {
  body.detail-page #main-nav {
    gap:11px;
  }
  body.detail-page #main-nav .support {
    padding-left:11px;
  }
}
@media (max-width:1050px) {
  body.detail-page .menu-toggle {
    display:flex;
  }
  body.detail-page #main-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:82px;
    padding:20px;
    background:white;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  body.detail-page #main-nav.open {
    display:flex;
  }
  body.detail-page #main-nav > a {
    padding:12px;
    font-size:15px;
  }
  body.detail-page #main-nav .support {
    border:0;
    padding:12px;
  }
}
@media (max-width:800px) {
  html.detail-document {
    --detail-header-height:70px;
  }
  body.detail-page #main-nav {
    top:70px;
  }
  body.detail-page .detail-nav-links {
    gap:20px;
  }
  body.detail-page .detail-nav-links a {
    font-size:12px;
  }
  body.detail-page .section,
  body.detail-page #ugyfelvelemenyek {
    padding:44px 0;
  }
  body.detail-page .subhero,
  body.detail-page .product-hero {
    padding-bottom:32px;
  }
}
@media (max-width:520px) {
  body.detail-page .detail-nav-inner {
    gap:4px;
  }
  body.detail-page .detail-nav-arrow {
    flex-basis:30px;
    width:30px;
  }
  body.detail-page .download-intro h2,
  body.detail-page .feature-chapter h2 {
    font-size:25px;
  }
  body.detail-page .feature-chapter {
    padding:23px 21px;
  }
  body.detail-page .catalog-tiles {
    grid-template-columns:1fr;
  }
  body.detail-page .download-table-v5 th:first-child {
    width:100%;
  }
  body.detail-page main h3 {
    font-size:20px;
  }
}
@media (prefers-reduced-motion:reduce) {
  html.detail-document {
    scroll-behavior:auto;
  }
}
@media print {
  body.detail-page .detail-nav {
    display:none;
  }
  html.detail-document {
    scroll-padding-top:0;
  }
  body.detail-page .section,
  body.detail-page #ugyfelvelemenyek {
    padding:24px 0;
  }
}
