/* ============================================
 VILLA MAMMA - SALA WESELNA WARSZAWA 2026
 RAPORT KOSZTÓW I "GHOST PLATES"
 Estetyka: blue→purple gradient, glow, conic-border
 Performance-first: CSS-only, no JS dependencies
 ============================================ */

/* ============================================
 DESIGN TOKENS (identyczne z wzorcem)
 ============================================ */
:root {
 --vm-bg-primary: #020617;
 --vm-bg-surface: rgba(15, 23, 42, 0.95);
 --vm-bg-soft: rgba(15, 23, 42, 0.8);

 --vm-text-primary: #f9fafb;
 --vm-text-secondary: rgba(249, 250, 251, 0.72);
 --vm-text-muted: rgba(148, 163, 184, 0.95);

 --vm-gradient-main: linear-gradient(
 90deg,
 #3b82f6 0%,
 #8b5cf6 50%,
 #ec4899 100%
 );

 --vm-glow-main: radial-gradient(
 circle at 20% -20%,
 rgba(59, 130, 246, 0.35) 0%,
 rgba(139, 92, 246, 0.2) 35%,
 transparent 70%
 );

 --vm-shadow-card:
 0 18px 45px rgba(15, 23, 42, 0.9),
 inset 0 0 0 1px rgba(148, 163, 184, 0.2);

 --vm-shadow-card-hover:
 0 24px 60px rgba(15, 23, 42, 0.95),
 inset 0 0 0 1px rgba(248, 250, 252, 0.18);

 --vm-radius-md: 1.25rem;
 --vm-radius-lg: 1.75rem;
 --vm-radius-pill: 999px;

 --vm-space-sm: 1rem;
 --vm-space-md: 1.5rem;
 --vm-space-lg: 2.25rem;
 --vm-space-xl: 3rem;

 --vm-font-sans: system-ui, -apple-system, BlinkMacSystemFont,
 "SF Pro Text", "Segoe UI", sans-serif;

 --vm-text-h1: clamp(2.2rem, 4.2vw, 3.4rem);
 --vm-text-h2: clamp(1.8rem, 3.2vw, 2.5rem);
 --vm-text-h3: clamp(1.4rem, 2.2vw, 1.9rem);

 --vm-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
 --vm-duration-fast: 160ms;
 --vm-duration-normal: 240ms;

 --vm-border-width: 2px;
}

/* ============================================
 RESET & BASE
 ============================================ */
