:root { --smi-bg:#171f30; --smi-panel:#222e43; --smi-raised:#2c3a53; --smi-text:#f2f5fc; --smi-muted:#bac7dd; --smi-accent:#a8beff; --smi-line:#495a77; }
:root[data-sandimi-theme="light"] { --smi-bg:#edf1f8; --smi-panel:#fff; --smi-raised:#f3f6fc; --smi-text:#202b3e; --smi-muted:#596a81; --smi-accent:#335ce8; --smi-line:#d9e1ee; }
.navbar { max-width:none; padding:20px 5%; background:var(--smi-panel); }
.logo-mini { font-size:32px; }
.smi-studio-hero { grid-template-columns:1.5fr 1fr; gap:55px; padding-top:75px; padding-bottom:65px; }
.smi-studio-copy { grid-column:1; grid-row:1; }
.smi-brand-art { grid-column:2; grid-row:1; height:290px; border-radius:24px; clip-path:none; background:var(--smi-panel); border:1px solid var(--smi-line); }
.smi-brand-art .studio-pulse { animation:none; }
.smi-studio-copy h1 { font-size:clamp(38px,5vw,70px); letter-spacing:-.045em; }
.smi-actions a { border-radius:10px; padding:14px 20px; }
.smi-technical-strip { background:var(--smi-panel); color:var(--smi-muted); border:1px solid var(--smi-line); border-radius:12px; font:12px "Segoe UI",sans-serif; }
.card,.card-wide,.card-icon-side,.contact-wrap { border-radius:16px; }
.card:nth-child(even) { background:var(--smi-panel); }
#szolgaltatasok { padding-top:35px; }
.about-photo { border-radius:16px; }
.site-workspace { padding-left:206px; }
.site-workspace .navbar { position:fixed; inset:0 auto 0 0; width:206px; height:100dvh; z-index:50; padding:25px 16px; display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:25px; border-right:1px solid var(--smi-line); background:var(--smi-panel); overflow:visible; }
.site-workspace .navbar .logo-mini { align-self:start; margin:0; }
.site-workspace .navbar-right { flex-direction:column; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start; width:100%; gap:20px; min-height:0; }
.site-workspace .navbar .nav-links { display:flex; flex-direction:column; align-items:stretch; gap:8px; }
.site-public-workspace .navbar .nav-links > a { display:flex; align-items:center; gap:10px; min-height:46px; padding:13px 12px; border-radius:10px; font-size:13px; color:var(--smi-text); text-decoration:none; }
.site-public-workspace .navbar .nav-links > a:hover { background:var(--smi-raised); color:var(--smi-accent); }
.site-public-workspace .navbar .nav-links > a:focus-visible { outline:2px solid var(--smi-accent); outline-offset:2px; }
.site-public-workspace .navbar .nav-links > a svg { width:16px; height:16px; flex-shrink:0; }
.site-public-workspace .forum-auth-nav[href="/forum/login.php"] { display:flex; align-items:center; gap:8px; min-height:44px; }
.site-public-workspace .forum-auth-nav[href="/forum/login.php"]::after { content:attr(title); font-size:12px; }
.site-workspace .nav-group summary { padding:13px 14px; border-radius:10px; font-size:13px; min-height:46px; color:var(--smi-text); }
.site-workspace .nav-group[open] summary { background:var(--smi-accent); color:var(--smi-primary-text); }
.site-workspace .nav-group .nav-submenu { left:calc(100% + 17px); right:auto; top:0; min-width:270px; max-height:80dvh; overflow:auto; border-radius:14px; padding:10px; }
.site-workspace .navbar .nav-submenu a { min-height:44px; font-size:13px; }
.site-workspace [data-site-search] { margin-top:20px; padding:12px; font-size:12px; min-height:44px; border:1px solid var(--smi-line); border-radius:10px; }
.site-workspace .navbar .forum-auth-nav { display:flex; flex-wrap:wrap; padding:12px 0; width:100%; }
.site-workspace .navbar .forum-nav-user { font-size:11px; max-width:150px; }
.site-workspace .lang-switch { margin:0; align-self:start; }
.site-workspace .navbar [data-theme-toggle] { font-size:11px; border-radius:10px; }
.site-workspace .subpage { padding-top:20px; }
.site-function-search { position:fixed; width:min(720px,calc(100vw - 28px)); max-height:calc(100dvh - 40px); padding:28px; border:1px solid var(--smi-line); border-radius:20px; background:var(--smi-panel); color:var(--smi-text); overflow:auto; }
.site-function-search::backdrop { background:#111b2c99; backdrop-filter:blur(3px); }
.site-function-search h2 { font-size:24px; margin:0 45px 25px 0; }
.site-function-search > button { position:absolute; right:20px; top:18px; padding:10px 14px; }
.site-function-search input { width:100%; padding:14px; border:1px solid var(--smi-line); border-radius:10px; min-height:46px; }
.site-function-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.site-function-results a { display:flex; align-items:center; padding:16px; border:1px solid var(--smi-line); border-radius:10px; text-decoration:none; color:var(--smi-text); font-size:13px; min-height:50px; }
.trip-edit-photo { padding:15px; background:var(--smi-panel); border:1px solid var(--smi-line); border-radius:16px; display:grid; gap:12px; }
.trip-edit-grid,.photo-grid-view { grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr)); }
.trip-photo .photo-thumb img { height:180px; object-fit:contain; }
.trip-edit-photo img { object-fit:contain; max-width:100%; height:210px; width:100%; }
.trip-edit-photo textarea,.trip-edit-photo select { width:100%; padding:10px; border:1px solid var(--smi-line); border-radius:8px; }
.trip-edit-photo label { display:grid; gap:6px; font-size:13px; }
.trip-photo { margin:0; min-width:0; }
.trip-photo figcaption { white-space:normal; overflow-wrap:anywhere; padding:12px 5px; font-size:14px; line-height:1.6; color:var(--smi-muted); }
.site-workspace .navbar { overflow-y:auto; overflow-x:hidden; }
.site-workspace .navbar-right { flex-shrink:0; }
.site-workspace .nav-section summary { display:flex; align-items:center; padding:0; gap:4px; }
.site-workspace .nav-section summary > a { display:flex; align-items:center; gap:8px; flex:1; padding:13px 8px; color:inherit; text-decoration:none; min-width:0; line-height:1.4; }
.site-workspace .nav-section summary svg { width:16px; height:16px; flex-shrink:0; }
.site-workspace .nav-section summary::after { margin-right:10px; }
.site-workspace .nav-section .nav-submenu { position:static; min-width:0; max-height:none; box-shadow:none; border:0; border-left:2px solid var(--smi-line); border-radius:0; margin:7px 0 8px 10px; padding:0 0 0 5px; }
.site-workspace .nav-section .nav-submenu a { white-space:normal; padding:9px 8px; overflow-wrap:anywhere; }
.site-workspace .nav-section .nav-submenu a[aria-current="page"] { background:var(--smi-raised); color:var(--smi-accent); font-weight:650; }
.journey-days { margin:20px 0; }
.journey-days a[aria-current="page"] { border-color:var(--smi-accent); color:var(--smi-accent); }
.workspace-breadcrumb svg { display:none; }
#journal-manage fieldset { display:grid; gap:12px; }
#journal-manage fieldset p { margin:0; }
#journal-manage fieldset :is(input:not([type=checkbox]),textarea,select) { display:block; width:100%; margin-top:6px; }
@media(max-width:900px) { .smi-studio-hero { gap:25px; }.smi-brand-art { height:240px; } }
@media(max-width:650px) {
  .smi-studio-hero { grid-template-columns:1fr; padding-top:40px; }
  .smi-studio-copy { grid-column:1; grid-row:1; }.smi-brand-art { grid-column:1; grid-row:2; height:180px; }
  .site-workspace { padding-left:0; padding-bottom:90px; }
  .site-workspace .navbar { position:static; height:auto; width:100%; padding:14px 16px; flex-direction:row; flex-wrap:wrap; gap:12px; }
  .site-workspace .navbar .navbar-right { flex-direction:row; flex-wrap:wrap; gap:10px; width:auto; flex:1; }
  .site-workspace .navbar .nav-links { position:fixed; bottom:0; left:0; right:0; z-index:55; display:grid; grid-template-columns:repeat(var(--nav-count,5),minmax(0,1fr)); gap:2px; padding:8px 5px max(8px,env(safe-area-inset-bottom)); background:var(--smi-panel); border-top:1px solid var(--smi-line); }
  .site-public-workspace .navbar .nav-links { grid-template-columns:repeat(var(--public-nav-count,3),minmax(0,1fr)); }
  .site-public-workspace .navbar .nav-links > a { flex-direction:column; justify-content:center; gap:6px; padding:8px 2px; font-size:10px; min-height:54px; }
  .site-workspace .nav-group summary { padding:15px 2px; font-size:10px; justify-content:center; }
  .site-workspace .nav-group summary::after { display:none; }
  .site-workspace .nav-section summary > a { flex-direction:column; padding:8px 2px; gap:5px; text-align:center; font-size:9px; min-height:65px; }
  .site-workspace .nav-section summary { position:relative; padding:0; }
  .site-workspace .workspace-save-bar { bottom:calc(90px + env(safe-area-inset-bottom)); }
  .site-workspace .nav-section summary::after { display:block; position:absolute; right:0; top:0; width:13px; height:13px; margin:0; }
  .site-workspace .nav-group .nav-submenu { position:fixed; left:12px; right:12px; bottom:80px; top:auto; min-width:0; max-width:none; max-height:65dvh; padding:10px; box-shadow:0 8px 30px #0003; }
  .site-workspace .nav-section .nav-submenu { margin:0; overflow:auto; border:1px solid var(--smi-line); border-radius:12px; bottom:calc(90px + env(safe-area-inset-bottom)); }
  .site-workspace .nav-group[open] { flex-basis:auto; }
  .site-workspace .navbar .forum-auth-nav { width:auto; padding:0; }
  .site-workspace .navbar .forum-nav-user { max-width:130px; }
  .site-workspace [data-site-search] { position:fixed; top:78px; right:14px; z-index:45; margin:0; background:var(--smi-panel); font-size:10px; min-height:40px; padding:8px; }
  .site-workspace .subpage { padding-top:45px; }
  .site-workspace .smi-studio-hero { padding-top:70px; }
  .site-public-workspace .smi-studio-hero { padding-top:40px; }
  .site-function-results { grid-template-columns:1fr; }
}
