/* megawood Ausschreibungstexte, Joomla-Modul
   Farben aus dem Markenauftritt: Primaer #b4032f, Text #75756b,
   Anthrazit #403f3f, Gruenakzent #3e6d0d, Flaeche #f2f1f0.

   Alles haengt unter .at-wrap. Ein Modul teilt sich die Seite mit dem
   Template: es gibt hier keine Regel fuer html, body oder nackte Elemente,
   und die Variablen liegen auf der Wurzel des Moduls statt auf :root.

   Die Hausschrift DepotNew ist lizenzpflichtig und liegt nicht bei. Wer sie
   auf dem Server hat, bindet sie hier per @font-face ein; sonst greift die
   System-Sans dahinter. */

.at-wrap{
  --at-primary:#b4032f;
  --at-primary-dark:#8d0225;
  --at-primary-soft:#fbeef1;
  --at-ink:#403f3f;
  --at-text:#75756b;
  --at-mute:#b2b2b2;
  --at-line:#e5e5e5;
  --at-bg:#f2f1f0;
  --at-panel:#fff;
  --at-green:#3e6d0d;
  --at-sand:#eeb353;
  --at-radius:3px;
  --at-bar:64px;

  background:var(--at-bg);
  color:var(--at-text);
  font-family:'DepotNew-Light','DepotNew Light','DepotNew',-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
}

.at-wrap *{box-sizing:border-box}
.at-wrap a{color:var(--at-primary);text-decoration:none}
.at-wrap a:hover{text-decoration:underline}
.at-wrap button{font-family:inherit}

/* ---------- Kopf ---------- */

.at-head{max-width:var(--at-max-width,1360px);margin:0 auto;padding:26px 22px 14px}
.at-head p{margin:6px 0 0;font-size:15px;max-width:70ch}

/* ---------- Raster ---------- */
.at-grid{max-width:var(--at-max-width,1360px);margin:0 auto;padding:8px 22px 14px;display:grid;grid-template-columns:310px 1fr;gap:18px;align-items:start}
@media (max-width:900px){.at-grid{grid-template-columns:1fr}}

.at-card{background:var(--at-panel);border:1px solid var(--at-line);border-radius:var(--at-radius)}

/* ---------- Suche + Baum ---------- */
.at-search{display:flex;border-bottom:1px solid var(--at-line)}
.at-search input{flex:1;min-width:0;border:0;padding:11px 12px;font:inherit;font-size:15px;color:var(--at-ink);background:transparent}
.at-search input:focus{outline:2px solid var(--at-primary);outline-offset:-2px}
.at-search button{border:0;background:var(--at-primary);color:#fff;width:44px;cursor:pointer;
  display:flex;align-items:center;justify-content:center}
.at-search button svg{width:16px;height:16px;display:block}
.at-search button:hover{background:var(--at-primary-dark)}
.at-search .at-clear{background:transparent;color:var(--at-mute);width:32px;font-size:19px;line-height:1}
.at-search .at-clear:hover{color:var(--at-ink);background:transparent}

.at-tree{padding:8px 0;max-height:var(--at-pane,none);overflow:auto}
.at-tree ul{list-style:none;margin:0;padding:0}
.at-tree li>.at-node{display:flex;align-items:center;gap:7px;padding:5px 12px 5px 0;cursor:pointer;font-size:14.5px;color:var(--at-text)}
.at-tree li>.at-node:hover{background:var(--at-bg)}
.at-tree li>.at-node.is-active{background:var(--at-primary-soft);color:var(--at-ink);box-shadow:inset 3px 0 0 var(--at-primary)}
.at-tree .at-tw{width:16px;text-align:center;color:var(--at-mute);flex:0 0 16px;font-size:11px}
.at-tree .at-nm{flex:1;min-width:0;overflow-wrap:anywhere}
.at-tree .at-ct{color:var(--at-mute);font-size:12.5px;margin-left:auto;flex:0 0 auto;padding-left:6px}
/* Alle Gruppen stehen offen: bei zehn Knoten ist ein Akkordeon nur ein Klick
   mehr. Die Ebene zeigt die Einrueckung, nicht das Aufklappen. */
.at-tree ul ul>li>.at-node{padding-left:22px}
.at-tree ul ul ul>li>.at-node{padding-left:44px}

