/*
Theme Name: Purer Augenblick Child
Theme URI: https://purer-augenblick.de/
Description: Child Theme für Hello Elementor – umgesetzt nach dem PDF-Website-Grundgerüst.
Author: Purer Augenblick
Template: hello-elementor
Version: 2.4.0
Text Domain: purer-augenblick
*/

:root {
  --pa-paper: #FFFDF9;
  --pa-sand: #F3F0EB;
  --pa-ink: #292725;
  --pa-dark: #292622;
  --pa-muted: #726C65;
  --pa-accent: #C86F38;
  --pa-max: 1180px;
  --pa-pad: clamp(28px, 5vw, 72px);
}

html { scroll-behavior:smooth; }
body { margin:0; background:var(--pa-paper)!important; color:var(--pa-ink)!important; font-family:Helvetica, Arial, sans-serif!important; font-size:16px; line-height:1.5; }
body, button, input, textarea, select { -webkit-font-smoothing: antialiased; }
a { color:inherit; }
.pa-site-header .pa-nav a { color:var(--pa-ink)!important; }
.pa-site-header .pa-nav a:hover, .pa-site-header .pa-nav .current-menu-item > a, .pa-site-header .pa-nav .current-menu-ancestor > a, .pa-site-header .pa-nav .pa-active > a { color:var(--pa-accent)!important; }

/* Header – Elementor Free friendly: theme controlled */
.pa-site-header { background:var(--pa-paper); border:0; position:relative; z-index:1000; }
.pa-header-inner { max-width:var(--pa-max); margin:0 auto; padding:24px 28px; display:flex; align-items:center; justify-content:space-between; gap:40px; min-height:108px; }
.pa-brand img { display:block; width:310px; max-width:36vw; height:auto; }
.pa-nav ul { margin:0; padding:0; list-style:none; display:flex; align-items:center; gap:36px; }
.pa-nav li { position:relative; }
.pa-nav a { font-size:11px; text-transform:uppercase; text-decoration:none; letter-spacing:.035em; font-weight:600; white-space:nowrap; }
.pa-nav a:hover, .pa-nav .current-menu-item > a, .pa-nav .current-menu-ancestor > a, .pa-nav .pa-active > a { color:var(--pa-accent); }
.pa-nav .sub-menu { display:none; position:absolute; top:100%; left:-18px; min-width:210px; padding:14px 0; background:var(--pa-paper); box-shadow:0 12px 30px rgba(0,0,0,.08); gap:0; }
.pa-nav li:hover > .sub-menu, .pa-nav li:focus-within > .sub-menu { display:block; }
.pa-nav .sub-menu li a { display:block; padding:10px 18px; }
.pa-menu-toggle { display:none; border:0; background:transparent; width:44px; height:44px; cursor:pointer; padding:10px; }
.pa-menu-toggle span { display:block; height:1px; background:var(--pa-ink); margin:6px 0; }

