/*
Theme Name: Feuerpfeil Druck & Stick
Theme URI: https://druck-und-stick.com/
Author: Feuerpfeil Druck & Stick
Description: Individuelles WordPress-Theme für Feuerpfeil Druck & Stick. Landingpage, Referenzen, Kontaktformular-Shortcode und rechtliche Seiten.
Version: 1.1.24
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
Text Domain: feuerpfeil
*/

    :root {
      --bg: #f7f4ef;
      --paper: #ffffff;
      --ink: #171717;
      --muted: #6f6a62;
      --line: #e7dfd3;
      --sand: #c2a57b;
      --sand-dark: #9c805b;
      --dark: #111111;
      --dark-soft: #1c1c1c;
      --radius: 24px;
      --shadow: 0 24px 70px rgba(23,23,23,.12);
      --shadow-soft: 0 14px 36px rgba(23,23,23,.08);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background: var(--bg);
      line-height: 1.6;
    }

    img { max-width: 100%; display: block; }
    a { color: inherit; text-decoration: none; }

    .container {
      width: min(1160px, calc(100% - 40px));
      margin: 0 auto;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 12px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--sand-dark);
      font-weight: 800;
    }
    .eyebrow::before {
      content: "";
      width: 34px;
      height: 1px;
      background: var(--sand);
      display: inline-block;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      font-weight: 800;
      font-size: 14px;
      letter-spacing: .01em;
      transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
      cursor: pointer;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn.primary { background: var(--ink); color: #fff; }
    .btn.primary:hover { background: var(--sand-dark); }
    .btn.secondary { border-color: rgba(23,23,23,.22); color: var(--ink); background: rgba(255,255,255,.6); }
    .btn.secondary:hover { border-color: var(--sand-dark); color: var(--sand-dark); }
    .btn.light { background: var(--sand); color: #fff; }
    .btn.light:hover { background: #fff; color: var(--ink); }

    header {
      position: sticky;
      top: 0;
      z-index: 100;
      background: rgba(247,244,239,.86);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(231,223,211,.8);
    }

    .holiday-notice {
      background: #1a1a1a;
      color: #fff;
      border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .holiday-notice-inner {
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 14px 0;
    }
    .holiday-notice-label {
      flex: 0 0 auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 32px;
      padding: 0 14px;
      border-radius: 999px;
      background: var(--sand);
      color: #fff;
      font-size: 12px;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .holiday-notice-text {
      color: rgba(255,255,255,.86);
      font-size: 15px;
      line-height: 1.5;
    }
    .holiday-notice-text p {
      margin: 0;
      color: inherit;
    }
    .holiday-notice-text a {
      color: #fff;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .nav {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 28px;
    }
    .brand {
      display: flex;
      align-items: center;
      gap: 12px;
      min-width: 210px;
      font-weight: 900;
      letter-spacing: -.035em;
      overflow: hidden;
    }

    .brand img,
    .brand .custom-logo,
    .brand-icon-logo {
      width: 48px !important;
      height: 48px !important;
      max-width: 48px !important;
      max-height: 48px !important;
      object-fit: contain;
      flex: 0 0 48px;
      display: block;
    }
    .brand span {
      display: block;
      line-height: 1.05;
    }
    .brand strong {
      display: block;
      color: var(--ink);
      font-size: 18px;
      line-height: 1.05;
      letter-spacing: -.035em;
      white-space: nowrap;
    }
    .brand small {
      display: block;
      color: var(--muted);
      font-size: 11px;
      letter-spacing: .18em;
      text-transform: uppercase;
      font-weight: 850;
      margin-top: 3px;
      white-space: nowrap;
    }
    nav ul {
      list-style: none;
      display: flex;
      gap: 28px;
      padding: 0;
      margin: 0;
      color: #3f3b36;
      font-size: 14px;
      font-weight: 750;
    }
    nav a:hover { color: var(--sand-dark); }

    .mobile-note { display: none; color: var(--muted); font-size: 13px; }

    .hero {
      padding: 74px 0 88px;
      position: relative;
      overflow: hidden;
    }
    .hero-grid {
      display: grid;
      grid-template-columns: .95fr 1.05fr;
      align-items: center;
      gap: 54px;
    }
    h1 {
      font-size: clamp(44px, 7vw, 86px);
      line-height: .94;
      letter-spacing: -.075em;
      margin: 22px 0 24px;
    }
    .hero p {
      font-size: 19px;
      color: #4e4943;
      max-width: 610px;
      margin: 0 0 28px;
    }
    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 14px;
      margin: 30px 0 36px;
    }
    .stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
      max-width: 610px;
    }
    .stat {
      border-top: 1px solid var(--line);
      padding-top: 16px;
      min-width: 0;
    }
    .stat strong {
      display: block;
      font-size: 21px;
      line-height: 1.08;
      letter-spacing: -.035em;
      margin-bottom: 8px;
      white-space: nowrap;
    }
    .stat span {
      display: block;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
      font-weight: 750;
      max-width: 180px;
    }

    .hero-image {
      position: relative;
      min-height: 620px;
      border-radius: 34px;
      overflow: hidden;
      box-shadow: var(--shadow);
      background: #ddd;
      isolation: isolate;
    }
    .hero-image img {
      width: 100%;
      height: 100%;
      min-height: 620px;
      object-fit: cover;
      transform: scale(1.02);
      animation: heroZoom 10s ease-in-out infinite alternate;
    }
    .hero-image::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.18));
      pointer-events: none;
    }
    @keyframes heroZoom {
      from { transform: scale(1.02); }
      to { transform: scale(1.07); }
    }

    section { padding: 90px 0; }
    .section-head {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 32px;
      align-items: end;
      margin-bottom: 42px;
    }
    .section-head h2 {
      margin: 12px 0 0;
      font-size: clamp(34px, 5vw, 58px);
      line-height: 1;
      letter-spacing: -.055em;
    }
    .section-head p {
      margin: 0;
      color: var(--muted);
      font-size: 18px;
      max-width: 640px;
    }

    .trust {
      padding: 0 0 48px;
      margin-top: -35px;
      position: relative;
      z-index: 3;
    }
    .trust-grid {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      overflow: hidden;
      box-shadow: var(--shadow-soft);
    }
    .trust-item {
      padding: 28px 24px;
      border-right: 1px solid var(--line);
    }
    .trust-item:last-child { border-right: 0; }
    .trust-item b { display: block; font-size: 16px; margin-bottom: 4px; }
    .trust-item span { color: var(--muted); font-size: 14px; }

    .cards {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 20px;
    }
    .card {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow-soft);
      transition: transform .3s ease, box-shadow .3s ease;
    }
    .card:hover {
      transform: translateY(-7px);
      box-shadow: var(--shadow);
    }
    .card-img {
      height: 210px;
      overflow: hidden;
      background: #ddd;
    }
    .card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .55s ease;
    }
    .card:hover .card-img img { transform: scale(1.06); }
    .card-body {
      padding: 26px 24px 30px;
      min-height: 245px;
      display: flex;
      flex-direction: column;
    }
    .card-body h3 {
      margin: 0 0 14px;
      font-size: 22px;
      letter-spacing: -.035em;
      line-height: 1.05;
    }
    .card-body p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.62;
    }
    .card-tag {
      display: none;
    }

    .dark-section {
      background: var(--dark);
      color: #fff;
      position: relative;
      overflow: hidden;
    }
    .dark-section .eyebrow { color: var(--sand); }
    .dark-section .section-head p,
    .dark-section .target-card p,
    .dark-section .process-card p { color: rgba(255,255,255,.68); }
    .target-layout {
      display: grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 28px;
      align-items: stretch;
    }
    .target-image {
      border-radius: 30px;
      overflow: hidden;
      min-height: 500px;
      box-shadow: 0 24px 70px rgba(0,0,0,.28);
    }
    .target-image img {
      width: 100%;
      height: 100%;
      min-height: 500px;
      object-fit: cover;
    }
    .target-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }
    .target-card {
      padding: 24px;
      border-radius: 22px;
      border: 1px solid rgba(255,255,255,.13);
      background: rgba(255,255,255,.045);
    }
    .target-card h3 {
      margin: 0 0 8px;
      font-size: 20px;
      letter-spacing: -.03em;
    }
    .target-card p { margin: 0; font-size: 14px; }

    .process {
      background: #fff;
    }
    .process-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 34px;
      align-items: center;
    }
    .process-images {
      display: grid;
      grid-template-columns: 1fr;
      gap: 18px;
    }
    .process-images img {
      width: 100%;
      height: 315px;
      object-fit: cover;
      border-radius: 26px;
      box-shadow: var(--shadow-soft);
    }
    .steps {
      display: grid;
      gap: 14px;
    }
    .step {
      background: var(--bg);
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 22px 24px;
      display: grid;
      grid-template-columns: 50px 1fr;
      gap: 16px;
      align-items: start;
    }
    .step-num {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      background: var(--ink);
      color: #fff;
      display: grid;
      place-items: center;
      font-weight: 900;
    }
    .step h3 { margin: 0 0 4px; letter-spacing: -.025em; }
    .step p { margin: 0; color: var(--muted); }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .gallery-item {
      border-radius: 24px;
      overflow: hidden;
      position: relative;
      min-height: 285px;
      background: #ddd;
      box-shadow: var(--shadow-soft);
    }
    .gallery-item.wide { grid-column: span 2; }
    .gallery-item img {
      width: 100%;
      height: 100%;
      min-height: 285px;
      object-fit: cover;
      transition: transform .55s ease;
    }
    .gallery-item:hover img { transform: scale(1.06); }
    .gallery-caption {
      position: absolute;
      left: 16px;
      bottom: 16px;
      right: 16px;
      background: rgba(17,17,17,.66);
      backdrop-filter: blur(10px);
      color: #fff;
      border-radius: 16px;
      padding: 13px 15px;
      font-size: 13px;
      font-weight: 800;
    }

    .gallery-more {
      margin-top: 34px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      padding: 24px 28px;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255,255,255,.62);
      box-shadow: var(--shadow-soft);
    }
    .gallery-more p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      max-width: 720px;
    }

    .gallery-caption span {
      display: block;
      color: rgba(255,255,255,.68);
      font-size: 11px;
      letter-spacing: .12em;
      text-transform: uppercase;
      margin-top: 2px;
    }

    .about {
      background: #fff;
    }
    .about-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 42px;
      align-items: center;
    }
    .about-image {
      border-radius: 30px;
      overflow: hidden;
      box-shadow: var(--shadow);
      min-height: 480px;
    }
    .about-image img {
      width: 100%;
      height: 100%;
      min-height: 480px;
      object-fit: cover;
    }
    .about h2 {
      font-size: clamp(34px, 5vw, 58px);
      line-height: 1;
      letter-spacing: -.055em;
      margin: 14px 0 22px;
    }
    .about p {
      color: var(--muted);
      font-size: 17px;
      margin: 0 0 17px;
    }

    .cta {
      background: var(--dark);
      color: #fff;
      padding: 92px 0;
    }
    .cta-box {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 36px;
      align-items: start;
    }
    .cta h2 {
      margin: 14px 0 18px;
      font-size: clamp(36px, 5vw, 64px);
      line-height: 1;
      letter-spacing: -.06em;
    }
    .cta p { color: rgba(255,255,255,.7); font-size: 18px; }
    .form {
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 28px;
      padding: 28px;
      display: grid;
      gap: 14px;
    }
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    input, select, textarea {
      width: 100%;
      min-height: 52px;
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,.16);
      background: rgba(255,255,255,.08);
      color: #fff;
      padding: 0 16px;
      font: inherit;
      outline: 0;
    }
    option { color: #111; }
    textarea { padding-top: 14px; min-height: 126px; resize: vertical; }
    input::placeholder, textarea::placeholder { color: rgba(255,255,255,.55); }
    .form small { color: rgba(255,255,255,.55); }

    footer {
      background: #0b0b0b;
      color: rgba(255,255,255,.72);
      padding: 44px 0;
      font-size: 14px;
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: 26px;
      align-items: start;
    }
    footer b { color: #fff; }
    footer a { color: rgba(255,255,255,.72); }
    footer a:hover { color: #fff; }
    footer span {
      color: rgba(255,255,255,.48);
      font-size: 13px;
    }
    .footer-icon-logo {
      width: 64px;
      height: 64px;
      object-fit: contain;
      display: block;
      margin: 0 0 14px;
    }
    .legal {
      border-top: 1px solid rgba(255,255,255,.1);
      margin-top: 30px;
      padding-top: 20px;
      display: flex;
      gap: 18px;
      flex-wrap: wrap;
    }

    .reveal {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity .65s ease, transform .65s ease;
    }
    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (max-width: 980px) {
      nav ul { display: none; }
      .mobile-note { display: block; }
      .hero-grid, .section-head, .target-layout, .process-grid, .about-grid, .cta-box, .footer-grid {
        grid-template-columns: 1fr;
      }
      .hero-image, .hero-image img { min-height: 470px; }
      .trust-grid { grid-template-columns: 1fr 1fr; }
      .cards { grid-template-columns: 1fr 1fr; }
      .gallery-grid { grid-template-columns: 1fr 1fr; }
      .gallery-item.wide { grid-column: span 1; }
    }

    @media (max-width: 640px) {
      .container { width: min(100% - 26px, 1160px); }
      .nav { min-height: 70px; }
      .brand-icon-logo { width: 42px; height: 42px; }
      .brand-text { font-size: 15px; }
      .brand-text small { font-size: 9px; }
      .stat strong { white-space: normal; font-size: 20px; }
      .stat span { max-width: none; }
      .hero { padding: 46px 0 66px; }
      .stats, .trust-grid, .cards, .target-grid, .gallery-grid, .form-row {
        grid-template-columns: 1fr;
      }
      .hero-image, .hero-image img { min-height: 380px; }
      .badge { width: 120px; height: 120px; font-size: 11px; }
      section { padding: 68px 0; }
      .card-img { height: 250px; }
      .card-body { min-height: auto; }
      .gallery-more { flex-direction: column; align-items: flex-start; }
    }
  

/* WordPress / Theme additions */
.admin-bar header { top: 32px; }
@media (max-width: 782px) { .admin-bar header { top: 46px; } }
.wp-block-image img { border-radius: var(--radius); }
.legal-page {
  width: min(920px, calc(100% - 40px));
  margin: 70px auto;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(28px, 5vw, 56px);
  box-shadow: var(--shadow-soft);
}
.legal-page h1 { font-size: clamp(40px, 6vw, 72px); line-height: .95; letter-spacing: -.06em; margin: 0 0 28px; }
.legal-page h2 { font-size: 24px; margin: 38px 0 10px; letter-spacing: -.025em; }
.legal-page p, .legal-page li { color: var(--muted); }
.legal-page a { color: var(--sand-dark); font-weight: 800; }
.content-page { padding: 90px 0; }
.content-page .container { max-width: 920px; }
.content-page h1 { font-size: clamp(40px, 6vw, 72px); line-height: .95; letter-spacing: -.06em; }

/* WPForms styling: Formular-Klasse in WPForms: feuerpfeil-contact-form */
.feuerpfeil-form-wrap .wpforms-container,
.feuerpfeil-form-wrap .wpforms-container-full { margin: 0 !important; }
.feuerpfeil-form-wrap .wpforms-field { padding: 0 0 14px !important; }
.feuerpfeil-form-wrap .wpforms-field-label { color: rgba(255,255,255,.82) !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.feuerpfeil-form-wrap input,
.feuerpfeil-form-wrap select,
.feuerpfeil-form-wrap textarea {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  padding: 0 16px !important;
  font: inherit !important;
  box-shadow: none !important;
}
.feuerpfeil-form-wrap textarea { min-height: 126px !important; padding-top: 14px !important; }
.feuerpfeil-form-wrap input::placeholder,
.feuerpfeil-form-wrap textarea::placeholder { color: rgba(255,255,255,.55) !important; }
.feuerpfeil-form-wrap .wpforms-field-description { color: rgba(255,255,255,.58) !important; font-size: 13px !important; }
.feuerpfeil-form-wrap button[type="submit"],
.feuerpfeil-form-wrap input[type="submit"],
.feuerpfeil-submit-button {
  width: 100% !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--sand) !important;
  color: #fff !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}
.feuerpfeil-form-wrap button[type="submit"]:hover,
.feuerpfeil-form-wrap input[type="submit"]:hover { background: var(--sand-dark) !important; }
.feuerpfeil-form-wrap .wpforms-error { color: #ffd2d2 !important; }
.feuerpfeil-form-wrap .wpforms-confirmation-container-full { background: rgba(255,255,255,.09) !important; border: 1px solid rgba(255,255,255,.18) !important; color: #fff !important; border-radius: 16px !important; }


/* Header-Fix V1.1.2: Anpassung an die HTML-Vorschau */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(247, 244, 239, .92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(231, 223, 211, .95);
}

.site-header .nav {
  min-height: 92px;
  display: grid;
  grid-template-columns: 280px 1fr 230px;
  align-items: center;
  gap: 28px;
}

.site-header .brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  overflow: visible;
  color: var(--ink);
}

.site-header .brand img,
.site-header .brand .custom-logo,
.site-header .brand-icon-logo {
  width: 58px !important;
  height: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  object-fit: contain !important;
  flex: 0 0 58px !important;
  display: block !important;
}

.site-header .brand span {
  display: block;
  line-height: 1.02;
}

.site-header .brand strong {
  display: block;
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 950;
  white-space: nowrap;
}

.site-header .brand small {
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 900;
  margin-top: 7px;
  white-space: nowrap;
}

.site-header .main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  white-space: nowrap;
}

.site-header .main-nav a {
  color: #3f3b36;
  font-size: 17px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.015em;
  text-decoration: none;
}

.site-header .main-nav a:hover {
  color: var(--sand-dark);
}

.site-header .header-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 32px;
  border-radius: 999px;
  border: 1px solid rgba(23, 23, 23, .18);
  background: rgba(255, 255, 255, .72);
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.015em;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(23, 23, 23, .04);
}

.site-header .header-cta:hover {
  border-color: var(--sand-dark);
  color: var(--sand-dark);
}

@media (max-width: 980px) {
  .site-header .nav {
    min-height: 82px;
    display: flex;
    justify-content: space-between;
  }

  .site-header .main-nav {
    display: none;
  }

  .site-header .header-cta {
    min-height: 48px;
    padding: 0 20px;
    font-size: 14px;
  }

  .site-header .brand img,
  .site-header .brand .custom-logo,
  .site-header .brand-icon-logo {
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
    max-height: 50px !important;
    flex-basis: 50px !important;
  }

  .site-header .brand strong {
    font-size: 20px;
  }

  .site-header .brand small {
    font-size: 11px;
  }
}

@media (max-width: 560px) {
  .site-header .header-cta {
    display: none;
  }
}


/* Layout-Abgleich V1.1.3 zur HTML-Vorschau */
.gallery-more.gallery-more-clean {
  justify-content: flex-end;
}

.form .placeholder-form {
  display: grid;
  gap: 14px;
}

.form .placeholder-form .btn {
  width: 100%;
  min-height: 58px;
  border: 0;
}

.form input[type="file"] {
  padding: 13px 16px;
}

.footer-brand {
  display: grid;
  gap: 14px;
}

.footer-brand img,
.footer-brand .custom-logo {
  width: 64px !important;
  height: 64px !important;
  max-width: 64px !important;
  max-height: 64px !important;
  object-fit: contain;
}

.footer-brand b {
  display: block;
}

.legal {
  justify-content: space-between;
}

/* Falls JavaScript nicht geladen wird, bleibt die Seite trotzdem sichtbar. */
.no-js .reveal {
  opacity: 1;
  transform: none;
}


/* Formular-Fix V1.1.4: DSGVO-Feld, Links, Checkboxen und Bestätigungstext */
.feuerpfeil-form-wrap {
  color: #fff;
}

.feuerpfeil-form-wrap a,
.feuerpfeil-form-wrap .wpforms-field-label a,
.feuerpfeil-form-wrap .wpforms-field-description a {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  font-weight: 800;
}

.feuerpfeil-form-wrap .wpforms-confirmation-container,
.feuerpfeil-form-wrap .wpforms-confirmation-container-full,
.feuerpfeil-form-wrap div.wpforms-confirmation-container-full,
.feuerpfeil-form-wrap .forminator-response-message,
.feuerpfeil-form-wrap .wpcf7-response-output {
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  border-radius: 18px !important;
  padding: 18px 22px !important;
  margin: 0 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}

.feuerpfeil-form-wrap .wpforms-confirmation-container p,
.feuerpfeil-form-wrap .wpforms-confirmation-container-full p,
.feuerpfeil-form-wrap .forminator-response-message p,
.feuerpfeil-form-wrap .wpcf7-response-output p {
  color: #fff !important;
  margin: 0 !important;
}

.feuerpfeil-form-wrap .wpforms-field-checkbox,
.feuerpfeil-form-wrap .wpforms-field-gdpr-checkbox {
  padding-top: 2px !important;
}

.feuerpfeil-form-wrap .wpforms-field-checkbox ul,
.feuerpfeil-form-wrap .wpforms-field-gdpr-checkbox ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.feuerpfeil-form-wrap .wpforms-field-checkbox li,
.feuerpfeil-form-wrap .wpforms-field-gdpr-checkbox li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255,255,255,.82) !important;
}

.feuerpfeil-form-wrap .wpforms-field-checkbox input[type="checkbox"],
.feuerpfeil-form-wrap .wpforms-field-gdpr-checkbox input[type="checkbox"],
.feuerpfeil-form-wrap input[type="checkbox"] {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  padding: 0 !important;
  margin: 2px 0 0 !important;
  border-radius: 5px !important;
  accent-color: var(--sand) !important;
  flex: 0 0 22px !important;
  cursor: pointer;
}

.feuerpfeil-form-wrap .wpforms-field-checkbox label,
.feuerpfeil-form-wrap .wpforms-field-gdpr-checkbox label,
.feuerpfeil-form-wrap label.wpforms-field-label-inline {
  color: rgba(255,255,255,.82) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer;
}

.feuerpfeil-form-wrap input[type="number"] {
  appearance: auto;
}

/* Forminator-Basisstyling, falls du WPForms wegen File-Upload-Abo ersetzt */
.feuerpfeil-form-wrap .forminator-ui,
.feuerpfeil-form-wrap .forminator-row {
  margin: 0 0 14px !important;
}

.feuerpfeil-form-wrap .forminator-label,
.feuerpfeil-form-wrap .forminator-checkbox-label,
.feuerpfeil-form-wrap .wpcf7-list-item-label {
  color: rgba(255,255,255,.82) !important;
  font-weight: 700 !important;
}

.feuerpfeil-form-wrap .forminator-input,
.feuerpfeil-form-wrap .forminator-textarea,
.feuerpfeil-form-wrap .forminator-select2,
.feuerpfeil-form-wrap .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-checkbox):not(.wpcf7-acceptance) {
  width: 100% !important;
  min-height: 52px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  padding: 0 16px !important;
  font: inherit !important;
  box-shadow: none !important;
}

