/*
Theme: Fernwehwerk v2 Step 1
Zweck: Bisheriges WordPress-Feld „Zusätzliches CSS“ als eigene Theme-Datei.
Wichtig: Diese Datei wird nach main.css geladen und bewahrt dadurch die bisherige Optik.
*/

/* =========================
   Blogübersicht
========================= */

.blog-page{
  background:#F9F7F4!important;
  padding:11rem 1.5rem 5rem!important;
}

.blog-hero{
  text-align:center!important;
  max-width:900px!important;
  margin:0 auto 4rem!important;
}

.blog-hero .section-title{
  color:#1A1A1A!important;
  opacity:1!important;
}

.blog-intro{
  max-width:620px!important;
  margin:1.5rem auto 0!important;
  color:#777!important;
  line-height:1.9!important;
}

.blog-grid{
  max-width:1100px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;
  gap:2rem!important;
}

.blog-card{
  background:#fff!important;
  border:1px solid #E8E3DB!important;
  border-radius:3px!important;
  padding:2rem!important;
  box-shadow:0 12px 36px rgba(0,0,0,.04)!important;
}

.blog-card img,
.blog-card .wp-post-image{
  width:100%!important;
  height:280px!important;
  object-fit:cover!important;
  display:block!important;
}

.blog-card h2{
  font-size:1.35rem!important;
  line-height:1.4!important;
  font-weight:400!important;
  margin-bottom:1rem!important;
}

.blog-card h2 a{
  color:#1A1A1A!important;
  text-decoration:none!important;
}

.blog-card p{
  color:#777!important;
  line-height:1.8!important;
  margin-bottom:1.3rem!important;
}

.blog-readmore{
  color:#B8924A!important;
  text-decoration:none!important;
  font-size:.72rem!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}


/* =========================
   Einzelbeitrag
========================= */

.single-post-page{
  background:#f8f6f3!important;
  padding:11rem 1.5rem 5rem!important;
}

.single-post-inner{
  max-width:900px!important;
  margin:0 auto!important;
  background:#fff!important;
  padding:3rem!important;
  border:1px solid #ece7df!important;
}

.single-post-content{
  margin-top:2rem!important;
  color:#666!important;
  line-height:1.9!important;
}

.single-post-content p{
  margin-bottom:1.4rem!important;
}

.single-post-footer{
  margin-top:3rem!important;
  padding-top:2rem!important;
  border-top:1px solid #ece7df!important;
}

.single-post-footer a{
  color:#b8924a!important;
  text-decoration:none!important;
  font-weight:600!important;
}


/* =========================
   Tour-Hero
========================= */

.single-post-content .wp-block-cover.tour-hero{
  min-height:520px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
}

/* Hero-Bild heller/ruhiger machen */
.single-post-content .wp-block-cover.tour-hero .wp-block-cover__background{
  background:
    linear-gradient(
      90deg,
      rgba(255,250,243,.96) 0%,
      rgba(255,250,243,.90) 34%,
      rgba(255,250,243,.68) 58%,
      rgba(255,250,243,.28) 100%
    )!important;
  opacity:1!important;
}

.single-post-content .tour-hero .wp-block-cover__inner-container{
  max-width:680px!important;
  margin-left:0!important;
  margin-right:auto!important;
  padding:4rem 3.8rem!important;
  text-align:left!important;
}

.single-post-content .tour-hero p:first-child{
  color:#B8924A!important;
  font-size:.72rem!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}

.single-post-content .tour-hero h1,
.single-post-content .tour-hero h2{
  color:#1A1A1A!important;
  font-size:clamp(2.2rem,4vw,3.2rem)!important;
  line-height:1.14!important;
  font-weight:400!important;
  margin:.8rem 0 1.2rem!important;
  max-width:560px!important;
}

.single-post-content .tour-hero p{
  color:#3f3933!important;
  line-height:1.8!important;
  font-size:.95rem!important;
  max-width:500px!important;
}

.hero-divider{
  color:#8B6A2E!important;
  font-size:18px!important;
  letter-spacing:2px!important;
  margin:1.3rem 0 1.5rem!important;
}

/* =========================
   Kurzinfos
========================= */

.single-post-content .wp-block-columns{
  gap:24px!important;
  margin-bottom:24px!important;
  position:relative!important;
  z-index:3!important;
}

.single-post-content .tour-hero + .wp-block-columns{
  margin-top:-2rem!important;
}

.single-post-content .tour-infobox{
  background:#fffaf3!important;
  border:1px solid #eadcc8!important;
  border-radius:12px!important;
  padding:26px 28px!important;
  min-height:150px!important;
  box-shadow:0 14px 34px rgba(184,146,74,.10)!important;
}

.single-post-content .tour-infobox p{
  margin:0!important;
  color:#6f6a63!important;
  line-height:1.75!important;
  font-size:.92rem!important;
}

.single-post-content .tour-infobox p:first-child{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#F1E2CB!important;
  color:#B8924A!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1.05rem!important;
  margin:0 0 1rem 0!important;
}

.single-post-content .tour-infobox strong{
  display:block!important;
  color:#B8924A!important;
  font-size:.72rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  margin-bottom:.65rem!important;
}


/* =========================
   Route
========================= */

.single-post-content .tour-stop{
  margin:4rem 0!important;
  gap:2rem!important;
  align-items:flex-start!important;
}

.single-post-content .tour-stop img{
  border-radius:6px!important;
  box-shadow:0 14px 34px rgba(0,0,0,.08)!important;
}

.single-post-content .tour-stop h2,
.single-post-content .tour-stop h3{
  font-weight:400!important;
  color:#1A1A1A!important;
  font-size:2rem!important;
  line-height:1.3!important;
  margin:0 0 14px!important;
}

.single-post-content .tour-stop p{
  color:#6f6a63!important;
  line-height:1.8!important;
  margin-bottom:14px!important;
}

.single-post-content .tour-number{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#F1E2CB!important;
  color:#B8924A!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-weight:700!important;
  margin-bottom:12px!important;
}

.single-post-content .tour-tip{
  background:#fffaf3!important;
  border:1px solid #eadcc8!important;
  border-radius:8px!important;
  padding:1rem 1.2rem!important;
  margin-top:18px!important;
  color:#6f6a63!important;
}


/* =========================
   Reiseerinnerung
========================= */

