/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 1.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * IMPORTANT: This file is only served on the frontend when `SCRIPT_DEBUG` is enabled;
 * in most instances, the `style.min.css` file will be served. It is not recommended that you
 * use the Theme File Editor to modify this stylesheet. Instead, add the necessary style
 * overrides via "Additional CSS" in the Site Editor.
 */

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/*
 * Prevents unnecessary scrollbars while handling long lines of preformatted text.
 * https://core.trac.wordpress.org/ticket/63875
 */
:where(pre) {
	overflow-x: auto;
}

/* =========================================
   Landingpage Cards (LP Patterns)
   ========================================= */

/* Alle großen Inhaltssektionen als Karten */
.wp-site-blocks > .wp-block-group {
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 14px 35px rgba(2, 8, 23, 0.10);
  padding: 26px;
  margin: 22px auto;
  max-width: 1120px;
}

/* Etwas mehr Luft auf Mobil */
@media (max-width: 768px) {
  .wp-site-blocks > .wp-block-group {
    padding: 20px;
    margin: 16px 12px;
  }
}

/* Überschriften angenehmer */
.wp-site-blocks h2 {
  margin-top: 0;
}

/* ====== LP Design Tokens (aus Original) ====== */
:root{
  --lp-bg:#f6f8fb;
  --lp-surface:#ffffff;
  --lp-text:#0f172a;
  --lp-muted:#556070;
  --lp-brand:#1097d6;
  --lp-brand2:#0b74a6;
  --lp-cross:#cf2e2e;
  --lp-border:rgba(15,23,42,.10);
  --lp-shadow:0 14px 35px rgba(2, 8, 23, .10);
  --lp-radius:18px;
  --lp-max:1120px;
}

/* Seite/Background näher an Original */
body{ background:#f6f8fb; color:#0f172a; }
a{ color: var(--lp-brand); }
a:hover{ color: var(--lp-brand2); }

/* ====== TOPBAR (Header) ====== */
/* Topbar als Card */
/* Topbar als kompakte Card */
.lp-topbar{
  max-width: 1120px;
  margin: 10px auto 18px !important;

  background: #ffffff;
  border-radius: 14px;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 10px 28px rgba(2,8,23,.10);

  padding: 6px 14px; /* HIER ist der wichtigste Hebel */
}

.lp-topbar *{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Kompakte Navigation-Pills */
.lp-topbar .wp-block-navigation a{
  padding: 6px 10px;
  font-size: 13px;
}

@media (max-width: 768px){
  .lp-topbar{
    margin: 8px 12px 16px !important;
    padding: 10px 12px;
  }
}


/* Falls der Header-Wrapper full width padding hat */
header.wp-block-template-part{
  padding-left: 12px;
  padding-right: 12px;
}


/* Navigation als Pills */
.lp-nav a{
  display:inline-block;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  color:#0f172a;
  font-size:13px;
  text-decoration:none;
  transition:.15s ease;
  white-space:nowrap;
}
.lp-nav a:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(2,8,23,.10);
}


/* ====== CARDS ====== */
.lp-card{
  background: var(--lp-surface);
  border:1px solid var(--lp-border);
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-shadow);
  padding: 26px;
  margin: 2px auto;
  max-width: var(--lp-max);
}

/* Typo näher an Original */
.lp-hero h1{
  line-height:1.08;
  letter-spacing:-.6px;
}
.lp-muted{ color: var(--lp-muted); }

/* LP Cards – sichtbar erzwingen */
.wp-site-blocks .lp-card{
  background:
    radial-gradient(900px 320px at 20% 0%, rgba(16,151,214,.18), transparent 60%),
    radial-gradient(700px 300px at 90% 30%, rgba(207,46,46,.10), transparent 60%),
    #ffffff;	
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  box-shadow:0 14px 35px rgba(2,8,23,.10);

  margin:22px auto;
  max-width:1120px;
}

/* Hero (eigener Look) */
.wp-site-blocks .lp-hero{
  background:#fff;
  border:1px solid rgba(15,23,42,.10);
  border-radius:18px;
  box-shadow:0 14px 35px rgba(2,8,23,.10);
  position:relative;
  overflow:hidden;
  padding:28px;
  margin:18px auto 22px;
  max-width:1120px;
}
.wp-site-blocks .lp-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(900px 320px at 20% 0%, rgba(16,151,214,.18), transparent 60%),
    radial-gradient(700px 300px at 90% 30%, rgba(207,46,46,.10), transparent 60%);
  pointer-events:none;
}

