/*
 * mw-components.css — moerserwelt.de
 *
 * Eigene, von Avada/Fusion Builder unabhängige Layout-Komponenten.
 * Grund: Avadas Custom-CSS-Feld (Theme Options) entfernt moderne Properties
 * wie display:grid/gap beim Kompilieren — deshalb eigene Datei, geladen über
 * wp-content/mu-plugins/mw-components-css.php.
 *
 * Namenskonvention: Klassen mw-*, CSS-Variablen --mw-*.
 * Cache: Datei-Änderungen werden automatisch erkannt (siehe mu-plugin),
 * kein manuelles Cache-Leeren nötig.
 */

:root {
	--mw-accent: #784910;
	--mw-accent-hover: #5f3a0d;
	--mw-gold: #d69e5a;
	--mw-gold-dark: #ab8b65;
	--mw-ink: #333333;
	--mw-muted: #747474;
	--mw-save: #4b7a3d;
	--mw-card-bg: #ffffff;
	--mw-card-border: #ece4d6;
	--mw-radius: 12px;
}

/* ---------------------------------------------------------------------
 * AAWP-Produktboxen: Layout-Klassen des Plugins (aawp-*), nur Farben/
 * Abstände/Formen überschrieben — keine neue Markup-Struktur nötig,
 * AAWP liefert das HTML bereits selbst.
 * ------------------------------------------------------------------- */

.aawp-product {
	background: var(--mw-card-bg);
	border: 1px solid var(--mw-card-border);
	border-radius: var(--mw-radius);
	box-shadow: 0 2px 10px rgba(40, 30, 10, 0.06);
	padding: 24px;
	overflow: hidden;
}

.aawp-product--horizontal {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: center;
}

.aawp-product--horizontal .aawp-product__thumb {
	float: none;
	width: 200px;
	flex: none;
}

.aawp-product--horizontal .aawp-product__content {
	float: none;
	width: auto;
	flex: 1 1 320px;
	padding-left: 0;
}

.aawp-product--horizontal .aawp-product__footer {
	float: none;
	width: 100%;
	clear: both;
}

/* Ribbons NICHT absolut über den Content legen (überdeckt sonst Titel/Text,
 * mehrere Ribbons landen übereinander) — stattdessen normale Inline-Badges
 * im Textfluss vor dem Inhalt, schieben Titel automatisch nach unten weg
 * und stapeln sich bei mehreren von selbst nebeneinander. */
.aawp-product__ribbon {
	position: static !important;
	display: inline-block;
	border-radius: 999px !important;
	padding: 4px 14px !important;
	margin: 0 6px 8px 0 !important;
	font-weight: 700;
	font-size: 11px !important;
	letter-spacing: 0.03em;
}

.aawp-product__ribbon--bestseller,
.aawp-product__ribbon--new {
	background: var(--mw-gold) !important;
	color: #fff !important;
}

.aawp-product__ribbon--sale {
	background: var(--mw-save) !important;
	color: #fff !important;
}

.aawp-product__image {
	border-radius: calc(var(--mw-radius) - 4px);
}

.aawp-product__title {
	color: var(--mw-ink);
	font-weight: 700;
}

.aawp-product__title:hover {
	color: var(--mw-accent);
}

.aawp-product__price--current {
	color: var(--mw-accent);
	font-size: 20px;
}

.aawp-product__price--old {
	color: var(--mw-muted);
}

.aawp-product__price--saved {
	background: var(--mw-save);
	color: #fff;
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 13px;
	font-weight: 700;
}

.aawp-button--buy,
.aawp-button {
	border-radius: 999px !important;
	padding: 10px 22px !important;
	font-weight: 700 !important;
}

.aawp-button--buy {
	background: var(--mw-accent) !important;
	background-image: none !important;
	border-color: var(--mw-accent) !important;
	color: #fff !important;
}

.aawp-button--buy:hover,
.aawp-button--buy:focus,
.aawp-button--buy:active {
	background: var(--mw-accent-hover) !important;
	background-image: none !important;
	border-color: var(--mw-accent-hover) !important;
	color: #fff !important;
}

/* Vergleichstabelle ([amazon table="..."]) */
.aawp-table {
	border: 1px solid var(--mw-card-border);
	border-radius: var(--mw-radius);
	overflow: hidden;
	font-size: 15px;
}

.aawp-table th {
	background: #f7f0e3;
	color: var(--mw-ink);
	border-bottom: none !important;
	padding: 14px 10px !important;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.aawp-table td {
	border-bottom: 1px solid var(--mw-card-border) !important;
	padding: 16px 10px !important;
}

.aawp-table tr:last-child td {
	border-bottom: none !important;
}

/* Table-Builder-Vergleichstabellen ([amazon table="ID"], eigener Post-Type
 * aawp_table) — andere Markup-Struktur als .aawp-table (display:table statt
 * <table>), daher eigener Block. */
.aawp-tb--desktop,
.aawp-tb--mobile {
	border: 1px solid var(--mw-card-border);
	border-radius: var(--mw-radius);
	overflow: hidden;
	background: var(--mw-card-bg);
}

.aawp-tb__head {
	background: #f7f0e3 !important;
	color: var(--mw-ink);
	font-size: 12px !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-color: var(--mw-card-border) !important;
}

.aawp-tb__data {
	border-color: var(--mw-card-border) !important;
	padding: 16px !important;
}

/* Wichtig: .aawp-tb__row--highlight markiert eine ganze Attribut-ZEILE als
 * hervorgehoben (z. B. „Preis" für alle Produkte) — .aawp-tb__data--highlight
 * dagegen die SPALTE des Bestseller-Produkts über alle Zeilen. Beides sind
 * unterschiedliche Dinge, nicht verwechseln (war hier zuerst vertauscht:
 * Zeilen-Hintergrund machte die Preise anderer Produkte kaum lesbar). */
.aawp-tb__data--highlight {
	background: #fbf6ec;
}

.aawp-tb__row--highlight .aawp-product__price {
	font-weight: 700;
}

.aawp-tb-ribbon {
	position: static !important;
	display: inline-block;
	background: var(--mw-gold) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 3px 12px !important;
	margin-bottom: 8px !important;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.aawp-tb__product {
	border: 1px solid var(--mw-card-border) !important;
	border-radius: var(--mw-radius);
	overflow: hidden;
}

/* Produkt-Grid ([amazon ... grid="2|3"]) — moderne CSS-Grid statt
 * AAWP-Standard-Flex mit negativen Margins. */
.aawp-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
	margin: 0 !important;
}

.aawp-grid--col-2 {
	grid-template-columns: repeat(2, 1fr);
}

.aawp-grid--col-3 {
	grid-template-columns: repeat(3, 1fr);
}

.aawp-grid__item {
	width: auto !important;
	margin: 0 !important;
}

@media (max-width: 700px) {
	.aawp-grid--col-2,
	.aawp-grid--col-3 {
		grid-template-columns: 1fr;
	}

	.aawp-product--horizontal .aawp-product__thumb {
		width: 100%;
	}
}
