/* CONZYR Artenwetter – ergänzt css/wetter.css. Eigene Klassen beginnen mit aw-. */

.wx{
  --aw-ok-bg:#bcd5c3;   --aw-ok-tx:#1f4029;
  --aw-near-bg:#ecebaa; --aw-near-tx:#4f4d10;
  --aw-bad-bg:#f0d6cb;  --aw-bad-tx:#843827;
  --aw-bfn:#566d60; --aw-albrecht:#b4802a; --aw-praxis:#8a918a;
}

/* Quelle umschalten */
.aw-sourcerow{display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.4rem;}
.aw-sourcerow .wx-hint{margin:0; max-width:560px;}

/* Auswahl Gruppen/Profile */
.aw-groups{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:.6rem;}
.aw-group{border:1px solid var(--line); border-radius:var(--radius); padding:.8rem .9rem 1rem; background:var(--white);}
.aw-ghead{display:flex; align-items:baseline; justify-content:space-between; gap:.6rem; margin-bottom:.6rem;}
.aw-gname{font-weight:600; font-size:1rem;}
.aw-plist{display:flex; flex-direction:column; gap:.4rem;}
.wx .aw-pick{display:flex; flex-direction:column; align-items:flex-start; text-align:left; width:100%; padding:.5rem .7rem .5rem 2.1rem; position:relative; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); color:var(--ink); cursor:pointer; font:inherit; line-height:1.25; transition:background .15s var(--ease),border-color .15s var(--ease);}
.wx .aw-pick::before{content:""; position:absolute; left:.7rem; top:50%; width:.9rem; height:.9rem; margin-top:-.45rem; border:1.5px solid var(--sage-deep); border-radius:3px; background:var(--white);}
.wx .aw-pick:hover{border-color:var(--sage-deep);}
.wx .aw-pick.is-on{background:var(--sage-pale); border-color:var(--sage-deep);}
.wx .aw-pick.is-on::before{background:var(--sage-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;}
.aw-pn{font-weight:500; font-size:.92rem;}
.aw-ps{font-size:.74rem; color:var(--ink-soft); font-style:italic;}

/* Bandkopf je Profil */
.aw-band .wx-bandhead th{text-align:left;}
.aw-bh{display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem 1.2rem; padding:.2rem 0 .1rem; position:sticky; left:0; max-width:min(100%, calc(100vw - 4rem));}
.aw-bt{display:flex; align-items:baseline; gap:.6rem;}
.aw-bn{font-size:1.05rem; font-weight:600; color:var(--ink);}
.aw-bsci{font-size:.8rem; font-style:italic; color:var(--ink-soft); font-weight:400;}
.aw-crits{display:flex; flex-wrap:wrap; gap:.3rem .45rem;}
.aw-crit{display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; font-weight:500; padding:.12rem .55rem; border-radius:999px; background:var(--sage-pale); color:var(--ink); white-space:nowrap;}
.aw-season{font-size:.78rem; font-weight:400; color:var(--ink-soft); padding:.12rem .2rem; white-space:nowrap;}
.aw-dot{display:inline-block; width:.55rem; height:.55rem; border-radius:50%; background:transparent; border:1.5px solid var(--aw-praxis);}
.aw-dot-bfn{background:var(--aw-bfn); border-color:var(--aw-bfn);}
.aw-dot-albrecht{background:var(--aw-albrecht); border-color:var(--aw-albrecht);}
.aw-dot-praxis{background:var(--white); border-color:var(--aw-praxis);}
.aw-dot-none{border-style:dotted;}
.aw-refs{display:flex; flex-wrap:wrap; gap:.2rem .8rem; width:100%; font-size:.74rem; font-weight:400; color:var(--ink-soft);}
.aw-src{font-weight:600; letter-spacing:.02em;}
.aw-src::before{content:""; display:inline-block; width:.5rem; height:.5rem; border-radius:50%; margin-right:.3rem; vertical-align:.05em;}
.aw-src-bfn{color:var(--aw-bfn);} .aw-src-bfn::before{background:var(--aw-bfn);}
.aw-src-albrecht{color:#8c6118;} .aw-src-albrecht::before{background:var(--aw-albrecht);}
.aw-src-praxis{color:var(--ink-soft);} .aw-src-praxis::before{background:var(--white); box-shadow:inset 0 0 0 1.5px var(--aw-praxis);}
.aw-ref{margin-left:.35rem;}

/* Zellen */
.wx .aw-t{width:100%; min-height:2.6rem; display:flex; flex-direction:column; align-items:center; justify-content:center; border:0; border-radius:4px; padding:.3rem .15rem; font:inherit; line-height:1.15; cursor:pointer; font-variant-numeric:tabular-nums; transition:box-shadow .12s var(--ease);}
.aw-t .aw-tl{font-weight:600; font-size:.86rem; white-space:nowrap;}
.aw-t small{font-size:.62rem; opacity:.75; margin-top:.12rem; white-space:nowrap;}
.wx .aw-t:hover{box-shadow:inset 0 0 0 1.5px rgba(28,33,27,.45);}
.wx .aw-t.is-sel{box-shadow:inset 0 0 0 2px var(--ink);}
.aw-ok{background:var(--aw-ok-bg); color:var(--aw-ok-tx);}
.aw-near{background:var(--aw-near-bg); color:var(--aw-near-tx);}
.aw-bad{background:var(--aw-bad-bg); color:var(--aw-bad-tx);}
.aw-t.is-off{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.55) 0 4px,transparent 4px 8px); opacity:.7;}