.single-post-content .tour-memory-box{
  background:linear-gradient(135deg,#fffaf3 0%,#fff8ef 100%)!important;
  border:1px solid #eadcc8!important;
  border-radius:18px!important;
  padding:2.4rem!important;
  margin:4rem 0!important;
  box-shadow:0 24px 60px rgba(184,146,74,.12)!important;
}

.single-post-content .tour-memory-box > .wp-block-columns{
  display:grid!important;
  grid-template-columns:320px minmax(0,1fr)!important;
  gap:3rem!important;
  align-items:center!important;
  margin:0!important;
  width:100%!important;
}

.single-post-content .tour-memory-box > .wp-block-columns > .wp-block-column{
  min-width:0!important;
  width:auto!important;
  flex-basis:auto!important;
  margin:0!important;
}

.single-post-content .tour-memory-box > .wp-block-columns > .wp-block-column:first-child,
.single-post-content .tour-memory-box > .wp-block-columns > .wp-block-column:last-child{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}

.single-post-content .tour-memory-box > .wp-block-columns > .wp-block-column:last-child{
  align-items:center!important;
  text-align:center!important;
}

.single-post-content .tour-memory-box img{
  width:100%!important;
  height:430px!important;
  object-fit:cover!important;
  border-radius:14px!important;
  display:block!important;
  box-shadow:0 18px 38px rgba(0,0,0,.10)!important;
}

.single-post-content .tour-memory-box p:first-of-type{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.8rem!important;
  color:#B8924A!important;
  font-size:.7rem!important;
  letter-spacing:.22em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
  margin:0 0 .9rem!important;
  text-align:center!important;
}

.single-post-content .tour-memory-box p:first-of-type:before,
.single-post-content .tour-memory-box p:first-of-type:after{
  content:"";
  display:block;
  width:38px;
  height:1px;
  background:#d9bd8a;
}

.single-post-content .tour-memory-box h2,
.single-post-content .tour-memory-box h3{
  font-family:"Cormorant Garamond","Georgia",serif!important;
  color:#1A1A1A!important;
  font-size:clamp(2.5rem,4vw,3.7rem)!important;
  font-weight:400!important;
  line-height:1.05!important;
  letter-spacing:-.03em!important;
  margin:0 auto .8rem!important;
  max-width:560px!important;
  text-align:center!important;
}

.single-post-content .tour-memory-box h2:after,
.single-post-content .tour-memory-box h3:after{
  content:"♥";
  display:block;
  color:#C9954E;
  font-size:1rem;
  margin:.9rem auto 1rem;
}

.single-post-content .tour-memory-box p{
  color:#6f6252!important;
  line-height:1.7!important;
  max-width:520px!important;
  margin:0 auto .8rem!important;
  text-align:center!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

.single-post-content .tour-memory-box blockquote{
  border:none!important;
  background:none!important;
  padding:0!important;
  margin:2rem auto 0!important;
  max-width:520px!important;
  text-align:center!important;
}

.single-post-content .tour-memory-box blockquote p{
  font-family:"Cormorant Garamond",serif!important;
  font-size:1.6rem!important;
  line-height:1.7!important;
  font-style:italic!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#5f584f!important;
  margin:0!important;
}

.single-post-content .tour-memory-box blockquote:before,
.single-post-content .tour-memory-box blockquote:after{
  display:none!important;
}

.single-post-content .tour-memory-box p:last-of-type{
  color:#C9954E!important;
  font-size:1.1rem!important;
  margin-top:1rem!important;
}

.single-post-content .tour-memory-box p:last-of-type:before,
.single-post-content .tour-memory-box p:last-of-type:after{
  content:"";
  display:inline-block;
  width:58px;
  height:1px;
  background:#d9bd8a;
  vertical-align:middle;
  margin:0 .9rem;
}


/* =========================
   Stellplatz-Empfehlungen
========================= */

.tour-camping{
  margin:4rem 0!important;
}

.tour-camping .wp-block-columns{
  gap:2rem!important;
}

.tour-camping .wp-block-column{
  background:#fffaf4!important;
  border:1px solid #eadcc8!important;
  border-radius:18px!important;
  overflow:hidden!important;
  box-shadow:0 12px 30px rgba(184,146,74,.08)!important;
  transition:.3s ease!important;
}

.tour-camping .wp-block-column:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 40px rgba(184,146,74,.14)!important;
}

.tour-camping img{
  width:100%!important;
  height:340px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;

}

.tour-camping .camp-icon{
  width:42px!important;
  height:42px!important;
  border-radius:50%!important;
  background:#f4ead9!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:1.2rem auto .8rem!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
}

.tour-camping .camp-icon:before{
  content:"⛺";
  font-size:18px!important;
  line-height:1!important;
}

.tour-camping .wp-block-column p:nth-of-type(2){
  padding:0 1.4rem!important;
  margin:.4rem 0 1rem!important;
  font-size:1.25rem!important;
  font-weight:500!important;
  color:#222!important;
  text-align:center!important;
}

.tour-camping .camp-features{
  list-style:none!important;
  padding:0 1.6rem!important;
  margin:.8rem 0 1rem!important;
}

.tour-camping .camp-features li{
  list-style:none!important;
  display:flex!important;
  align-items:flex-start!important;
  gap:.6rem!important;
  margin:.35rem 0!important;
  color:#5b5650!important;
  line-height:1.45!important;
}

.tour-camping .camp-features li::marker{
  content:""!important;
  color:transparent!important;
}

.tour-camping .camp-features li::before{
  content:""!important;
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  margin-top:.28rem!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a5a2b' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:10px 10px!important;
}
.tour-camping .wp-block-column p:not(.camp-icon):not(:nth-of-type(2)):not(:last-child){
  padding:0 1.4rem!important;
  color:#6f6252!important;
  line-height:1.7!important;
  font-size:.95rem!important;
  text-align:left!important;
}

.tour-camping .wp-block-column p:last-child{
  padding:0 1.4rem!important;
  margin:1.2rem 0 1.5rem!important;
  color:#B8924A!important;
  font-weight:600!important;
  text-align:left!important;
}


/* =========================
   Praktische Tipps
========================= */

.tour-practical-tips{
  margin:5rem 0!important;
}

.tour-practical-tips .wp-block-group__inner-container{
  display:flex!important;
  flex-direction:column!important;
  gap:1.8rem!important;
}

.tour-practical-tips .tip-card{
  background:#FDFBF8!important;
  border:1px solid #E7D9C4!important;
  border-radius:18px!important;
  padding:2rem 2rem 2rem 5.5rem!important;
  position:relative!important;
  transition:.25s ease!important;
}

.tour-practical-tips .tip-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.06)!important;
}

.tour-practical-tips .tip-card p:first-child{
  position:absolute!important;
  left:1.6rem!important;
  top:1.8rem!important;
  width:52px!important;
  height:52px!important;
  border-radius:50%!important;
  background:#F1E8D9!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1.4rem!important;
  margin:0!important;
}

.tour-practical-tips .tip-card h2{
  margin:0 0 .7rem!important;
  font-size:1.5rem!important;
  color:#1f1f1f!important;
}

.tour-practical-tips .tip-card h2:after{
  content:"";
  display:block;
  width:70px;
  height:2px;
  background:#C9A15C;
  margin-top:.8rem;
}

.tour-practical-tips .tip-card p:last-child{
  margin:0!important;
  color:#555!important;
  line-height:1.8!important;
}


/* =========================
   Mobil
========================= */