.feuerpfeil-form-wrap .forminator-button-submit,
.feuerpfeil-form-wrap .wpcf7-submit {
  width: 100% !important;
  min-height: 58px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--sand) !important;
  color: #fff !important;
  font-weight: 900 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}


/* Bildausschnitt-Fix V1.1.5:
   Die wichtigsten Bildcontainer bekommen feste Seitenverhältnisse.
   Wenn ein Bild exakt in diesem Verhältnis vorbereitet wird, wird nichts mehr unerwartet abgeschnitten. */
.hero-image {
  aspect-ratio: 8 / 5;
  min-height: 0 !important;
}

.hero-image img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center center;
}

.target-image {
  aspect-ratio: 8 / 5;
  min-height: 0 !important;
}

.target-image img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center center;
}

.card-img {
  aspect-ratio: 4 / 3;
  height: auto !important;
}

.card-img img {
  height: 100% !important;
  object-fit: cover;
  object-position: center center;
}

.gallery-item {
  aspect-ratio: 4 / 3;
  min-height: 0 !important;
}

.gallery-item img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center center;
}

.about-image {
  aspect-ratio: 7 / 5;
  min-height: 0 !important;
}

.about-image img {
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover;
  object-position: center center;
}

.process-images img {
  aspect-ratio: 4 / 3;
  height: auto !important;
  object-fit: cover;
  object-position: center center;
}

