/* lmx261028: Klassisches Portalformular markengerecht gestalten START */
@font-face{font-family:'Open Sans';src:url('fonts/open-sans-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Open Sans';src:url('fonts/open-sans-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Teamkiste Yanone';src:url('fonts/yanone-regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--petrol:#214f5a;--green:#7ea13e;--green-dark:#536d29;--ink:#243e43;--muted:#52666a;--line:#d4dfda;--page:#fff;--focus:#167b8a}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--ink);font:16px/1.6 'Open Sans',Arial,sans-serif}
a{color:var(--petrol);text-underline-offset:4px}
a:hover{color:var(--green-dark)}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.skip-link{position:absolute;top:-100px;left:16px;padding:12px;background:white;z-index:5}
.skip-link:focus{top:12px}
.portal-header{border-top:5px solid var(--petrol);background:white;border-bottom:1px solid var(--line)}
.portal-header-inner{max-width:1056px;min-height:100px;margin:auto;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.portal-brand{display:block;flex-shrink:0;line-height:0}
.portal-brand img{display:block;width:220px;height:auto}
.portal-home{font-size:14px;text-decoration:none}
.portal-home span{margin-left:8px}
main{max-width:776px;margin:48px auto 0;padding:0 28px}
.portal-intro{margin-bottom:26px}
.portal-eyebrow{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--green-dark)}
h1,h2,legend{font-family:'Teamkiste Yanone','Arial Narrow',sans-serif;font-weight:400}
h1{font-size:clamp(38px,5vw,52px);line-height:1.1;letter-spacing:.005em;margin:0 0 16px;color:var(--petrol)}
.portal-intro>p:last-child{max-width:620px;margin:0;color:var(--muted);font-size:16px}
.portal-preview{display:flex;flex-wrap:wrap;gap:4px 12px;border-left:3px solid var(--green);background:#f2f2f2;padding:12px 16px;margin:0 0 24px;font-size:12px;color:var(--muted)}
.portal-form-sheet{background:white;border:1px solid var(--line);border-radius:6px;padding:32px 40px 28px;box-shadow:0 4px 20px #214f5a05}
.tk-inquiry-heading{display:flex;flex-direction:column;gap:8px}
.tk-inquiry-heading>label{font-weight:700;font-size:15px}
.tk-inquiry-heading>select{background-color:#fff!important;border-color:#aabdb7!important}
.tk-inquiry-hint{font-size:12px;color:var(--muted);margin:12px 0 0}
.tk-inquiry-sections{counter-reset:section}
.tk-inquiry-sections fieldset{min-width:0;border:0;border-top:1px solid var(--line);margin:32px 0 0;padding:22px 0 0}
.tk-inquiry-sections legend{float:left;width:100%;padding:0;margin:0 0 20px;color:var(--petrol);font-size:29px;line-height:1.3}
.tk-inquiry-sections legend::before{counter-increment:section;content:'0' counter(section);font-family:'Open Sans',Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-right:12px;vertical-align:middle;background:var(--green);color:#fff;border-radius:50%}
.tk-inquiry-row{clear:both;display:flex;flex-direction:column;gap:7px;margin:0 0 18px}
[hidden]{display:none!important}
.tk-inquiry-row label{font-size:14px;font-weight:700;line-height:1.5}
.tk-inquiry-form :is(input,select,textarea){width:100%;max-width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #aabdb7;border-radius:3px;background:white;color:var(--ink);font:16px/1.45 'Open Sans',Arial,sans-serif;transition:border-color .12s,box-shadow .12s}
.tk-inquiry-form :is(input,select,textarea):hover{border-color:#748d85}
.tk-inquiry-form :is(input,select,textarea):focus{outline:2px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
.tk-inquiry-form select{cursor:pointer;padding-right:28px}
.tk-inquiry-form textarea{min-height:110px;resize:vertical}
/* lmx261028: Schülerzahlpfeile unabhängig von manueller Untergrenze */
.tk-students-stepper{position:relative;min-width:0}
.tk-students-stepper.is-enhanced input{padding-right:28px;appearance:textfield;-moz-appearance:textfield}
.tk-students-stepper.is-enhanced input::-webkit-inner-spin-button,.tk-students-stepper.is-enhanced input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tk-students-buttons{position:absolute;top:1px;bottom:1px;right:1px;width:24px;display:grid;grid-template-rows:1fr 1fr}
.tk-students-buttons button{padding:0;margin:0;border:0;background:transparent;color:var(--muted);font:13px/1 Arial,sans-serif;cursor:pointer;box-shadow:none}
.tk-students-buttons button:hover{background:#0000000d;color:var(--petrol)}
.tk-inquiry-row:is([data-field="multigrade_class"],[data-alternative-toggle]){flex-direction:row;align-items:center;gap:10px;margin-top:-4px;min-height:38px}
.tk-inquiry-row:is([data-field="multigrade_class"],[data-alternative-toggle]) label{order:2;font-weight:400;cursor:pointer}
.tk-inquiry-row input[type="checkbox"]{order:1;flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:0;accent-color:var(--petrol);cursor:pointer}
.tk-inquiry-actions{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.portal-submit-note{font-size:13px;color:var(--muted);margin:0;max-width:440px}
.tk-inquiry-actions button{font:700 15px/1.4 'Open Sans',Arial,sans-serif;color:white;background:var(--green);padding:14px 26px;min-height:48px;border:0;border-radius:3px}
/* lmx261028: Aktionsbutton wie Teamkiste-Actionbar, auch in der Vorschau */
.tk-inquiry-actions button{opacity:1;-webkit-text-fill-color:#fff;cursor:pointer;transition:background-color .15s}
.tk-inquiry-actions button:disabled{background:var(--green);color:#fff;cursor:not-allowed}
.tk-inquiry-actions button:hover,.tk-inquiry-actions button:focus-visible{background:#368a9e;color:#fff;-webkit-text-fill-color:#fff}
.portal-help{margin:30px 0 36px;padding:0 4px}
.portal-help h2{font-size:27px;margin:0 0 4px;color:var(--petrol)}
.portal-help p{font-size:14px;color:var(--muted);margin:0}
.portal-help a{display:inline-block}
.portal-footer{max-width:1000px;margin:0 auto;border-top:1px solid var(--line);padding:22px 28px 30px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}
.portal-footer nav{display:flex;gap:22px}
.portal-unavailable h2{font-size:30px;line-height:1.3}
/* lmx261028: Versandstatus verständlich und kontrastreich anzeigen */
.portal-error,.portal-success,.portal-pending{border-left:3px solid var(--green);padding:4px 0 4px 16px}
.portal-error{border-color:#b33b35;margin-bottom:24px}
.portal-pending{border-color:#a47713}
.portal-error p{margin:6px 0}
.portal-success h2,.portal-pending h2{font-size:32px;line-height:1.2;margin:0 0 16px;color:var(--petrol)}
.portal-receipt{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}
/* lmx261028: Eingebettetes Formular kompakt beginnen */
.portal-embedded main{margin-top:24px}
@media(max-width:600px){
 .portal-header-inner{min-height:82px;padding:10px 18px;gap:12px}
 .portal-brand img{width:175px}
 .portal-home{font-size:12px;max-width:96px;line-height:1.5;text-align:right}
 .portal-home span{margin-left:0}
 main{margin-top:30px;padding:0 16px}
 .portal-intro{margin-bottom:22px}
 .portal-intro>p:last-child{font-size:15px}
 .portal-form-sheet{padding:24px 20px;border-radius:4px}
 .portal-preview{padding:10px 12px;margin-bottom:18px}
 .tk-inquiry-sections legend{font-size:27px}
 .tk-inquiry-actions button{width:100%}
 .portal-footer{padding:22px 20px;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* lmx261028: Klassisches Portalformular markengerecht gestalten ENDE */

/* lmx261028: Weiß und Teamkistegrün gezielt einsetzen */

/* lmx261028: Außenabstände in Rahmenhöhe einbeziehen */
.portal-embedded{display:flow-root}