/* Primary Button */
.wp-block-button__link{
  background: linear-gradient(
    180deg,
    #1ea7e1 0%,
    #1097d6 100%
  ) !important;

  color: #ffffff !important;

  padding: 12px 18px;
  border-radius: 999px;

  font-size: 14px;
  font-weight: 600;

  border: 1px solid rgba(15,23,42,.15);

  box-shadow:
    0 10px 22px rgba(2,8,23,.14),
    inset 0 1px 0 rgba(255,255,255,.25);

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    background .15s ease;
}

/* Hover */
.wp-block-button__link:hover{
  transform: translateY(-1px);
  box-shadow:
    0 14px 30px rgba(2,8,23,.18),
    inset 0 1px 0 rgba(255,255,255,.35);
}



/* Secondary / Outline Button */
.wp-block-button.is-style-outline .wp-block-button__link{
  background: transparent;
  color: #0f172a !important;

  border: 1px solid rgba(15,23,42,.18);
  box-shadow: none;

  padding: 11px 18px;
}

/* Hover */
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background: rgba(15,23,42,.04);
  border-color: rgba(15,23,42,.30);
}

/* Subtle / Text Button */
.wp-block-button.is-style-text .wp-block-button__link{
  background: transparent;
  color: #1097d6 !important;

  padding: 0;
  border: 0;
  box-shadow: none;

  font-weight: 600;
}

.wp-block-button.is-style-text .wp-block-button__link:hover{
  text-decoration: underline;
}


@media (max-width: 768px){
  .wp-block-button__link{
    padding: 12px 16px;
    font-size: 14px;
  }
}

/* Header: alle Buttons einheitlich */
.lp-topbar .wp-block-button__link{
  background: #ffffff !important;
  color: #0f172a !important;

  border: 1px solid rgba(15,23,42,.18);
  box-shadow: none;

  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
}
.lp-topbar .wp-block-button__link:hover{
  background: #f6f8fb !important;
  border-color: rgba(15,23,42,.30);
}

/* =========================
   Buttons wie im Screenshot
   ========================= */
/* Buttons: Text leicht größer */
.wp-site-blocks a.wp-block-button__link.wp-element-button{
  font-size: 14px !important;
  line-height: 1.2;
}


/* STANDARD (Primary) = Soft / Ghost Blue */
.wp-site-blocks a.wp-block-button__link.wp-element-button{
  background: rgba(16,151,214,.10) !important;  /* leicht blau */
  color: #0f172a !important;                   /* dunkle Schrift */

  border: 1px solid rgba(16,151,214,.55) !important; /* blauer Rand */
  border-radius: 999px !important;

  padding: 12px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;

  box-shadow: none !important;
  text-decoration: none !important;

  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.wp-site-blocks a.wp-block-button__link.wp-element-button:hover{
  background: rgba(16,151,214,.14) !important;
  border-color: rgba(16,151,214,.75) !important;
  transform: translateY(-1px);
}

/* OUTLINE = weiß, nur Rand (für z.B. "E-Mail schreiben") */
.wp-site-blocks .wp-block-button.is-style-outline a.wp-block-button__link.wp-element-button{
  background: #ffffff !important;
  color: #0f172a !important;

  border: 1px solid rgba(15,23,42,.18) !important;
  box-shadow: none !important;
}

.wp-site-blocks .wp-block-button.is-style-outline a.wp-block-button__link.wp-element-button:hover{
  background: rgba(15,23,42,.03) !important;
  border-color: rgba(15,23,42,.28) !important;
}

/* HEADER bleibt weiss/schwarz (deine Vorgabe) */
.lp-topbar a.wp-block-button__link.wp-element-button{
  background: #ffffff !important;
  color: #0f172a !important;
  border: 1px solid rgba(15,23,42,.18) !important;
  box-shadow: none !important;
  transform: none !important;
}


/* Fließtext & Listen: größer als Buttons */
.wp-site-blocks p,
.wp-site-blocks li{
  font-size: 18px;
  line-height: 1.6;
}

/* Highlights Card – weißer Hintergrund + weicher Verlauf, kein Schatten */
/* Highlights Card: 100% weiß (opak) + Verlauf als Overlay, kein Schatten */
.wp-site-blocks .lp-highlights-card{
  background-color: #ffffff !important;   /* wirklich deckend */
  background-image: none !important;      /* wichtig: wir legen Verlauf in ::before */
  opacity: 1 !important;                  /* falls der Block irgendwo opacity hat */
  box-shadow: none !important;

  border: 1px solid rgba(15,23,42,.12);
  border-radius: 16px;

  position: relative;
  overflow: hidden;
  isolation: isolate;                     /* verhindert Blend/Transparenz-Eindruck */

  padding: 18px 18px;
  max-width: 420px;
  margin-left: auto;
}

/* Verlauf-Overlay (liegt ÜBER dem Weiß, nicht darunter) */
.wp-site-blocks .lp-highlights-card::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;

  background:
    radial-gradient(600px 280px at 15% 0%, rgba(16,151,214,.18), transparent 60%),
    radial-gradient(520px 260px at 95% 30%, rgba(207,46,46,.08), transparent 65%);
}