/* Optional nutzbare Klassen, falls einzelne Bilder später bewusst anders positioniert werden sollen. */
.img-pos-left img { object-position: left center !important; }
.img-pos-center img { object-position: center center !important; }
.img-pos-right img { object-position: right center !important; }
.img-pos-top img { object-position: center top !important; }
.img-pos-bottom img { object-position: center bottom !important; }


/* Digitale Auftragsfreigabe – V1.1.7 */
.ff-approval-page {
  background: #f6f1e9;
}

.ff-approval-hero {
  padding: clamp(48px, 8vw, 86px) 0;
}

.ff-approval-container {
  max-width: 980px;
}

.ff-approval-intro {
  max-width: 760px;
  margin-bottom: 28px;
}

.ff-approval-intro h1 {
  margin: 0 0 16px;
  font-size: clamp(42px, 7vw, 76px);
  line-height: .95;
  letter-spacing: -.06em;
}

.ff-approval-intro p:not(.eyebrow) {
  color: rgba(29, 27, 25, .72);
  font-size: clamp(17px, 2.2vw, 21px);
  line-height: 1.55;
}

.ff-approval-form {
  display: grid;
  gap: 18px;
}

.ff-form-card {
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(160, 130, 88, .24);
  border-radius: 26px;
  padding: clamp(22px, 4vw, 34px);
  box-shadow: 0 16px 46px rgba(27, 24, 21, .07);
}

