/* PremedCompact – Komponenten */

:root {
	--pc-ink: #0A0A0A;
	--pc-ground: #FBFCF8;
	--pc-mint: #8CF0A0;
	--pc-mint-tint: #E8F8EC;
	--pc-mint-soft: #DFF5E5;
	--pc-line: #E6EDE5;
	--pc-muted: #4A4A46;
	--pc-green-dark: #137A37;
	--pc-radius: 28px;
	--pc-shadow: 0 18px 40px rgba(20, 60, 35, .12);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.pc-main { overflow: hidden; }
img { max-width: 100%; height: auto; }

/* ---------- Kopfzeile ---------- */
.pc-header { border-bottom: 1px solid var(--pc-line); background: rgba(251, 252, 248, .94) !important; backdrop-filter: blur(10px); }
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.pc-header__bar { max-width: 1240px; margin-inline: auto !important; }
.pc-stripe { display: flex; height: 5px; }
.pc-stripe span { flex: 1; }
.pc-stripe span:nth-child(1) { background: #7E57C2; }
.pc-stripe span:nth-child(2) { background: #F9C22E; }
.pc-stripe span:nth-child(3) { background: #0FA3B1; }
.pc-stripe span:nth-child(4) { background: #5CB85C; }
.pc-stripe span:nth-child(5) { background: #F06B6B; }
.pc-logo { margin: 0 !important; }
.pc-logo img { display: block; }
.pc-nav .wp-block-navigation-item__content { padding: 10px 16px; border-radius: 999px; transition: background .2s ease; }
.pc-nav .wp-block-navigation-item__content:hover,
.pc-nav .current-menu-item > .wp-block-navigation-item__content { background: var(--pc-mint); color: var(--pc-ink); }
.pc-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 32px 24px; }
@media (max-width: 600px) { .pc-header__cta { display: none; } }

.pc-footer__links a { color: #2E2E2B; text-decoration: none; line-height: 2; }
.pc-footer__links a:hover { text-decoration: underline; }

/* ---------- Typografie-Helfer ---------- */
mark.pc-mark, .pc-mark { background: var(--pc-mint); color: inherit; padding: 0 .18em; border-radius: .18em; display: inline-block; transform: rotate(-1.5deg); }
.is-style-pc-eyebrow { font-size: 14px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-green-dark); margin-bottom: 0 !important; }
.is-style-pc-chip { display: inline-flex !important; width: fit-content; align-items: center; gap: 8px; background: var(--pc-mint-soft); color: var(--pc-ink); border-radius: 999px; padding: 6px 14px !important; font-size: 13px !important; font-weight: 700; line-height: 1.4; }
.is-style-pc-chip.has-background { padding: 6px 14px !important; }
.pc-big { font-family: var(--wp--preset--font-family--display); font-weight: 800; letter-spacing: -.03em; line-height: 1; margin: 0; }
.pc-lead { max-width: 560px; }
.pc-dot { width: 10px; height: 10px; border-radius: 50%; background: #2FBF5B; display: inline-block; animation: pc-pulse 2.4s ease-in-out infinite; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: transform .2s ease, background .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.is-style-pc-mint .wp-block-button__link { background: var(--pc-mint) !important; color: var(--pc-ink) !important; }
.is-style-outline .wp-block-button__link { border: 2px solid var(--pc-ink) !important; background: transparent !important; color: var(--pc-ink) !important; padding: 13px 24px !important; }

/* ---------- Karten ---------- */
.is-style-pc-card { background: #fff; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); padding: 28px; transition: transform .25s ease, box-shadow .25s ease; }
.is-style-pc-card.has-background { border-color: transparent; }
.is-style-pc-card:hover { transform: translateY(-6px); box-shadow: var(--pc-shadow); }
.pc-no-hover:hover { transform: none !important; box-shadow: none !important; }
.pc-panel { border-radius: 36px; padding: clamp(24px, 4vw, 56px) !important; }
.pc-shadow { box-shadow: 0 24px 60px rgba(20, 60, 35, .10); }
.is-style-pc-card .wp-block-image img, .pc-media-cover img { width: 100%; object-fit: cover; }
.pc-h-220 img { height: 220px; } .pc-h-260 img { height: 260px; } .pc-h-280 img { height: 280px; } .pc-h-320 img { height: 320px; } .pc-h-420 img { height: 420px; }
.pc-pos-20 img { object-position: center 20%; } .pc-pos-25 img { object-position: center 25%; } .pc-pos-30 img { object-position: center 30%; }
.pc-pos-40 img { object-position: center 40%; } .pc-pos-50 img { object-position: center 50%; } .pc-pos-62 img { object-position: 50% 62%; } .pc-pos-right img { object-position: 72% 40%; }
.pc-flush-img { margin: -28px -28px 0 !important; }
.pc-flush-img img { border-radius: var(--pc-radius) var(--pc-radius) 0 0 !important; }

/* ---------- Hero ---------- */
.pc-hero-media { position: relative; min-height: 460px; }
.pc-hero-media::before { content: ""; position: absolute; inset: 20px 10px 30px 30px; border-radius: 36px; background: var(--pc-mint); transform: rotate(4deg); }
.pc-hero-media::after { content: ""; position: absolute; inset: -30px; border: 3px dashed #CFCFC9; border-radius: 50%; z-index: -1; }
.pc-hero-media.pc-tilt-left::before { transform: rotate(-3deg); }
.pc-hero-media > .wp-block-image:first-child { position: absolute; inset: 20px 10px 30px 30px; margin: 0; }
.pc-hero-media > .wp-block-image:first-child img { width: 100%; height: 100%; object-fit: cover; border-radius: 36px; }
.pc-float { position: absolute !important; z-index: 2; background: #fff; border-radius: 18px; padding: 12px 18px !important; box-shadow: 0 14px 30px rgba(10, 10, 10, .16); font-weight: 700; font-size: 15px !important; line-height: 1.35; margin: 0 !important; display: flex; gap: 12px; align-items: center; animation: pc-float 6s ease-in-out infinite; }
.pc-float img { width: 52px; height: 52px; object-fit: cover; object-position: top; border-radius: 12px; }
.pc-float--bl { left: -18px; bottom: 50px; }
.pc-float--tr { right: -10px; top: 22px; animation-name: pc-float2; animation-duration: 7s; }
.pc-float--br { right: 0; bottom: 0; animation-name: pc-float2; animation-duration: 7s; }
@media (max-width: 781px) { .pc-hero-media { min-height: 340px; margin-top: 24px; } .pc-float--bl { left: 0; } .pc-float--tr { right: 0; } }

/* ---------- Laufband ---------- */
.pc-marquee { background: var(--pc-mint); overflow: hidden; transform: rotate(-1.2deg); margin-inline: -20px !important; padding: 22px 0 !important; }
.pc-marquee__track { display: flex; width: max-content; gap: 44px; animation: pc-marquee 42s linear infinite; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 30px; white-space: nowrap; }
.pc-marquee__track span { display: inline-flex; align-items: center; gap: 44px; }
.pc-marquee__track span::after { content: ""; width: 14px; height: 14px; border-radius: 50%; background: var(--pc-dot, #0A0A0A); display: inline-block; }

/* ---------- Uni-Karten ---------- */
.pc-city { position: relative; overflow: hidden; }
.pc-city > * { position: relative; z-index: 1; }
.pc-city::after { position: absolute; right: -6px; bottom: -22px; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 120px; line-height: 1; color: #DDF5E3; letter-spacing: -4px; z-index: 0; }
.pc-city--ms::after { content: "MS"; }
.pc-city--mz::after { content: "MZ"; }

/* ---------- Maskottchen ---------- */
.pc-mascot { border-radius: 22px; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; height: 260px; }
.pc-mascot .wp-block-image { margin: 0; }
.pc-mascot img { height: 236px; width: auto; mix-blend-mode: multiply; border-radius: 0 !important; }
.pc-mascot--dashed { border: 2px dashed #CFCFC9; align-items: center; text-align: center; color: var(--pc-muted); font-weight: 600; padding: 20px; }
.is-style-pc-card:hover .pc-mascot img { animation: pc-wiggle .6s ease-in-out 2; }

/* ---------- Zeitstrahl ---------- */
.pc-timeline { position: relative; }
.pc-timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 34px; height: 4px; background: var(--pc-mint); border-radius: 4px; }
.pc-timeline > .wp-block-column { position: relative; display: flex; flex-direction: column; gap: 16px; }
.pc-day-badge { width: 72px; height: 72px; border-radius: 50%; background: var(--pc-mint); display: flex !important; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 22px !important; border: 6px solid var(--pc-ground); box-sizing: border-box; margin: 0 !important; }
.pc-timeline .is-style-pc-card { flex: 1; padding: 22px; }
@media (max-width: 781px) { .pc-timeline::before { display: none; } }

/* ---------- Testimonial-Slider ---------- */
.pc-slider { position: relative; }
.pc-slider.is-ready .pc-slide { display: none; }
.pc-slider.is-ready .pc-slide.is-active { display: flex; animation: pc-fade .45s ease both; }
.pc-slide { background: #fff; border-radius: 36px; padding: 28px !important; box-shadow: 0 20px 50px rgba(20, 60, 35, .12); gap: 36px; }
.pc-slide .wp-block-image { flex: 1 1 340px; margin: 0; }
.pc-slide .wp-block-image img { width: 100%; height: 420px; object-fit: cover; border-radius: 26px; }
.pc-slide blockquote, .pc-slide .pc-quote { font-family: var(--wp--preset--font-family--display); font-weight: 500; font-size: clamp(21px, 2.4vw, 28px); line-height: 1.3; margin: 0; }
.pc-slide .pc-quote::before { content: "“"; display: block; font-size: 80px; line-height: .6; color: var(--pc-mint); font-weight: 800; }
.pc-slider__nav { display: flex; gap: 10px; justify-content: flex-end; margin-bottom: 20px; }
.pc-slider__btn { width: 52px; height: 52px; border-radius: 50%; border: 2px solid var(--pc-ink); background: transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.pc-slider__btn--next { background: var(--pc-ink); color: var(--pc-mint); }
.pc-slider__thumbs { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px; }
.pc-slider__thumb { width: 62px; height: 62px; padding: 0; border-radius: 50%; border: 4px solid transparent; overflow: hidden; cursor: pointer; background: #fff; transition: transform .2s ease; }
.pc-slider__thumb:hover { transform: scale(1.06); }
.pc-slider__thumb[aria-selected="true"] { border-color: var(--pc-ink); }
.pc-slider__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
@media (max-width: 781px) { .pc-slide .wp-block-image img { height: 300px; } }

/* ---------- Tabs (Videos, FAQ) ---------- */
.pc-tablist { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.pc-tab { border: 1.5px solid var(--pc-ink); border-radius: 999px; padding: 10px 18px; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; background: #fff; color: var(--pc-ink); min-height: 44px; }
.pc-tab[aria-selected="true"] { background: var(--pc-ink); color: var(--pc-ground); }
.pc-tabs.is-ready .pc-tab-panel { display: none; }
.pc-tabs.is-ready .pc-tab-panel.is-active { display: block; animation: pc-fade .35s ease both; }
.pc-tabs.is-ready .pc-tab-panel.is-active.is-layout-flex { display: flex; }
.pc-tab-label { display: none !important; }
.pc-video-frame { background: #fff; border: 1px solid var(--pc-line); border-radius: 32px; padding: 40px 14px 14px !important; position: relative; box-shadow: 0 24px 60px rgba(20, 60, 35, .10); }
.pc-video-frame::before { content: ""; position: absolute; top: 16px; left: 20px; width: 10px; height: 10px; border-radius: 50%; background: #F06B6B; box-shadow: 16px 0 0 #F9C22E, 32px 0 0 #5CB85C; }
.pc-video-frame video { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #fff; border-radius: 20px; display: block; }
.pc-video-frame .wp-block-video { margin: 0; }

/* ---------- FAQ ---------- */
.wp-block-details summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-weight: 700; font-size: 18px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--pc-mint); display: inline-flex; align-items: center; justify-content: center; font-size: 22px; transition: transform .2s ease; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > *:not(summary) { margin-top: 14px; color: #2E2E2B; }
.pc-faq-list { display: flex; flex-direction: column; gap: 12px; }
.pc-faq-list .wp-block-details { margin: 0 !important; }

/* ---------- Pakete ---------- */
.pc-modes { display: inline-flex; background: #EEF7F0; border-radius: 999px; padding: 6px; gap: 4px; }
.pc-mode { border: 0; border-radius: 999px; padding: 12px 20px; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; background: transparent; color: var(--pc-ink); min-height: 44px; }
.pc-mode[aria-pressed="true"] { background: #fff; box-shadow: 0 4px 12px rgba(10, 10, 10, .08); }
.pc-packs.is-ready .pc-packset { display: none; }
.pc-packs.is-ready .pc-packset.is-active { display: grid; }
.pc-packset { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 18px; }
.pc-pack { cursor: pointer; border: 2px solid var(--pc-line) !important; display: flex; flex-direction: column; gap: 10px; }
.pc-pack.is-selected { border-color: var(--pc-ink) !important; background: #F2FCF4 !important; }
.pc-pack .pc-big { font-size: 54px; }
.pc-pack .pc-perk { margin-top: auto !important; padding-top: 12px; border-top: 1px solid var(--pc-line); font-size: 14px; font-weight: 700; color: var(--pc-green-dark); }
.pc-pack-bar { margin-top: 20px; }

/* ---------- Team-Filter ---------- */
.pc-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-filter-btn { border: 1.5px solid var(--pc-ink); border-radius: 999px; padding: 10px 18px; font: inherit; font-weight: 700; font-size: 15px; cursor: pointer; background: #fff; color: var(--pc-ink); min-height: 44px; }
.pc-filter-btn[aria-pressed="true"] { background: var(--pc-ink); color: var(--pc-ground); }
.pc-team-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 20px; }
.pc-team-grid > .is-style-pc-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; margin: 0 !important; }
.pc-team-grid .pc-member-body { padding: 22px; }
.pc-team-grid .wp-block-image { margin: 0; }
.pc-team-grid .wp-block-image img { height: 280px; width: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .4s ease; }
.pc-team-grid .is-style-pc-card:hover img { transform: scale(1.04); }
.pc-member.is-hidden { display: none !important; }

/* ---------- Kombi ---------- */
.pc-combo-badge { border-radius: 22px; padding: 18px 20px !important; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 22px !important; line-height: 1.1; text-align: center; margin: 0 !important; }

/* ---------- Formulare (Fluent Forms) ---------- */
.pc-form-card .ff-el-form-control { border: 1.5px solid var(--pc-line) !important; border-radius: 14px !important; padding: 14px 16px !important; font: inherit !important; }
.pc-form-card .ff-el-form-control:focus { outline: 3px solid var(--pc-mint) !important; border-color: var(--pc-ink) !important; }
.pc-form-card .ff-btn-submit { background: var(--pc-ink) !important; color: var(--pc-ground) !important; border-radius: 999px !important; padding: 15px 28px !important; font-weight: 700 !important; border: 0 !important; }
.pc-form-card legend.ff_screen_reader_title { position: absolute !important; }

/* ---------- Animationen ---------- */
@keyframes pc-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pc-float { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-8px) rotate(-1deg); } }
@keyframes pc-float2 { 0%, 100% { transform: translateY(0) rotate(2deg); } 50% { transform: translateY(6px) rotate(3deg); } }
@keyframes pc-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(47, 191, 91, .6); } 50% { box-shadow: 0 0 0 10px rgba(47, 191, 91, 0); } }
@keyframes pc-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes pc-wiggle { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } }
@media (prefers-reduced-motion: reduce) {
	.pc-marquee__track, .pc-float, .pc-dot, .is-style-pc-card:hover .pc-mascot img { animation: none !important; }
	.is-style-pc-card:hover { transform: none; }
}

/* Editor: interaktive Bereiche komplett zeigen */
.editor-styles-wrapper .pc-tab-label { display: block !important; font-weight: 700; color: var(--pc-green-dark); }
.editor-styles-wrapper .pc-hero-media { min-height: 0; }
.editor-styles-wrapper .pc-hero-media > .wp-block-image:first-child { position: relative; inset: auto; }

/* ---------- Ergänzungen für die Seitenvorlagen ---------- */
h1 mark.has-inline-color, h2 mark.has-inline-color { color: inherit; padding: 0 .16em; border-radius: .18em; display: inline-block; transform: rotate(-1.5deg); }
.pc-green, .pc-green * { color: var(--pc-green-dark) !important; }
.pc-headrow { margin-bottom: clamp(24px, 4vw, 44px); gap: 24px; }
.pc-headrow > * { margin: 0 !important; }
.pc-headrow .pc-lead { max-width: 440px; }
.pc-hero { gap: clamp(32px, 5vw, 64px); }
.pc-hero h1 { margin: 0; }
.pc-hero .wp-block-column { display: flex; flex-direction: column; gap: 22px; }
.pc-hero .wp-block-column > * { margin: 0 !important; }
.wp-block-column > .is-style-pc-card { height: 100%; box-sizing: border-box; }
.is-style-pc-card > * { margin-block: 0 !important; }
.is-style-pc-card { gap: 16px; }
.is-style-pc-card h3, .is-style-pc-card h4 { margin: 0; }
.pc-push { margin-top: auto !important; }
.pc-full .wp-block-button { width: 100%; }
.pc-full .wp-block-button__link { width: 100%; text-align: center; }
.pc-grow { flex: 1 1 320px; min-width: 0; }

/* Chips */
.is-style-pc-chip.has-mint-chip { background: var(--pc-mint); }
.is-style-pc-chip.is-white { background: #fff; }
.is-style-pc-chip.is-outline { background: transparent; border: 1.5px solid #BFE6CB; font-weight: 600; }
.is-style-pc-chip.is-ghost { visibility: hidden; }
.is-style-pc-chip.pc-live { background: #fff; border: 1px solid var(--pc-line); font-size: 14px !important; font-weight: 600; padding: 8px 16px 8px 12px !important; }
.is-style-pc-chip.pc-live::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #2FBF5B; flex: none; animation: pc-pulse 2.4s ease-in-out infinite; }
.pc-chips { gap: 10px !important; }
.pc-chips > * { margin: 0 !important; }

/* Kennzahlen */
.pc-stats { gap: 36px !important; padding-top: 8px; }
.pc-stat-box { gap: 4px !important; }
.pc-stat-box > * { margin: 0 !important; }
.pc-stat { font-size: 40px; }
.pc-results { margin-top: 40px !important; }
.pc-result { gap: 18px !important; height: 100%; }
.pc-result .pc-big { font-size: 46px; flex: none; }
.pc-price { font-size: 56px; }
.pc-price-box { align-items: flex-end !important; text-align: right; gap: 4px !important; }
.pc-price-box > * { margin: 0 !important; }

/* Hero-Ergänzungen */
.pc-hero-media.pc-soft::before { background: var(--pc-mint-soft); transform: rotate(3deg); }
.pc-float--text { display: block; }
.pc-float--text strong { color: var(--pc-green-dark); }
.pc-float p { margin: 0; }
.pc-float.pc-float--img { padding: 0 !important; overflow: hidden; }
.pc-float.pc-float--img img { width: auto; height: 170px; border-radius: 22px; }
.pc-float .wp-block-image { margin: 0; }
.pc-badge { width: 44px; height: 44px; border-radius: 12px; background: var(--pc-mint); display: inline-flex !important; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--display); font-weight: 800; margin: 0 !important; flex: none; }
.pc-faces { display: flex; padding-left: 10px; }
.pc-faces img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; object-position: center 25%; border: 3px solid var(--pc-ground); margin-left: -10px; }

/* Bildpositionen */
.pc-pos-35 img { object-position: center 35%; } .pc-pos-45 img { object-position: center 45%; } .pc-pos-isabelle img { object-position: 38% 35%; }

/* Uni-Karten */
.pc-city-name { font-size: 44px; }
.pc-city .is-style-pc-chip { font-size: 12px !important; }

/* Video-Karte */
.pc-video-card { padding: 24px; }
.pc-video-card .wp-block-columns { gap: 28px; margin: 0; }
.pc-video video, .pc-video-card video { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; background: #fff; border-radius: 22px; display: block; }
.pc-video { margin: 0 !important; }
.pc-video-card .wp-block-column { display: flex; flex-direction: column; gap: 14px; }
.pc-video-card .wp-block-column > * { margin: 0 !important; }
.wp-block-group.pc-video-card { margin-top: 28px; }

/* Testimonials */
.pc-slide > .wp-block-image { flex: 1 1 340px; }
.pc-slide > .wp-block-group { flex: 1.3 1 420px; min-width: 0; padding: 12px 16px; gap: 22px; }
.pc-slide > .wp-block-group > * { margin: 0 !important; }
.pc-name { font-weight: 700; font-size: 18px; margin: 0 !important; }
.pc-who { gap: 2px !important; }
.pc-who > * { margin: 0 !important; }
.pc-story .wp-block-image { margin-bottom: 0 !important; }
.pc-story { overflow: hidden; }
.pc-slider .pc-slider__nav { margin: 0; }
.pc-avatar img { width: 64px !important; height: 64px !important; border-radius: 50% !important; object-fit: cover; object-position: center 25%; }
.pc-avatar { margin: 0 !important; flex: none; }
.pc-feature-big { font-size: clamp(48px, 6vw, 72px); line-height: .9; }

/* Kontakt-Kacheln */
.pc-cta { position: relative; overflow: hidden; }
.pc-cta::before { content: ""; position: absolute; left: -90px; bottom: -110px; width: 300px; height: 300px; border-radius: 50%; border: 40px solid #D4F3DC; }
.pc-cta > * { position: relative; }
.pc-cta-tile { flex: 1; height: 240px; border-radius: 28px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; animation: pc-float 6s ease-in-out infinite; }
.pc-cta-tile--2 { align-items: center; animation-name: pc-float2; animation-duration: 7s; }
.pc-cta-tile .wp-block-image { margin: 0; height: 92%; display: flex; align-items: flex-end; }
.pc-cta-tile img { height: 100% !important; width: auto !important; border-radius: 0 !important; }
.pc-cta-tile--2 .wp-block-image { height: auto; }
.pc-cta-tile--2 img { width: 96% !important; height: auto !important; }
.pc-mascot-small img { width: 200px; height: auto; border-radius: 24px; background: #fff; }
.pc-bob img { animation: pc-float 6s ease-in-out infinite; }

/* Crashkurs */
.pc-date { background: #fff; border-radius: 18px; padding: 16px 18px; font-weight: 600; display: flex; gap: 10px; align-items: center; }
.pc-date::before { content: ""; width: 20px; height: 20px; flex: none; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23137A37' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
.has-white-background-color .pc-date { background: var(--pc-ground); }
.pc-check { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.pc-check li { padding-left: 34px; position: relative; line-height: 1.5; }
.pc-check li::before { content: ""; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23137A37' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E"); }
.pc-wait { margin-top: 24px !important; background: #fff; border: 2px dashed #BFE6CB; border-radius: 26px; padding: 24px 28px; gap: 20px; }
.pc-wait > .wp-block-group { flex: 1 1 380px; gap: 4px; }
.pc-wait h4, .pc-wait p { margin: 0; }
.pc-combo { margin-top: 24px !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 28px !important; }
.pc-combo-badges { gap: 10px !important; flex: none; }
.pc-combo-badge { background: #fff; }
.pc-combo-badge--mint { background: var(--pc-mint); }
.pc-combo-badge small { font-size: 14px; font-weight: 600; }
.pc-combo-plus { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 34px !important; margin: 0 !important; }
.pc-tabs .pc-tablist { margin: 0; }
.pc-tab-panel .wp-block-columns { gap: 28px; }
.pc-video-frame { padding-top: 40px !important; }
.pc-video-frame .pc-video video { border-radius: 20px; }
.pc-day-title { font-size: 19px !important; line-height: 1.15; margin: 0; }
.pc-day-block { gap: 6px !important; }
.pc-day-block > * { margin: 0 !important; }
.pc-timeline .is-style-pc-card { gap: 14px; }
.pc-timeline .is-style-pc-eyebrow { color: var(--pc-muted); font-size: 13px !important; }
.pc-num { width: 44px; height: 44px; border-radius: 14px; display: inline-flex !important; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 20px !important; }
.pc-num--purple { background: #7E57C2; color: #fff; } .pc-num--yellow { background: #F9C22E; } .pc-num--teal { background: #0FA3B1; color: #fff; } .pc-num--mint { background: var(--pc-mint); }

/* Nachhilfe */
.pc-swatch { width: 48px; height: 48px; border-radius: 14px; min-height: 0; }
.pc-format { border: 1px solid #CDEFD6; border-radius: 22px; padding: 22px 24px; gap: 6px !important; margin-block: 0 0 14px !important; }
.pc-format h4, .pc-format p { margin: 0; }
.pc-panel .wp-block-columns { gap: 48px; margin: 0; }
.pc-panel .wp-block-column > * + * { margin-top: 16px; }
.pc-packset { margin: 0 !important; }
.pc-packs:not(.is-ready) .pc-packset { display: grid; margin-bottom: 24px !important; }
.pc-packs .pc-tab-label { display: none; }
.pc-pack .pc-big small { font-size: 22px; letter-spacing: 0; }
.pc-pack h4 { font-size: 18px !important; }
.pc-pack-bar { margin-top: 20px !important; border-radius: 26px; padding: 22px 26px; gap: 18px; }
.pc-pack-bar > .wp-block-group { gap: 4px; }
.pc-pack-bar p { margin: 0; }
.pc-pack-summary { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 24px; }
.pc-notes { margin-top: 16px !important; }
.pc-step-num { font-size: 88px; line-height: .8; color: var(--pc-green-dark); }
.pc-form-card { padding: 32px; }
.pc-form-card h3 { margin-top: 0; }
.pc-sticky { position: sticky; top: 110px; }

/* Über uns */
.pc-bar { width: 14px; height: 48px; border-radius: 8px; flex: none; min-height: 0; padding: 0 !important; }
.pc-founder { padding: 0; overflow: hidden; height: 100%; }
.pc-founder .wp-block-columns { margin: 0; gap: 0; height: 100%; }
.pc-founder .wp-block-column:last-child { padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.pc-founder .wp-block-column:last-child > * { margin: 0 !important; }
.pc-founder-img { margin: 0 !important; height: 100%; }
.pc-founder-img img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; border-radius: 0 !important; }
.pc-member { padding: 0 !important; gap: 0 !important; }
.pc-member-body { gap: 10px !important; }
.pc-member-body h4 { font-size: 24px; margin: 0; }
.pc-member-body > * { margin: 0 !important; }
.pc-role { font-weight: 700; margin: 0 !important; }
.pc-tags { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; font-weight: 700; }
.pc-tags span { background: #EEF7F0; border-radius: 999px; padding: 4px 10px; }
.pc-team .pc-headrow { align-items: flex-end; }

/* Kontakt */
.pc-card-link a { text-decoration: none; }
.pc-card-link a::after { content: ""; position: absolute; inset: 0; }
.pc-card-link { position: static; }
.wp-block-column > .is-style-pc-card:has(.pc-card-link) { position: relative; }
.pc-legal-links { display: flex; flex-wrap: wrap; gap: 20px; font-weight: 600; margin: 0; }
.pc-legal-links a { text-decoration: none; }

@media (max-width: 781px) {
	.pc-sticky { position: static; }
	.pc-price-box { align-items: flex-start !important; text-align: left; }
	.pc-founder-img img { min-height: 260px; }
	.pc-cta-tile { height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
	.pc-cta-tile, .pc-bob img, .is-style-pc-chip.pc-live::before { animation: none !important; }
}
.pc-slider__nav > *, .pc-tablist > *, .pc-modes > *, .pc-filter-bar > * { margin: 0 !important; }
.wp-block-social-links .wp-social-link { margin: 0; }
.is-style-pc-card > .wp-block-group, .pc-member-body > .wp-block-group { align-self: stretch; }
.is-style-pc-card > .pc-flush-img { margin: -28px -28px 0 !important; width: calc(100% + 56px); max-width: none; }
.pc-flush-img img { width: 100%; }
.pc-faces { flex: none; min-width: 180px; }
@media (max-width: 600px) {
	.pc-stats { flex-wrap: nowrap !important; gap: 18px !important; }
	.pc-stat { font-size: 28px; }
	.pc-stat-box p:last-child { font-size: 13px !important; }
	.pc-header__bar { gap: 12px; }
}

/* Themen-Leiste: ruhig, ein Thema leuchtet nach dem anderen auf */
.pc-topics { text-align: center; border-top: 1px solid var(--pc-line); border-bottom: 1px solid var(--pc-line); padding: 26px 0; }
.pc-topics__label { font-size: 13px !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-green-dark); margin: 0 0 14px !important; }
.pc-topics__list { gap: 10px !important; }
.pc-topics__list > * { margin: 0 !important; }
.pc-topic { border: 1.5px solid var(--pc-line); border-radius: 999px; padding: 8px 16px; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 17px !important; color: var(--pc-muted); background: #fff; transition: background .8s ease, color .8s ease, border-color .8s ease, transform .8s ease; }
.pc-topic.is-on { background: var(--pc-mint); border-color: var(--pc-mint); color: var(--pc-ink); transform: translateY(-2px); }

.pc-topics__more { padding: 8px 6px; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 17px !important; color: var(--pc-green-dark); }

/* WooCommerce & Tutor: ruhigere Titel und Abstände */
.woocommerce main.wp-block-group, .single-product main.wp-block-group { padding-top: 32px; padding-bottom: 72px; }
.single-product h1.wp-block-post-title, .woocommerce-page h1.wp-block-post-title { font-size: clamp(30px, 3.6vw, 46px) !important; line-height: 1.08; }
.woocommerce .wp-block-woocommerce-breadcrumbs { font-size: 14px; margin-bottom: 16px; }
.woocommerce .wp-block-woocommerce-product-image-gallery img { border-radius: 24px; }
.woocommerce .single_add_to_cart_button, .woocommerce .button, .wc-block-components-button { border-radius: 999px !important; background: var(--pc-ink) !important; color: var(--pc-ground) !important; font-weight: 700 !important; }

/* Nachhilfe-Anfrage (schreibt direkt in die App) */
.pc-inquiry { display: flex; flex-direction: column; gap: 16px; }
.pc-inquiry__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.pc-field { display: flex; flex-direction: column; gap: 6px; font-weight: 700; font-size: 15px; border: 0; margin: 0; padding: 0; min-width: 0; }
.pc-field legend { font-weight: 700; font-size: 15px; margin-bottom: 10px; padding: 0; }
.pc-field input, .pc-field textarea { font: inherit; font-weight: 400; font-size: 16px; border: 1.5px solid var(--pc-line); border-radius: 14px; padding: 13px 15px; background: #fff; color: var(--pc-ink); width: 100%; box-sizing: border-box; }
.pc-field input:focus, .pc-field textarea:focus { outline: 3px solid var(--pc-mint); border-color: var(--pc-ink); }
.pc-field--chips { flex-direction: row; flex-wrap: wrap; gap: 8px; }
.pc-pill { position: relative; cursor: pointer; }
.pc-pill input { position: absolute; opacity: 0; pointer-events: none; }
.pc-pill span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--pc-ink); border-radius: 999px; font-weight: 600; background: #fff; transition: background .2s ease; }
.pc-pill input:checked + span { background: var(--pc-mint); }
.pc-pill input:focus-visible + span { outline: 3px solid var(--pc-mint); outline-offset: 2px; }
.pc-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pc-inquiry__submit { align-self: flex-start; font: inherit; font-weight: 700; font-size: 17px; background: var(--pc-ink); color: var(--pc-ground); border: 0; border-radius: 999px; padding: 16px 28px; cursor: pointer; transition: transform .2s ease; }
.pc-inquiry__submit:hover { transform: translateY(-2px); }
.pc-inquiry__submit[disabled] { opacity: .6; cursor: wait; transform: none; }
.pc-inquiry__note { font-size: 13px; color: var(--pc-muted); margin: 0; }
.pc-inquiry__status { margin: 0; font-weight: 600; }
.pc-inquiry__status.is-error { color: #B42318; }
.pc-inquiry-done { text-align: center; padding: 40px 10px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pc-inquiry-done strong { font-family: var(--wp--preset--font-family--display); font-size: 28px; }
.pc-inquiry-done::before { content: "✓"; width: 72px; height: 72px; border-radius: 50%; background: var(--pc-mint); display: inline-flex; align-items: center; justify-content: center; font-size: 34px; font-weight: 800; }

/* ---------- Kursübersicht ---------- */
.pc-kurse-hero { text-align: center; }
.pc-kurse-hero .pc-lead { margin-inline: auto; }
.pc-course-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; margin-bottom: 28px !important; }
.pc-course-filter:empty { display: none; }
.pc-course-filter__group { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pc-course-filter__label { font-size: 13px; font-weight: 700; color: var(--pc-muted); margin-right: 4px; }
.pc-course-grid { gap: 24px !important; align-items: stretch; }
.pc-course { display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 22px !important; }
.pc-course > * { margin: 0 !important; }
.pc-course .pc-mascot { height: 190px; }
.pc-course .pc-mascot img { height: 172px; }
.pc-course .pc-mascot--photo { padding: 0; align-items: stretch; }
.pc-course .pc-mascot--photo .wp-block-image, .pc-course .pc-mascot--photo img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; }
.pc-course h3 { font-size: 24px; line-height: 1.15; }
.pc-course__facts { gap: 8px !important; font-size: 15px; }
.pc-course__facts li { padding-left: 30px; }
.pc-course__facts li::before { width: 20px; height: 20px; }
.pc-course__formats { display: flex; flex-wrap: wrap; gap: 6px; font-size: 12px; font-weight: 700; }
.pc-course__formats span { background: #EEF7F0; border-radius: 999px; padding: 4px 10px; }
.pc-course.is-hidden { display: none !important; }
.pc-course-empty { text-align: center; color: var(--pc-muted); padding: 30px 0; }
.pc-backlink { font-size: 15px; font-weight: 700; margin-bottom: 4px !important; }
.pc-backlink a { color: var(--pc-muted); text-decoration: none; }
.pc-backlink a:hover { color: var(--pc-ink); }
.pc-course-filter { align-items: center; }
.pc-course > .pc-push { margin-top: auto !important; padding-top: 6px; }
.pc-course .pc-push .wp-block-button, .pc-course .pc-push .wp-block-button__link { width: 100%; text-align: center; }
.pc-course-filter > * { margin: 0 !important; }

.pc-day-block p, .pc-course p { hyphens: auto; -webkit-hyphens: auto; }

.stock.in-stock, .wc-block-components-product-stock-indicator--in-stock, .wp-block-woocommerce-product-stock-indicator .wc-block-components-product-stock-indicator--in-stock { display: none !important; }
