/* ==========================================================================
   PK Custom Buttons – FRONTEND-ONLY CSS
   --------------------------------------------------------------------------
   Diese Datei wird NUR gezielt geladen, wenn eine Seite eine der unten
   aufgeführten Komponenten tatsächlich enthält (siehe custom-buttons.php,
   Funktion pk_enqueue_frontend_style()). Sie enthält bewusst KEIN
   Admin-, Editor-, Modal-, Telegram- oder Einstellungs-CSS. Diese bleiben
   ausschließlich in assets/css/style-buttons.css, die nur im WP-Adminbereich
   (admin_enqueue_scripts) bzw. TinyMCE geladen wird.
   ========================================================================== */

/* --- Artikelbilder (pk-attachment-figure) ------------------------------- */
.pk-attachment-figure{max-width:100%;width:fit-content}

/* --- Im Editor erzeugte, im Frontend gerenderte Inhaltsblöcke ----------- */
.yt-responsive{position:relative;height:0;margin:1.5em 0;padding-bottom:56.25%;overflow:hidden}
.yt-responsive iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.deal-map__iframe{border:0}

/* --- Top-Deal-Box (Produktseite: beide Spalten gleich hoch) ------------- */
@media (min-width: 769px) {
    .pk-top-deal-box { display: flex !important; align-items: stretch !important; }
    .pk-top-deal-box .wpsm-one-half { float: none !important; display: flex !important; flex-direction: column !important; }
    .pk-top-deal-box .single-deal-btn-wrap { margin-top: auto !important; }
}

/* --- Routen/Maps ---------------------------------------------------------
   (public/route-render.js) */