.ff-form-card h2 {
  margin: 0 0 18px;
  font-size: clamp(22px, 3vw, 31px);
  letter-spacing: -.04em;
}

.ff-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ff-form-grid p {
  margin: 0;
}

.ff-approval-form label {
  color: #292622;
  font-weight: 800;
}

.ff-approval-form input[type="text"],
.ff-approval-form input[type="email"] {
  width: 100%;
  margin-top: 8px;
  border: 1px solid rgba(160, 130, 88, .28);
  border-radius: 16px;
  padding: 14px 15px;
  font: inherit;
  background: #fff;
  color: #1d1b19;
}

.ff-approval-form input:focus {
  outline: 2px solid rgba(160, 130, 88, .32);
  border-color: rgba(160, 130, 88, .7);
}

.ff-checkline,
.ff-radio-card {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 14px;
  align-items: start;
  padding: 17px 18px;
  border: 1px solid rgba(160, 130, 88, .25);
  border-radius: 18px;
  background: rgba(246, 241, 233, .52);
  margin: 12px 0;
}

.ff-checkline input,
.ff-radio-card input {
  margin-top: 4px;
  width: 18px;
  height: 18px;
  accent-color: #a08258;
}

.ff-checkline span,
.ff-radio-card span {
  color: rgba(29, 27, 25, .74);
  font-weight: 500;
  line-height: 1.55;
}

