/* Alpha Termine – Frontend (Alpha CI Kit V4, editorial / Architekturbüro) */
.alpha-termine{
  --at-nav:#232E3E; --at-warm:#A59C95; --at-light:#D7D4CE;
  --at-cream:#F4F2EF; --at-brass:#A87C4F; --at-brick:#813F3C;
  font-family:'Spezia','Helvetica Neue',Arial,sans-serif;
  display:flex; background:var(--at-cream); border:1px solid var(--at-light);
  color:var(--at-nav); max-width:660px; margin:0 auto;
}
.alpha-termine *{box-sizing:border-box}

/* Index-Steg */
.alpha-termine .at-spine{
  width:96px; flex:none; background:var(--at-nav); color:var(--at-cream);
  padding:34px 0; display:flex; flex-direction:column; align-items:center; gap:34px;
}
.alpha-termine .at-ix{text-align:center;opacity:.4;transition:opacity .3s}
.alpha-termine .at-ix.is-on{opacity:1}
.alpha-termine .at-n{display:block;font-size:30px;font-weight:500;line-height:1;color:var(--at-warm)}
.alpha-termine .at-ix.is-on .at-n{color:var(--at-brass)}
.alpha-termine .at-t{display:block;margin-top:9px;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#9aa0a8}
.alpha-termine .at-ix.is-on .at-t{color:var(--at-cream)}
.alpha-termine .at-foot{
  margin-top:auto;writing-mode:vertical-rl;transform:rotate(180deg);
  font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#5d6772;
}

/* Arbeitsfläche */
.alpha-termine .at-body{flex:1;min-width:0;padding:34px 40px 40px}
.alpha-termine .at-mast{
  display:flex;justify-content:space-between;align-items:baseline;
  border-bottom:1px solid var(--at-light);padding-bottom:13px;
}
.alpha-termine .at-a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--at-warm)}
.alpha-termine .at-b{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--at-warm)}
.alpha-termine .at-title{font-size:35px;font-weight:500;line-height:1.1;margin:24px 0 30px;color:var(--at-nav)}
.alpha-termine .at-pipe{color:var(--at-light);font-weight:400;margin:0 4px}
.alpha-termine .at-reg{font-weight:400;color:var(--at-warm)}
.alpha-termine .at-host{
  display:flex;align-items:center;gap:16px;
  margin:0 0 30px;padding-bottom:24px;border-bottom:1px solid var(--at-light);
}
.alpha-termine .at-host-img{
  width:56px;height:56px;flex:none;border-radius:50%;object-fit:cover;
  border:1px solid var(--at-warm);
}
.alpha-termine .at-host-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.alpha-termine .at-host-g{font-size:15px;line-height:1.45;color:var(--at-nav)}
.alpha-termine .at-host-s{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--at-warm);
}
.alpha-termine .at-label{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--at-warm);margin:0 0 16px;
}
.alpha-termine .at-step{animation:atfade .4s ease}
@keyframes atfade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Variante B – Inhaltsverzeichnis */
.alpha-termine .at-types{border-top:1px solid var(--at-light)}
.alpha-termine .at-type{
  display:flex;align-items:center;gap:24px;width:100%;text-align:left;
  border:0;border-bottom:1px solid var(--at-light);background:transparent;
  color:var(--at-nav);font:inherit;cursor:pointer;padding:22px 4px;
  transition:padding-left .25s;
}
.alpha-termine .at-num{flex:none;width:42px;font-size:34px;font-weight:500;line-height:1;color:var(--at-brass)}
.alpha-termine .at-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.alpha-termine .at-nm{font-size:19px;font-weight:400}
.alpha-termine .at-ds{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--at-warm)}
.alpha-termine .at-pick{
  flex:none;font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--at-warm);display:flex;align-items:center;gap:9px;transition:color .2s;
}
.alpha-termine .at-ar{color:var(--at-brass);transition:transform .25s;font-size:14px}
.alpha-termine .at-type:hover{padding-left:18px}
.alpha-termine .at-type:hover .at-pick{color:var(--at-nav)}
.alpha-termine .at-type:hover .at-ar{transform:translateX(5px)}
.alpha-termine .at-type:focus-visible{outline:1px solid var(--at-nav);outline-offset:2px}

