/* Workshop-Unterseite AI Cycle – ergänzt ai-pages.css (Look wie das Workshop-Sujet: Ring mit Porträt, Cyan/Violett/Pink) */
[hidden] { display:none !important; }

/* Hero */
.whero-in { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(24px,4vw,64px); align-items:center; }
.whero h1 { font-size:clamp(52px,11vw,132px); line-height:.86; max-width:none; }
.whero h1 .accent { display:block; background:none; color:var(--green); -webkit-text-fill-color:currentColor; }
.claim-big { font:800 clamp(22px,2.6vw,34px)/1.1 var(--display); letter-spacing:-0.035em; color:var(--ink); margin:26px 0 0; }
.whero .lead { margin-top:12px; }
.whero .text { margin-top:14px; }
.btn-big { min-height:56px; padding:16px 26px; font-size:12px; }
.ring { position:relative; width:min(100%,460px); aspect-ratio:1; justify-self:center; border-radius:50%;
  background:conic-gradient(from 200deg,#22E3FF 0deg,#7DF9FF 60deg,#8C8FFF 130deg,#B026FF 200deg,#FF2D95 250deg,rgba(255,45,149,.15) 262deg,rgba(34,227,255,.15) 300deg,#22E3FF 360deg);
  box-shadow:0 30px 120px -40px rgba(176,38,255,.6); }
.ring-in { position:absolute; inset:24%; border-radius:50%; background:var(--paper); padding:4%; }
.ring-in img { width:100%; height:100%; border-radius:50%; object-fit:cover; object-position:50% 18%; }
@media (max-width: 819px) { .whero-in { grid-template-columns:1fr; } .ring { width:min(62vw,240px); justify-self:start; } } /* mobil: Überschrift zuerst, Ring darunter */

/* Eckdaten */
.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr)); gap:1px; margin-top:clamp(28px,4vw,48px);
  border:1px solid transparent; background:linear-gradient(var(--card),var(--card)) padding-box, linear-gradient(100deg,#22E3FF,#B026FF 60%,#FF2D95) border-box; }
.fact { padding:20px 22px; background:var(--card); display:grid; gap:6px; align-content:start; }
.fact + .fact { box-shadow:-1px 0 0 var(--line-2); }
.fact-v { font:800 clamp(19px,1.9vw,24px)/1.15 var(--display); letter-spacing:-0.03em; color:var(--ink); }
.fact .muted { margin:0; }

/* Ablauf */
.mods { list-style:none; margin:clamp(20px,3vw,36px) 0 0; padding:0; display:grid; gap:1px; }
.mod { display:grid; grid-template-columns:150px minmax(0,1fr); gap:clamp(16px,3vw,32px); padding:clamp(22px,3vw,34px) 0; border-top:1px solid var(--line-2); }
.mod-time { font-weight:700; color:var(--green); padding-top:2px; }
.mod-body .h3 { margin-top:8px; }
.mod-q { font-size:17px; line-height:1.5; color:var(--ink); font-weight:600; margin:0 0 14px; max-width:60ch; }
.mod.pause { padding:16px 0; align-items:center; }
.mod.pause .h3 { margin:0; font-size:17px; color:var(--muted); }
.box { background:var(--card); border-left:3px solid var(--green); padding:14px 18px; margin:6px 0 12px; max-width:68ch; }
.box p { margin:6px 0 0; color:var(--ink); line-height:1.55; }
.prep { font-size:14.5px; line-height:1.6; color:var(--ink-2); margin:0; max-width:68ch; }
.prep .label { color:#FF7AC0; margin-right:6px; }
.prep a, .ticks a, .sum a { color:var(--green); text-underline-offset:3px; }
@media (max-width: 640px) { .mod { grid-template-columns:1fr; gap:6px; } }

/* Nutzen und Vorbereitung */
.ticks { list-style:none; margin:6px 0 0; padding:0; display:grid; gap:12px; max-width:68ch; }
.ticks li { position:relative; padding-left:34px; font-size:16px; line-height:1.55; color:var(--ink-2); }
.ticks li strong { color:var(--ink); }
.ticks li::before { content:"✓"; position:absolute; left:0; top:0; width:22px; height:22px; border-radius:50%; display:grid; place-items:center;
  font:700 12px var(--mono); color:#05060A; background:linear-gradient(100deg,#22E3FF,#C77DFF); }
.goal { padding:clamp(22px,3vw,34px); }
.goal-t { font:800 clamp(22px,2.4vw,30px)/1.12 var(--display); letter-spacing:-0.035em; color:var(--ink); margin:10px 0 0; }

/* Trainer */
.trainer .person-photo { width:clamp(110px,12vw,150px); object-position:50% 18%; }
.trainer h2 { margin:8px 0 0; font-size:clamp(24px,2.6vw,32px); }

/* Buchung */
.book { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:clamp(24px,4vw,64px); align-items:start; }
@media (max-width: 899px) { .book { grid-template-columns:1fr; } }
.sum { padding:clamp(22px,3vw,32px); position:sticky; top:96px; display:grid; gap:12px; }
@media (max-width: 899px) { .sum { position:static; } }
.sum .h3 { margin:0; }
.sum-list { list-style:none; margin:0 0 8px; padding:0; display:grid; gap:1px; }
.sum-list li { display:grid; gap:4px; padding:12px 0; border-bottom:1px solid var(--line-2); color:var(--ink); font-weight:600; }
.steps { margin:0; padding-left:20px; color:var(--ink-2); line-height:1.55; display:grid; gap:6px; }
.steps li::marker { color:var(--green); font-weight:700; }

.wform { display:grid; gap:22px; margin-top:8px; }
.wform fieldset { border:0; margin:0; padding:0; display:grid; gap:14px; min-width:0; }
.wform legend { padding:0; margin-bottom:14px; }
.row2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:14px; }
.f { display:grid; gap:6px; }
.f label { font-weight:600; font-size:14.5px; color:var(--ink); }
.f .opt { font-weight:400; color:var(--muted); }
.hint { font-size:13px; color:var(--muted); order:3; }
.f input, .f textarea, .f select { width:100%; min-height:50px; padding:12px 14px; background:var(--card); color:var(--ink); border:1px solid var(--line-2);
  border-radius:0; font:16px Archivo,system-ui,sans-serif; }
.f textarea { resize:vertical; min-height:90px; }
.f select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--green) 50%),linear-gradient(135deg,var(--green) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; }
.f input:focus, .f textarea:focus, .f select:focus { border-color:var(--green); outline:2px solid var(--green); outline-offset:0; }
.f [aria-invalid="true"], .check input[aria-invalid="true"] { border-color:#FF5C8A; outline-color:#FF5C8A; }
.checks { display:grid; gap:12px; }
.check { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; font-size:14.5px; line-height:1.55; color:var(--ink-2); cursor:pointer; }
.check strong { color:var(--ink); }
.check input { width:22px; height:22px; margin:1px 0 0; accent-color:#22E3FF; }
.check a { color:var(--green); }
.form-err { background:rgba(255,45,149,.12); border-left:3px solid #FF2D95; color:var(--ink); padding:12px 16px; margin:0; line-height:1.5; }
.form-err a { color:var(--green); }
.wform .btn { justify-self:start; border:0; cursor:pointer; }
.wform .btn[disabled] { opacity:.6; cursor:progress; }
.wform .muted { margin:-10px 0 0; }
.hp { position:absolute; left:-9999px; }
.form-ok { margin-top:8px; padding:clamp(22px,3vw,34px); border:1px solid var(--green); background:var(--card); }
.form-ok:focus { outline:none; }
.ok-title { font:800 clamp(24px,2.8vw,34px)/1.08 var(--display); letter-spacing:-0.035em; color:var(--ink); margin:10px 0 14px; }

/* Schluss */
.band-title .accent { background:linear-gradient(100deg,#7DF9FF,#B026FF 70%); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* AGB */
.agb h1 { font-size:clamp(40px,7vw,84px); line-height:.9; margin:14px 0 clamp(20px,3vw,36px); }
.agb-sec { padding:clamp(18px,2.4vw,28px) 0; border-top:1px solid var(--line-2); }
.agb-sec .h3 { margin:0 0 12px; }
.agb-sec .h3 .mono { color:var(--green); font-size:.6em; margin-right:8px; vertical-align:.2em; }
.agb-sec .text { margin:0 0 10px; }
.agb a { color:var(--green); text-underline-offset:3px; }
