/* AIT Group, Startseite: Betrieb, Unternehmen, Kontakt und Footer (Praefixe op-, co-, ct-, fx-).
   Gleiches Raster wie alle Sektionen, Grundlagen in home.css.
   Das Buchungsformular bleibt technisch unveraendert (Logik in site.js), hier wird nur das Aussehen angeglichen. */

/* ---------- Unternehmen: Gruender ---------- */
.co-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--col-gap);row-gap:40px}
.co-p{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(18px,2vw,32px);align-items:start;
  padding-top:var(--cell);border-top:1px solid var(--rule);min-width:0}
.co-p img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#E2E2E2}
.co-id{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.co-k{font-size:13px;line-height:1.4;font-weight:500;color:var(--ink-3)}
.co-p h3{margin-top:6px!important;font-size:clamp(19px,1.5vw,24px);font-weight:500;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
.co-role{margin-top:6px!important;font-size:14px;line-height:1.45;color:var(--ink-2)}
.co-txt{margin-top:16px!important;font-size:15px;line-height:1.6;color:var(--ink-2)}
.co-mail{margin-top:18px;font-size:14px;font-weight:500;line-height:1.4;color:var(--ink);padding-bottom:2px;border-bottom:1px solid var(--ink-4);overflow-wrap:anywhere;transition:color 250ms,border-color 250ms}
.co-mail:hover{color:var(--violet);border-color:var(--violet)}

/* Grundsaetze und Fakten */
.co-claim{font-size:clamp(24px,2.3vw,36px);font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--ink);max-width:22em;text-wrap:balance;margin-bottom:clamp(40px,6vh,64px)!important}
.co-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--col-gap);row-gap:28px}
.co-facts div{padding-top:var(--cell);border-top:1px solid var(--rule);min-width:0}
.co-facts dt{font-size:13px;line-height:1.4;font-weight:500;color:var(--ink-3)}
.co-facts dd{margin-top:6px!important;font-size:15.5px;line-height:1.45;color:var(--ink)}

/* ---------- Kontakt ---------- */
.ct-direct div{padding:var(--cell) 0 18px;border-top:1px solid var(--rule)}
.ct-direct dt{font-size:13px;line-height:1.4;font-weight:500;color:var(--ink-3)}
.ct-direct dd{margin-top:4px!important;font-size:15.5px;line-height:1.45;color:var(--ink)}
.ct-direct a{border-bottom:1px solid var(--ink-4);transition:color 250ms,border-color 250ms}
.ct-direct a:hover{color:var(--violet);border-color:var(--violet)}