/* Tag-/Wochenwahl */
.alpha-termine .at-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.alpha-termine .at-week{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--at-warm)}
.alpha-termine .at-arrow{
  border:0;background:transparent;color:var(--at-nav);width:30px;height:30px;
  cursor:pointer;font-size:16px;opacity:.55;transition:opacity .2s;
}
.alpha-termine .at-arrow:hover:not(:disabled){opacity:1}
.alpha-termine .at-arrow:disabled{opacity:.18;cursor:not-allowed}
.alpha-termine .at-days{display:grid;grid-template-columns:repeat(7,1fr)}
.alpha-termine .at-day{
  border:0;border-left:1px solid var(--at-light);background:transparent;cursor:pointer;
  padding:15px 2px 17px;font:inherit;color:var(--at-nav);text-align:center;
  transition:background .2s,color .2s;
}
.alpha-termine .at-day:first-child{border-left:0}
.alpha-termine .at-day small{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--at-warm);margin-bottom:7px}
.alpha-termine .at-day b{font-size:20px;font-weight:400}
.alpha-termine .at-day:hover:not(:disabled){background:#EBE8E2}
.alpha-termine .at-day:disabled{opacity:.28;cursor:not-allowed}
.alpha-termine .at-day.is-active{background:var(--at-nav);color:var(--at-cream)}
.alpha-termine .at-day.is-active small{color:#9aa0a8}

.alpha-termine .at-slots-label{margin:34px 0 16px}
.alpha-termine .at-slots{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));
  gap:1px;background:var(--at-light);border:1px solid var(--at-light);
}
.alpha-termine .at-slot{
  border:0;background:var(--at-cream);color:var(--at-nav);padding:14px 0;
  font:inherit;font-size:15px;cursor:pointer;letter-spacing:.06em;
  transition:background .15s,color .15s;
}
.alpha-termine .at-slot:hover{background:#EBE8E2}
.alpha-termine .at-slot.is-active{background:var(--at-nav);color:var(--at-cream)}
.alpha-termine .at-empty{grid-column:1/-1;background:var(--at-cream);color:var(--at-warm);font-size:14px;font-style:italic;padding:14px 16px}

/* Formular */
.alpha-termine .at-summary{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  border-left:2px solid var(--at-brass);padding:6px 0 6px 18px;margin-bottom:30px;
}
.alpha-termine .at-summary .at-sd{font-size:17px}
.alpha-termine .at-summary .at-sh{font-size:17px;color:var(--at-brass);font-weight:500}
.alpha-termine .at-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.alpha-termine .at-grid label{
  display:flex;flex-direction:column;font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--at-warm);gap:9px;
}
.alpha-termine .at-full{grid-column:1/-1}
.alpha-termine .at-f{
  font:inherit;font-size:16px;letter-spacing:normal;text-transform:none;
  color:var(--at-nav);background:transparent;border:0;border-bottom:1px solid var(--at-light);
  padding:7px 0;width:100%;border-radius:0;
}
.alpha-termine textarea.at-f{resize:vertical;line-height:1.5}
.alpha-termine .at-f:focus{outline:none;border-bottom-color:var(--at-nav)}
.alpha-termine .at-consent{
  flex-direction:row;align-items:flex-start;gap:11px;text-transform:none;
  letter-spacing:normal;font-size:13px;color:var(--at-nav);line-height:1.5;
}
.alpha-termine .at-consent input{margin-top:3px}
.alpha-termine .at-consent a{color:var(--at-brick)}
.alpha-termine .at-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.alpha-termine .at-actions{display:flex;justify-content:space-between;align-items:center;margin-top:34px;gap:16px}
.alpha-termine .at-back{
  border:0;background:none;cursor:pointer;font:inherit;font-size:11px;
  color:var(--at-warm);text-transform:uppercase;letter-spacing:.18em;transition:color .2s;
}
.alpha-termine .at-back:hover{color:var(--at-nav)}
.alpha-termine .at-submit{
  border:0;cursor:pointer;font:inherit;font-size:13px;background:var(--at-brick);
  color:var(--at-cream);padding:17px 36px;letter-spacing:.18em;text-transform:uppercase;
  transition:opacity .2s;border-radius:0;
}
.alpha-termine .at-submit:hover{opacity:.88}
.alpha-termine .at-submit:disabled{opacity:.5;cursor:wait}
.alpha-termine .at-error{color:var(--at-brick);font-size:14px;margin-top:16px}

/* Bestätigung */
.alpha-termine .at-done{padding:30px 0 8px}
.alpha-termine .at-mk{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--at-brass);margin:0 0 18px}
.alpha-termine .at-done h4{font-size:30px;font-weight:500;margin:0 0 18px;line-height:1.15;color:var(--at-nav)}
.alpha-termine .at-done-text{font-size:16px;line-height:1.65;max-width:430px;margin:0;color:var(--at-nav)}
.alpha-termine .at-tagline{
  margin-top:34px;padding-top:20px;border-top:1px solid var(--at-light);
  color:var(--at-brick);font-size:13px;letter-spacing:.08em;
}

