/* Pixelwunder Fotoshop — Frontend Styles */

.pwfs-shop{
  --pwfs-bg: #0b0b0c;
  --pwfs-bg-raised: #141416;
  --pwfs-line: #26262a;
  --pwfs-gold: #f0b637;
  --pwfs-gold-dim: #a87f2b;
  --pwfs-ink: #f4f2ee;
  --pwfs-ink-dim: #9c9a97;
  --pwfs-font-display: 'Lora', serif;
  --pwfs-font-body: 'Poppins', sans-serif;

  background: var(--pwfs-bg);
  color: var(--pwfs-ink);
  font-family: var(--pwfs-font-body);
  padding: 40px 24px 80px;
  margin: 0 -24px;
}

.pwfs-shop *{ box-sizing: border-box; }
.pwfs-shop img{ max-width: 100%; display: block; }

.pwfs-shop-heading{
  max-width: 1200px;
  margin: 0 auto 24px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-bottom: 1px solid var(--pwfs-line);
  padding-bottom: 20px;
}
.pwfs-shop-heading h2{
  font-family: var(--pwfs-font-display);
  font-size: 1.7rem;
  margin: 0;
  font-weight: 600;
  color: var(--pwfs-ink);
}
.pwfs-count{ color: var(--pwfs-ink-dim); font-size: 0.85rem; }

.pwfs-filters{
  max-width: 1200px;
  margin: 0 auto 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pwfs-filter-chip{
  font-family: var(--pwfs-font-body);
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 9px 18px;
  border: 1px solid var(--pwfs-line);
  background: transparent;
  color: var(--pwfs-ink-dim);
  cursor: pointer;
  border-radius: 999px;
  transition: all .18s ease;
}
.pwfs-filter-chip:hover{ border-color: var(--pwfs-gold-dim); color: var(--pwfs-ink); }
.pwfs-filter-chip.active{
  background: var(--pwfs-gold);
  border-color: var(--pwfs-gold);
  color: #141416;
  font-weight: 600;
}

.pwfs-grid{
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
  width: 100%;
  box-sizing: border-box;
}
.pwfs-grid > .pwfs-card{ min-width: 0; }

.pwfs-card{
  background: var(--pwfs-bg-raised);
  border: 1px solid var(--pwfs-line);
  display: flex;
  flex-direction: column;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  transition: transform .2s ease, border-color .2s ease;
}
.pwfs-card:hover{ transform: translateY(-3px); border-color: var(--pwfs-gold-dim); }

.pwfs-thumb{
  aspect-ratio: 3/2;
  background: linear-gradient(135deg, #1c1c1f, #0e0e10);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pwfs-ink-dim);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
}
.pwfs-thumb img{ width: 100%; height: 100%; object-fit: cover; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }

/* ---- Wasserzeichen auf Vorschaubildern (Urheberschutz) ---- */
.pwfs-thumb::after,
.pwfs-collage-tile::after{
  content: "PIXELWUNDER";
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pwfs-font-display, 'Lora', serif);
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.32);
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  transform: rotate(-28deg);
  white-space: nowrap;
  pointer-events: none;
}
.pwfs-collage-tile::after{ font-size: 0.7rem; letter-spacing: 0.08em; }
.pwfs-cat-tag{
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(11,11,12,0.75);
  color: var(--pwfs-gold);
  padding: 4px 9px;
  border: 1px solid var(--pwfs-gold-dim);
}

