/*
 * Elementor skin. Loaded after elementor-frontend: Elementor prints its container
 * CSS after the theme, so the layout primitives the design relies on are restated here.
 */

/* Motion tokens: one place for easing and durations. */
:root{--nk-ease:cubic-bezier(.2,.7,.2,1);--nk-fast:.18s;--nk-base:.35s;--nk-slow:.6s}

/* Page canvas: one full-width container, sections stacked without gap. */
.tN .nk-page.e-con{display:block;padding:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;--row-gap:0px;--column-gap:0px;max-width:none;width:100%}
.tN .nk-page>.elementor-widget{width:100%;max-width:none}
.tN .elementor-widget:not(:last-child){margin-block-end:0}

/* Header and footer are composed of small widgets; their wrappers must not take part in layout. */
.tN .hd.e-con,.tN .ft.e-con{display:block;padding:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--gap:0px;width:100%;max-width:none}
.tN .hd .elementor-widget,.tN .hd .elementor-widget-container,.tN .ft .elementor-widget,.tN .ft .elementor-widget-container{display:contents}
.tN .hd .wrap.e-con{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px;--gap:16px;width:auto;max-width:1640px;margin-inline:auto;padding-block:0;padding-inline:clamp(20px,4.4cqi,88px);min-height:76px}
.tN .ft .wrap.e-con{display:grid;width:auto;max-width:1640px;margin-inline:auto;--gap:0px}
.tN .ft .ft-cols.e-con{padding:0;width:auto;--gap:0px}
.elementor-location-header{position:sticky;top:0;z-index:20}
.tN .elementor-location-header .hd{position:static}

/* Line-by-line headlines: text is in the DOM from first paint, lines only slide into place. */
.tN .ln{display:block;overflow:hidden}
.tN .ln>span{display:block}
html.js .tN .rvl .ln>span,html.js .tN .hero .ln>span{transform:translateY(105%);transition:transform var(--nk-slow) var(--nk-ease)}
html.js .tN .rvl.in .ln>span,html.js .tN .hero .ln>span{transform:none}
html.js .tN .rvl .ln:nth-child(2)>span{transition-delay:.08s}
html.js .tN .rvl .ln:nth-child(3)>span{transition-delay:.16s}

/* Preloader failsafe: if the script that removes it never runs, the overlay leaves on its own. */
html.pre .preloader{animation:nk-pre-out .01s 4.5s forwards}
@keyframes nk-pre-out{to{visibility:hidden;opacity:0}}

