/* Rettelser oven på Webflow-CSS'en. Indlæses efter den på alle sider (lib/site.ts). */

/* Mere læsbar brødtekst: mørkere grå toner og mindst 16px på mobil. */
:root {
  --_🎨-color--base---base--dark-64: #2c3930d1;
  --_🎨-color--base---base--dark-48: #2c3930b3;
  --_🎨-color--base---base--light-48: #e0dedab8;
  --_🎨-color--base---base--light-64: #e0dedad6;
}
@media screen and (max-width: 767px) {
  body {
    --_🔠-typography---size--b2: 1rem;
    --_🔠-typography---line-height--b2: 1.5rem;
    --_🔠-typography---size--b3: .875rem;
    --_🔠-typography---line-height--b3: 1.25rem;
  }
}

/* Mindre cookiebanner, så det ikke dækker sidens overskrift. */
.spitze-gammel--cw-cookie-banner {
  max-width: 26rem;
  padding: 1.25rem;
  box-shadow: 0 8px 32px #2c393026;
}
.spitze-gammel--cw-cookie-banner h3 { font-size: 1.125rem; margin: 0 0 .5rem; }
.spitze-gammel--cw-cookie-banner p { font-size: .875rem; line-height: 1.35; margin: 0 0 .5rem; }
.spitze-gammel--cw-cookie--buttons { gap: .5rem; margin-top: .75rem; flex-wrap: wrap; }
@media screen and (max-width: 479px) {
  .spitze-gammel--cw-cookie-banner { max-width: none; max-height: 45vh; overflow: auto; }
}

