:root{--zp-navy:#1a2e5a;--zp-pink:#e8a0a0;--zp-pink-lt:#fdf0f0;--zp-pink-md:#f5c8c8;--zp-gold:#e8a020;--zp-text:#333;--zp-muted:#666;--zp-border:#e8e0e0;--zp-white:#fff;--zp-radius:16px;--zp-shadow:0 2px 16px rgba(26,46,90,.08);--zp-trans:.22s ease}
.zp-listing-wrap{font-family:inherit;color:var(--zp-text)}
.zp-filters{background:var(--zp-pink-lt);border:1.5px solid var(--zp-pink-md);border-radius:var(--zp-radius);padding:24px 28px;margin-bottom:36px}
.zp-filters__inner{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}
.zp-filter-group{flex:1 1 180px}.zp-filter-group--price{flex:1 1 220px}
.zp-filter-label{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--zp-muted);margin-bottom:8px}
.zp-select-wrap{position:relative}.zp-select-wrap::after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--zp-navy);font-size:12px}
.zp-select{width:100%;appearance:none;background:var(--zp-white);border:1.5px solid var(--zp-pink-md);border-radius:50px;padding:10px 38px 10px 18px;font-size:14px;color:var(--zp-navy);cursor:pointer}
.zp-range-wrap{position:relative;height:36px}
.zp-range-wrap::before{content:'';position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;border-radius:6px;background:#fff;border:1px solid var(--zp-pink-md);z-index:0}
.zp-range-wrap::after{content:'';position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:6px;background:var(--zp-navy);left:var(--zp-range-lo,0%);right:calc(100% - var(--zp-range-hi,100%));z-index:1}
.zp-range-wrap input[type=range]{position:absolute;width:100%;height:36px;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none;top:0;margin:0;z-index:2}
.zp-range-wrap input[type=range]::-webkit-slider-runnable-track{background:transparent;border:none;height:36px}
.zp-range-wrap input[type=range]::-moz-range-track{background:transparent;border:none;height:36px}
.zp-range-wrap input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--zp-navy);border:3px solid var(--zp-white);box-shadow:0 1px 6px rgba(0,0,0,.25);pointer-events:all;cursor:pointer;margin-top:8px}
.zp-range-wrap input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--zp-navy);border:3px solid var(--zp-white);box-shadow:0 1px 6px rgba(0,0,0,.25);pointer-events:all;cursor:pointer}
.zp-results-meta{margin-bottom:20px;font-size:14px;color:var(--zp-muted)}.zp-results-meta strong{color:var(--zp-navy)}
.zp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.zp-card{background:var(--zp-white);border:1.5px solid var(--zp-border);border-radius:var(--zp-radius);padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--zp-shadow);transition:box-shadow var(--zp-trans),transform var(--zp-trans);position:relative;overflow:hidden}
.zp-card:hover{box-shadow:0 6px 28px rgba(26,46,90,.14);transform:translateY(-2px)}
.zp-card--featured{border-color:transparent}
/* Animowany różowo-fioletowy border dla wyróżnionych — kolor "leci" wokół całej ramki */
@property --zp-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.zp-card--featured::after{
    content:'';position:absolute;inset:0;border-radius:var(--zp-radius);
    padding:2.5px;pointer-events:none;z-index:2;
    background:conic-gradient(from var(--zp-angle,0deg),#1a2e5a,#ffb6ae,#1a2e5a,#ffb6ae,#1a2e5a);
    -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;mask-composite:exclude;
    animation:zp-border-spin 4s linear infinite;
}
@keyframes zp-border-spin{to{--zp-angle:360deg}}
@media(prefers-reduced-motion:reduce){.zp-card--featured::after{animation:none}}
.zp-card__badges{display:flex;flex-wrap:wrap;gap:8px}
.zp-badge{display:inline-block;padding:4px 14px;border-radius:50px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.zp-badge--featured{background:var(--zp-navy);color:#fff}.zp-badge--online{background:var(--zp-pink-lt);color:var(--zp-navy);border:1px solid var(--zp-pink-md)}.zp-badge--stationary{background:#f0f4ff;color:var(--zp-navy);border:1px solid #c8d4f0}
.zp-card__header{display:flex;align-items:center;gap:16px}
.zp-card__avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--zp-pink-md);flex-shrink:0}
.zp-card__avatar--placeholder{width:72px;height:72px;border-radius:50%;background:var(--zp-pink-lt);border:3px solid var(--zp-pink-md);flex-shrink:0}
/* Elementor frontend-lite ma `.elementor img{border-radius:0;border:none;height:auto}` (specyficzność 0,1,1)
   — bije nasz `.zp-card__avatar`. Przywracamy okrąg + ramkę wyższą specyficznością (0,2,1). */
.elementor img.zp-card__avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--zp-pink-md)}
.zp-card__name{font-size:18px;font-weight:700;color:var(--zp-navy);margin:0 0 4px;line-height:1.3}
.zp-card__name a{color:inherit;text-decoration:none}.zp-card__name a:hover{color:var(--zp-pink)}
.zp-card__location{font-size:13px;color:var(--zp-muted);margin:0;display:flex;align-items:center;gap:5px}
.zp-card__excerpt{font-size:14px;line-height:1.6;color:var(--zp-text)}.zp-card__excerpt p{margin:0 0 6px}
.zp-card__excerpt .zp-excerpt-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.zp-card__excerpt.is-expanded .zp-excerpt-text{display:block;-webkit-line-clamp:unset;overflow:visible}
.zp-read-more{-webkit-appearance:none!important;appearance:none!important;display:inline!important;font-family:inherit!important;font-size:13px!important;font-weight:600!important;line-height:inherit!important;color:var(--zp-navy)!important;text-decoration:none!important;background:none!important;background-color:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;min-height:0!important;width:auto!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer}
.zp-read-more:hover{background:none!important;color:var(--zp-navy)!important;text-decoration:underline!important}
.zp-card__meta{display:flex;flex-wrap:wrap;gap:14px;padding-top:12px;border-top:1px solid var(--zp-border)}
.zp-meta-label{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--zp-muted);margin-bottom:4px}
.zp-stars{font-size:18px;line-height:1}.zp-star--full{color:var(--zp-gold)}.zp-star--empty{color:#ddd}
.zp-card__rating .zp-stars{display:inline-flex;align-items:center;vertical-align:middle}
.zp-card__rating-num{font-size:13px;font-weight:600;color:var(--zp-muted);margin-left:6px;vertical-align:middle}
.zp-flags{display:flex;gap:6px;flex-wrap:wrap}.zp-flag{font-size:13px;background:#f5f5f5;padding:2px 8px;border-radius:4px;display:inline-flex;align-items:center;gap:7px}
/* Ikony SVG (zamiennik emoji) + mini-flagi języków */
.zp-ico{width:1em;height:1em;vertical-align:-.15em;flex-shrink:0;display:inline-block}
.zp-flag-svg{width:20px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.12);vertical-align:-.25em;flex-shrink:0;display:inline-block}
.zp-price-value{font-weight:700;color:var(--zp-navy);font-size:15px}
.zp-card__footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.zp-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 22px;border-radius:50px;font-size:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:background var(--zp-trans)}
.zp-btn--primary{background:var(--zp-navy);color:#fff;flex:1}.zp-btn--primary:hover{background:#243d78;color:#fff}
.zp-btn--secondary{background:var(--zp-pink-lt);color:var(--zp-navy);border:1.5px solid var(--zp-pink-md);flex:1}.zp-btn--secondary:hover{background:var(--zp-pink-md)}
.zp-btn--prev,.zp-btn--next{background:var(--zp-white);border:1.5px solid var(--zp-border);color:var(--zp-navy)}.zp-btn--prev:disabled,.zp-btn--next:disabled{opacity:.4;cursor:not-allowed}
.zp-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:40px}
.zp-page-info{font-size:14px;color:var(--zp-muted)}
.zp-loading{text-align:center;padding:40px;color:var(--zp-muted)}.zp-spinner{width:36px;height:36px;border:3px solid var(--zp-pink-md);border-top-color:var(--zp-navy);border-radius:50%;animation:zp-spin .8s linear infinite;margin:0 auto 12px}
@keyframes zp-spin{to{transform:rotate(360deg)}}
.zp-no-results{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--zp-muted);font-size:16px}
@media(max-width:768px){.zp-grid{grid-template-columns:1fr}.zp-card__footer{flex-direction:column}.zp-filters__inner{flex-direction:column}}

