/* =========================================================
   Orankesee Einschulung v1.9 – Editorial / Portal Design
   Frontend only – Elementor-safe
   ========================================================= */
.oes-page{
  --ink:#17343a;
  --ink-2:#274b51;
  --teal:#0b7675;
  --teal-2:#119c98;
  --mint:#dff1ec;
  --lime:#9dbb57;
  --lime-soft:#edf4db;
  --cream:#f4f0e7;
  --paper:#fffdf9;
  --white:#fff;
  --line:#d7e2df;
  --muted:#64797d;
  --warning:#a9660a;
  --shadow:0 18px 55px rgba(18,55,58,.10);
  max-width:1240px;
  margin:0 auto;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.58;
  letter-spacing:-.01em;
}
.oes-page *{box-sizing:border-box}
.oes-page a{color:var(--teal);text-underline-offset:3px}
.oes-page button,.oes-page input,.oes-page select{font-family:inherit}

/* ---------- HERO ---------- */
.oes-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
  min-height:480px;
  overflow:hidden;
  border-radius:34px 34px 10px 10px;
  background:var(--cream);
  box-shadow:var(--shadow);
}
.oes-hero:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:9px;
  background:linear-gradient(180deg,var(--lime),var(--teal-2));
}
.oes-hero-copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:66px 58px 66px 68px;
}
.oes-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  margin-bottom:18px;
  padding:7px 11px;
  border:1px solid rgba(11,118,117,.22);
  border-radius:999px;
  background:rgba(255,255,255,.48);
  color:var(--teal);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.oes-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lime)}
