/*
Theme Name: Uebeweb Plugins
Theme URI: https://plugins.uebeweb.de/
Author: Uebeweb
Description: Modernes, responsives WordPress-Theme für die Uebeweb Plugin-Website. Kompatibel mit dem PhysioTools Store & License Manager.
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: uebeweb-plugins
*/

:root {
  --uw-bg: #f7f9fc;
  --uw-surface: #ffffff;
  --uw-surface-2: #f0f5ff;
  --uw-ink: #122033;
  --uw-muted: #617087;
  --uw-line: #dfe6ef;
  --uw-brand: #3657e8;
  --uw-brand-dark: #233fc0;
  --uw-brand-soft: #e9edff;
  --uw-green: #137a5a;
  --uw-green-soft: #e8f7f1;
  --uw-orange: #a75412;
  --uw-orange-soft: #fff1e3;
  --uw-shadow: 0 24px 70px rgba(18, 32, 51, .10);
  --uw-shadow-sm: 0 12px 36px rgba(18, 32, 51, .07);
  --uw-radius: 24px;
  --uw-radius-sm: 16px;
  --uw-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body {
  margin: 0;
  color: var(--uw-ink);
  background: var(--uw-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .uw-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: var(--uw-brand); text-underline-offset: 3px; }
button, input, textarea, select { font: inherit; }

.uw-wrap { width: min(var(--uw-max), calc(100% - 40px)); margin-inline: auto; }
.uw-section { padding: 92px 0; }
.uw-section--compact { padding: 66px 0; }
.uw-section--white { background: var(--uw-surface); }
.uw-section--dark { background: #111d2f; color: #fff; }
.uw-section--soft { background: linear-gradient(180deg, #eef3ff 0%, #f7f9fc 100%); }
.uw-anchor { scroll-margin-top: 100px; }

.uw-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--uw-brand);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.uw-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 999px; background: currentColor; }
.uw-section--dark .uw-eyebrow { color: #9eb0ff; }

h1, h2, h3, h4 { color: inherit; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.8rem, 7vw, 5.35rem); margin: 0; letter-spacing: -.065em; }
h2 { font-size: clamp(2.1rem, 4.5vw, 3.55rem); margin: 0 0 18px; }
h3 { font-size: 1.45rem; margin: 0 0 10px; }
p { margin-top: 0; }
.uw-lead { max-width: 730px; color: var(--uw-muted); font-size: clamp(1.08rem, 2vw, 1.25rem); }
.uw-section--dark .uw-lead { color: #b9c5d8; }
.uw-section-intro { max-width: 760px; margin-bottom: 38px; color: var(--uw-muted); font-size: 1.06rem; }
.uw-section--dark .uw-section-intro { color: #b9c5d8; }

/* Header */
.uw-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(223, 230, 239, .86);
  background: rgba(247, 249, 252, .90);
  backdrop-filter: blur(16px);
}
.uw-header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.uw-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--uw-ink); text-decoration: none; font-weight: 900; letter-spacing: -.035em; }
.uw-brand-mark {
  width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px;
  color: #fff; background: linear-gradient(135deg, var(--uw-brand), #7b4de8); box-shadow: 0 9px 24px rgba(54, 87, 232, .27);
}
.uw-brand-mark svg { width: 22px; height: 22px; }
.uw-brand-text { font-size: 1.13rem; }
.uw-nav { display: flex; align-items: center; gap: 5px; }
.uw-nav a { padding: 10px 12px; border-radius: 10px; color: #42516a; text-decoration: none; font-size: .95rem; font-weight: 700; }
.uw-nav a:hover, .uw-nav a:focus-visible { background: #edf1f8; color: var(--uw-ink); }
.uw-nav .uw-nav-cta { margin-left: 7px; padding-inline: 16px; color: #fff; background: var(--uw-brand); }
.uw-nav .uw-nav-cta:hover, .uw-nav .uw-nav-cta:focus-visible { color: #fff; background: var(--uw-brand-dark); }
.uw-menu-toggle { display: none; width: 44px; height: 44px; padding: 0; border: 1px solid var(--uw-line); border-radius: 12px; background: #fff; color: var(--uw-ink); cursor: pointer; }
.uw-menu-toggle svg { width: 22px; height: 22px; }

/* Hero */
.uw-hero {
  overflow: hidden;
  padding: 94px 0 82px;
  background:
    radial-gradient(circle at 86% 6%, rgba(117, 90, 255, .19) 0, transparent 30%),
    radial-gradient(circle at 66% 58%, rgba(54, 87, 232, .12) 0, transparent 34%),
    linear-gradient(180deg, #fff 0%, #f7f9fc 82%);
}
.uw-hero-grid { display: grid; grid-template-columns: 1.06fr .94fr; gap: 70px; align-items: center; }
.uw-announcement {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 22px; padding: 7px 11px 7px 8px;
  border: 1px solid #cfd8ff; border-radius: 999px; background: rgba(255,255,255,.82); color: #3a4b72; font-size: .86rem; font-weight: 700;
}
.uw-announcement-dot { width: 9px; height: 9px; border-radius: 50%; background: #20a477; box-shadow: 0 0 0 5px rgba(32, 164, 119, .11); }
.uw-hero h1 span { color: var(--uw-brand); }
.uw-hero .uw-lead { margin: 24px 0 0; }
.uw-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.uw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 18px;
  border: 1px solid var(--uw-line); border-radius: 13px; color: var(--uw-ink); background: #fff; text-decoration: none; font-weight: 800;
  box-shadow: 0 3px 0 rgba(18,32,51,.02); transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.uw-btn:hover { transform: translateY(-1px); box-shadow: var(--uw-shadow-sm); }
.uw-btn--primary { border-color: var(--uw-brand); color: #fff; background: var(--uw-brand); }
.uw-btn--primary:hover { background: var(--uw-brand-dark); }
.uw-btn--ghost-dark { border-color: #35455f; color: #fff; background: rgba(255,255,255,.06); }
.uw-btn--disabled { color: #66758b; background: #f1f4f8; cursor: default; box-shadow: none; }
.uw-btn svg { width: 18px; height: 18px; }

.uw-product-preview { position: relative; min-height: 470px; }
.uw-preview-orb { position: absolute; width: 330px; height: 330px; right: 5%; top: 11%; border-radius: 50%; background: linear-gradient(135deg, #dfe5ff, #f0e6ff); filter: blur(.2px); }
.uw-window {
  position: absolute; overflow: hidden; border: 1px solid rgba(207,216,228,.9); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: var(--uw-shadow);
}
.uw-window--booking { width: 82%; left: 0; top: 0; transform: rotate(-1.6deg); }
.uw-window--onboarding { width: 67%; right: 0; bottom: 2%; transform: rotate(2deg); }
.uw-window-head { height: 44px; display: flex; align-items: center; gap: 6px; padding: 0 14px; border-bottom: 1px solid var(--uw-line); background: #fbfcfe; }
.uw-window-dot { width: 8px; height: 8px; border-radius: 50%; background: #ccd5e2; }
.uw-window-title { margin-left: 7px; color: #66758b; font-size: .73rem; font-weight: 700; }
.uw-window-body { padding: 20px; }
.uw-mini-title { margin-bottom: 14px; font-size: .92rem; font-weight: 850; }
.uw-calendar { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.uw-cal-day { min-height: 48px; padding: 6px; border: 1px solid #e2e8f0; border-radius: 9px; color: #68768b; background: #f9fafc; font-size: .64rem; text-align: center; }
.uw-cal-day b { display: block; color: #25344d; font-size: .78rem; }
.uw-cal-day--free { border-color: #b7e0d2; background: #edf9f4; }
.uw-cal-day--selected { border-color: #6d82ed; background: #eef1ff; box-shadow: inset 0 0 0 1px #6d82ed; }
.uw-flow { display: grid; gap: 9px; }
.uw-flow-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #e3e9f1; border-radius: 11px; background: #fbfcfe; color: #4b5b73; font-size: .76rem; font-weight: 700; }
.uw-flow-icon { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: var(--uw-brand); background: var(--uw-brand-soft); font-size: .7rem; font-weight: 900; }

/* Trust / facts */
.uw-facts { position: relative; z-index: 2; margin-top: -1px; padding: 24px 0; border-block: 1px solid var(--uw-line); background: rgba(255,255,255,.72); }
.uw-facts-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.uw-fact { display: flex; align-items: center; gap: 11px; color: #4e5e74; font-size: .92rem; font-weight: 700; }
.uw-fact-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--uw-brand); background: var(--uw-brand-soft); }
.uw-fact-icon svg { width: 18px; height: 18px; }

/* Cards */
.uw-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.uw-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
.uw-card { position: relative; border: 1px solid var(--uw-line); border-radius: var(--uw-radius); background: var(--uw-surface); box-shadow: var(--uw-shadow-sm); }
.uw-product-card { display: flex; flex-direction: column; min-height: 100%; padding: 30px; }
.uw-product-card--featured { border-color: #c9d2ff; box-shadow: 0 20px 60px rgba(54,87,232,.12); }
.uw-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.uw-plugin-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; color: #fff; background: linear-gradient(135deg, var(--uw-brand), #7d54e7); box-shadow: 0 12px 28px rgba(54,87,232,.24); }
.uw-plugin-icon svg { width: 29px; height: 29px; }
.uw-plugin-icon--green { background: linear-gradient(135deg, #158568, #2ca885); box-shadow: 0 12px 28px rgba(21,133,104,.20); }
.uw-badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; font-size: .74rem; font-weight: 850; letter-spacing: .025em; }
.uw-badge--free { color: var(--uw-green); background: var(--uw-green-soft); }
.uw-badge--dev { color: var(--uw-orange); background: var(--uw-orange-soft); }
.uw-product-card p { color: var(--uw-muted); }
.uw-feature-list { display: grid; gap: 10px; padding: 0; margin: 20px 0 26px; list-style: none; }
.uw-feature-list li { position: relative; padding-left: 27px; color: #40516a; }
.uw-feature-list li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: var(--uw-green); background: var(--uw-green-soft); font-size: .72rem; font-weight: 900; }
.uw-card-actions { margin-top: auto; padding-top: 6px; }
.uw-card-note { margin: 12px 0 0; color: #7b8798; font-size: .82rem; }

/* Pro */
.uw-pro-panel { padding: 40px; border: 1px solid #31415b; border-radius: 30px; background: linear-gradient(145deg, #17263b, #101b2c); box-shadow: 0 35px 90px rgba(5, 12, 23, .30); }
.uw-pro-panel .uw-product-card { border-color: #34445e; background: rgba(255,255,255,.055); box-shadow: none; }
.uw-pro-panel .uw-product-card p, .uw-pro-panel .uw-feature-list li { color: #c2ccda; }
.uw-pro-panel .uw-feature-list li::before { color: #b8c5ff; background: rgba(120,146,255,.14); }

/* Audience */
.uw-audience-card { padding: 24px; }
.uw-audience-card svg { width: 27px; height: 27px; margin-bottom: 14px; color: var(--uw-brand); }
.uw-audience-card p { margin-bottom: 0; color: var(--uw-muted); font-size: .94rem; }

/* FAQ */
.uw-faq { display: grid; gap: 12px; max-width: 880px; }
.uw-faq details { border: 1px solid var(--uw-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 26px rgba(18,32,51,.04); }
.uw-faq summary { position: relative; padding: 19px 52px 19px 20px; cursor: pointer; list-style: none; font-weight: 800; }
.uw-faq summary::-webkit-details-marker { display: none; }
.uw-faq summary::after { content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; color: var(--uw-brand); background: var(--uw-brand-soft); font-size: 1.15rem; }
.uw-faq details[open] summary::after { content: "–"; }
.uw-faq details p { padding: 0 20px 20px; margin: 0; color: var(--uw-muted); }

/* CTA */
.uw-cta-box { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; padding: 38px; border-radius: 28px; color: #fff; background: linear-gradient(135deg, #3556e6, #6945cf); box-shadow: 0 28px 75px rgba(54,87,232,.24); }
.uw-cta-box h2 { margin-bottom: 8px; font-size: clamp(1.8rem,3.5vw,2.8rem); }
.uw-cta-box p { margin: 0; color: #e7eaff; }
.uw-cta-box .uw-btn { border-color: rgba(255,255,255,.25); }

/* Content pages */
.uw-page-hero { padding: 70px 0 36px; background: linear-gradient(180deg,#fff,#f7f9fc); }
.uw-page-hero h1 { font-size: clamp(2.4rem,5vw,4.2rem); }
.uw-content { padding: 24px 0 88px; }
.uw-content-card { max-width: 940px; padding: clamp(24px,5vw,52px); border: 1px solid var(--uw-line); border-radius: 26px; background: #fff; box-shadow: var(--uw-shadow-sm); }
.uw-content-card h2 { margin-top: 1.6em; font-size: 1.8rem; }
.uw-content-card h3 { margin-top: 1.5em; font-size: 1.25rem; }
.uw-content-card > :first-child { margin-top: 0; }
.uw-legal-placeholder { padding: 18px 20px; border: 1px solid #f1c78f; border-radius: 14px; color: #7c4516; background: #fff8ee; }

/* Contact */
.uw-contact-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 28px; align-items: start; }
.uw-contact-info { padding: 26px; }
.uw-contact-info p { color: var(--uw-muted); }
.uw-contact-item { display: flex; gap: 12px; margin-top: 18px; }
.uw-contact-item-icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; color: var(--uw-brand); background: var(--uw-brand-soft); }
.uw-contact-form { padding: 28px; }
.uw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.uw-field { display: grid; gap: 7px; }
.uw-field--full { grid-column: 1 / -1; }
.uw-field label { font-size: .9rem; font-weight: 750; }
.uw-field input:not([type="checkbox"]):not([type="radio"]), .uw-field textarea, .uw-field select { width: 100%; border: 1px solid #cad4e2; border-radius: 12px; padding: 11px 12px; color: var(--uw-ink); background: #fff; outline: none; }
.uw-field input:not([type="checkbox"]):not([type="radio"]):focus, .uw-field textarea:focus, .uw-field select:focus { border-color: var(--uw-brand); box-shadow: 0 0 0 3px rgba(54,87,232,.12); }
.uw-field textarea { min-height: 170px; resize: vertical; }
.uw-check { display: flex; gap: 11px; align-items: flex-start; color: #58677c; font-size: .88rem; line-height: 1.55; cursor: pointer; }
.uw-check input[type="checkbox"] { width: 20px; height: 20px; min-width: 20px; margin: 2px 0 0; padding: 0; border: 1px solid #b7c2d3; border-radius: 5px; accent-color: var(--uw-brand); cursor: pointer; }
.uw-check span { flex: 1 1 auto; }
.uw-check a { font-weight: 700; }
.uw-form-message { margin-bottom: 18px; padding: 13px 15px; border-radius: 12px; font-weight: 650; }
.uw-form-message--success { color: #0d674c; background: #e8f7f1; border: 1px solid #bee7d8; }
.uw-form-message--error { color: #9a362c; background: #fff0ee; border: 1px solid #f2c7c2; }
.uw-hp { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Store plugin integration */
.pts-pricing-grid { gap: 22px !important; }
.pts-card { border-color: var(--uw-line) !important; border-radius: 22px !important; padding: 28px !important; box-shadow: var(--uw-shadow-sm) !important; }
.pts-card h3 { color: var(--uw-ink); letter-spacing: -.03em; }
.pts-kicker { color: var(--uw-brand) !important; }
.pts-price { color: var(--uw-ink); font-size: 1.6rem !important; }
.pts-button { border-radius: 12px !important; background: var(--uw-brand) !important; }
.pts-button:hover { background: var(--uw-brand-dark) !important; }
.pts-license, .pts-notice { border-color: var(--uw-line) !important; border-radius: 16px !important; box-shadow: var(--uw-shadow-sm); }

/* Footer */
.uw-footer { padding: 56px 0 30px; color: #aab7ca; background: #0e1929; }
.uw-footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .7fr; gap: 38px; }
.uw-footer .uw-brand { color: #fff; }
.uw-footer p { max-width: 460px; margin-top: 16px; color: #98a8bd; }
.uw-footer h4 { margin: 0 0 13px; color: #fff; font-size: .88rem; letter-spacing: .02em; }
.uw-footer-links { display: grid; gap: 9px; }
.uw-footer-links a { color: #aab7ca; text-decoration: none; }
.uw-footer-links a:hover { color: #fff; }
.uw-footer-bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: 44px; padding-top: 22px; border-top: 1px solid #26364e; color: #7f90a8; font-size: .84rem; }

/* Admin bar */
@media screen and (max-width: 782px) { body.admin-bar .uw-header { top: 46px; } }

@media (max-width: 960px) {
  .uw-hero-grid { grid-template-columns: 1fr; gap: 46px; }
  .uw-product-preview { min-height: 430px; max-width: 690px; }
  .uw-facts-grid { grid-template-columns: 1fr 1fr; }
  .uw-grid-3 { grid-template-columns: 1fr 1fr; }
  .uw-contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .uw-menu-toggle { display: grid; place-items: center; }
  .uw-nav {
    position: absolute; top: calc(100% + 1px); left: 0; right: 0; display: none; padding: 12px 20px 18px;
    border-bottom: 1px solid var(--uw-line); background: rgba(247,249,252,.98); box-shadow: 0 20px 35px rgba(18,32,51,.08);
  }
  .uw-nav.is-open { display: grid; }
  .uw-nav a { padding: 12px; }
  .uw-nav .uw-nav-cta { margin-left: 0; text-align: center; }
  .uw-grid-2 { grid-template-columns: 1fr; }
  .uw-footer-grid { grid-template-columns: 1fr 1fr; }
  .uw-footer-brand { grid-column: 1 / -1; }
  .uw-cta-box { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .uw-wrap { width: min(100% - 26px, var(--uw-max)); }
  .uw-section { padding: 68px 0; }
  .uw-hero { padding: 65px 0 62px; }
  .uw-product-preview { min-height: 370px; }
  .uw-window--booking { width: 91%; }
  .uw-window--onboarding { width: 78%; }
  .uw-window-body { padding: 14px; }
  .uw-calendar { gap: 4px; }
  .uw-cal-day { min-height: 43px; padding: 4px 2px; }
  .uw-facts-grid, .uw-grid-3 { grid-template-columns: 1fr; }
  .uw-pro-panel { padding: 18px; border-radius: 22px; }
  .uw-product-card { padding: 23px; }
  .uw-form-grid { grid-template-columns: 1fr; }
  .uw-field--full { grid-column: auto; }
  .uw-contact-form { padding: 20px; }
  .uw-footer-grid { grid-template-columns: 1fr; }
  .uw-footer-brand { grid-column: auto; }
  .uw-footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