.ff-checkline strong,
.ff-radio-card strong {
  display: block;
  color: #1d1b19;
  font-weight: 900;
  margin-bottom: 4px;
}

.ff-card-hint {
  color: rgba(29, 27, 25, .62);
  font-weight: 700;
  margin: 0 0 10px;
}

.ff-approval-submit {
  justify-self: start;
  border: 0;
  border-radius: 999px;
  padding: 17px 28px;
  background: #1f1d1a;
  color: #fff;
  font-weight: 900;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 16px 38px rgba(29, 27, 25, .18);
}

.ff-approval-submit:hover {
  transform: translateY(-1px);
}

.ff-form-message {
  border-radius: 22px;
  padding: 20px 22px;
  margin: 0 0 22px;
  font-weight: 700;
}

.ff-form-message p {
  margin: 0;
}

.ff-form-message ul {
  margin: 10px 0 0;
}

.ff-form-success {
  background: #edf8ef;
  border: 1px solid #b8e0bf;
  color: #1f5d2a;
}

.ff-form-error {
  background: #fff4ef;
  border: 1px solid #efc3ad;
  color: #7d2d17;
}

.ff-honeypot {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

@media (max-width: 760px) {
  .ff-form-grid {
    grid-template-columns: 1fr;
  }

  .ff-checkline,
  .ff-radio-card {
    grid-template-columns: 22px 1fr;
    padding: 15px;
  }
}


/* Integriertes Anfrageformular + Turnstile – V1.1.9 */
.feuerpfeil-integrated-form .ff-contact-form p {
  margin: 0 0 14px;
}

.feuerpfeil-integrated-form label {
  display: block;
  font-weight: 850;
  color: rgba(255,255,255,.92);
  margin-bottom: 7px;
}

.feuerpfeil-integrated-form input[type="text"],
.feuerpfeil-integrated-form input[type="email"],
.feuerpfeil-integrated-form input[type="file"],
.feuerpfeil-integrated-form select,
.feuerpfeil-integrated-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  padding: 13px 14px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font: inherit;
}

