/* ===== ASM-IT Wiki — borderless refined (desktop + mobile overlay) ===== */
.gsw-wrap{
  --bg: transparent;
  --text:#334155;
  --muted:#6b7280;
  --line:#eef2f7;
  --link:#143A5E;
  --h1:#7fb7ff;
  --h2:#1e3a8a;
  --yellow:#fde047;
  --rule:#e9edf3;
  background:var(--bg);
  border:none; border-radius:0; padding:0;
  scroll-behavior:smooth;
  font-family: 'Inter', sans-serif;
}

/* Grid */
.gsw-grid{display:grid;grid-template-columns:260px 1fr 260px;gap:24px}
.gsw-left{border-right:1px solid var(--line);padding-right:16px}
.gsw-right{border-left:1px solid var(--line);padding-left:16px}

/* Suche */
.gsw-toolbar{position:relative; margin-bottom: 80px;}
.gsw-search-form{margin:0 0 16px 0;position:relative}
.gsw-search-form input[type="search"]{
	width: 50%;
	height: 46px;
	padding: .65rem .95rem .65rem 2.35rem;
	border: 1px solid #A0C9EB;
	border-radius: 5px;
	outline: none;
	font-size: 15px;
}
.gsw-search-form::before{
  content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;
  background-image:url("/wp-content/uploads/2025/11/search-icon.png");
  background-repeat:no-repeat;background-position:center
}
.gsw-search-form input[type="search"]:focus{box-shadow:0 0 0 3px rgba(37,99,235,.12)}

