 .vthb-wrapper,
 .vthb-wrapper * {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
 }

 .vthb-wrapper {
     background-color: #f2f3f1;
     color: #2C3333;
     line-height: 1.5;
 }

 .vthb-wrapper h1,
 .vthb-wrapper h2,
 .vthb-wrapper h3 {
     font-weight: bold;
 }

 /* Layout */
 .vthb-container {
     width: 100%;
     max-width: 1024px;
     margin: 0 auto;
     padding: 0 1rem;
 }

 .vthb-wrapper main {
     padding: 3rem 0;
 }

 /* Hero sekcia */
 .vthb-hero {
     background-color: #ffffff;
     border-bottom: 1px solid #f3f4f6;
     padding: 4rem 1rem;
     text-align: center;
 }

 .vthb-hero h1 {
     font-size: 2.25rem; /* text-4xl */
     color: #95c83d;
     margin-bottom: 1.5rem;
 }

 .vthb-hero p {
     font-size: 1.125rem; /* text-lg */
     color: #374151;
     max-width: 48rem;
     margin: 0 auto;
     line-height: 1.625;
 }

 @media (min-width: 768px) {
     .vthb-hero h1 { font-size: 3rem; } /* md:text-5xl */
     .vthb-hero p { font-size: 1.25rem; } /* md:text-xl */
 }

 .vthb-section-spacer {
     margin-bottom: 4rem;
 }

 .vthb-text-center {
     text-align: center;
     margin-bottom: 2.5rem;
 }

 /* Taby */
 .vthb-tabs-nav {
     display: flex;
     flex-wrap: wrap;
     justify-content: center;
     gap: 0.5rem;
     margin-bottom: 2rem;
     border-bottom: 1px solid #e5e7eb;
 }

 .vthb-tab-btn {
     padding: 0.75rem 1rem;
     font-size: 0.875rem;
     cursor: pointer;
     background: none;
     border: none;
     transition: all 0.3s;
     border-bottom: 4px solid transparent;
 }

 @media (min-width: 768px) {
     .vthb-tab-btn { font-size: 1rem; }
 }

 .vthb-wrapper .active-tab {
     border-bottom-color: #5F8D4E;
     color: #2C3333;
     font-weight: 700;
 }

 .vthb-wrapper .inactive-tab {
     color: #889E73;
 }

 .vthb-wrapper .inactive-tab:hover {
     color: #5F8D4E;
 }

 /* Karty */
 .vthb-card {
     background-color: #ffffff;
     border-radius: 0.75rem;
     box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
     padding: 1.5rem;
     border: 1px solid #f3f4f6;
     text-align: left;
 }

 @media (min-width: 768px) {
     .vthb-card { padding: 2.5rem; }
 }

 /* Grid */
 .vthb-grid-2 {
     display: grid;
     grid-template-columns: 1fr;
     gap: 3rem;
 }

 .vthb-card.vthb-grid-2.vthb-section-spacer {
     text-align: left;
 }

 #process-content {
     text-align: left;
 }

 @media (min-width: 768px) {
     .vthb-grid-2 { grid-template-columns: 1fr 1fr; }
 }

 /* Dynamické kroky */
 .vthb-step-item {
     display: flex;
     align-items: flex-start;
     position: relative;
     padding-bottom: 2rem;
 }

 .vthb-step-item:last-child {
     padding-bottom: 0;
 }

 .vthb-step-icon {
     width: 3.5rem;
     height: 3.5rem;
     border-radius: 9999px;
     background-color: #ffffff;
     color: #5F8D4E;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
     font-weight: bold;
     border: 4px solid #5F8D4E;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
     margin-right: 1.5rem;
     flex-shrink: 0;
     z-index: 10;
 }

 /* Čiara medzi krokmi na desktop */
 @media (min-width: 768px) {
     .vthb-step-connector {
         position: absolute;
         left: 1.75rem;
         top: 3.5rem;
         bottom: 0;
         width: 2px;
         background-color: #e5e7eb;
         z-index: 0;
     }
 }

 /* Čiara na mobile */
 @media (max-width: 767px) {
     .vthb-mobile-connector {
         margin-left: 1.75rem;
         width: 2px;
         background-color: #e5e7eb;
         height: 2rem;
     }
 }

 /* Grafy */
 .vthb-wrapper .chart-container {
     position: relative;
     width: 100%;
     max-width: 600px;
     margin: 0 auto;
     height: 300px;
 }

 /* Upozornenia (Alerts) */
 .vthb-alert-blue {
     background-color: #eff6ff;
     border-left: 4px solid #3b82f6;
     padding: 1rem;
     margin-bottom: 2rem;
     border-radius: 0 0.5rem 0.5rem 0;
     font-size: 0.875rem;
     color: #1e40af;
 }

 .vthb-alert-red {
     background-color: #fef2f2;
     color: #b91c1c;
     padding: 1rem;
     font-size: 0.875rem;
     border-radius: 0.25rem;
     border: 1px solid #fee2e2;
     font-weight: bold;
     margin-top: 1rem;
 }

 /* FAQ Accordion */
 .vthb-faq-item {
     border: 1px solid #e5e7eb;
     border-radius: 0.75rem;
     background-color: #ffffff;
     overflow: hidden;
     margin-bottom: 1rem;
     box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
 }

 .vthb-faq-btn {
     width: 100%;
     text-align: left;
     padding: 1.25rem 1.5rem;
     font-weight: bold;
     font-size: 1.125rem;
     display: flex;
     justify-content: space-between;
     align-items: center;
     background: none;
     border: none;
     cursor: pointer;
     transition: background-color 0.2s;
 }

 .vthb-faq-btn:hover {
     background-color: #f9fafb;
 }

 .vthb-wrapper .accordion-content {
     transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
     max-height: 0;
     opacity: 0;
     overflow: hidden;
     background-color: #f9fafb;
 }

 .vthb-wrapper .accordion-content.expanded {
     opacity: 1;
 }

 .vthb-faq-text {
     padding: 1.25rem 1.5rem;
     border-top: 1px solid #e5e7eb;
     color: #374151;
     line-height: 1.625;
 }

 /* Dokumenty */
 .vthb-doc-link {
     display: flex;
     align-items: center;
     padding: 1rem;
     background-color: #f9fafb;
     border-radius: 0.5rem;
     text-decoration: none;
     border: 1px solid #f3f4f6;
     transition: all 0.3s;
 }

 .vthb-doc-link:hover {
     background-color: #f3f4f6;
     transform: scale(1.02);
 }

 /* Animácie */
 .vthb-wrapper .animate-fade-in {
     animation: fadeIn 0.4s ease-out;
 }

 @keyframes fadeIn {
     from { opacity: 0; transform: translateY(10px); }
     to { opacity: 1; transform: translateY(0); }
 }