/* Inhalt wieder nach vorne holen */
.wp-site-blocks .lp-highlights-card > *{
  position: relative;
  z-index: 1;
}

/* Eingabefelder auf volle Breite */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea,
.wpcf7 select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* =========================================
   MOBILE OPTIMIERUNG (LP) – bis 768px
   ========================================= */
@media (max-width: 768px){

  /* 1) Seite: etwas Luft links/rechts */
  .wp-site-blocks{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* 2) Topbar: volle Breite + kompakt */
  .lp-topbar{
    max-width: none !important;
    margin: 10px 12px 14px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
  }

  /* Navigation-Pills im Header: nicht zu klein, besser tappbar */
  .lp-topbar .wp-block-navigation a{
    padding: 8px 10px !important;
    font-size: 13px !important;
  }

  /* 3) Große Cards (Hero + lp-card): volle Breite */
  .wp-site-blocks .lp-hero,
  .wp-site-blocks .lp-card{
    max-width: none !important;
    margin: 14px 12px !important;
    padding: 18px 16px !important;
    border-radius: 16px !important;
  }

  /* 4) Falls du weiterhin .wp-site-blocks > .wp-block-group nutzt:
        auf Mobile entschärfen (sonst zu viele Cards) */
  .wp-site-blocks > .wp-block-group{
    max-width: none !important;
    margin: 14px 12px !important;
    padding: 18px 16px !important;
    border-radius: 16px !important;
  }

  /* 5) Hero-Typo: Headlines nicht zu riesig */
  .lp-hero h1{
    font-size: 34px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.3px !important;
  }

  /* 6) Fließtext/Listen: sauber lesbar (nicht zu groß) */
  .wp-site-blocks p,
  .wp-site-blocks li{
    font-size: 16px !important;
    line-height: 1.6 !important;
  }

  /* 7) Columns: untereinander + sauberer Abstand */
  .wp-site-blocks .wp-block-columns{
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
  .wp-site-blocks .wp-block-column{
    flex-basis: 100% !important;
    width: 100% !important;
  }

  /* 8) Highlights-Card: volle Breite, kein rechtsbündiges "Kleben" */
  .wp-site-blocks .lp-highlights-card{
    max-width: none !important;
    margin-left: 0 !important;
    padding: 16px 14px !important;
  }

  /* 9) Buttons: auf Mobile besser als Vollbreite (UX) */
  .wp-site-blocks .wp-block-buttons{
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .wp-site-blocks .wp-block-buttons .wp-block-button{
    width: 100% !important;
  }
  .wp-site-blocks a.wp-block-button__link.wp-element-button{
    width: 100% !important;
    justify-content: center !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
  }
}

/* =========================================
   MOBILE: maximaler Content, minimaler Rand
   ========================================= */
@media (max-width: 768px){

  /* Topbar */
  .lp-topbar{
    margin-left: 4px !important;
    margin-right: 4px !important;
  }

  /* Hero & Content Cards */
  .wp-site-blocks .lp-hero,
  .wp-site-blocks .lp-card{
    margin-left: 4px !important;
    margin-right: 4px !important;
  }

  /* Falls generische Groups noch greifen */
  .wp-site-blocks > .wp-block-group{
    margin-left: 4px !important;
    margin-right: 4px !important;
  }
}

* =========================================
   MOBILE: Einheitlicher Abstand Topnav → Cards
   ========================================= */
@media (max-width: 768px){

  /* 1) Topbar: kein zusätzlicher Abstand nach unten */
  .lp-topbar{
    margin-bottom: 0 !important;
  }

  /* 2) Erste Card nach der Topbar: definierter Abstand */
  .lp-topbar + .lp-hero,
  .lp-topbar + .lp-card,
  .lp-topbar + .wp-site-blocks > .wp-block-group{
    margin-top: 12px !important;
  }

  /* 3) Alle weiteren Cards: gleichmäßiger Abstand */
  .lp-hero + .lp-card,
  .lp-card + .lp-card,
  .wp-site-blocks > .wp-block-group + .wp-block-group{
    margin-top: 12px !important;
  }
}