/* Live-Suche Box */
.gsw-search-results{
  display:none;position:relative;z-index:5;background:transparent;border:0;border-radius:12px;
  padding:4px;margin-top:6px;max-height:320px;overflow:auto
}
.gsw-search-results.is-open{display:block}
.gsw-s-item{display:flex;gap:8px;align-items:center;padding:6px 8px;border-bottom:1px solid #f1f5f9;cursor:pointer;background:#fff;border-radius:8px}
.gsw-s-item:last-child{border-bottom:0}
.gsw-s-type{font-size:.75rem;color:var(--muted);min-width:78px}
.gsw-s-title{font-weight:600}
.gsw-s-group{margin-left:auto;color:var(--muted);font-size:.85rem}

/* ===== Left nav (desktop) ===== */
.gsw-left-title{color:#4682B4;font-weight:600;font-size:18px;margin:.7rem 0 .35rem}
.gsw-left-list{list-style:none;margin:0;position:relative;padding-left:30px}
.gsw-left-list::before{content:"";position:absolute;left:12px;top:.25rem;bottom:.25rem;width:2px;background:#E3ECF6;border-radius:2px}
.gsw-left-item{position:relative;margin:.28rem 0}
.gsw-left-item::before{content:"";position:absolute;left:-21px;top:50%;width:8px;height:8px;background:#A0C9EB;border-radius:50%}
.gsw-left-item a {
    background: transparent;
    margin-left: 0;
    padding: 7px 10px 7px 28px;
    border-radius: 10px;
    text-decoration: none;
    color: #153A57;
    font-weight: 600;
    display: block;
    font-size: 18px;
}
.gsw-left-item a:hover{background:#F6F8FB}
.gsw-left-item.is-active > a{background:var(--yellow)!important;color:#111827!important;font-weight:700}
.gsw-left-subtitle{color:#6AA0D5;font-weight:600}

/* ===== Content ===== */
.gsw-title{display:none}
.gsw-content{color:var(--text)}
.gsw-content > h2:first-of-type{color:var(--h1);font-size:2rem;line-height:1.25;font-weight:800;margin:1rem 0 .75rem;padding-top:.6rem;border-top:1px solid var(--rule)}
.gsw-content h2{color:var(--h2);font-size:1.35rem;margin:1.8rem 0 .5rem;padding-top:.8rem;border-top:1px solid var(--rule)}
.gsw-content h3{color:#1f2937;font-size:1.1rem;margin:1.2rem 0 .25rem}
.gsw-content p{line-height:1.72}
.gsw-content img{max-width:100%;height:auto}
.gsw-content h2,.gsw-content h3{scroll-margin-top:80px}

/* ===== Right TOC (desktop) ===== */
.gsw-toc{position:sticky;top:1rem}
.gsw-toc .gsw-toc-title{color: #4682B4;
    font-weight: 600;
    font-size: .95rem;
    margin: 0 0 .65rem;}
.gsw-toc .gsw-toc-list{list-style:none;margin:0;padding:.25rem 0 .25rem 16px;position:relative}
.gsw-toc .gsw-toc-list::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:#E3ECF6;border-radius:2px}
.gsw-toc-item{margin:.4rem 0 1.4rem 0;padding:0;border-radius:6px}
.gsw-toc-item::before{display:none}
.gsw-toc-item.is-h3{padding-left:12px}
.gsw-toc-list a{display:block;text-decoration:none;color:#143A5E!important;font-weight:500;line-height:1.25}
.gsw-toc-item.is-active > a{color:#143A5E!important;font-weight:700}
.gsw-toc .gsw-toc-marker{position: absolute;
    left: 6px;
    width: 4px;
    background: #143A5E;
    border-radius: 3px;
    transition: top .15s 
ease, height .15s 
ease;}

/* ===== Tablet collapse to 1 col (keine mobile Features hier) ===== */
@media (max-width:1000px){
  .gsw-grid{grid-template-columns:1fr}
  .gsw-left,.gsw-right{border:0;padding:0}
  .gsw-toc{position:static}
}

/* ===== Mobile (<=768px): Button sichtbar, rechte TOC verstecken ===== */
@media (max-width:768px){
  .gsw-grid{grid-template-columns:1fr;gap:12px}
  .gsw-left{display:none}
  .gsw-right,.gsw-toc{display:none!important}

  .gsw-search-form{margin:4px 0 10px}
  .gsw-search-form input[type="search"]{
    height:40px;border:1px solid #D7E6F5;border-radius:8px;background:#F7FAFD;padding: 10px 35px;font-size:15px; width:100%;
  }

  /* Button zum Öffnen des Overlays */
  .gsw-toc-btn{
    display:block;width:100%;
    background:#FDE047;color:#1A2B3C;border:0;border-radius:10px;
    padding:12px 14px;font-weight:700;font-size:14px
  }

  /* Content-Typo etwas kompakter */
  .gsw-content h2{font-size:18px;line-height:1.25;color:#153A57;margin:16px 0 8px;padding-top:8px;border-top:1px solid #E8EEF6}
  .gsw-content h2:first-child{border-top:0;padding-top:0;margin-top:8px}
  .gsw-content h3{font-size:16px;margin:12px 0 6px}
  .gsw-content p{line-height:1.6;margin:.6rem 0}
}
@media(min-width:769px) {
	.gsw-toc-panel{
		display: none;
	}
}
/* ===== Mobile TOC Overlay ===== */
@media (max-width:768px){
  .gsw-toc-mask{
    position:fixed; inset:0;
    background:rgba(15,23,42,.35);
    backdrop-filter:saturate(120%) blur(2px);
    opacity:0; pointer-events:none;
    transition:opacity .18s ease;
    z-index:9998;
  }
  .gsw-toc-mask.is-open{opacity:1;pointer-events:auto}

  .gsw-toc-panel{
    position:fixed;top:0;left:0;height:100dvh;width:min(88vw,340px);
    background:#fff; box-shadow:0 15px 40px rgba(2,6,23,.22);
    transform:translateX(-100%); transition:transform .22s ease; z-index:9999;
    display:flex;flex-direction:column; padding:14px 12px;
  }
  .gsw-toc-panel.is-open{transform:translateX(0)}

  .gsw-toc-panel__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
  .gsw-toc-panel__title{margin:0;font-weight:700;color:#153A57;font-size:15px}
  .gsw-toc-panel__close{background:#F1F5F9;border:0;border-radius:8px;padding:6px 10px;font-weight:600;color:#0f172a}

  /* Liste im Stil der linken Navi */
  .gsw-toc-panel .gsw-toc-list{list-style:none;margin:8px 0 0;padding-left:30px;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}
  .gsw-toc-panel .gsw-toc-list::before{content:"";position:absolute;left:12px;top:.25rem;bottom:.25rem;width:2px;background:#E3ECF6;border-radius:2px}
  .gsw-toc-panel .gsw-toc-item{position:relative;margin:.28rem 0}
  .gsw-toc-panel .gsw-toc-item::before{content:"";position:absolute;left:-21px;top:50%;width:8px;height:8px;background:#A0C9EB;border-radius:50%}
  .gsw-toc-panel .gsw-toc-item a{display:block;padding:7px 10px 7px 28px;border-radius:10px;color:#143A5E;text-decoration:none;font-weight:500}
  .gsw-toc-panel .gsw-toc-item a:hover{background:#F6F8FB}
  .gsw-toc-panel .gsw-toc-item.is-active > a{background:#FDE047;color:#111827;font-weight:700}

  /* scroll lock */
  .gsw--lock{overflow:hidden;touch-action:none}
}

/* Button sicher ausblenden auf Desktop */
@media (min-width:769px){ .gsw-toc-btn{display:none!important} }


@media (max-width:768px){
  /* already present: button, mask, panel … */
  .gsw-nav{ max-height: calc(100dvh - 70px); overflow:auto; padding-right:6px; }
  .gsw-nav-section{ margin-bottom:12px; }
  .gsw-nav-section__title{ color: #4682B4;
        font-weight: 600;
        font-size: .95rem;
        margin: 8px 0 6px;
        font-family: 'Inter', saas-serif; }
  .gsw-nav-list{ list-style:none; margin:0; padding:0 0 0 14px; position:relative; }
  .gsw-nav-list::before{ content:""; position:absolute; left:4px; top:.25rem; bottom:.25rem; width:2px; background:#E3ECF6; border-radius:2px; }
  .gsw-nav-subtitle{ margin:.35rem 0 .2rem; color:#6AA0D5; font-weight:600; }
  .gsw-nav-item{ position:relative; margin:.18rem 0; }
  .gsw-nav-item a{ display:block; padding:7px 10px 7px 18px; text-decoration:none; color:#143A5E; border-radius:10px; }
  .gsw-nav-item::before{ content:""; position:absolute; left: -13px; top:50%; transform:translateY(-50%); width:8px; height:8px; background:#A0C9EB; border-radius:50%; }
  .gsw-nav-item.is-active a{ background:#FDE047; color:#111827; font-weight:700; }
}