/* Buchung: Schritte als Zellen */
.ct .booking{min-width:0}
.ct .bk-step,.ct .bk-step:first-child{padding:var(--cell) 0 clamp(28px,4vh,40px);border-top:1px solid var(--rule)}
.ct .bk-label{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:14px;line-height:1.45;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink)}
.ct .bk-label i{width:24px;height:24px;border-radius:50%;border:1px solid var(--ink-4);display:grid;place-items:center;font-size:12px;font-style:normal;font-weight:500;letter-spacing:0;color:var(--ink)}
.ct .bk-step.done .bk-label i{background:var(--ink);border-color:var(--ink);color:#FFFFFF}
.ct .cal{max-width:520px;background:#FFFFFF;border:1px solid var(--rule);border-radius:2px;padding:16px 18px 14px;box-shadow:none}
.ct .cal-head b{font-size:15px;font-weight:500;color:var(--ink)}
.ct .cal-head button{border:1px solid var(--rule);color:var(--ink);background:transparent}
.ct .cal-head button:hover{border-color:var(--ink)}
.ct .cal-head button:disabled{opacity:.35;cursor:default}
.ct .cal-grid .wd{font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-3)}
.ct .cal-grid .d{border-radius:2px;color:var(--ink);font-size:14px}
.ct .cal-grid .d:hover{border-color:var(--ink)}
.ct .cal-grid .d.today{border-color:var(--rule)}
.ct .cal-grid .d.is-on{background:var(--ink);border-color:var(--ink);color:#FFFFFF;box-shadow:none}
.ct .slot{background:#FFFFFF;border:1px solid var(--rule);border-radius:2px;color:var(--ink);font-size:14px}
.ct .slot:hover{border-color:var(--ink)}
.ct .slot.is-on{background:var(--ink);border-color:var(--ink);color:#FFFFFF;box-shadow:none}
.ct .bk-hint{margin-top:12px!important;font-size:13px;color:var(--ink-3)}
.ct .bk-chosen{display:block;font-size:14px;line-height:1.5;color:var(--ink-2)}
.ct .bk-chosen a{margin-left:14px;font-size:13px}
.ct .bk-chosen b{font-weight:500;color:var(--ink)}
.ct .bk-chosen a{color:var(--ink-3);border-bottom-color:var(--ink-4)}
.ct .bk-chosen a:hover{color:var(--violet)}
.ct .fields{gap:16px}
.ct .field{gap:7px}
.ct .field label{font-size:13px;line-height:1.4;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink-2)}
.ct .field input,.ct .field textarea{background:#FFFFFF;border:1px solid var(--rule);border-radius:2px;color:var(--ink);font-size:15px;padding:12px 14px;min-height:48px;box-shadow:none}
.ct .field textarea{min-height:110px}
.ct .field input:focus,.ct .field textarea:focus{border-color:var(--ink);background:#FFFFFF;box-shadow:0 0 0 3px rgba(145,70,232,.16)}
.ct .field input::placeholder,.ct .field textarea::placeholder{color:var(--ink-4)}
.ct .bk-submit{margin-top:24px}
.ct .bk-submit .summary{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.ct .bk-submit .summary b{font-weight:500;color:var(--ink)}
.ct .btn-magenta{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-width:240px;min-height:52px;padding:0 26px;
  border:0;border-radius:999px;background:var(--ink);color:#FFFFFF;font-size:15px;font-weight:500;letter-spacing:0;transition:background-color 250ms,opacity 250ms}
.ct .btn-magenta:hover{background:var(--violet)}
.ct .btn-magenta[disabled]{opacity:.32;cursor:not-allowed;background:var(--ink)}
.ct .btn-magenta svg{width:16px;height:16px}
.ct .bk-msg{font-size:14px;color:var(--ink-2)}
.ct .bk-msg.err{color:#B42318}
.ct .bk-done{padding-top:var(--cell);border-top:1px solid var(--rule)}
.ct .bk-done h3{font-size:clamp(24px,2.2vw,34px);font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.ct .bk-done p{margin-top:14px!important;font-size:16px;line-height:1.6;color:var(--ink-2);max-width:52ch}

/* ---------- Footer ---------- */
.fx{background:var(--bg);color:var(--ink);font-size:15px;line-height:1.6;
  padding:0 max(var(--pad-x),env(safe-area-inset-right,0px)) max(28px,env(safe-area-inset-bottom,0px)) max(var(--pad-x),env(safe-area-inset-left,0px))}
.fx *{box-sizing:border-box;letter-spacing:0}
.fx p,.fx ul{margin:0;padding:0;list-style:none}
.fx a{color:inherit;text-decoration:none}
.fx a:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.fx-top{display:grid;grid-template-columns:var(--cols);column-gap:var(--col-gap);row-gap:40px;padding:var(--cell) 0 clamp(56px,9vh,96px);border-top:1px solid var(--ink)}
.fx-brand{grid-column:1;min-width:0}
.fx-logo{display:inline-flex;align-items:center;gap:12px}
.fx-logo img{display:block;width:34px;height:auto}
.fx-logo span{font-size:24px;font-weight:600;line-height:1;color:var(--ink)}
.fx-addr{margin-top:22px!important;font-size:14.5px;line-height:1.7;color:var(--ink-2)}
.fx-addr a{transition:color 200ms}
.fx-addr a:hover{color:var(--violet)}
.fx-nav{grid-column:2/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--col-gap);row-gap:32px}
.fx-h{margin-bottom:14px!important;font-size:14px;line-height:1.45;font-weight:500;color:var(--ink-3)}
.fx-nav ul{display:grid;gap:8px}
.fx li{font-size:15px;line-height:1.45}
.fx-nav a{font-size:15px;color:var(--ink);transition:color 200ms}
.fx-nav a:hover{color:var(--violet)}
.fx-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 32px;padding-top:var(--cell);border-top:1px solid var(--rule)}
.fx-bottom p{font-size:13.5px;line-height:1.5;color:var(--ink-3)}
.fx-bottom nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.fx-bottom a{font-size:13.5px;line-height:1.5;color:var(--ink-3);transition:color 200ms}
.fx-bottom a:hover{color:var(--ink)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .co-team{grid-template-columns:minmax(0,1fr);max-width:720px}
  .co-p{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
  .co-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .fx-top{grid-template-columns:minmax(0,1fr)}
  .fx-brand,.fx-nav{grid-column:1}
  .ct-direct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--col-gap)}
}
@media (max-width:640px){
  .ct-direct{grid-template-columns:minmax(0,1fr)}
  .ct-direct div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0}
  .ct-direct dd{margin-top:0!important;text-align:right}
  .fx-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct .btn-magenta{width:100%;min-width:0}
  .ct .cal{padding:12px 10px 10px}
}
@media (max-width:480px){
  .co-p{grid-template-columns:minmax(0,1fr);row-gap:18px}
  .co-p img{max-width:240px}
  .co-facts{grid-template-columns:minmax(0,1fr)}
}
