/* Lawenforcement-only corrections.
 * ===========================================================================
 *
 * The second site is on the design system, but it carries a few Webflow
 * blocks Defence does not have — a rounded media panel on the software page,
 * a rounded tab image on the home page, a pill inside the accreditations
 * block. They kept Webflow's 20-480px corners while everything around them
 * had gone to 2px.
 *
 * Found by verify/blocks.mjs, which measures every shared block on every page
 * that carries it; on Defence alone these never appear.
 */

[data-site="lawenforcement"][data-mode="frontier"] :is(
  .img_cover-2,
  .img_cover-3,
  .tab_image-2,
  .software_left,
  .software_right,
  .img_cover,
  .tab_image
) {
  border-radius: 2px;
}

/* The pill inside the credential block, re-cut like every other button. */
[data-site="lawenforcement"][data-mode="frontier"] .section_acreditations-home :is(.button, .button-arrow-container) {
  border-radius: 2px;
}

/* --- Defence-Sand, den das LE-Projekt geerbt hat ----------------------------
 *
 * Fuenf Regeln in der kompilierten dronivo-le.css setzen #c4b798 fest — den
 * Sand der Defence-Seite, auf einer Seite, deren Markenfarbe #1565c0 ist. Das
 * Webflow-Projekt wurde offenbar aus Defence kopiert und an diesen fuenf
 * Stellen nicht nachgezogen; sie betreffen die Pfeilflaechen dreier
 * Schaltflaechen-Varianten und zwei Textklassen.
 *
 * Ueberschrieben statt korrigiert: scrape/extract_site.py erzeugt
 * dronivo-le.css neu, eine Aenderung dort waere beim naechsten Durchlauf weg.
 *
 * --site-accent statt einer festen Zahl, damit die Farbe an einer Stelle
 * bleibt — sie steht in lib/sites.ts und wird auf dem Wrapper gesetzt.
 */
/* Die Sand-Primitive, pauschal umgeleitet.
 *
 * Die geteilten Frontier-Bausteine (process.css, frontier.css, footer.css …)
 * greifen auf var(--_primitives---colors--brand-yellow, #c4b798) zurueck —
 * auf Defence ist das die Markenfarbe, auf Lawenforcement zog stets der
 * Sand-Rueckfall, weil dronivo-le.css nur --colors--brand-blue definiert.
 * Sichtbar zuerst an der Prozess-Zeitleiste der Startseite: sandfarbene
 * Punkte und Fuellinie auf der blauen Seite. Eine Umleitung im Wrapper
 * statt einer Kopie jeder einzelnen Regel. */