@media(max-width:768px){

  .single-post-page{
    padding:3rem .8rem 4rem!important;
  }

  .single-post-inner{
    padding:1.2rem!important;
  }

  .single-post-content{
    text-align:center!important;
  }

  .single-post-content .tour-hero{
    min-height:420px!important;
    text-align:center!important;
  }

  .single-post-content .tour-hero .wp-block-cover__inner-container{
    width:100%!important;
    max-width:100%!important;
    padding:1.6rem!important;
    text-align:center!important;
  }

  .single-post-content .tour-hero h1,
  .single-post-content .tour-hero h2{
    font-size:2rem!important;
    line-height:1.15!important;
    max-width:100%!important;
  }

  .single-post-content .tour-hero p{
    font-size:.9rem!important;
    line-height:1.6!important;
    max-width:100%!important;
  }

  .hero-divider{
    font-size:14px!important;
    letter-spacing:0!important;
  }

  .single-post-content .wp-block-columns{
    display:block!important;
    margin-bottom:0!important;
  }

  .single-post-content .wp-block-column{
    margin-bottom:1rem!important;
  }

  .single-post-content .tour-infobox,
  .single-post-content .tour-infobox p,
  .single-post-content .tour-infobox strong{
    text-align:center!important;
  }

  .single-post-content .tour-infobox p:first-child{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .single-post-content .tour-stop{
    display:flex!important;
    flex-direction:column!important;
    gap:1.5rem!important;
    margin:2.5rem 0!important;
    text-align:center!important;
  }

  .single-post-content .tour-stop .wp-block-media-text__content{
    order:1!important;
    text-align:center!important;
    padding:0!important;
  }

  .single-post-content .tour-stop figure{
    order:2!important;
  }

  .single-post-content .tour-stop img{
    margin-bottom:0!important;
  }

  .single-post-content .tour-number{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .single-post-content .tour-tip{
    text-align:center!important;
  }

  .single-post-content .tour-memory-box{
    display:block!important;
    padding:1.2rem!important;
    margin:3rem 0!important;
  }

  .single-post-content .tour-memory-box > .wp-block-columns{
    display:block!important;
  }

  .single-post-content .tour-memory-box img{
    height:260px!important;
    margin-bottom:2rem!important;
  }

  .single-post-content .tour-memory-box h2,
  .single-post-content .tour-memory-box h3{
    font-size:2.45rem!important;
  }

  .single-post-content .tour-memory-box p:first-of-type:before,
  .single-post-content .tour-memory-box p:first-of-type:after{
    width:28px!important;
  }

  .single-post-content .tour-memory-box blockquote{
    font-size:1.35rem!important;
  }

  .single-post-content .tour-memory-box p:last-of-type:before,
  .single-post-content .tour-memory-box p:last-of-type:after{
    width:42px!important;
  }

  .tour-camping .wp-block-columns{
    display:block!important;
  }

  .tour-camping .wp-block-column{
    margin-bottom:1.5rem!important;
  }

.tour-camping img{
  height:280px!important;
}

  .tour-camping .wp-block-column p:nth-of-type(2){
    font-size:1.05rem!important;
  }

  .tour-camping .wp-block-column p:last-child{
    text-align:center!important;
  }

  .tour-practical-tips{
    margin:3rem 0!important;
  }

  .tour-practical-tips .tip-card{
    padding:1.2rem!important;
    margin-bottom:1rem!important;
  }

  .tour-practical-tips .tip-card p:first-child{
    position:static!important;
    width:42px!important;
    height:42px!important;
    margin:0 auto .8rem!important;
    font-size:1rem!important;
  }

  .tour-practical-tips .tip-card h2{
    text-align:center!important;
    font-size:1.1rem!important;
  }

  .tour-practical-tips .tip-card h2:after{
    margin:.5rem auto .8rem!important;
  }

  .tour-practical-tips .tip-card p{
    text-align:center!important;
    font-size:.88rem!important;
    line-height:1.65!important;
  }
}
.fw-contact-button{
    display:inline-block;
    padding:18px 42px;
    background:#1A1A1A;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.15em;
    font-size:.78rem;
    font-weight:700;
    border-radius:2px;
    transition:.25s;
}

.fw-contact-button:hover{
    background:#B8924A;
    color:#fff;
}
/* =========================
   Fernwehwerk Magazin-Artikel
========================= */

.fernweh-article {
  max-width: 860px !important;
  margin: 0 auto !important;
  background: #fffefb !important;
  padding: 4.5rem 3.5rem !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.035) !important;
}

.fernweh-article p {
  max-width: 680px !important;
  margin: 0 auto 1.45rem !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: #777 !important;
}

.fernweh-article h1,
.fernweh-article h2,
.fernweh-article h3 {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #161616 !important;
}

.fernweh-article img {
  border-radius: 0 !important;
  transition: transform .45s ease, filter .45s ease !important;
}

.fernweh-article img:hover {
  transform: scale(1.015) !important;
  filter: brightness(1.03) !important;
}

.fernweh-article .wp-block-button__link,
.fernweh-article a.wp-block-button__link {
  background: #151515 !important;
  color: #fff !important;
  border-radius: 0 !important;
  padding: 1.15rem 2.2rem !important;
  font-size: .78rem !important;
  letter-spacing: .14em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease !important;
}

.fernweh-article .wp-block-button__link:hover,
.fernweh-article a.wp-block-button__link:hover {
  transform: translateY(-3px) !important;
  background: #2a2a2a !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.16) !important;
}

/* Meta-Zeile */
.fernweh-article .article-meta,
.fernweh-article .post-meta {
  max-width: 680px !important;
  margin: 1.4rem auto 2rem !important;
  display: flex !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  color: #aaa !important;
  font-size: .82rem !important;
}

/* Zitat direkt nach Meta */
.fernweh-article blockquote {
  max-width: 680px !important;
  margin: 0 auto 2rem !important;
  padding: 0 !important;
  border: none !important;
  color: #9a8a74 !important;
  font-size: 1rem !important;
  font-style: italic !important;
  line-height: 1.8 !important;
}

/* Mobile */
@media (max-width: 768px) {
  .fernweh-article {
    max-width: calc(100% - 1.5rem) !important;
    padding: 2rem 1.25rem !important;
  }

  .fernweh-article p,
  .fernweh-article h1,
  .fernweh-article h2,
  .fernweh-article h3,
  .fernweh-article blockquote {
    max-width: 100% !important;
  }

  .fernweh-article p {
    font-size: .95rem !important;
    line-height: 1.75 !important;
  }

  .fernweh-article .article-meta,
  .fernweh-article .post-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: .4rem !important;
  }

  .fernweh-article img:hover {
    transform: none !important;
    filter: none !important;
  }
}
/* =========================
   Fernwehwerk Artikel-Bausteine
========================= */

/* Hero */
.fernweh-article .fw-hero {
  max-width: 760px !important;
  margin: 0 auto 1.6rem !important;
  overflow: hidden !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.08) !important;
  min-height: 420px !important;
}

.fernweh-article .fw-hero img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  transform: none !important;
  filter: none !important;
}

.fernweh-article .fw-hero img:hover {
  transform: none !important;
  filter: none !important;
}

/* Meta */
.fernweh-article .fw-meta {
  max-width: 760px !important;
  margin: 0 auto 2rem !important;
  padding: .2rem 0 1.2rem !important;
  border-bottom: 1px solid rgba(184,146,74,.22) !important;
  color: #a79b8d !important;
  font-size: .78rem !important;
}

/* Memory Box */
.fernweh-article .fw-memory {
  max-width: 760px !important;
  margin: 4rem auto 3.5rem !important;
  padding: 2.2rem !important;
  background: #fffaf4 !important;
  border: 1px solid rgba(184,146,74,.22) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 60px rgba(184,146,74,.13) !important;
}

.fernweh-article .fw-memory img {
  border-radius: 14px !important;
  box-shadow: 0 18px 35px rgba(0,0,0,.11) !important;
}

.fernweh-article .fw-memory h2,
.fernweh-article .fw-memory h3 {
  color: #151515 !important;
}

.fernweh-article .fw-memory p {
  color: #8a8177 !important;
}

/* Final CTA */
.fernweh-article .fw-final-cta {
  max-width: 760px !important;
  margin: 3rem auto 0 !important;
  padding: 2.4rem 2rem !important;
  background: #fffaf4 !important;
  border-radius: 18px !important;
  text-align: center !important;
  border: 1px solid rgba(184,146,74,.18) !important;
}

.fernweh-article .fw-final-cta p {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mobile */
@media (max-width: 768px) {
  .fernweh-article .fw-hero,
  .fernweh-article .fw-meta,
  .fernweh-article .fw-memory,
  .fernweh-article .fw-final-cta {
    max-width: 100% !important;
  }

  .fernweh-article .fw-memory {
    margin: 3rem auto 2.5rem !important;
    padding: 1.25rem !important;
    border-radius: 16px !important;
  }

  .fernweh-article .fw-final-cta {
    padding: 1.8rem 1.25rem !important;
    text-align: left !important;
  }
}
.fw-meta-item{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.55rem;
}

.fw-meta-icon img{
    width:18px !important;
    height:18px !important;
    display:block;
}
/* Meta-Icon vorsichtig */
.fernweh-article .fw-meta-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  white-space: nowrap !important;
}

.fernweh-article .fw-meta-icon,
.fernweh-article .fw-meta-icon img {
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  margin: 0 !important;
  display: block !important;
}