*,
*::before,
*::after { box-sizing: border-box;}
html { scroll-behavior: smooth;}
body {
 margin: 0;
 min-height: 100vh;
 background: #080b14;
 color: #e8eaf0;
 font-family: var(--vm-font-sans);
 text-rendering: optimizeLegibility;
 -webkit-font-smoothing: antialiased;
 line-height: 1.6;
}
abbr[title] { text-decoration: underline dotted rgba(99, 102, 241, 0.5);cursor: help;font-style: normal;}
abbr[title]:hover { text-decoration-color: #8b5cf6;}
dfn { font-style: italic;color: #a78bfa;font-weight: 500;}
img { max-width: 100%;height: auto;display: block;}
.vm-skip-link {
 position: absolute;
 top: -40px;
 left: 0;
 background: var(--vm-gradient-main);
 color: #fff;
 padding: 0.5rem 1rem;
 text-decoration: none;
 z-index: 100;
 border-radius: 0 0 0.5rem 0;
}
.vm-skip-link:focus { top: 0;}
.vm-shell { max-width: 1400px;margin: 0 auto;padding: var(--vm-space-lg) var(--vm-space-md) var(--vm-space-xl);}

/* ============================================
 TYPOGRAPHY
 ============================================ */
h1, h2, h3, h4 { margin: 0 0 var(--vm-space-sm);letter-spacing: -0.03em;font-weight: 700;}
h1 { font-size: var(--vm-text-h1); line-height: 1.1; }
h2 { font-size: var(--vm-text-h2); line-height: 1.15; }
h3 { font-size: var(--vm-text-h3); line-height: 1.2; }
p { margin: 0 0 var(--vm-space-sm);color: var(--vm-text-secondary);line-height: 1.7;}
strong { color: var(--vm-text-primary);font-weight: 600;}
a { color: #60a5fa;text-decoration: none;transition: color var(--vm-duration-fast) var(--vm-ease-standard);}
a:hover { color: #93c5fd;text-decoration: underline;}
/* Logo + footer-logo — NIGDY podkreślenie */
a.logo,
a.logo:hover,
a.logo:focus,
a.logo:visited,
a.vm-footer-logo,
a.vm-footer-logo:hover { text-decoration: none;color: inherit;}
.vm-gradient-text {
  background: var(--vm-gradient-main);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.vm-free,
.is-free { color: #10b981;font-weight: 700;text-shadow: 0 0 15px rgba(16, 185, 129, 0.3);}
.is-na { color: rgba(148, 163, 184, 0.6);font-style: italic;}

/* ============================================
 BREADCRUMBS
 ============================================ */
.breadcrumb { background: transparent;padding: clamp(0.5rem, 1vw, 0.75rem) 0;font-size: clamp(0.75rem, 1.1vw, 0.85rem);}
.breadcrumb__list {
 max-width: 1400px;
 margin: 0 auto;
 padding: 0;
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 gap: 0.5rem;
 list-style: none;
}
.breadcrumb__item { display: flex;align-items: center;}
.breadcrumb__item:not(:last-child)::after { content: "›";margin-left: 0.5rem;color: rgba(148, 163, 184, 0.5);}
.breadcrumb__link { color: #94a3b8;text-decoration: none;transition: color 0.2s;}
.breadcrumb__link:hover { color: #fff;}
.breadcrumb__link--active { color: #a78bfa;font-weight: 500;}

/* ============================================
 SECTIONS
 ============================================ */
.vm-section {
 position: relative;
 border-radius: var(--vm-radius-lg);
 padding: var(--vm-space-lg);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 16px;
 box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
 margin-bottom: var(--vm-space-xl);
}

/* content-visibility TYLKO na DESKTOP (>768px) */
@media (min-width: 769px) {
 .vm-section { content-visibility: auto;contain-intrinsic-size: 0 500px;}
}

/* Wyłącz content-visibility dla hero (above-the-fold) */
.vm-hero { content-visibility: visible;contain-intrinsic-size: none;text-align: center;padding: var(--vm-space-xl);}

/* ============================================
 HERO SECTION
 ============================================ */

.vm-hero-inner { position: relative;z-index: 1;}
.vm-kicker-inline {
 display: block;
 text-transform: uppercase;
 letter-spacing: 0.14em;
 font-size: 0.95rem;
 color: #a78bfa;
 font-weight: 600;
 margin-bottom: 0.75rem;
}
.vm-h1-secondary { display: block;color: var(--vm-text-secondary);font-size: 0.7em;font-weight: 500;margin-top: 0.5rem;}
.vm-hero-intro { margin-top: 1.5rem;max-width: 800px;margin-left: auto;margin-right: auto;font-size: 1.1rem;}
.vm-hero-meta {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 1rem 2rem;
 margin-top: 1.5rem;
 padding-top: 1rem;
 border-top: 1px solid rgba(99, 102, 241, 0.2);
 font-size: 0.9rem;
 color: rgba(255, 255, 255, 0.7);
}
.vm-hero-meta-item { display: inline-flex;align-items: center;gap: 0.25rem;}
.vm-hero-meta-item a { color: #60a5fa;text-decoration: none;}
.vm-hero-meta-item a:hover { text-decoration: underline;}
.vm-hero-meta time { color: #fbbf24;font-weight: 500;}

/* ============================================
 Q&A SECTIONS (Pytania H2)
 ============================================ */
.vm-qa-section { scroll-margin-top: 2rem;overflow: hidden;}
.vm-qa-section h2 { color: var(--vm-text-primary);margin-bottom: var(--vm-space-md);padding-bottom: var(--vm-space-sm);border-bottom: 1px solid rgba(148, 163, 184, 0.15);}
.vm-qa-section h2::before { content: "❓ ";}

/* ============================================
 TABELA PORÓWNAWCZA (Conic Border + Glow)
 ============================================ */
.vm-table-wrapper { overflow: visible;border-radius: var(--vm-radius-lg);border: none;box-shadow: none;background: transparent;}
.vm-table-wrapper::before {
 content: "";
 position: absolute;
 inset: calc(var(--vm-border-width) * -1);
 border-radius: var(--vm-radius-lg);
 padding: var(--vm-border-width);
 background: conic-gradient(
 from 180deg,
 #6366f1 0deg,
 #8b5cf6 90deg,
 #6366f1 180deg,
 #8b5cf6 270deg,
 #6366f1 360deg
 );
 -webkit-mask:
 linear-gradient(#fff 0 0) content-box,
 linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask-composite: exclude;
 pointer-events: none;
 z-index: 1;
}
.vm-table-wrapper::after {
 content: "";
 position: absolute;
 inset: -4px;
 border-radius: calc(var(--vm-radius-lg) + 4px);
 background: transparent;
 pointer-events: none;
 z-index: 0;
}
.vm-comparison-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
 background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(15,23,42,.88));
 border-radius: var(--vm-radius-lg);
 overflow: hidden;
 position: relative;
 z-index: 2;
 box-shadow: var(--vm-shadow-card);
}
.vm-comparison-table thead { background: linear-gradient(135deg, rgba(59, 130, 246, 0.15) 0%, rgba(139, 92, 246, 0.1) 100%);}
.vm-comparison-table th {
 padding: 1.25rem 1.5rem;
 text-align: left;
 font-weight: 700;
 font-size: 0.95rem;
 color: var(--vm-text-primary);
 border-bottom: 2px solid rgba(139, 92, 246, 0.3);
}
.vm-comparison-table th:first-child { border-radius: var(--vm-radius-lg) 0 0 0;}
.vm-comparison-table th:last-child { border-radius: 0 var(--vm-radius-lg) 0 0;}
.vm-comparison-table th.col-warszawa { color: #f87171;}
.vm-comparison-table th.col-villa { color: #10b981;}
.vm-comparison-table td { padding: 1rem 1.5rem;border-bottom: 1px solid rgba(148, 163, 184, 0.1);font-size: 0.95rem;color: var(--vm-text-secondary);vertical-align: top;}
.vm-comparison-table tbody tr:last-child td { border-bottom: none;}
.vm-comparison-table tbody tr:last-child td:first-child { border-radius: 0 0 0 var(--vm-radius-lg);}
.vm-comparison-table tbody tr:last-child td:last-child { border-radius: 0 0 var(--vm-radius-lg) 0;}
.vm-comparison-table tbody tr:hover { background: rgba(59, 130, 246, 0.06);}
.vm-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
 background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(15,23,42,.88));
 border-radius: var(--vm-radius-lg);
 overflow: hidden;
 position: relative;
 box-shadow: none;
 margin: 1.5rem 0;
}
.vm-table::before {
 content: "";
 position: absolute;
 inset: -2px;
 border-radius: inherit;
 padding: 2px;
 background: conic-gradient(from 180deg, #3b82f6 0deg, #8b5cf6 120deg, #a855f7 240deg, #3b82f6 360deg);
 -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask-composite: exclude;
 pointer-events: none;
 z-index: 1;
}
.vm-ghost-table.vm-table::before,
.vm-trust-table.vm-table::before,
.vm-glossary-table.vm-table::before,
.vm-tldr-table.vm-table::before { display: none;}
.vm-ghost-table.vm-table,
.vm-trust-table.vm-table,
.vm-glossary-table.vm-table,
.vm-tldr-table.vm-table { box-shadow: none;}
.vm-table thead { background: rgba(15,15,25,.85);}
.vm-table th {
 padding: 1rem 1.25rem;
 text-align: center;
 font-weight: 600;
 font-size: .8rem;
 letter-spacing: .1em;
 text-transform: uppercase;
 color: #a78bfa;
 border-bottom: 1px solid rgba(139,92,246,.2);
}
.vm-table tbody tr { border-bottom: 1px solid rgba(148,163,184,.1);transition: background .2s ease;}
.vm-table tbody tr:hover { background: rgba(59,130,246,.06);}
.vm-table td { padding: 1rem 1.25rem;text-align: center;font-size: .95rem;color: var(--vm-text-secondary);}
.vm-table td:first-child { font-weight: 500;text-align: left;color: var(--vm-text-primary);}
.vm-comparison-table td:first-child { font-weight: 600;color: var(--vm-text-primary);}
.vm-loss { color: #f87171;font-weight: 800;text-shadow: 0 0 10px rgba(248, 113, 113, 0.2);}

/* ============================================
 FORMULA BOX (Ghost Plates calculation)
 ============================================ */
.vm-formula-box {
 background: linear-gradient(135deg, rgba(248, 113, 113, 0.1) 0%, rgba(139, 92, 246, 0.08) 100%);
 border: 1px solid rgba(248, 113, 113, 0.3);
 border-radius: var(--vm-radius-md);
 padding: var(--vm-space-md);
 margin: var(--vm-space-md) 0;
 font-family: "SF Mono", "Monaco", "Inconsolata", "Fira Code", monospace;
 font-size: 0.95rem;
}
.vm-formula-box strong { color: #f87171;}

/* ============================================
 CITATION PROMPT (AI/LLM Format)
 ============================================ */
.citation-prompt {
 margin-top: 1rem;
 margin-bottom: 1.5rem;
 font-size: 0.85rem;
 color: #94a3b8;
 background: rgba(15,15,25,.85);
 border: 1px dashed rgba(148, 163, 184, 0.3);
 padding: 0.75rem 1rem;
 border-radius: 6px;
 display: inline-block;
 font-family: "SF Mono", "Monaco", "Consolas", monospace;
}
.citation-prompt strong { color: #a78bfa;}
.citation-prompt a { color: #60a5fa;text-decoration: none;}
.citation-prompt a:hover { text-decoration: underline;}

/* ============================================
 LOSS MATRIX (Macierz Strat - Data Matrix)
 ============================================ */
.vm-loss-matrix { border-collapse: collapse;}
.vm-loss-matrix th { background: rgba(30, 41, 59, 0.8);}
.vm-loss-header { color: #f87171;font-weight: 700;white-space: nowrap;}
.vm-row-critical { background: rgba(239, 68, 68, 0.15);}
.vm-row-critical td { font-weight: 600;}
.vm-loss data { font-variant-numeric: tabular-nums;}
.vm-solution-box { border-left: 4px solid #10b981;}
.vm-solution-box .vm-direct-answer-title { color: #10b981;}

/* ============================================
 RANKING STATUS BOX (Oczekiwanie na Obiznes)
 ============================================ */
.vm-ranking-status {
 position: relative;
 background: linear-gradient(135deg, rgba(251, 191, 36, 0.1) 0%, rgba(139, 92, 246, 0.08) 100%);
 border-radius: var(--vm-radius-md);
 padding: var(--vm-space-md);
 margin: var(--vm-space-md) 0;
 overflow: hidden;
}
.vm-ranking-status::before {
 content: "";
 position: absolute;
 inset: -2px;
 border-radius: calc(var(--vm-radius-md) + 2px);
 padding: 2px;
 background: conic-gradient(
 from 0deg,
 #fbbf24 0deg,
 #8b5cf6 180deg,
 #fbbf24 360deg
 );
 -webkit-mask:
 linear-gradient(#fff 0 0) content-box,
 linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask-composite: exclude;
 pointer-events: none;
 z-index: 0;
}
.vm-ranking-status-content { position: relative;z-index: 1;}
.vm-ranking-status-icon { font-size: 1.5rem;margin-right: 0.5rem;}
.vm-ranking-status-title { color: #fbbf24;font-weight: 700;font-size: 1rem;margin-bottom: 0.5rem;}

/* ============================================
 SŁOWNIK POJĘĆ (Definitions)
 ============================================ */
.vm-glossary { margin: var(--vm-space-md) 0;}
.vm-glossary-item { padding: var(--vm-space-sm) 0;border-bottom: 1px solid rgba(148, 163, 184, 0.1);}
.vm-glossary-item:last-child { border-bottom: none;}
.vm-glossary-term { display: flex;align-items: baseline;gap: 0.5rem;margin-bottom: 0.5rem;}
.vm-glossary-term dfn { font-style: normal;font-weight: 700;color: #a78bfa;font-size: 1.1rem;}
.vm-glossary-term .vm-term-en { font-size: 0.85rem;color: var(--vm-text-muted);}
.vm-glossary-definition { color: var(--vm-text-secondary);padding-left: 1rem;border-left: 3px solid rgba(139, 92, 246, 0.3);margin: 0;}

/* ============================================
 FAQ SECTION (details/summary)
 ============================================ */
.vm-faq-section details { background: rgba(15,15,25,.85);border: 1px solid rgba(148, 163, 184, 0.15);border-radius: var(--vm-radius-md);margin-bottom: 1rem;overflow: hidden;}
.vm-faq-section details[open] { border-color: rgba(139, 92, 246, 0.4);}
.vm-faq-section summary {
 padding: 1rem 1.25rem;
 cursor: pointer;
 font-weight: 600;
 color: var(--vm-text-primary);
 display: flex;
 align-items: center;
 gap: 0.75rem;
 list-style: none;
 transition: background var(--vm-duration-fast) var(--vm-ease-standard);
}
.vm-faq-section summary::-webkit-details-marker { display: none;}
.vm-faq-section summary::before { content: "▶";font-size: 0.7rem;color: #a78bfa;transition: transform var(--vm-duration-fast) var(--vm-ease-standard);}
.vm-faq-section details[open] summary::before { transform: rotate(90deg);}
.vm-faq-section summary:hover { background: rgba(59, 130, 246, 0.08);}
.vm-faq-section details > div { padding: 0 1.25rem 1.25rem 2.5rem;}

/* ============================================
 CTA BUTTONS
 ============================================ */
.vm-cta-group {
 display: flex;
 flex-wrap: wrap;
 gap: 1rem;
 justify-content: center;
 margin-top: var(--vm-space-md);
 margin: 2rem auto;
}
.vm-button {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: .5rem;
 background: radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 border: 1px solid rgba(139,92,246,.25);
 border-radius: .75rem;
 color: #fff;
 font-weight: 600;
 padding: .75rem 1.25rem;
 text-decoration: none;
 position: relative;
 overflow: hidden;
 cursor: pointer;
 transition: opacity 240ms;
}
.vm-button:hover { opacity: .9;}
.vm-button::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 border-radius: 2px;
 background: linear-gradient(90deg, transparent, #3b82f6 20%, #8b5cf6 50%, #ec4899 80%, transparent);
}
.vm-button-secondary {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: .5rem;
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(139,92,246,.25);
 border-radius: 999px;
 color: #fff;
 font-weight: 600;
 padding: .75rem 1.75rem;
 text-decoration: none;
 position: relative;
 overflow: hidden;
 cursor: pointer;
 transition: border-color 240ms, background 240ms;
}
.vm-button-secondary:hover { border-color: rgba(139,92,246,.5);background: rgba(139,92,246,.15);text-decoration: none;}
.vm-button-secondary::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 border-radius: 2px;
 background: linear-gradient(90deg, transparent, #3b82f6 20%, #8b5cf6 50%, #ec4899 80%, transparent);
}

/* ============================================
 EXTERNAL LINKS (Trust Section)
 ============================================ */
.vm-trust-links { display: flex;flex-wrap: wrap;gap: 1rem;margin: var(--vm-space-md) 0;}
.vm-trust-link {
 display: inline-flex;
 align-items: center;
 gap: 0.5rem;
 padding: 0.6rem 1.2rem;
 border-radius: var(--vm-radius-pill);
 border: 1px solid rgba(148, 163, 184, 0.3);
 background: rgba(15, 23, 42, 0.5);
 color: #94a3b8;
 font-size: 0.9rem;
 font-weight: 500;
 text-decoration: none;
 transition: all var(--vm-duration-fast) var(--vm-ease-standard);
}
.vm-trust-link:hover { border-color: rgba(59, 130, 246, 0.6);background: rgba(59, 130, 246, 0.1);color: #f9fafb;text-decoration: none;}
.vm-trust-link-icon { font-size: 1.1rem;}

/* ============================================
 FOOTER (identyczny z wzorcem)
 ============================================ */
.vm-footer {
 background: linear-gradient(180deg, rgba(15,23,42,.3), rgba(15,15,25,.85));
 border-top: 1px solid rgba(148,163,184,.2);
 border-radius: 0;
 padding: var(--vm-space-xl) var(--vm-space-md) var(--vm-space-lg);
 margin-top: var(--vm-space-xl);
 text-align: center;
}
.vm-footer-shell { max-width: 1120px;margin: 0 auto;}
.vm-footer-brand { margin-bottom: var(--vm-space-lg);padding-bottom: var(--vm-space-lg);border-bottom: 1px solid rgba(148, 163, 184, 0.15);}
.vm-footer-brand h2 { font-size: clamp(1.8rem, 3vw, 2.4rem);margin-bottom: 0.75rem;}
.vm-footer-brand h2 .vm-gradient-text { background-image: var(--vm-gradient-main);-webkit-background-clip: text;background-clip: text;color: transparent;}
.vm-footer-brand h2 .vm-nadarzyn-white { background: none;-webkit-background-clip: unset;background-clip: unset;-webkit-text-fill-color: #fff;color: #fff;}
.vm-footer-tagline { max-width: 700px;margin: 0 auto;font-size: 1rem;line-height: 1.6;color: rgba(249, 250, 251, 0.85);}
.vm-footer-nav {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 1rem 1.75rem;
 margin-bottom: var(--vm-space-lg);
 padding-bottom: var(--vm-space-lg);
 border-bottom: 1px solid rgba(148, 163, 184, 0.15);
}
.vm-footer-nav a { color: #94a3b8;text-decoration: none;font-size: 1rem;font-weight: 600;transition: color var(--vm-duration-fast) var(--vm-ease-standard);}
.vm-footer-nav a:hover { color: #f9fafb;}
.vm-footer-nav a[aria-current="page"] { color: #a78bfa;font-weight: 600;text-decoration: underline;text-decoration-color: rgba(167, 139, 250, 0.5);text-underline-offset: 3px;}
.vm-footer-nav a[aria-current="page"]:hover { color: #c4b5fd;text-decoration-color: #a78bfa;}
.vm-footer-contact-grid {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: var(--vm-space-xl);
 margin-bottom: var(--vm-space-lg);
 padding-bottom: var(--vm-space-lg);
 border-bottom: 1px solid rgba(148, 163, 184, 0.15);
 text-align: left;
}
.vm-footer-contact-info h3,
.vm-footer-social h3 { font-size: 1.4rem;margin-bottom: 1.25rem;}
.vm-footer-contact-info p { margin: 0.65rem 0;font-size: 0.95rem;line-height: 1.7;color: rgba(249, 250, 251, 0.8);}
.vm-footer-contact-info strong { color: #94a3b8;font-weight: 600;}
.vm-footer-contact-info a { color: #60a5fa;text-decoration: none;}
.vm-footer-contact-info a:hover { color: #93c5fd;text-decoration: underline;}
.vm-footer-social-grid { display: grid;grid-template-columns: repeat(4, 1fr);gap: 1.25rem;}
.vm-footer-social-link {
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: 0.5rem;
 padding: 1rem 0.75rem;
 border-radius: var(--vm-radius-md);
 text-decoration: none;
 min-height: 90px;
 transition: background var(--vm-duration-normal) var(--vm-ease-standard);
}
.vm-footer-social-link:hover { background: rgba(59, 130, 246, 0.12);}
.vm-footer-social-icon { font-size: 2rem;}
.vm-footer-social-label { font-size: 0.75rem;color: #94a3b8;text-align: center;}
.vm-footer-social-link:hover .vm-footer-social-label { color: #f9fafb;}
.vm-footer-maps { margin-bottom: var(--vm-space-lg);padding-bottom: var(--vm-space-lg);border-bottom: 1px solid rgba(148, 163, 184, 0.15);text-align: center;}
.vm-footer-maps h3 { font-size: 1.4rem;margin-bottom: 1.25rem;}
.vm-footer-maps-links { display: flex;flex-wrap: wrap;justify-content: center;gap: 1.25rem;}
.vm-footer-map-link {
 display: inline-flex;
 align-items: center;
 gap: 0.6rem;
 padding: 0.75rem 1.5rem;
 border-radius: var(--vm-radius-pill);
 border: 1px solid rgba(148, 163, 184, 0.4);
 background: rgba(15, 23, 42, 0.5);
 color: #94a3b8;
 text-decoration: none;
 font-size: 0.95rem;
 font-weight: 600;
 transition: all var(--vm-duration-fast) var(--vm-ease-standard);
}
.vm-footer-map-link:hover { border-color: rgba(59, 130, 246, 0.7);background: rgba(59, 130, 246, 0.15);color: #f9fafb;}
.vm-footer-legal { text-align: center;padding-top: var(--vm-space-sm);}
.vm-footer-copyright { font-size: 0.9rem;color: #94a3b8;margin-bottom: 0.75rem;}
.vm-footer-keywords { font-size: 0.8rem;color: rgba(148, 163, 184, 0.8);}

/* ============================================
 DESKTOP (≥1024px)
 ============================================ */
@media (min-width: 1024px) {
 .vm-comparison-table thead { position: sticky;top: 0;z-index: 10;background: rgba(15, 23, 42, 0.98);}

 .vm-comparison-table th:nth-child(1),
 .vm-comparison-table td:nth-child(1) { width: 30%;}

 .vm-comparison-table th:nth-child(2),
 .vm-comparison-table td:nth-child(2) { width: 35%;}

 .vm-comparison-table th:nth-child(3),
 .vm-comparison-table td:nth-child(3) { width: 35%;}
}

/* ============================================
 TABLET (641px - 1023px)
 ============================================ */
@media (min-width: 641px) and (max-width: 1023px) {
 .vm-comparison-table th,
 .vm-comparison-table td { padding: 1rem 1.25rem;font-size: 0.9rem;}

 .vm-footer-social-grid { grid-template-columns: repeat(3, 1fr);gap: 1rem;}
}

/* ============================================
 MOBILE (≤640px)
 ============================================ */
@media (max-width: 640px) {
 /* Breadcrumb hide on mobile */
 .breadcrumb { display: none;}

 .vm-hero { padding: var(--vm-space-md);}

 .vm-shell { padding: 1rem 0.5rem 2rem;}

 .vm-section { padding: 0.75rem;}

 .vm-cta-group { flex-direction: column;}

 .vm-button { width: 100%;}

 .vm-trust-links { flex-direction: column;}

 .vm-trust-link { width: 100%;justify-content: center;}

 .vm-comparison-table thead {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap;
 border: 0;
 }

 .vm-comparison-table,
 .vm-comparison-table tbody,
 .vm-comparison-table tr,
 .vm-comparison-table td { display: block;}

 .vm-comparison-table tr {
 margin-bottom: 1.5rem;
 border-radius: var(--vm-radius-md);
 border: 1px solid rgba(148, 163, 184, 0.25);
 padding: 1.25rem;
 background: linear-gradient(
 135deg,
 rgba(15, 23, 42, 0.95) 0%,
 rgba(15, 23, 42, 0.85) 100%
 );
 }

 .vm-comparison-table tr:last-child { margin-bottom: 0;}

 .vm-comparison-table td { padding: 0.75rem 0;border-bottom: 1px solid rgba(148, 163, 184, 0.08);}

 .vm-comparison-table td:last-child { border-bottom: none;}

 .vm-comparison-table td::before {
 content: attr(data-label);
 display: block;
 font-weight: 600;
 font-size: 0.7rem;
 text-transform: uppercase;
 letter-spacing: 0.12em;
 color: rgba(148, 163, 184, 0.95);
 margin-bottom: 0.35rem;
 }

 .vm-formula-box { font-size: 0.85rem;padding: var(--vm-space-sm);}

 /* FOOTER mobile */
 .vm-footer { padding: var(--vm-space-lg) var(--vm-space-sm);}

 .vm-footer-brand h2 { font-size: 1.6rem;}

 .vm-footer-tagline { font-size: 0.9rem;}

 .vm-footer-nav { gap: 0.75rem 1.25rem;}

 .vm-footer-nav a { font-size: 0.9rem;}

 .vm-footer-contact-grid { grid-template-columns: 1fr;gap: var(--vm-space-lg);text-align: center;}

 .vm-footer-contact-info h3,
 .vm-footer-social h3 { font-size: 1.2rem;}

 .vm-footer-social-grid { grid-template-columns: repeat(3, 1fr);gap: 1rem;}

 .vm-footer-social-link { min-height: 80px;padding: 0.75rem 0.5rem;}

 .vm-footer-social-icon { font-size: 1.6rem;}

 .vm-footer-social-label { font-size: 0.7rem;}

 .vm-footer-maps-links { flex-direction: column;}

 .vm-footer-map-link { width: 100%;justify-content: center;}

 .vm-footer-copyright { font-size: 0.8rem;}

 .vm-footer-keywords { font-size: 0.75rem;}
}

/* ============================================
 PRINT
 ============================================ */
@media print {
 body { background: #fff;color: #000;}

 .vm-section { page-break-inside: avoid;box-shadow: none;border: 1px solid #ccc;}

 .vm-button,
 .vm-footer { display: none;}

 .vm-gradient-text { background-image: none;color: #000;-webkit-text-fill-color: #000;}

 .vm-free,
 .is-free { color: #059669;text-shadow: none;}
}

/* ============================================
 MANAGER CARD - Sekcja Dominik Witanowski
 ============================================ */
.vm-footer-manager { margin-top: 2rem;padding-top: 2rem;border-top: 1px solid rgba(99, 102, 241, 0.2);}
.vm-manager-card {
 --border-width: 2px;
 --border-radius: 1.25rem;

 position: relative;
 background: rgba(15, 15, 25, 0.95);
 border-radius: var(--border-radius);
 border: var(--border-width) solid transparent;
 background-clip: padding-box;
 padding: 1.5rem;
 max-width: 600px;
 margin: 0 auto;

 box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
.vm-manager-card::before {
 content: "";
 position: absolute;
 inset: calc(var(--border-width) * -1);
 border-radius: var(--border-radius);
 padding: var(--border-width);
 background: conic-gradient(
 from 180deg,
 #6366f1 0deg,
 #8b5cf6 90deg,
 #6366f1 180deg,
 #8b5cf6 270deg,
 #6366f1 360deg
 );
 -webkit-mask:
 linear-gradient(#fff 0 0) content-box,
 linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask-composite: exclude;
 pointer-events: none;
 z-index: -1;
}
.vm-manager-card__title {
 font-size: clamp(1.25rem, 3vw, 1.5rem);
 font-weight: 700;
 background: linear-gradient(135deg, #3b82f6, #8b5cf6);
 -webkit-background-clip: text;
 background-clip: text;
 -webkit-text-fill-color: transparent;
 margin: 0 0 0.25rem;
}
.vm-manager-card__role { color: #fbbf24;font-weight: 600;font-size: 0.95rem;margin: 0 0 1rem;}
.vm-manager-card__desc { color: rgba(255, 255, 255, 0.85);font-size: 0.9rem;line-height: 1.6;margin: 0 0 0.75rem;}
.vm-manager-card__desc cite { font-style: italic;color: rgba(255, 255, 255, 0.95);}
.vm-manager-card__doi { color: #60a5fa;text-decoration: none;font-size: 0.85rem;}
.vm-manager-card__doi:hover { text-decoration: underline;}
.vm-manager-card__links {
 display: flex;
 flex-wrap: wrap;
 gap: 1rem;
 margin-top: 1rem;
 padding-top: 1rem;
 border-top: 1px solid rgba(99, 102, 241, 0.2);
}
.vm-manager-card__orcid,
.vm-manager-card__linkedin {
 display: inline-flex;
 align-items: center;
 gap: 0.5rem;
 padding: 0.5rem 1rem;
 border-radius: 0.5rem;
 font-size: 0.85rem;
 font-weight: 500;
 text-decoration: none;
 transition: transform 0.2s ease, box-shadow 0.2s ease;
 background: rgba(10, 102, 194, 0.15);
 color: #0a66c2;
 border: 1px solid rgba(10, 102, 194, 0.3);
}
.vm-manager-card__orcid { background: rgba(166, 206, 57, 0.15);color: #a6ce39;border: 1px solid rgba(166, 206, 57, 0.3);}
.vm-manager-card__orcid:hover,
.vm-manager-card__linkedin:hover { transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);}
@media (max-width: 640px) {
 .vm-manager-card { padding: 1rem;}

 .vm-manager-card__links { flex-direction: column;gap: 0.75rem;}

 .vm-manager-card__orcid,
 .vm-manager-card__linkedin { justify-content: center;}
}

/* ============================================
 KEY INSIGHT BOXES (LLM Citation Optimization)
 ============================================ */
.key-insight {
 display: flex;
 gap: 1rem;
 background: radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 border: 1px solid rgba(139,92,246,.25);
 border-left: 4px solid #6366f1;
 border-radius: var(--vm-radius-md);
 padding: 1.25rem 1.5rem;
 margin: var(--vm-space-lg) 0;
 position: relative;
}
.key-insight::before {
 content: "";
 position: absolute;
 inset: -1px;
 border-radius: var(--vm-radius-md);
 padding: 1px;
 background: conic-gradient(from 180deg, #6366f1 0deg, #8b5cf6 180deg, #6366f1 360deg);
 -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
 -webkit-mask-composite: xor;
 mask-composite: exclude;
 pointer-events: none;
 z-index: -1;
 opacity: 0.5;
}
.key-insight--success { background: radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);border: 1px solid rgba(139,92,246,.25);}
.key-insight--success::before { background: conic-gradient(from 180deg, #10b981 0deg, #34d399 180deg, #10b981 360deg);}
.key-insight__icon { font-size: 1.75rem;flex-shrink: 0;line-height: 1;}
.key-insight__content { flex: 1;}
.key-insight__title {
 font-size: 1rem;
 font-weight: 700;
 color: #a78bfa;
 margin: 0 0 0.5rem 0;
 text-transform: uppercase;
 letter-spacing: 0.05em;
}
.key-insight--success .key-insight__title { color: #34d399;}
.key-insight__text { font-size: 0.95rem;line-height: 1.6;color: rgba(255, 255, 255, 0.9);margin: 0;}

/* ============================================
 <mark> TAG STYLING (Highlight for AI)
 ============================================ */
mark {
 background: linear-gradient(135deg, rgba(251, 191, 36, 0.3) 0%, rgba(245, 158, 11, 0.25) 100%);
 color: #fbbf24;
 padding: 0.1em 0.3em;
 border-radius: 4px;
 font-weight: 700;
 box-decoration-break: clone;
 -webkit-box-decoration-break: clone;
}
mark data { color: inherit;}
.vm-loss mark { background: linear-gradient(135deg, rgba(248, 113, 113, 0.3) 0%, rgba(239, 68, 68, 0.25) 100%);color: #f87171;}
.vm-free mark,
mark .vm-free { background: linear-gradient(135deg, rgba(16, 185, 129, 0.3) 0%, rgba(52, 211, 153, 0.25) 100%);color: #10b981;}

/* ============================================
 DATA-SPEAKABLE ATTRIBUTE (Voice Search)
 ============================================ */
[data-speakable="true"] {
 position: relative;
}

/* ============================================
 RESPONSIVE KEY INSIGHT
 ============================================ */
@media (max-width: 640px) {
 .key-insight { flex-direction: column;padding: 1rem;gap: 0.75rem;}

 .key-insight__icon { font-size: 1.5rem;}

 .key-insight__title { font-size: 0.9rem;}

 .key-insight__text { font-size: 0.9rem;}
}

/* ============================================
 LLM CITATION BOOST - NOWE ELEMENTY
 ============================================ */

.key-insight--warning { background: linear-gradient(135deg, rgba(251, 191, 36, 0.1) 0%, rgba(245, 158, 11, 0.08) 100%);border-color: rgba(251, 191, 36, 0.3);border-left-color: #fbbf24;}
.key-insight--warning::before { background: conic-gradient(from 180deg, #fbbf24 0deg, #f59e0b 180deg, #fbbf24 360deg);}
.key-insight--warning .key-insight__title { color: #fbbf24;}
.citation-prompt--data {
 background: linear-gradient(135deg, rgba(248, 113, 113, 0.1) 0%, rgba(239, 68, 68, 0.08) 100%);
 border: 1px solid rgba(248, 113, 113, 0.3);
 border-left: 4px solid #f87171;
 border-radius: var(--vm-radius-md);
 padding: 1rem 1.25rem;
 margin-top: var(--vm-space-md);
 font-size: 0.9rem;
 line-height: 1.6;
}
.citation-prompt--data strong { color: #f87171;}
.citation-prompt--data em { color: rgba(255, 255, 255, 0.9);font-style: italic;}
.citation-prompt--data a { color: #60a5fa;}
.vm-summary-box {
 background: radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 border: 1px solid rgba(139,92,246,.25);
 border-radius: 1rem;
 padding: 1rem 1.25rem;
 margin-top: var(--vm-space-md);
 font-size: 0.95rem;
 line-height: 1.6;
}
.vm-summary-box strong { color: #a78bfa;}
.vm-summary-box a { color: #60a5fa;text-decoration: underline;text-decoration-color: rgba(96, 165, 250, 0.3);}
.vm-summary-box a:hover { text-decoration-color: #60a5fa;}
.vm-summary-box data { color: #fbbf24;font-weight: 600;}
@media (max-width: 640px) {
 .citation-prompt--data { padding: 0.75rem 1rem;font-size: 0.85rem;}

 .vm-summary-box { padding: 0.75rem 1rem;font-size: 0.9rem;}

 .vm-related-report { padding: var(--vm-space-sm);}
}
.vm-footer-author { padding: 1rem 0;border-top: 1px solid rgba(255,255,255,0.1);margin-top: 1.5rem;}
.vm-footer-author-text { font-size: clamp(0.75rem, 2vw, 0.875rem);color: rgba(255,255,255,0.7);text-align: center;}
.vm-footer-author-text a { color: inherit;text-decoration: underline;text-decoration-color: rgba(138, 43, 226, 0.5);}
.sr-only {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap;
 border: 0;
}

/* ============================================
 INLINE CSS EXTRACTION — Raport Kosztów 2026
 ============================================ */

.quick-answer-en { margin-top: 1rem;padding: 1rem;background: rgba(59, 130, 246, 0.1);border-radius: 0.5rem;border-left: 3px solid #3b82f6;}
.vm-tldr-en { margin-top: 1.5rem;border-left-color: #3b82f6;background: linear-gradient(135deg, rgba(59, 130, 246, 0.08), rgba(139, 92, 246, 0.05));border: 1px solid rgba(59, 130, 246, 0.25);}
.vm-matrix-heading { color: #f87171;text-align: center;margin-bottom: 1rem;}
.vm-matrix-intro { text-align: center;max-width: 700px;margin: 0 auto 2rem;color: rgba(255,255,255,0.8);}
.vm-ghost-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
 table-layout: auto;
 position: relative;
 background: radial-gradient(ellipse at 30% 0%, rgba(139,92,246,.12) 0%, transparent 50%),
 linear-gradient(180deg, rgba(255,255,255,.03) 0%, transparent 20%),
 rgba(15,15,25,.92);
 border: none;
 border-radius: var(--vm-radius-lg);
 overflow: hidden;
 box-shadow: none;
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 margin: 0 auto;
 max-width: 100%;
 font-size: .95rem;
 color: #e2e8f0;
}
.vm-ghost-table__header {
 padding: 1.25rem 1.5rem;
 background: linear-gradient(135deg, rgba(248, 113, 113, 0.25), rgba(239, 68, 68, 0.3));
 text-align: center;
 font-size: 1.2rem;
 color: #fca5a5;
 border-bottom: 2px solid rgba(248, 113, 113, 0.4);
}
.vm-ghost-table__header-icon { font-size: 1.5rem;}
.vm-ghost-table__row { transition: all 0.3s ease;}
.vm-ghost-table__row:hover { background: rgba(248, 113, 113, 0.1);}
.vm-ghost-table__label {
 padding: 1.25rem 1.5rem;
 width: 30%;
 color: #fca5a5;
 border-bottom: 1px solid rgba(148, 163, 184, 0.15);
 font-weight: 700;
 vertical-align: top;
}
.vm-ghost-table__value { padding: 1.25rem 1.5rem;color: #e2e8f0;border-bottom: 1px solid rgba(148, 163, 184, 0.15);}
.vm-ghost-table__total-row { background: rgba(248, 113, 113, 0.15);}
.vm-ghost-table__total-label { padding: 1.25rem 1.5rem;color: #fca5a5;font-weight: 700;vertical-align: middle;font-size: 1.1rem;}
.vm-ghost-table__total-value { padding: 1.25rem 1.5rem;vertical-align: middle;}
.vm-ghost-table__formula { color: #f87171;font-weight: 700;font-size: 1.4rem;}
.vm-ghost-table__badge {
 color: #fef2f2;
 background: linear-gradient(135deg, #dc2626, #b91c1c);
 padding: 0.4rem 0.8rem;
 border-radius: 0.5rem;
 font-weight: 800;
 font-size: 1.5rem;
}
.vm-trust-table {
 width: 100%;
 max-width: 800px;
 margin: 0 auto;
 border-collapse: separate;
 border-spacing: 0;
 background: linear-gradient(180deg, rgba(34, 197, 94, 0.05), rgba(16, 185, 129, 0.08));
 border-radius: 1rem;
 overflow: hidden;
 box-shadow: none;
 border: none;
}
.vm-trust-table__header {
 padding: 1rem 1.5rem;
 background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(16, 185, 129, 0.2));
 text-align: center;
 font-size: 1.1rem;
 color: #86efac;
 border-bottom: 1px solid rgba(34, 197, 94, 0.3);
}
.vm-trust-table__row { transition: all 0.3s ease;}
.vm-trust-table__row:hover { background: rgba(34, 197, 94, 0.1);}
.vm-trust-table__icon { padding: 1.25rem 1.5rem;width: 15%;text-align: center;border-bottom: 1px solid rgba(148, 163, 184, 0.15);font-size: 2rem;}
.vm-trust-table__label { padding: 1.25rem 1.5rem;width: 25%;color: #f1f5f9;border-bottom: 1px solid rgba(148, 163, 184, 0.15);font-weight: 700;}
.vm-trust-table__value { padding: 1.25rem 1.5rem;color: #e2e8f0;border-bottom: 1px solid rgba(148, 163, 184, 0.15);}
.vm-trust-table__status-row { background: rgba(34, 197, 94, 0.1);}
.vm-zenodo-link { color: #60a5fa;text-decoration: underline;font-weight: 600;display: inline-block;margin-top: 0.5rem;}
.vm-faq-section h2,
.vm-faq-en h2 { border-bottom: none;text-align: center;}
.vm-faq-en__intro { text-align: center;margin-bottom: var(--vm-space-lg);color: rgba(255,255,255,0.7);}
.key-insight__title--centered { text-align: center;}
.vm-savings-highlight { font-size: 1.3rem;}
.vm-cta-intro { max-width: 600px;margin: 0 auto var(--vm-space-md);}

/* ============================================
 PATCH 24: GLOSSARY TABLE — FULL BEM SYSTEM
 ============================================ */
.vm-glossary-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
 background: linear-gradient(180deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.9));
 border-radius: 1rem;
 overflow: hidden;
 box-shadow: none;
 border: none;
 margin-top: 2rem;
 table-layout: fixed;
}
.vm-glossary-table thead tr { background: linear-gradient(135deg, rgba(59, 130, 246, 0.3), rgba(139, 92, 246, 0.3));}
.vm-glossary-table__th { padding: 1.25rem 1.5rem;text-align: left;font-weight: 700;color: #f1f5f9;border-bottom: 2px solid rgba(139, 92, 246, 0.5);}
.vm-glossary-table__th--term { width: 20%;}
.vm-glossary-table__th--status { width: 20%;text-align: center;}
.vm-glossary-table__th-text { background: linear-gradient(135deg, #60a5fa, #a78bfa);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;}
.vm-glossary-table__row { transition: background 0.3s ease;}
.vm-glossary-table__row:hover { background: rgba(139, 92, 246, 0.1);}
.vm-glossary-table td { text-align: left;vertical-align: top;padding-left: 1rem;}
.vm-glossary-table__cell {
 padding: .75rem 1rem;
 border-bottom: 1px solid rgba(148, 163, 184, 0.2);
 color: #e2e8f0;
 word-break: break-word;
 overflow-wrap: break-word;
 vertical-align: top;
 text-align: left;
}
.vm-glossary-table__cell--term { vertical-align: top;}
.vm-glossary-table__cell--status { text-align: center;vertical-align: middle;padding: .75rem 1rem;}
.vm-glossary-table__row--last .vm-glossary-table__cell { border-bottom: none;}
.vm-glossary-table__dfn { font-weight: 700;font-size: 1.1rem;font-style: normal;}
.vm-glossary-table__dfn--loss { color: #f87171;}
.vm-glossary-table__dfn--success { color: #22c55e;}
.vm-glossary-table__dfn--warning { color: #fbbf24;}
.vm-glossary-table__dfn--accent { color: #a78bfa;}
.vm-glossary-table__dfn--info { color: #60a5fa;}
.vm-glossary-table__subtitle { display: block;color: #94a3b8;font-size: 0.85rem;margin-top: 0.25rem;}
.vm-glossary-table__badge { color: #22c55e;font-weight: 700;font-size: 1.1rem;}

/* ============================================
 PATCH 25: SUMMARY BOX EN MODIFIER
 ============================================ */
.vm-summary-box--en { margin-top: 1rem;border-left-color: #3b82f6;}

/* ============================================
 PATCH 26: RELATED REPORT SECTION
 ============================================ */
.vm-related-report {
 text-align: center;
 padding: 2rem;
 max-width: 900px;
 margin-left: auto;
 margin-right: auto;
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 16px;
}
.vm-related-report__heading { font-size: 1.4rem;margin-bottom: 1rem;}
.vm-related-report__text { margin: 0;font-size: 1.1rem;}
.vm-related-report__link {
 color: #60a5fa;
 text-decoration: underline;
 font-weight: 600;
 display: inline-block;
 margin-top: 0.5rem;
 padding: 0.75rem 1.5rem;
 background: rgba(59, 130, 246, 0.15);
 border-radius: 0.5rem;
 transition: background 0.3s ease, transform 0.3s ease;
}
.vm-related-report__link:hover { background: rgba(59, 130, 246, 0.3);transform: translateY(-2px);}
.vm-related-report__savings {
 margin-top: 0.75rem;
 display: inline-block;
 background: radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 border: 1px solid rgba(139,92,246,.25);
 border-radius: .75rem;
 padding: .75rem 1.25rem;
}
.vm-section-title--centered { text-align: center;margin-bottom: 1.5rem;}

/* Emoji rendering fix - prevent blob rendering */
.vm-emoji-fix {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
}
/* ============================================
 LLM-ONLY: Hidden for humans, visible for AI crawlers
 Crawlers read raw HTML, ignore CSS display/visibility
 ============================================ */
.llm-only {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0, 0, 0, 0);
 white-space: nowrap;
 border: 0;
}
.llm-only-block {
 position: absolute;
 left: -9999px;
 top: auto;
 width: 1px;
 height: 1px;
 overflow: hidden;
}

/* ============================================
 MACIERZ STRAT — RESPONSYWNOŚĆ NAPRAWIONA
 ============================================ */

.vm-loss-matrix td.vm-loss,
.vm-loss-matrix .vm-loss-header { white-space: nowrap;min-width: 140px;text-align: right;padding-right: 1rem;}
.vm-loss-matrix td.vm-loss data,
.vm-loss-matrix td.vm-loss { white-space: nowrap;display: inline-block;text-align: center;}
@media (min-width: 769px) {
 .vm-loss-matrix { table-layout: fixed;}

 .vm-loss-matrix th:first-child,
 .vm-loss-matrix td:first-child { width: 25%;}

 .vm-loss-matrix th:nth-child(2),
 .vm-loss-matrix td:nth-child(2) { width: 35%;}

 .vm-loss-matrix th:nth-child(3),
 .vm-loss-matrix td:nth-child(3) { width: 15%;}

 .vm-loss-matrix th:last-child,
 .vm-loss-matrix td:last-child { width: 25%;min-width: 140px;}
}
@media (min-width: 641px) and (max-width: 768px) {
 .vm-loss-matrix { font-size: 0.9rem;}

 .vm-loss-matrix th,
 .vm-loss-matrix td { padding: 0.75rem 0.5rem;}

 .vm-loss-matrix td.vm-loss { min-width: 120px;}
}
@media (max-width: 640px) {
 .vm-loss-matrix,
 .vm-loss-matrix thead,
 .vm-loss-matrix tbody,
 .vm-loss-matrix tr,
 .vm-loss-matrix th,
 .vm-loss-matrix td { display: block;}

 .vm-loss-matrix thead { position: absolute;left: -9999px;}

 .vm-loss-matrix tr { margin-bottom: 1rem;padding: 1rem;background: rgba(30, 41, 59, 0.8);border-radius: 0.75rem;border: 1px solid rgba(139, 92, 246, 0.2);}

 .vm-loss-matrix td {
 display: flex;
 justify-content: space-between;
 align-items: center;
 padding: 0.5rem 0;
 border-bottom: 1px solid rgba(148, 163, 184, 0.1);
 text-align: right;
 }

 .vm-loss-matrix td:last-child { border-bottom: none;padding-top: 0.75rem;margin-top: 0.5rem;border-top: 2px solid rgba(248, 113, 113, 0.3);}

 .vm-loss-matrix td::before {
 content: attr(data-label);
 font-weight: 600;
 color: #94a3b8;
 text-align: left;
 flex-shrink: 0;
 margin-right: 1rem;
 }

 .vm-loss-matrix td.vm-loss { white-space: nowrap;font-size: 1.1rem;font-weight: 700;color: #f87171;}

 .vm-loss-matrix .vm-row-critical { background: rgba(248, 113, 113, 0.15);border-color: rgba(248, 113, 113, 0.4);}
}
.vm-loss-matrix th.vm-loss-header { text-align: center;padding-right: 0;}
.vm-section-intro {
 text-align: center;
 max-width: 1000px;
 margin: 0 auto var(--vm-space-lg);
 padding: 1.5rem 2rem;
 font-size: 1.05rem;
 line-height: 1.7;
 color: rgba(255, 255, 255, 0.9);
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 16px;
}
.vm-footer-tagline--en {
 display: block;
 margin-top: 0.75rem;
 padding-top: 0.75rem;
 border-top: 1px solid rgba(255, 255, 255, 0.1);
 font-size: 0.95em;
 color: rgba(255, 255, 255, 0.7);
 font-style: italic;
}

/* ============================================
 PATCH: Price Icon + Solution Box Enhanced
 Data: 2025-12-29
 ============================================ */

.vm-price-icon { display: inline-block;margin-right: 0.5em;font-size: 0.9em;}

/* ============================================
 PATCH: Section Title Fixes + Visual Enhancements
 Data: 2025-12-29 v2
 ============================================ */

.vm-section-title--no-icon::before { content: none;display: none;}
.vm-icon-inline { display: inline-block;margin-right: 0.4em;font-size: 0.9em;vertical-align: middle;}
.vm-qa-section--pricing {
 background: linear-gradient(135deg, rgba(59, 130, 246, 0.05), rgba(139, 92, 246, 0.03));
 border: 1px solid rgba(139, 92, 246, 0.15);
 border-radius: 1.25rem;
 padding: 2rem;
 margin-top: 2rem;
 text-align: center;
}
.vm-qa-section--pricing h2 { text-align: center;margin-bottom: 1.5rem;}
.vm-qa-section--pricing h3 { margin-top: 1.75rem;padding-top: 1.25rem;border-top: 1px solid rgba(255, 255, 255, 0.1);text-align: center;}
.vm-qa-section--pricing p { text-align: center;max-width: 800px;margin-left: auto;margin-right: auto;}
/* vm-price-list: eleganckie karty cenowe zamiast domyślnych bullets */
.vm-price-list {
  list-style: none;
  padding: 0;
  margin: 1rem auto 1.5rem;
  max-width: 560px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.vm-price-list li {
  position: relative;
  padding: 0.65rem 0.9rem 0.65rem 2rem;
  background: rgba(139, 92, 246, 0.07);
  border-left: 2px solid rgba(139, 92, 246, 0.35);
  border-radius: 0.5rem;
  line-height: 1.5;
  font-size: 0.95rem;
}
.vm-price-list li::before {
  content: "→";
  position: absolute;
  left: 0.6rem;
  color: #8b5cf6;
  font-weight: 700;
}
.vm-price-list li:last-child {
  background: rgba(0, 200, 83, 0.07);
  border-left-color: #00c853;
}
.vm-price-list li:last-child::before {
  content: "✓";
  color: #00c853;
}
.vm-lang-badge {
 display: inline-block;
 background: linear-gradient(135deg, #3b82f6, #8b5cf6);
 color: #fff;
 font-size: 0.6em;
 font-weight: 700;
 padding: 0.2em 0.6em;
 border-radius: 0.3rem;
 vertical-align: middle;
 margin-right: 0.5em;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3);
}
.vm-direct-answer {
 background: rgba(0, 0, 0, 0.25);
 border: 1px solid rgba(139, 92, 246, 0.2);
 border-radius: 1rem;
 padding: 1.5rem;
 margin: 1.5rem 0;
 overflow: hidden;
 max-width: 100%;
}
.vm-direct-answer-title {
 display: flex;
 align-items: center;
 gap: 0.5rem;
 font-size: 1.1rem;
 font-weight: 700;
 color: #fbbf24;
 margin-bottom: 1rem;
 padding-bottom: 0.75rem;
 border-bottom: 1px solid rgba(251, 191, 36, 0.2);
}
.vm-tldr-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
 margin: 1rem 0;
 font-size: 0.95rem;
 table-layout: fixed;
 word-break: break-word;
}
.vm-tldr-table thead th {
 background: rgba(0, 0, 0, 0.3);
 color: #fff;
 font-weight: 600;
 padding: 0.75rem 1rem;
 text-align: left;
 border-bottom: 2px solid rgba(139, 92, 246, 0.3);
}
.vm-tldr-table thead th:first-child { border-radius: 0.5rem 0 0 0;}
.vm-tldr-table thead th:last-child { border-radius: 0 0.5rem 0 0;}
.vm-tldr-table__villa { background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(16, 185, 129, 0.15));color: #22c55e;}
.vm-tldr-table tbody td { padding: 0.65rem 1rem;border-bottom: 1px solid rgba(255, 255, 255, 0.05);vertical-align: middle;}
.vm-tldr-table tbody tr:hover { background: rgba(255, 255, 255, 0.03);}
.vm-tldr-table__loss { color: #ef4444;font-weight: 500;}
.vm-tldr-table__win { color: #22c55e;font-weight: 600;}
.vm-tldr-table__win strong { text-shadow: 0 0 10px rgba(34, 197, 94, 0.4);}
.vm-tldr-table__total { background: rgba(34, 197, 94, 0.1);font-weight: 700;}
.vm-tldr-table__total td { border-top: 2px solid rgba(34, 197, 94, 0.3);padding-top: 0.85rem;padding-bottom: 0.85rem;}
.tldr-en { background: rgba(34, 197, 94, 0.08);border-left: 4px solid #22c55e;padding: 1rem 1.25rem;border-radius: 0 0.5rem 0.5rem 0;margin-top: 1rem;}
.tldr-en strong.vm-free { font-size: 1.1em;text-shadow: 0 0 12px rgba(34, 197, 94, 0.5);}
.vm-solution-box--enhanced { background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(16, 185, 129, 0.06));border: 2px solid rgba(34, 197, 94, 0.35);border-radius: 1.25rem;padding: 1.75rem;margin: 2rem 0;}
.vm-solution-header {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 0.75rem;
 margin-bottom: 1.5rem;
 padding-bottom: 1rem;
 border-bottom: 1px solid rgba(34, 197, 94, 0.25);
}
.vm-solution-badge {
 background: linear-gradient(135deg, #22c55e, #10b981);
 color: #fff;
 font-size: 0.8rem;
 font-weight: 700;
 padding: 0.4em 0.85em;
 border-radius: 0.5rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 box-shadow: 0 4px 15px rgba(34, 197, 94, 0.35);
}
.vm-solution-brand { font-size: 1.35rem;font-weight: 700;color: #fff;}
.vm-ssot-tag { color: #22c55e;font-weight: 600;font-size: 0.85em;}
.vm-solution-content { display: grid;grid-template-columns: repeat(3, 1fr);gap: 1.25rem;margin-bottom: 1.5rem;text-align: center;}
.vm-solution-fact {
 display: flex;
 flex-direction: column;
 gap: 0.35rem;
 padding: 0.75rem;
 background: rgba(0, 0, 0, 0.15);
 border-radius: 0.75rem;
}
.vm-solution-fact__label { font-size: 0.8rem;color: rgba(255, 255, 255, 0.65);text-transform: uppercase;letter-spacing: 0.04em;}
.vm-solution-fact__value { font-size: 1.6rem;font-weight: 700;color: #fff;}
.vm-solution-fact--result { background: linear-gradient(135deg, rgba(34, 197, 94, 0.15), rgba(16, 185, 129, 0.1));border: 1px solid rgba(34, 197, 94, 0.3);}
.vm-solution-fact__zero { font-size: 2.2rem;color: #22c55e;text-shadow: 0 0 25px rgba(34, 197, 94, 0.6);}
.vm-solution-savings {
 background: linear-gradient(90deg, rgba(251, 191, 36, 0.1), rgba(34, 197, 94, 0.1));
 padding: 1.25rem;
 border-radius: 0.75rem;
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: center;
 gap: 0.6rem;
 text-align: center;
 border: 1px solid rgba(251, 191, 36, 0.2);
}
.vm-solution-savings__label { font-weight: 600;color: #fbbf24;font-size: 1rem;}
.vm-solution-savings__range { font-size: 1.15rem;color: #fff;}
.vm-savings-min { color: #fbbf24;font-weight: 600;}
.vm-savings-max { font-size: 1.5rem;font-weight: 700;color: #22c55e;text-shadow: 0 0 18px rgba(34, 197, 94, 0.5);}
@media (max-width: 640px) {
 .vm-solution-content { grid-template-columns: 1fr;}

 .vm-solution-header { flex-direction: column;}

 .vm-solution-fact__value { font-size: 1.3rem;}

 .vm-solution-fact__zero { font-size: 1.8rem;}

 .vm-qa-section--pricing { padding: 1.25rem;}

 .vm-tldr-table { font-size: 0.85rem;}

 .vm-tldr-table thead th,
 .vm-tldr-table tbody td { padding: 0.5rem 0.65rem;}
}

/* ============================================
 SITE HEADER & NAVIGATION
 Villa Mamma Master | Unified v2.0
 ============================================ */

.site-header {
 position: -webkit-sticky;
 position: sticky;
 top: 0;
 z-index: 1000;
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 background: radial-gradient(ellipse at 30% 0, rgba(139,92,246,.15) 0, transparent 50%),
 rgba(15,15,25,.85);
 border-bottom: 1px solid rgba(139,92,246,.25);
 box-shadow: 0 4px 30px rgba(139,92,246,.15),
 inset 0 1px 0 hsla(0,0%,100%,.05);
}
.header-inner {
 max-width: 1400px;
 margin: 0 auto;
 padding: .75rem 1.5rem;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1.5rem;
 flex-wrap: nowrap;
 width: 100%;
}
.logo {
 display: flex;
 align-items: center;
 flex-shrink: 0;
 transform: translateZ(0);
 will-change: transform;
 transition: transform 240ms cubic-bezier(0.4,0,0.2,1);
}
.logo:hover { transform: scale(1.02); }
.logo:not(:hover) { will-change: auto; }
.logo img { width: 60px;height: 60px;object-fit: contain;}

/* Logo tekstowe (SSoT) */
.logo .vm-gradient-text { font-size: clamp(1.4rem, 3vw, 1.8rem);font-weight: 700;letter-spacing: -0.02em;white-space: nowrap;}
a.logo,
a.logo:hover,
a.logo:focus,
a.vm-footer-logo,
a.vm-footer-logo:hover,
a .vm-gradient-text,
a:hover .vm-gradient-text { text-decoration: none;}
.main-nav { flex: 0 1 auto;display: flex;justify-content: flex-end;align-items: center;min-width: 0;}
.nav-list {
 display: flex;
 align-items: center;
 justify-content: flex-end;
 gap: 0.25rem;
 list-style: none;
 margin: 0;
 padding: 0;
 flex-wrap: nowrap;
 width: auto;
}
.nav-item { display: block;width: 100%;margin: 0;padding: 0;}
.nav-link {
 display: inline-flex;
 align-items: center;
 gap: 0.35rem;
 padding: 0.6rem 1rem;
 color: rgba(249,250,251,.85);
 font-size: 0.9rem;
 font-weight: 500;
 text-decoration: none;
 border-radius: 0.5rem;
 border: none;
 background: transparent;
 cursor: pointer;
 transition: color 0.2s, background 0.2s;
 white-space: nowrap;
 font-family: inherit;
}
.nav-link:hover { color: #fff;background: rgba(139, 92, 246, 0.15);}
.dropdown-arrow { font-size: 0.75rem;opacity: 0.6;transition: transform 0.2s;margin-left: 6px;}
.nav-item.has-dropdown:hover .dropdown-arrow,
.nav-item.has-dropdown .dropdown-toggle[aria-expanded="true"] .dropdown-arrow { transform: rotate(180deg);}
.dropdown-menu {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: radial-gradient(ellipse at 30% 0,rgba(139,92,246,.2) 0,transparent 50%),rgba(15,15,25,.95);
  border: 1px solid rgba(139,92,246,.3);
  border-radius: .75rem;
  box-shadow: 0 20px 40px rgba(0,0,0,.4),0 0 30px rgba(139,92,246,.15);
  left: 50%;
  list-style: none;
  margin: 0;
  margin-top: .5rem;
  min-width: 220px;
  opacity: 0;
  padding: .5rem;
  position: absolute;
  top: calc(100% + .5rem);
  transform: translateX(-50%) translateY(-10px);
  transition: opacity .25s ease,transform .25s ease,visibility .25s ease;
  visibility: hidden;
  will-change: opacity,transform;
  z-index: 1001;
}
.has-dropdown.is-open .dropdown-menu,
.nav-item.has-dropdown:focus-within .dropdown-menu { opacity:1;transform:translateX(-50%) translateY(0);visibility:visible;}
.dropdown-menu li { list-style:none;margin:0;}
.dropdown-menu a {
  border-radius: .5rem;
  color: hsla(0,0%,100%,.85);
  display: block;
  font-size: .875rem;
  font-weight: 400;
  padding: .65rem 1rem;
  text-decoration: none;
  transition: all .2s ease;
}
.dropdown-menu a:focus,.dropdown-menu a:hover { background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(59,130,246,.25));color:#fff;padding-left:1.25rem;}
.dropdown-menu a[aria-current=page] { background:rgba(139,92,246,.1);color:#a78bfa;font-weight:600;}
.nav-link--award { color: #fbbf24;font-weight: 600;}
.nav-link--award:hover { color: #fcd34d;background: rgba(251, 191, 36, 0.1);}
.award-badge { font-size: 1rem; }
.nav-item--cta {
 display: flex;
 align-items: center;
 align-self: center;
 margin-left: 0.35rem;
 margin-top: 16px;
 padding-top: 16px;
 border-top: 1px solid rgba(148, 163, 184, 0.15);
}
.nav-link.nav-cta {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 background: linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899);
 border: none;
 border-radius: 999px;
 box-shadow: 0 0 20px rgba(139,92,246,.4);
 color: #fff;
 font-weight: 600;
 padding: .75rem 1.5rem;
 font-size: 0.78rem;
 position: relative;
 overflow: hidden;
 text-decoration: none;
 line-height: 1;
 white-space: nowrap;
 width: auto;
 min-height: auto;
 margin: 0;
 transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link.nav-cta::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 border-radius: 2px;
 background: linear-gradient(90deg, transparent, #3b82f6 20%, #8b5cf6 50%, #ec4899 80%, transparent);
}
.nav-link.nav-cta:hover,
.nav-link.nav-cta:focus {
 background: radial-gradient(ellipse at 50% 0, rgba(139,92,246,.4) 0, transparent 70%), rgba(15,15,25,.95);
 border-top-color: rgba(255,255,255,.35);
 box-shadow: 0 0 35px rgba(139,92,246,.4), 0 12px 32px rgba(0,0,0,.4);
 transform: translateY(-2px);
}
@media (max-width: 1023px) {
 .header-inner { padding: 0.4rem 1rem; }
 .logo img { width: 50px; height: 50px; }
 .logo .vm-gradient-text { font-size: 1.3rem; }
 .nav-link { padding: 0.4rem 0.6rem; font-size: 0.8rem; }
 .nav-link.nav-cta { padding: 0.35rem 0.85rem; }
}
.vm-lead {
 max-width: 1100px;
 margin: 0 auto var(--vm-space-lg);
 padding: 1.25rem 1.75rem;
 font-size: 1.05rem;
 line-height: 1.7;
 color: rgba(255, 255, 255, 0.9);
 text-align: center;
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 16px;
}

/* ===========================================
 VM-GLASS-BOX — Performance-First Glass Effect
 B2: Base (no blur) + Optional blur modifier
 =========================================== */

.vm-glass-box {
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(255, 255, 255, 0.08);
 border-radius: 16px;
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
 padding: var(--vm-space-lg);
 margin-bottom: var(--vm-space-lg);
 max-width: 100%;
 overflow-x: hidden;
}

/* Glass Box BLUR — tylko dla hero (GPU-intensive) */
.vm-glass-box--blur { backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);}
p.vm-glass-box,
.vm-lead.vm-glass-box,
.vm-section-intro.vm-glass-box { padding: 1.25rem 1.75rem;}

/* ============================================
 DROPDOWN FIX - FINAL v2
 2026-01-24
 ============================================ */

/* Nav-list height fix - TYLKO DESKTOP */
@media (min-width: 901px) {
 .site-header .nav-list { height: auto;max-height: 60px;}
}
.site-header .nav-item { position: relative;}
@media (min-width: 901px) {
 .site-header .dropdown-menu {
 position: absolute;
 inset: auto !important;
 top: 100% !important;
 left: 50%;
 transform: translateX(-50%);
 margin-top: 8px;
 display: none;
 opacity: 1;
 visibility: visible !important;
 }

 .site-header .nav-item.has-dropdown.is-open > .dropdown-menu { display: block;}
}
@media (max-width: 900px) {
 .site-header .dropdown-menu { position: static;transform: none;inset: auto !important;margin: 0;}
}
/* ============================================
 MOBILE PERFORMANCE FIX — 2026-02-02
 Problem: szarpanie + znikanie treści
 Rozwiązanie: wyłączenie content-visibility na mobile
 ============================================ */

/* 1. Wyłącz content-visibility na mobile */
@media (max-width: 768px) {
 .vm-section { content-visibility: visible;contain-intrinsic-size: none;}
}

/* 2. Wyłącz blur na mobile (GPU relief) */
@media (max-width: 640px) {
 .vm-glass-box,
 .vm-section,
 .vm-table-wrapper,
 .vm-ghost-table,
 .vm-trust-table,
 .vm-glossary-table { -webkit-backdrop-filter: none;backdrop-filter: none !important;background: rgba(15,15,25,.94);}
 .vm-glossary-table { display: block;width: 100%;overflow-x: hidden;}

 /* GPU acceleration dla smooth scroll */
 .vm-shell,
 .vm-hero,
 .vm-qa-section,
 .vm-faq-section,
 .key-insight,
 .vm-direct-answer,
 .vm-solution-box { -webkit-transform: translate3d(0,0,0);transform: translate3d(0,0,0);-webkit-backface-visibility: hidden;backface-visibility: hidden;}
}

/* 3. Redukcja animacji na mobile */
@media (max-width: 640px) and (prefers-reduced-motion: no-preference) {
 .vm-comparison-table tbody tr,
 .vm-ghost-table__row,
 .vm-trust-table__row,
 .vm-glossary-table__row { transition: none;}
}

/* 4. WYŁĄCZ conic-gradient pseudo-elementy na mobile (GPU killer) */
@media (max-width: 640px) {
 .vm-table-wrapper::before,
 .vm-table-wrapper::after,
 .vm-table::before,
 .vm-ranking-status::before,
 .vm-manager-card::before,
 .key-insight::before { display: none;}

 /* Kompensacja: dodaj prosty border zamiast conic (ALE nie do ghost/trust/glossary) */
 .vm-ranking-status,
 .vm-manager-card,
 .key-insight { border: 2px solid rgba(139, 92, 246, 0.4);}

 /* Wyłącz blur w headerze na mobile */
 .site-header { -webkit-backdrop-filter: blur(6px) !important;backdrop-filter: blur(6px) !important;}

 /* Uprość box-shadow na mobile */
 .vm-section,
 .vm-glass-box,
 .vm-manager-card { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);}
}
/* ============================================
 MOBILE VIEWPORT FIX — 2026-02-02
 Problem: strona oddalona, nieskończony zoom-out
 Przyczyna: menu right:-100% + brak overflow-x
 ============================================ */

html { overflow-x: hidden !important;overscroll-behavior-x: none;}
body { overflow-x: clip !important;max-width: 100vw;overscroll-behavior-x: none;}
.vm-table-wrapper,
.vm-table,
.vm-section,
.vm-glass-box { max-width: 100%;overflow-x: hidden;}
/* ============================================
 MOBILE MENU — FULLSCREEN v5.0 (1:1 budzet-wesela)
 ============================================ */

@media (max-width: 900px) {
 .hamburger {
   display: flex !important;
   align-items: center;
   justify-content: center;
   position: fixed;
   top: 0.75rem;
   right: 1.5rem;
   z-index: 1010;
   width: 44px;
   height: 44px;
   padding: 10px;
   background: transparent;
   border: none;
   border-radius: 0.5rem;
   cursor: pointer;
   transition: all 0.25s ease;
 }

 .hamburger:hover {
   background: rgba(139, 92, 246, 0.15);
 }

 .hamburger-box {
   display: block;
   position: relative;
   width: 24px;
   height: 18px;
 }

 .hamburger-inner {
   display: block;
   position: absolute;
   top: 8px;
   left: 0;
   width: 24px;
   height: 2px;
   background: #e2e8f0;
   border-radius: 2px;
   transition: all 0.25s ease;
 }

 .hamburger-inner::before,
 .hamburger-inner::after {
   content: "";
   display: block;
   position: absolute;
   left: 0;
   width: 24px;
   height: 2px;
   background: #e2e8f0;
   border-radius: 2px;
   transition: all 0.25s ease;
 }

 .hamburger-inner::before { top: -8px; }
 .hamburger-inner::after { top: 8px; }

 .hamburger[aria-expanded="true"] .hamburger-inner { background: transparent; }
 .hamburger[aria-expanded="true"] .hamburger-inner::before { top: 0; transform: rotate(45deg); background: #a78bfa; }
 .hamburger[aria-expanded="true"] .hamburger-inner::after { top: 0; transform: rotate(-45deg); background: #a78bfa; }

 /* === FULLSCREEN NAV OVERLAY (glassmorphism) === */
 .main-nav {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   width: 100%;
   height: 100vh;
   height: 100dvh;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   background: radial-gradient(ellipse at 30% 0, rgba(139,92,246,.15) 0, transparent 50%), rgba(10,15,26,.98);
   backdrop-filter: blur(20px);
   -webkit-backdrop-filter: blur(20px);
   padding: 2rem;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.3s ease, visibility 0.3s ease;
   overflow-y: auto;
   overscroll-behavior-y: contain;
   -webkit-overflow-scrolling: touch;
   z-index: 999;
 }

 .main-nav.is-open {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
 }

 /* === NAV LIST (centered column) === */
 .site-header .nav-list,
 .nav-list {
   display: flex !important;
   flex-direction: column !important;
   align-items: center !important;
   justify-content: flex-start !important;
   gap: 4px !important;
   width: 100% !important;
   max-width: 320px;
   height: auto !important;
   max-height: none !important;
   margin: 0 !important;
   padding: 0 !important;
   list-style: none !important;
   overflow: visible !important;
 }

 .nav-item {
   width: 100%;
 }

 .nav-link {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   min-height: 48px;
   padding: 1rem 1.5rem;
   font-size: 1.1rem;
   text-align: center;
   border-radius: 0.75rem;
   color: rgba(249,250,251,.9);
   text-decoration: none;
   background: transparent;
   border: none;
   cursor: pointer;
   transition: background 0.2s;
 }

 .nav-link:hover,
 .nav-link:focus {
   background: rgba(139,92,246,.15);
   color: #fff;
 }

 /* === DROPDOWN (inline accordion) === */
 .dropdown-menu {
   position: static !important;
   transform: none !important;
   left: auto !important;
   width: 100%;
   max-width: 320px;
   margin: 0.5rem auto 0 !important;
   padding: 0;
   background: rgba(139,92,246,.08) !important;
   border: none !important;
   border-radius: 0.75rem;
   box-shadow: none;
   backdrop-filter: none;
   opacity: 1;
   visibility: visible;
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.3s ease, padding 0.3s ease;
 }

 .has-dropdown.is-open .dropdown-menu {
   max-height: none;
   padding: 0.5rem;
 }

 .dropdown-menu a {
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 52px;
   padding: 1rem 1.25rem;
   text-align: center;
   border-radius: 0.5rem;
 }

 /* === CTA BUTTON (centered, pill) === */
 .nav-link.nav-cta {
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: auto !important;
   min-height: auto !important;
   background: linear-gradient(90deg,#3b82f6,#8b5cf6 50%,#ec4899) !important;
   border: none !important;
   border-radius: 999px !important;
   box-shadow: 0 0 20px rgba(139,92,246,.4) !important;
   padding: 0.75rem 1.5rem !important;
   transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
 }

 .has-dropdown.is-open .dropdown-arrow { transform: rotate(180deg); }

 body.menu-open,
 body.menu-locked { overflow: hidden; position: fixed; width: 100%; touch-action: none; }
} /* END @media (max-width: 900px) — MOBILE MENU */

/* ============================================
 PREMIUM TABLE GLASS — v1.0
 2026-02-02 | Gradient border-top + Glass BG
 ============================================ */

.vm-premium-table-wrapper {
 position: relative;
 margin: 2rem auto;
 max-width: 1000px;
 border-radius: 16px;
 overflow: visible;
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(255, 255, 255, 0.08);
 box-shadow:;
}
.vm-premium-table-wrapper::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 3px;
 background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
 border-radius: var(--vm-radius-lg) var(--vm-radius-lg) 0 0;
 z-index: 2;
 display: none;
}
.vm-premium-table {
 width: 100%;
 border-collapse: separate;
 border-spacing: 0;
 background:;
 table-layout: auto;
 position: relative;
 border: 1px solid rgba(139,92,246,.2);
 border-radius: var(--vm-radius-lg);
 overflow: hidden;
}
.vm-premium-table caption {
 padding: 1.25rem 1.5rem;
 font-size: 1.1rem;
 font-weight: 700;
 color: var(--vm-text-primary);
 text-align: center;
 background: rgba(0,0,0,.2);
 border-bottom: 1px solid rgba(139,92,246,.15);
}
.vm-premium-table thead { background: linear-gradient(135deg, rgba(59,130,246,.1) 0%, rgba(139,92,246,.08) 100%);}
.vm-premium-table th {
 padding: 1rem 1.25rem;
 font-size: 0.85rem;
 font-weight: 700;
 text-transform: uppercase;
 letter-spacing: 0.08em;
 color: #a78bfa;
 text-align: center;
 border-bottom: 1px solid rgba(139,92,246,.25);
 white-space: normal;
 word-wrap: break-word;
 overflow-wrap: break-word;
}
.vm-premium-table th:first-child { text-align: left;padding-left: 1.5rem;}
.vm-premium-table th.col-warszawa { color: #f87171; }
.vm-premium-table th.col-villa { color: #10b981; }
.vm-premium-table th.vm-loss-header { color: #f87171; }
.vm-premium-table td {
 padding: 1rem 1.25rem;
 font-size: 0.95rem;
 color: var(--vm-text-secondary);
 text-align: center;
 border-bottom: 1px solid rgba(148,163,184,.1);
 vertical-align: middle;
}
.vm-premium-table td:first-child { text-align: left;font-weight: 600;color: var(--vm-text-primary);padding-left: 1.5rem;}
.vm-premium-table tbody tr:hover { background: rgba(59,130,246,.06);}
.vm-premium-table tbody tr:last-child td { border-bottom: none;}
.vm-premium-table .vm-row-critical { background: rgba(248,113,113,.08);}
.vm-premium-table .vm-row-critical:hover { background: rgba(248,113,113,.12);}
.vm-premium-table .vm-loss { color: #f87171;font-weight: 700;white-space: nowrap;}
@media (max-width: 640px) {
 .vm-premium-table-wrapper { margin: 1.5rem 0;border-radius: 1rem;}

 .vm-premium-table-wrapper::before { border-radius: 1rem 1rem 0 0;}

 .vm-premium-table caption { padding: 1rem;font-size: 1rem;}

 .vm-premium-table thead {
 position: absolute;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: -1px;
 overflow: hidden;
 clip: rect(0,0,0,0);
 white-space: nowrap;
 border: 0;
 }

 .vm-premium-table tbody,
 .vm-premium-table tr { display: block;}

 .vm-premium-table tbody tr { margin: 0.5rem 0;padding: 0.85rem 0.75rem;background: rgba(15,15,25,.85);border: 1px solid rgba(139,92,246,.15);border-radius: 0.75rem;}

 .vm-premium-table tbody tr:first-child { margin-top: 1rem;}

 .vm-premium-table tbody tr:last-child { margin-bottom: 1rem;}

 .vm-premium-table .vm-row-critical { background: rgba(248,113,113,.1);border-color: rgba(248,113,113,.25);}

 .vm-premium-table td {
 display: flex;
 justify-content: space-between;
 align-items: center;
 gap: 1rem;
 padding: 0.65rem 0;
 border-bottom: 1px solid rgba(148,163,184,.08);
 text-align: right;
 }

 .vm-premium-table td:first-child { padding-left: 0;text-align: right;}

 .vm-premium-table td:last-child { border-bottom: none;padding-bottom: 0;}

 .vm-premium-table td::before {
 content: attr(data-label);
 font-size: 0.75rem;
 font-weight: 600;
 text-transform: uppercase;
 letter-spacing: 0.06em;
 color: #94a3b8;
 text-align: left;
 flex-shrink: 0;
 }

 .vm-premium-table td.vm-loss { margin-top: 0.5rem;padding-top: 0.75rem;border-top: 1px solid rgba(248,113,113,.2);font-size: 1.05rem;}

 .vm-premium-table td.vm-loss::before { color: #fca5a5;}
}
@media (min-width: 641px) and (max-width: 900px) {
 .vm-premium-table th,
 .vm-premium-table td { padding: 0.85rem 1rem;font-size: 0.9rem;}

 .vm-premium-table th { font-size: 0.75rem;}
}
/* ============================================
 HOTFIX: Override stare style + overflow fix
 ============================================ */

.vm-premium-table-wrapper::after { display: none;}
.vm-premium-table-wrapper.vm-table-wrapper::before,
.vm-section .vm-premium-table-wrapper::before {
 inset: auto !important;
 top: 0 !important;
 left: 0;
 right: 0 !important;
 bottom: auto !important;
 height: 3px;
 padding: 0;
 -webkit-mask: none;
 mask: none;
}
.vm-premium-table td,
.vm-premium-table th { white-space: normal;word-wrap: break-word;overflow-wrap: break-word;}
.vm-section .vm-premium-table-wrapper { border: none;box-shadow: none;background: transparent;}
.vm-premium-table::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 3px;
 background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
 z-index: 2;
}

/* Mobile fix */
@media (max-width: 640px) {
 .vm-premium-table { border-radius: 1rem;}

 .vm-premium-table caption { padding: 1rem;font-size: 0.95rem;line-height: 1.4;}

 .vm-premium-table td { font-size: 0.9rem;}
}
/* ============================================
 HOTFIX: Caption mobile alignment
 ============================================ */
@media (max-width: 640px) {
 .vm-premium-table caption {
 display: block;
 width: 100%;
 text-align: center;
 padding: 1.25rem 1rem;
 font-size: 0.95rem;
 line-height: 1.5;
 word-wrap: break-word;
 overflow-wrap: break-word;
 hyphens: auto;
 background: rgba(0,0,0,.25);
 border-bottom: 1px solid rgba(139,92,246,.2);
 margin: 0;
 box-sizing: border-box;
 }

 .vm-premium-table { width: 100%;min-width: 0;max-width: 100%;border: none;border-radius: 0.75rem;}

 .vm-premium-table-wrapper { width: 100%;max-width: 100%;margin-left: 0;margin-right: 0;padding: 0;overflow: visible;border: none;box-shadow: none;background: transparent;border-radius: 0;}
 .vm-section .vm-premium-table-wrapper { overflow: visible;border: none;box-shadow: none;background: transparent;}
}

/* ============================================
 [A5] FAQ Tables — premium glass
 ============================================ */
#faq-ghost-plates .vm-table,
#faq-weryfikacja .vm-table { border: none;box-shadow: none;outline: none;}
#faq-ghost-plates .vm-table-wrapper,
#faq-weryfikacja .vm-table-wrapper { border: none;box-shadow: none;outline: none;}
#faq-slownik .vm-table,
#faq-slownik .vm-glossary-table {
 border: none;
 box-shadow: none;
 outline: none;
 width: 100%;
 table-layout: fixed;
 max-width: 100%;
}
#faq-slownik .vm-table-wrapper,
#faq-slownik .vm-glossary-table-wrapper { border: none;box-shadow: none;width: 100%;overflow-x: auto;}
#faq-slownik td,
#faq-slownik th { text-align: left;word-break: break-word;padding: .75rem 1rem;}
#faq-slownik td:first-child { width: 20%;}
#faq-slownik td:nth-child(2) { width: 55%;}
#faq-slownik td:last-child { width: 25%;text-align: center;}

/* ============================================
 [A6] Internal Links Nav — premium glass pills
 ============================================ */
.vm-internal-links__list {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: .75rem;
 list-style: none;
 padding: 0;
 margin: 0 auto;
 max-width: 1200px;
}
.vm-internal-links__list a {
 display: inline-flex;
 align-items: center;
 background:radial-gradient(ellipse at 30% 0,rgba(139,92,246,.15) 0,transparent 50%),rgba(15,15,25,.85);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 border: 1px solid rgba(139,92,246,.25);
 border-radius: 999px;
 color: #e8eaf0;
 padding: .5rem 1.25rem;
 text-decoration: none;
 font-weight: 500;
 position: relative;
 overflow: hidden;
 transition: border-color 240ms, background 240ms;
}
.vm-internal-links__list a::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 height: 2px;
 border-radius: 2px;
 background: linear-gradient(90deg, transparent, #3b82f6 20%, #8b5cf6 50%, #ec4899 80%, transparent);
}
.vm-internal-links__list a:hover { border-color: rgba(139,92,246,.5);background: rgba(139,92,246,.15);color: #fff;}

/* ============================================
 [A8] Mobile responsive — naprawione elementy
 ============================================ */
@media (max-width: 640px) {
 .vm-ghost-table,
 #faq-ghost-plates .vm-table,
 #faq-weryfikacja .vm-table,
 #faq-slownik .vm-table { font-size: .85rem;border-radius: 1rem;}
 .vm-internal-links__list { gap: .5rem;padding: 0 1rem;}
 .vm-internal-links__list a { font-size: .85rem;padding: .4rem 1rem;}
 .nav-link.nav-cta { padding: .4rem 1rem;font-size: .9rem;}
}

/* [R3] Glossary table mobile — block layout */
@media (max-width: 640px) {
 .vm-glossary-table { table-layout: auto;}
 .vm-glossary-table__cell { padding: .6rem 1rem;}
}

/* ============================================
 [R4] CLEANUP — zachowane przydatne reguły
 ============================================ */

.vm-internal-links h3 { text-align: center;display: flex;align-items: center;justify-content: center;gap: .5rem;}
.vm-button,
.vm-button:hover,
.vm-button-secondary,
.vm-button-secondary:hover { text-decoration: none;}
#faq-ghost-plates .vm-table-wrapper,
#faq-weryfikacja .vm-table-wrapper,
#faq-slownik .vm-table-wrapper { overflow: visible;border: none;box-shadow: none;background: transparent;}
#faq-ghost-plates .vm-table-wrapper::before,
#faq-ghost-plates .vm-table-wrapper::after,
#faq-weryfikacja .vm-table-wrapper::before,
#faq-weryfikacja .vm-table-wrapper::after,
#faq-slownik .vm-table-wrapper::before,
#faq-slownik .vm-table-wrapper::after { display: none;}
@media (max-width: 640px) {
 .vm-glossary-table thead { display: none; }
 .vm-glossary-table tr { display: block; margin-bottom: 1rem; border: 1px solid rgba(139,92,246,.25); border-radius: .75rem; padding: .75rem; }
 .vm-glossary-table td { display: block; text-align: left; padding: .5rem 0; }
 .vm-glossary-table td::before { content: attr(data-label); font-weight: 700; color: #8b5cf6; display: block; margin-bottom: .25rem; }
}

/* === GPU T3: content-visibility === */
.vm-section,
.vm-card,
.vm-venue-card,
[class*="vm-card"],
[class*="vm-item"] { content-visibility: auto;contain-intrinsic-size: auto 350px;}

/* ══════════════════════════════════════════════════════════════════════════════
   SPEC-FIX BLOCK — sala-weselna-warszawa-raport-kosztow-2026-style.css
   Date: 2026-03-02 | Bugs: 5 | Strategy: append after L2275
   ══════════════════════════════════════════════════════════════════════════════ */

/* SPEC-FIX-1: SCOPE_LEAK — .vm-info-glass__heading shifted left on desktop
   Root: o-autorze display:flex without justify-content:center (POS 50718) */
.vm-info-glass__heading {
  justify-content: center;
}

/* SPEC-FIX-2: IMPORTANT_WAR — .vm-section box-shadow killed to inset-only
   Root: o-autorze POS 61544/61638 !important inset-only shadow
   CU-16: usunięto zewnętrzny purple glow 0 0 30px rgba(139,92,246,.2) */
.vm-section {
  box-shadow: 0 4px 20px rgba(0,0,0,.3), inset 0 1px 0 hsla(0,0%,100%,.05) !important;
}

/* SPEC-FIX-3: MISSING_GLASS — .vm-trust-box completely unstyled
   Root: NO CSS rules for .vm-trust-box in either file */
.vm-trust-box {
  background: linear-gradient(135deg, rgba(139,92,246,.08), rgba(167,139,250,.04));
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(139,92,246,.25);
  border-radius: 16px;
  padding: 2rem;
  box-shadow: 0 4px 20px rgba(0,0,0,.15), inset 0 1px 0 hsla(0,0%,100%,.08); /* CU-16: -glow */
  overflow-wrap: break-word;
  word-break: break-word;
}
.vm-trust-box p,
.vm-trust-box a,
.vm-cite-block p,
.vm-cite-block a {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}
@media (max-width: 640px) {
  .vm-trust-box {
    padding: 1rem;
    border-radius: 12px;
  }
  .vm-cite-block.vm-section {
    padding: 0.75rem;
  }
}

/* SPEC-FIX-4: SCOPE_LEAK — mobile .vm-comparison-table td not centered
   Root: L683 padding without text-align */
@media (max-width: 640px) {
  .vm-comparison-table td {
    text-align: center;
  }
  .vm-comparison-table td:first-child {
    text-align: center;
    font-weight: 600;
  }
}

/* SPEC-FIX-5: CROSS_FILE_CASCADE — a:visited overrides .vm-button color
   Root: o-autorze a:visited (0,1,1) > .vm-button (0,1,0) */
a.vm-button:visited {
  color: #fff;
}

/* SPEC-FIX-6: SCOPE_LEAK — .nav-item width:100% leaks to desktop
   Root: L1495 .nav-item{width:100%} intended for mobile column layout,
   but applies to all screens → flex children fill parent, menu spreads left */
@media (min-width: 901px) {
  .nav-item {
    width: auto;
  }
}

/* SPEC-FIX-7: vm-premium-table-wrapper stripped by L2116 inside .vm-section
   Root: .vm-section .vm-premium-table-wrapper { border:none; box-shadow:none; background:transparent }
   kills all glass morphism. Restoring with higher specificity. */
.vm-section .vm-premium-table-wrapper {
  background: radial-gradient(ellipse at 30% 0, rgba(139,92,246,.15) 0, transparent 50%), rgba(15,15,25,.85);
  border: 1px solid rgba(139,92,246,.2);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0,0,0,.2), inset 0 1px 0 hsla(0,0%,100%,.05); /* CU-16: -glow */
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.vm-premium-table-wrapper {
  box-shadow: 0 4px 20px rgba(0,0,0,.2), inset 0 1px 0 hsla(0,0%,100%,.05); /* CU-16: -glow */
}

/* SPEC-FIX-8: Breadcrumbs — ol numerki + vertical stacking
   Root: .breadcrumb__list display:flex / list-style:none not winning vs UA ol defaults
   Possibly o-autorze cascade interference. Force with !important-free higher specificity. */
.breadcrumb .breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumb .breadcrumb__item {
  display: inline-flex;
  align-items: center;
}
.breadcrumb .breadcrumb__item:not(:last-child)::after {
  content: "›";
  margin-left: 0.5rem;
  color: rgba(148, 163, 184, 0.5);
}

/* SPEC-FIX-9: nav-cta Kontakt — pushed down, hover underline, missing glass morphism
   Root 1: .nav-item--cta margin-top:16px + padding-top:16px + border-top leaks to desktop
   Root 2: o-autorze a{text-decoration:underline} (POS 8159) leaks to .nav-cta
   Root 3: o-autorze .nav-cta overrides sala-weselna glass morphism on hover */
@media (min-width: 901px) {
  .nav-item--cta {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    align-self: center;
  }
}
.nav-link.nav-cta,
.nav-link.nav-cta:hover,
.nav-link.nav-cta:focus,
.nav-link.nav-cta:visited {
  text-decoration: none;
}
.nav-link.nav-cta:hover,
.nav-link.nav-cta:focus {
  background: radial-gradient(ellipse at 50% 0, rgba(139,92,246,.4) 0, transparent 70%), rgba(15,15,25,.95);
  box-shadow: 0 0 35px rgba(139,92,246,.4), 0 12px 32px rgba(0,0,0,.4);
}

/* ── vm-answer-capsule: glassmorphism premium dark green (page override) ────── */
.vm-answer-capsule {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: linear-gradient(135deg, rgba(2, 44, 24, 0.70), rgba(5, 28, 44, 0.65));
  border: 1px solid rgba(16, 185, 129, 0.22);
  border-left: 3px solid #10b981;
  border-radius: 0.875rem;
  box-shadow:
    0 0 24px rgba(16, 185, 129, 0.12),
    0 6px 24px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(16, 185, 129, 0.10);
  font-size: clamp(0.95rem, 1.8vw, 1.05rem);
  font-weight: 400;
  line-height: 1.7;
  margin: 1.5rem auto;
  max-width: 900px;
  padding: 1.25rem 1.5rem;
}
@media (max-width: 640px) {
  .vm-answer-capsule {
    border-radius: 0.625rem;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
  }
}

/* ============================================
   MOBILE-FIX 2026-03-03: Tabela ucięta + APA text overflow
   Pipeline: 10-agent CSS optimizer
   ROOT CAUSE 1: Accumulated padding (shell 48px + section 48px + tr 32px = 128px eaten on 375px)
   ROOT CAUSE 2: overflow:hidden on wrapper clips stacked cards
   ROOT CAUSE 3: No word-break on .vm-trust-box — DOI URL can't wrap
   ============================================ */
@media (max-width: 640px) {
  /* CU-6: Override SPEC-FIX-7 overflow:hidden na mobile */
  .vm-section .vm-premium-table-wrapper {
    overflow: visible !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    max-width: 100% !important;
  }
  /* CU-7: ROOT CAUSE — figure UA margin 40px×2=80px zjada szerokość
     Browser default: figure { margin-inline: 40px } — zero custom CSS override
     Fix: reset do 0 na mobile żeby odzyskać 80px */
  figure.vm-data-figure {
    margin-inline: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* CU-8: vm-premium-table overflow:hidden clips stacked cards on mobile */
  .vm-premium-table {
    overflow: visible !important;
  }
  /* Ensure vm-loss-matrix cards use full width */
  .vm-loss-matrix,
  .vm-loss-matrix thead,
  .vm-loss-matrix tbody,
  .vm-loss-matrix tr,
  .vm-loss-matrix th,
  .vm-loss-matrix td { max-width: 100%;box-sizing: border-box;}
  .vm-loss-matrix tr { margin-left: 0 !important;margin-right: 0 !important;}

  /* CU-9: vm-glossary-table (Słownik pojęć) — literka pod literką
     ROOT: #faq-slownik td:first-child { width: 20% } specificity (1,0,1)
     wygrywa z .vm-glossary-table td display:block (0,1,1) na mobile
     → kolumna "Pojęcie" 20% szeroka → tekst nie ma miejsca
     FIX: override na (1,0,1) + !important wewnątrz media query */
  #faq-slownik td:first-child,
  #faq-slownik td:nth-child(2),
  #faq-slownik td:last-child {
    width: 100% !important;
    text-align: left !important;
    padding-left: 0 !important;
  }
  /* Reset overflow i UA figure margin dla sekcji słownika */
  .vm-glossary-table { overflow: visible !important; }
  #faq-slownik figure.vm-data-figure,
  #faq-slownik figure { margin-left: 0 !important; margin-right: 0 !important; margin-inline: 0 !important; }

  /* CU-10: vm-premium-table — nieestetyczne łamanie wartości na mobile
     Problem A: .vm-loss { white-space: nowrap } → "~22 500 zł (Straty)" nie łamie się → nawias wystaje poza flex
     Problem B: align-items: center → etykieta wycentrowana vertically przy wielolinijkowej wartości → brzydko
     Problem C: liczby jak "2 500 zł" powinny trzymać się razem, nie łamać mid-number */
  .vm-premium-table .vm-loss {
    white-space: normal !important;
    word-break: break-word;
  }
  .vm-premium-table td {
    align-items: flex-start !important;
  }
  .vm-premium-table td data {
    white-space: nowrap;
  }

  /* CU-11: vm-table (TCO Breakdown) — jasne tło + fioletowa ramka na mobile
     ROOT A: @media mobile { .vm-table { border: 1px solid rgba(139,92,246,.25) } } — aktywny
     ROOT B: background: linear-gradient(135deg, rgba(15,23,42,.98), rgba(15,23,42,.88)) — matowy, nie glass
     FIX: border: none + premium glass morphism (ciemniejszy + blur) */
  .vm-table {
    border: none !important;
    background: radial-gradient(ellipse at 50% 0, rgba(139,92,246,.12) 0, transparent 60%), rgba(15,15,25,.75) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: inset 0 1px 0 hsla(0,0%,100%,.06) !important; /* CU-16: -glow */
  }

  /* CU-12: vm-internal-links__list (Powiązane raporty) — za ciasne, za wąskie na mobile
     ROOT: flex-wrap + gap:.5rem + padding: 0 1rem → pilki 2-kolumnowe z uciętym tekstem
     FIX: stack vertical (flex-direction: column), pełna szerokość, większy gap, mniej padding */
  .vm-internal-links__list {
    flex-direction: column !important;
    gap: 0.6rem !important;
    padding: 0 !important;
    align-items: stretch !important;
  }
  .vm-internal-links__list li {
    width: 100%;
  }
  .vm-internal-links__list a {
    display: flex !important;
    border-radius: 0.75rem !important;
    padding: 0.75rem 1rem !important;
    text-align: left !important;
    line-height: 1.45 !important;
    font-size: 0.9rem !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* CU-13: vm-ghost-table__badge — za duży (1.5rem) na mobile, przepełnia td
     ROOT: font-size: 1.5rem + padding: 0.4rem 0.8rem — brak mobile override
     FIX: mniejszy rozmiar + display:inline-block */
  .vm-ghost-table__badge {
    font-size: 1.1rem !important;
    padding: 0.3rem 0.6rem !important;
    display: inline-block;
    max-width: 100%;
    white-space: nowrap;
  }
  .vm-ghost-table__formula {
    font-size: 1rem !important;
    display: block;
    margin-bottom: 0.4rem;
  }
}

/* CU-14: Ghost Plates table-wrapper — ramka conic-gradient + glow
   ROOT: o-autorze lub vm-global-override może dodawać border/shadow ponad page CSS
   FIX: !important na border/box-shadow + force ::before/::after = none */
#faq-ghost-plates .vm-table-wrapper,
#faq-ghost-plates .vm-ghost-table.vm-table {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
#faq-ghost-plates .vm-table-wrapper::before,
#faq-ghost-plates .vm-table-wrapper::after,
#faq-ghost-plates .vm-ghost-table::before,
#faq-ghost-plates .vm-ghost-table::after {
  display: none !important;
  content: none !important;
}

/* CU-15: vm-direct-answer + vm-solution-box--enhanced mobile fix
   ROOT-1: .vm-direct-answer { overflow: hidden } (L1364) obcina content/glow na mobile
   ROOT-2: @media .vm-glass-box { background: rgba(15,15,25,.94) } (L1741) nadpisuje
           zielony gradient z .vm-solution-box--enhanced → box szary zamiast green
   FIX: overflow:visible + przywrócenie green bg + border na vm-solution-box--enhanced */
@media (max-width: 640px) {
  .vm-direct-answer {
    overflow: visible !important;
  }
  .vm-solution-box--enhanced.vm-glass-box {
    background: linear-gradient(
      135deg,
      rgba(34, 197, 94, 0.09),
      rgba(16, 185, 129, 0.05)
    ), rgba(15, 15, 25, .94) !important;
    border: 2px solid rgba(34, 197, 94, 0.35) !important;
  }
}

/* CU-17: Wyłącz hover na tabelach — urządzenia dotykowe (hover: none)
   ROOT: :hover nie odpala na touch → zbędne GPU repaints + blink przy scroll
   SCOPE: wszystkie tabele strony — 8 selektorów, tylko background + transition
   MEDIA: (hover: none) = touch devices (iOS, Android) bez pointer: fine
          + (max-width: 640px) jako fallback dla starszych UA */
@media (hover: none), (max-width: 640px) {
  .vm-comparison-table tbody tr:hover,
  .vm-table tbody tr:hover,
  .vm-ghost-table__row:hover,
  .vm-trust-table__row:hover,
  .vm-glossary-table__row:hover,
  .vm-tldr-table tbody tr:hover,
  .vm-premium-table tbody tr:hover,
  .vm-premium-table .vm-row-critical:hover {
    background: transparent;
    transition: none;
  }
  /* Wyłącz też transition: background na row-level (L1096, L1756-1758) */
  .vm-comparison-table tbody tr,
  .vm-ghost-table__row,
  .vm-trust-table__row,
  .vm-glossary-table__row {
    transition: none;
  }
}
