/* Partnerseite + Paket-Bausteine (Kit-Stil) */

/* ---------- Paket-Tabelle ---------- */
.fzm-plans { display: grid; gap: 24px; align-items: stretch; }
@media (min-width: 1025px) { .fzm-plans { grid-template-columns: repeat(3, 1fr); gap: 28px; align-items: stretch; } }
.fzm-plan { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 36px 30px 32px; background: #fff; border-radius: var(--kit-radius); box-shadow: var(--kit-shadow); }
.fzm-plan.is-featured { padding-top: 48px; padding-bottom: 44px; box-shadow: 0 0 0 2px var(--fzm-accent), 0 20px 50px rgba(244, 116, 35, .18); }
@media (min-width: 1025px) { .fzm-plan.is-featured { transform: translateY(-8px); } }
.fzm-plan__flag { position: absolute; top: 18px; right: 18px; padding: 6px 14px; border-radius: 50px; background: var(--fzm-accent); color: #fff; font: 600 13px/1 var(--fzm-font-ui); }
.fzm-plan__name { margin: 0; font: 400 34px/1 var(--fzm-font-display); color: var(--fzm-head); letter-spacing: .01em; }
.fzm-plan__price { margin: 10px 0 0; display: flex; align-items: baseline; gap: 8px; }
.fzm-plan__price strong { font: 400 60px/1 var(--fzm-font-display); color: var(--fzm-accent); letter-spacing: .01em; }
.fzm-plan__price span { font: 600 15px var(--fzm-font-ui); color: var(--fzm-head); }
.fzm-plan__note { margin: 0; font-size: 13px; color: var(--fzm-grey); }
.fzm-plan__lead { margin: 10px 0 4px; font-size: 15px; line-height: 1.55; }
.fzm-plan__list { list-style: none; margin: 6px 0 22px; padding: 0; flex: 1; }
.fzm-plan__list li { display: flex; gap: 10px; align-items: flex-start; padding: 9px 0; border-top: 1px solid var(--kit-line); font-size: 15px; line-height: 1.45; }
.fzm-plan__list li svg { flex: 0 0 auto; margin-top: 2px; }
.fzm-plan__list .is-yes svg { color: var(--fzm-accent); }
.fzm-plan__list .is-no { color: #b5aca5; }
.fzm-plan .fzm-btn { align-self: flex-start; }
.fzm-plans__foot { margin: 22px 0 0; text-align: center; font-size: 14px; color: var(--fzm-grey); }

/* ---------- Angebotskacheln (dunkler Abschnitt) ---------- */
.fzm-offers { display: grid; gap: 18px; }
@media (min-width: 768px) { .fzm-offers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1025px) { .fzm-offers { grid-template-columns: repeat(3, 1fr); gap: 22px; } }
.fzm-offer { padding: 26px 26px 24px; border-radius: var(--kit-radius); background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); transition: background .2s ease, transform .2s ease; }
.fzm-offer:hover { background: rgba(255, 255, 255, .1); transform: translateY(-3px); }
.fzm-offer__kick { margin: 0 0 8px; font: 600 13px/1 var(--fzm-font-ui); color: var(--fzm-accent); text-transform: uppercase; letter-spacing: .08em; }
.fzm-offer__title { margin: 0; font: 400 30px/1.05 var(--fzm-font-display); color: #fff; letter-spacing: .01em; }
.fzm-offer__price { margin: 10px 0 8px; font: 600 18px var(--fzm-font-ui); color: #fff; }
.fzm-offer__text { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .78); }
.fzm-darkband .elementor-heading-title, .fzm-darkband .elementskit-section-title { color: #fff !important; }
.fzm-darkband .elementor-icon-list-text, .fzm-darkband .elementor-widget-text-editor, .fzm-darkband .elementor-widget-text-editor p { color: rgba(255, 255, 255, .85) !important; }

/* ---------- Hero mit schwebender Karte ---------- */
.fzm-hero-media { position: relative; }
.fzm-floatcard { position: absolute; left: -28px; bottom: 34px; z-index: 2; display: flex; gap: 14px; align-items: center; padding: 16px 20px; border-radius: 16px; background: #fff; box-shadow: 0 14px 40px rgba(0, 0, 0, .14); }
.fzm-floatcard__icon { width: 46px; height: 46px; border-radius: 50%; background: var(--fzm-accent); display: flex; align-items: center; justify-content: center; color: #fff; }
.fzm-floatcard p { margin: 0; font: 600 15px/1.35 var(--fzm-font-ui); color: var(--fzm-head); }
.fzm-floatcard small { display: block; font-weight: 400; font-size: 13px; color: var(--fzm-grey); }
@media (max-width: 767px) { .fzm-floatcard { left: 12px; right: 12px; bottom: 12px; } }
.fzm-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 600px) { .fzm-checks { grid-template-columns: 1fr 1fr; } }
.fzm-checks li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; }
.fzm-checks li::before { content: ""; flex: 0 0 22px; height: 22px; border-radius: 50%; background: var(--fzm-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center / 13px no-repeat; }
.fzm-bigprice { margin: 0; display: flex; align-items: baseline; gap: 10px; }
.fzm-bigprice strong { font: 400 56px/1 var(--fzm-font-display); color: var(--fzm-accent); letter-spacing: .01em; }
.fzm-bigprice span { font: 600 15px var(--fzm-font-ui); color: var(--fzm-head); }
.fzm-steps { display: grid; gap: 24px; counter-reset: s; }
@media (min-width: 1025px) { .fzm-steps { grid-template-columns: repeat(3, 1fr); } }
.fzm-step { position: relative; padding: 30px 28px; background: #fff; border-radius: var(--kit-radius); box-shadow: var(--kit-shadow); }
.fzm-step__n { display: block; font: 400 64px/1 var(--fzm-font-display); color: transparent; -webkit-text-stroke: 1px var(--fzm-accent); margin-bottom: 10px; }
.fzm-step__t { margin: 0 0 6px; font: 400 28px/1.1 var(--fzm-font-display); color: var(--fzm-head); }
.fzm-step p { margin: 0; font-size: 15px; line-height: 1.6; }
.fzm-note { display: flex; gap: 14px; align-items: flex-start; padding: 22px 24px; border-radius: var(--kit-radius); background: #fff; box-shadow: var(--kit-shadow); }
.fzm-note p { margin: 0; font-size: 15px; line-height: 1.6; }
.fzm-note strong { font-family: var(--fzm-font-ui); }

/* ---------- Video & Aktionen (Paket-Abschnitte) ---------- */
.fzm-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--kit-radius); overflow: hidden; background: #000; }
.fzm-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fzm-aktionen { display: grid; gap: 12px; }
.fzm-aktion { padding: 16px 18px; border-left: 4px solid var(--fzm-accent); border-radius: 0 14px 14px 0; background: #fff; box-shadow: var(--kit-shadow); }
.fzm-aktion__title { margin: 0 0 4px; font: 400 24px/1.1 var(--fzm-font-display); color: var(--fzm-head); }
.fzm-aktion__text { margin: 0; font-size: 15px; }
.fzm-aktion__bis { margin: 6px 0 0; font-size: 13px; color: var(--fzm-grey); }

/* Schwebende Karte am Bild verankern */
.fzm-hero-media { position: relative !important; }
.fzm-hero-media > .elementor-widget-shortcode { position: static !important; width: auto !important; }
.fzm-floatcard { max-width: 360px; }
/* Interessen im Formular zweispaltig */
.fzm-kitform .jet-form-builder__fields-group { display: grid !important; grid-template-columns: 1fr; gap: 4px 18px; }
@media (min-width: 600px) { .fzm-kitform .jet-form-builder__fields-group:has(> .jet-form-builder__field-wrap + .jet-form-builder__field-wrap) { grid-template-columns: 1fr 1fr; } }
.fzm-kitform .jet-form-builder__fields-group .jet-form-builder__field-label { font-size: 15px; }

.fzm-offers .fzm-offer__title { color: #fff !important; }
.fzm-offers .fzm-offer__price { color: #fff !important; }
.fzm-plan__name { color: var(--fzm-head) !important; }