.pk-route{position:relative;height:var(--pk-route-height,480px);border-radius:14px;overflow:hidden}
.pk-route-height-400{height:400px}
.pk-route-height-480{height:480px}
.pk-route-height-600{height:600px}
.pk-route-height-720{height:720px}
.pk-route-error{position:absolute;inset:0;display:grid;place-items:center;font:600 14px/1.3 system-ui}
.pk-route__map{width:100%;border-radius:12px;box-shadow:0 8px 16px rgba(0,0,0,.15);overflow:hidden}
.pk-marker{display:flex;align-items:center;gap:.42rem}
.pk-marker .dot{width:8px;height:8px;border-radius:50%;background:#111827;box-shadow:0 0 0 2px rgba(0,0,0,.15),0 1px 6px rgba(0,0,0,.25)}
.pk-marker .txt{font:800 12px sans-serif;letter-spacing:.02em;color:#0b1220;text-shadow:0 1px 2px rgba(255,255,255,.55);padding:.06rem .20rem;border-radius:.25rem;background:rgba(255,255,255,.55);backdrop-filter:blur(2px)}
html[data-theme="dark"] .pk-marker .dot{background:#e5e7eb;box-shadow:0 0 0 2px rgba(255,255,255,.08),0 1px 6px rgba(0,0,0,.55)}
html[data-theme="dark"] .pk-marker .txt{color:#e5e7eb;background:rgba(0,0,0,.45);text-shadow:0 1px 2px rgba(0,0,0,.65)}

/* --- EAN-/Produktinformationen (Ausgabe von buttons/ean.js im Content) -- */
.pk-box { background: #fff; border: 1px solid #ccc; border-radius: 8px; padding: 15px; color: #333; }
.pk-box-alt { background: #f8f9fa; border: 1px solid #e2e8f0; border-radius: 6px; padding: 15px; }
.pk-table { width: 100%; border-collapse: collapse; text-align: left; margin-bottom: 20px; }
.pk-table th { background: #f1f5f9; padding: 10px; border-bottom: 2px solid #cbd5e1; color: #333; }
.pk-table td { padding: 10px; border-bottom: 1px solid #e2e8f0; }
.pk-table tr:nth-child(even) { background: #f8f9fa; }
#ean-output{display:none;margin-top:20px}
.product-info-wrapper{max-width:800px;margin-bottom:30px;font-family:Arial,sans-serif;line-height:1.6}
.pk-ean-card{display:flex;align-items:center;justify-content:space-between}
.pk-ean-kicker{display:block;margin-bottom:2px;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.pk-ean-code{font-size:20px}
.pk-ean-barcode-box{padding:5px}
.pk-ean-barcode{display:block;height:45px}
.pk-ean-scores{display:flex;flex-wrap:wrap;gap:20px;margin:15px 0 25px}
.pk-ean-score{text-align:center}
.pk-ean-score img{height:60px}
.pk-ean-indent{padding-left:15px}
.pk-ean-nutrient,.pk-ean-badge span{font-weight:600}
.pk-state-good{color:#16a34a!important}
.pk-state-warning{color:#ea580c!important}
.pk-state-danger{color:#dc2626!important}
.pk-ean-heading{margin-bottom:5px;font-size:18px}
.pk-ean-heading-first{margin-top:0;margin-bottom:10px}
.pk-ean-copy{margin:0 0 20px;font-size:14px}
.pk-ean-badges{display:flex;flex-wrap:wrap;gap:15px;margin-top:15px}
.pk-ean-badge{display:flex;align-items:center;gap:8px}
.pk-ean-badge img{height:24px}

/* --- Dark-Mode-Anpassungen für die o.g. Frontend-Komponenten ------------ */
html[data-theme="dark"] .pk-box { background: #1e1e1e !important; border-color: #333 !important; color: #eee !important; box-shadow: 0 4px 15px rgba(0,0,0,0.5) !important; }
html[data-theme="dark"] .pk-box-alt { background: #181818 !important; border-color: #333 !important; color: #ccc !important; }
html[data-theme="dark"] .pk-table th { background: #141414 !important; border-color: #333 !important; color: #aaa !important; }
html[data-theme="dark"] .pk-table td { border-color: #333 !important; color: #ccc !important; }
html[data-theme="dark"] .pk-table tr { background: #1e1e1e !important; }
html[data-theme="dark"] .pk-table tr:nth-child(even) { background: #222 !important; }

/* --- Wetter-/Reiseklima-Widget (public/wetterkarte-render.js) ----------- */
.pkw-widget{--pkw-bg:#f8fafc;--pkw-card:#fff;--pkw-border:#e2e8f0;--pkw-text:#0f172a;--pkw-muted:#64748b;box-sizing:border-box;padding:20px;border-radius:16px;background:var(--pkw-bg);color:var(--pkw-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px}
.pkw-widget.is-dark{--pkw-bg:#0f172a;--pkw-card:#1e293b;--pkw-border:#334155;--pkw-text:#e2e8f0;--pkw-muted:#94a3b8}
.pkw-widget *{box-sizing:border-box}
.pkw-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.pkw-header-group,.pkw-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pkw-controls{gap:8px}
.pkw-city-chip{padding:.3rem .8rem;border-radius:999px;background:linear-gradient(135deg,#0ea5e9,#0b7cff,#7c3aed);color:#fff;font-size:1.05rem;font-weight:800}
.pkw-badge{display:inline-block;padding:.2rem .65rem;border-radius:999px;font-size:.82rem;font-weight:600;white-space:nowrap}
.pkw-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pkw-status-best{background:#dcfce7;color:#16a34a}
.pkw-status-limited{background:#fef3c7;color:#d97706}
.pkw-status-no{background:#fee2e2;color:#dc2626}
.pkw-status-info{background:#dbeafe;color:#1d4ed8}
.pkw-month-select{padding:.25rem .5rem;border:1px solid var(--pkw-border);border-radius:8px;background:var(--pkw-card);color:var(--pkw-text);font-size:.85rem;cursor:pointer}
.pkw-source{color:var(--pkw-muted);font-size:.8rem}
.pkw-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:16px}
.pkw-kpi{padding:12px 14px;border:1px solid var(--pkw-border);border-radius:12px;background:var(--pkw-card)}
.pkw-kpi-label{margin-bottom:3px;color:var(--pkw-muted);font-size:.78rem}
.pkw-kpi-val{color:var(--pkw-text);font-size:1.2rem;font-weight:800}
.pkw-empty{opacity:.4}
.pkw-charts{display:grid;grid-template-columns:1fr;gap:14px;margin-bottom:16px}
.pkw-chart-full{grid-column:1/-1}
.pkw-chart-card{padding:14px;border:1px solid var(--pkw-border);border-radius:14px;background:var(--pkw-card)}
.pkw-chart-title{margin:0 0 10px;color:#0b7cff;font-size:.95rem;font-weight:700}
.pkw-chart-wrap{position:relative;height:220px}
.pkw-seasons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pkw-season-chip{padding:7px 12px;border:1px solid var(--pkw-border);border-radius:10px;background:var(--pkw-card);color:var(--pkw-text);font-size:.83rem}
.pkw-season-stat{display:inline-block;margin-left:5px;padding:.1rem .45rem;border:1px solid var(--pkw-border);border-radius:999px;background:var(--pkw-bg);color:var(--pkw-muted);font-size:.77rem}
.pkw-snippet{margin:8px 0 0;color:var(--pkw-muted);font-size:.88rem;line-height:1.5}
.pkw-snippet strong{color:var(--pkw-text)}
.pkw-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;color:var(--pkw-muted);font-size:.78rem}
.pkw-footer{margin-top:10px;color:var(--pkw-muted);font-size:.75rem;text-align:right;opacity:.7}
.pkw-loading-card{padding:30px;border-radius:16px;background:#f8fafc;color:#64748b;font-family:sans-serif;text-align:center}
.pkw-loading-icon{margin-bottom:8px;font-size:2rem}
.pkw-loading-card strong{color:#0f172a}
.pkw-loading-text{margin-top:8px;font-size:.9rem}
.pkw-loading-track{height:4px;margin-top:16px;border-radius:4px;background:#e2e8f0;overflow:hidden}
.pkw-loading-bar{height:100%;width:60%;border-radius:4px;background:linear-gradient(90deg,#0b7cff,#7c3aed);animation:pkw-bar 1.4s ease-in-out infinite alternate}
.pkw-error-card{padding:16px;border-radius:12px;background:#fee2e2;color:#991b1b;font-family:sans-serif;font-size:.9rem}
@keyframes pkw-bar{from{width:20%}to{width:90%}}
@media(min-width:640px){.pkw-charts{grid-template-columns:1fr 1fr}}