/* Minimal styling for FKST product templates. Kept neutral to blend with most themes. */

.fkst-container{max-width:1200px;margin:0 auto;padding:24px 16px;}
.fkst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.fkst-card{border:1px solid rgba(0,0,0,.12);border-radius:12px;overflow:hidden;background:#fff;}
/* Cover-Bilder in Archiv/Taxonomie-Karten nicht verzerren */
.fkst-card__media{display:block;width:100%;aspect-ratio:2 / 3;overflow:hidden;}
/* Theme-CSS (z.B. Astra) setzt manchmal feste Höhen auf Bilder -> führt zu Verzerrung.
   Wir erzwingen daher eine saubere, nicht verzerrte Darstellung in Archiv/Taxonomie-Ansichten. */
.fkst-card__media img{
  display:block;
  width:100% !important;
  height:100% !important;       /* füllt den Aspect-Ratio-Container */
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Falls ein Theme die Höhe am <img> erzwingt und dadurch trotzdem verzerrt:
   dann ist 'height:auto' die sichere Fallback-Variante. */
@supports not (aspect-ratio: 2 / 3) {
  .fkst-card__media img{height:auto !important;}
}
.fkst-card__body{padding:14px 14px 16px;}

/* Archiv-Karten */
.fkst-card__title{
  margin: 0 0 8px 0;
  font-size: 20px;
  line-height: 1.2;
}
.fkst-card__title a{ text-decoration: none; }

.fkst-card__excerpt{
  margin: 10px 0 0 0;
  font-size: 14px;
  line-height: 1.45;
  opacity: 0.95;
}

/* Einzelbuch: Abschnittsüberschriften (z.B. über der Vorschau) */
.fkst-single__section-title{
  margin: 28px 0 12px;
  font-size: 18px;
  line-height: 1.25;
}

.fkst-variants--card{
  margin-top: 12px;
  border-top: 1px solid rgba(255,255,255,0.35);
  padding-top: 10px;
}
.fkst-variants--card .fkst-variant-row{
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
}
.fkst-variants--card .fkst-variant-name{ font-size: 14px; }
.fkst-variants--card .fkst-variant-price{ font-weight: 700; white-space: nowrap; }
.fkst-variants--card .fkst-variant-cta a{ white-space: nowrap; }
.fkst-badges{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;}
.fkst-badge{font-size:12px;line-height:1;border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:6px 10px;display:inline-flex;gap:6px;align-items:center;}
.fkst-title{margin:0 0 8px;font-size:20px;line-height:1.2;}
.fkst-price{font-weight:700;margin:10px 0 0;}
.fkst-meta{margin:0;padding:0;list-style:none;display:grid;gap:6px;}
.fkst-meta li{display:flex;gap:10px;}
.fkst-meta b{min-width:140px;}

.fkst-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start;}
@media (max-width: 860px){.fkst-hero{grid-template-columns:1fr;}}

.fkst-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.fkst-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid rgba(0,0,0,.18);text-decoration:none;}
.fkst-btn--primary{border-width:0;}

.fkst-section{margin-top:26px;}
.fkst-section h2{margin:0 0 12px;}
.fkst-variants{display:grid;gap:10px;}
.fkst-variant{border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:12px 14px;display:grid;gap:6px;}
.fkst-variant__head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between;}
.fkst-variant__name{font-weight:700;}
.fkst-variant__price{font-weight:700;}
.fkst-variant__note{font-size:13px;opacity:.85;}

.fkst-content{margin-top:18px;}

/* ----------------------------
   Modern Single View (fkst-single)
   Falls Theme-Styles die Lesbarkeit beeinflussen, setzen wir hier explizite Farben.
-----------------------------*/
.fkst-single{margin:0 auto;max-width:1200px;padding:24px 16px;}
.fkst-single__top{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;}
.fkst-single__cover{flex:0 0 auto;max-width:400px;width:100%;}
.fkst-single__cover img{width:100%;height:auto;display:block;border-radius:16px;}
.fkst-single__meta{flex:1 1 320px;min-width:280px;}
.fkst-single__title{margin:0 0 12px;font-size:44px;line-height:1.05;}
.fkst-single__pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;}
.fkst-pill{background:rgba(255,255,255,0.78);color:#111 !important;border-radius:10px;padding:10px 12px;line-height:1.2;display:inline-flex;gap:6px;align-items:center;}
.fkst-pill a{color:#111 !important;text-decoration:none;border-bottom:1px solid rgba(17,17,17,0.35);}
.fkst-pill a:hover{border-bottom-color:rgba(17,17,17,0.75);}
.fkst-single__long{margin-top:10px;color:#111;}

.fkst-single__gallery{margin-top:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.fkst-single__gallery img{width:100%;height:auto;display:block;border-radius:14px;}

.fkst-single__variants{margin-top:16px;display:grid;gap:10px;}
.fkst-variant{display:grid;grid-template-columns:1fr 140px 180px;gap:12px;align-items:center;background:rgba(255,255,255,0.78);color:#111 !important;border-radius:12px;padding:12px;}
.fkst-variant__name{font-weight:700;}
.fkst-variant__price{font-weight:700;text-align:center;}
.fkst-variant__cta{text-align:right;}
.fkst-btn{cursor:pointer;}

@media (max-width: 860px){
  .fkst-single__title{font-size:34px;}
  .fkst-variant{grid-template-columns:1fr 110px 1fr;}
  .fkst-variant__price{text-align:left;}
  .fkst-variant__cta{text-align:left;}
}