.pwfs-card-body{
  padding: 16px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.pwfs-card-body h3{
  font-family: var(--pwfs-font-display);
  font-size: 1.02rem;
  margin: 0;
  font-weight: 600;
  color: var(--pwfs-ink);
}
.pwfs-meta{ color: var(--pwfs-ink-dim); font-size: 0.8rem; }

.pwfs-card-footer{
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
  border-top: 1px solid var(--pwfs-line);
}
.pwfs-price{ font-weight: 600; color: var(--pwfs-gold); font-size: 0.95rem; }

.pwfs-buy-row{ width: 100%; }
.pwfs-dl-btn{
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: transparent;
  border: 1px solid var(--pwfs-gold-dim);
  color: var(--pwfs-gold);
  padding: 8px 14px;
  cursor: pointer;
  text-decoration: none;
  border-radius: 2px;
  transition: all .18s ease;
}
.pwfs-dl-btn:hover{ background: var(--pwfs-gold); color: #141416; }

.pwfs-empty-state{
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  padding: 80px 20px;
  color: var(--pwfs-ink-dim);
  border: 1px dashed var(--pwfs-line);
}
.pwfs-empty-state strong{
  color: var(--pwfs-ink);
  display: block;
  margin-bottom: 8px;
  font-family: var(--pwfs-font-display);
  font-size: 1.1rem;
}

/* ---- Easy Digital Downloads Kaufen-Button ins Pixelwunder-Design zwingen ---- */
.pwfs-shop .pwfs-card-body h3 a{
  color: var(--pwfs-ink);
  text-decoration: none;
}
.pwfs-shop .pwfs-card-body h3 a:hover{ color: var(--pwfs-gold); }

/* Das komplette EDD-Kaufformular auf volle, aber begrenzte Kartenbreite zwingen */
.pwfs-shop .edd_download_purchase_form{
  width: 100%;
  max-width: 100%;
  display: block;
  margin: 0;
  box-sizing: border-box;
}
.pwfs-shop .edd_purchase_submit_wrapper{
  width: 100%;
  display: block;
}

/* Mengenfeld ausblenden — für einzelne Fotos/Bundles nicht nötig */
.pwfs-shop .edd-item-quantity-wrapper,
.pwfs-shop .edd_download_quantity_wrapper{
  display: none !important;
}

/* Lizenz-Auswahl (Redaktionell/Privat vs. Kommerziell) im Design einpassen */
.pwfs-shop .edd_price_options{
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pwfs-shop .edd_price_options li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: var(--pwfs-ink-dim);
}
.pwfs-shop .edd_price_options label{ display: flex; align-items: center; gap: 6px; cursor: pointer; }
.pwfs-shop .edd_price_options input[type="radio"]{ accent-color: var(--pwfs-gold); }
.pwfs-shop select.edd_price_options{
  width: 100%;
  background: var(--pwfs-bg);
  border: 1px solid var(--pwfs-line);
  color: var(--pwfs-ink);
  padding: 8px 10px;
  font-family: var(--pwfs-font-body);
  font-size: 0.8rem;
  margin-bottom: 10px;
}

/* Eventuell von EDD selbst ausgegebenen Preis im Button-Bereich ausblenden,
   da der Preis bereits oben in der Karte angezeigt wird */
.pwfs-shop .edd_purchase_submit_wrapper > .edd_price,
.pwfs-shop .edd-add-to-cart .edd_price{
  display: none !important;
}

.pwfs-shop a.pwfs-dl-btn,
.pwfs-shop button.pwfs-dl-btn,
.pwfs-shop input.pwfs-dl-btn{
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-family: var(--pwfs-font-body);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  background: transparent;
  border: 1px solid var(--pwfs-gold-dim);
  color: var(--pwfs-gold);
  padding: 10px 14px;
  cursor: pointer;
  text-decoration: none;
  border-radius: 2px;
  transition: all .18s ease;
  line-height: normal;
  box-shadow: none;
  text-align: center;
  white-space: normal;
  word-break: break-word;
}
.pwfs-shop a.pwfs-dl-btn:hover,
.pwfs-shop button.pwfs-dl-btn:hover,
.pwfs-shop input.pwfs-dl-btn:hover{
  background: var(--pwfs-gold);
  color: #141416 !important;
}
.pwfs-shop .edd-cart-added-alert{
  display: block;
  margin-top: 6px;
  font-size: 0.75rem;
  color: var(--pwfs-gold);
}

/* ---- Bundle-Kachel optisch hervorheben ---- */
.pwfs-card-bundle{
  border-color: var(--pwfs-gold-dim);
}
.pwfs-bundle-tag{
  background: var(--pwfs-gold);
  color: #141416;
  font-weight: 600;
  border-color: var(--pwfs-gold);
}

/* ---- Foto-Collage im Bundle-Vorschaubild ---- */
.pwfs-thumb-collage{ padding: 0; }
.pwfs-collage-grid{
  display: grid;
  width: 100%;
  height: 100%;
  gap: 2px;
  background: var(--pwfs-bg);
}
.pwfs-collage-grid.pwfs-collage-count-1{ grid-template-columns: 1fr; grid-template-rows: 1fr; }
.pwfs-collage-grid.pwfs-collage-count-2{ grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
.pwfs-collage-grid.pwfs-collage-count-3{ grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }
.pwfs-collage-grid.pwfs-collage-count-3 .pwfs-collage-tile:first-child{ grid-row: 1 / 3; }
.pwfs-collage-grid.pwfs-collage-count-4{ grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; }

.pwfs-collage-tile{
  position: relative;
  overflow: hidden;
  display: block;
}
.pwfs-collage-tile img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pwfs-collage-more{
  position: absolute;
  inset: 0;
  background: rgba(11,11,12,0.62);
  color: var(--pwfs-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pwfs-font-display);
  font-size: 1.1rem;
  font-weight: 600;
}

/* ---- Bundle-Einzelseite ---- */
.pwfs-bundle-single{ padding-top: 32px; }

.pwfs-bundle-buyall{
  max-width: 1200px;
  margin: 0 auto 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  background: var(--pwfs-bg-raised);
  border: 1px solid var(--pwfs-gold-dim);
  padding: 28px 32px;
}
.pwfs-bundle-buyall-info h3{
  font-family: var(--pwfs-font-display);
  font-size: 1.3rem;
  margin: 0 0 6px;
  color: var(--pwfs-ink);
}
.pwfs-bundle-buyall-info p{
  margin: 0;
  color: var(--pwfs-ink-dim);
  font-size: 0.9rem;
}
.pwfs-bundle-buyall-action{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  min-width: 220px;
}
.pwfs-price-large{ font-size: 1.4rem; }
.pwfs-bundle-buyall-action .pwfs-buy-row{ width: 100%; }
.pwfs-dl-btn-bundle{
  background: var(--pwfs-gold);
  color: #141416 !important;
  font-weight: 600;
  border-color: var(--pwfs-gold);
  padding: 13px 20px;
}
.pwfs-dl-btn-bundle:hover{ background: #ffcf5c; }

.pwfs-bundle-divider{
  max-width: 1200px;
  margin: 0 auto 24px;
  text-align: center;
  position: relative;
  border-top: 1px solid var(--pwfs-line);
}
.pwfs-bundle-divider span{
  position: relative;
  top: -0.7em;
  background: var(--pwfs-bg);
  padding: 0 16px;
  color: var(--pwfs-ink-dim);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pwfs-bundle-photo-grid{ margin-top: 0; }

/* Lizenzhinweis unter der Bundle-Detailseite */
.pwfs-license-hint{
  max-width: 1200px;
  margin: 40px auto 0;
  padding: 20px 24px;
  border: 1px dashed var(--pwfs-line);
  background: var(--pwfs-bg-raised);
  color: var(--pwfs-ink-dim);
  font-size: 0.82rem;
  line-height: 1.6;
}
.pwfs-license-hint strong{ color: var(--pwfs-ink); }
.pwfs-license-hint a{ color: var(--pwfs-gold); text-decoration: underline; }
.pwfs-license-hint a:hover{ color: color-mix(in srgb, var(--pwfs-gold) 80%, white); }