/* Legende */
.aw-legend{display:flex; flex-wrap:wrap; gap:.4rem 1.2rem; font-size:.8rem; color:var(--ink-soft); margin:0 0 1rem;}
.aw-legend span{display:inline-flex; align-items:center; gap:.45rem;}
.aw-legend i{display:inline-block; width:1.4rem; height:.95rem; border-radius:3px;}
.aw-legend i.is-off{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.55) 0 4px,transparent 4px 8px); opacity:.7;}

/* Detail: Stunde für Stunde */
.aw-detailrow td{padding:0 0 .8rem;}
.aw-detail{position:sticky; left:0; max-width:min(100%, calc(100vw - 4rem)); border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); padding:.8rem .9rem;}
.aw-dh{display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1rem;}
.aw-dh strong{font-weight:600;}
.aw-dv{font-size:.82rem; font-weight:500; padding:.1rem .55rem; border-radius:999px;}
.aw-dh .wx-x{margin-left:auto;}
.aw-strip{display:flex; gap:3px; margin-top:.7rem; overflow-x:auto; padding-bottom:.2rem;}
.aw-h{flex:0 0 2.3rem; display:flex; flex-direction:column; align-items:center; gap:.15rem; background:transparent; color:var(--ink);}
.aw-hh{font-size:.68rem; color:var(--ink-soft);}
.aw-hb{width:100%; height:1.3rem; border-radius:3px; background:currentColor;}
.aw-h.aw-ok .aw-hb{background:var(--aw-ok-bg);} .aw-h.aw-near .aw-hb{background:var(--aw-near-bg);} .aw-h.aw-bad .aw-hb{background:var(--aw-bad-bg);}
.aw-h.aw-ok,.aw-h.aw-near,.aw-h.aw-bad{background:transparent; color:var(--ink);}
.aw-h.is-gap .aw-hb{background:repeating-linear-gradient(135deg,var(--line) 0 2px,transparent 2px 6px);}
.aw-hv{font-size:.72rem; font-variant-numeric:tabular-nums;}
.aw-notes{margin-top:.6rem; font-size:.82rem; color:var(--ink-soft);}
.aw-notes p{margin:.3rem 0 0;}

/* Hinweis auf Rückmeldung */
.aw-feedback{margin-top:clamp(2rem,4vw,3rem); padding:1.2rem 1.4rem; border-left:3px solid var(--yellow); background:var(--paper); max-width:760px;}
.aw-feedback h3{font-size:1.15rem; margin:0 0 .4rem;}
.aw-feedback p{margin:0; color:var(--ink-soft);}

