/* Green brand accents with shared light sage and warm neutral action roles. */
:root {
  --logo-green: #daf400;
  --brand-accent: #829326;
  --brand-ink: #374322;
  --cta-bg: #c2d936;
  --cta-hover: #b4cc2b;
  --cta-active: #a4bd20;
  --public-primary-bg: var(--sc-action-primary,#d6e1ca);
  --public-primary-hover: var(--sc-action-primary-hover,#c5d5b6);
  --public-primary-active: var(--sc-action-primary-active,#b8cba6);
  --public-chip-bg: #dbe3d3;
  --brand-tint: #e6eadf;
  --secondary-bg: var(--sc-action-secondary,#f5f2e9);
  --secondary-hover: var(--sc-action-secondary-hover,#e9e4d8);
  --secondary-active: var(--sc-action-secondary-active,#ded7c8);
  --secondary-border: transparent;
  --accent: #374322;
  --action: var(--sc-action-primary,#d6e1ca);
  --action-hover: var(--sc-action-primary-hover,#c5d5b6);
  --accent-2: #d8d8d8;
  --button-primary-bg: var(--sc-action-primary,#d6e1ca);
  --button-primary-bg-hover: var(--sc-action-primary-hover,#c5d5b6);
  --button-primary-bg-active: var(--sc-action-primary-active,#b8cba6);
  --button-primary-border: transparent;
  --button-primary-text: var(--sc-action-primary-text,#2c3a25);
  --button-focus-ring: var(--sc-action-focus,#3f5945);
  --button-secondary-text: #202124;
  --button-secondary-border: transparent;
  --button-secondary-bg-hover: var(--sc-action-secondary-hover,#e9e4d8);
  --scroll-cue-bg: var(--sc-action-secondary,#f5f2e9);
  --scroll-cue-bg-hover: var(--sc-action-secondary-hover,#e9e4d8);
  --scroll-cue-bg-active: var(--sc-action-secondary-active,#ded7c8);
  --scroll-cue-border: transparent;
  --button-gradient: var(--sc-action-primary,#d6e1ca);
  --button-gradient-hover: var(--sc-action-primary-hover,#c5d5b6);
  --button-shadow: 0 14px 34px rgba(32,33,36,.12);
  --select-shadow-focus: inset 0 0 0 1px rgba(32,33,36,.3),0 0 0 2px rgba(32,33,36,.2),0 10px 24px rgba(32,33,36,.08);
}

/* Text selection deliberately uses the browser / operating-system default. */
.nav-link::after { background:var(--logo-green); }
.eyebrow::before { background:var(--brand-accent); }
.hero-type-cursor { background:var(--brand-accent); }
/* Decorative accents use the approved action colour, not dark text ink or
   the historical blue/green gradients. Semantic risk colours stay separate. */
.not-found-code { color:var(--cta-bg); text-shadow:none; }
.analysis-overview-shell .analysis-trust-card::before,
.analysis-toolbox-grid .analysis-tool-card::before { background:var(--cta-bg); }
.home-hero .signal-dot {
  border-color:#c9d49b;
  background:radial-gradient(circle,#738326 0 3px,transparent 4px),rgba(255,255,255,.7);
}
.hero-search:focus-within { border-color:var(--button-secondary-text); }
.hero-search-tags a:hover, .hero-search-tags a:focus-visible,
.search-suggestion:hover, .search-suggestion:focus-visible {
  border-color:var(--button-primary-border);
  background:var(--button-secondary-bg-hover);
  color:var(--button-secondary-text);
}
/* An inset outline gives previously borderless buttons the secondary-button look
   without changing their measured width, height or text position. */
.button:not(.button-secondary),
.hero-search button,
.ticket-open-submit,
.ticket-payment-clear {
  box-shadow:inset 0 0 0 1px var(--button-primary-border)!important;
}
.button:not(.button-secondary):hover,
.button:not(.button-secondary):focus-visible,
.hero-search button:hover,
.hero-search button:focus-visible,
.ticket-open-submit:hover,
.ticket-open-submit:focus-visible,
.ticket-payment-clear:hover,
.ticket-payment-clear:focus-visible {
  box-shadow:inset 0 0 0 1px #aaa!important;
}
/* Icon-only navigation search. Transparent backgrounds and borders retain the
   existing hit area and alignment; keyboard focus keeps a visible outline. */
.nav-search-link,
.topbar.is-scrolled .nav-search-link,
.nav-open .nav-search-link,
.nav-search-link.active,
.topbar.is-scrolled .nav-search-link.active,
.nav-open .nav-search-link.active {
  background:transparent;
  color:var(--button-secondary-text);
  border-color:transparent;
  box-shadow:none;
}
.nav-search-link:hover,
.nav-search-link:focus-visible,
.nav-search-link:active,
.topbar.is-scrolled .nav-search-link:hover,
.topbar.is-scrolled .nav-search-link:focus-visible,
.topbar.is-scrolled .nav-search-link:active,
.nav-open .nav-search-link:hover,
.nav-open .nav-search-link:focus-visible,
.nav-open .nav-search-link:active {
  background:transparent;
  color:var(--button-secondary-text);
  border-color:transparent;
  box-shadow:none;
}
.nav-search-link:focus-visible,
.topbar.is-scrolled .nav-search-link:focus-visible,
.nav-open .nav-search-link:focus-visible {
  outline:2px solid #767676;
  outline-offset:2px;
}
/* The light scroll cue retains dark ink in every interaction state. */
.home-hero .hero-scroll-cue,
.home-hero .hero-scroll-cue:hover,
.home-hero .hero-scroll-cue:focus-visible,
.home-hero .hero-scroll-cue:active { color:var(--button-secondary-text); }
.button-secondary:hover, .button-secondary:focus-visible,
.section:not(.section-dark) .button-secondary:hover,
.section:not(.section-dark) .button-secondary:focus-visible,
.ticket-shell .button-secondary:hover, .ticket-shell .button-secondary:focus-visible,
.analysis-tool-light-shell .button-secondary:hover,
.analysis-tool-light-shell .button-secondary:focus-visible,
.cookie-manage:hover, .cookie-manage:focus-visible,
.cookie-reject:hover, .cookie-reject:focus-visible { border-color:#aaa; }
.text-link:hover, .text-link:focus-visible,
.footer a:hover, .footer a:focus-visible, .footer-cookie:hover,
.remote-links a:hover, .remote-links a:focus-visible {
  color:var(--brand-ink);
}
.form-row input:focus, .form-row textarea:focus,
.ticket-field input:focus, .ticket-field textarea:focus,
.search-input-row input:focus,
.analysis-form input:focus, .analysis-form textarea:focus {
  outline-color:var(--button-focus-ring);
  border-color:var(--button-secondary-text);
}
input[type="checkbox"], input[type="radio"],
.checkbox-row input, .ticket-privacy input, .cookie-toggle-card input,
.ticket-package-card input { accent-color:var(--button-secondary-text); }
.hold-button .hold-progress { background:var(--button-secondary-text); }
.cookie-preference-badge { color:var(--button-secondary-text); }
.ticket-upload-box { background:linear-gradient(180deg,#fff,var(--brand-tint)); }
.ticket-upload-box:hover, .ticket-upload-box:focus-within,
.ticket-attachment-link:hover, .ticket-attachment-link:focus-visible,
.ticket-package-card:hover, .ticket-package-card:focus-within,
.ticket-package-card:has(input:checked) {
  border-color:#aaa;
  background:var(--brand-tint);
}
.ticket-attachment-preview span { background:var(--brand-tint); color:var(--button-secondary-text); }
.ticket-note.is-agent, .ticket-payment-inline {
  border-left-color:var(--brand-accent);
  background:var(--brand-tint);
}
.ticket-payment, .ticket-payment-inline { border-color:#d3d3d3; }
.ticket-payment-inline { border-left-color:var(--brand-accent); }
.ticket-shell .ticket-note.is-internal .ticket-note-head strong::after {
  color:var(--cta-bg);
}

/* Neutral service-area tags and city links, including their interaction states. */
.seo-hero-tags span,
.service-city-list a {
  background:#f6f6f6;
  border-color:rgba(32,33,36,.14);
  color:#333;
}
.service-city-group summary small { color:#666; }
.service-city-list a:hover,
.service-city-list a:focus-visible,
.service-city-list a:active {
  background:#f2f2f2;
  border-color:#aaa;
  color:var(--button-secondary-text);
}
.service-city-list a:focus-visible {
  outline:2px solid #767676;
  outline-offset:2px;
}

/* Remove the legacy green-tinted gradients from intelligence and result cards.
   These are surface colours, not the separate semantic risk/status indicators. */
.analysis-overview-shell .analysis-live-card,
.analysis-tool-light-shell .analysis-result-placeholder,
.analysis-tool-light-shell .analysis-result {
  background:#fff;
}
.analysis-overview-shell .analysis-live-item,
.analysis-overview-shell .analysis-kev-meta div,
.analysis-tool-light-shell .analysis-columns > div,
.analysis-tool-light-shell .analysis-stat-grid div,
.analysis-tool-light-shell .phase-list li,
.analysis-tool-light-shell .analysis-score,
.analysis-tool-light-shell .analysis-table-wrap {
  background:#f6f6f6;
  border-color:rgba(32,33,36,.12);
}
.analysis-overview-shell .analysis-live-tags span {
  background:#f3f3f3;
  color:#333;
}
.analysis-overview-shell .analysis-live-head p,
.analysis-overview-shell .analysis-live-item p,
.analysis-overview-shell .analysis-live-item-head span,
.analysis-overview-shell .analysis-kev-meta dt,
.analysis-overview-shell .analysis-kev-meta dd,
.analysis-tool-light-shell .analysis-result-placeholder p,
.analysis-tool-light-shell .analysis-result p,
.analysis-tool-light-shell .analysis-table th,
.analysis-tool-light-shell .analysis-score span,
.analysis-tool-light-shell .analysis-stat-grid span {
  color:#5a5a5a;
}
.analysis-overview-shell .analysis-live-item-head a:hover,
.analysis-overview-shell .analysis-live-item-head a:focus-visible,
.analysis-overview-shell .analysis-news-card h4 a:hover,
.analysis-overview-shell .analysis-news-card h4 a:focus-visible {
  color:var(--brand-ink);
  text-decoration-color:currentColor;
}
.analysis-tool-light-shell .analysis-copy:hover,
.analysis-tool-light-shell .analysis-copy:focus-visible,
.analysis-tool-light-shell .button-secondary:hover,
.analysis-tool-light-shell .button-secondary:focus-visible {
  background:#f2f2f2;
  border-color:#aaa;
  color:var(--button-secondary-text);
}

/* Brand colour is not a warning: keep semantic success / low-risk colours green. */
.analysis-risk-low strong { color:#2f7d44; }

/* Full-site audit: neutral input surfaces and readable, explicitly neutral
   placeholders. Dimensions, validation, hold-to-send and autocomplete stay intact. */
.form-row input, .form-row textarea { background:#fafafa; }
.form-row input:focus, .form-row textarea:focus { background:#fff; }
input::placeholder, textarea::placeholder { color:#737373; opacity:1; }
.form-row input:focus-visible, .form-row textarea:focus-visible,
.ticket-field input:focus-visible, .ticket-field textarea:focus-visible,
.search-input-row input:focus-visible,
.analysis-form input:focus-visible, .analysis-form textarea:focus-visible,
select:focus-visible {
  outline:2px solid #767676;
  outline-offset:2px;
}

/* Pointer use keeps native field borders; keyboard users keep their focus ring.
   This also covers autofocus on close buttons in every corporate dialog family. */
html[data-input-method="pointer"] :is(button,select):focus {
  outline:none!important;
}
html[data-input-method="pointer"] select:focus {
  box-shadow:none!important;
}
html[data-input-method="pointer"] .p-option:focus-within {
  outline:none;
}
.p-dialog .p-label { margin-right:48px; }

/* Fragment links land below the actual header and any page section navigation.
   Plain CSS remains a useful fallback before JavaScript and fonts are ready. */
main [id] {
  scroll-margin-top:var(--sc-anchor-offset,101px)!important;
}
main :is(h2,h3,h4)[id] {
  scroll-margin-top:calc(var(--sc-anchor-offset,101px) + 24px)!important;
}
.p-section-nav,.v-sections {
  top:var(--sc-header-height,77px);
}
.insights-deadlines .list-panel {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.insights-deadlines .list-panel .text-link { margin-top:auto; }
.home-page .service-card h3 { overflow-wrap:anywhere; hyphens:manual; }
@media(max-width:680px) {
  main [id] { scroll-margin-top:var(--sc-anchor-offset,93px)!important; }
  main :is(h2,h3,h4)[id] { scroll-margin-top:calc(var(--sc-anchor-offset,93px) + 24px)!important; }
  .p-section-nav,.v-sections { top:var(--sc-header-height,69px); }
}

/* Legacy decorative illustrations contain baked-in lime accents. Desaturate
   only these identified artwork backgrounds, not photos or partner logos. */
.not-found-hero .page-hero-bg,
.page-hero-bg[style*="agb-hero.jpg"],
.page-hero-bg[style*="impressum-hero.jpg"],
.page-hero-bg[style*="entra-id-conditional-access-mfa-hero.jpg"],
.page-hero-bg[style*="microsoft-365-konto-kompromittiert-hero.jpg"],
.page-hero-bg[style*="phishing-mails-erkennen-hero.jpg"],
.page-hero-bg[style*="sharepoint-migration-governance-hero.jpg"] {
  filter:grayscale(1);
}

/* Public actions share Workplify roles; decorative --cta-* accents stay green. */
html :is(.button:not(.button-secondary),.ticket-open-submit,.nav .nav-cta):not([data-cookie-save]):not(.cookie-manage):not(.cookie-reject){
  background:var(--public-primary-bg)!important;
  border-color:transparent!important;
  color:var(--sc-action-primary-text,#2c3a25)!important;
  -webkit-text-fill-color:var(--sc-action-primary-text,#2c3a25)!important;
  box-shadow:none!important;
}
html :is(.button:not(.button-secondary),.ticket-open-submit,.nav .nav-cta):not([data-cookie-save]):not(.cookie-manage):not(.cookie-reject):is(:hover,:focus-visible,.is-holding){
  background:var(--public-primary-hover)!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html :is(.button:not(.button-secondary),.ticket-open-submit,.nav .nav-cta):not([data-cookie-save]):not(.cookie-manage):not(.cookie-reject):active{
  background:var(--public-primary-active)!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html .button-secondary:not(.cookie-manage):not(.cookie-reject){
  background:var(--secondary-bg)!important;
  color:var(--brand-ink)!important;
  -webkit-text-fill-color:var(--brand-ink)!important;
  border-color:var(--secondary-border)!important;
  box-shadow:none!important;
}
html .button-secondary:not(.cookie-manage):not(.cookie-reject):is(:hover,:focus-visible){
  background:var(--secondary-hover)!important;
  border-color:transparent!important;
}
html :is(.button,.ticket-open-submit):focus-visible{
  outline:2px solid var(--sc-action-focus,#3f5945)!important;
  outline-offset:3px!important;
}
.hold-button .hold-progress{background:rgba(38,48,25,.32);}
html :is(.button,.ticket-open-submit):disabled{opacity:.6;cursor:not-allowed;}

/* Final green approval, 25 September 2026: consistent heading accents. */
html :is(.sc-title-accent,.p-underlined){background:linear-gradient(transparent 84%,var(--logo-green) 84%,var(--logo-green) 96%,transparent 96%)!important}
html .v-underline{background:linear-gradient(transparent 89%,var(--logo-green) 89%)!important}
html .eyebrow::before,html .hero-type-cursor{background:var(--logo-green)!important}

/* Long headings remain readable when visitors increase text spacing on phones.
   Emergency wrapping keeps the approved type size and does not add hyphens. */
@media (max-width:680px){
  html main :is(h1,h2,h3),html .legal-content p,html .withdraw-content>p{overflow-wrap:break-word!important}
  html .footer a{overflow-wrap:anywhere}
}

/* Regional headings keep complete words and use their available column width. */
html main:has(>.location-hero) h2{-webkit-hyphens:manual!important;hyphens:manual!important}

/* Keep long recruitment labels inside their mobile grid and content column. */
@media (max-width:680px){
  html .v-role-grid{grid-template-columns:minmax(0,1fr)}
  html .v-role-grid button>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
  html .v-job-copy li{overflow-wrap:anywhere}
  html .v-flow>li{min-width:0;overflow-wrap:anywhere}
}

/* Panel text and article actions adapt to individually increased text spacing. */
@media (max-width:680px){
  html .crm-software-page .depth-panel{min-width:0;overflow-wrap:anywhere}
  html .article-actions .button{max-width:100%;white-space:normal!important;min-height:40px;height:auto!important}
}

@media (max-width:900px){
  html .crm-software-page .list-panel li{overflow-wrap:anywhere}
}

/* Narrow cards preserve long labels at enlarged intermediate viewports. */
@media (max-width:900px){
  /* These three detailed Adobe panels need a full text column on tablets. */
  html .adobe-admin-console-page .triad{grid-template-columns:minmax(0,1fr)}
  html .adobe-admin-console-page .list-panel li,
  html .application-support-page .list-panel li,
  html .contact-page .list-panel h2,
  html .it-location-page .location-faq .list-panel h2{overflow-wrap:anywhere}
  html .analysis-overview-shell .analysis-card-body{min-width:0;overflow-wrap:anywhere}
}

/* The same confirmed long-word issue in these service-specific card lists. */
@media (max-width:900px){
  html .digital-workplace-page .list-panel li,
  html .it-outsourcing-page .list-panel li,
  html .lizenzoptimierung-page .list-panel li,
  html .nis2-it-sicherheitscheck-page .list-panel li,
  html .phishing-simulation-page .list-panel li,
  html .sharepoint-file-migration-page .list-panel li,
  html .windows-server-active-directory-page .list-panel li,
  html .microsoft-365-copilot-beratung-page .list-panel h2,
  html .windows-server-active-directory-page .list-panel h2{overflow-wrap:anywhere}
}

html .button-secondary:not(.cookie-manage):not(.cookie-reject):active{background:var(--secondary-active)!important;}

/* Keep service names intact: automatic hyphenation split Defender and Migration. */
html :is(.location-service-grid,.location-service-index-grid,.location-link-grid,.compact-card-media) h3{
  -webkit-hyphens:manual;hyphens:manual;overflow-wrap:break-word;
}
@media (min-width:901px){
  html .location-related-services{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Explicit soft hyphens must not reintroduce syllable cuts in public headings. */
html main :is(h1,h2,h3){-webkit-hyphens:none!important;hyphens:none!important}
@media(max-width:680px){
  html .application-support-page .page-hero h1.sc-hero-title{font-size:clamp(27px,8.2vw,40px)}
}
@media(max-width:380px){
  html .contact-inner h2{font-size:23px}
  html .v-main h1.v-job-title:has(wbr){font-size:27px!important}
}
