/* 
Theme Name: Schwarz+Matt Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Schwarz+Matt Child is a child theme of Hello Elementor, created by the Elementor team and modified by Schwart+Matt.
Author: Schwarz+Matt Team
Author URI: https://www.schwarz-matt.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: schwarz+matt-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

html, body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  scroll-behavior: smooth;
}

.elementor-icon-wrapper {
  line-height: 0;
}

/* Listing Grid Slider: visible overflow for neighboring slides */
.slider-visible .swiper,
.slider-visible .swiper-container,
.slider-visible .swiper-viewport,
.slider-visible .swiper-wrapper {
  overflow: visible !important;
}

.aspect-1-1 img {
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.aspect-16-9 img {
  aspect-ratio: 16/9 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.full-height.elementor-widget-image {
  height: auto;
}

.full-img-height .elementor-widget.elementor-widget-image {
  height: 100%;
}

/* Elementor Texteditor – letzten Absatz unten bündig machen */
.elementor-widget-text-editor .elementor-widget-container > *:last-child{
  margin-bottom: 0 !important;
}

/* Sicherheit: falls nur p verwendet wird */
.elementor-widget-text-editor .elementor-widget-container p:last-child{
  margin-bottom: 0 !important;
}


/*
 * Verbundwerk – globale CSS-Variablen
 * Grundlage: Figma, Bereich „Styles“
 *
 * REM-Werte entsprechen den Figma-Pixelwerten bei 16px Basisgröße.
 * Switzer muss zusätzlich als Webfont eingebunden werden.
 */

:root {
  /* ========================================
     Farben: Basis
     ======================================== */

  --color-white: #ffffff;
  --color-black: #000000;

  /* Sandstein */
  --color-sandstein: #e0e0e0;
  --color-sandstein-1: #c9c9c9;
  --color-sandstein-2: #b3b3b3;
  --color-sandstein-3: #9d9d9d;
  --color-sandstein-4: #858585;
  --color-sandstein-5: #707070;
  --color-sandstein-6: #5a5a5a;
  --color-sandstein-7: #434343;
  --color-sandstein-8: #2d2d2d;
  --color-sandstein-9: #151515;

  /* Stahlblau */
  --color-stahlblau: #2a3546;
  --color-stahlblau-90: #3f4959;
  --color-stahlblau-80: #555d6b;
  --color-stahlblau-70: #6a727e;
  --color-stahlblau-60: #7f8690;
  --color-stahlblau-50: #959aa3;
  --color-stahlblau-40: #aaaeb5;
  --color-stahlblau-30: #bfc2c8;
  --color-stahlblau-20: #d4d7da;
  --color-stahlblau-10: #eaebed;

  /* Obsidian */
  --color-obsidian: #311839;
  --color-obsidian-90: #462f4d;
  --color-obsidian-80: #5a4661;
  --color-obsidian-70: #6f5d74;
  --color-obsidian-60: #837488;
  --color-obsidian-50: #988c9c;
  --color-obsidian-40: #ada3b0;
  --color-obsidian-30: #c1bac4;
  --color-obsidian-20: #d6d1d7;
  --color-obsidian-10: #eae8eb;

  /* Bernstein */
  --color-bernstein: #d25526;
  --color-bernstein-90: #d6673c;
  --color-bernstein-80: #da7751;
  --color-bernstein-70: #e08768;
  --color-bernstein-60: #e4997c;
  --color-bernstein-50: #e9a993;
  --color-bernstein-40: #ecbba7;
  --color-bernstein-30: #f1ccbd;
  --color-bernstein-20: #f6ddd5;
  --color-bernstein-10: #fceee8;

  /* Weitere im Style-Bereich verwendete Farben */
  --color-neutral-300: #d4d4d4;
  --color-stone-800: #292524;
  --color-stone-500: #78716c;
  --color-jokey-grey-200: #c3c3c5;
  --color-interaction-grey: #e7e7e7;

  /* Hauptfarben gemäß Figma-Zuordnung */
  --color-primary: var(--color-stahlblau);
  --color-secondary: var(--color-obsidian);
  --color-accent: var(--color-bernstein);

  /* ========================================
     Schriftfamilie und Schriftschnitte
     ======================================== */

  --font-family: "Switzer", Arial, sans-serif;

  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;

  --letter-spacing: 0em;

  /* ========================================
     Schriftgrößen: Desktop
     ======================================== */

  --font-size-headline-xxl: 11rem;  /* 176px */
  --font-size-headline-xl: 7rem;    /* 112px */
  --font-size-headline-l: 5rem;     /* 80px */
  --font-size-headline-m: 4rem;     /* 64px */
  --font-size-headline-s: 3rem;     /* 48px */

  --font-size-body-l: 2rem;        /* 32px */
  --font-size-body: 1.1875rem;     /* 19px */
  --font-size-body-s: 1rem;        /* 16px */
  --font-size-body-xs: 0.875rem;   /* 14px */

  --font-size-tagline: 0.875rem;   /* 14px */
  --font-size-button: 1rem;        /* 16px */

  /* ========================================
     Zeilenhöhen: Desktop
     ======================================== */

  --line-height-headline-xxl: 1;
  --line-height-headline-xl: 1;
  --line-height-headline-l: 1.1;
  --line-height-headline-m: 1.1;
  --line-height-headline-s: 1.1;

  --line-height-body-l: 1.3;
  --line-height-body: 1.5;
  --line-height-body-s: 1.5;
  --line-height-body-xs: 1.5;

  --line-height-tagline: 1.2;
  --line-height-button: 1.75;

  /* ========================================
     Vollständige Schriftstile
     Verwendung: font: var(--font-headline-l);
     ======================================== */

  --font-headline-xxl:
    var(--font-weight-light)
    var(--font-size-headline-xxl) / var(--line-height-headline-xxl)
    var(--font-family);

  --font-headline-xl:
    var(--font-weight-light)
    var(--font-size-headline-xl) / var(--line-height-headline-xl)
    var(--font-family);

  --font-headline-l:
    var(--font-weight-light)
    var(--font-size-headline-l) / var(--line-height-headline-l)
    var(--font-family);

  --font-headline-m:
    var(--font-weight-light)
    var(--font-size-headline-m) / var(--line-height-headline-m)
    var(--font-family);

  --font-headline-s:
    var(--font-weight-light)
    var(--font-size-headline-s) / var(--line-height-headline-s)
    var(--font-family);

  --font-body-l:
    var(--font-weight-regular)
    var(--font-size-body-l) / var(--line-height-body-l)
    var(--font-family);

  --font-body:
    var(--font-weight-regular)
    var(--font-size-body) / var(--line-height-body)
    var(--font-family);

  --font-body-s:
    var(--font-weight-regular)
    var(--font-size-body-s) / var(--line-height-body-s)
    var(--font-family);

  --font-body-xs:
    var(--font-weight-regular)
    var(--font-size-body-xs) / var(--line-height-body-xs)
    var(--font-family);

  --font-tagline:
    var(--font-weight-medium)
    var(--font-size-tagline) / var(--line-height-tagline)
    var(--font-family);

  --font-button:
    var(--font-weight-medium)
    var(--font-size-button) / var(--line-height-button)
    var(--font-family);

  /* ========================================
     Abstände: Desktop
     ======================================== */

  --space-4xs: 0.5rem;   /* 8px */
  --space-3xs: 1rem;     /* 16px */
  --space-2xs: 1.5rem;   /* 24px */
  --space-xs: 2rem;      /* 32px */
  --space-s: 3rem;       /* 48px */
  --space-m: 4rem;       /* 64px */
  --space-l: 5rem;       /* 80px */
  --space-xl: 6rem;      /* 96px */
  --space-2xl: 8rem;     /* 128px */
  --space-3xl: 10rem;    /* 160px */
  --space-4xl: 12rem;    /* 192px */
  --space-5xl: 15rem;    /* 240px */
  --space-6xl: 17rem;    /* 272px */
}

/* ==========================================
   Mobil: Werte aus der Figma-Dokumentation
   Umschaltpunkt für die Website ergänzt
   ========================================== */

@media (max-width: 767px) {
  :root {
    /* Schriftgrößen */

    --font-size-headline-xxl: 3.5rem; /* 56px */
    --font-size-headline-xl: 3rem;    /* 48px */
    --font-size-headline-l: 2.5rem;   /* 40px */
    --font-size-headline-m: 2.25rem;  /* 36px */
    --font-size-headline-s: 1.5rem;   /* 24px */

    --font-size-body-l: 1.25rem;     /* 20px */
    --font-size-body: 1rem;          /* 16px */
    --font-size-body-s: 0.875rem;    /* 14px */
    --font-size-body-xs: 0.75rem;    /* 12px */

    --font-size-tagline: 0.75rem;    /* 12px */
    --font-size-button: 0.625rem;    /* 10px laut Figma */

    /* Zeilenhöhen */

    --line-height-headline-xxl: 1.3;
    --line-height-headline-xl: 1.3;
    --line-height-headline-l: 1.3;
    --line-height-headline-m: 1.3;
    --line-height-headline-s: 1.3;

    --line-height-body-l: 1.5;
    --line-height-body: 1.75;
    --line-height-body-s: 1.75;
    --line-height-body-xs: 1.5;

    --line-height-tagline: 1.75;
    --line-height-button: 1;

    /* Abstände */

    --space-4xs: 0.25rem; /* 4px */
    --space-3xs: 0.5rem;  /* 8px */
    --space-2xs: 1rem;    /* 16px */
    --space-xs: 1.5rem;   /* 24px */
    --space-s: 1.75rem;   /* 28px */
    --space-m: 2rem;      /* 32px */
    --space-l: 2.5rem;    /* 40px */
    --space-xl: 2.75rem;  /* 44px */
    --space-2xl: 3rem;    /* 48px */
    --space-3xl: 3.5rem;  /* 56px */
    --space-4xl: 4rem;    /* 64px */
    --space-5xl: 5rem;    /* 80px */
    --space-6xl: 6rem;    /* 96px */
  }
}