.practice-card-component{--card-bg: #ffffff;--card-border: #e2e8f0;--card-accent: #2563eb;--card-accent-hover: #1d4ed8;--card-accent-muted: #eff6ff;--card-accent-border: #bfdbfe;--card-hover-border: #93c5fd;--card-hover-shadow: rgba(37, 99, 235, .08);--card-focus-outline: rgba(37, 99, 235, .35);--badge-barrierefrei-bg: #dbeafe;--badge-barrierefrei-color: #1e40af;--badge-kinder-bg: #e0e7ff;--badge-kinder-color: #3730a3;--badge-video-bg: #ede9fe;--badge-video-color: #5b21b6;--details-button-bg: var(--card-accent);--details-button-hover-bg: var(--card-accent-hover);--call-button-bg: var(--card-bg);--call-button-border: var(--card-accent-border);--call-button-color: var(--card-accent);--call-button-hover-bg: var(--card-accent-muted);--call-button-hover-color: var(--card-accent-hover);contain:layout style;display:flex;flex-direction:column;height:100%;min-height:0}#practices-grid{align-items:stretch}#practices-grid>[data-practice-card],#practices-grid>div:has(.practice-card-component){display:flex;flex-direction:column;min-height:0;min-width:0}[data-practice-card]{display:flex;flex-direction:column;flex:1;min-height:0}.practice-card-component .practice-card{background-color:var(--card-bg);border-radius:.5rem;box-shadow:none;border:1px solid var(--card-border);border-top:3px solid var(--card-accent);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;min-height:300px;height:100%;width:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;cursor:pointer}.practice-card-component .practice-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--card-hover-shadow);border-color:var(--card-hover-border);border-top-color:var(--card-accent)}.practice-card-component .practice-card:focus-within{box-shadow:0 0 0 2px var(--card-focus-outline);outline:none}.practice-card-component .card-content{padding:.875rem 1rem 1rem;display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.practice-card-component .practice-name{font-size:1.05rem;font-weight:700;color:#1e3a8a;margin:0 0 .25rem;line-height:1.35;height:2.85rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.practice-card-component .practice-name-link{color:inherit;text-decoration:none}.practice-card-component .practice-name-link:hover{color:var(--card-accent);text-decoration:underline}.practice-card-component .practice-specialty-line{font-size:.75rem;color:#64748b;margin:0 0 .5rem;line-height:1.3;min-height:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.practice-card-component .trust-badge{margin-bottom:.375rem;color:#1e40af!important;background-color:#eff6ff!important;border-color:#bfdbfe!important}.practice-card-component .badges{display:flex;flex-direction:row;gap:.25rem;margin-bottom:.5rem;flex-wrap:wrap;min-height:1.25rem}.practice-card-component .badge{font-size:.625rem;font-weight:600;padding:.15rem .35rem;border-radius:9999px;display:inline-flex;align-items:center;box-shadow:none}.practice-card-component .badge-icon{width:.7rem;height:.7rem;margin-right:.25rem}.practice-card-component .badge-barrierefrei{background-color:var(--badge-barrierefrei-bg);color:var(--badge-barrierefrei-color)}.practice-card-component .badge-kinder{background-color:var(--badge-kinder-bg);color:var(--badge-kinder-color)}.practice-card-component .badge-video{background-color:var(--badge-video-bg);color:var(--badge-video-color)}.practice-card-component .info-list{margin-bottom:.75rem;flex:1;min-height:2.5rem;overflow:hidden}.practice-card-component .info-item{display:flex;align-items:flex-start;margin-bottom:.375rem;overflow:hidden}.practice-card-component .info-item:last-child{margin-bottom:0}.practice-card-component .info-icon{width:1rem;height:1rem;margin-right:.375rem;color:var(--card-accent);flex-shrink:0}.practice-card-component .info-text{font-size:.8125rem;color:#475569;line-height:1.35;overflow:hidden;text-overflow:ellipsis}.practice-card-component .angebote-list{display:flex;flex-wrap:wrap;gap:.25rem}.practice-card-component .angebot-tag{font-size:.6875rem;font-weight:500;padding:.125rem .375rem;border-radius:.25rem;background-color:#f8fafc;color:#475569;border:1px solid #e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:10rem}.practice-card-component .card-actions{margin-top:auto;flex-shrink:0;display:flex;flex-direction:column;gap:.375rem}.practice-card-component .card-actions-split{flex-direction:row;gap:.375rem}.practice-card-component .details-button,.practice-card-component .card-call-button{flex:1;min-height:36px;padding:.4375rem .5rem;font-size:.8125rem;font-weight:600;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;text-align:center;display:flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.practice-card-component .details-button{background-color:var(--details-button-bg);color:#fff;border:1px solid var(--details-button-bg)}.practice-card-component .details-button:hover{background-color:var(--details-button-hover-bg);border-color:var(--details-button-hover-bg)}.practice-card-component .card-call-button{background-color:var(--call-button-bg);border:1px solid var(--call-button-border);color:var(--call-button-color)}.practice-card-component .card-call-button:hover{background-color:var(--call-button-hover-bg);border-color:var(--card-accent);color:var(--call-button-hover-color)}.practice-card-component .details-button:active,.practice-card-component .card-call-button:active{transform:translateY(1px)}.practice-card-component .details-button-icon{width:.75rem;height:.75rem;margin-left:.25rem;flex-shrink:0}.practice-card-component .contact-button{width:100%;background-color:var(--call-button-bg);border:1px solid var(--call-button-border);color:var(--call-button-color);padding:.4375rem .5rem;font-size:.8125rem;font-weight:600;border-radius:.375rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;text-align:center}.practice-card-component .contact-button:hover{background-color:var(--call-button-hover-bg);color:var(--call-button-hover-color)}.practice-card-component .contact-button.contacted{background-color:var(--card-accent-muted);color:var(--card-accent-hover);border-color:var(--card-accent-border)}