.fernweh-article .fw-meta-item p {
  margin: 0 !important;
  font-size: .78rem !important;
  line-height: 1 !important;
}
/* Meta-Spalte stabilisieren */
.fernweh-article .fw-meta-col {
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.fernweh-article .fw-meta-col .fw-meta-item {
  width: auto !important;
  min-width: 140px !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .4rem !important;
  white-space: nowrap !important;
}

.fernweh-article .fw-meta-col .fw-meta-item p {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}
@media(max-width:768px){
  .book-hero-page{
    display:flex!important;
    flex-direction:column!important;
  }

  .book-hero-text{
    order:1!important;
  }

  .book-hero-image{
    order:2!important;
  }
}/* Preis */

.book-price{
    margin:2.2rem 0 1.4rem;
}

.book-price-label{
    display:block;
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:#b8924a;
    margin-bottom:.35rem;
}

.book-price-value{
    display:block;
    font-size:2rem;
    font-weight:700;
    color:#1d1d1b;
    line-height:1;
}
@media (max-width:768px){

  .book-hero-text{
      text-align:center!important;
      align-items:center!important;
  }

  .book-hero-text .section-divider{
      justify-content:center!important;
  }

  .buch-tagline{
      text-align:center!important;
      max-width:320px;
      margin:0 auto 1.5rem!important;
  }

  .book-hero-text p{
      text-align:center!important;
  }

  .book-price{
      text-align:center!important;
      margin:2rem auto 1.3rem!important;
  }

  .book-price-label,
  .book-price-value{
      display:block;
      text-align:center;
  }

  .book-hero-image img{
      max-width:270px!important;
  }
}/* =========================
   Buchvorschau sauber begrenzen
========================= */

.book-preview{
  padding:5.8rem 1.5rem 6rem!important;
  background:#fff!important;
  overflow:hidden!important;
}

.book-preview-intro{
  max-width:650px!important;
  margin:1.2rem auto 0!important;
  font-size:1.05rem!important;
  line-height:1.8!important;
  color:#7f7a73!important;
  text-align:center!important;
}

.book-preview-frame{
  max-width:1080px!important;
  margin:3rem auto 0!important;
  padding:2.8rem 2.2rem 2rem!important;
  background:#fffaf4!important;
  border:1px solid #eadcc8!important;
  border-radius:22px!important;
  box-shadow:0 18px 42px rgba(184,146,74,.10)!important;
  overflow:hidden!important;
}

.book-preview-slider{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:1.35rem!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 1.2rem!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
}

.book-preview-slider img{
  display:block!important;
  width:245px!important;
  min-width:245px!important;
  max-width:245px!important;
  height:auto!important;
  flex:0 0 245px!important;
  object-fit:contain!important;
  border-radius:8px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.14)!important;
  scroll-snap-align:center!important;
  background:#fff!important;
  transition:transform .25s ease, box-shadow .25s ease!important;
}

.book-preview-slider img:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 18px 34px rgba(0,0,0,.18)!important;
}

.book-preview-slider::-webkit-scrollbar{
  height:7px!important;
}

.book-preview-slider::-webkit-scrollbar-thumb{
  background:#d5bb8d!important;
  border-radius:20px!important;
}

.book-preview-slider::-webkit-scrollbar-track{
  background:#f4eadc!important;
  border-radius:20px!important;
}

.book-scroll-hint{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:.6rem!important;
  margin-top:.6rem!important;
  font-size:.9rem!important;
  color:#9a7a43!important;
}

.book-scroll-arrow{
  font-size:1.9rem!important;
  line-height:1!important;
  transform:rotate(-25deg)!important;
}

@media(max-width:768px){
  .book-preview{
    padding:4.5rem 1rem!important;
  }

  .book-preview-intro{
    font-size:1rem!important;
    max-width:320px!important;
  }

  .book-preview-frame{
    margin-top:2.4rem!important;
    padding:1.6rem 1rem 1.4rem!important;
    border-radius:18px!important;
  }

  .book-preview-slider{
    gap:1rem!important;
  }

  .book-preview-slider img{
    width:215px!important;
    min-width:215px!important;
    max-width:215px!important;
    flex-basis:215px!important;
  }

  .book-scroll-hint{
    font-size:.8rem!important;
    line-height:1.4!important;
  }

  .book-scroll-arrow{
    font-size:1.6rem!important;
  }
}
/* =========================
   STARTSEITE – BUCHBEREICH OPTIMIERUNG
========================= */

.buch-divider{
  justify-content:flex-start;
  margin-bottom:1.8rem;
}

@media (min-width: 769px){
  .buch-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:5rem;
  }

  .buch-content{
    order:2;
    flex:0 0 58%;
    max-width:58%;
  }

  .buch-visual{
    order:1;
    flex:0 0 36%;
    max-width:36%;
    display:flex;
    justify-content:center;
  }

  .buch-cover img{
    width:100%;
    max-width:370px;
    height:auto;
  }
}

@media (max-width: 768px){
  .buch-inner{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
  }

  .buch-content{
    order:1!important;
    text-align:center!important;
    width:100%!important;
  }

  .buch-visual{
    order:2!important;
    margin-top:2.5rem!important;
  }

  .buch .section-eyebrow,
  .buch .section-title,
  .buch-tagline,
  .buch-text{
    text-align:center!important;
  }

  .buch-divider{
    justify-content:center!important;
  }

  .buch-features{
    display:inline-block!important;
    text-align:left!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .buch .btn-primary{
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Montenegro Herztrenner */

.montenegro-heart-divider{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:4.5rem auto!important;
  height:44px!important;
  clear:both!important;
}

.montenegro-heart-divider::before,
.montenegro-heart-divider::after{
  content:""!important;
  display:block!important;
  height:1px!important;
  flex:1!important;
  max-width:420px!important;
  background:linear-gradient(
    to right,
    transparent,
    rgba(138,90,43,.35),
    transparent
  )!important;
}

.montenegro-heart-divider span{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:50%!important;
  border:1px solid #d6b27a!important;
  background-color:#fffaf4!important;
  margin:0 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a5a2b' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:14px 14px!important;
}

@media(max-width:768px){
  .montenegro-heart-divider{
    margin:3.5rem auto!important;
  }

  .montenegro-heart-divider::before,
  .montenegro-heart-divider::after{
    max-width:110px!important;
  }

  .montenegro-heart-divider span{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    background-size:13px 13px!important;
  }
}

/* Montenegro: rote mobile Herzen überschreiben */
@media(max-width:768px){
  .single-post-content .tour-memory-box h2:after,
  .single-post-content .tour-memory-box h3:after,
  .tour-camping .camp-features li::before{
    color:#8a5a2b!important;
  }
}
/* Route: nur Hauptbilder auf Desktop einheitlich */
@media(min-width:769px){

  .single-post-content .tour-stop > figure,
  .single-post-content .tour-stop .wp-block-media-text__media{
    width:100%!important;
    height:320px!important;
    overflow:hidden!important;
    border-radius:6px!important;
  }

  .single-post-content .tour-stop > figure img,
  .single-post-content .tour-stop .wp-block-media-text__media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
  }

  .single-post-content .tour-tip img{
    width:28px!important;
    height:28px!important;
    max-width:28px!important;
    object-fit:contain!important;
    box-shadow:none!important;
    border-radius:0!important;
  }

}
/* 404-Seite */
.error404-page{
  min-height:calc(100vh - 240px);
  background:#f8f6f3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9rem 1.5rem 6rem;
  text-align:center;
}

.error404-inner{
  max-width:820px;
  margin:0 auto;
}

.error404-page .section-eyebrow{
  color:#B8924A;
  margin-bottom:1rem;
}

.error404-page .section-title{
  max-width:760px;
  margin:0 auto 1.2rem;
}

.error404-page .section-divider{
  justify-content:center;
  margin:1.5rem auto 2rem;
}

.error404-text{
  max-width:640px;
  margin:0 auto 2.5rem;
  color:#6f6252;
  font-size:1.05rem;
  line-height:1.8;
}

.error404-buttons{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}

.error404-buttons .btn-primary,
.error404-buttons .btn-secondary{
  min-width:210px;
}

@media(max-width:768px){
  .error404-page{
    min-height:auto;
    padding:6rem 1rem 4rem;
  }

  .error404-buttons{
    flex-direction:column;
    align-items:center;
  }

  .error404-buttons .btn-primary,
  .error404-buttons .btn-secondary{
    width:100%;
    max-width:280px;
  }
}
/* =========================
   TOUR – ROUTENPAKET
========================= */

.tour-download-section{
  max-width:1100px;
  margin:5rem auto;
  padding:0 1.5rem;
}

.tour-download-section .tour-section-intro{
  text-align:center;
  margin-bottom:2.6rem;
}

.tour-download-section .section-eyebrow{
  margin:0 0 .75rem!important;
}

.tour-download-section .section-title{
  margin:0 auto 1.1rem!important;
  line-height:1.25!important;
}

.tour-download-lead{
  max-width:720px;
  margin:0 auto!important;
  text-align:center;
  font-size:1.02rem;
  line-height:1.8;
  color:#4b4038;
}

.fw-map-embed{
  margin:2.5rem 0 2rem;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(111,78,55,.18);
  box-shadow:0 18px 40px rgba(70,50,35,.10);
}

.fw-map-embed iframe{
  width:100%;
  height:520px;
  border:0;
  display:block;
}

.tour-download-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:2rem;
}

.tour-download-card{
  background:#fffaf3;
  border:1px solid rgba(111,78,55,.18);
  border-radius:20px;
  padding:2rem;
  box-shadow:0 14px 35px rgba(70,50,35,.08);
}

.tour-download-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f1e3cf;
  color:#6f4e37;
  font-size:1.55rem;
  margin:0 0 1.2rem;
}

