/*
Theme Name: Datalink Portal
Author: Datalink AG
Description: Zweisprachige Unternehmenswebsite mit Leistungsseiten, Produkten, Referenzen, Kontakt und Inhaltsimport.
Version: 4.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: datalink-portal
*/

:root{--ink:#172c25;--muted:#59665e;--green:#326b46;--lime:#cde9ad;--paper:#f6f7f2;--line:#d9ded4;--white:#fff;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #639e3f;outline-offset:5px}img{display:block;width:100%;object-fit:cover}p,h1,h2,h3{margin:0}p{color:var(--muted)}.wrap{max-width:var(--max);margin:auto;padding:0 44px}.skip{position:absolute;top:-100px;padding:12px;background:white;z-index:99}.skip:focus{top:0}.topline{background:var(--ink);color:#e3e9e1;font-size:11px;letter-spacing:.1em}.topline .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.header{background:rgba(246,247,242,.98);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{height:90px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:42px;height:44px;object-fit:contain;mix-blend-mode:multiply}.brand strong{font-size:27px;letter-spacing:-1.3px;line-height:1}.brand small{font-size:9px;letter-spacing:.18em;display:block;margin-top:7px;font-weight:400}.nav{display:flex;align-items:center;gap:29px;font-size:13px}.nav a{padding:8px 0}.nav a[aria-current=page]{color:var(--green);box-shadow:0 2px var(--green)}.nav .contact-link{border:1px solid var(--ink);padding:11px 18px;border-radius:3px}.nav .contact-link:hover{background:var(--ink);color:white}.menu-toggle{display:none;border:1px solid var(--line);background:transparent;padding:8px 12px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:10px;color:var(--green)}.eyebrow:before{content:'';height:7px;width:7px;background:var(--green);border-radius:50%}.intro{padding-top:58px;padding-bottom:34px;display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end}.intro h1{font-size:clamp(38px,4.5vw,65px);line-height:1.06;letter-spacing:-2.8px;font-weight:500;margin-top:20px}.intro h1 em{font-style:normal;color:var(--green)}.intro p{font-size:16px;max-width:350px;margin-bottom:6px}.selection-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-bottom:18px;font-size:11px;color:var(--muted);letter-spacing:.08em}.portals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portal{background:white;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.portal:hover{transform:translateY(-4px);box-shadow:0 14px 28px #172c2510}.portal-photo{height:254px;position:relative;overflow:hidden}.portal-photo img{height:100%;transition:transform .5s}.portal:hover img{transform:scale(1.035)}.photo-label{position:absolute;left:20px;top:18px;padding:5px 10px;background:#f8faf2eb;border-radius:2px;font-size:10px;letter-spacing:.14em}.portal-content{padding:25px 28px 24px;flex:1}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;letter-spacing:.12em;color:var(--green)}.portal h2{font-size:30px;line-height:1.15;font-weight:500;letter-spacing:-.8px;max-width:430px}.portal p{font-size:14px;margin:12px 0 22px;max-width:420px}.portal-bottom{display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:17px}.portal-bottom span:first-child{font-size:11px;color:var(--muted)}.circle{display:grid;place-items:center;background:var(--ink);color:white;border-radius:50%;height:38px;width:38px;font-size:21px;flex-shrink:0}.portal:hover .circle{background:var(--green)}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:32px;padding-bottom:45px}.value{display:flex;align-items:center;gap:12px;font-size:12px}.value span{font-size:17px;color:var(--green)}.value p{font-size:11px;margin-top:2px}.contact-band{background:var(--ink);color:white;padding:42px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.contact-inner h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:500}.contact-inner p{color:#bacbc0;font-size:13px;margin-top:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 20px;border-radius:3px;font-size:13px;font-weight:600;background:var(--lime);color:var(--ink);border:1px solid transparent}.btn:hover{background:#e0f1cf}.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}.btn-outline:hover{background:white}.footer{padding-top:35px;padding-bottom:25px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;font-size:13px}.footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.footer p{font-size:12px}.footer a:hover{text-decoration:underline}.footer-bottom{margin-top:30px;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.footer-bottom div{display:flex;gap:20px}.breadcrumb{padding-top:28px;font-size:11px;color:var(--muted);display:flex;gap:10px}.breadcrumb a{text-decoration:underline}.detail-hero{padding-top:35px;padding-bottom:40px;display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}.detail-hero h1{font-size:clamp(36px,4vw,56px);line-height:1.08;letter-spacing:-2px;font-weight:500;margin:20px 0}.detail-hero p{font-size:15px;max-width:520px}.detail-hero .btn{margin-top:25px;background:var(--green);color:white}.detail-hero .btn:hover{background:var(--ink)}.detail-image{height:360px;border-radius:5px;overflow:hidden;position:relative}.detail-image img{height:100%}.detail-image .caption{position:absolute;left:20px;bottom:16px;color:white;font-size:10px;background:#172c25d9;padding:6px 10px}.subnav{display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:17px;padding-bottom:17px;flex-wrap:wrap;font-size:12px}.subnav a:hover{color:var(--green);text-decoration:underline}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin:45px 0 25px}.section-head h2{font-size:33px;font-weight:500;letter-spacing:-1px;line-height:1.2}.section-head p{font-size:13px;max-width:360px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:45px}.service{background:white;border:1px solid var(--line);border-radius:4px;padding:28px;scroll-margin-top:115px}.service-num{display:flex;justify-content:space-between;color:var(--green);font-size:11px;letter-spacing:.1em;margin-bottom:22px}.service h3{font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.5px;margin-bottom:12px}.service p{font-size:14px}.service ul{padding:0;list-style:none;margin:20px 0;font-size:13px}.service li{border-top:1px solid #edf0e9;padding:8px 0;display:flex;gap:10px}.service li:before{content:'↗';color:var(--green)}.service .textlink{color:var(--green);font-size:12px;font-weight:700}.service .textlink:hover{text-decoration:underline}.stat{background:#edf3e5;border:1px solid #d5e2c8;padding:10px 14px;margin-top:18px;border-radius:3px;font-size:12px}.stat strong{font-size:20px;font-weight:500;margin-right:8px}.process{border-top:1px solid var(--line);padding-top:35px;padding-bottom:45px}.process h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin-bottom:25px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.steps b{display:block;color:var(--green);font-size:11px;margin-bottom:12px}.steps h3{font-size:14px;font-weight:500;margin-bottom:5px}.steps p{font-size:12px}.crosslink{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;padding-bottom:35px;font-size:13px}.crosslink a{font-weight:600;color:var(--green)}
@media(min-width:1500px){.intro{padding-top:70px}.portal-photo{height:290px}}@media(max-width:900px){.wrap{padding-left:25px;padding-right:25px}.nav{gap:16px;font-size:11px}.intro{gap:25px}.intro h1{letter-spacing:-1.7px}.portal-photo{height:215px}.portal-content{padding:22px}.portal h2{font-size:25px}.detail-hero{gap:30px}.detail-image{height:330px}.steps{gap:15px}}@media(max-width:650px){.wrap{padding-left:20px;padding-right:20px}.topline{font-size:9px;letter-spacing:.04em}.topline span:last-child{display:none}.header-inner{height:76px}.brand strong{font-size:24px}.brand img{width:33px;height:36px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px;font-size:14px}.nav.open{display:flex}.intro{display:block;padding-top:35px;padding-bottom:27px}.intro h1{font-size:43px;letter-spacing:-1.8px}.intro p{font-size:14px;margin-top:22px;max-width:420px}.selection-label{font-size:9px;margin-bottom:15px}.portals{grid-template-columns:1fr;gap:22px}.portal-photo{height:230px}.portal h2{font-size:29px}.values{grid-template-columns:1fr;gap:18px;padding-top:27px;padding-bottom:30px}.contact-inner{display:block}.contact-inner h2{font-size:29px}.contact-inner .btn{margin-top:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px;align-items:start}.footer-bottom div{gap:10px;flex-wrap:wrap}.breadcrumb{font-size:10px}.detail-hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding-top:26px}.detail-hero h1{font-size:41px}.detail-image{height:260px}.subnav{gap:12px 20px;font-size:11px}.section-head{display:block;margin-top:32px}.section-head h2{font-size:29px}.section-head p{margin-top:15px}.service-grid{grid-template-columns:1fr}.service{padding:25px}.steps{grid-template-columns:1fr 1fr;gap:25px}.crosslink{align-items:start;flex-direction:column}.portal-bottom span:first-child{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.service-visual{margin:-28px -28px 24px;overflow:hidden;height:218px;position:relative;border-radius:4px 4px 0 0;background:#e4e9de}.service-visual img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.service:hover .service-visual img{transform:scale(1.025)}.service-visual.hardware img{object-fit:cover}.service-visual.retrofit img{object-position:center 46%}.service-visual figcaption{position:absolute;bottom:12px;left:16px;padding:4px 9px;font-size:10px;letter-spacing:.04em;background:#f6f7f2ed;color:var(--ink);border-radius:2px}@media(max-width:650px){.service-visual{margin:-25px -25px 22px;height:215px}}

.portal-content{display:flex;flex-direction:column}.portal h2{font-size:28px;min-height:100px}.portal p{flex:1}.portal-photo{height:225px}@media(max-width:1000px) and (min-width:851px){.portal-content{padding:22px 18px}.portal h2{font-size:24px;min-height:90px}.card-top{font-size:9px}}@media(max-width:850px){.portals{grid-template-columns:1fr}.portal h2{min-height:0}.portal-photo{height:260px}}

.service-actions{display:flex;align-items:center;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;flex-wrap:wrap}.service-actions .morelink{display:inline-flex;align-items:center;gap:15px;background:var(--green);color:white;font-size:12px;font-weight:600;padding:10px 15px;border-radius:3px}.service-actions .morelink:hover{background:var(--ink)}.article-hero{padding-top:34px;padding-bottom:35px;display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center}.article-hero h1{font-weight:500;font-size:clamp(35px,4vw,54px);line-height:1.08;letter-spacing:-1.8px;margin:17px 0}.article-hero p{font-size:16px}.article-hero img{height:320px;border-radius:4px;object-fit:cover}.article-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:65px;padding-top:30px;padding-bottom:55px;border-top:1px solid var(--line)}.article-aside>div{position:sticky;top:115px}.article-aside h2{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:17px}.article-aside nav{display:flex;flex-direction:column;gap:10px}.article-aside nav a{font-size:12px;color:var(--muted);border-left:2px solid var(--line);padding-left:12px;line-height:1.45}.article-aside nav a:hover{color:var(--green);border-color:var(--green)}.article-aside .btn{margin-top:25px;padding:10px 14px}.article-copy{max-width:775px;font-size:16px;color:var(--muted)}.article-copy h2,.article-copy h3,.article-copy h4{font-size:27px;font-weight:500;letter-spacing:-.6px;line-height:1.2;color:var(--ink);margin:35px 0 17px;scroll-margin-top:115px}.article-copy>:first-child{margin-top:0}.article-copy p{margin:0 0 20px;line-height:1.8}.article-copy ul,.article-copy ol{padding-left:22px;margin:0 0 20px}.article-copy li{padding:5px 0;line-height:1.7}.article-copy li::marker{color:var(--green)}.article-copy a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.article-copy .article-lead{font-size:20px;line-height:1.55;color:var(--ink)}.article-related{background:#edf3e5;border-radius:5px;margin-top:35px;padding:24px}.article-related h2{margin-top:0;font-size:22px}.article-related a{display:block;font-size:14px;padding:5px 0}.article-back{display:inline-flex;margin-top:15px;font-size:12px;color:var(--green)}@media(max-width:850px){.article-layout{grid-template-columns:195px minmax(0,1fr);gap:30px}.article-hero{gap:30px}}@media(max-width:650px){.article-hero{grid-template-columns:1fr;gap:25px;padding-top:25px}.article-hero h1{font-size:39px}.article-hero img{height:240px}.article-layout{grid-template-columns:1fr;gap:30px;padding-top:25px}.article-aside>div{position:static}.article-aside nav{display:grid;grid-template-columns:1fr 1fr;gap:12px}.article-aside .btn{display:none}.article-copy{font-size:15px}.article-copy h2,.article-copy h3{font-size:25px}}

.nav{gap:19px;font-size:12px}.nav-drop{position:relative}.nav-drop summary{cursor:pointer;list-style:none;padding:8px 0}.nav-drop summary:after{content:'⌄';margin-left:5px}.nav-drop>div{position:absolute;top:100%;left:-15px;min-width:170px;background:var(--paper);padding:12px 17px;border:1px solid var(--line);box-shadow:0 8px 20px #172c2515;border-radius:3px}.nav-drop>div a{display:block;white-space:nowrap;padding:8px 0}.language-link{font-size:11px;font-weight:700;color:var(--green)}.footer-more{font-size:12px;display:inline-block;margin-top:10px}.corporate-hero{padding-top:35px;padding-bottom:40px}.corporate-hero h1{font-weight:500;font-size:clamp(36px,4.5vw,59px);line-height:1.1;letter-spacing:-2px;margin:18px 0}.corporate-hero>p{font-size:17px;max-width:750px}.corporate-hero-image{height:370px;max-width:1192px;margin:auto;border-radius:4px}.corporate-content{padding-top:35px;padding-bottom:50px;line-height:1.8}.corporate-content>p,.corporate-content>ul,.corporate-content>h2,.corporate-content>h3{max-width:900px}.corporate-content h2{font-weight:500;line-height:1.25;font-size:28px;letter-spacing:-.6px;margin:32px 0 17px}.corporate-content h3{font-size:19px;font-weight:500;margin:25px 0 12px}.corporate-content p{margin:0 0 18px}.corporate-content ul{margin:0 0 22px;padding-left:22px}.corporate-content li{padding:5px 0}.corporate-content li::marker{color:var(--green)}.corporate-content p a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.corporate-content .btn{color:var(--ink);text-decoration:none}.corporate-content .service-grid{padding-top:5px}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:35px}.project-grid figure{margin:0;background:white;border:1px solid var(--line);border-radius:4px;overflow:hidden}.project-grid img{height:230px;object-fit:cover}.project-grid figcaption{padding:13px 18px;font-size:13px}.project-grid figure:nth-child(3):last-child{grid-column:1/-1;max-width:100%}.project-grid figure:nth-child(3):last-child img{height:300px}.download-list{display:grid;gap:12px;max-width:950px}.download-list a{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);border-radius:4px;padding:18px 22px;background:white;font-size:14px}.download-list a:hover{border-color:var(--green);color:var(--green)}.download-list a span:last-child{font-size:11px;color:var(--green);white-space:nowrap}.legal-copy{max-width:920px;font-size:14px;line-height:1.8}.legal-copy h2{font-size:23px}.source-status{padding:16px 20px;background:#edf3e5;border:1px solid #d5e2c8;font-size:13px;max-width:920px}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.contact-layout>div p{max-width:490px}.contact-layout h2:first-child{margin-top:0}.contact-form{padding:28px;background:white;border:1px solid var(--line);border-radius:5px}.contact-form h2{margin-top:0}.contact-form label{display:block;font-size:13px;margin-bottom:17px;color:var(--ink)}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;border:1px solid #c9d1c5;border-radius:3px;padding:11px;background:#fcfdf9;margin-top:6px;color:var(--ink)}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--green);outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form .check-label{display:flex;align-items:start;gap:10px;font-size:12px}.check-label input{margin-top:5px}.check-label a{color:var(--green);text-decoration:underline}.contact-form .form-note,.contact-form .form-status{font-size:12px;line-height:1.6}.contact-form .btn{cursor:pointer}.contact-form .form-status{margin-top:15px}.contact-hp{position:absolute;left:-9999px}.form-alert{padding:12px 15px;border:1px solid var(--line);margin-bottom:18px;font-size:13px}.error-page{min-height:45vh;padding:70px 0}.error-page h1{font-weight:500;font-size:40px;margin-bottom:20px}@media(max-width:1000px){.nav{gap:12px;font-size:11px}.brand strong{font-size:25px}.header-inner{gap:18px}}@media(max-width:800px){.contact-layout{gap:30px}.header-inner .brand small{font-size:8px}.nav{gap:9px;font-size:10px}}@media(max-width:650px){.nav{gap:10px;font-size:14px}.nav-drop>div{position:static;box-shadow:none;border:0;border-left:2px solid var(--line);margin-left:4px;padding:0 15px}.corporate-hero{padding-top:25px;padding-bottom:25px}.corporate-hero h1{font-size:40px}.corporate-hero>p{font-size:15px}.corporate-hero-image{height:250px;border-radius:0}.corporate-content{padding-top:25px;padding-bottom:35px}.project-grid{grid-template-columns:1fr}.project-grid figure:nth-child(3):last-child{grid-column:auto}.project-grid img,.project-grid figure:nth-child(3):last-child img{height:230px}.contact-layout{grid-template-columns:1fr}.contact-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.download-list a{padding:15px;font-size:12px}.footer-bottom{flex-direction:column}.footer-bottom>div{gap:12px}}

:root{--brand:#60b847}.brand strong{color:var(--brand)}.detail-hero .btn,.btn:not(.btn-outline),.service-actions .morelink{background:var(--brand);color:var(--ink)}.detail-hero .btn:hover,.btn:not(.btn-outline):hover,.service-actions .morelink:hover{background:#51a13c;color:var(--ink)}.project-photo{height:230px;overflow:hidden}.project-grid .project-photo img{height:100%;object-fit:cover}.railway-reference .project-photo{height:auto;aspect-ratio:583/356}.project-grid .railway-reference img,.project-grid img[src$='/bahn.webp']{object-position:center top}.project-grid figure:nth-child(3):last-child .project-photo{height:300px}@media(max-width:650px){.project-grid figure:nth-child(3):last-child .project-photo{height:230px}}

.about-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:center}.about-hero img{height:300px;object-fit:cover;border-radius:4px}.about-hero p{font-size:17px;max-width:480px;color:var(--muted)}@media(max-width:650px){.about-hero{grid-template-columns:1fr;gap:25px}.about-hero img{height:240px}}

[hidden]{display:none!important}.legal-downloads{margin-top:40px;border-top:1px solid var(--line);padding-top:10px}.legal-links,.draft-actions{display:flex;flex-wrap:wrap;gap:12px}.draft-panel{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.draft-panel textarea{font-size:13px;line-height:1.6;resize:vertical}.draft-panel p{font-size:12px;line-height:1.65;margin-top:14px}.draft-actions{margin-top:14px}.nav-drop>div{min-width:195px}

@media(min-width:651px) and (max-width:1000px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:90px;left:0;right:0;padding:20px 25px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px;font-size:14px}.nav.open{display:flex}.nav-drop>div{position:static;box-shadow:none;border:0;border-left:2px solid var(--line);margin-left:4px;padding:0 15px}}

/* Gutenberg nested blocks preserve the supplied site markup. */