/* ---------- Liste ---------- */
.at-crumb{padding:12px 18px;border-bottom:1px solid var(--at-line);font-size:13.5px;color:var(--at-mute)}
.at-crumb b{color:var(--at-ink);font-weight:600}
.at-crumb span{margin:0 6px}

.at-liste{max-height:var(--at-pane,none);overflow:auto}

.at-row{display:flex;align-items:center;gap:12px;padding:11px 18px;border-bottom:1px solid var(--at-line);cursor:pointer}
.at-row:last-child{border-bottom:0}
.at-row:hover{background:#fafafa}
.at-row.is-open{background:var(--at-primary-soft);border-bottom:0}
.at-row.is-open:hover{background:var(--at-primary-soft)}
.at-row.is-group{background:var(--at-bg);font-weight:600;color:var(--at-ink)}
.at-row.is-group:hover{background:#eceae8}
.at-ico{flex:0 0 18px;color:var(--at-mute);display:flex;align-items:center;justify-content:center}
.at-ico svg{width:15px;height:15px;display:block}
.at-row.is-group .at-ico{color:var(--at-primary)}
.at-name{flex:1;min-width:0;font-size:15px;color:var(--at-ink)}
.at-name .at-oz{color:var(--at-mute);font-size:13px;font-variant-numeric:tabular-nums;margin-right:8px}
.at-name small{display:block;color:var(--at-mute);font-size:12.5px;font-weight:400}
.at-unit{flex:0 0 46px;text-align:right;color:var(--at-mute);font-size:13.5px}
.at-tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;background:var(--at-primary-soft);
  color:var(--at-primary);margin-left:8px;vertical-align:1px;font-weight:600}
.at-tag.is-note{background:#eef1ea;color:var(--at-green)}

.at-add{border:1px solid transparent;background:transparent;color:var(--at-primary);font-size:14px;
  font-weight:600;cursor:pointer;padding:5px 10px;border-radius:var(--at-radius);white-space:nowrap;
  flex:0 0 186px;text-align:right}
.at-add:hover{background:var(--at-primary-soft)}
.at-add.is-in{color:var(--at-green)}
.at-dl{border:1px solid var(--at-line);background:#fff;color:var(--at-ink);cursor:pointer;
  flex:0 0 34px;height:32px;border-radius:var(--at-radius);display:flex;align-items:center;justify-content:center}
.at-dl svg{width:15px;height:15px;display:block}
.at-dl:hover{border-color:var(--at-primary);color:var(--at-primary)}

/* Vorschau: der Langtext steht schon im Datenblock, hier wird er nur
   aufgeklappt. Einzug bis unter den Kurztext, damit die Zeile darueber als
   Kopf lesbar bleibt. */
.at-detail{padding:0 18px 16px 48px;background:var(--at-primary-soft);
  border-bottom:1px solid var(--at-line);font-size:14.5px;color:var(--at-text)}
.at-detail p{margin:0 0 9px;max-width:88ch}
.at-detail .at-detail-meta{color:var(--at-mute);font-size:13px}
.at-detail-f{display:flex;gap:12px;padding-top:4px}
.at-detail .at-btn{font-size:14.5px;padding:8px 18px}

.at-empty{padding:40px 18px;text-align:center;color:var(--at-mute);font-size:15px}

/* ---------- Sammelbox ---------- */
/* Die Leiste gehoert dem Modul, nicht dem Fenster: sobald die Liste in sich
   scrollt, ist sie ohnehin immer sichtbar - und sie deckt nichts zu, was
   unter dem Modul auf der Seite steht. */
.at-box{max-width:var(--at-max-width,1360px);margin:0 auto;padding:0 22px}
.at-box-in{display:flex;align-items:stretch;min-height:var(--at-bar);background:var(--at-ink);
  color:#fff;border-radius:0 0 var(--at-radius) var(--at-radius)}
.at-box-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:0;color:#fff;
  cursor:pointer;padding:0 22px;font-size:16px;font-weight:600}
.at-box-toggle .at-chev{transition:transform .15s;font-size:12px;color:var(--at-mute)}
.at-box.open .at-box-toggle .at-chev{transform:rotate(90deg)}
.at-box-spacer{flex:1}
.at-box-clear{background:transparent;border:0;color:var(--at-mute);cursor:pointer;font-size:14px;padding:0 16px}
.at-box-clear:hover{color:#fff}
.at-box-dl{background:var(--at-primary);border:0;color:#fff;font-size:17px;font-weight:600;
  padding:0 34px;cursor:pointer;display:flex;align-items:center;gap:11px}
.at-box-dl svg{width:17px;height:17px;display:block}
.at-box-dl:hover{background:var(--at-primary-dark)}
.at-box-dl:disabled{background:#5a5959;color:var(--at-mute);cursor:not-allowed}
.at-box-list{display:none;max-height:260px;overflow:auto;background:#4a4949;color:#fff;
  border-radius:var(--at-radius) var(--at-radius) 0 0}
.at-box.open .at-box-list{display:block}
.at-box-list ul{list-style:none;margin:0;padding:0}
.at-box-list li{display:flex;align-items:center;gap:12px;padding:9px 22px;border-bottom:1px solid #565555;font-size:14.5px}
.at-box-list li:last-child{border-bottom:0}
.at-box-list .at-oz{color:var(--at-mute);font-size:13px;font-variant-numeric:tabular-nums;flex:0 0 74px}
.at-box-list .at-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.at-box-list button{background:transparent;border:0;color:var(--at-mute);cursor:pointer;font-size:17px;line-height:1}
.at-box-list button:hover{color:#fff}

/* ---------- Dialog ---------- */
.at-modal{position:fixed;inset:0;z-index:60;background:rgba(64,63,63,.55);display:none;
  align-items:center;justify-content:center;padding:20px}
.at-modal.open{display:flex}
.at-dlg{background:#fff;border-radius:var(--at-radius);max-width:620px;width:100%;max-height:88vh;
  overflow:auto;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.at-dlg-h{padding:18px 24px;border-bottom:1px solid var(--at-line);display:flex;align-items:center}
.at-dlg-h h2{margin:0;font-size:20px;font-weight:400;color:var(--at-ink)}
.at-dlg-h button{margin-left:auto;background:transparent;border:0;font-size:24px;color:var(--at-mute);cursor:pointer;line-height:1}
.at-dlg-b{padding:20px 24px}
.at-dlg-f{padding:16px 24px;border-top:1px solid var(--at-line);display:flex;gap:12px;align-items:center;background:#fafafa}
.at-dlg-f .at-note{font-size:13px;color:var(--at-mute);flex:1}
.at-fs{border:0;padding:0;margin:0 0 18px}
.at-fs legend{padding:0;font-size:13px;font-weight:600;color:var(--at-ink);text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px}
.at-fmts{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.at-fmts label{display:flex;gap:8px;align-items:baseline;font-size:14.5px;cursor:pointer;padding:3px 0}
.at-fmts input{margin:0;accent-color:var(--at-primary)}
.at-fmts em{font-style:normal;color:var(--at-mute);font-size:12.5px}
.at-two{display:flex;gap:18px}
.at-two>div{flex:1;min-width:0}
.at-two label{display:block;font-size:13px;font-weight:600;color:var(--at-ink);margin-bottom:4px}
.at-wrap select{width:100%;padding:8px 10px;border:1px solid var(--at-line);border-radius:var(--at-radius);font:inherit;font-size:14.5px;background:#fff;color:var(--at-ink)}
.at-wrap select:focus{outline:2px solid var(--at-primary);outline-offset:-2px}
.at-radio label{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;padding:5px 0;cursor:pointer;font-weight:400;color:var(--at-text)}
.at-radio input{margin-top:4px;accent-color:var(--at-primary)}
.at-radio b{color:var(--at-ink);font-weight:600}
.at-btn{background:var(--at-primary);border:0;color:#fff;font-size:16px;font-weight:600;
  padding:11px 26px;border-radius:var(--at-radius);cursor:pointer}
.at-btn:hover{background:var(--at-primary-dark)}
.at-btn.ghost{background:#fff;color:var(--at-ink);border:1px solid var(--at-line)}
.at-btn.ghost:hover{background:var(--at-bg)}

.at-foot{max-width:var(--at-max-width,1360px);margin:0 auto;padding:4px 22px 26px;font-size:13px;color:var(--at-mute)}

/* ---------- Nachtraege fuer das Modul ---------- */
.at-scope{margin:0 0 16px;font-size:14.5px;color:var(--at-text)}
.at-fehler{font-size:13px;color:var(--at-primary)}
.at-row .at-ct,.at-box-list .at-ct{color:var(--at-mute);font-weight:400;font-size:12.5px}