/* Fallback ohne Termin-Arten */
.alpha-termine .at-msg{padding:34px 40px;font-size:15px;color:var(--at-nav)}
.alpha-termine .at-msg a{color:var(--at-brick)}

@media(max-width:580px){
  .alpha-termine{flex-direction:column}
  .alpha-termine .at-spine{
    width:auto;flex-direction:row;justify-content:space-between;
    align-items:center;padding:18px 22px;gap:0;
  }
  .alpha-termine .at-foot{display:none}
  .alpha-termine .at-n{font-size:22px}
  .alpha-termine .at-body{padding:26px 22px 32px}
  .alpha-termine .at-title{font-size:27px}
  .alpha-termine .at-grid{grid-template-columns:1fr;gap:20px}
  .alpha-termine .at-type{gap:16px}
  .alpha-termine .at-num{width:34px;font-size:27px}
}

/* === Schutz gegen Theme-/Dark-Mode-Overrides (Farben fest erzwingen) === */
.alpha-termine{background:#F4F2EF !important;color:#232E3E !important;color-scheme:light !important}
.alpha-termine .at-spine{background:#232E3E !important}
.alpha-termine .at-n{color:#A59C95 !important}
.alpha-termine .at-ix.is-on .at-n{color:#A87C4F !important}
.alpha-termine .at-t{color:#9aa0a8 !important}
.alpha-termine .at-ix.is-on .at-t{color:#F4F2EF !important}
.alpha-termine .at-foot{color:#5d6772 !important}
.alpha-termine .at-a,.alpha-termine .at-b,.alpha-termine .at-label,
.alpha-termine .at-week,.alpha-termine .at-pick,.alpha-termine .at-ds,
.alpha-termine .at-grid label,.alpha-termine .at-back{color:#A59C95 !important}
.alpha-termine .at-title,.alpha-termine .at-nm,.alpha-termine .at-arrow,
.alpha-termine .at-summary .at-sd,.alpha-termine .at-done h4,
.alpha-termine .at-done-text,.alpha-termine .at-consent{color:#232E3E !important}
.alpha-termine .at-pipe{color:#D7D4CE !important}
.alpha-termine .at-reg{color:#A59C95 !important}
.alpha-termine .at-host-g{color:#232E3E !important}
.alpha-termine .at-host-s{color:#A59C95 !important}
.alpha-termine .at-host-img{border-color:#A59C95 !important}
.alpha-termine .at-num,.alpha-termine .at-ar,.alpha-termine .at-summary .at-sh,
.alpha-termine .at-mk{color:#A87C4F !important}
.alpha-termine .at-type,.alpha-termine .at-day,.alpha-termine .at-arrow,
.alpha-termine .at-back{background:transparent !important}
.alpha-termine .at-type{color:#232E3E !important}
.alpha-termine .at-day{color:#232E3E !important}
.alpha-termine .at-day small{color:#A59C95 !important}
.alpha-termine .at-day.is-active{background:#232E3E !important;color:#F4F2EF !important}
.alpha-termine .at-day.is-active small{color:#9aa0a8 !important}
.alpha-termine .at-slots{background:#D7D4CE !important}
.alpha-termine .at-slot{background:#F4F2EF !important;color:#232E3E !important}
.alpha-termine .at-slot.is-active{background:#232E3E !important;color:#F4F2EF !important}
.alpha-termine .at-empty{background:#F4F2EF !important;color:#A59C95 !important}
.alpha-termine .at-f{color:#232E3E !important;-webkit-text-fill-color:#232E3E !important;
background:transparent !important;border:0 !important;border-bottom:1px solid #D7D4CE !important;
border-radius:0 !important;box-shadow:none !important}
.alpha-termine .at-f:focus{border-bottom-color:#232E3E !important}
.alpha-termine .at-f::placeholder{color:#A59C95 !important;-webkit-text-fill-color:#A59C95 !important;opacity:1 !important}
.alpha-termine .at-f::-webkit-input-placeholder{color:#A59C95 !important;-webkit-text-fill-color:#A59C95 !important}
.alpha-termine input[type=checkbox]{accent-color:#232E3E;width:15px;height:15px}
.alpha-termine .at-consent a,.alpha-termine .at-msg a,
.alpha-termine .at-tagline,.alpha-termine .at-error{color:#813F3C !important}
.alpha-termine .at-submit{background:#813F3C !important;color:#F4F2EF !important;border:0 !important}
.alpha-termine .at-msg{color:#232E3E !important}
