:root {
  --bg-dark: var(--smi-bg);
  --bg-panel: var(--smi-panel);
  --blue: var(--smi-accent);
  --green: var(--smi-ok);
  --text-light: var(--smi-text);
  --text-muted: var(--smi-muted);
}
body { background: var(--smi-bg); color: var(--smi-text); }
.hero { background: var(--smi-bg); }
.navbar { max-width:1400px; margin:auto; width:100%; border-bottom:1px solid var(--smi-line); padding:22px 5%; }
.navbar-right { flex-wrap:wrap; gap:12px; }
.logo-mini { background:none; color:var(--smi-accent); font-size:28px; letter-spacing:-2px; }
.nav-links a { margin-left:18px; color:var(--smi-muted); font-size:13px; letter-spacing:0; }
.navbar .logo-mini { text-decoration:none; flex-shrink:0; }
.navbar-right { min-width:0; justify-content:flex-end; }
.navbar .nav-links { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.navbar .nav-links a { margin:0; }
.nav-group { position:relative; }
.nav-group summary { display:flex; align-items:center; gap:7px; padding:8px 0; cursor:pointer; list-style:none; font-size:13px; color:var(--smi-muted); }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary::after { content:""; width:5px; height:5px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); margin-top:-3px; }
.nav-group[open] summary::after { transform:rotate(225deg); margin-top:3px; }
.nav-group summary:hover,.nav-group[open] summary { color:var(--smi-text); }
.nav-submenu { position:absolute; top:100%; right:0; z-index:20; min-width:210px; max-width:min(300px,85vw); padding:8px; border:1px solid var(--smi-line); border-radius:14px; background:var(--smi-panel); box-shadow:0 12px 30px #0003; }
.navbar .nav-submenu a { display:flex; padding:10px 12px; border-radius:8px; overflow-wrap:anywhere; }
.navbar .nav-submenu a:hover { background:var(--smi-raised); color:var(--smi-text); }
.navbar .nav-hub { border:1px solid var(--smi-line); border-radius:22px; padding:8px 14px; color:var(--smi-accent); }
.navbar .forum-auth-nav { min-width:0; margin-left:0; }
.navbar .forum-nav-user { min-width:0; max-width:250px; overflow-wrap:anywhere; text-decoration:none; }
.nav-group summary:focus-visible { outline:3px solid var(--smi-accent); outline-offset:3px; border-radius:4px; }
@media(max-width:850px) { .navbar .nav-submenu { left:0; right:auto; }.navbar .navbar-right { width:100%; justify-content:flex-start; }.navbar .nav-links { width:100%; }.navbar .forum-nav-user { max-width:calc(100vw - 100px); } }
@media(max-width:600px) { .navbar .nav-submenu { position:static; min-width:0; max-width:100%; box-shadow:none; }.navbar .nav-group[open] { flex-basis:100%; }.navbar .forum-nav-user { display:inline; } }
.forum-auth-nav { border-color:var(--smi-line); color:var(--smi-text); }
.navbar-sub { background:var(--smi-panel); }
.smi-studio-hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; width:100%; max-width:1280px; margin:auto; padding:55px 5% 45px; }
.smi-brand-art { height:380px; display:grid; place-items:center; background:var(--smi-raised); clip-path:polygon(0 0,100% 0,90% 100%,0 100%); overflow:hidden; }
.smi-brand-art svg { width:100%; height:100%; color:var(--smi-accent); }
.smi-brand-art .studio-pulse { animation:studio-pulse 6s ease-in-out infinite; }
.smi-studio-copy .eyebrow { font-size:11px; letter-spacing:2px; color:var(--smi-accent); font-weight:650; margin:0 0 20px; }
.smi-studio-copy h1 { font-size:clamp(36px,5vw,66px); line-height:1.08; letter-spacing:-2px; margin:0 0 24px; font-weight:750; color:var(--smi-text); }
.smi-studio-copy .tagline { font-size:16px; text-align:left; margin:0; padding:0; color:var(--smi-muted); max-width:620px; }
.smi-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.smi-actions a { padding:12px 18px; border:1px solid var(--smi-line); border-radius:24px; text-decoration:none; color:var(--smi-text); font-weight:600; font-size:13px; }
.smi-actions .primary { background:var(--smi-accent); color:var(--smi-primary-text); border-color:var(--smi-accent); }
.smi-technical-strip { margin:0 auto 30px; width:90%; max-width:1152px; padding:16px 22px; border-radius:24px; background:var(--smi-accent); color:var(--smi-primary-text); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font:11px monospace; }
.section { max-width:1280px; margin:auto; padding:45px 5%; background:var(--smi-bg); }
.section.alt { background:var(--smi-bg); border-top:1px solid var(--smi-line); }
.section h2 { color:var(--smi-text); font-size:30px; font-weight:600; margin:0 0 26px; text-align:left; }
.services-stack { display:contents; }
.cards-row-3 { display:contents; }
#szolgaltatasok { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
#szolgaltatasok>h2 { grid-column:1/-1; }
.card,.card-wide,.card-icon-side { display:block; min-width:0; background:var(--smi-panel); border:1px solid var(--smi-line); border-radius:24px; padding:24px; margin:0; }
.card:nth-child(even) { background:var(--smi-raised); }
.card { width:auto; }
.card h3 { color:var(--smi-text); font-size:20px; margin:20px 0 12px; }
.card p { color:var(--smi-muted); font-size:14px; }
.card-icon,.card-icon-fixed { width:100%; max-width:100%; height:90px; background:transparent; }
.about-wrap { gap:40px; }
.about-photo { width:250px; height:auto; min-width:0; flex-shrink:0; border-radius:24px; border-color:var(--smi-line); box-shadow:none; }
.about-photo::after { content:none; }
.about-photo img { display:block; width:100%; height:auto; object-fit:contain; border-radius:24px; filter:none; }
.about-text p,.contact-info p { color:var(--smi-muted); }
.about-name { color:var(--smi-text); }
.contact-wrap { padding:28px; background:var(--smi-panel); border:1px solid var(--smi-line); border-radius:24px; }
.site-form input,.site-form textarea,.site-form select,input,textarea,select { color:var(--smi-text); background:var(--smi-bg); border-color:var(--smi-line); }
.site-form button,button { color:var(--smi-text); background:var(--smi-raised); border-color:var(--smi-line); }
.site-form button[type=submit] { color:var(--smi-primary-text); background:var(--smi-accent); border-radius:24px; }
.subpage .panel,.topic-row,.post,.forum-post,.site-table { background:var(--smi-panel); color:var(--smi-text); border-color:var(--smi-line); }
footer { border-top:1px solid var(--smi-line); background:var(--smi-bg); color:var(--smi-muted); }
.status-badge,.kanban-tag { background:var(--smi-panel); }
.flash-error,.form-error,.status-revoked,.status-badge.kanban-col-hiba { color:var(--smi-danger); }
.stat-card.stat-red { border-color:var(--smi-danger); }
.stat-card.stat-red .stat-value { color:var(--smi-danger); }
.stat-card.stat-amber { border-color:var(--smi-warn); }
.stat-card.stat-amber .stat-value,.status-badge.kanban-col-folyamatban { color:var(--smi-warn); }
.status-badge.kanban-col-uj,.status-badge.kanban-col-folyamatban,.status-badge.kanban-col-kesz,.status-badge.kanban-col-hiba { background:var(--smi-panel); }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid var(--smi-accent); outline-offset:3px; }
.skip-content { position:fixed; top:-100px; left:12px; padding:10px; background:var(--smi-accent); color:var(--smi-primary-text); z-index:99; }
.skip-content:focus { top:12px; }
:root[data-sandimi-theme="light"] .card svg { color:var(--smi-accent); }
:root[data-sandimi-theme="light"] .card svg [class] { stroke:var(--smi-accent); }
:root[data-sandimi-theme="light"] .code-window { background:var(--smi-bg); border-color:var(--smi-line); }
@keyframes studio-pulse { 0%,100% { opacity:.5; } 50% { opacity:1; } }
@media(max-width:850px) { .navbar { flex-wrap:wrap; gap:18px; }.navbar-right { gap:10px; }.nav-links { display:flex; flex-wrap:wrap; gap:12px; }.nav-links a { margin:0; } #szolgaltatasok { grid-template-columns:repeat(2,minmax(0,1fr)); }.smi-studio-hero { gap:25px; }.smi-brand-art { height:320px; } }
@media(max-width:600px) { .smi-studio-hero { grid-template-columns:1fr; gap:24px; padding-top:30px; }.smi-brand-art { height:230px; }.smi-studio-copy h1 { font-size:38px; }.smi-studio-copy .tagline { font-size:14px; } #szolgaltatasok { grid-template-columns:1fr; }.about-wrap { flex-direction:column; }.about-photo { width:min(100%,250px); }.contact-wrap { padding:20px; }.smi-technical-strip { font-size:10px; }.section { padding-top:30px; padding-bottom:30px; } }