.feuerpfeil-integrated-form input[type="file"] {
  color: rgba(255,255,255,.78);
}

.feuerpfeil-integrated-form select option {
  color: #171717;
}

.feuerpfeil-integrated-form textarea {
  min-height: 140px;
  resize: vertical;
}

.feuerpfeil-integrated-form small {
  display: block;
  margin-top: 7px;
  color: rgba(255,255,255,.62);
  line-height: 1.45;
}

.ff-contact-consent {
  margin: 12px 0 16px;
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
}

.ff-contact-consent span {
  color: rgba(255,255,255,.78);
}

.ff-contact-consent a {
  color: #f1d7a5;
  font-weight: 900;
}

.ff-turnstile-wrap {
  margin: 16px 0 18px;
}

.ff-turnstile-missing {
  border: 1px solid rgba(255, 204, 120, .45);
  background: rgba(255, 204, 120, .12);
  color: #ffd18a;
  border-radius: 16px;
  padding: 14px 16px;
  font-weight: 800;
}

.ff-approval-form .ff-turnstile-wrap {
  margin-top: 4px;
}

.ff-form-message {
  border-radius: 20px;
  padding: 16px 18px;
  margin-bottom: 16px;
  font-weight: 750;
}

.ff-form-message p {
  margin: 0;
}

