/* =====================================================================
   /pro – Preise & Pakete im neuen Design (Ergänzung zu home-neu.css + fux-neu.css)
   ===================================================================== */

/* Paket-Karten mit Foto statt Icon */
.pr-plans { margin-top: -70px; position: relative; z-index: 2; }
.pr-plan { padding: 0 0 26px; overflow: hidden; }
.pr-plan-img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--hn-bg-soft); }
.pr-plan-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pr-plan:hover .pr-plan-img img { transform: scale(1.04); }
.pr-plan-body { padding: 22px 24px 0; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pr-plan .hn-plan-badge { top: 14px; left: 14px; }
.pr-plan .hn-plan-badge--on { background: #15803d; }
.pr-plan .hn-plan-price { margin-top: 2px; }
.pr-plan-yearly { margin: 0; font-size: 13px; color: var(--hn-faint); }
.pr-plan .hn-checks { margin-top: 6px; gap: 8px; }
.pr-plan .hn-checks li { font-size: 14.5px; grid-template-columns: 22px 1fr; gap: 10px; }
.pr-plan .hn-checks li::before { width: 22px; height: 22px; font-size: 12px; }
.pr-plan .hn-btn { margin-top: 14px; width: 100%; justify-content: center; }
.pr-plan .hn-btn[disabled] { opacity: .55; cursor: default; }
.pr-plan--current { border: 2px solid #15803d; }

/* Ersparnis-Box im Spotlight */
.pr-save { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 22px; }
.pr-save div { background: #fff; border: 1px solid var(--hn-line); border-radius: 16px; padding: 16px 14px; }
.pr-save b { display: block; font-size: 22px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.pr-save b.is-good { color: #15803d; }
.pr-save span { display: block; margin-top: 4px; font-size: 13px; color: var(--hn-soft); line-height: 1.4; }

/* Upgrade-Dialog */
.pr-modal { display: none; position: fixed; inset: 0; background: rgba(11, 14, 30, .72); z-index: 9999; align-items: center; justify-content: center; padding: 20px; }
.pr-modal.open { display: flex; }
.pr-modal-box { background: #fff; border-radius: var(--hn-radius); padding: 30px 28px; max-width: 520px; width: 100%; box-shadow: var(--hn-shadow-lg); max-height: 92vh; overflow: auto; }
.pr-modal-box h2 { margin: 0 0 4px; font-size: 24px; letter-spacing: -.02em; }
.pr-modal-price { margin: 0 0 16px; color: var(--hn-soft); font-size: 15px; }
.pr-modal-price b { color: var(--hn-ink); font-size: 20px; }
.pr-modal-box p { margin: 0 0 12px; color: var(--hn-soft); font-size: 14.5px; line-height: 1.55; }
.pr-modal-box label.pr-label { display: block; margin: 14px 0 6px; font-size: 13px; font-weight: 700; }
.pr-modal-box textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--hn-line); border-radius: 14px; box-sizing: border-box; font: inherit; font-size: 14px; resize: vertical; }
.pr-modal-box textarea:focus { outline: none; border-color: var(--hn-red); box-shadow: 0 0 0 3px rgba(239, 68, 68, .15); }
.pr-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; font-size: 12.5px; line-height: 1.5; color: var(--hn-soft); cursor: pointer; }
.pr-check input { margin-top: 3px; flex-shrink: 0; }
.pr-check a { color: var(--hn-ink); font-weight: 600; }
.pr-modal-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.pr-modal-actions .hn-btn { width: 100%; justify-content: center; }
.pr-modal-actions .hn-btn--plain { background: transparent; color: var(--hn-faint); box-shadow: none; }
.pr-alert { padding: 12px 14px; border-radius: 12px; margin: 10px 0; font-size: 14px; }
.pr-alert.success { background: #dcfce7; color: #166534; }
.pr-alert.error { background: #fee2e2; color: #991b1b; }

/* Flash-Meldung */
.pr-flash { max-width: 720px; margin: 0 auto 24px; padding: 14px 18px; border-radius: 14px; background: #fff; border: 1px solid var(--hn-line); box-shadow: var(--hn-shadow); font-size: 15px; }

@media (max-width: 900px) {
    .pr-plans { margin-top: -40px; }
    .pr-save { grid-template-columns: 1fr; }
}
