/* 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}

/* ---- 404 page: full-height so the footer pins to the bottom ---- */
body.error404 #page{display:flex;flex-direction:column;min-height:100vh}
body.error404 #content.site-main{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px 24px}
body.error404 .page-header{margin:0}
body.error404 .page-header .entry-title{font-family:Fraunces,serif;font-weight:300;font-size:42px;color:#0f172a;margin:0 0 12px}
body.error404 .page-content{font-family:Nunito,sans-serif;font-size:16px;color:#64748b;max-width:480px;line-height:1.6}

/* ---- Complianz cookie banner — DPS brand ---- */
#cmplz-cookiebanner-container .cmplz-cookiebanner{font-family:Nunito,sans-serif!important;background:rgba(255,255,255,.97)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #d1fae5!important;border-radius:20px!important;box-shadow:0 18px 50px rgba(5,150,105,.16)!important;color:#0f172a!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title{font-family:Fraunces,serif!important;font-weight:400!important;color:#0f172a!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message{font-family:Nunito,sans-serif!important;color:#475569!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn{font-family:Nunito,sans-serif!important;font-weight:700!important;border-radius:999px!important;transition:transform .3s,box-shadow .3s,background-color .3s,border-color .3s}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:#059669!important;color:#fff!important;border:1px solid #059669!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(5,150,105,.22)}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences{background:transparent!important;color:#475569!important;border:1px solid #e2e8f0!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover{border-color:#34d399!important;color:#059669!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-save-preferences .cmplz-btn,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:#059669!important;color:#fff!important;border-color:#059669!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner input:checked+.cmplz-slider,#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category input:checked+.cmplz-label .cmplz-slider{background:#059669!important}
#cmplz-cookiebanner-container .cmplz-cookiebanner a,#cmplz-document a{color:#059669!important;font-weight:700}
#cmplz-manage-consent .cmplz-link{color:#475569!important}
.cmplz-cookiebanner .cmplz-header .cmplz-title{font-size:19px!important}