/* Ingen bevægelse for dem, der har slået animationer fra. */
@media (prefers-reduced-motion: reduce) {
  [style*="opacity:0"]:not(input),
  [style*="translate3d"] {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  video[autoplay] { display: none; }
}

/* Sprogvælger i menuen: samme dropdown og interaktion som "Vores services", men en smal liste
   under knappen i stedet for fuld bredde (lib/pages/core.ts langSwitch). */
.spitze-lang { position: relative; margin-left: 1rem; }
.spitze-lang .spitze-lang_list, .spitze-lang .spitze-lang_list.w--open { position: absolute; left: auto; right: -1.25rem; top: 100%; width: max-content; min-width: 13rem; padding: 0; }
.spitze-lang .dropdown-bg { border-radius: var(--_🔘-radius---general--large); box-shadow: 0 12px 32px #2c39301a; }
.spitze-lang .spitze-lang_inner { padding: 1.25rem 1.5rem; }
.spitze-lang_link.w--current { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
@media screen and (max-width: 991px) { .spitze-lang { display: none; } }

/* ---------- Visuel QA, uge 40 ---------- */

/* Pilen i mørke knapper var mørk på mørk. */
.cta_primary .icon-wrap_button, .cta_primary-2 [class*="icon-wrap"] { color: inherit; }

/* Én accentfarve: links og fremhævede tal i brandets grøn i stedet for cyan og orange. */
.link-2, .main-wrapper p a:not([class]), .main-wrapper .w-richtext a {
  color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em;
}
.link-2:hover, .main-wrapper p a:not([class]):hover, .main-wrapper .w-richtext a:hover { text-decoration-thickness: 2px; }
.orange-p-text-highlight { color: inherit; font-weight: 600; }

/* Milepæls-tidslinjen: overskrift over tidslinjen og fuld bredde til teksten. */
.progress-halves { grid-template-columns: 1fr !important; row-gap: 3rem; }
.headline-about-b-progress { position: static; max-width: 36rem; }
.headline-about-b-progress br { display: none; }
.progress-year-halves { grid-template-columns: 3.5rem 1fr !important; width: auto; }
.progress-grid, .progress-timeline, .timeline-step { width: 100%; }

/* "Hvad I får"-kort: titler på samme højde i alle kort. */
.card_service-feature { justify-content: flex-start; gap: 2.5rem; }

/* Formularknappen ligner ikke længere en deaktiveret knap. */
.button_submit.w-button {
  background-color: #e0deda !important; color: #2c3930 !important;
  border-radius: .25rem; padding: .875rem 1.5rem; font-weight: 500; opacity: 1; min-width: 9.5rem; text-align: center;
}
.button_submit.w-button:hover { background-color: #fff !important; }
.text-field.w-input::placeholder { color: #e0deda8f; }

/* Footer: mindre tomrum. */
.master-footer { row-gap: 5rem; }
@media screen and (max-width: 767px) { .master-footer { row-gap: 3rem; } }

/* Lange danske ord må aldrig skubbe siden ud til siden. */
h1, h2, h3 { overflow-wrap: break-word; hyphens: manual; }

/* Sat af spitze-site.js, når et reveal-element har været synligt i et sekund. */
.spitze-shown { opacity: 1 !important; transform: none !important; filter: none !important; transition: opacity .4s, transform .4s; }

/* Metode: intro-teksten havde fast højde og løb ind i harmonikaen, når den fyldte mere. */
.metode-anderledes { height: auto !important; min-height: 7.5rem; margin-bottom: 1.5rem !important; }
@media screen and (max-width: 767px) { .metode-anderledes { min-height: 0; } }
.tone-medium-2 { color: #2c3930d1; }

/* Om os: teksten "tones frem" bogstav for bogstav ved scroll og stod halvt gennemsigtig. Læsbarhed først. */
[text-scrub-scroll] .gsap_split_letter { opacity: 1 !important; }

/* Brancher: overskriften følger med ned langs harmonikaen i stedet for at efterlade en tom kolonne. */
@media screen and (min-width: 992px) {
  .waves-left-faq-1 { position: sticky; top: 8rem; align-self: start; height: auto; }
}

/* Kontakt: valgt fane i brandets lysegrønne (som på Om os) i stedet for kobber. */
.tab-link-tab-1.w--current, .tab-link-tab-2.w--current, .tab-link-tab-3.w--current { background-color: #c9dacd !important; color: #2c3930 !important; }

/* Blog: palettens farver i stedet for lilla bånd og brune mellemrubrikker. */
.section_blog-service-cta { background-color: #c9dacd; }
.card_service-feature.blog2 { background-color: #f6efe4; border-color: transparent; }
.wrap_body-article h2, .wrap_body-article h3 { color: #2c3930; }
.wrap_body-article h3 { margin-top: 2.5rem; }

/* Blog på mobil: indholdsfortegnelsen vises (før stod kun overskriften "Indhold"). */
@media screen and (max-width: 991px) {
  .article_toc-list { display: flex !important; flex-direction: column; gap: .5rem; margin-top: .75rem; }
}

/* Footer på mobil: "Juridisk" kan ikke foldes sammen (ingen Webflow-interaktion), så ingen "+". */
@media screen and (max-width: 767px) {
  .right-footer > .coumn_footer:nth-child(4) .column-expand_top-tile > :not(:first-child) { display: none; }
  .footer_bottom-halves, .footer_bottom-halves * { text-align: left !important; justify-content: flex-start !important; align-items: flex-start !important; }
}

/* ---------- Designsystem, uge 40 ----------
   Én palette: mørkegrøn #2c3930, grøn #3f4f44, sand #e0deda, salvie #c9dacd og creme #f6efe4.
   Kobber, oliven, lilla, turkis og orange er taget ud. */
:root {
  --_🎨-color--base---lift--dark: #3f4f44;
  --spitze-gammel---colors--brown: #3f4f44;
  --spitze-gammel---colors--olive-green: #3f4f44;
  --_🎨-color--base---colors--plum-wash: #dee6e1;
  --_🎨-color--tokens---link: currentColor;
  --_🎨-color--tokens---orange: currentColor;

  /* To knaptyper: udfyldt (primær) og med kant (sekundær) i stedet for en lysegrå flade. */
  --_🎨-color--tokens---button--secondary--default--background: transparent;
  --_🎨-color--tokens---button--secondary--default--border: #2c393052;

  /* Lidt større brødtekst på computer. */
  --_🔠-typography---size--b2: 1.0625rem;
  --_🔠-typography---line-height--b2: 1.65rem;
  --_🔠-typography---size--b3: .9375rem;
  --_🔠-typography---line-height--b3: 1.4rem;
}
.link-3, .link-4 { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.blog-card_meta-item, .case-layout_quote-author, .sysf-collapse-title-2, .case-layout_client { color: #3f4f44; }
.process-sep { color: #2c393080; }

/* Billedkollagerne står lige og uden farvede rammer i stedet for skæve "polaroids". */
.card_career-image.first, .card_career-image.second, .card_career-image.third, .card_career-image.fourth {
  transform: none !important; background-color: transparent !important; padding: 0; box-shadow: none;
}
.card_career-image img { border-radius: var(--_🔘-radius---general--large, .5rem); }

/* Om os: seks personer i to rækker (2 + 4) uden en halvtom række. */
@media screen and (min-width: 992px) { .team_thirds { grid-template-columns: repeat(4, 1fr) !important; } }
@media screen and (min-width: 480px) and (max-width: 991px) { .team_thirds { grid-template-columns: repeat(2, 1fr) !important; } }

/* Kontrast (WCAG 2.2 AA) */
.text_input-label { color: #e0deda; }
.text-field::placeholder, .w-input::placeholder, textarea::placeholder { color: #e0deda99 !important; }
[class*="tab-link-tab-"].w--current .text-block, [class*="tab-link-tab-"].w--current .text-block-2, [class*="tab-link-tab-"].w--current .text-block-3 { color: #2c3930 !important; }

.text-field.w-input { color: #f6efe4; }
.text-field.w-input::placeholder { color: #e0deda99 !important; }
.tone-medium.adawdwa { color: #e0deda; }
.card_feature.fredaw { background-color: #3f4f44; }
.case-layout_quote { border-left-color: #3f4f44; }

/* Dæmpede tekster med mindst 4,5:1 kontrast (fundet af pnpm test:e2e) */
.label-small.tone-subtle, .heading-alternative .text-span-7, .tone-medium-3, .article_toc-title { color: #4f5a52 !important; opacity: 1 !important; }
.article_back-link, .article_meta-label { color: #3f4f44 !important; opacity: 1 !important; }
.card_number .tone-subtle { color: #cfd1cb !important; }
.article_toc-link, .article_share-label { color: #3f4f44 !important; opacity: 1 !important; }
/* Mobilmenuens sprogliste: markér det aktuelle sprog. */
.w-locales-item .link_nav.w--current { font-weight: 600; text-decoration: underline; text-underline-offset: .2em; }
/* Tyske sammensatte ord (fx "Geschäftsbedingungen") er for lange til store overskrifter på mobil. */
:lang(de) :is(h1, h2, h3, h4) { hyphens: auto; overflow-wrap: break-word; }
