/* PicknickAHR – Ahrtal Editorial
   Wärmer, persönlicher, genussvoller. Nur visuelle Anpassungen. */

:root{
  --ink:#3f4b46;
  --deep:#263b38;
  --sand:#ddc8aa;
  --sand-light:#f5ece2;
  --cream:#fcf8f3;
  --mint:#809985;
  --wine:#9d5968;
  --text:#555650;
  --editorial-paper:#fffdf9;
  --editorial-rose:#b87984;
  --editorial-blush:#f2e2df;
  --editorial-sage:#7f9580;
  --editorial-olive:#6f7e69;
  --editorial-gold:#c6a46f;
  --editorial-shadow:0 20px 60px rgba(83,61,53,.11);
}

body{
  background:
    radial-gradient(circle at 8% 14%,rgba(184,121,132,.07),transparent 24%),
    radial-gradient(circle at 94% 35%,rgba(198,164,111,.08),transparent 28%),
    radial-gradient(circle at 16% 78%,rgba(127,149,128,.06),transparent 24%),
    var(--cream);
  color:var(--text);
}

/* Typografie: weniger Landingpage, mehr Genussmagazin */
.eyebrow{
  color:var(--wine);
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  font-style:italic;
  font-weight:600;
  letter-spacing:.035em;
  text-transform:none;
}
.section-heading h2,.extras h2,.about h2,.romantic h2,.contact h2{
  color:var(--ink);
  font-weight:400;
  letter-spacing:-.018em;
}
.section-heading>p:last-child{
  color:#716e67;
  line-height:1.75;
}
.section-heading:after{
  width:96px;
  height:13px;
  margin-top:22px;
  background:transparent;
  border-top:1px solid rgba(157,89,104,.65);
  border-radius:50%;
  transform:rotate(-2deg);
}

