.practice-card-component{--card-bg: white;--card-border: #e2e8f0;--card-shadow: rgba(0, 0, 0, .04);--card-hover-border: #93c5fd;--card-hover-shadow: rgba(0, 0, 0, .07);--card-focus-outline: rgba(66, 153, 225, .4);--badge-barrierefrei-bg: #C6F6D5;--badge-barrierefrei-color: #22543D;--badge-kinder-bg: #FED7D7;--badge-kinder-color: #822727;--badge-video-bg: #E9D8FD;--badge-video-color: #553C9A;--contact-button-bg: #f0fff4;--contact-button-border: #c6f6d5;--contact-button-color: #047857;--contact-button-hover-bg: #d1fae5;--contact-button-hover-color: #065f46;--details-button-bg: #3182ce;--details-button-hover-bg: #2c5282}.practice-card-component .practice-card{background-color:var(--card-bg);border-radius:.5rem;box-shadow:none;border:1px solid var(--card-border);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;position:relative;overflow:hidden}.practice-card-component .practice-card:hover{box-shadow:0 4px 8px var(--card-hover-shadow);transform:translateY(-2px);border-color:var(--card-hover-border)}.practice-card-component .practice-card:focus-within{box-shadow:0 0 0 2px var(--card-focus-outline);outline:none}.practice-card-component .badges{display:flex;flex-direction:row;gap:.3rem;margin-bottom:.5rem;flex-wrap:wrap}.practice-card-component .badge{font-size:.65rem;font-weight:600;padding:.2rem .4rem;border-radius:9999px;display:flex;align-items:center;box-shadow:none;transition:all .2s ease;position:relative}.practice-card-component .badge:hover{transform:translateY(-1px);box-shadow:0 1px 2px var(--card-shadow)}.practice-card-component .badge-icon{width:.8rem;height:.8rem;margin-right:.3rem;opacity:.8}.practice-card-component .badge:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#2d3748e6;color:#fff;padding:.25rem .4rem;border-radius:.25rem;font-size:.65rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:10;pointer-events:none;margin-bottom:3px}.practice-card-component .badge:hover:after{opacity:1;visibility:visible}.practice-card-component .badge:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:3px;border-style:solid;border-color:transparent transparent rgba(45,55,72,.9) transparent;opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:10;pointer-events:none}.practice-card-component .badge:hover:before{opacity:1;visibility:visible}.practice-card-component .badge-barrierefrei{background-color:var(--badge-barrierefrei-bg);color:var(--badge-barrierefrei-color);border:none}.practice-card-component .badge-kinder{background-color:var(--badge-kinder-bg);color:var(--badge-kinder-color);border:none}.practice-card-component .badge-video{background-color:var(--badge-video-bg);color:var(--badge-video-color);border:none}.practice-card-component .card-content{padding:1rem;display:flex;flex-direction:column;height:100%}.practice-card-component .practice-name{font-size:1.1rem;font-weight:500;color:#374151;margin-bottom:.5rem;line-height:1.3;height:2.9rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.practice-card-component .info-list{margin-bottom:.75rem;flex:1;overflow:hidden}.practice-card-component .info-item{display:flex;align-items:flex-start;margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis}.practice-card-component .info-icon{width:1rem;height:1rem;margin-right:.4rem;color:#4299e1;flex-shrink:0;opacity:.8}.practice-card-component .info-text{font-size:.85rem;color:#4a5568;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.practice-card-component .phone-link{color:var(--contact-button-color);font-weight:500;text-decoration:none;display:flex;align-items:center;transition:color .2s ease}.practice-card-component .phone-link:hover{color:var(--contact-button-hover-color)}.practice-card-component .phone-icon-small{margin-right:.25rem;color:var(--contact-button-color);opacity:.8}.practice-card-component .card-actions{margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:.4rem}.practice-card-component .contact-button{width:100%;background-color:var(--contact-button-bg);border:1px solid var(--contact-button-border);color:var(--contact-button-color);padding:.5rem .6rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;display:flex;align-items:center;justify-content:center;border-radius:.25rem;box-shadow:none}.practice-card-component .contact-button:hover{background-color:var(--contact-button-hover-bg);color:var(--contact-button-hover-color)}.practice-card-component .contact-button:active{transform:translateY(1px)}.practice-card-component .contact-button.contacted{background-color:#ecfdf5;color:var(--contact-button-hover-color);border-color:#a7f3d0;font-weight:600}.practice-card-component .contact-icon{margin-right:.4rem;width:.9rem;height:.9rem}.practice-card-component .details-button{width:100%;background-color:transparent;color:var(--details-button-bg);padding:.45rem .75rem;font-size:.8rem;font-weight:500;border:1px solid currentColor;border-radius:9999px;cursor:pointer;transition:all .2s ease;text-align:center;display:flex;align-items:center;justify-content:center}.practice-card-component .details-button:hover{background-color:var(--details-button-bg);color:#fff}.practice-card-component .details-button:active{transform:translateY(1px)}.practice-card-component .details-button-icon{width:.9rem;height:.9rem;margin-left:.3rem}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.practice-card-component .contact-button.contacted{animation:pulse .2s ease-in-out}