/* Kontrast przycisków — globalne `a{color:inherit}` / `.elementor a` zjadało biały tekst */
.zp-listing-wrap .zp-btn--primary,.zp-listing-wrap a.zp-btn--primary{background:var(--zp-navy)!important;color:#fff!important}
.zp-listing-wrap .zp-btn--primary:hover,.zp-listing-wrap a.zp-btn--primary:hover{background:#243d78!important;color:#fff!important}
.zp-listing-wrap .zp-btn--secondary,.zp-listing-wrap a.zp-btn--secondary{color:var(--zp-navy)!important}
.zp-listing-wrap .zp-btn--secondary:hover,.zp-listing-wrap a.zp-btn--secondary:hover{color:var(--zp-navy)!important}

/* ===== CTA „Dołącz do portalu" (dla specjalistów) — wspólny komponent ===== */
.zp-join{font-family:"Montserrat",Sans-serif;box-sizing:border-box}
.zp-join *{box-sizing:border-box}
.zp-join__inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.zp-join__eyebrow{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d9857a}
.zp-join__title{margin:0 0 6px;font-size:21px;font-weight:800;line-height:1.25;color:#1a2e5a}
.zp-join__sub{margin:0;font-size:14.5px;line-height:1.55;color:#4a4a5a;max-width:560px}
.zp-join__btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:#3a4f80;color:#fff!important;text-decoration:none;font-weight:600;font-size:15px;padding:14px 28px;border-radius:50px;white-space:nowrap;transition:background .2s,transform .2s}
.zp-join__btn:hover{background:#2c3c63;transform:translateY(-2px);color:#fff!important}
.zp-join__btn svg{flex:0 0 auto}

/* wariant: slim pasek w stopce (jedna linia, ~jak topbar; różowy akcent = inny „pas ruchu") */
.zp-join--band{background:#ffb6ae}
.zp-join--band .zp-join__inner{max-width:none;margin:0 auto;padding:18px clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap}
.zp-join--band .zp-join__line{font-size:14.5px;font-weight:700;color:#1a2e5a!important}
.zp-join--band .zp-join__link{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:#fff!important;text-decoration:none;background:#1a2e5a;padding:8px 20px;border-radius:50px;transition:background .2s}
.zp-join--band .zp-join__link:hover{background:#2c3c63;color:#fff!important;text-decoration:none}
.zp-join--band .zp-join__link svg{width:16px;height:16px;flex:0 0 auto}

/* wariant: sekcja na stronie głównej (karta na jasnym tle) */
.zp-join--section{padding:60px 24px;background:#f6f7fb}
.zp-join--section .zp-join__inner{max-width:1000px;margin:0 auto;background:#fff;border:1.5px solid #ede8f5;border-radius:20px;padding:34px 40px;box-shadow:0 12px 34px rgba(58,79,128,.09)}

/* wariant: dół profilu specjalisty (lżejszy, w obrębie .zp-single-wrap) */
.zp-join--profile{margin:0 0 56px}
.zp-join--profile .zp-join__inner{max-width:1100px;margin:0 auto;padding:30px 36px;background:linear-gradient(300deg,#fdf0f0,#eef1f8);border:1px solid #e2e6f0;border-radius:18px}

@media(max-width:680px){
 .zp-join--section .zp-join__inner,.zp-join--profile .zp-join__inner{flex-direction:column;align-items:flex-start;gap:18px}
 .zp-join--section .zp-join__btn,.zp-join--profile .zp-join__btn{width:100%;justify-content:center}
 .zp-join--band .zp-join__inner{padding-top:16px;padding-bottom:16px}
}

/* Pozycja menu „Dla specjalistów" — wyróżniona różowa pigułka, oddzielona od nawigacji pacjenta */
.zp-header .zp-nav__link.zp-nav__link--join{background:#ffb6ae;color:#1a2e5a!important;font-weight:700!important}
.zp-header .zp-nav__item--join:hover>.zp-nav__link--join,
.zp-header .zp-nav__link.zp-nav__link--join:hover{background:#f59b91;color:#1a2e5a!important}
.zp-header .zp-nav__link--join::after{display:none!important}
