/* Editorial cards, articles and the existing native modal drawer. */
html { scroll-padding-top:24px; }
.info-trigger { display:inline-flex; align-items:center; gap:12px; min-height:44px; padding:8px 0; color:var(--accent); font-size:14px; line-height:20px; }
/* Rounded 40/64px proportions keep large section gaps distinct from 24px card gaps. */
.knowledge-section { margin-top:64px; }
.related-guides { margin-top:48px; }
#tudasbazis { margin-top:48px; }
.knowledge-section h2,.related-guides h2 { margin:0 0 16px; font-size:28px; line-height:36px; font-weight:700; letter-spacing:-.02em; }
.knowledge-section>p,.section-heading>p { max-width:72ch; color:var(--sv-body); font-size:16px; line-height:26px; }
.life-grid,.decision-grid,.topic-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.life-card { display:flex; flex-direction:column; min-width:0; padding:16px; border:1px solid var(--border); border-radius:16px; background:white; color:var(--text); text-decoration:none; transition:border-color var(--sv-motion-fast); }
.life-card:hover { border-color:var(--input-border); color:var(--text); }
.life-art { display:grid; place-items:center; background:var(--sv-mint); min-height:128px; border-radius:12px; margin-bottom:16px; }
.life-card:nth-child(2) .life-art { background:var(--accent-light); }
.life-card:nth-child(3) .life-art { background:var(--sv-apricot); }
.life-art img { display:block; width:160px; height:112px; }
.life-copy { display:flex; flex:1; flex-direction:column; padding:0 4px 4px; }
.life-card h3,.decision-card h3,.lifecycle h3 { font:600 17px/24px var(--sv-font-ui); margin:0 0 8px; }
.life-card p,.decision-card p,.lifecycle p { font-size:14px; line-height:20px; color:var(--sv-body); margin:0 0 16px; }
.life-cta { margin-top:auto; color:var(--accent); font-size:14px; line-height:20px; font-weight:600; padding-top:8px; }
.life-card:hover .life-cta,.life-card:focus-visible .life-cta { text-decoration:underline; }
.decision-card,.topic-grid article { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--border); border-radius:16px; background:white; }
.topic-grid a { display:block; min-height:44px; padding:8px 0; font-size:14px; }
.decision-card .info-trigger { margin-top:auto; padding-top:16px; }
.decision-grid + .info-trigger { margin-top:16px; }
.lifecycle { padding:24px; border-radius:20px; background:var(--surface-2); }
.lifecycle article { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px); gap:0 24px; }
.lifecycle h3,.lifecycle p { grid-column:1; }
.lifecycle a { grid-column:2; min-height:44px; font-size:14px; line-height:20px; }
.lifecycle a:first-of-type { grid-row:1; }
.lifecycle a:last-of-type { grid-row:2; }
.operating-comparison { margin-top:24px; padding:16px 0; }
.table-scroll { width:100%; overflow-x:auto; margin:24px 0; border:1px solid var(--border); border-radius:12px; background:white; }
.form-comparison { width:100%; min-width:780px; border-collapse:collapse; font-size:14px; line-height:22px; }
.form-comparison caption { padding:16px; text-align:left; color:var(--text-muted); font-weight:600; }
.form-comparison th,.form-comparison td { padding:16px; text-align:left; vertical-align:top; border-top:1px solid var(--border); }
.form-comparison thead { background:var(--accent-light); }
.form-comparison th[scope=row] { background:var(--surface-2); font-weight:600; }
.faq-list { padding:0 24px; background:white; border:1px solid var(--border); border-radius:16px; }
.faq-list details { padding:20px 0; border-bottom:1px solid var(--border); }
.faq-list details:last-child { border-bottom:0; }
.faq-list summary { font-size:16px; line-height:24px; }
.faq-list p { margin:16px 0 0; font-size:16px; line-height:26px; color:var(--sv-body); max-width:72ch; }
.source-links { padding-left:20px; font-size:14px; line-height:22px; }
.source-links li { margin:12px 0; }
.source-links a,.trust-content a { overflow-wrap:anywhere; }
.liability p,.source-section p { font-size:14px; line-height:22px; max-width:72ch; }
.knowledge-footer { margin-top:40px; }
.knowledge-footer>h2 { margin:0 0 16px; font-size:20px; line-height:28px; }
.guide-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }
.guide-links a { padding:12px 8px; border-radius:8px; display:flex; justify-content:space-between; align-items:center; min-height:48px; gap:16px; border-bottom:1px solid var(--border); font-size:14px; line-height:20px; }
.guide-links a span:last-child { color:var(--text-muted); }
body.info-open { overflow:hidden; }
.tax-info-panel { margin:0 0 0 auto; padding:0; border:0; border-left:1px solid var(--border); height:100dvh; max-height:100dvh; width:min(520px,100vw); max-width:100vw; background:white; color:var(--text); box-shadow:var(--sv-shadow-drawer); }
.tax-info-panel[open] { display:flex; flex-direction:column; animation:info-enter var(--sv-motion-drawer) var(--sv-ease); }
.tax-info-panel::backdrop { background:var(--sv-backdrop); }
.panel-header { flex-shrink:0; padding:24px; border-bottom:1px solid var(--border); background:white; }
.panel-header h2 { margin:16px 0 0; font-size:22px; line-height:30px; letter-spacing:-.02em; }
.panel-back { display:flex; align-items:center; gap:12px; min-height:44px; padding:0; color:var(--accent); font-size:14px; }
.panel-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 24px calc(24px + env(safe-area-inset-bottom)); }
.panel-copy { font-size:16px; line-height:26px; }
.panel-copy p { margin:0 0 16px; color:var(--sv-body); }
.panel-copy > a:not(.guide-cta) { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; }
.panel-copy h3,.pros-cons h3 { margin:24px 0 12px; font-size:20px; line-height:28px; }
.panel-copy ul { padding-left:20px; }
.panel-copy li { margin:8px 0; }
.pros-cons h3::before { content:'+'; margin-right:8px; color:var(--success); }
.pros-cons section+section h3::before { content:'−'; color:var(--warning); }
.guide-cta { display:flex; justify-content:space-between; align-items:center; min-height:48px; gap:16px; margin-top:24px; padding:16px; border:1px solid var(--sv-primary-line); border-radius:12px; background:var(--accent-light); font-size:14px; line-height:20px; font-weight:600; text-decoration:none; }
.guide-layout { max-width:788px; padding-bottom:calc(32px + env(safe-area-inset-bottom)); }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:12px; color:var(--text-muted); font-size:14px; margin-bottom:32px; }
.guide-header { margin-bottom:24px; }
.guide-layout .guide-year { color:var(--text-muted); font-size:14px; line-height:20px; margin:0 0 16px; }
.guide-header h1 { font-size:40px; line-height:48px; letter-spacing:-.025em; margin:0; }
.guide-layout article { font-size:16px; line-height:26px; }
.guide-layout article p { margin:16px 0; color:var(--sv-body); }
.guide-layout article h2 { font-size:28px; line-height:36px; letter-spacing:-.02em; margin:32px 0 16px; }
.guide-layout article h3 { font-size:20px; line-height:28px; margin:24px 0 12px; }
.guide-layout article ul,.guide-layout article ol { padding-left:24px; }
.guide-layout article li { margin:8px 0; }
.guide-layout article a { overflow-wrap:anywhere; }
.guide-toc { padding:20px; border:1px solid var(--border); border-radius:16px; background:white; margin-bottom:24px; }
.guide-toc nav { display:flex; flex-direction:column; gap:12px; margin-top:16px; font-size:14px; }
.guide-toc nav a { display:flex; align-items:center; min-height:44px; padding:8px; border-radius:8px; }
.guide-method { border-top:1px solid var(--border); margin-top:48px; }
.guide-layout .guide-method p { font-size:14px; line-height:20px; }
.target-planner { margin-top:32px; padding:24px; border:1px solid var(--border); border-radius:20px; background:white; }
.guide-layout .target-planner h2 { margin-top:0; }
.target-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0; }
.target-grid input { min-width:0; width:100%; min-height:48px; padding:12px; border:1px solid var(--input-border); border-radius:12px; }
#contractorTargetOutput { display:block; padding:16px; background:var(--accent-light); border-radius:12px; color:var(--accent); font-size:14px; font-weight:600; }
.tax-explanations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; }
.tax-card { padding:20px; border:1px solid var(--border); border-radius:16px; background:white; }
.guide-layout .tax-card h3 { margin:0 0 12px; font-size:17px; line-height:24px; }
.guide-layout .tax-card p,.tax-card dl { font-size:14px; line-height:22px; }
.tax-card dt { font-weight:600; margin-top:16px; }
.tax-card dd { margin:8px 0 0; color:var(--text-muted); }
.decision-card > :last-child,.tax-card > :last-child,.target-planner > :last-child,.panel-copy > :last-child { margin-bottom:0; }
.focus-guard { position:fixed; width:0; height:0; overflow:hidden; }
@keyframes info-enter { from { opacity:.5; transform:translateX(24px); } to { opacity:1; transform:translateX(0); } }
@media(min-width:768px) and (max-width:1023px) {
 .life-grid { grid-template-columns:1fr; gap:16px; }
 .life-card { flex-direction:row; gap:24px; padding:20px; }
 .life-art { width:176px; flex:0 0 176px; margin:0; }
}
@media(max-width:1023px) {
 .decision-grid { grid-template-columns:1fr; }
 .lifecycle article { display:block; }
 .lifecycle a { display:flex; align-items:center; }
}
@media(max-width:767px) {
 .knowledge-section,.related-guides { margin-top:40px; }
 .knowledge-section h2,.related-guides h2 { font-size:24px; line-height:32px; }
 .life-grid,.guide-links { grid-template-columns:1fr; }
 .life-card { flex-direction:row; align-items:flex-start; gap:16px; padding:20px; }
 .life-art { flex:0 0 80px; min-height:64px; margin:0; }
 .life-art img { width:80px; height:64px; }
 .life-copy { padding:0; }
 .life-card h3 { font-size:16px; line-height:23px; }
 .faq-list { padding:0 20px; }
 .guide-header h1 { font-size:30px; line-height:37px; }
 .guide-layout article h2 { font-size:24px; line-height:32px; }
 .decision-card,.lifecycle,.target-planner { padding:20px; }
}
@media(max-width:620px) {
 .tax-info-panel { width:100vw; height:100dvh; border:0; }
 .panel-header { padding:calc(12px + env(safe-area-inset-top)) 20px 20px; }
 .panel-body { padding:20px 20px calc(24px + env(safe-area-inset-bottom)); }
 .target-grid,.tax-explanations { grid-template-columns:1fr; }
}
@media(max-width:359px) {
 .life-card { flex-direction:column; }
 .life-art { width:100%; flex-basis:auto; }
}
@media(prefers-reduced-motion:reduce) { .tax-info-panel[open] { animation:none; } }