.tour-download-card h3{
  margin:0 0 1rem!important;
  font-size:1.35rem;
  line-height:1.35!important;
  color:#2f2925;
}

.tour-download-card p{
  margin:0 0 1.5rem!important;
  color:#4b4038;
  line-height:1.75!important;
}

.tour-download-card .btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.85rem 1.4rem;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
}

@media(max-width:768px){
  .tour-download-section{
    margin:4rem auto;
    padding:0 1.2rem;
  }

  .fw-map-embed iframe{
    height:420px;
  }

  .tour-download-grid{
    grid-template-columns:1fr;
    gap:1.4rem;
  }

  .tour-download-card{
    padding:1.6rem;
    text-align:left;
  }

  .tour-download-icon{
    margin-left:auto;
    margin-right:auto;
  }

  .tour-download-card .btn-primary{
    width:100%;
  }
}
.fw-map-embed iframe{
  width:100%!important;
  height:520px!important;
  border:0!important;
  display:block!important;
}

.fw-map-embed{
  width:100%!important;
}
/* =========================
   FERNWEHWERK – GOLD & HERZEN BEREINIGT
   Stand: einheitlicher Marken-Goldton ohne Emoji-Rot
========================= */

:root{
  --fw-gold:#B8924A;
  --fw-gold-rgb:184,146,74;

  /* vorhandene Theme-Variablen überschreiben */
  --gold:#B8924A;
  --gold-light:#B8924A;
}

/* Text-/Linienakzente einheitlich */
.section-eyebrow,
.hero .section-eyebrow,
.buch .section-eyebrow,
.ueber .section-eyebrow,
.kontakt .section-eyebrow,
.book-hero-page .section-eyebrow,
.blog-readmore,
.single-post-footer a,
.book-price-label,
.book-scroll-hint,
.fw-contact-button:hover{
  color:var(--fw-gold)!important;
}

.section-divider::before,
.section-divider::after,
.buch::after,
.ueber::after,
.kontakt::after,
.book-section-divider::before,
.book-section-divider::after,
.montenegro-heart-divider::before,
.montenegro-heart-divider::after,
.single-post-content .tour-memory-box p:first-of-type::before,
.single-post-content .tour-memory-box p:first-of-type::after,
.single-post-content .tour-memory-box p:last-of-type::before,
.single-post-content .tour-memory-box p:last-of-type::after{
  background:linear-gradient(to right, transparent, rgba(var(--fw-gold-rgb),.45), transparent)!important;
}

/* Kleine Divider-Herzen nicht mehr als rotes Emoji darstellen */
.section-divider-heart{
  font-size:0!important;
  color:transparent!important;
  width:14px!important;
  height:14px!important;
  display:inline-block!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B8924A' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:14px 14px!important;
}

/* Herztrenner im Kreis: gleicher Goldton */
.buch::before,
.ueber::before,
.kontakt::before,
.book-section-divider span,
.montenegro-heart-divider span{
  border-color:var(--fw-gold)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B8924A' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}

.ueber::before{
  background-color:#1f1b18!important;
}

/* Buch- und Download-Listen: Herz immer als SVG, nie als Emoji */
.buch-features li::before,
.book-features li::before,
.tour-download-card li::before{
  content:""!important;
  display:inline-block!important;
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B8924A' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:11px 11px!important;
}

.tour-download-card li::before{
  position:absolute!important;
  left:0!important;
  top:.45em!important;
}

.tour-download-card li{
  padding-left:1.45rem!important;
}

/* Reiseerinnerung: Herz unter Überschrift */
.single-post-content .tour-memory-box h2::after,
.single-post-content .tour-memory-box h3::after{
  content:""!important;
  display:block!important;
  width:14px!important;
  height:14px!important;
  margin:.9rem auto 1rem!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B8924A' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:14px 14px!important;
  color:transparent!important;
}

/* Über-uns-Statistik: Original-Anmutung behalten, aber Herz sauber zentrieren */
.ueber-stats{
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:4rem!important;
}

.ueber-stats > div{
  min-width:120px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
}

.ueber-stats .stat-number{
  color:var(--fw-gold)!important;
  display:block!important;
  margin:0 0 .45rem!important;
}

.ueber-stats .stat-label{
  display:block!important;
  margin:0!important;
}

.ueber-stats > div:nth-child(2) .stat-number{
  font-size:0!important;
  line-height:1!important;
  width:34px!important;
  height:34px!important;
  margin:.05rem 0 .55rem!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B8924A' d='M12 21s-7.5-4.7-10-9.2C-.4 7.5 2.1 3 6.7 3c2.2 0 4.1 1.2 5.3 3 1.2-1.8 3.1-3 5.3-3 4.6 0 7.1 4.5 4.7 8.8C19.5 16.3 12 21 12 21z'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:34px 34px!important;
  color:transparent!important;
}

@media(max-width:768px){
  .ueber-stats{
    flex-direction:column!important;
    align-items:center!important;
    gap:1.8rem!important;
  }

  .ueber-stats > div:nth-child(2) .stat-number{
    width:36px!important;
    height:36px!important;
    background-size:36px 36px!important;
  }
}
/* =========================
   STARTSEITE – BUCHCOVER MOBIL STABILISIEREN
========================= */

@media (max-width: 768px){

  .buch-visual{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    min-height:340px!important;
  }

  .buch-cover{
    width:240px!important;
    max-width:240px!important;
    height:320px!important;
    aspect-ratio:auto!important;
    flex:0 0 auto!important;
  }

  .buch-cover img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
  }
}
.leistung-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.leistung-card-link:hover{
  color:inherit;
  text-decoration:none;
}
/* =========================
   Buchseite – Produktdetails
========================= */