/* Elementor canvas */
.pa-page { overflow:hidden; }
.pa-section { width:100%; }
.pa-inner { max-width:var(--pa-max); margin:0 auto; padding-left:28px; padding-right:28px; }
.pa-paper { background:var(--pa-paper); }
.pa-sand { background:var(--pa-sand); }
.pa-dark { background:var(--pa-dark); color:var(--pa-paper); }
.pa-page .pa-kicker, .pa-page .pa-kicker .elementor-heading-title, .pa-page .pa-card-kicker, .pa-page .pa-card-kicker .elementor-heading-title { font-family:Helvetica, Arial, sans-serif!important; text-transform:uppercase!important; letter-spacing:.08em!important; color:var(--pa-accent)!important; font-size:11px!important; line-height:1.2!important; font-weight:600!important; margin:0 0 18px; }
.pa-page .pa-heading .elementor-heading-title, .pa-page .pa-heading, .pa-page .pa-card-title .elementor-heading-title, .pa-page .pa-card-title { font-family:'Times New Roman', Times, serif!important; font-weight:400!important; letter-spacing:-.015em!important; color:var(--pa-ink)!important; }
.pa-page .pa-dark .pa-heading .elementor-heading-title, .pa-page .pa-dark .pa-heading, .pa-page .pa-gallery-dark .pa-heading .elementor-heading-title, .pa-page .pa-gallery-dark .pa-heading { color:var(--pa-paper)!important; }
.pa-heading-xl .elementor-heading-title { font-size:clamp(40px,4.2vw,68px)!important; line-height:.98!important; }
.pa-heading-lg .elementor-heading-title { font-size:clamp(34px,3.2vw,52px)!important; line-height:1.02!important; }
.pa-heading-md .elementor-heading-title { font-size:clamp(28px,2.3vw,38px)!important; line-height:1.08!important; }
.pa-page .pa-body, .pa-page .pa-body p, .pa-page .pa-small, .pa-page .pa-small p { font-family:Helvetica, Arial, sans-serif!important; color:var(--pa-ink)!important; }
.pa-body, .pa-body p { font-size:15px!important; line-height:1.48!important; }
.pa-small, .pa-small p { font-size:12px!important; line-height:1.45!important; }
.pa-page .pa-muted, .pa-page .pa-muted p { color:var(--pa-muted)!important; }
.pa-page .pa-dark .pa-body, .pa-page .pa-dark .pa-body p, .pa-page .pa-dark .pa-small, .pa-page .pa-dark .pa-small p, .pa-page .pa-gallery-dark .pa-body, .pa-page .pa-gallery-dark .pa-body p { color:#c9c1b8!important; }
.pa-page .pa-dark .pa-muted, .pa-page .pa-dark .pa-muted p { color:#c9c1b8!important; }

/* Elementor widgets reset */
.pa-page .elementor-widget-heading .elementor-heading-title { margin:0; }
.pa-page .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.pa-page .elementor-widget-text-editor p:first-child { margin-top:0; }

/* Buttons */
.pa-page .elementor-widget-button.pa-button .elementor-button, .pa-page .pa-button .elementor-button { background:var(--pa-paper)!important; color:var(--pa-ink)!important; border:1px solid var(--pa-paper)!important; border-radius:3px!important; padding:14px 25px!important; min-width:170px; font-size:10px!important; font-family:Arial,Helvetica,sans-serif!important; text-transform:uppercase; letter-spacing:.055em; font-weight:600!important; box-shadow:none!important; }
.pa-page .elementor-widget-button.pa-button-outline .elementor-button, .pa-page .pa-button-outline .elementor-button { background:transparent!important; color:var(--pa-paper)!important; border-color:rgba(255,255,255,.6)!important; }
.pa-page .elementor-widget-button.pa-button-dark .elementor-button, .pa-page .pa-button-dark .elementor-button { background:var(--pa-ink)!important; color:var(--pa-paper)!important; border-color:var(--pa-ink)!important; }
.pa-page .pa-button .elementor-button:hover { background:var(--pa-accent)!important; border-color:var(--pa-accent)!important; color:white!important; }

/* Hero */
.pa-hero { background:var(--pa-dark); color:var(--pa-paper); }
.pa-hero > .e-con-inner, .pa-hero.elementor-element { min-height:470px; }
.pa-hero-copy { padding:72px 0 68px; align-self:stretch; justify-content:center; }
.pa-hero-image { min-height:410px; position:relative; overflow:hidden; }
.pa-hero-image .elementor-widget-image, .pa-hero-image .elementor-widget-image .elementor-widget-container, .pa-hero-image img { height:100%; width:100%; }
.pa-hero-image img { object-fit:cover; display:block; }
.pa-image-label { position:absolute!important; bottom:0; left:0; width:100%; background:rgba(41,39,37,.45); padding:11px 15px!important; margin:0!important; color:var(--pa-paper)!important; z-index:4; }
.pa-image-label .elementor-heading-title { font-family:Arial,Helvetica,sans-serif!important; font-size:9px!important; line-height:1.2!important; font-weight:600!important; color:inherit!important; letter-spacing:.04em; text-transform:uppercase; }

/* Standard split/text sections */
.pa-split { padding-top:62px; padding-bottom:72px; }
.pa-split-copy { max-width:520px; }
.pa-section-head { padding-top:64px; padding-bottom:26px; }
.pa-section-head-tight { padding-top:60px; padding-bottom:16px; }

/* Cards */
.pa-cards { padding-bottom:70px; gap:14px!important; }
.pa-image-card .elementor-widget-image, .pa-image-card .elementor-widget-image .elementor-widget-container, .pa-image-card img { width:100%; height:100%; }
.pa-image-card img { object-fit:cover; display:block; }
.pa-card-overlay { position:absolute!important; left:0; right:0; bottom:0; padding:22px 22px 17px!important; background:linear-gradient(to top, rgba(30,28,26,.78), rgba(30,28,26,0)); color:var(--pa-paper); z-index:3; }
.pa-card-overlay .pa-card-kicker { color:#dbc4b2!important; margin-bottom:6px!important; font-size:9px!important; }
.pa-card-overlay .pa-card-title .elementor-heading-title { font-size:28px!important; line-height:1!important; color:var(--pa-paper)!important; }
.pa-card-overlay .pa-small, .pa-card-overlay .pa-small p { color:var(--pa-paper)!important; font-size:11px!important; margin-top:7px; }

/* Dark gallery */
.pa-gallery-dark { background:var(--pa-dark); color:var(--pa-paper); padding-top:58px; padding-bottom:58px; }
.pa-gallery-dark .pa-image-card img { min-height:0; }

/* Process cards */
.pa-process-row { gap:12px!important; padding-bottom:72px; }
.pa-process-card { border:1px solid #d8d1c9; border-radius:5px; padding:22px 18px 20px; min-height:var(--min-height, 150px); background:transparent; }
.pa-process-num .elementor-heading-title { font-family:'Times New Roman',Times,serif!important; color:var(--pa-accent)!important; font-weight:400!important; font-size:24px!important; }

/* audience rows */
.pa-audience-row { border-bottom:1px solid #d7d0c8; padding:14px 0; gap:18px!important; }
.pa-audience-key { font-weight:600; font-size:12px; }

/* CTA */
.pa-cta { background:var(--pa-sand); padding:42px 0; }
.pa-cta-dark { background:var(--pa-dark); color:var(--pa-paper); }
.pa-cta .pa-heading-md .elementor-heading-title { font-size:30px!important; }

.pa-footer { background:var(--pa-paper); color:var(--pa-muted); font-size:11px; }
.pa-footer-inner { max-width:var(--pa-max); margin:0 auto; padding:34px 28px; }

@media (max-width: 1024px) {
  .pa-header-inner { min-height:90px; }
  .pa-nav ul { gap:19px; }
  .pa-nav a { font-size:10px; }
  .pa-brand img { width:260px; }
  .pa-hero > .e-con-inner, .pa-hero.elementor-element { min-height:430px; }
}

@media (max-width: 767px) {
  .pa-header-inner { padding:16px 20px; min-height:78px; }
  .pa-brand img { width:235px; max-width:70vw; }
  .pa-menu-toggle { display:block; }
  .pa-nav { position:absolute; top:100%; left:0; right:0; background:var(--pa-paper); display:none; box-shadow:0 12px 25px rgba(0,0,0,.06); }
  .pa-nav.is-open { display:block; }
  .pa-nav ul { display:block; padding:12px 20px 22px; }
  .pa-nav li a { display:block; padding:12px 4px; font-size:11px; }
  .pa-nav .sub-menu { display:block; position:static; box-shadow:none; padding:0 0 5px 18px; background:transparent; min-width:0; }
  .pa-inner { padding-left:20px; padding-right:20px; }
  .pa-hero-copy { padding:54px 20px 44px!important; }
  .pa-hero-image { min-height:310px; }
  .pa-split { padding-top:46px; padding-bottom:48px; }
  .pa-section-head { padding-top:48px; padding-bottom:20px; }
  .pa-cards { padding-bottom:50px; }
  .pa-gallery-dark { padding-top:44px; padding-bottom:44px; }
  .pa-image-card img { min-height:0; }
  .pa-gallery-dark .pa-image-card img { min-height:0; }
  .pa-page .elementor-widget-button.pa-button .elementor-button, .pa-page .pa-button .elementor-button { min-width:150px; }
}


/* v1.1 – Elementor Free / Site Kit override */
.pa-page .elementor-widget-heading .elementor-heading-title { color:inherit!important; }
.pa-page .pa-heading .elementor-heading-title { color:var(--pa-ink)!important; }
.pa-page .pa-dark .pa-heading .elementor-heading-title,
.pa-page .pa-gallery-dark .pa-heading .elementor-heading-title { color:var(--pa-paper)!important; }
.pa-page .pa-kicker .elementor-heading-title,
.pa-page .pa-card-kicker .elementor-heading-title { color:var(--pa-accent)!important; }
.pa-page .pa-card-overlay .pa-card-kicker .elementor-heading-title { color:#dbc4b2!important; }
.pa-page .pa-card-overlay .pa-card-title .elementor-heading-title { color:var(--pa-paper)!important; }
.pa-page .pa-image-label .elementor-heading-title { color:var(--pa-paper)!important; }

/* PDF placeholders: shown even when Elementor cannot resolve the theme image URL.
   As soon as a real photo is selected in Elementor, the image remains visible. */
.pa-tone-blue .elementor-widget-container { background:linear-gradient(180deg,#81948f 0%,#718391 100%)!important; }
.pa-tone-green .elementor-widget-container { background:linear-gradient(180deg,#252421 0%,#6f8278 100%)!important; }
.pa-tone-slate .elementor-widget-container { background:linear-gradient(180deg,#252421 0%,#536575 100%)!important; }
.pa-tone-rose .elementor-widget-container { background:linear-gradient(180deg,#262321 0%,#9b6b70 100%)!important; }
.pa-tone-neutral .elementor-widget-container { background:linear-gradient(180deg,#2a2724 0%,#b8a58f 100%)!important; }
.pa-tone-warm .elementor-widget-container { background:linear-gradient(180deg,#292522 0%,#927455 100%)!important; }
.pa-tone-blue img[src*="placeholder"], .pa-tone-green img[src*="placeholder"],
.pa-tone-slate img[src*="placeholder"], .pa-tone-rose img[src*="placeholder"],
.pa-tone-neutral img[src*="placeholder"], .pa-tone-warm img[src*="placeholder"] { opacity:0!important; }

/* Ensure the PDF typography wins over Elementor's default global Primary/Accent colors */
.pa-page h1, .pa-page h2, .pa-page h3, .pa-page h4, .pa-page h5, .pa-page h6 { font-family:'Times New Roman', Times, serif; }
.pa-page .elementor-widget-text-editor, .pa-page .elementor-button { font-family:Helvetica, Arial, sans-serif; }


/* v1.2 – Feintuning nach Browservergleich mit PDF-Seite 5 */

/* Hero uses its own dark class, so force the same light typography as .pa-dark. */
.pa-page .pa-hero .pa-heading .elementor-heading-title,
.pa-page .pa-hero .pa-heading {
  color:var(--pa-paper)!important;
}
.pa-page .pa-hero .pa-body,
.pa-page .pa-hero .pa-body p,
.pa-page .pa-hero .pa-muted,
.pa-page .pa-hero .pa-muted p {
  color:#c9c1b8!important;
}

/* Keep desktop typography close to the PDF instead of scaling excessively on wide screens. */
.pa-page .pa-heading-xl .elementor-heading-title {
  font-size:50px!important;
  line-height:1.02!important;
}
.pa-page .pa-heading-lg .elementor-heading-title {
  font-size:42px!important;
  line-height:1.04!important;
}
.pa-page .pa-heading-md .elementor-heading-title {
  font-size:30px!important;
  line-height:1.08!important;
}
.pa-page .pa-card-overlay .pa-card-title .elementor-heading-title {
  font-size:24px!important;
}

/* Elementor may fail to resolve image URLs imported from a template on another WP install.
   The PDF placeholder gradients therefore live in CSS as a reliable fallback. A real photo
   selected later in the Image widget sits above this background automatically. */
.pa-image-card > .elementor-widget-image {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  z-index:1!important;
  margin:0!important;
}
.pa-image-card > .elementor-widget-image > .elementor-widget-container {
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.pa-image-card > .elementor-widget-image img {
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  z-index:2!important;
}
.pa-tone-blue > .elementor-widget-container { background-image:url('assets/images/blue.jpg')!important; }
.pa-tone-green > .elementor-widget-container { background-image:url('assets/images/green.jpg')!important; }
.pa-tone-slate > .elementor-widget-container { background-image:url('assets/images/slate.jpg')!important; }
.pa-tone-rose > .elementor-widget-container { background-image:url('assets/images/rose.jpg')!important; }
.pa-tone-neutral > .elementor-widget-container { background-image:url('assets/images/neutral.jpg')!important; }
.pa-tone-warm > .elementor-widget-container { background-image:url('assets/images/warm.jpg')!important; }

/* Hide only the original imported placeholder bitmap. When the user selects a real image
   in Elementor its URL changes and it becomes visible without any CSS editing. */
.pa-tone-blue img[src*="/purer-augenblick-child/assets/images/"],
.pa-tone-green img[src*="/purer-augenblick-child/assets/images/"],
.pa-tone-slate img[src*="/purer-augenblick-child/assets/images/"],
.pa-tone-rose img[src*="/purer-augenblick-child/assets/images/"],
.pa-tone-neutral img[src*="/purer-augenblick-child/assets/images/"],
.pa-tone-warm img[src*="/purer-augenblick-child/assets/images/"] {
  opacity:0!important;
}

/* The image widget no longer dictates the card height; the dimensions now follow the PDF blocks. */

/* Slightly tighter section rhythm, especially the photographic-area intro. */
.pa-section-head { padding-top:56px!important; padding-bottom:22px!important; }
.pa-cards { padding-bottom:58px!important; }
.pa-gallery-dark { padding-top:52px!important; padding-bottom:52px!important; }

@media (max-width: 1024px) {
  .pa-page .pa-heading-xl .elementor-heading-title { font-size:46px!important; }
  .pa-page .pa-heading-lg .elementor-heading-title { font-size:38px!important; }
}

@media (max-width: 767px) {
  .pa-page .pa-heading-xl .elementor-heading-title { font-size:38px!important; }
  .pa-page .pa-heading-lg .elementor-heading-title { font-size:34px!important; }
  .pa-page .pa-heading-md .elementor-heading-title { font-size:28px!important; }
  .pa-image-card,
  .pa-hero-mosaic > .pa-image-card,
  .pa-hero-stack > .pa-image-card,
  .pa-gallery-dark .pa-image-card,
}


/* v1.3 – Abgleich mit PDF-Seite 5: Seitenbreite, Flex-Verhältnisse und Platzhalterfarben */

/* Die PDF arbeitet mit ca. 86 % nutzbarer Seitenbreite. Auf großen Monitoren war das
   bisherige 1180-px-Raster deutlich zu schmal und erzeugte zu große Außenränder. */
@media (min-width: 1025px) {
  .pa-header-inner,
  .pa-page .pa-inner,
  .pa-footer-inner {
    width:86.2%!important;
    max-width:1550px!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Hero: Verhältnis wie in der Visualisierung. */
  .pa-hero > .pa-inner > .pa-hero-copy {
    flex:0 0 48%!important;
    width:48%!important;
    max-width:48%!important;
  }
  .pa-hero > .pa-inner > .pa-hero-mosaic {
    flex:0 0 52%!important;
    width:52%!important;
    max-width:52%!important;
  }
  .pa-hero-mosaic > .pa-image-card {
    flex:0 0 calc(58% - 3px)!important;
    width:calc(58% - 3px)!important;
    max-width:calc(58% - 3px)!important;
  }
  .pa-hero-mosaic > .pa-hero-stack {
    flex:0 0 calc(42% - 3px)!important;
    width:calc(42% - 3px)!important;
    max-width:calc(42% - 3px)!important;
  }

  /* Haltung: links etwas schmaler, rechts etwas breiter – entsprechend PDF. */
  .pa-sand .pa-split > .e-con:first-child {
    flex:0 0 46%!important;
    width:46%!important;
    max-width:46%!important;
  }
  .pa-sand .pa-split > .e-con:nth-child(2) {
    flex:0 0 54%!important;
    width:54%!important;
    max-width:54%!important;
  }

  /* Intro der fünf Bereiche. */
  .pa-section-head > .e-con:first-child {
    flex:0 0 58%!important;
    width:58%!important;
    max-width:58%!important;
  }
  .pa-section-head > .e-con:nth-child(2) {
    flex:0 0 42%!important;
    width:42%!important;
    max-width:42%!important;
  }

  /* Zwei große Karten oben: 58 / 42 wie in der PDF, nicht 50 / 50. */
  .pa-cards > .pa-cards-row:first-child > .pa-image-card:first-child {
    flex:0 0 calc(58% - 7px)!important;
    width:calc(58% - 7px)!important;
    max-width:calc(58% - 7px)!important;
  }
  .pa-cards > .pa-cards-row:first-child > .pa-image-card:nth-child(2) {
    flex:0 0 calc(42% - 7px)!important;
    width:calc(42% - 7px)!important;
    max-width:calc(42% - 7px)!important;
  }
  .pa-cards > .pa-cards-row:nth-child(2) > .pa-image-card {
    flex:1 1 0!important;
    width:auto!important;
    max-width:none!important;
  }

  /* Aktuelle Arbeiten: Text / Bilder sowie die beiden Bildbreiten. */
  .pa-gallery-dark .pa-inner > .e-con:first-child {
    flex:0 0 46%!important;
    width:46%!important;
    max-width:46%!important;
  }
  .pa-gallery-dark .pa-current-images {
    flex:0 0 54%!important;
    width:54%!important;
    max-width:54%!important;
  }
  .pa-current-images > .pa-image-card:first-child {
    flex:0 0 calc(62% - 4px)!important;
    width:calc(62% - 4px)!important;
    max-width:calc(62% - 4px)!important;
  }
  .pa-current-images > .pa-image-card:nth-child(2) {
    flex:0 0 calc(38% - 4px)!important;
    width:calc(38% - 4px)!important;
    max-width:calc(38% - 4px)!important;
  }

  /* Über mich: Bild kompakter, Text großzügiger. */
  .pa-paper .pa-split:has(> .pa-image-card) > .pa-image-card {
    flex:0 0 36%!important;
    width:36%!important;
    max-width:36%!important;
  }
  .pa-paper .pa-split:has(> .pa-image-card) > .e-con:not(.pa-image-card) {
    flex:0 0 64%!important;
    width:64%!important;
    max-width:64%!important;
  }

  /* CTA: Button wie in der PDF an die rechte Seite. */
  .pa-cta .pa-inner {
    justify-content:space-between!important;
    align-items:center!important;
  }
}

/* Die Platzhalterfarbe sitzt nun direkt auf der Kartenfläche. Damit funktioniert sie
   unabhängig davon, ob die beim Import enthaltene Bild-URL auf dieser WP-Installation
   existiert. Ein später in Elementor gewähltes echtes Foto liegt weiterhin darüber. */
.pa-image-card:has(.pa-tone-blue) {
  background:#6b7e7c!important;
  background-image:linear-gradient(180deg,#71847c 0%,#697c80 55%,#5f707b 100%)!important;
}
.pa-image-card:has(.pa-tone-green) {
  background:#42534c!important;
  background-image:linear-gradient(180deg,#292825 0%,#353b37 42%,#46574f 100%)!important;
}
.pa-image-card:has(.pa-tone-slate) {
  background:#3f4c54!important;
  background-image:linear-gradient(180deg,#292929 0%,#343a3e 42%,#465560 100%)!important;
}
.pa-image-card:has(.pa-tone-rose) {
  background:#674b45!important;
  background-image:linear-gradient(180deg,#332d2b 0%,#493a35 42%,#78554a 100%)!important;
}
.pa-image-card:has(.pa-tone-neutral) {
  background:#9f907f!important;
  background-image:linear-gradient(180deg,#5a5149 0%,#8d8072 48%,#c1b29f 100%)!important;
}
.pa-image-card:has(.pa-tone-warm) {
  background:#684a4e!important;
  background-image:linear-gradient(180deg,#332d2d 0%,#4d3a3e 45%,#765057 100%)!important;
}

/* Im Hero sind Rosé und Neutral deutlich heller als in den kleinen Karten. */
.pa-hero-stack > .pa-image-card:has(.pa-tone-rose) {
  background-image:linear-gradient(180deg,#39302f 0%,#62483f 45%,#8b624e 100%)!important;
}
.pa-hero-stack > .pa-image-card:has(.pa-tone-neutral) {
  background-image:linear-gradient(180deg,#958371 0%,#b6a491 55%,#c7b8a7 100%)!important;
}

/* Der graue Fallback der ersten Version darf die PDF-Farben nicht mehr überdecken. */
.pa-image-card { background-color:transparent; }

@media (max-width: 1024px) {
  .pa-header-inner,
  .pa-page .pa-inner,
  .pa-footer-inner {
    width:auto!important;
    max-width:none!important;
  }
}


/* v1.7 – sauberer Breitenaufbau ohne Eingriff in Elementors interne .e-con-inner.
   Die zugehörigen v3-Templates verwenden für alle .pa-inner-Container "Full Width".
   Dadurch kann die sichtbare Breite direkt am Container gesetzt werden, ohne verschachtelte
   Elementor-Wrapper zu überschreiben. Das verhindert die extremen Höhen/Überläufe aus v1.6. */
@media (min-width: 1025px) {
  .pa-header-inner,
  .pa-page .pa-inner,
  .pa-footer-inner {
    width:90%!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* Keine vererbbaren Elementor-Layoutvariablen überschreiben. */
  .pa-page .pa-inner {
    min-width:0!important;
  }
}

@media (min-width: 1800px) {
  /* Auf sehr breiten Monitoren bleiben nur rund 5 % Rand je Seite. */
  .pa-header-inner,
  .pa-page .pa-inner,
  .pa-footer-inner {
    width:92%!important;
  }
}


/* ================================================================
   v2.0 – Elementor Global Design System
   ---------------------------------------------------------------
   Farben und Typografie werden aus Elementors globalen Site Settings
   bezogen. Die PHP-Initialisierung in functions.php legt die Einträge
   einmalig an. Danach können sie in Elementor > Website-Einstellungen
   zentral geändert werden. Fallbacks sichern die Darstellung, falls
   Elementor deaktiviert ist oder ein Global noch nicht existiert.
   ================================================================ */

/* Elementor legt seine Global-Variablen auf body.elementor-kit-* ab.
   Deshalb spiegeln wir sie hier auf die bisherigen PA-Variablen. */
body {
  --pa-paper: var(--e-global-color-papaper, #FFFDF9);
  --pa-sand: var(--e-global-color-pasand, #F3F0EB);
  --pa-ink: var(--e-global-color-paink, #292725);
  --pa-dark: var(--e-global-color-padark, #292622);
  --pa-muted: var(--e-global-color-pamuted, #726C65);
  --pa-accent: var(--e-global-color-paaccent, #C86F38);
  --pa-light-text: var(--e-global-color-palighttext, #C9C1B8);
  --pa-line: var(--e-global-color-paline, #D8D1C9);
  --pa-card-accent: var(--e-global-color-pacardaccent, #DBC4B2);

  --pa-font-display: var(--e-global-typography-padisplay-font-family, "Times New Roman", Times, serif);
  --pa-font-body: var(--e-global-typography-pabody-font-family, Helvetica, Arial, sans-serif);
  --pa-font-kicker: var(--e-global-typography-pakicker-font-family, Helvetica, Arial, sans-serif);
  --pa-font-button: var(--e-global-typography-pabutton-font-family, Arial, Helvetica, sans-serif);
}

/* Header/Footer richten sich an Elementors globaler Inhaltsbreite aus.
   So reicht künftig die Einstellung Website-Einstellungen > Layout > Inhaltsbreite. */
.pa-header-inner,
.pa-footer-inner {
  max-width: var(--container-max-width, 1290px)!important;
  width: calc(100% - 56px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Die alten v1.3/v1.7 Desktop-Breiten sollen die Elementor-Inhaltsbreite
   nicht mehr übersteuern. Die eigentlichen Elementor-Container bleiben
   vollständig unter Elementors Kontrolle. */
@media (min-width:1025px) {
  .pa-page .pa-inner {
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* Globale Typografie */
body,
.pa-page .pa-body,
.pa-page .pa-body p,
.pa-page .pa-small,
.pa-page .pa-small p,
.pa-page .elementor-widget-text-editor {
  font-family: var(--pa-font-body)!important;
}

.pa-page .pa-heading,
.pa-page .pa-heading .elementor-heading-title,
.pa-page .pa-card-title,
.pa-page .pa-card-title .elementor-heading-title,
.pa-page .pa-process-num .elementor-heading-title,
.pa-cta .elementor-heading-title {
  font-family: var(--pa-font-display)!important;
  font-weight: var(--e-global-typography-padisplay-font-weight, 400)!important;
}

.pa-page .pa-kicker,
.pa-page .pa-kicker .elementor-heading-title,
.pa-page .pa-card-kicker,
.pa-page .pa-card-kicker .elementor-heading-title,
.pa-image-label .elementor-heading-title {
  font-family: var(--pa-font-kicker)!important;
  font-weight: var(--e-global-typography-pakicker-font-weight, 600)!important;
  letter-spacing: var(--e-global-typography-pakicker-letter-spacing, .08em)!important;
}

.pa-page .elementor-button {
  font-family: var(--pa-font-button)!important;
  font-weight: var(--e-global-typography-pabutton-font-weight, 600)!important;
  letter-spacing: var(--e-global-typography-pabutton-letter-spacing, .055em)!important;
}

/* Größen aus den Global Fonts. Die fallbacks entsprechen dem bisherigen Layout. */
.pa-page .pa-heading-xl .elementor-heading-title {
  font-size: var(--e-global-typography-padisplayxl-font-size, 50px)!important;
  line-height: var(--e-global-typography-padisplayxl-line-height, 1.02em)!important;
}
.pa-page .pa-heading-lg .elementor-heading-title {
  font-size: var(--e-global-typography-paheadinglg-font-size, 42px)!important;
  line-height: var(--e-global-typography-paheadinglg-line-height, 1.04em)!important;
}
.pa-page .pa-heading-md .elementor-heading-title {
  font-size: var(--e-global-typography-paheadingmd-font-size, 30px)!important;
  line-height: var(--e-global-typography-paheadingmd-line-height, 1.08em)!important;
}
.pa-page .pa-body,
.pa-page .pa-body p {
  font-size: var(--e-global-typography-pabody-font-size, 15px)!important;
  line-height: var(--e-global-typography-pabody-line-height, 1.48em)!important;
}
.pa-page .pa-small,
.pa-page .pa-small p {
  font-size: var(--e-global-typography-pasmall-font-size, 12px)!important;
  line-height: var(--e-global-typography-pasmall-line-height, 1.45em)!important;
}
.pa-page .pa-kicker .elementor-heading-title,
.pa-page .pa-card-kicker .elementor-heading-title {
  font-size: var(--e-global-typography-pakicker-font-size, 11px)!important;
  line-height: var(--e-global-typography-pakicker-line-height, 1.2em)!important;
}
.pa-page .elementor-button {
  font-size: var(--e-global-typography-pabutton-font-size, 10px)!important;
  line-height: var(--e-global-typography-pabutton-line-height, 1em)!important;
}

/* Globale Farben – alle bisherigen PA-Farben hängen nun an Elementor. */
body { background:var(--pa-paper)!important; color:var(--pa-ink)!important; }
.pa-site-header, .pa-footer, .pa-paper { background:var(--pa-paper)!important; }
.pa-sand, .pa-cta { background:var(--pa-sand)!important; }
.pa-dark, .pa-hero, .pa-gallery-dark, .pa-cta-dark { background:var(--pa-dark)!important; }

.pa-site-header .pa-nav a,
.pa-page .pa-heading,
.pa-page .pa-heading .elementor-heading-title,
.pa-page .pa-card-title,
.pa-page .pa-card-title .elementor-heading-title,
.pa-page .pa-body,
.pa-page .pa-body p,
.pa-page .pa-small,
.pa-page .pa-small p { color:var(--pa-ink)!important; }

.pa-page .pa-muted,
.pa-page .pa-muted p,
.pa-footer { color:var(--pa-muted)!important; }

.pa-page .pa-kicker,
.pa-page .pa-kicker .elementor-heading-title,
.pa-page .pa-card-kicker,
.pa-page .pa-card-kicker .elementor-heading-title,
.pa-page .pa-process-num,
.pa-page .pa-process-num .elementor-heading-title,
.pa-site-header .pa-nav a:hover,
.pa-site-header .pa-nav .current-menu-item > a,
.pa-site-header .pa-nav .current-menu-ancestor > a,
.pa-site-header .pa-nav .pa-active > a { color:var(--pa-accent)!important; }

/* Wichtig: diese Regel steht absichtlich NACH der allgemeinen Heading-Regel.
   Damit sind 01–04 nicht mehr schwarz, sondern folgen PA Akzent. */
.pa-page .pa-process-num .elementor-heading-title {
  color:var(--pa-accent)!important;
}

.pa-page .pa-dark .pa-body,
.pa-page .pa-dark .pa-body p,
.pa-page .pa-dark .pa-small,
.pa-page .pa-dark .pa-small p,
.pa-page .pa-gallery-dark .pa-body,
.pa-page .pa-gallery-dark .pa-body p,
.pa-page .pa-hero .pa-body,
.pa-page .pa-hero .pa-body p,
.pa-page .pa-hero .pa-muted,
.pa-page .pa-hero .pa-muted p { color:var(--pa-light-text)!important; }

.pa-page .pa-card-overlay .pa-card-kicker,
.pa-page .pa-card-overlay .pa-card-kicker .elementor-heading-title { color:var(--pa-card-accent)!important; }

.pa-process-card { border-color:var(--pa-line)!important; }
.pa-audience-row { border-bottom-color:var(--pa-line)!important; }

.pa-page .pa-dark .pa-heading,
.pa-page .pa-dark .pa-heading .elementor-heading-title,
.pa-page .pa-gallery-dark .pa-heading,
.pa-page .pa-gallery-dark .pa-heading .elementor-heading-title,
.pa-page .pa-hero .pa-heading,
.pa-page .pa-hero .pa-heading .elementor-heading-title,
.pa-page .pa-card-overlay .pa-card-title .elementor-heading-title,
.pa-image-label,
.pa-image-label .elementor-heading-title { color:var(--pa-paper)!important; }

.pa-page .elementor-widget-button.pa-button .elementor-button,
.pa-page .pa-button .elementor-button {
  background:var(--pa-paper)!important;
  color:var(--pa-ink)!important;
  border-color:var(--pa-paper)!important;
}
.pa-page .elementor-widget-button.pa-button-outline .elementor-button,
.pa-page .pa-button-outline .elementor-button {
  background:transparent!important;
  color:var(--pa-paper)!important;
  border-color:color-mix(in srgb, var(--pa-paper) 60%, transparent)!important;
}
.pa-page .elementor-widget-button.pa-button-dark .elementor-button,
.pa-page .pa-button-dark .elementor-button {
  background:var(--pa-ink)!important;
  color:var(--pa-paper)!important;
  border-color:var(--pa-ink)!important;
}
.pa-page .pa-button .elementor-button:hover {
  background:var(--pa-accent)!important;
  border-color:var(--pa-accent)!important;
  color:#fff!important;
}

@media (max-width:1024px) {
  .pa-header-inner,
  .pa-footer-inner {
    width:calc(100% - 40px)!important;
  }
}


/* v2.2 – Kombination aus v2.0 Designsystem und v2.1 Container-Höhensteuerung.
   Farben/Schriften bleiben global an Elementor gekoppelt; Kartenhöhen verwenden Elementors --min-height. */


/* v2.3 – Elementor owns container height.
   We no longer write min-height on .pa-image-card. We only provide a default
   --min-height value. Elementor's per-element generated rule has higher
   specificity, so Layout > Min. Höhe can override it normally. */

/* v2.4 – Elementor kontrolliert Kartenhöhen vollständig.
   WICHTIG: Elementor selbst verwendet die CSS-Variable --min-height für Container.
   Frühere Theme-Versionen haben dieselbe Variable benutzt und damit Elementors
   Layout-Regler blockiert. Das Theme setzt für .pa-image-card deshalb keinerlei
   --min-height bzw. min-height mehr. */
.pa-image-card,
.pa-hero-mosaic > .pa-image-card,
.pa-hero-stack > .pa-image-card,
.pa-gallery-dark .pa-image-card,
.pa-current-images .pa-image-card {
  /* absichtlich keine Höhenvorgabe */
}

/* Die Bild- und Overlay-Ebenen folgen nur der vom Elementor-Container bestimmten Höhe. */
.pa-image-card > .elementor-widget-image,
.pa-image-card > .elementor-widget-image > .elementor-widget-container,
.pa-image-card > .elementor-widget-image img {
  max-height:none!important;
}