[data-site="lawenforcement"] {
  --_primitives---colors--brand-yellow: var(--site-accent, #1565c0);
}

[data-site="lawenforcement"] :is(
  .btn-bubble-arrow__arrow-2,
  .btn-bubble-arrow__arrow-3,
  .btn-bubble-arrow__arrow-4
) {
  background-color: var(--site-accent, #1565c0);
}

[data-site="lawenforcement"] :is(
  .text-style-tagline,
  .text-color-yellow-brand-3
) {
  color: var(--site-accent, #1565c0);
}

/* ===========================================================================
   Sektionen, die das alte Webflow-Theme behalten haben
   ---------------------------------------------------------------------------
   Gefunden mit verify/le-branding.mjs, Abschnitt fuer Abschnitt ueber alle 16
   erreichbaren Seiten. Vier Muster, jeweils an ihrer Klasse angefasst statt
   pauschal — ein globales `border-radius: 2px` traefe auch Logos und Avatare,
   die rund bleiben duerfen.
   =========================================================================== */

/* --- 1. Helle Flaechen ------------------------------------------------------
 *
 * Drei Sektionen standen noch auf #f2f2f2 mitten in einer dunklen Seite. Am
 * deutlichsten auf /uxs: dort sass ein "Contact Us" in der Hell-Variante der
 * Schaltflaeche — weisse Schrift auf hellgrau, praktisch unsichtbar. Auf
 * dunklem Grund stimmt diese Variante wieder. */
[data-site="lawenforcement"] :is(
  .section_service,
  .section_service-uxs,
  .section_service-2
) {
  background-color: var(--fr-bg, #0b0b0b);
  color: #ffffff;
}

[data-site="lawenforcement"] :is(.section_service, .section_service-uxs, .section_service-2)
  :is(h1, h2, h3, h4, .heading-style-h2, .heading-style-h3, .heading-style-h4) {
  color: #ffffff;
}

[data-site="lawenforcement"] :is(.section_service, .section_service-uxs, .section_service-2)
  :is(p, .text-size-medium, .text-size-regular) {
  color: rgba(255, 255, 255, 0.66);
}

/* --- 2. Karten und Bilder mit weichen Ecken --------------------------------
 * 20px gegen 2px im System. */
[data-site="lawenforcement"] :is(
  .service_card,
  .img_services,
  .layout403_image-wrapper,
  .bounce-btn
) {
  border-radius: 2px;
}

[data-site="lawenforcement"] .service_card {
  background-color: var(--fr-panel, #151515);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

/* --- 3. Pillen -------------------------------------------------------------
 * 480px Radius an Schaltflaechen und einem Dropdown. */
[data-site="lawenforcement"] :is(
  .button-2,
  .button-4,
  .button-arrow-container-4,
  .button-arrow-container-6,
  .dropdown-toggle-4
) {
  border-radius: 2px;
}

/* --- 4. Weisse Kreisscheiben mit schwarzem Symbol --------------------------
 *
 * Acht auf /services, sieben auf der Startseite, vier auf /about-us. Nichts
 * sonst auf der Seite ist rund, und eine weisse Scheibe ist auf schwarzem Grund
 * das hellste Objekt im Abschnitt — lauter als die Ueberschrift daneben.
 *
 * Sie werden nicht nur eckig, sondern zu dem, was das System sonst fuer
 * abgesetzte Flaechen benutzt: dunkel mit Haarlinie. Das Symbol muss dabei
 * mitgehen — es ist eine schwarze Strichzeichnung als <img>, `currentColor`
 * erreicht sie nicht, und auf dunklem Grund waere sie verschwunden.
 * `brightness(0) invert(1)` zwingt jede Ausgangsfarbe auf Weiss. */
[data-site="lawenforcement"] :is(
  .offer_img-wrapper-2,
  .values_item-icon-wrapper,
  .uav_icon-wrapper
) {
  border-radius: 2px;
  background-color: var(--fr-panel, #151515);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

[data-site="lawenforcement"] :is(
  .offer_img-wrapper-2,
  .values_item-icon-wrapper,
  .uav_icon-wrapper,
  .layout245_item-icon-wrapper
) img {
  filter: brightness(0) invert(1);
}

/* Die Tabs-Sektion stand als einzige auf transparent — auf der Startseite
   sass sie damit auf dem Grund des <body> statt auf dem der Seite, was den
   Sprung im Hintergrund erzeugte. Defence gibt ihr #0b0b0b. */
[data-site="lawenforcement"] .home_section-tabs-2 {
  background-color: var(--fr-bg, #0b0b0b);
}

/* --- Die hellen Kaesten in der Laufschrift ---------------------------------
 *
 * Die Blenden links und rechts der Logoreihe blenden nach #f2f2f2 aus — hart
 * eingetragen in der kompilierten dronivo-le.css. Auf schwarzem Grund sind das
 * zwei hellgraue Rechtecke ueber den aeusseren Emblemen, keine Blende.
 *
 * Defence hat dasselbe Problem geloest, aber an `.marquee_overlay`. LE benutzt
 * `.marquee_overlay-2` — dieselbe Sache, andere Klasse, weil die beiden
 * Webflow-Projekte ihre Klassen durchnummerieren. Die Defence-Regel konnte hier
 * also nichts treffen.
 *
 * Ausgeblendet wird jetzt nach dem Grund der Sektion, und die Blende ist so
 * schmal wie drueben: 9,375rem verdeckten das erste und letzte Emblem fast
 * ganz.
 */
[data-site="lawenforcement"] .marquee_overlay-2 {
  background-image: linear-gradient(270deg, transparent, var(--fr-bg, #0b0b0b) 99%);
  max-width: 5rem;
}

[data-site="lawenforcement"] .marquee_overlay-2.is-right {
  background-image: linear-gradient(90deg, transparent, var(--fr-bg, #0b0b0b) 99%);
}

/* --- Footer ----------------------------------------------------------------
 *
 * Das Logo ist die SCHWARZE Fassung (Dronivo_Logo_Black.png) auf schwarzem
 * Grund — im Webflow-Projekt so hinterlegt. Defence liefert an derselben Stelle
 * dronivo-defence-light.svg aus. Statt die Datei zu tauschen wird sie
 * eingefaerbt: `brightness(0) invert(1)` zwingt die Strichzeichnung auf Weiss,
 * unabhaengig davon, welche Fassung ein Re-Scrape wiederbringt.
 */
[data-site="lawenforcement"] .footer_logo {
  filter: brightness(0) invert(1);
}

/* --- Markenblau als Textfarbe ----------------------------------------------
 *
 * #1565c0 auf #0b0b0b misst 3,43:1. Noetig sind 4,5. Betroffen war jede
 * //-Zeile, jeder Link im Impressum und in den AGB, Telefonnummer und
 * E-Mail-Adresse — 32 Stellen, gefunden von verify/readable.mjs.
 *
 * Die Markenfarbe bleibt unangetastet: #1565c0 fuellt weiterhin Buttons,
 * Marker und Flaechen. Nur TEXT auf dunklem Grund bekommt einen helleren Ton
 * derselben Familie. Das ist keine zweite Marke, das ist die Lesefassung —
 * dieselbe Unterscheidung, die jede Farbpalette zwischen Flaeche und Schrift
 * trifft.
 *
 * #4d94e0 misst 6,21:1.
 */
[data-site="lawenforcement"] {
  --site-accent-text: #4d94e0;
}

/* Die Mono-Zeilen des Designsystems. */
[data-site="lawenforcement"] :is(.fr-eyebrow, .solutions_eyebrow, .process_eyebrow, .process_slash, .solutions_slash) {
  color: var(--site-accent-text);
}

/* Webflows eigene Textklassen, die die Markenfarbe tragen. */
[data-site="lawenforcement"] :is(
  .text-style-tagline,
  .text-style-tagline-copy,
  .text-color-yellow-brand-2,
  .text-color-yellow-brand-3,
  .text-color-blue-brand,
  .text-color-blue-brand-2,
  /* Die Footer-Zeilen "MENU" und "SERVICES". Eigene Klasse, deshalb im ersten
     Durchgang uebersehen — gefunden, indem ich nach allen Elementen mit
     rgb(21,101,192) gesucht habe statt nach Klassennamen zu raten. */
  .text-style-tagline-small
) {
  color: var(--site-accent-text);
}

/* Links in den Rechtstexten. legal.css setzt dort --site-accent; auf Dunkel
   gilt dieselbe Lesefassung. */
[data-site="lawenforcement"] .terms_content-wrapper :is(a, .text-style-link) {
  color: var(--site-accent-text);
}

/* Die Footer-Zeilen "MENU" und "SERVICES".
 *
 * Zwei Anlaeufe haben hier nicht gegriffen, und der Grund war beide Male
 * derselbe: footer.css setzt `.footer_component .text-style-tagline-small` auf
 * --site-accent und laedt NACH dieser Datei. Bei gleicher Spezifitaet gewinnt
 * die spaetere Regel. Der Footer-Kontext steht deshalb mit im Selektor. */
[data-site="lawenforcement"] .footer_component .text-style-tagline-small,
[data-site="lawenforcement"] .text-style-tagline-small {
  color: var(--site-accent-text, #4d94e0);
}

/* Die Zeilen im Akkreditierungsblock. accreditations.css setzt sie auf
   --site-accent und laedt spaeter, deshalb steht der Blockkontext im Selektor —
   dieselbe Lehre wie beim Footer. */
[data-site="lawenforcement"] .section_acreditations-home .text-style-tagline-small,
[data-site="lawenforcement"] .section_acreditations-home .text-style-tagline {
  color: var(--site-accent-text, #4d94e0);
}

/* --- Letzte helle Sektion --------------------------------------------------
 * /success-stories stand noch auf #f2f2f2, und der "Read More"-Knopf ist die
 * Hell-Variante — weisse Schrift auf hellgrau, 1,12:1. Auf dunklem Grund
 * stimmt die Variante wieder, wie bei .section_service auf /uxs. */
[data-site="lawenforcement"] .section_stories-content {
  background-color: var(--fr-bg, #0b0b0b);
  color: #ffffff;
}

[data-site="lawenforcement"] .section_stories-content :is(h1, h2, h3, h4, [class*="heading-style"]) {
  color: #ffffff;
}

[data-site="lawenforcement"] .section_stories-content :is(p, [class*="text-size"]) {
  color: rgba(255, 255, 255, 0.66);
}

/* --- Die restlichen hellen Sektionen ---------------------------------------
 *
 * verify/readable.mjs findet sie an ihrer Wirkung statt an ihrer Klasse: 35 der
 * 45 verbliebenen Stellen liegen auf rgb(242,242,242). Das sind die letzten
 * Sektionen, die das helle Webflow-Theme behalten haben — auf /software,
 * /uxs und in den Tab-Bereichen. Die Hell-Variante der Schaltflaeche darin ist
 * weisse Schrift und damit unsichtbar, solange der Grund hell ist.
 */
[data-site="lawenforcement"] :is(
  .section_software,
  .section_uxs,
  .section_uav,
  .section_component-tabs,
  .section_components-tab,
  .home_section-tabs-2,
  .section_stories-hero,
  .section_products-hero
) {
  background-color: var(--fr-bg, #0b0b0b);
  color: #ffffff;
}

[data-site="lawenforcement"] :is(
  .section_software, .section_uxs, .section_uav, .section_component-tabs,
  .section_components-tab, .home_section-tabs-2, .section_stories-hero,
  .section_products-hero
) :is(h1, h2, h3, h4, [class*="heading-style"]) {
  color: #ffffff;
}

[data-site="lawenforcement"] :is(
  .section_software, .section_uxs, .section_uav, .section_component-tabs,
  .section_components-tab, .home_section-tabs-2, .section_stories-hero,
  .section_products-hero
) :is(p, [class*="text-size"]) {
  color: rgba(255, 255, 255, 0.66);
}

/* Textlinks in der Markenfarbe auf dunklem Grund — dieselbe Lesefassung. */
[data-site="lawenforcement"] .section_products-hero :is(a, [class*="text-color"]) {
  color: var(--site-accent-text, #4d94e0);
}

/* Nachzieher zum Abdunkeln: die Schaltflaeche in .section_stories-hero war die
   DUNKLE Variante fuer einen hellen Grund. Mit dem dunklen Grund kippte sie von
   unsichtbar-hell zu unsichtbar-dunkel (1,08:1) — das Abdunkeln allein reicht
   nicht, die Variante muss mit. */
[data-site="lawenforcement"] .section_stories-hero :is(
  .btn-bubble-arrow__content,
  .btn-bubble-arrow__content-text,
  .buton-text
) {
  color: #ffffff;
}

/* --- Framed Hero: Zeilenfall der laengeren Headline ------------------------
 *
 * Defence bricht seine 32 Zeichen bei 18ch in zwei ausgewogene Zeilen
 * (hero-framed.css). Die LE-Headline hat 51 Zeichen und fiel bei 18ch in vier
 * Zeilen, die erste davon ein einzelnes Wort. 26ch ergibt drei volle Zeilen. */
[data-hero="framed"] [data-site="lawenforcement"] .section_home-hero-2 h1 {
  max-width: 26ch;
}