.ff-form-message ul {
  margin: 10px 0 0;
}

.ff-form-success {
  background: #edf8ef;
  border: 1px solid #b8e0bf;
  color: #1f5d2a;
}

.ff-form-error {
  background: #fff4ef;
  border: 1px solid #efc3ad;
  color: #7d2d17;
}

.ff-honeypot {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  overflow: hidden;
}


/* Lokale Sicherheitsfrage – V1.1.10 */
.ff-local-security {
  margin: 16px 0 18px;
  border: 1px solid rgba(160, 130, 88, .28);
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(255,255,255,.08);
}

.ff-local-security label {
  display: block;
  font-weight: 900;
  margin-bottom: 8px;
}

.ff-local-security-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ff-local-security-row span {
  font-weight: 900;
  color: inherit;
}

.ff-local-security-row input[type="number"] {
  max-width: 120px;
}

.ff-local-security small {
  display: block;
  margin-top: 8px;
  opacity: .75;
}

.ff-approval-form .ff-local-security {
  background: rgba(246,241,233,.52);
}

.ff-approval-form .ff-local-security label,
.ff-approval-form .ff-local-security-row span {
  color: #1d1b19;
}


/* Formular-Erfolg und unsichtbarer Basisschutz – V1.1.12 */
.ff-local-security-hidden {
  display: none !important;
}

.ff-form-success-big {
  background: rgba(237, 248, 239, .98);
  border: 1px solid #b8e0bf;
  color: #1f5d2a;
  padding: 26px;
}

.ff-form-success-big h3 {
  margin: 0 0 10px;
  color: #1f5d2a;
  font-size: clamp(24px, 3vw, 34px);
  letter-spacing: -.035em;
}

.ff-form-success-big .ff-next-step {
  margin-top: 10px;
}

.ff-form-success-big .ff-back-home {
  display: inline-flex;
  margin-top: 14px;
  background: #1f5d2a;
  color: #fff;
}

.feuerpfeil-integrated-form .ff-form-success-big {
  background: rgba(237, 248, 239, .98);
  color: #1f5d2a;
}

.feuerpfeil-integrated-form .ff-form-success-big p {
  color: #1f5d2a;
}


/* Formular-Redirect-Fix – V1.1.13 */
.cta:target {
  scroll-margin-top: 150px;
}

.ff-form-success-big {
  min-height: 220px;
  display: block;
}

.ff-form-error {
  min-height: 120px;
}


/* Anfrage-Erfolgsmeldung an Auftragsfreigabe angepasst – V1.1.14 */
.feuerpfeil-integrated-form .ff-inquiry-success-match,
.ff-inquiry-success-match {
  background: #edf8ef;
  border: 1px solid #b8e0bf;
  color: #1f5d2a;
  border-radius: 22px;
  padding: 20px 22px;
  margin: 0 0 22px;
  font-weight: 800;
  min-height: 0;
  box-shadow: none;
}

.feuerpfeil-integrated-form .ff-inquiry-success-match p,
.ff-inquiry-success-match p {
  margin: 0;
  color: #1f5d2a;
  font-weight: 800;
  line-height: 1.5;
}

.ff-inquiry-success-match h3,
.ff-inquiry-success-match .ff-next-step,
.ff-inquiry-success-match .ff-back-home {
  display: none;
}


/* Anfrageformular – feinere Typografie und schlankere Felder – V1.1.15 */
.cta .form.feuerpfeil-form-wrap {
  padding: clamp(26px, 3vw, 36px);
}

.feuerpfeil-integrated-form .ff-contact-form {
  font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.feuerpfeil-integrated-form label {
  display: block;
  margin-bottom: 7px;
  font-size: 15px;
  line-height: 1.25;
  font-weight: 760;
  letter-spacing: -.01em;
  color: rgba(255,255,255,.86);
}

.feuerpfeil-integrated-form .form-row {
  gap: 14px;
  margin-bottom: 13px;
}

.feuerpfeil-integrated-form .form-row p {
  margin: 0;
}

.feuerpfeil-integrated-form p {
  margin: 0 0 13px;
}

.feuerpfeil-integrated-form input[type="text"],
.feuerpfeil-integrated-form input[type="email"],
.feuerpfeil-integrated-form input[type="file"],
.feuerpfeil-integrated-form select,
.feuerpfeil-integrated-form textarea {
  min-height: 48px;
  border-radius: 14px;
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.075);
  color: rgba(255,255,255,.94);
  font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -.01em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.feuerpfeil-integrated-form textarea {
  min-height: 122px;
  padding-top: 13px;
}

.feuerpfeil-integrated-form select {
  appearance: auto;
}

.feuerpfeil-integrated-form input::placeholder,
.feuerpfeil-integrated-form textarea::placeholder {
  color: rgba(255,255,255,.42);
  font-weight: 440;
}

.feuerpfeil-integrated-form input[type="text"]:focus,
.feuerpfeil-integrated-form input[type="email"]:focus,
.feuerpfeil-integrated-form input[type="file"]:focus,
.feuerpfeil-integrated-form select:focus,
.feuerpfeil-integrated-form textarea:focus {
  outline: none;
  border-color: rgba(194,165,123,.78);
  background: rgba(255,255,255,.105);
  box-shadow: 0 0 0 3px rgba(194,165,123,.16);
}

.feuerpfeil-integrated-form input[type="file"] {
  padding: 10px 12px;
  color: rgba(255,255,255,.72);
}

.feuerpfeil-integrated-form small {
  margin-top: 6px;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.56);
}