.book-keyfacts{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.65rem 1.5rem;
  max-width:430px;
  padding:0;
  margin:0 0 1.7rem;
  list-style:none;
}

.book-keyfacts li{
  position:relative;
  padding-left:1.25rem;
  color:#6f6a63;
  font-size:.9rem;
  line-height:1.5;
}

.book-keyfacts li::before{
  content:"";
  position:absolute;
  left:0;
  top:.38rem;
  width:9px;
  height:9px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b8924a' d='M9.2 16.4 4.8 12l1.7-1.7 2.7 2.7 7.1-7.1L18 7.6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}

@media(max-width:768px){
  .book-keyfacts{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    width:100%;
    max-width:330px;
    margin:0 auto 1.7rem;
    text-align:left;
    gap:.7rem 1rem;
  }

  .book-keyfacts li{
    font-size:.84rem;
  }
}

@media(max-width:420px){
  .book-keyfacts{
    grid-template-columns:1fr;
    max-width:230px;
  }
}
@media(max-width:768px){

  .book-keyfacts{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    width:100%!important;
    max-width:320px!important;
    margin:0 auto 1.7rem!important;
    justify-items:center!important;
  }

  .book-keyfacts li{
    width:100%!important;
    max-width:135px!important;
    text-align:left!important;
    padding-left:1.2rem!important;
  }
}
/* ==================================================
   WEITERE WOHNMOBIL-ROUTEN
================================================== */

.route-discovery {
    position: relative;
    margin: 80px 0 30px;
    padding: 65px 45px;
    background: #faf7f1;
    border-radius: 22px;
}

.route-discovery__intro {
    max-width: 720px;
    margin: 0 auto 38px;
    text-align: center;
}

.route-discovery__subtitle {
    max-width: 650px;
    margin: 14px auto 0;
    color: #6f6a63;
    font-size: 16px;
    line-height: 1.75;
}

.route-discovery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}


/* Karte */

.route-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(169, 129, 79, 0.15);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(74, 60, 42, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.route-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 38px rgba(74, 60, 42, 0.13);
}


/* Bild */

.route-card__image-link {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.route-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.route-card:hover .route-card__image {
    transform: scale(1.045);
}


/* Badge */

.route-card__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    max-width: calc(100% - 28px);
    padding: 7px 12px;
    background: rgba(255, 255, 255, 0.94);
    color: #7f5c32;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.3;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}


/* Inhalt */

.route-card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 24px 23px 25px;
}

.route-card__country {
    margin: 0 0 7px;
    color: #b48a52;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.route-card__title {
    margin: 0 0 12px;
    color: #2e2924;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.22;
}

.route-card__description {
    margin: 0 0 19px;
    color: #6f6a63;
    font-size: 14px;
    line-height: 1.65;
}


/* Fakten */

.route-card__facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 23px;
}

.route-card__facts span {
    padding: 7px 10px;
    background: #f7f1e8;
    color: #76634d;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.2;
}


/* Link */

.route-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    color: #2e2924;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.route-card__link:hover {
    gap: 12px;
    color: #b48a52;
}


/* Tablet */

@media (max-width: 1000px) {

    .route-discovery {
        padding: 55px 30px;
    }

    .route-discovery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobil */

@media (max-width: 680px) {

    .route-discovery {
        margin-top: 55px;
        padding: 45px 16px;
        border-radius: 16px;
    }

    .route-discovery__intro {
        margin-bottom: 28px;
    }

    .route-discovery__subtitle {
        font-size: 14px;
        line-height: 1.65;
    }

    .route-discovery__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .route-card__content {
        padding: 21px 19px 22px;
    }

    .route-card__title {
        font-size: 21px;
    }

}
/* ==================================================
   WOHNMOBIL-ROUTEN AUF DER STARTSEITE
================================================== */

.home-routes {
    position: relative;
    padding: 90px 24px;
    background: #faf7f1;
}

.home-routes-inner {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.home-routes-intro {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.home-routes-subtitle {
    max-width: 680px;
    margin: 15px auto 0;
    color: #6f6a63;
    font-size: 16px;
    line-height: 1.75;
}

.home-routes-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 25px;
    align-items: stretch;
}


/* Einzelne Karte */

.home-route-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(169, 129, 79, 0.14);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(74, 60, 42, 0.08);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.home-route-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 17px 40px rgba(74, 60, 42, 0.14);
}


/* Bild */

.home-route-image-link {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.home-route-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.home-route-card:hover .home-route-image {
    transform: scale(1.045);
}


/* Badge */

.home-route-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    max-width: calc(100% - 30px);
    padding: 8px 13px;
    background: rgba(255, 255, 255, 0.94);
    color: #886537;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.09);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
}


/* Karteninhalt */

.home-route-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 24px 27px;
}

.home-route-country {
    margin: 0 0 7px;
    color: #b48a52;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-route-content h3 {
    margin: 0 0 12px;
    color: #2e2924;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.25;
}

.home-route-description {
    margin: 0 0 20px;
    color: #6f6a63;
    font-size: 14px;
    line-height: 1.7;
}


/* Fakten */

.home-route-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 24px;
}

.home-route-facts span {
    padding: 7px 10px;
    background: #f7f1e8;
    color: #76634d;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.25;
}


/* Link */

.home-route-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: auto;
    color: #2e2924;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        color 0.2s ease,
        gap 0.2s ease;
}

.home-route-link:hover {
    gap: 12px;
    color: #b48a52;
}


/* Button unter den Karten */

.home-routes-button-wrap {
    margin-top: 38px;
    text-align: center;
}


/* Tablet */