/* ---------- Elementor form inside the designed enquiry card */
.tN .f4 .elementor-form .elementor-form-fields-wrapper{display:flex;flex-wrap:wrap;gap:14px 12px;margin:0}
.tN .f-compact .elementor-form .elementor-form-fields-wrapper{gap:10px 11px}
.tN .f4 .elementor-field-group{padding:0;margin:0;display:grid;gap:5px;align-content:start;min-width:0}
.tN .f4 .elementor-field-group.elementor-col-50{width:calc(50% - 6px)}
.tN .f4 .elementor-field-group.elementor-col-100{width:100%}
.tN .f4 .elementor-field-label{font-size:.86rem;font-weight:600;color:#0B2B23;padding:0;margin:0}
.tN.site .f4 .elementor-field-group .elementor-field-textual{min-height:52px;width:100%;background-color:#F7F5EE;border:1.5px solid #DFDCD0;border-radius:13px;padding:9px 12px 9px 44px;font:inherit;font-size:1rem;color:#0B2B23;background-repeat:no-repeat;background-position:14px 15px;background-size:20px;box-shadow:none;transition:border-color var(--nk-fast),background-color var(--nk-fast)}
.tN.site .f-compact .elementor-field-group .elementor-field-textual{min-height:44px;background-position:13px 11px;padding-left:42px}
.tN.site .f4 .elementor-field-group textarea.elementor-field-textual{min-height:76px;padding-top:13px;field-sizing:content;max-height:160px;resize:vertical}
.tN .f4 .elementor-field-textual:hover{border-color:#A8B0A8}
.tN.site .f4 .elementor-field-group .elementor-field-textual:focus{border-color:#0B2B23;background-color:#fff;outline:3px solid rgba(200,245,96,.7);outline-offset:0}
.tN .f4 .elementor-field-textual::placeholder{color:#7A8680;opacity:1}
.tN .f4 .elementor-field-group-name .elementor-field-textual{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 20c.6-3.8 3.4-5.5 7-5.5s6.4 1.7 7 5.5'/%3E%3C/svg%3E")}
.tN .f4 .elementor-field-group-telefon .elementor-field-textual{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 4h3l1.5 4-2 1.500a11 11 0 0 0 5.500 5.500l1.500-2 4 1.500v3a2 2 0 0 1-2.200 2A15.500 15.500 0 0 1 4.500 6.200 2 2 0 0 1 6.500 4z'/%3E%3C/svg%3E")}
.tN .f4 .elementor-field-group-email .elementor-field-textual{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2'/%3E%3Cpath d='M4 7l8 6 8-6'/%3E%3C/svg%3E")}
.tN .f4 .elementor-field-group-website .elementor-field-textual{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M3.5 12h17M12 3.500c2.500 2.500 2.500 14.500 0 17M12 3.500c-2.500 2.500-2.500 14.500 0 17'/%3E%3C/svg%3E")}
.tN .f4 .elementor-field-group-nachricht .elementor-field-textual{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2355635D' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.500 5.500h15v10h-9l-4 3.500v-3.500h-2z'/%3E%3C/svg%3E")}
/* Checkbox group as chips */
.tN .f4 .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.tN .f-compact .elementor-field-type-checkbox .elementor-field-subgroup{gap:7px}
.tN .f4 .elementor-field-option{position:relative;margin:0;display:block}
.tN .f4 .elementor-field-option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.tN .f4 .elementor-field-option label{display:inline-flex;align-items:center;gap:7px;border:1.5px solid #C3C9BF;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:500;background:#fff;color:#0B2B23;cursor:pointer;transition:background-color var(--nk-fast),border-color var(--nk-fast),color var(--nk-fast)}
.tN .f-compact .elementor-field-option label{padding:5px 11px;font-size:.82rem}
.tN .f4 .elementor-field-option label::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid #A8B0A8}
.tN .f4 .elementor-field-option:hover label{border-color:#0B2B23}
.tN .f4 .elementor-field-option input:checked+label{background:#0B2B23;border-color:#0B2B23;color:#fff}
.tN .f4 .elementor-field-option input:checked+label::before{background:#C8F560;border-color:#C8F560}
.tN .f4 .elementor-field-option input:focus-visible+label{outline:3px solid #0B2B23;outline-offset:2px}
/* Submit */
.tN .f4 .elementor-field-type-submit{width:100%;padding:0;margin-top:2px}
.tN.site .f4 .elementor-button[type=submit]{width:100%;min-height:58px;border:1.5px solid #0B2B23;border-radius:999px;background:#C8F560;color:#0B2B23;font:inherit;font-weight:700;font-size:1.06rem;padding:0 1.5em;cursor:pointer;box-shadow:0 10px 24px rgba(155,203,44,.35);transition:transform var(--nk-fast),box-shadow var(--nk-fast),background-color var(--nk-fast)}
.tN.site .f-compact .elementor-button[type=submit]{min-height:50px}
.tN .f4 .elementor-button:hover{background:#D6F97C;transform:translateY(-1px)}
.tN .f4 .elementor-button:focus-visible{outline:3px solid #0B2B23;outline-offset:3px}
.tN .f4 .elementor-button .elementor-button-text::after{content:" →";font-weight:400}
.tN .f4 .elementor-button .elementor-button-content-wrapper{justify-content:center}
.tN .f4 .elementor-message{font-size:.9rem;padding:10px 12px;border-radius:10px;margin-top:10px;background:#E7F1E9;color:#0E1F1A}
.tN .f4 .elementor-message.elementor-message-danger{background:#FBE9E7;color:#7A1F12}
.tN .f4 .elementor-message::before{display:none}
.tN .f4 .elementor-error .elementor-field-textual{border-color:#B3261E}
.tN .f4 .elementor-field-group .elementor-message{margin:0;padding:0;background:none;color:#B3261E;font-size:.8rem}
.tN .f4 .elementor{width:100%}
.tN .f4 .e-con{padding:0;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px}
@container site (max-width:420px){.tN .f4 .elementor-field-group.elementor-col-50{width:100%}}

/* Editing in Elementor: reveals run on an IntersectionObserver that does not fire in the editor frame. */
body.elementor-editor-active .tN .rvl{opacity:1!important;transform:none!important}
body.elementor-editor-active .tN .ln>span{transform:none!important}

/* Footer column titles are h2 for a clean heading order; they keep the small label look. */
.tN.site .ft h2{font-family:var(--fm);font-size:.68rem;line-height:1.4;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--on-brand);margin:0}

/* Last-updated line on guide articles */
.tN .hero .upd{font-family:var(--fm);font-size:.78rem;letter-spacing:.04em;color:#B9C7C0;margin-top:-4px}
