@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,500;1,400&family=Montserrat:wght@600&display=swap');
:where(.wp-site-blocks *:focus){outline-width:2px;outline-style:solid}

/* ===== Karten-Grid ===== */
.pf-grid {
  --gold:#b08d57; --line:#e3e0d8; --ink:#2b2b2b; --muted:#555049; --bg:#fff;
  display:grid !important;
  grid-template-columns:repeat(3,1fr);
  gap:1px !important;
  background:var(--line);
  border:1px solid var(--line);
  max-width:1140px;
  margin-left:auto; margin-right:auto;
}
.pf-grid > .pf-cell { background:var(--bg); padding:2.6rem 2.2rem 3rem; margin:0 !important; }
.pf-num   { font-family:'Cormorant',Georgia,serif; font-weight:500; font-size:3.4rem; line-height:1; color:var(--gold); margin:0 0 1.6rem; }
.pf-title { font-family:'Montserrat',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.09em; font-size:.95rem; color:var(--ink); margin:0 0 1.1rem; }
.pf-text  { font-family:'Cormorant',Georgia,serif; font-style:italic; font-size:1.2rem; line-height:1.6; color:var(--muted); margin:0; }
.pf-cell--accent { position:relative; }
.pf-cell--accent::after { content:""; position:absolute; left:2.2rem; bottom:0; width:64px; height:3px; background:var(--gold); }
@media (max-width:900px){ .pf-grid>.pf-cell{padding:1.8rem 1.4rem 2.2rem;} .pf-num{font-size:2.6rem;} .pf-text{font-size:1.05rem;} }
@media (max-width:600px){ .pf-grid>.pf-cell{padding:1.2rem .9rem 1.6rem;} .pf-num{font-size:2.1rem;} .pf-title{font-size:.8rem;} .pf-text{font-size:.95rem;} .pf-cell--accent::after{left:.9rem;width:48px;} }

/* ===== Karten-Hover ===== */
.karte { border-left: 4px solid transparent; transition: border-color .3s ease; }
.karte:hover { border-left-color: #2E4636; }

/* ===== Bildausrichtung im Fließtext ===== */

/* 1. Umflossene Bilder: Breite und Abstände */
.wp-block-image.alignleft,
.wp-block-image.alignright {
  width: min(300px, 45%) !important;
  margin-top: 0 !important;
  margin-bottom: 2rem !important;
}

/* 2. Bündig zur Textspalte statt zum äußeren Container */
.wp-block-image.alignleft {
  float: left !important;
  margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 780px)) / 2)) !important;
  margin-right: 1.5rem !important;
}
.wp-block-image.alignright {
  float: right !important;
  margin-right: max(0px, calc((100% - var(--wp--style--global--content-size, 780px)) / 2)) !important;
  margin-left: 1.5rem !important;
}

/* 3. Einheitliches Hochformat 3:4 – unabhängig von der Block-Einstellung */
.wp-block-image.alignleft img,
.wp-block-image.alignright img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
}

/* 4. Bild und nebenstehender Text oben bündig */
.wp-block-image.alignleft + p,
.wp-block-image.alignright + p { margin-top: 0 !important; }

/* 5. Überschriften beginnen unterhalb eines Bildes */
.wp-block-post-content h2, .wp-block-post-content h3,
.entry-content h2, .entry-content h3 { clear: both; }

/* 6. Mobil: kein Umfluss */
@media (max-width: 781px) {
  .wp-block-image.alignleft,
  .wp-block-image.alignright {
    float: none !important;
    width: 100% !important;
    margin: 0 0 1.5rem 0 !important;
  }
}

/* ===== Überschriften im Fließtext ===== */
.wp-block-post-content h2,
.entry-content h2 {
  font-size: 1.75rem !important;
  line-height: 1.25 !important;
  margin-top: 2rem !important;
  padding-top: 1rem !important;
  margin-bottom: 0.9rem !important;
}
.wp-block-post-content h3,
.entry-content h3 {
  font-size: 1.35rem !important;
  line-height: 1.3 !important;
  margin-top: 1.6rem !important;
  padding-top: 0.8rem !important;
  margin-bottom: 0.7rem !important;
}

/* ===== Gleichmäßiger Absatzabstand ===== */
.wp-block-post-content p,
.entry-content p { margin-bottom: 1.25rem !important; }