/* EB Garamond Fonts */
@font-face {
  font-display: swap;
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400;
  src: url('https://www.oelea.de/themes/custom/oelea/fonts/eb-garamond-v31-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400;
  src: url('https://www.oelea.de/themes/custom/oelea/fonts/eb-garamond-v31-latin_latin-ext-italic.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 700;
  src: url('https://www.oelea.de/themes/custom/oelea/fonts/eb-garamond-v31-latin_latin-ext-700.woff2') format('woff2');
}

:root{
  --brand-green:#6cb155;
  --brand-dark:#20242a;
  --gray-50:#fafbfc;
  --gray-100:#f4f5f7;
  --gray-200:#e6e8eb;
  --grid:rgba(32,36,42,0.08);
}
html, body {
  margin: 0;
  padding: 0;
  background: var(--gray-50);
  color: var(--brand-dark);
  font: 16px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

h1, h2 {
  font-family: 'EB Garamond', serif;
}

/* Header – einheitlicher Hintergrund, kein dunkler Balken */
.topbar{
  background: var(--gray-50);
  color: var(--brand-dark);
}
.topbar-inner{
  max-width:1000px; margin:0 auto;
  display:flex; align-items:center; gap:20px;
  padding:24px 24px 0;
}

/* Logo im Kreis + Seitentitel */
.brand{display:flex; align-items:center; gap:14px}
.brand-circle{
  display:flex; align-items:center; justify-content:center;
  width:76px; height:76px;
  border-radius:50%;
  background:var(--brand-dark);
  overflow:hidden;
  flex-shrink:0;
}
.brand-circle img{
  width:46px; height:auto;
  display:block;
}
.brand-title{
  font-family:'EB Garamond', serif;
  font-size:2rem;
  font-weight:700;
  margin:0;
}

/* Refresh-Button – dunkler Rahmen auf hellem Grund */
.btn-refresh{ margin-left:auto; appearance:none; background:none; color:var(--brand-dark); border:1px solid var(--brand-dark); border-radius:8px; padding:.55em .9em; font:16px/1.2 'EB Garamond', serif; cursor:pointer; transition:transform .05s ease, background-color .2s ease, color .2s ease; }
.btn-refresh:hover{ background:var(--brand-dark); color:#fff; }
.btn-refresh:active{ transform:translateY(1px); }
.btn-refresh[disabled]{ opacity:.6; cursor:not-allowed; }

/* Loading: nur Text pulsiert, Button bleibt clean */
.btn-refresh.loading{ border-color:var(--brand-dark); }
.btn-refresh.loading > span{
  animation:pulseText 0.9s ease-in-out infinite;
  will-change:transform, opacity;
}

/* sanfter Puls ohne Layoutsprung */
@keyframes pulseText{
  0%   { opacity: .55; transform: scale(1); }
  50%  { opacity: 1;   transform: scale(1.06); }
  100% { opacity: .55; transform: scale(1); }
}

/* Seite */
.wrap{max-width:1000px;margin:0 auto;padding:24px}
h1{margin:14px 0 18px;font-size:2.5em;}
h2{margin:24px 0 12px;font-size:2em;}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:12px 0 20px}
.kpi{
  background:var(--gray-100);
  border:1px solid var(--gray-200);
  border-left:6px solid var(--brand-green);
  border-radius:12px;padding:12px 14px
}
.kpi strong{display:block;font-size:13px;color:#666;margin-bottom:6px}
.kpi b{font-size:26px;font-weight:800}
.kpi .kpi-sub{display:block;font-size:12px;color:#999;margin-top:3px}

/* Explanatory note for charts – styled like the table legend */
.chart-note{font-size:.85em;color:#444;margin:0 0 12px;line-height:1.5;border:1px solid var(--gray-200);border-radius:8px;padding:8px 14px;background:#fff}

.card{
  background:#fff;border:1px solid var(--gray-200);border-radius:14px;padding:16px;position:relative;min-height:220px
}
.empty{position:absolute;inset:0;display:grid;place-items:center;color:#7a828d;font-size:14px}
canvas{max-width:100%;height:380px}

/* 3-column KPI variant */
.kpis--3{grid-template-columns:repeat(3,1fr)}
/* 4-column KPI variant (latest orders: 4 days) */
.kpis--4{grid-template-columns:repeat(4,1fr)}

/* Latest orders table */
.latest-tbl{width:100%;border-collapse:collapse;font-size:.75em}
.latest-tbl th,
.latest-tbl td{padding:.65em 8px;white-space:nowrap;text-align:left;border-bottom:1px solid rgba(0,0,0,0.2)}
.latest-tbl tr:nth-child(even){background:#f7f7f7}
.latest-tbl tr:nth-child(odd){background:#fff}
.latest-tbl tr:hover{background-color:#edf5e8}
.latest-tbl td.narrow{width:7rem}
.latest-tbl tr.is-cancelled{text-decoration:line-through;opacity:.7}
.latest-tbl .day-row td{background:#eee;font-weight:700;border-bottom:2px solid #333;padding:.5em 8px}
.latest-tbl .day-row:hover td{background:#eee}

/* Column overflow */
.col-ref,.col-camp,.col-land,.col-coupon{overflow:hidden;text-overflow:ellipsis}
.col-coupon{max-width:140px;font-size:.85em}
.col-pay{white-space:nowrap}
.pay--done{color:var(--brand-green);font-weight:700}
.pay--pending{opacity:.45}
.col-ref{max-width:200px}
.col-camp{max-width:220px}
.col-land{max-width:360px}

/* Referrer badge with icon (SVG via CSS ::before) */
.ref-badge{position:relative;padding-left:1.6rem}
.ref-badge::before{
  content:"";position:absolute;left:0;top:50%;
  width:1.1rem;height:1.1rem;
  transform:translateY(-50%);
  background-size:contain;background-repeat:no-repeat;
  opacity:.95;
}
.ref--tiktok::before{background-image:url("/assets/icons/tiktok.svg")}
.ref--amazon::before{background-image:url("/assets/icons/amazon.svg")}
.ref--google-ads::before{background-image:url("/assets/icons/google-ads.svg")}
.ref--google::before{background-image:url("/assets/icons/google.svg")}
.ref--utm-chatgpt-com::before,.ref--chatgpt::before{background-image:url("/assets/icons/chatgpt.svg")}
.ref--perplexity::before{background-image:url("/assets/icons/perplexity.svg")}
.ref--gemini::before{background-image:url("/assets/icons/gemini.svg")}
.ref--gutefrage::before{background-image:url("/assets/icons/gutefrage.svg")}
.ref--referral::before{background-image:url("/assets/icons/link.svg")}
.ref--bing::before{background-image:url("/assets/icons/bing.svg")}
.ref--email::before{background-image:url("/assets/icons/mailchimp.svg")}
.ref--direct::before{background-image:url("/assets/icons/direct.svg")}
.ref--adblocker::before{background-image:url("/assets/icons/ninja.svg")}

/* Landing page category labels */
.land-label{
  display:inline-block;font-weight:400;font-size:.85em;letter-spacing:-.03em;
  color:#f7f7f7;background:#242424;padding:1px 6px;border-radius:2px;margin-right:3px;vertical-align:baseline;
}
.land--produkt{border-left:3px solid #f5d5a8}
.land--blog{border-left:3px solid #a8d4f5}
.land--page{border-left:3px solid #f5f0a8}
.land--kollektion{border-left:3px solid #d4b8f5}
.land--startseite{border-left:3px solid #d0d0d0}
.land-link{color:inherit;text-decoration:none}
.land-link:hover{text-decoration:underline;text-decoration-color:#aaa}

/* Status icons in orders table */
.col-status{width:1.8em;text-align:center;padding-left:4px;padding-right:0}
.status-icon{line-height:1}
.status--final{color:var(--brand-green);font-size:1.1em;font-weight:700}
.status--pending{opacity:.35;font-size:.85em}
.status--cancelled{color:#b00;font-size:.9em;font-weight:700}

/* Table legend – status icons explained, sits above the table */
.table-legend{margin:0 0 12px;display:flex;gap:20px;font-size:.85em;color:#444;border:1px solid var(--gray-200);border-radius:8px;padding:8px 14px;background:#fff}
.legend-item{display:flex;align-items:center;gap:5px}

/* Product tooltip on price hover */
td.has-tooltip{cursor:default}
.item-tooltip{
  display:none;position:absolute;bottom:100%;left:0;
  background:#222;color:#fff;font-size:.7rem;
  padding:6px 10px;border-radius:6px;white-space:nowrap;
  z-index:100;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.item-tooltip::after{
  content:"";position:absolute;top:100%;left:16px;
  border:5px solid transparent;border-top-color:#222;
}
.item-tooltip-tbl{border-collapse:collapse}
.item-tooltip-tbl td,.item-tooltip-tbl tr{background:transparent!important;border:none!important}
.item-tooltip-tbl td{padding:1px 6px;vertical-align:top}
.item-tooltip-tbl td:first-child{text-align:right;padding-left:0}
.item-tooltip-tbl td:last-child{text-align:right;padding-right:0}
td.has-tooltip:hover .item-tooltip{display:block}

/* Coupon stats table – compact data table styled like latest-tbl */
.coupon-tbl{width:100%;border-collapse:collapse;font-size:.85em}
.coupon-tbl th,
.coupon-tbl td{padding:.65em 8px;white-space:nowrap;text-align:left;border-bottom:1px solid rgba(0,0,0,0.2)}
.coupon-tbl th{font-weight:700;font-size:.85em;color:#444;vertical-align:top}
.coupon-tbl tr:nth-child(even){background:#f7f7f7}
.coupon-tbl tr:nth-child(odd){background:#fff}
.coupon-tbl tr:hover{background-color:#edf5e8}
.coupon-tbl .num{text-align:right}

/* Mailchimp campaign table – same base as coupon-tbl */
.mc-campaign-tbl{width:100%;border-collapse:collapse;font-size:.85em}
.mc-campaign-tbl th,
.mc-campaign-tbl td{padding:.65em 8px;white-space:nowrap;text-align:left;border-bottom:1px solid rgba(0,0,0,0.2)}
.mc-campaign-tbl th{font-weight:700;font-size:.85em;color:#444;vertical-align:top}
.mc-campaign-tbl tr:nth-child(even){background:#f7f7f7}
.mc-campaign-tbl tr:nth-child(odd){background:#fff}
.mc-campaign-tbl tr:hover{background-color:#edf5e8}
.mc-campaign-tbl .num{text-align:right}

/* Conversion Insights section – 2-column grid with metric cards */
.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 16px}
.insights-card{min-height:auto;padding:16px}
.insights-card h3{font-family:'EB Garamond', serif;font-size:1.1rem;font-weight:700;margin:0 0 12px;color:var(--brand-dark)}

/* Insights tables – reuse coupon-tbl pattern */
.insights-tbl{width:100%;border-collapse:collapse;font-size:.8em}
.insights-tbl th,
.insights-tbl td{padding:.5em 6px;white-space:nowrap;text-align:left;border-bottom:1px solid rgba(0,0,0,0.15)}
.insights-tbl th{font-weight:700;font-size:.85em;color:#444;vertical-align:top}
.insights-tbl tr:nth-child(even){background:#f7f7f7}
.insights-tbl tr:nth-child(odd){background:#fff}
.insights-tbl tr:hover{background-color:#edf5e8}
.insights-tbl .num{text-align:right}

/* Insights KPI pairs (with/without comparison) */
.ins-kpi-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.ins-kpi{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:8px;padding:10px 12px}
.ins-kpi strong{display:block;font-size:.75em;color:#666;margin-bottom:4px}
.ins-kpi b{font-size:1.2em;font-weight:800}
.ins-kpi small{display:block;font-size:.75em;color:#888;margin-top:2px}

/* Top codes list under coupon impact */
.ins-top-codes{font-size:.8em;color:#444;margin-top:8px}
.ins-top-codes dt{font-weight:600;display:inline}
.ins-top-codes dd{display:inline;margin:0 12px 0 0}

/* LLM insights card – full width below grid */
.insights-llm{margin:0 0 20px;min-height:120px}
.insights-llm h3{font-family:'EB Garamond', serif;font-size:1.1rem;font-weight:700;margin:0 0 12px;color:var(--brand-dark)}
.llm-content{line-height:1.6;font-size:.9em}
.llm-content h3{font-size:1em;font-weight:700;margin:16px 0 6px}
.llm-content h4{font-size:.95em;font-weight:700;margin:12px 0 4px}
.llm-content ul{margin:4px 0 10px 18px;padding:0}
.llm-content li{margin-bottom:4px}
.llm-content p{margin:6px 0}
.llm-content strong{font-weight:700}
.llm-meta{font-size:.75em;color:#999;margin-top:12px;text-align:right}

/* Key differences list (abandoned carts) */
.ins-diff-list{font-size:.8em;color:#444;margin:8px 0 0;padding-left:16px}
.ins-diff-list li{margin-bottom:3px}

/* ── Trend-Alerts: gelbe Info-Box für 7-Tage-Vergleich ── */
.trend-alerts{background:#fef9e7;border:1px solid #f0d77b;border-radius:10px;padding:14px 18px;margin:0 0 16px;font-size:.88em;line-height:1.6}
.trend-alerts-title{font-weight:700;margin:0 0 6px;font-size:.95em}
.trend-alerts-list{margin:0;padding-left:18px;list-style:disc}
.trend-alerts-list li{margin-bottom:3px}

/* ── Card-Summaries: LLM-Zusammenfassung unter jeder Metriken-Card ── */
.ins-card-summary{font-size:.8em;color:#555;line-height:1.5;margin-top:10px;padding-top:10px;border-top:1px solid var(--gray-200)}

/* ── Empfehlungs-Cards: individuelle Cards statt Textwüste ── */
.rec-cards{display:grid;grid-template-columns:1fr;gap:12px}
.rec-card{background:var(--gray-100);border:1px solid var(--gray-200);border-radius:10px;padding:14px 16px}
.rec-card-header{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.rec-card-title{font-weight:700;font-size:1em;margin:4px 0 6px}
.rec-card-insight{font-size:.88em;color:#444;margin:0 0 6px;line-height:1.5}
.rec-card-action{font-size:.88em;color:var(--brand-dark);margin:0;line-height:1.5;font-weight:500}
.rec-card-action::before{content:"→ ";font-weight:700}

/* Impact/Aufwand-Badges: farbcodiert */
.badge{display:inline-block;font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px}
.badge-impact-hoch{background:#f8d7da;color:#721c24}
.badge-impact-mittel{background:#fff3cd;color:#856404}
.badge-impact-niedrig{background:#d4edda;color:#155724}
.badge-effort{background:var(--gray-200);color:#555}

@media (max-width:900px){ .kpis{grid-template-columns:1fr 1fr} .kpis--3{grid-template-columns:1fr 1fr 1fr} .kpis--4{grid-template-columns:1fr 1fr} canvas{height:300px} .insights-grid{grid-template-columns:1fr} }
@media (max-width:560px){ .kpis{grid-template-columns:1fr} .kpis--3{grid-template-columns:1fr} .kpis--4{grid-template-columns:1fr 1fr} .brand-title{display:none} .latest-tbl{font-size:.75rem} }