@media (max-width:900px){ .aw-groups{grid-template-columns:1fr;} }
@media (max-width:760px){
  .aw-t .aw-tl{font-size:.78rem;}
  .aw-t small{font-size:.58rem;}
  .aw-bh,.aw-detail{max-width:calc(100vw - 3rem);}
}

/* Dauer der Begehung */
.aw-dur{display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; font-weight:500; color:var(--ink); padding:.05rem .2rem .05rem .55rem; border:1px solid var(--line); border-radius:999px; background:var(--white);}
.wx .aw-dur select{font-size:.78rem; padding:.1rem 1.4rem .1rem .4rem; min-height:0; height:auto; border:0; background-color:transparent; font-weight:600;}

/* Mehrere Arten in einem Band */
.aw-members{display:flex; flex-wrap:wrap; gap:.25rem .9rem; font-size:.8rem; color:var(--ink);}
.aw-members em{font-style:normal; color:var(--ink-soft); font-size:.74rem;}

/* Stundentabelle */
.aw-hscroll{overflow-x:auto; margin-top:.7rem;}
.aw-hours{border-collapse:separate; border-spacing:2px; font-size:.8rem; font-variant-numeric:tabular-nums;}
.aw-hours th{font-weight:500; color:var(--ink-soft); text-align:center; padding:0 .15rem; font-size:.72rem;}
.aw-hours th.aw-rl{text-align:left; padding-right:.7rem; white-space:nowrap; position:sticky; left:0; background:var(--paper); z-index:1;}
.aw-hours th.aw-rl span{display:block; color:var(--ink); font-weight:600; font-size:.78rem;}
.aw-hours th.aw-rl small{display:block; font-weight:400; font-size:.68rem; color:var(--ink-soft);}
.aw-hours td{min-width:2.5rem; text-align:center; padding:.32rem .2rem; border-radius:3px; font-weight:500; white-space:nowrap;}
.aw-hours td.is-neutral{background:#ecece6; color:#5e655d; font-weight:400;}
.aw-hours td.is-gap{background:repeating-linear-gradient(135deg,var(--line) 0 2px,transparent 2px 6px); color:var(--ink-soft);}
.aw-hours td.aw-sum{font-weight:700;}

/* Auswahl als Baum (ersetzt das Raster der ersten Fassung) */
.aw-pickhead{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1rem; margin-top:1rem;}
.aw-selected{display:flex; flex-wrap:wrap; align-items:center; gap:.35rem .4rem; flex:1 1 420px;}
.aw-chip{display:inline-flex; align-items:center; gap:.2rem; font-size:.8rem; font-weight:500; padding:.18rem .2rem .18rem .65rem; border-radius:999px; background:var(--sage-pale); border:1px solid var(--sage-deep);}
.wx .aw-chip button{border:0; background:transparent; color:var(--ink-soft); cursor:pointer; font-size:.72rem; line-height:1; padding:.2rem .35rem; border-radius:999px;}
.wx .aw-chip button:hover{background:var(--sage-light); color:var(--ink);}
.wx .aw-search{flex:0 1 300px; min-width:220px; font-size:.9rem; padding:.45rem .8rem;}
.aw-tree{margin-top:.8rem; border-top:1px solid var(--line);}
.aw-node{border-bottom:1px solid var(--line);}
.aw-nhead{display:flex; align-items:center; gap:.6rem;}
.wx .aw-ntoggle{flex:1; display:flex; align-items:center; gap:.65rem; border:0; background:transparent; padding:.65rem .2rem; cursor:pointer; font:inherit; color:var(--ink); text-align:left;}
.wx .aw-ntoggle:hover .aw-gname{text-decoration:underline; text-decoration-color:var(--yellow); text-underline-offset:4px;}
.aw-caret{width:.55rem; height:.55rem; border-right:1.8px solid var(--sage-deep); border-bottom:1.8px solid var(--sage-deep); transform:rotate(-45deg); transition:transform .15s var(--ease); margin:0 .15rem 0 .1rem; flex:0 0 auto;}
.aw-node.is-open .aw-caret{transform:rotate(45deg); margin-top:-.2rem;}
.aw-count{font-size:.75rem; color:var(--ink-soft); padding:.05rem .5rem; border-radius:999px; background:var(--paper);}
.aw-count.has-sel{background:var(--sage-deep); color:var(--white); font-weight:600;}
.aw-all{margin-right:.2rem;}
.aw-nbody{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:.35rem; padding:.1rem 0 .9rem 1.4rem;}
.aw-nbody .aw-pick{padding:.38rem .6rem .38rem 2rem;}
.aw-nbody .aw-pn{font-size:.86rem;}
.aw-nbody .aw-ps{font-size:.7rem;}
.aw-none{background:#ecece6; color:#6b726a;}
.aw-t.aw-none{cursor:pointer;}
.aw-legend i.aw-none{background:#ecece6;}
.aw-dot.is-op{background-image:linear-gradient(90deg,transparent 50%,var(--white) 50%);}
.aw-crit sup{font-size:.7rem; margin-left:-.15rem; color:var(--ink-soft);}
.aw-ante{display:inline-block; margin:.6rem 0 0; font-size:.82rem; font-weight:500; padding:.2rem .6rem; border-radius:4px;}
@media (max-width:760px){ .aw-nbody{padding-left:0; grid-template-columns:1fr;} .wx .aw-search{flex:1 1 100%;} }

/* Zeitfenster selbst einstellen */
.wx .aw-winbtn{font:inherit; font-size:.78rem; font-weight:500; color:var(--ink); background:var(--white); border:1px dashed var(--sage-deep); border-radius:999px; padding:.15rem .7rem; cursor:pointer;}
.wx .aw-winbtn:hover{background:var(--sage-pale);}
.wx .aw-winbtn.is-user{border-style:solid; background:var(--yellow);}
.aw-winedit{display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; width:100%; padding:.6rem .8rem; margin:.2rem 0 .1rem; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); font-size:.8rem; font-weight:500;}
.aw-winedit label{display:inline-flex; align-items:center; gap:.4rem;}
.wx .aw-winedit select{font-size:.8rem; padding:.2rem 1.6rem .2rem .5rem; min-height:0; height:auto;}
.aw-dot-user{background:var(--yellow); border-color:#a5a63a;}
.aw-hours td.is-margin,.aw-hours th.is-margin{opacity:.45;}
.aw-hours td.is-margin{background:transparent; color:var(--ink-soft); font-weight:400; box-shadow:inset 0 0 0 1px var(--line);}

/* Werte ohne Bewertung */
.aw-info{background:#e9e9e3; color:var(--ink);}
.wx .aw-t.aw-info .aw-tl{font-weight:600;}
.aw-t .aw-r24{font-size:.56rem; opacity:.65; margin-top:0;}
.aw-legend i.aw-info{background:#e9e9e3;}
.aw-quote{width:100%; font-size:.8rem; color:var(--ink-soft); line-height:1.45; max-width:860px;}
.aw-quote strong{color:var(--ink); font-weight:500;}
.aw-ante.aw-info{background:#e9e9e3;}

/* Block „Ohne Wettervorgabe“ im Auswahlbaum */
.aw-nowx{margin:-.2rem 0 1rem 1.4rem; padding:.7rem .9rem; border-left:2px solid var(--line); color:var(--ink-soft);}
.aw-nowx-h{display:block; font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--sage-deep); margin-bottom:.35rem;}
.aw-nowx ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:.3rem 1rem;}
.aw-nowx li{font-size:.84rem; line-height:1.3; opacity:.8;}
.aw-nowx li .aw-pn{font-weight:500; color:var(--ink);}
.aw-nowx li em{font-size:.74rem;}
.aw-nowx-m{display:block; font-size:.74rem;}
.aw-nowx p{margin:.5rem 0 0; font-size:.8rem;}
@media (max-width:760px){ .aw-nowx{margin-left:0;} }

/* Voreinstellung (frei wählbar) */
.aw-dot-preset{background:var(--white); border:1.5px dotted var(--ink-soft);}
.aw-src-preset{color:var(--ink-soft); font-weight:500;}
.aw-src-preset::before{background:var(--white); box-shadow:none; border:1.5px dotted var(--ink-soft); width:.45rem; height:.45rem;}