@media (max-width: 1000px) {

    .home-routes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* Mobil */

@media (max-width: 680px) {

    .home-routes {
        padding: 65px 16px;
    }

    .home-routes-intro {
        margin-bottom: 30px;
    }

    .home-routes-subtitle {
        font-size: 14px;
        line-height: 1.65;
    }

    .home-routes-grid {
        grid-template-columns: 1fr;
        gap: 21px;
    }

    .home-route-content {
        padding: 22px 19px 24px;
    }

    .home-route-content h3 {
        font-size: 21px;
    }

    .home-routes-button-wrap {
        margin-top: 30px;
    }

}
/* Verlinkte Leistungskarten auf gleiche Höhe bringen */
.leistung-card-link {
  display: flex;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.leistung-card-link:hover {
  color: inherit;
  text-decoration: none;
}

.leistung-card-link .leistung-card {
  width: 100%;
  height: 100%;
}

/* Alle Leistungskarten gleichmäßig strecken */
.leistungen-grid {
  align-items: stretch;
}

.leistung-card {
  height: 100%;
  box-sizing: border-box;
}
/* ==================================================
   NAVIGATION – UNTERMENÜ LEISTUNGEN
================================================== */

/* Nur der Menüpunkt Leistungen */
.nav-links > .nav-dropdown {
  position: relative;
}

/* Leistungen + kleiner Pfeil */
.nav-dropdown > a {
  display: flex;
  align-items: center;
  gap: .4rem;
}

.nav-dropdown-arrow {
  display: inline-block;
  font-size: .8rem;
  line-height: 1;
  transition: transform .2s ease;
}

/* Untermenü */
.nav-submenu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 1000;

  min-width: 185px;
  margin: 0;
  padding: .55rem 0;

  list-style: none;
  background: #ffffff;
  border: 1px solid #E8E3DB;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .10);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translate(-50%, 8px);
  transition:
    opacity .2s ease,
    visibility .2s ease,
    transform .2s ease;
}

.nav-submenu li {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-submenu a {
  display: block;
  width: 100%;
  padding: .8rem 1rem;

  font-size: .68rem;
  letter-spacing: .12em;
  text-align: left;
  white-space: nowrap;
}

.nav-submenu a:hover,
.nav-submenu a:focus {
  background: #F9F7F4;
}

/* Desktop: beim Darüberfahren oder per Tastatur öffnen */
.nav-dropdown:hover > .nav-submenu,
.nav-dropdown:focus-within > .nav-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.nav-dropdown:hover .nav-dropdown-arrow,
.nav-dropdown:focus-within .nav-dropdown-arrow {
  transform: rotate(180deg);
}

.nav-dropdown-toggle {
  display: none;
}
/* Mobil: Unterseiten dauerhaft als zweite Zeile anzeigen */
/* Mobil: Leistungen in der normalen Menüreihe */
@media (max-width: 960px) {

  nav {
    overflow: visible;
  }

  .nav-links {
    align-items: center;
    gap: .8rem 1rem !important;
  }

  .nav-links > li {
    flex: 0 0 auto;
  }

  /* Leistungen bleibt wie die anderen Punkte in der Reihe */
  .nav-links > .nav-dropdown {
    position: relative;
    width: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: .15rem;
  }

  .nav-dropdown > a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Desktop-Pfeil mobil ausblenden */
  .nav-dropdown-arrow-desktop {
    display: none;
  }

  /* Kleiner antippbarer Pfeil */
  .nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;

    appearance: none;
    -webkit-appearance: none;

    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;

    color: #B8924A;
    font-size: .85rem;
    line-height: 1;
    cursor: pointer;

    transition: transform .2s ease;
  }

  .nav-dropdown-toggle:hover,
  .nav-dropdown-toggle:focus {
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #B8924A;
  }

  /* Untermenü schwebt unter Leistungen */
  .nav-submenu {
    position: absolute;
    top: calc(100% + .75rem);
    left: 50%;
    z-index: 1000;

    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;

    width: max-content;
    min-width: 175px;
    margin: 0;
    padding: .45rem;

    background: #ffffff;
    border: 1px solid #E8E3DB;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .12);

    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%);
  }

  .nav-submenu li {
    width: 100%;
  }

  .nav-submenu a {
    display: block;
    width: 100%;
    padding: .65rem .9rem;

    font-size: .61rem;
    letter-spacing: .14em;
    text-align: center;
    white-space: nowrap;
  }

  .nav-submenu a:hover,
  .nav-submenu a:focus {
    background: #F9F7F4;
  }

  /* Erst nach Antippen sichtbar */
  .nav-dropdown.is-open > .nav-submenu {
    display: flex;
  }

  .nav-dropdown.is-open > .nav-dropdown-toggle {
    transform: rotate(180deg);
  }

  /* Kontaktbutton etwas kompakter */
  .nav-cta {
    padding: .55rem 1rem !important;
  }
}

/* Noch kleinere Smartphones */
@media (max-width: 430px) {

  .nav-links {
    gap: .7rem .8rem !important;
  }

  .nav-links a {
    font-size: .6rem !important;
  }

  .nav-cta {
    padding: .5rem .8rem !important;
  }
}
  /* ==================================================
   MOBIL: UNTERMENÜ UNTER DER NAVIGATION ÖFFNEN
================================================== */

@media (max-width: 960px) {

  nav {
    overflow: visible;
  }

  .nav-links {
    position: relative;
    align-items: center;
    padding-bottom: 0;
    transition: padding-bottom .2s ease;
  }

  /* Platz für die neue Zeile schaffen */
  .nav-links:has(.nav-dropdown.is-open) {
    padding-bottom: 3.4rem;
  }

  /* Leistungen bleibt normal in der Menüreihe */
  .nav-links > .nav-dropdown {
    position: static;
    width: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: .15rem;
  }

  .nav-dropdown > a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Desktop-Pfeil ausblenden */
  .nav-dropdown-arrow-desktop {
    display: none;
  }

  /* Kleiner mobiler Pfeil */
  .nav-dropdown-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;

    appearance: none;
    -webkit-appearance: none;

    border: 0;
    background: transparent;
    box-shadow: none;

    color: #B8924A;
    font-size: .85rem;
    line-height: 1;
    cursor: pointer;

    transition: transform .2s ease;
  }

  .nav-dropdown-toggle:hover,
  .nav-dropdown-toggle:focus {
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #B8924A;
  }

  /* Untermenü als neue Zeile unter allen Hauptpunkten */
  .nav-submenu {
    position: absolute;
    left: 50%;
    bottom: .25rem;
    z-index: 1000;

    display: none;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;

    width: max-content;
    max-width: calc(100vw - 2rem);
    min-width: 0;
    margin: 0;
    padding: .65rem 1rem;

    background: #F9F7F4;
    border: 1px solid #E8E3DB;
    box-shadow: none;

    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translateX(-50%);
  }

  .nav-submenu li {
    width: auto;
    margin: 0;
    padding: 0;
  }

  .nav-submenu a {
    display: block;
    width: auto;
    padding: .2rem 0;

    font-size: .61rem;
    letter-spacing: .14em;
    text-align: center;
    white-space: nowrap;
  }

  /* Beim Antippen öffnen */
  .nav-dropdown.is-open > .nav-submenu {
    display: flex;
  }

  .nav-dropdown.is-open > .nav-dropdown-toggle {
    transform: rotate(180deg);
  }
}/* ==================================================
   MOBILE NAVIGATION VEREINFACHEN
   Dropdown nur auf dem Desktop anzeigen
================================================== */

@media (max-width: 960px) {

  .nav-links {
    padding-bottom: 0 !important;
  }

  .nav-links:has(.nav-dropdown.is-open) {
    padding-bottom: 0 !important;
  }

  .nav-links > .nav-dropdown {
    position: relative !important;
    width: auto !important;
    display: block !important;
  }

  .nav-dropdown > a {
    display: block !important;
  }

  /* Pfeil und Untermenü mobil vollständig ausblenden */
  .nav-dropdown-toggle,
  .nav-dropdown-arrow-desktop,
  .nav-submenu,
  .nav-dropdown.is-open > .nav-submenu {
    display: none !important;
  }
}
.book-story-hero {
  padding: 70px 24px 55px;
  background: #f8f5ef;
  text-align: center;
}

.book-story-hero-content {
  max-width: 850px;
  margin: 0 auto;
}

.book-story-title {
  max-width: 760px;
  margin: 12px auto 24px;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.08;
}

.book-story-intro,
.book-story-text,
.book-story-highlight {
  max-width: 720px;
  margin: 0 auto 16px;
  line-height: 1.75;
}

.book-story-highlight {
  margin-top: 24px;
  font-weight: 500;
}
/* ==================================================
   BUCH-LANDINGPAGE – FINALER AUFBAU
   Gilt nur innerhalb von .book-page
================================================== */

/* Grundfläche */
.book-page {
  background: #f9f7f4 !important;
  padding-top: 6rem !important;
  overflow: hidden;
}


/* ==================================================
   1. EMOTIONALER EINSTIEG
================================================== */

.book-page .book-story-hero {
  width: 100%;
  padding: 5.5rem 1.5rem 4.8rem !important;
  background: #f9f7f4 !important;
  text-align: center !important;
}

.book-page .book-story-hero-content {
  width: min(820px, 100%);
  margin: 0 auto !important;
}

.book-page .book-story-hero .section-eyebrow {
  margin-bottom: 1.2rem !important;
}

.book-page .book-story-title {
  max-width: 780px;
  margin: 0 auto 1.5rem !important;
  color: #1a1a1a;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2.2rem, 5vw, 4.25rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.book-page .book-story-hero .section-divider {
  margin: 0 auto 2rem !important;
}

.book-page .book-story-intro,
.book-page .book-story-text,
.book-page .book-story-highlight {
  max-width: 700px;
  margin: 0 auto 1rem !important;
  color: #6f6a63;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
}