.oes-eyebrow.dark{color:var(--teal)}
.oes-hero h1{
  max-width:760px;
  margin:0 0 20px!important;
  color:var(--ink)!important;
  font-size:clamp(42px,6vw,76px)!important;
  font-weight:800!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
}
.oes-hero p{max-width:690px;margin:0;color:var(--ink-2);font-size:18px;line-height:1.65}
.oes-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:28px}
.oes-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:850;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.oes-btn:hover{transform:translateY(-2px)}
.oes-btn-light{background:var(--ink);color:#fff!important;box-shadow:0 8px 24px rgba(23,52,58,.15)}
.oes-btn-ghost{border:1px solid rgba(23,52,58,.28);background:rgba(255,255,255,.35);color:var(--ink)!important}
.oes-btn-primary{background:var(--teal);color:#fff!important}
.oes-btn-outline{border:1px solid var(--teal);background:#fff;color:var(--teal)!important}

.oes-hero-art{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:48px 42px;
  background:linear-gradient(155deg,#0b7675 0%,#0c8581 54%,#119c98 100%);
  color:#fff;
}
.oes-hero-art:before,.oes-hero-art:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}
.oes-hero-art:before{width:270px;height:270px;right:-95px;top:-75px}
.oes-hero-art:after{width:165px;height:165px;left:-55px;bottom:-55px}
.oes-hero-year{position:relative;z-index:2;display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:start;line-height:.8}
.oes-hero-year span{font-size:78px;font-weight:850;letter-spacing:-.08em}
.oes-hero-year i{padding:0 5px;color:rgba(255,255,255,.5);font-size:40px;font-style:normal;font-weight:300}
.oes-hero-year small{grid-column:1/-1;margin-top:16px;color:#d7f3ee;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.13em}
.oes-hero-facts{position:relative;z-index:2;display:grid;gap:10px}
.oes-hero-facts>div{padding:15px 16px;border-top:1px solid rgba(255,255,255,.25)}
.oes-hero-facts small{display:block;margin-bottom:3px;color:#d8f3ef;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.oes-hero-facts strong{display:block;font-size:23px;line-height:1.1}

/* ---------- QUICK NAV ---------- */
.oes-jumpbar{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  margin:0 22px 44px;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:#fff;
  box-shadow:0 12px 28px rgba(18,55,58,.06);
}
.oes-jumpbar a{position:relative;display:grid;grid-template-columns:42px 1fr;column-gap:10px;padding:18px 22px;color:var(--ink)!important;text-decoration:none!important;transition:background .15s ease}
.oes-jumpbar a+a{border-left:1px solid var(--line)}
.oes-jumpbar a:hover{background:#f5faf8}
.oes-jumpbar span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--cream);color:var(--teal);font-size:11px;font-weight:900}
.oes-jumpbar strong{font-size:15px}
.oes-jumpbar small{color:var(--muted);font-size:12px}

/* ---------- SECTIONS ---------- */
.oes-section{margin:58px 0;padding:0 12px}
.oes-soft{position:relative;padding:38px 42px;border-radius:24px;background:var(--cream)}
.oes-heading{display:grid;grid-template-columns:190px 1fr;column-gap:30px;margin-bottom:28px}
.oes-heading>span{padding-top:8px;color:var(--teal);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.oes-heading h2,.oes-contact h2{margin:0 0 10px!important;color:var(--ink)!important;font-size:clamp(30px,4vw,48px)!important;font-weight:780!important;line-height:1.05!important;letter-spacing:-.04em!important}
.oes-heading p{grid-column:2;max-width:780px;margin:0;color:var(--muted);font-size:15px}
.oes-grid{display:grid;gap:14px}
.oes-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ---------- TOURS ---------- */
.oes-card{position:relative;padding:27px 28px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.oes-tour-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:20px;align-items:center;min-height:128px;overflow:hidden}
.oes-tour-card:after{content:"→";position:absolute;right:22px;bottom:8px;color:rgba(11,118,117,.15);font-size:62px;font-weight:300;line-height:1}
.oes-tour-card h3{grid-column:2;margin:0 0 5px!important;color:var(--ink)!important;font-size:23px!important;line-height:1.15!important}
.oes-badge{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:56px;height:56px;padding:0;border-radius:50%;background:var(--mint);color:var(--teal);font-size:11px;font-weight:900;text-align:center}
.oes-time{grid-column:2;margin:0;color:var(--teal);font-size:16px;font-weight:850}
.oes-callout{display:flex;align-items:center;gap:8px;margin-top:12px;padding:15px 18px;border:1px dashed rgba(11,118,117,.35);border-radius:12px;background:#f8fbfa;color:var(--ink-2)}
.oes-callout a{font-weight:850}

/* ---------- TIMELINE ---------- */
.oes-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;padding-top:8px}
.oes-timeline:before{content:"";position:absolute;left:10%;right:10%;top:22px;height:2px;background:#bdd6d1}
.oes-timeline-item{position:relative;z-index:2;display:block;padding:0 18px;text-align:left}
.oes-dot{width:17px;height:17px;margin:6px 0 20px;border:4px solid var(--cream);border-radius:50%;background:var(--teal);box-shadow:0 0 0 2px #9fc7c0}
.oes-timeline-item strong{display:block;margin-bottom:6px;color:var(--teal);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.oes-timeline-item h3{margin:0 0 5px!important;color:var(--ink)!important;font-size:18px!important}
.oes-timeline-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}

/* ---------- BOOKING ---------- */
#terminbuchung{padding:48px 42px;border-radius:30px;background:var(--ink)}
#terminbuchung .oes-heading>span{color:#87d6cf}
#terminbuchung .oes-heading h2{color:#fff!important}
#terminbuchung .oes-heading p{color:#c7d7d8}
.oes-booking{overflow:hidden;border:0;border-radius:18px;background:#fff;box-shadow:0 26px 60px rgba(0,0,0,.18)}
.oes-status-box{position:relative;padding:17px 22px 17px 52px;border-bottom:1px solid var(--line);background:#eef8f5;color:var(--teal);font-size:14px;font-weight:850}
.oes-status-box:before{content:"";position:absolute;left:22px;top:50%;width:10px;height:10px;border-radius:50%;background:currentColor;transform:translateY(-50%);box-shadow:0 0 0 5px currentColor;opacity:.16}
.oes-status-box.is-waiting{background:#fff8e9;color:#8b5a08}
.oes-status-box.is-success{background:#eef7e4;color:#547624}
.oes-form{padding:30px 32px 32px}
.oes-form-section{position:relative;padding:0 0 30px 64px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.oes-form-section:before{position:absolute;left:0;top:-2px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--cream);color:var(--teal);font-size:13px;font-weight:900}
.oes-form-section:nth-of-type(1):before{content:"01"}
.oes-form-section:nth-of-type(2):before{content:"02"}
.oes-form-section:nth-of-type(3):before{content:"03"}
.oes-form-section.oes-privacy:before{content:"04"}
.oes-form-section h3{margin:0 0 14px!important;color:var(--ink)!important;font-size:22px!important;letter-spacing:-.025em!important}
.oes-form-grid{display:grid;gap:14px}
.oes-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.oes-form label,.oes-fieldset legend,.oes-integration-options>label{color:var(--ink-2);font-size:13px;font-weight:780}
.oes-form input[type=text],.oes-form input[type=email],.oes-form select{
  width:100%;height:48px;margin-top:6px;padding:11px 13px;border:1px solid #c8d6d3;border-radius:10px;background:#fbfcfb;color:var(--ink);font:inherit;outline:none;transition:border .15s ease,box-shadow .15s ease,background .15s ease
}
.oes-form input:hover{background:#fff}
.oes-form input:focus,.oes-form select:focus{border-color:var(--teal-2);background:#fff;box-shadow:0 0 0 4px rgba(17,156,152,.10)}
.oes-span-2{grid-column:1/-1}
.oes-fieldset{margin:18px 0 0;padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:#fafcfb}
.oes-radio{display:inline-flex!important;align-items:center;gap:8px;margin:9px 18px 2px 0;font-weight:650!important}
.oes-radio input{accent-color:var(--teal)}
.oes-integration-options{margin-top:10px;padding:15px 17px;border-left:4px solid var(--lime);border-radius:8px;background:var(--lime-soft)}
.oes-helper{margin:-5px 0 13px;color:var(--muted);font-size:13px}
.oes-privacy{border-bottom:0;margin-bottom:7px;padding-bottom:0}
.oes-check{display:flex;gap:10px;align-items:flex-start;font-weight:500!important}
.oes-check input{margin-top:5px;accent-color:var(--teal)}
.oes-privacy-hint{margin:10px 0 0 28px;color:var(--muted);font-size:12px;line-height:1.5}
.oes-submit{appearance:none;min-height:50px;border:0;border-radius:999px;background:var(--teal);color:#fff;padding:13px 23px;font-size:15px;font-weight:850;cursor:pointer;box-shadow:0 8px 20px rgba(11,118,117,.17);transition:.15s ease}
.oes-submit:hover{transform:translateY(-1px);background:#086967}
.oes-submit[disabled]{opacity:.6;cursor:wait;transform:none}
.oes-form-message{margin-top:15px}
.oes-form-message.error{padding:13px 15px;border-left:4px solid #b43d3d;border-radius:8px;background:#fff0f0;color:#842d2d}
.oes-form-message.success{padding:15px;border-left:4px solid var(--lime);border-radius:8px;background:#f0f7e7;color:#496628}
.oes-booking-note{padding:18px 23px;border-top:1px solid var(--line);background:#f7f9f8;color:var(--muted);font-size:13px}

/* Slots – desktop as clear schedule rows */
.oes-slot-help{margin:8px 0 0;color:var(--muted);font-size:13px}
.oes-slot-intro{margin:0 0 15px!important;font-size:13px!important}
.oes-slot-days{display:grid;gap:10px}
.oes-slot-day{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:start;padding:14px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}
.oes-slot-day:first-child{border-top:0}
.oes-slot-day h4{margin:9px 0 0!important;color:var(--ink)!important;font-size:14px!important;font-weight:850!important}
.oes-slot-buttons{display:flex;flex-wrap:wrap;gap:8px}
.oes-slot-button{position:relative;display:inline-block!important;margin:0!important;cursor:pointer!important}
.oes-slot-button input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.oes-slot-button span{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:126px;min-height:46px;padding:8px 13px;border:1px solid #bfd0cc;border-radius:9px;background:#fff;color:var(--ink);font-size:14px;font-weight:850;line-height:1.15;transition:.15s ease;user-select:none}
.oes-slot-button span small{display:block;color:var(--warning);font-size:10px;font-weight:800}
.oes-slot-button:hover span{border-color:var(--teal-2);background:#f1faf8}
.oes-slot-button input:focus-visible + span{outline:3px solid rgba(17,156,152,.18);outline-offset:2px}
.oes-slot-button input:checked + span{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 6px 15px rgba(11,118,117,.18)}
.oes-slot-button input:checked + span small{color:#e9f6c9}

/* Review + confirmation */
.oes-review-panel{margin:25px 0 4px;padding:24px;border:1px solid #98c9c4;border-radius:14px;background:#f2faf8}
.oes-review-kicker{margin-bottom:4px;color:var(--teal);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.oes-review-panel h3{margin:0 0 15px!important;color:var(--ink)!important;font-size:24px!important}
.oes-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
.oes-review-list>div{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}
.oes-review-list dt{margin:0 0 2px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.oes-review-list dd{margin:0;font-size:14px}
.oes-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.oes-review-back,.oes-review-confirm{appearance:none;min-height:45px;border-radius:999px;padding:10px 17px;font:inherit;font-size:13px;font-weight:850;cursor:pointer}
.oes-review-back{border:1px solid var(--teal);background:#fff;color:var(--teal)}
.oes-review-confirm{border:0;background:var(--teal);color:#fff}
.oes-review-back:disabled,.oes-review-confirm:disabled{opacity:.6;cursor:wait}
.oes-review-hint{margin:9px 0 0!important;color:var(--muted);font-size:11px}
.oes-confirmation-panel{display:grid;grid-template-columns:64px 1fr;gap:18px;margin:28px;padding:28px;border:0;border-radius:16px;background:var(--cream);box-shadow:none}
.oes-confirmation-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:var(--lime);color:#fff;font-size:27px;font-weight:900}
.oes-confirmation-kicker{margin-bottom:4px;color:var(--teal);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.oes-confirmation-copy h3{margin:0 0 8px!important;color:var(--ink)!important;font-size:27px!important}
.oes-confirmation-copy p{margin:0 0 12px;color:var(--ink-2)}
.oes-confirmation-code{display:inline-block;margin:2px 0 10px;padding:6px 9px;border-radius:7px;background:#fff;color:var(--muted);font-size:12px}
.oes-confirmation-mail{margin-top:12px;padding:11px 13px;border-radius:8px;background:#ecf5df;color:#4e6c2c}
.oes-confirmation-mail.is-warning{background:#fff2d9;color:#7d540d}
.oes-confirmation-note{margin-top:11px;padding:11px 13px;border-left:4px solid var(--teal);border-radius:6px;background:#fff;color:var(--ink-2)}
.oes-calendar-button{display:inline-flex;margin:3px 0 12px;padding:10px 14px;border-radius:999px;background:var(--ink);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:850}

/* Waitlist */
.oes-waitlist-wrap{display:grid;grid-template-columns:minmax(0,.75fr) minmax(300px,1.25fr);gap:25px;margin:28px;padding:26px;border:1px solid #ead4a2;border-radius:14px;background:#fff8e9}
.oes-waitlist-kicker{display:block;margin-bottom:4px;color:#8a6100;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.oes-waitlist-copy h3{margin:0 0 8px!important;color:var(--ink)!important;font-size:23px!important}
.oes-waitlist-copy p{margin:0;color:#6d6250;font-size:14px}
.oes-waitlist-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.oes-waitlist-form label{font-size:13px;font-weight:780}
.oes-waitlist-form label:nth-child(3),.oes-waitlist-check,.oes-waitlist-submit,.oes-waitlist-form .oes-form-message{grid-column:1/-1}
.oes-waitlist-form input[type=text],.oes-waitlist-form input[type=email]{width:100%;height:45px;margin-top:5px;padding:10px 11px;border:1px solid #d8c99e;border-radius:8px;background:#fff;font:inherit}
.oes-waitlist-form input:focus{outline:none;border-color:#b48513;box-shadow:0 0 0 3px rgba(180,133,19,.10)}
.oes-waitlist-check{font-weight:500!important}

/* ---------- CHECKLIST ---------- */
.oes-checklist-section{padding-top:10px}
.oes-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
.oes-check-item{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:19px 10px 19px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.oes-check-item:nth-child(odd){padding-right:28px}
.oes-check-item:nth-child(even){padding-left:28px;border-left:1px solid var(--line)}
.oes-check-item>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--teal);font-weight:900}
.oes-check-item strong{display:block;margin-bottom:2px;color:var(--ink)}
.oes-check-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.oes-check-item.oes-important{grid-column:1/-1;padding:20px;border:1px solid #ebcd8e!important;border-radius:12px!important;background:#fff9e9}
.oes-check-item.oes-important>span{background:#f0bd52;color:#634300}
.oes-child-note{margin-top:16px;padding:17px 20px;border-radius:12px;background:var(--ink);color:#fff;font-size:15px}

/* ---------- DOWNLOADS ---------- */
#downloads{padding:42px;border-radius:24px;background:#f5f7f5}
.oes-download-group+.oes-download-group{margin-top:32px}
.oes-download-group>h3{margin:0 0 12px!important;color:var(--ink)!important;font-size:19px!important}
.oes-download-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
.oes-download-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:15px;align-items:center;padding:15px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.oes-file-icon{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:10px;background:var(--ink);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em}
.oes-download-copy{display:contents}
.oes-download-copy h4{grid-column:2;margin:0 0 2px!important;color:var(--ink)!important;font-size:16px!important}
.oes-download-copy p{grid-column:2;margin:21px 0 0;color:var(--muted);font-size:12px}
.oes-download-copy a{grid-column:3;grid-row:1/3;display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid var(--teal);border-radius:999px;color:var(--teal)!important;font-size:12px;font-weight:850;text-decoration:none!important}
.oes-coming{grid-column:3;grid-row:1/3;display:inline-block;padding:6px 9px;border-radius:999px;background:#e9eded;color:#6d7c7f;font-size:11px;font-weight:750}
.oes-esu-group{padding-top:25px;border-top:0}

/* ---------- CONTACT ---------- */
.oes-contact{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:38px 42px;border:0;border-radius:20px;background:linear-gradient(120deg,var(--teal),#0a6566);color:#fff;box-shadow:var(--shadow)}
.oes-contact .oes-eyebrow{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#d9f4ef}
.oes-contact h2{color:#fff!important}
.oes-contact p{max-width:700px;margin:0;color:#d4e7e7}
.oes-contact-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:290px}
.oes-contact .oes-btn-primary{background:#fff;color:var(--teal)!important}
.oes-contact .oes-btn-outline{border-color:rgba(255,255,255,.55);background:transparent;color:#fff!important}

/* hidden honeypot */
.oes-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* ---------- RESPONSIVE ---------- */
@media(max-width:960px){
  .oes-hero{grid-template-columns:1fr minmax(260px,.5fr);min-height:430px}
  .oes-hero-copy{padding:48px 38px 48px 50px}
  .oes-hero-art{padding:38px 28px}
  .oes-hero-year span{font-size:60px}
  .oes-heading{grid-template-columns:145px 1fr}
  .oes-timeline{grid-template-columns:repeat(2,1fr);gap:28px 0}
  .oes-timeline:before{display:none}
  .oes-dot{margin-bottom:13px}
  .oes-slot-day{grid-template-columns:150px 1fr}
}
@media(max-width:760px){
  .oes-page{padding:0 4px}
  .oes-hero{grid-template-columns:1fr;border-radius:22px 22px 8px 8px}
  .oes-hero-copy{padding:42px 25px 36px 34px}
  .oes-hero h1{font-size:clamp(39px,12vw,62px)!important}
  .oes-hero-art{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:25px 28px}
  .oes-hero-year span{font-size:48px}.oes-hero-year i{font-size:28px}
  .oes-hero-facts{align-self:center}
  .oes-jumpbar{grid-template-columns:1fr;margin:0 10px 36px}
  .oes-jumpbar a+a{border-left:0;border-top:1px solid var(--line)}
  .oes-section{margin:42px 0;padding:0 6px}
  .oes-soft,#downloads,#terminbuchung{padding:28px 20px;border-radius:18px}
  .oes-heading{display:block;margin-bottom:22px}
  .oes-heading>span{display:block;padding:0;margin-bottom:7px}
  .oes-heading p{margin-top:8px}
  .oes-grid-2,.oes-form-grid-2,.oes-checklist{grid-template-columns:1fr}
  .oes-timeline{grid-template-columns:1fr}
  .oes-timeline-item{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:0}
  .oes-timeline-item>div:last-child{padding-bottom:22px}
  .oes-dot{margin:5px 0 0}
  .oes-form{padding:24px 20px}
  .oes-form-section{padding-left:0;padding-top:55px}
  .oes-form-section:before{top:0}
  .oes-span-2{grid-column:auto}
  .oes-slot-day{grid-template-columns:1fr;gap:8px;padding:12px 0}
  .oes-slot-day h4{margin:0!important}
  .oes-review-list{grid-template-columns:1fr}
  .oes-waitlist-wrap{grid-template-columns:1fr;margin:20px}
  .oes-waitlist-form{grid-template-columns:1fr}
  .oes-waitlist-form label:nth-child(3),.oes-waitlist-check,.oes-waitlist-submit,.oes-waitlist-form .oes-form-message{grid-column:auto}
  .oes-check-item,.oes-check-item:nth-child(odd),.oes-check-item:nth-child(even){padding:16px 0;border-left:0}
  .oes-check-item.oes-important{grid-column:auto}
  .oes-download-card{grid-template-columns:48px 1fr;gap:12px}
  .oes-download-copy h4,.oes-download-copy p{grid-column:2}
  .oes-download-copy p{margin-top:20px}
  .oes-download-copy a,.oes-coming{grid-column:2;grid-row:auto;justify-self:start;margin-top:6px}
  .oes-contact{grid-template-columns:1fr;padding:30px 24px}
  .oes-contact-actions{justify-content:flex-start;min-width:0}
}
@media(max-width:480px){
  .oes-hero-art{grid-template-columns:1fr}
  .oes-hero-facts{grid-template-columns:1fr 1fr}
  .oes-hero-facts>div{padding:12px 0}
  .oes-btn{width:100%}
  .oes-slot-button{flex:1 1 calc(50% - 8px)}
  .oes-slot-button span{width:100%;min-width:0;font-size:13px}
  .oes-confirmation-panel{grid-template-columns:1fr;margin:18px;padding:20px}
  .oes-confirmation-icon{width:46px;height:46px}
  .oes-confirmation-copy h3{font-size:22px!important}
}

/* =========================================================
   v1.9 – Frontend Polish / kompakte Terminwahl
   ========================================================= */

/* Hero text refinement */
.oes-page .oes-hero h1{max-width:830px}

/* Quick access feels like primary navigation */
.oes-page .oes-jumpbar a{min-height:84px;align-content:center}

/* School tours with direct mail action */
.oes-page .oes-tour-card{
  display:grid;
  grid-template-columns:64px 1fr auto;
  grid-template-rows:1fr;
  gap:18px;
  align-items:center;
  min-height:132px;
  padding:24px 26px;
}
.oes-page .oes-tour-card:after{display:none}
.oes-page .oes-tour-card .oes-badge{
  grid-row:auto;
  width:58px;height:58px;
  line-height:1.05;
  border-radius:16px;
  background:var(--ink);
  color:#fff;
  font-size:12px;
  letter-spacing:.05em;
}
.oes-page .oes-tour-copy h3{margin:0 0 5px!important;font-size:21px!important;color:var(--ink)!important}
.oes-page .oes-tour-copy .oes-time{grid-column:auto;margin:0}
.oes-page .oes-tour-mail{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 14px;
  border:1px solid var(--teal);
  border-radius:999px;
  color:var(--teal)!important;
  font-size:12px;
  font-weight:850;
  text-decoration:none!important;
  white-space:nowrap;
  transition:.15s ease;
}
.oes-page .oes-tour-mail:hover{background:var(--teal);color:#fff!important;transform:translateY(-1px)}

/* Booking progress */
.oes-booking-progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:0;
  padding:0;
  list-style:none;
  border-bottom:1px solid var(--line);
  background:#fbfcfb;
}
.oes-booking-progress li{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:62px;
  color:#91a0a1;
  font-size:12px;
  font-weight:800;
}
.oes-booking-progress li+li:before{
  content:"";
  position:absolute;
  left:0;top:18px;bottom:18px;
  width:1px;
  background:var(--line);
}
.oes-booking-progress li span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:27px;height:27px;
  border:1px solid #ccd8d6;
  border-radius:50%;
  background:#fff;
  color:#819093;
  font-size:11px;
}
.oes-booking-progress li.is-active{color:var(--ink)}
.oes-booking-progress li.is-active span{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 0 0 4px rgba(11,118,117,.09)}
.oes-booking-progress li.is-done{color:var(--teal)}
.oes-booking-progress li.is-done span{border-color:#b9d8d1;background:#eaf6f2;color:var(--teal)}
.oes-booking-progress li.is-done span:after{content:"✓";font-weight:900}
.oes-booking-progress li.is-done span{font-size:0}
.oes-booking-progress li.is-done span:after{font-size:12px}

/* Form sections now editorial instead of numbered floating boxes */
.oes-page .oes-form{padding:30px 34px 34px}
.oes-page .oes-form-section{
  padding:0 0 30px;
  margin:0 0 30px;
  border-bottom:1px solid var(--line);
}
.oes-page .oes-form-section:before{display:none}
.oes-step-kicker{
  display:block;
  margin:0 0 4px;
  color:var(--teal);
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.oes-section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.oes-availability-total{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--lime-soft);
  color:#5d762d;
  font-size:11px;
  font-weight:900;
}

/* Day accordion */
.oes-page .oes-slot-days{
  display:grid;
  gap:8px;
  border-top:1px solid var(--line);
}
.oes-page .oes-slot-day{
  display:block;
  padding:0;
  border:0;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.oes-day-toggle{
  appearance:none;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto 30px;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:72px;
  padding:9px 10px 9px 4px;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.oes-day-toggle:hover{background:#f8fbfa}
.oes-day-toggle:focus-visible{outline:3px solid rgba(17,156,152,.20);outline-offset:-3px}
.oes-day-date{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:5px;
  align-items:baseline;
}
.oes-day-date b{color:var(--teal);font-size:11px;font-weight:900;text-transform:uppercase}
.oes-day-date strong{font-size:17px;letter-spacing:-.02em}
.oes-day-name{font-size:15px;font-weight:850}
.oes-day-count{
  display:inline-flex;
  justify-content:center;
  min-width:82px;
  padding:6px 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.oes-day-count.is-green{background:#edf6df;color:#55722a}
.oes-day-count.is-yellow{background:#fff1d2;color:#855800}
.oes-day-count.is-red{background:#f6ecec;color:#944646}
.oes-day-chevron{font-size:22px;color:#708487;transition:transform .18s ease}
.oes-slot-day.is-open .oes-day-chevron{transform:rotate(180deg)}
.oes-slot-day.is-soldout .oes-day-toggle{cursor:not-allowed;opacity:.72}
.oes-day-panel{padding:0 0 18px 86px}
.oes-day-panel[hidden]{display:none!important}
.oes-soldout-copy{margin:0;color:var(--muted);font-size:13px}
.oes-page .oes-slot-buttons{display:flex;flex-wrap:wrap;gap:8px}
.oes-page .oes-slot-button span{
  min-width:132px;
  min-height:47px;
  border-radius:12px;
  background:#fbfcfb;
}
.oes-page .oes-slot-button input:checked + span{
  background:var(--ink);
  border-color:var(--ink);
  box-shadow:0 8px 18px rgba(23,52,58,.14);
}

/* Selected appointment bar */
.oes-selected-slot{
  position:sticky;
  bottom:14px;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:18px 0 0;
  padding:13px 15px;
  border:1px solid rgba(11,118,117,.22);
  border-radius:14px;
  background:rgba(239,248,245,.96);
  box-shadow:0 12px 30px rgba(23,52,58,.10);
  backdrop-filter:blur(10px);
}
.oes-selected-slot[hidden]{display:none!important}
.oes-selected-slot small{display:block;margin-bottom:2px;color:var(--teal);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.oes-selected-slot strong{display:block;color:var(--ink);font-size:15px}
.oes-selected-slot button{
  appearance:none;
  border:1px solid var(--teal);
  border-radius:999px;
  background:#fff;
  color:var(--teal);
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}

/* Review */
.oes-page .oes-review-panel{
  margin:24px 0 6px;
  padding:26px;
  border:1px solid #b6d5ce;
  border-radius:16px;
  background:#f4faf8;
}
.oes-review-appointment{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:12px;
  align-items:center;
  margin:0 0 15px;
  padding:14px 16px;
  border-radius:12px;
  background:var(--ink);
  color:#fff;
}
.oes-review-appointment small{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#a6d6d0}
.oes-review-appointment strong{font-size:17px}
.oes-review-appointment span{font-weight:900;color:#d9eee9}

/* Success ticket */
.oes-page .oes-confirmation-panel{
  display:block;
  margin:0;
  padding:30px 32px 34px;
  border-radius:0;
  background:#fff;
}
.oes-confirmation-top{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.oes-confirmation-top .oes-confirmation-icon{flex:0 0 54px}
.oes-confirmation-top h3{margin:2px 0 0!important;font-size:28px!important;color:var(--ink)!important}
.oes-confirmation-ticket{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fbfcfb;
}
.oes-confirmation-ticket>div{padding:18px 19px}
.oes-confirmation-ticket>div+div{border-left:1px solid var(--line)}
.oes-confirmation-ticket small{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.oes-confirmation-ticket strong{display:block;color:var(--ink);font-size:17px;line-height:1.2}
.oes-confirmation-ticket span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.oes-confirmation-location{display:flex;gap:12px;align-items:center;margin:15px 0;padding:14px 16px;border-radius:12px;background:var(--cream);color:var(--ink-2);font-size:13px}
.oes-confirmation-location>span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--teal);font-size:20px}
.oes-confirmation-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.oes-confirmation-actions a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 13px;
  border:1px solid var(--teal);
  border-radius:999px;
  color:var(--teal)!important;
  font-size:11px;
  font-weight:900;
  text-decoration:none!important;
}
.oes-confirmation-actions a.oes-action-primary{background:var(--teal);color:#fff!important}
.oes-confirmation-cancel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.oes-confirmation-cancel a{color:#a34040!important;font-weight:900}
.oes-confirmation-cancel small{flex-basis:100%;font-size:11px}

/* Interactive checklist */
.oes-checklist-progress{
  display:grid;
  grid-template-columns:auto minmax(150px,1fr) auto;
  gap:16px;
  align-items:center;
  margin:0 0 18px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fbfcfb;
}
.oes-checklist-progress>div:first-child{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.oes-checklist-progress strong{font-size:15px;color:var(--ink)}
.oes-checklist-progress span{font-size:11px;color:var(--muted)}
.oes-checklist-track{height:7px;overflow:hidden;border-radius:999px;background:#e3eae8}
.oes-checklist-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--lime));transition:width .2s ease}
.oes-checklist-progress button{appearance:none;border:0;background:transparent;color:var(--teal);font-size:11px;font-weight:850;cursor:pointer}
.oes-page .oes-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:0}
.oes-page .oes-check-item,
.oes-page .oes-check-item:nth-child(odd),
.oes-page .oes-check-item:nth-child(even){
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:13px;
  min-height:112px;
  padding:17px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fff;
  cursor:pointer;
  transition:.15s ease;
}
.oes-page .oes-check-item:hover{border-color:#aecbc5;background:#fbfdfc}
.oes-page .oes-check-item>input{position:absolute;opacity:0;pointer-events:none}
.oes-page .oes-checkmark{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border:1px solid #bfd3ce;
  border-radius:12px;
  background:#f5faf8;
  color:#9bb2ad;
  font-weight:900;
}
.oes-page .oes-check-item.is-checked{border-color:#afd2c9;background:#f2faf7}
.oes-page .oes-check-item.is-checked .oes-checkmark{border-color:var(--teal);background:var(--teal);color:#fff}
.oes-page .oes-check-item.oes-important{grid-column:1/-1;min-height:auto;border:1px solid #e3c77f!important;background:#fff9e8}
.oes-page .oes-check-item.oes-important .oes-checkmark{border-color:#e0c16f;background:#fff3c8;color:#8b6000}
.oes-page .oes-check-item.oes-important.is-checked .oes-checkmark{background:#c89517;color:#fff}
.oes-page .oes-check-item.oes-child-item{grid-column:1/-1;min-height:auto;border-color:var(--ink);background:var(--ink);color:#fff}
.oes-page .oes-check-item.oes-child-item strong{color:#fff}
.oes-page .oes-check-item.oes-child-item p{color:#d5e3e4}
.oes-page .oes-check-item.oes-child-item .oes-checkmark{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff}
.oes-page .oes-check-item.oes-child-item.is-checked{background:#0b6766;border-color:#0b6766}

/* Download rows with dual actions */
.oes-page .oes-download-card{
  grid-template-columns:54px minmax(0,1fr) auto;
  padding:16px 5px;
}
.oes-page .oes-file-icon{font-size:9px;letter-spacing:.04em}
.oes-page .oes-download-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:center}
.oes-page .oes-download-copy h4{grid-column:1;margin:0 0 3px!important}
.oes-page .oes-download-copy p{grid-column:1;margin:0;color:var(--muted);font-size:12px}
.oes-download-actions{grid-column:2;grid-row:1/3;display:flex;gap:7px;align-items:center}
.oes-page .oes-download-actions a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 11px;
  border:1px solid #b7cbc7;
  border-radius:999px;
  color:var(--ink)!important;
  font-size:10px;
  font-weight:850;
  text-decoration:none!important;
}
.oes-page .oes-download-actions a:last-child{border-color:var(--teal);color:var(--teal)!important}

@media(max-width:900px){
  .oes-page .oes-tour-card{grid-template-columns:58px 1fr;grid-template-rows:auto auto}
  .oes-page .oes-tour-mail{grid-column:2;justify-self:start}
  .oes-day-toggle{grid-template-columns:65px minmax(0,1fr) auto 26px}
  .oes-confirmation-ticket{grid-template-columns:1fr}
  .oes-confirmation-ticket>div+div{border-left:0;border-top:1px solid var(--line)}
}

@media(max-width:760px){
  .oes-booking-progress li{min-height:54px;gap:5px;font-size:10px}
  .oes-booking-progress li span{width:24px;height:24px}
  .oes-page .oes-form{padding:23px 18px 26px}
  .oes-section-title-row{align-items:center}
  .oes-day-toggle{grid-template-columns:58px 1fr auto 22px;gap:8px;min-height:67px;padding-right:2px}
  .oes-day-name{display:none}
  .oes-day-date{display:block}
  .oes-day-date b{display:block;font-size:9px}
  .oes-day-date strong{font-size:15px}
  .oes-day-count{min-width:70px;padding:5px 7px;font-size:9px}
  .oes-day-panel{padding:0 0 15px 0}
  .oes-page .oes-slot-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .oes-page .oes-slot-button{width:100%}
  .oes-page .oes-slot-button span{width:100%;min-width:0;padding:8px 6px;font-size:12px}
  .oes-selected-slot{bottom:8px;padding:11px 12px}
  .oes-selected-slot strong{font-size:13px}
  .oes-review-appointment{grid-template-columns:1fr;gap:3px}
  .oes-checklist-progress{grid-template-columns:1fr auto;gap:8px}
  .oes-checklist-track{grid-column:1/-1;grid-row:2}
  .oes-page .oes-checklist{grid-template-columns:1fr}
  .oes-page .oes-check-item.oes-important,.oes-page .oes-check-item.oes-child-item{grid-column:auto}
  .oes-page .oes-download-card{grid-template-columns:46px 1fr}
  .oes-page .oes-download-copy{grid-column:2;display:block}
  .oes-download-actions{display:flex;margin-top:10px;flex-wrap:wrap}
  .oes-page .oes-tour-card{grid-template-columns:52px 1fr;padding:20px}
}


/* v2.0 – Accessibility & mobile polish */
.oes-page .oes-skip-link{
  position:absolute;
  left:18px;
  top:-90px;
  z-index:9999;
  padding:11px 15px;
  border-radius:10px;
  background:#fff;
  color:#142f35!important;
  font-weight:800;
  box-shadow:0 8px 30px rgba(0,0,0,.18);
  text-decoration:none!important;
}
.oes-page .oes-skip-link:focus{top:18px}
.oes-page :is(a,button,input,select,textarea):focus-visible{
  outline:3px solid #0b625e!important;
  outline-offset:3px!important;
}
.oes-page .oes-day-toggle:focus-visible,
.oes-page .oes-slot-button:focus-within{border-radius:12px}
.oes-page .oes-slot-button input:focus-visible + span{
  box-shadow:0 0 0 3px #fff,0 0 0 6px #0b625e;
}
@media (prefers-reduced-motion: reduce){
  .oes-page *, .oes-page *::before, .oes-page *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media(max-width:560px){
  .oes-page .oes-slot-buttons{grid-template-columns:1fr}
  .oes-page .oes-slot-button span{min-height:46px;display:flex;align-items:center;justify-content:center}
  .oes-page .oes-submit,.oes-page .oes-review-confirm,.oes-page .oes-review-back{min-height:48px}
  .oes-confirmation-actions{display:grid!important;grid-template-columns:1fr!important}
  .oes-confirmation-actions a{justify-content:center;text-align:center}
}
