/* DPS page-body interactions & polish. Auto-versioned by filemtime. */
.dps-card{transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease,border-color .55s ease}
.dps-card:hover{transform:translateY(-1.5px);box-shadow:0 8px 22px rgba(5,150,105,.07)!important;border-color:#bbf7d5!important}
.dps-zoom{transition:transform 1s cubic-bezier(.22,1,.36,1)}
.dps-card:hover .dps-zoom{transform:scale(1.015)}
.dps-arrow{display:inline-flex;align-items:center;gap:6px;transition:gap .35s ease}
.dps-arrow:hover{gap:8px}
.elementor-widget-button .elementor-button{transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,background-color .45s ease}
.elementor-widget-button .elementor-button:hover{transform:translateY(-0.5px);box-shadow:0 5px 12px rgba(5,150,105,.09)}

/* image crop + zoom helpers (blog cards, jannik portrait) */
.dps-imgwrap{overflow:hidden}
.dps-imgwrap img{display:block;width:100%;height:176px;object-fit:cover}
.dps-jannik img{height:520px;object-fit:cover;object-position:top;box-shadow:0 18px 50px rgba(5,150,105,.14)}

.dps-badge{width:auto !important;max-width:calc(100% - 36px)}

/* equal-fill card grids so every section aligns to the same content edges */
@media(min-width:768px){.dps-grid>.e-con{flex:1 1 0 !important;width:auto !important;max-width:none !important}}

.dps-portrait img{width:100%;height:580px;object-fit:cover;object-position:top;border-radius:24px}

.dps-faq .elementor-accordion .elementor-accordion-item{border:0 !important;border-bottom:1px solid #d1fae5 !important}
.dps-faq .elementor-accordion .elementor-accordion-item:last-child{border-bottom:0 !important}
.dps-faq .elementor-accordion .elementor-tab-title,.dps-faq .elementor-accordion .elementor-tab-content{border:0 !important}

/* ---- Kontakt CF7 form (id 17) ---- */
.dps-cf7 .cf-row{display:flex;gap:20px}
.dps-cf7 .cf-row>.cf-field{flex:1;min-width:0}
.dps-cf7 .cf-field{display:flex;flex-direction:column;gap:7px;margin:0 0 20px}
.dps-cf7 p{margin:0}
.dps-cf7 .cf-label{font-family:Nunito,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b}
.dps-cf7 .cf-req{color:#10b981}
.dps-cf7 input[type=text],.dps-cf7 input[type=email],.dps-cf7 input[type=tel],.dps-cf7 textarea{width:100%;font-family:Nunito,sans-serif;font-size:14px;color:#0f172a;border:1px solid #e2e8f0;border-radius:12px;padding:12px 16px;outline:none;background:#fff;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}
.dps-cf7 input::placeholder,.dps-cf7 textarea::placeholder{color:#cbd5e1}
.dps-cf7 input:focus,.dps-cf7 textarea:focus{border-color:#34d399;box-shadow:0 0 0 3px #d1fae5}
.dps-cf7 textarea{resize:none;min-height:140px;line-height:1.6}
.dps-cf7 .wpcf7-form-control-wrap{display:block}
.dps-cf7 .cf-submit{margin:6px 0 0}
.dps-cf7 .wpcf7-submit{font-family:Nunito,sans-serif;font-weight:700;font-size:14px;color:#fff;background:#059669;border:none;border-radius:999px;padding:15px 34px;cursor:pointer;transition:transform .3s,box-shadow .3s}
.dps-cf7 .wpcf7-submit:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(5,150,105,.18)}
.dps-cf7 .cf-note{font-family:Nunito,sans-serif;font-size:12px;color:#94a3b8;margin:14px 0 0}
.dps-cf7 .wpcf7-not-valid-tip{font-family:Nunito,sans-serif;font-size:12px;color:#dc2626;margin-top:4px}
.dps-cf7 .wpcf7-response-output{font-family:Nunito,sans-serif;font-size:13px;border-radius:12px;margin:18px 0 0 !important;padding:12px 16px}
@media(max-width:600px){.dps-cf7 .cf-row{flex-direction:column;gap:0}}
.dps-chk-dot{flex:0 0 20px !important;width:20px !important;height:20px !important;min-width:20px !important;border-radius:999px !important}
.dps-chk-txt p{margin:0 !important}