.book-page .book-story-text {
  color: #817a72;
}

.book-page .book-story-highlight {
  max-width: 670px;
  margin-top: 1.6rem !important;
  color: #37322d;
  font-weight: 500;
}


/* ==================================================
   2. PRODUKTBEREICH
================================================== */

.book-page .book-hero-page {
  width: min(1060px, calc(100% - 3rem));
  margin: 0 auto !important;
  padding: 4.8rem 0 5.5rem !important;
  display: grid !important;
  grid-template-columns: 0.9fr 1.1fr !important;
  gap: 5rem !important;
  align-items: center !important;
  background: transparent !important;
}

.book-page .book-hero-image {
  text-align: center;
}

.book-page .book-hero-image img {
  width: 100% !important;
  max-width: 330px !important;
  height: auto !important;
  display: inline-block;
}

.book-page .book-hero-text .section-eyebrow,
.book-page .book-hero-text .section-title {
  text-align: left;
}

.book-page .book-hero-text .section-divider {
  justify-content: flex-start !important;
  margin-bottom: 1.7rem !important;
}

.book-page .book-hero-text > p:not(.section-eyebrow):not(.buch-tagline) {
  color: #6f6a63;
  font-size: 0.95rem;
  line-height: 1.85;
}

.book-page .book-price {
  margin: 2rem 0 1.5rem !important;
}


/* ==================================================
   3. GROSSE TRENNER
================================================== */

.book-page .book-section-divider {
  width: min(980px, calc(100% - 3rem));
  height: 44px;
  margin: 0 auto !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.book-page .book-section-divider::before,
.book-page .book-section-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background:
    linear-gradient(
      to right,
      transparent,
      rgba(184, 146, 74, 0.45),
      transparent
    );
}

.book-page .book-section-divider span {
  width: 42px;
  height: 42px;
  min-width: 42px;
  margin: 0 18px;
  border: 1px solid #b8924a;
  border-radius: 50%;
  background-color: #fffaf4;
  background-size: 14px 14px !important;
}


/* ==================================================
   4. WARUM DIESES BUCH?
================================================== */

.book-page .book-why {
  width: 100%;
  padding: 5.8rem 1.5rem 6.2rem !important;
  background: #ffffff !important;
}

.book-page .book-why .section-header {
  width: min(760px, 100%);
  margin: 0 auto 3.2rem !important;
  text-align: center;
}

.book-page .book-why .book-preview-intro {
  max-width: 650px !important;
}

.book-page .book-why-grid {
  width: min(1050px, 100%);
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
}

.book-page .book-why-card {
  min-width: 0;
  padding: 2.4rem 1.8rem !important;
  background: #faf7f1 !important;
  border: 1px solid #e8e3db !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 36px rgba(74, 60, 42, 0.055);
  text-align: center !important;
}

.book-page .book-why-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 1.3rem !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f1e5d4;
  color: #b8924a;
  font-family: Arial, sans-serif;
  font-size: 1.15rem;
}

.book-page .book-why-card h3 {
  margin: 0 0 0.9rem !important;
  color: #24211e;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.4;
}

.book-page .book-why-card p {
  margin: 0 !important;
  color: #706a63;
  font-size: 0.91rem;
  line-height: 1.75;
}


/* ==================================================
   5. BUCHVORSCHAU
================================================== */

.book-page .book-preview {
  padding-top: 5.8rem !important;
  padding-bottom: 6rem !important;
}

.book-page .book-preview .section-header {
  width: min(760px, 100%);
  margin: 0 auto 3rem !important;
  text-align: center;
}


/* ==================================================
   6. INHALTE UND VORTEILE
================================================== */

.book-page .book-details {
  padding: 5.8rem 1.5rem 6rem !important;
  background: #ffffff !important;
}

.book-page .book-details .section-header {
  width: min(760px, 100%);
  margin: 0 auto 3rem !important;
  text-align: center;
}

.book-page .book-feature-grid {
  width: min(980px, 100%);
  margin: 0 auto !important;
  gap: 1rem 1.2rem !important;
}

.book-page .book-feature-card {
  padding: 1.45rem 1.6rem !important;
  background: #faf7f1 !important;
  border: 1px solid #e8e3db !important;
  border-radius: 8px;
}


/* ==================================================
   7. ZIELGRUPPE
================================================== */

.book-page .book-for-whom {
  padding: 5.7rem 1.5rem !important;
  background: #f9f7f4 !important;
  text-align: center;
}

.book-page .book-for-whom .section-header {
  width: min(780px, 100%);
  margin: 0 auto !important;
}

.book-page .book-for-whom .book-preview-intro {
  max-width: 670px !important;
}


/* ==================================================
   8. ABSCHLUSS-CTA
================================================== */

.book-page .book-order-box {
  width: min(760px, calc(100% - 3rem)) !important;
  margin: 5.5rem auto !important;
  padding: 3.5rem 2.5rem !important;
  background: #ffffff !important;
  border: 1px solid #e8e3db !important;
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(74, 60, 42, 0.055);
}

.book-page .book-order-box h2 {
  max-width: 610px;
  margin: 0 auto 1rem !important;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.35;
}

.book-page .book-order-box p {
  max-width: 590px;
  margin: 0 auto 2rem !important;
}


/* ==================================================
   TABLET UND MOBIL
================================================== */

@media (max-width: 800px) {

  .book-page {
    padding-top: 8rem !important;
  }

  .book-page .book-story-hero {
    padding: 4rem 1.25rem 3.5rem !important;
  }

  .book-page .book-story-title {
    font-size: clamp(2rem, 9vw, 3rem);
    line-height: 1.12;
  }

  .book-page .book-story-intro,
  .book-page .book-story-text,
  .book-page .book-story-highlight {
    font-size: 0.94rem;
    line-height: 1.75;
  }

  .book-page .book-hero-page {
    width: min(100% - 2.5rem, 620px);
    padding: 3.8rem 0 4.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3rem !important;
  }

  .book-page .book-hero-text {
    order: 1 !important;
    width: 100%;
    text-align: center !important;
  }

  .book-page .book-hero-image {
    order: 2 !important;
    width: 100%;
  }

  .book-page .book-hero-text .section-eyebrow,
  .book-page .book-hero-text .section-title,
  .book-page .book-hero-text > p {
    text-align: center !important;
  }

  .book-page .book-hero-text .section-divider {
    justify-content: center !important;
  }

  .book-page .book-hero-image img {
    max-width: 270px !important;
  }

  .book-page .book-why {
    padding: 4.5rem 1.2rem !important;
  }

  .book-page .book-why-grid {
    grid-template-columns: 1fr !important;
    width: min(100%, 500px);
  }

  .book-page .book-why-card {
    padding: 2rem 1.4rem !important;
  }

  .book-page .book-preview,
  .book-page .book-details,
  .book-page .book-for-whom {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }

  .book-page .book-section-divider {
    width: calc(100% - 2.5rem);
  }

  .book-page .book-section-divider span {
    margin: 0 12px;
  }

  .book-page .book-order-box {
    width: calc(100% - 2.5rem) !important;
    margin: 4rem auto !important;
    padding: 2.6rem 1.3rem !important;
  }
}

@media (max-width: 420px) {

  .book-page {
    padding-top: 7.5rem !important;
  }

  .book-page .book-story-title {
    font-size: 2rem;
  }

  .book-page .book-keyfacts {
    grid-template-columns: 1fr !important;
    max-width: 235px !important;
  }

  .book-page .book-order-box .btn-primary {
    width: 100%;
    margin: 0 !important;
  }
}/* Mobile Navigation: Kreativstudio sauber ausrichten */
@media (max-width: 960px) {

  .nav-links > .nav-dropdown {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .nav-links > .nav-dropdown > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
}