.feuerpfeil-integrated-form .ff-contact-consent {
  margin: 13px 0 15px;
  padding: 13px 14px;
  border-radius: 15px;
}

.feuerpfeil-integrated-form .ff-contact-consent span {
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 500;
  color: rgba(255,255,255,.68);
}

.feuerpfeil-integrated-form .ff-contact-consent input {
  margin-top: 2px;
}

.feuerpfeil-integrated-form .btn.light {
  min-height: 48px;
  padding: 13px 20px;
  font-size: 15px;
  font-weight: 820;
}

@media (max-width: 760px) {
  .cta .form.feuerpfeil-form-wrap {
    padding: 22px;
  }

  .feuerpfeil-integrated-form label {
    font-size: 14.5px;
  }

  .feuerpfeil-integrated-form input[type="text"],
  .feuerpfeil-integrated-form input[type="email"],
  .feuerpfeil-integrated-form input[type="file"],
  .feuerpfeil-integrated-form select,
  .feuerpfeil-integrated-form textarea {
    font-size: 15px;
    min-height: 46px;
  }
}


/* Anfrage-Bestätigung – feinere Optik passend zum Formular – V1.1.16 */
.cta .form.feuerpfeil-form-wrap .ff-inquiry-success-match,
.feuerpfeil-integrated-form .ff-inquiry-success-match,
.ff-inquiry-success-match {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 18px 20px;
  border-radius: 16px;
  background: rgba(237, 248, 239, .96);
  border: 1px solid rgba(184, 224, 191, .88);
  color: #1f5d2a;
  box-shadow: none;
  font-family: Inter, Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.cta .form.feuerpfeil-form-wrap .ff-inquiry-success-match p,
.feuerpfeil-integrated-form .ff-inquiry-success-match p,
.ff-inquiry-success-match p {
  margin: 0;
  max-width: 720px;
  color: #1f5d2a;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 720;
  letter-spacing: -.012em;
}

@media (max-width: 760px) {
  .cta .form.feuerpfeil-form-wrap .ff-inquiry-success-match,
  .feuerpfeil-integrated-form .ff-inquiry-success-match,
  .ff-inquiry-success-match {
    padding: 16px 17px;
    border-radius: 15px;
  }

  .cta .form.feuerpfeil-form-wrap .ff-inquiry-success-match p,
  .feuerpfeil-integrated-form .ff-inquiry-success-match p,
  .ff-inquiry-success-match p {
    font-size: 15px;
  }
}


/* Zielgruppen-Bereich Layout-Fix – V1.1.19 */
.target-layout {
  grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr);
  align-items: stretch;
}

.target-image,
.target-grid {
  min-width: 0;
}

.target-image {
  width: 100%;
  max-width: 100%;
}

.target-image img {
  display: block;
  width: 100%;
  max-width: 100%;
}

.target-grid {
  position: relative;
  z-index: 1;
}

@media (max-width: 1100px) {
  .target-layout {
    grid-template-columns: 1fr;
  }

  .target-image {
    min-height: 380px;
  }

  .target-image img {
    min-height: 380px;
  }
}


/* Preisorientierung – V1.1.20 */
.price-guide {
  background: var(--bg);
  position: relative;
}

.price-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.price-card {
  background: rgba(255,255,255,.78);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
  box-shadow: var(--shadow-soft);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.price-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  border-color: rgba(156,128,91,.35);
}

.price-card-wide {
  grid-column: span 2;
}

.price-kicker {
  display: inline-flex;
  margin-bottom: 14px;
  color: var(--sand-dark);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.price-card h3 {
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -.035em;
}

.price-range {
  margin: 0 0 14px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -.025em;
}

.price-card p:not(.price-range) {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.62;
}

.price-note {
  margin-top: 24px;
  padding: 24px 28px;
  border: 1px solid rgba(156,128,91,.2);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.price-note p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.62;
}

@media (max-width: 1100px) {
  .price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .price-card-wide {
    grid-column: span 2;
  }
}

@media (max-width: 720px) {
  .price-grid {
    grid-template-columns: 1fr;
  }

  .price-card-wide {
    grid-column: span 1;
  }

  .price-note {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Preisorientierung Hinweisbox zentriert – V1.1.22 */
.price-note {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 18px;
}

.price-note p {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.price-note .btn {
  align-self: center;
  min-width: 240px;
  justify-content: center;
}
