/*
Theme Name: CST Personenschutz
Description: Eigenständige Landingpage für Personenschutz der CST-Group GmbH.
Version: 1.5.0
Author: CST-Group GmbH
*/

.cst-lead-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;color:#171719}
.cst-field{display:flex;flex-direction:column;gap:7px}.cst-field label,.cst-lead-form legend{font-weight:650;font-size:14px}.cst-field small{font-weight:400;color:#74716b}
.cst-field input,.cst-field select,.cst-field textarea{box-sizing:border-box;width:100%;min-height:46px;padding:11px 13px;border:1px solid #c9c5bd;border-radius:3px;background:#fff;color:#171719;font:inherit}
.cst-field textarea{min-height:112px;resize:vertical}.cst-field input:focus,.cst-field select:focus,.cst-field textarea:focus{outline:2px solid #b9a27b;outline-offset:1px;border-color:#8d7449}
.cst-field textarea.cst-contact-one-line{min-height:46px;height:46px;resize:none;overflow:hidden}
.cst-wide{grid-column:1/-1}.cst-lead-form fieldset{border:0;padding:0;margin:0;display:flex;gap:24px;flex-wrap:wrap}.cst-lead-form fieldset legend{width:100%;margin-bottom:8px}.cst-choice{display:flex;gap:8px;align-items:center}
.cst-spam{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #ddd9d1;border-radius:3px;background:#f6f5f2;color:#5f5c56}.cst-spam>span{display:flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;background:#e6efe7;color:#397447;font-weight:800}.cst-spam>div{display:flex;flex-direction:column;gap:3px}.cst-spam strong{font:600 12px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.cst-spam small{font:12px/1.4 var(--font-ui);letter-spacing:0;text-transform:none;color:#74716b}
.cst-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55}.cst-consent input{margin-top:3px;flex:none}.cst-consent a{text-decoration:underline}
.cst-lead-form button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;width:100%;border:0;background:#b9a27b;color:#171719;font:600 14px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;cursor:pointer}.cst-lead-form button:hover{background:#d0bb95}.cst-form-note{margin:12px 0 0;font-size:12px;line-height:1.55;color:#74716b}
.cst-form-error{margin:0 0 18px;padding:14px 16px;border-left:4px solid #9f2929;background:#fff1f1;color:#711f1f;font-size:14px;line-height:1.5}.cst-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.cst-legal{font-family:var(--font-ui,Arial,sans-serif);color:#27272a;background:#f6f5f2;min-height:100vh}.cst-legal main{max-width:900px;margin:0 auto;padding:64px 24px 90px}.cst-legal h1,.cst-legal h2{font-family:var(--font-display,Arial,sans-serif);text-transform:uppercase}.cst-legal h1{font-size:clamp(34px,5vw,60px);margin:0 0 36px}.cst-legal h2{font-size:21px;margin:36px 0 12px}.cst-legal p,.cst-legal li{line-height:1.75}.cst-legal address{font-style:normal;line-height:1.75}.cst-legal-header{background:#0a0a0b;padding:16px 24px}.cst-legal-header div{max-width:1100px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.cst-legal-header img{height:38px}.cst-legal-header a{color:#fff}.cst-legal-back{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.cst-legal-footer{background:#0a0a0b;color:#d8d6d2;text-align:center;padding:24px;font-size:12px}
@media(max-width:620px){.cst-lead-form{grid-template-columns:1fr}.cst-legal main{padding-top:42px}.cst-legal-header img{height:30px}}

/* Die Landingpage verwendet eigene Kontakt- und Standortnavigation. */
#trp-floater-ls,
#mystickyelement-widget-1{display:none!important}
.cst-menu-toggle,.cst-mobile-menu{display:none}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .cst-header-inner{padding:10px 14px!important;gap:10px!important;flex-wrap:nowrap!important}
  .cst-header-inner>a:first-child img{height:30px!important}
  .cst-header-inner>div{gap:8px!important;flex-wrap:nowrap!important}
  .cst-header-phone{display:none!important}
  .cst-header-cta{display:none!important}
  .cst-menu-toggle{display:flex;width:44px;height:44px;padding:11px;border:1px solid rgba(255,255,255,.28);background:transparent;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
  .cst-menu-toggle span{display:block;width:100%;height:2px;background:#fff;transition:transform .2s,opacity .2s}
  .cst-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .cst-menu-toggle.is-open span:nth-child(2){opacity:0}
  .cst-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .cst-mobile-menu{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 65px);overflow:auto;padding:10px 20px 22px;background:#0a0a0b;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 20px 35px rgba(0,0,0,.35)}
  .cst-mobile-menu.is-open{display:flex;flex-direction:column}
  .cst-mobile-menu a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff!important;font:600 13px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important}
  .cst-mobile-menu a:last-child{border-bottom:0}
  .cst-hero-copy{max-width:100%!important;min-width:0!important;gap:20px!important}
  .cst-hero-copy>div:first-child{white-space:normal!important;max-width:100%;font-size:10px!important;line-height:1.5!important;overflow-wrap:anywhere}
  .cst-hero-img{height:300px!important;bottom:auto!important;object-position:64% 42%!important}
  [data-screen-label="Hero"]>i:first-of-type{height:302px;bottom:auto;background:linear-gradient(to bottom,rgba(10,10,11,.08),rgba(10,10,11,.12) 60%,rgba(10,10,11,1))!important}
  [data-screen-label="Hero"]>div:first-of-type{padding-top:330px!important;padding-bottom:44px!important}
  [style*="grid-template-columns:repeat(auto-fit,minmax(340px,1fr))"],
  [style*="grid-template-columns:repeat(auto-fit,minmax(320px,1fr))"],
  [style*="grid-template-columns:repeat(auto-fit,minmax(260px,1fr))"],
  [style*="grid-template-columns:repeat(auto-fit,minmax(240px,1fr))"],
  [style*="grid-template-columns:repeat(auto-fit,minmax(210px,1fr))"]{grid-template-columns:minmax(0,1fr)!important}
  section>div{min-width:0}
  .cst-lead-form{grid-template-columns:minmax(0,1fr)!important}
  .cst-lead-form input,.cst-lead-form select,.cst-lead-form textarea{font-size:16px}
  .cst-direct-contact a{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;align-items:start!important;padding:8px 0}
  .cst-direct-contact a span:first-child{min-width:0!important}
  .cst-direct-contact a span:last-child{font-size:20px!important;white-space:nowrap;letter-spacing:0!important}
  .cst-team-grid{grid-template-columns:minmax(0,1fr)!important}
  .cst-team-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;min-height:170px}
  .cst-team-photo{width:112px!important;height:100%!important;min-height:170px;aspect-ratio:auto!important}
  .cst-team-copy{padding:14px!important;gap:8px!important}
  .cst-team-copy h3{white-space:normal!important;font-size:12px!important}
  .cst-team-copy p{font-size:11px!important;line-height:1.45!important}
  .cst-team-copy blockquote{padding-top:8px!important}
  .cst-sticky-bar{display:none!important}
  footer{padding-bottom:18px}
}

@media(max-width:390px){
  .cst-header-inner{padding-left:12px!important;padding-right:12px!important}
  .cst-header-inner>a:first-child img{height:27px!important}
  .cst-hero-copy h1{font-size:27px!important}
  .cst-hero-copy>p{font-size:16px!important;line-height:1.5!important}
  .cst-hero-copy a{width:100%;box-sizing:border-box;justify-content:center;text-align:center;padding-left:16px!important;padding-right:16px!important}
}

@media (max-width:600px){.cst-legal h1.cst-legal-title-long{font-size:clamp(24px,6.5vw,28px);line-height:1.12;overflow-wrap:anywhere;word-break:normal;letter-spacing:-.02em}}
