/* =========================================================
   Bella Wildherz Journal · Startseite
   Eigenständiges, bereinigtes Editorial-CSS
   ========================================================= */

.home-page{background:var(--paper)}
.home-page .site-header{position:sticky;top:0;z-index:20;background:rgba(246,243,237,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.home-page main{background:var(--paper)}
.home-shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto;padding:32px 0 34px}

/* ---------- Leitartikel ---------- */
.home-lead-full{margin-bottom:32px}
.lead-story{display:block;position:relative;min-width:0;text-decoration:none;color:var(--journal-black)}
.lead-image{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:26px;background:var(--paper-2)}
.lead-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.lead-story:hover .lead-image>img{transform:scale(1.012)}

.story-badges{position:absolute;z-index:4;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;gap:.5rem}
.story-badges span,.story-badges time{padding:.34rem .66rem;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:rgba(30,34,31,.16);backdrop-filter:blur(6px);color:#fff;font-size:.65rem;line-height:1;white-space:nowrap;text-shadow:0 1px 10px rgba(0,0,0,.28)}

/* Echte Innenradien an den Übergängen zwischen Bild und Titelblock. */
.lead-caption{
  --cutout-radius:28px;
  --cutout-half:14px;
  position:absolute;
  z-index:5;
  left:0;
  bottom:0;
  width:min(68%,790px);
  padding:17px 24px 16px 20px;
  background:var(--paper);
  border-radius:0 var(--cutout-radius) 0 0;
  overflow:visible;
}
.lead-caption::before,
.lead-caption::after{
  content:"";
  position:absolute;
  width:var(--cutout-radius);
  height:var(--cutout-radius);
  background:transparent;
  pointer-events:none;
}
/* Übergang Bild -> Titelblock links oben */
.lead-caption::before{
  top:calc(-1 * var(--cutout-radius));
  left:0;
  border-bottom-left-radius:var(--cutout-radius);
  box-shadow:calc(-1 * var(--cutout-half)) var(--cutout-half) 0 var(--cutout-half) var(--paper);
}
/* Übergang Titelblock -> Bild rechts unten */
.lead-caption::after{
  right:calc(-1 * var(--cutout-radius));
  bottom:0;
  border-bottom-left-radius:var(--cutout-radius);
  box-shadow:calc(-1 * var(--cutout-half)) var(--cutout-half) 0 var(--cutout-half) var(--paper);
}
.lead-caption h2{max-width:720px;margin:0;font-family:var(--serif);font-size:clamp(2.15rem,3.55vw,4rem);font-weight:500;line-height:.94;letter-spacing:-.035em;text-wrap:balance}
.lead-caption p{max-width:520px;margin:.48rem 0 0;color:var(--muted);font-size:clamp(.82rem,.95vw,.94rem);line-height:1.34;text-wrap:balance}

/* ---------- Unterer Editorial-Bereich ---------- */
.home-below-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(250px,.58fr);gap:32px;align-items:start}
.home-older-section{min-width:0}
.section-minihead{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 14px}
.section-minihead span{color:var(--journal-green);font-size:.69rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.section-minihead a{color:var(--muted);font-size:.8rem;text-decoration:none}
.section-minihead a:hover{color:var(--journal-black)}
.home-older-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}

/* ---------- Kleine Artikelkarten ---------- */
.home-story{--card-radius:20px;--corner-size:66px;--arrow-size:48px;display:block;position:relative;min-width:0;text-decoration:none;color:#fff}
.home-story-image{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:var(--card-radius);background:var(--paper-2)}
.home-story-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.home-story:hover .home-story-image>img{transform:scale(1.018)}
.home-story-image::after{content:"";position:absolute;inset:38% 0 0;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(13,19,16,.72))}
.home-story .story-badges{top:10px;left:10px;right:10px}
.home-story .story-badges span,.home-story .story-badges time{padding:.3rem .55rem;font-size:.61rem}
.story-number{display:block;margin:0 0 .24rem;font-size:.64rem;letter-spacing:.08em;opacity:.9}
.home-story-caption{position:absolute;z-index:3;left:12px;right:calc(var(--corner-size) + 6px);bottom:12px;color:#fff}
.home-story-caption h2{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0;font-family:var(--serif);font-size:clamp(1rem,1.15vw,1.22rem);font-weight:500;line-height:1.03;text-wrap:pretty;text-shadow:0 2px 14px rgba(0,0,0,.4)}

/* Aussparung mit echten konkaven Innenradien oben und links. */
.home-story-corner{
  --cutout-radius:24px;
  --cutout-half:12px;
  position:absolute;
  z-index:4;
  right:0;
  bottom:0;
  width:var(--corner-size);
  height:var(--corner-size);
  display:grid;
  place-items:end;
  background:var(--paper);
  border-radius:var(--cutout-radius) 0 var(--card-radius) 0;
  overflow:visible;
  pointer-events:none;
}
.home-story-corner::before,
.home-story-corner::after{
  content:"";
  position:absolute;
  width:var(--cutout-radius);
  height:var(--cutout-radius);
  background:transparent;
  pointer-events:none;
}
/* Oberer Innenradius der Aussparung */
.home-story-corner::before{
  top:calc(-1 * var(--cutout-radius));
  right:0;
  border-bottom-right-radius:var(--cutout-radius);
  box-shadow:var(--cutout-half) var(--cutout-half) 0 var(--cutout-half) var(--paper);
}
/* Linker Innenradius der Aussparung */
.home-story-corner::after{
  left:calc(-1 * var(--cutout-radius));
  bottom:0;
  border-bottom-right-radius:var(--cutout-radius);
  box-shadow:var(--cutout-half) var(--cutout-half) 0 var(--cutout-half) var(--paper);
}
.round-arrow{position:relative;z-index:2;width:var(--arrow-size);height:var(--arrow-size);display:grid;place-items:center;border-radius:50%;background:var(--journal-soft);color:var(--journal-black);font-family:var(--sans);font-size:1.35rem;transition:transform .22s ease,background-color .22s ease}
.home-story:hover .round-arrow,.home-story:focus-visible .round-arrow{transform:translate(2px,-2px);background:#ddd3c8}

/* ---------- Journal-Info ---------- */
.home-right{display:grid;gap:20px;min-width:0}
.journal-intro{padding-top:2px}
.intro-label,.reader-kicker,.after-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:800;color:var(--journal-green)}
.journal-intro h2{margin:.72rem 0 .85rem;font-family:var(--serif);font-size:1.48rem;font-weight:500;line-height:1.08}
.journal-intro>p:not(.intro-label){margin:0;color:#666d68;font-size:.88rem;line-height:1.52}
.intro-actions{display:flex;align-items:center;gap:.55rem;margin-top:1.15rem}
.dark-button{padding:.62rem .94rem;border-radius:999px;background:var(--journal-black);color:#fff;text-decoration:none;font-size:.76rem}
.circle-link{width:39px;height:39px;display:grid;place-items:center;border:1px solid #aaa59e;border-radius:50%;text-decoration:none;font-size:.65rem}
.circle-link:first-of-type{font-size:1.12rem}
.reader-doors{background:var(--paper-2);border-radius:20px;padding:16px}
.reader-kicker{display:block;margin-bottom:.5rem}
.reader-doors a{display:flex;justify-content:space-between;align-items:center;padding:.68rem 0;border-top:1px solid rgba(46,46,43,.16);font-family:var(--serif);font-size:1rem;text-decoration:none}
.reader-doors a b{font-family:var(--sans);font-weight:400}
.reader-doors a>span{display:grid;gap:.18rem;min-width:0}
.reader-doors a strong{font-family:var(--serif);font-weight:500}
.reader-doors a small{font-family:var(--sans);font-size:.72rem;line-height:1.35;color:var(--muted);padding-right:.7rem}

/* ---------- Ressorts ---------- */
.home-ressort-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.home-ressort{display:grid;grid-template-columns:1fr auto;gap:.22rem .5rem;padding:10px 8px;border-radius:12px;text-decoration:none}
.home-ressort:hover{background:var(--paper-2)}
.home-ressort span{font-family:var(--serif);font-size:1rem}
.home-ressort small{grid-row:2;color:var(--muted);font-size:.65rem}
.home-ressort b{grid-column:2;grid-row:1/3;align-self:center;font-weight:400}

/* ---------- Abschluss ---------- */
.home-after{width:min(calc(100% - 40px),var(--max));margin:12px auto 0;padding:48px 0 62px;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;background:transparent}
.home-after h2{margin:.55rem 0 0;font-family:var(--serif);font-size:clamp(2rem,3.2vw,3.8rem);font-weight:500;line-height:1}
.home-after p{margin:0;color:#555d58;font-family:var(--serif);font-size:1.08rem;line-height:1.7}
.home-page .site-footer{margin-top:40px}
.home-empty{display:grid;place-items:center;padding:28px;border:1px dashed #c4beb5;border-radius:18px;color:var(--muted)}

/* ---------- Kein Bild vorhanden: Text statt Ersatzgrafik ---------- */
.home-story.image-missing .home-story-image{aspect-ratio:auto;min-height:150px;padding:16px;background:var(--paper-2);border:1px solid var(--line)}
.home-story.image-missing .home-story-image::after,.home-story.image-missing .home-story-corner{display:none}
.home-story.image-missing .story-badges{position:static;margin-bottom:.85rem}
.home-story.image-missing .story-badges span,.home-story.image-missing .story-badges time,.lead-story.image-missing .story-badges span,.lead-story.image-missing .story-badges time{color:var(--muted);background:transparent;border-color:var(--line);text-shadow:none;backdrop-filter:none}
.home-story.image-missing .home-story-caption{position:static;color:var(--journal-black)}
.home-story.image-missing .home-story-caption h2{text-shadow:none}
.lead-story.image-missing .lead-image{aspect-ratio:auto;overflow:visible;background:transparent}
.lead-story.image-missing .story-badges{position:static;margin-bottom:1rem}
.lead-story.image-missing .lead-caption{position:static;width:auto;padding:0;background:none;border-radius:0}


/* ---------- Responsive ---------- */
@media (max-width:980px){
  .home-below-grid{grid-template-columns:1fr}
  .home-right{grid-template-columns:1fr 1fr}
  .lead-caption{width:min(78%,760px)}
}
@media (max-width:760px){
  .home-shell,.home-after{width:min(calc(100% - 32px),var(--max))}
  .home-shell{padding-top:24px}
  .lead-image{aspect-ratio:16/10;border-radius:20px}
  .lead-caption{--cutout-radius:22px;--cutout-half:11px;width:88%;padding:14px 18px 14px 14px;border-radius:0 var(--cutout-radius) 0 0}
  .lead-caption h2{font-size:clamp(1.9rem,7.4vw,2.8rem)}
  .lead-caption p{font-size:.84rem}
  .home-older-grid{grid-template-columns:1fr 1fr}
  .home-right{grid-template-columns:1fr}
  .home-ressort-strip{grid-template-columns:repeat(2,1fr)}
  .home-after{grid-template-columns:1fr;gap:1.4rem;padding:38px 0 46px}
}
@media (max-width:560px){
  .home-shell,.home-after{width:calc(100% - 28px)}
  .lead-image{aspect-ratio:4/3}
  .lead-caption{width:94%}
  .lead-caption h2{font-size:clamp(1.75rem,9vw,2.35rem)}
  .home-older-grid{grid-template-columns:1fr}
  .home-ressort-strip{grid-template-columns:1fr}
  .home-story-image{aspect-ratio:16/9}
}