/* Header und CTAs: warm statt digital-türkis */
.site-header{
  background:rgba(38,59,56,.91);
  border-bottom-color:rgba(255,244,237,.15);
}
.site-header.is-scrolled{background:rgba(32,50,48,.97)}
.main-nav a:hover,.main-nav a:focus-visible{color:#ead9c4}
.nav-cta,.button-primary{
  color:#fff;
  background:linear-gradient(135deg,#ae6978,#965364);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 28px rgba(99,52,64,.22);
}
.button-dark{
  background:linear-gradient(135deg,#4c5550,#34433f);
  box-shadow:0 10px 28px rgba(72,61,55,.14);
}
.button{
  letter-spacing:.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

/* Hero: warmer Abend im Weinberg */
.hero-shade{
  background:
    linear-gradient(90deg,rgba(31,48,46,.91),rgba(43,55,50,.73) 44%,rgba(59,48,43,.26) 76%,rgba(69,52,45,.10)),
    linear-gradient(0deg,rgba(60,43,42,.48),transparent 52%);
}
.hero:after{
  content:"";
  position:absolute;
  z-index:1;
  width:42vw;
  height:42vw;
  right:-17vw;
  bottom:-23vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(183,116,127,.20),rgba(220,194,160,.08) 42%,transparent 70%);
  pointer-events:none;
}
.hero h1{letter-spacing:-.025em;text-shadow:0 5px 30px rgba(34,28,26,.16)}
.hero-copy{font-family:Georgia,"Times New Roman",serif;line-height:1.6;color:rgba(255,250,246,.90)}
.hero-notes{color:rgba(255,247,239,.77)}
.hero-notes span:before{color:#d7c7a8}
.scroll-cue{border-color:rgba(255,241,230,.48)}

.intro-band{
  background:linear-gradient(100deg,#d6bd98,#ead8bf 48%,#dbc2a4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.intro-band p{font-family:Georgia,"Times New Roman",serif;letter-spacing:.005em}

/* Bildflächen bekommen eine subtile warme Magazin-Anmutung */
.package-image-wrap img,.about-photo img,.team-together img,.brand-visual img{
  filter:saturate(.94) sepia(.035) contrast(.99) brightness(1.015);
}
.brand-visual-inner{
  overflow:hidden;
  border-radius:34px 34px 82px 34px;
  box-shadow:var(--editorial-shadow);
}

/* Picknickpakete: kuratierte Editorial-Karten statt Produktkacheln */
.packages{
  background:
    radial-gradient(circle at 92% 10%,rgba(184,121,132,.08),transparent 22%),
    linear-gradient(180deg,#fcf8f3,#fffdf9 55%,#faf4ee);
}
.package-grid{gap:30px}
.package-card{
  border:1px solid rgba(139,102,87,.11);
  border-radius:38px 38px 76px 38px;
  background:var(--editorial-paper);
  box-shadow:var(--editorial-shadow);
}
.package-card:nth-child(2){margin-top:18px;border-radius:76px 38px 38px 38px}
.package-card:nth-child(3){margin-top:4px;border-radius:38px 76px 38px 38px}
.package-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(83,61,53,.15)}
.package-image-wrap{height:252px;background:#e6ded3}
.package-image-wrap:after{
  background:linear-gradient(180deg,transparent 56%,rgba(91,57,54,.11));
}
.price-badge{
  right:20px;
  bottom:18px;
  min-width:86px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(82,67,65,.91);
  box-shadow:0 10px 30px rgba(70,45,45,.19);
}
.card-kicker{color:var(--wine);font-family:Georgia,"Times New Roman",serif;font-style:italic;text-transform:none;letter-spacing:.035em;font-size:14px}
.package-body h3{font-size:32px;line-height:1.1}
.package-body ul{color:#716f68;line-height:1.6}
.package-body li:before{width:6px;height:6px;background:var(--editorial-sage)}
.card-link{color:#5f4d4e}

/* Drei Schritte: weniger Prozessdiagramm, mehr persönliche Begleitung */
.how-it-works{
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 16%,rgba(184,121,132,.20),transparent 29%),
    radial-gradient(circle at 94% 88%,rgba(198,164,111,.12),transparent 28%),
    linear-gradient(135deg,#263b38,#314742 58%,#49383e);
}
.how-it-works:after{
  content:"";
  position:absolute;
  width:340px;
  height:190px;
  right:-110px;
  top:35px;
  border:1px solid rgba(242,226,223,.10);
  border-radius:50%;
  transform:rotate(-18deg);
}
.how-it-works .eyebrow,.contact .eyebrow,.romantic .eyebrow{color:#ebcfd0}
.step-grid{gap:20px;background:transparent}
.step-grid article{
  position:relative;
  overflow:hidden;
  padding:46px;
  border:1px solid rgba(255,246,239,.12);
  border-radius:42px 42px 70px 42px;
  background:rgba(255,250,245,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.step-grid article:nth-child(2){border-radius:70px 42px 42px 42px}
.step-grid article:nth-child(3){border-radius:42px 70px 42px 42px}
.step-grid h3{font-weight:400}
.step-signet{
  color:#ead2cf;
  border-color:rgba(235,207,208,.22);
  background:rgba(184,121,132,.11);
  border-radius:50% 50% 42% 58%;
}
.step-number{color:#e9d2c8;border-color:rgba(235,207,208,.30)}

/* Extras: weich, weinbar-artig, weniger UI-Kachel */
.extras{
  background:
    radial-gradient(circle at 4% 92%,rgba(127,149,128,.08),transparent 25%),
    linear-gradient(135deg,#f7eee6,#f3e8dc 53%,#faf5ef);
}
.extra-tags span{
  border-color:rgba(157,89,104,.16);
  background:rgba(255,253,249,.75);
  box-shadow:0 6px 18px rgba(83,61,53,.04);
}
.extras-visual{
  border-radius:52px 52px 100px 52px;
  background:
    radial-gradient(circle at 80% 12%,rgba(184,121,132,.28),transparent 34%),
    radial-gradient(circle at 16% 86%,rgba(128,153,133,.18),transparent 38%),
    linear-gradient(145deg,#405651,#334743 64%,#513941);
  box-shadow:0 26px 65px rgba(74,54,50,.16);
}
.extra-choice{
  border-color:rgba(255,244,237,.13);
  border-radius:30px 30px 46px 30px;
  background:rgba(255,252,247,.075);
}
.extra-choice:nth-child(2){border-radius:46px 30px 30px 30px}
.extra-choice-icon{color:#ead1cf;background:rgba(184,121,132,.13);border-radius:50%}
.extras-visual blockquote{
  border:1px solid rgba(255,245,238,.09);
  border-radius:28px 28px 46px 28px;
  background:rgba(55,43,43,.45);
  font-style:italic;
}

/* Lieblingsplätze wie kleine Notizen aus einem persönlichen Ahrtal-Guide */
.spot-section{
  background:
    radial-gradient(circle at 90% 18%,rgba(198,164,111,.08),transparent 24%),
    linear-gradient(180deg,#fffdf9,#fbf5ef);
}
.spot-grid{gap:30px}
.spot-grid article{
  border-color:rgba(139,102,87,.12);
  border-radius:42px 42px 68px 42px;
  background:linear-gradient(145deg,#fffefa,#faf1ea);
  box-shadow:0 16px 42px rgba(83,61,53,.07);
}
.spot-grid article:nth-child(2){margin-top:16px;border-radius:68px 42px 42px 42px}
.spot-grid article:nth-child(3){margin-top:3px;border-radius:42px 68px 42px 42px}
.spot-signet{color:var(--wine);background:rgba(184,121,132,.09);border-color:rgba(184,121,132,.16);border-radius:50%}
.spot-number{color:var(--wine)}

/* Über uns: wie eine persönliche Magazin-Doppelseite */
.about{
  overflow:hidden;
  background:
    radial-gradient(circle at 7% 17%,rgba(184,121,132,.09),transparent 23%),
    radial-gradient(circle at 91% 77%,rgba(127,149,128,.08),transparent 24%),
    linear-gradient(180deg,#fcf8f3,#f5ebe3 54%,#fcf8f3);
}
.about:before{
  content:"";
  position:absolute;
  width:250px;
  height:135px;
  left:-95px;
  bottom:80px;
  border:1px solid rgba(157,89,104,.12);
  border-radius:50%;
  transform:rotate(24deg);
}
.about-photo{
  border-radius:190px 190px 44px 44px;
  outline:7px solid rgba(255,253,249,.74);
  outline-offset:-7px;
  box-shadow:0 28px 70px rgba(83,61,53,.16);
}
.about-photo-two{border-radius:44px 190px 190px 44px}
.about-photo span{
  inset:auto 16px 16px;
  border-radius:999px;
  background:rgba(62,58,55,.72);
  backdrop-filter:blur(10px);
}
.about-copy{position:relative;z-index:1}
.about-lead{
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  line-height:1.7;
  color:#615958;
}
.about-copy>p:not(.eyebrow){line-height:1.8}
.about-social-links .text-link{color:#6f5458}
.team-together{
  overflow:hidden;
  border-radius:38px 38px 100px 38px;
  box-shadow:0 24px 60px rgba(83,61,53,.12);
  background:#fffdf9;
}
.team-together figcaption{font-family:Georgia,"Times New Roman",serif;font-style:italic}

/* Rezensionen wie Gästebuchkarten */
.reviews-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 6% 16%,rgba(127,149,128,.08),transparent 25%),
    linear-gradient(180deg,#f5e8e3,#fcf7f2 52%,#f8efe9);
}
.reviews-grid{gap:28px}
.review-card{
  position:relative;
  gap:18px;
  padding:32px 34px 34px;
  border:1px solid rgba(139,102,87,.11);
  border-radius:34px 34px 64px 34px;
  background:#fffdf8;
  box-shadow:0 17px 45px rgba(83,61,53,.08);
  transition:transform .25s,box-shadow .25s;
}
.review-card:nth-child(1){transform:rotate(-.25deg)}
.review-card:nth-child(2){transform:rotate(.22deg);background:#fffaf5}
.review-card:nth-child(3){transform:rotate(.18deg);background:#faf7ef}
.review-card:nth-child(4){transform:rotate(-.22deg)}
.review-card:hover{transform:translateY(-4px) rotate(0);box-shadow:0 24px 58px rgba(83,61,53,.12)}
.review-avatar{background:linear-gradient(145deg,#f0ddd9,#e6c9c8);color:#81515b}
.review-card h3{font-weight:400;font-size:21px}
.review-source{color:#8a7b73}
.review-stars{color:#c49a56;letter-spacing:.10em}
.review-card p{
  color:#55504c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  line-height:1.8;
}

/* FAQ: kleine Papierkarten statt technischer Accordion-Liste */
.faq-section{
  background:
    radial-gradient(circle at 91% 88%,rgba(184,121,132,.055),transparent 22%),
    linear-gradient(180deg,#fffdf9,#faf5ef);
}
.faq-list{gap:14px}
.faq-list details{
  border-color:rgba(139,102,87,.11);
  border-radius:26px 26px 38px 26px;
  background:rgba(255,253,249,.90);
  box-shadow:0 9px 28px rgba(83,61,53,.045);
}
.faq-list details:nth-child(even){border-radius:38px 26px 26px 26px}
.faq-list summary{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:19px}
.faq-list summary:after{color:var(--wine);font-family:"Segoe UI",Arial,sans-serif}
.faq-list details p{color:#706b65;line-height:1.75}

/* Kontakt: warmer Gastgeber-Abschluss */
.contact{
  overflow:hidden;
  background:
    radial-gradient(circle at 87% 10%,rgba(184,121,132,.28),transparent 28%),
    radial-gradient(circle at 9% 95%,rgba(198,164,111,.12),transparent 32%),
    linear-gradient(135deg,#263b38,#31433f 62%,#51373f);
}
.contact:before{
  content:"";
  position:absolute;
  width:430px;
  height:230px;
  right:-130px;
  bottom:-120px;
  border:1px solid rgba(255,236,229,.10);
  border-radius:50%;
  transform:rotate(-12deg);
}
.contact>*{position:relative;z-index:1}
.contact-main>p:not(.eyebrow){font-family:Georgia,"Times New Roman",serif;line-height:1.75}
.contact address{border-left-color:rgba(235,207,208,.22)}
footer{background:#203330;color:rgba(255,248,241,.64)}
.footer-brand strong span{color:#dfc8aa}
.floating-whatsapp{background:#879d89;color:#fff;box-shadow:0 15px 35px rgba(64,55,50,.24)}

/* Routen/Komoot bleiben funktional, wirken aber ebenfalls redaktioneller */
.routes-section{background:linear-gradient(180deg,#fcf8f3,#f3eee6)}
.route-map-consent{
  border:1px solid rgba(139,102,87,.10);
  border-radius:34px 34px 56px 34px;
  background:linear-gradient(145deg,rgba(184,121,132,.06),rgba(127,149,128,.09));
}

@media(min-width:981px){
  .package-card:nth-child(2):hover{transform:translateY(-5px)}
  .spot-grid article:nth-child(2):hover{transform:translateY(-3px)}
}

@media(max-width:980px){
  .package-card:nth-child(2),.package-card:nth-child(3),.spot-grid article:nth-child(2),.spot-grid article:nth-child(3){margin-top:0}
  .step-grid{gap:14px}
  .about-photo-two{border-radius:190px 190px 44px 44px}
}

@media(max-width:760px){
  .review-card,.review-card:nth-child(1),.review-card:nth-child(2),.review-card:nth-child(3),.review-card:nth-child(4){transform:none}
}

@media(max-width:620px){
  .hero-copy{font-family:"Segoe UI",Arial,Helvetica,sans-serif}
  .section-heading:after{width:76px}
  .package-card,.package-card:nth-child(2),.package-card:nth-child(3){border-radius:30px 30px 48px 30px}
  .package-image-wrap{height:230px}
  .step-grid article,.step-grid article:nth-child(2),.step-grid article:nth-child(3){padding:30px 24px;border-radius:30px 30px 46px 30px}
  .extras-visual{border-radius:36px 36px 58px 36px}
  .spot-grid article,.spot-grid article:nth-child(2),.spot-grid article:nth-child(3){border-radius:30px 30px 46px 30px}
  .about-photo,.about-photo-two{border-radius:150px 150px 32px 32px}
  .team-together{border-radius:28px 28px 52px 28px}
  .review-card{padding:24px;border-radius:28px 28px 44px 28px}
  .review-card p{font-size:15px}
  .faq-list details,.faq-list details:nth-child(even){border-radius:22px 22px 32px 22px}
}

/* Kontrast auf dunklen Flächen */
.how-it-works .section-heading-light h2,
.contact h2{
  color:#fffaf5 !important;
  font-weight:500;
  text-shadow:0 3px 24px rgba(0,0,0,.26);
}
.how-it-works .section-heading-light>p:last-child,
.contact .contact-main>p:not(.eyebrow){
  color:rgba(255,250,245,.84);
}

/* Logo-Grafik /images/ka.jpg vorübergehend ausblenden */
.brand-visual{display:none}
