/* ==========================================================================
   CSS ZGODNY Z NOWYM PROJEKTEM (2026)
   ========================================================================== */

:root {
    --pm-purple: #7A2E84;
    --pm-purple-light: #F4EEF5;
    --pm-yellow: #f8b525;
    --pm-teal: #00A69C;
    --pm-text-dark: #2A2330;
    --pm-text-gray: #5B5666;
    --pm-bg-body: #F7F4F9;
    --pm-border: #E7DCEC;
    --pm-radius-lg: 15px;
    --pm-radius-md: 13px;
    --pm-shadow: 0 8px 24px #3f21470d;
}
/* Wymuszenie działania position: sticky poprzez usunięcie overflow: hidden z głównych kontenerów motywu */
#page
{
    overflow: visible !important;
    overflow-x: visible !important;
}

body.specjalista-template-default.single.single-specjalista {
    background: #fbfafc;
    color: var(--pm-text-gray);
    font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
}
body.specjalista-template-default.single.single-specjalista .pm-doc-info{
	padding-right: 95px;
}

.pm-profile-wrapper {
    max-width: 1240px;
    margin: 40px auto 80px;
    padding: 0 20px;
}

/* Breadcrumbs */
.pm-breadcrumbs {
    font-size: 13px;
    color: var(--pm-text-gray);
    margin-bottom: 24px;
}
.pm-breadcrumbs a {
    color: var(--pm-purple);
    text-decoration: none;
}
.pm-breadcrumbs span {
    font-weight: 600;
}

/* Grid Główny */
.pm-profile-grid {
    display: grid;
    grid-template-columns: 1fr 380px; /* Lewa: auto, Prawa: 380px */
    gap: 32px;
    align-items: start;
}

@media (max-width: 992px) {
    .pm-profile-grid {
        grid-template-columns: 1fr;
    }
}

/* Karta Baza */
.pm-card {
    border: 1px solid #e7e1ec;
	padding: 1.75rem;
	border-radius: 1rem;
	background: #ffffff;
}

.pm-main-column{
	display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Karta 1: Nagłówek */
.pm-card-header {
    display: flex;
    gap: 24px;
    align-items: center;
    position: relative;
	padding: 32px;
}
body.specjalista-template-default.single #content h2{
	margin-top:0;
	margin-bottom: 16px;
}
body.specjalista-template-default.single #content ul{
	list-style: none!important;
}
.pm-doc-avatar {
	width: 156px;
    height: 156px;
    flex-shrink: 0;
    border-radius: var(--pm-radius-md);
    overflow: hidden;
    background-color: var(--pm-teal);
    display: flex;
    align-items: center;
    justify-content: center;
}
.pm-doc-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pm-initials {
    color: #fff;
    font-size: 32px;
    font-weight: 700;
}
.pm-doc-info h1 {
    font-size: 30px;
    font-weight: 700;
    color: #2A2330;
    margin: 0;
	font-family: 'Poppins', sans-serif;
}
.pm-doc-specialty {
    font-size: 16px;
    color: #7A2E84;
    margin-bottom: 5px;
	font-weight: 600;
}
.pm-doc-rating {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.stars{
	display: flex;
    gap: 0.125rem;
}
.stars i { color: #EAEAEA; font-size: 15px;}
.stars i.active { color: var(--pm-yellow); }
.rating-score { font-weight: 700; color: var(--pm-text-dark); }

.pm-doc-actions {
    position: absolute;
    right: 32px;
    display: flex;
    gap: 12px;
}
.pm-action-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    width: 40px;
    max-width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--pm-border);
    background: transparent;
    color: var(--pm-purple);
    cursor: pointer;
    transition: 0.3s;
}
.pm-action-btn:hover {
    background: var(--pm-purple-light);
}

@media (max-width: 600px) {
    .pm-card-header {
        flex-direction: column;
        text-align: center;
    }
    .pm-doc-actions {
        position: static;
        margin-top: 16px;
        justify-content: center;
    }
}

/* Nawigacja w profilu */
.pm-profile-nav {
	padding: 0 32px;
}
#content  .pm-profile-nav ul {
    display: flex;
    gap: 32px;
    list-style: none!important;
    padding: 0;
    margin: 0;
    overflow-x: auto;
}
.pm-profile-nav a {
    display: block;
    padding: 16px 0;
    color: var(--pm-text-gray);
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
    border-bottom: 3px solid transparent;
}
.pm-profile-nav a.active, .pm-profile-nav a:hover {
    color: var(--pm-purple);
    border-bottom-color: var(--pm-purple);
}

body.specjalista-template-default.single #content h2.pm-section-title{
	font-size: 20px;
}

/* Sekcje uniwersalne */
.pm-section-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--pm-text-dark);
    margin: 0 0 24px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}
.pm-section-title i {
    color: var(--pm-purple);
}
.pm-content-block {
    line-height: 1.6;
    margin-bottom: 24px;
	font-size: 15px;
}

/* Blok cytatu */
.pm-quote-block {
    background: var(--pm-purple-light);
    border-left: 4px solid var(--pm-purple);
    padding: 24px;
    border-radius: 0 var(--pm-radius-md) var(--pm-radius-md) 0;
    margin-bottom: 32px;
}
.quote-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--pm-purple);
    margin-bottom: 8px;
}
.pm-quote-block blockquote {
    margin: 0;
    font-style: italic;
    color: var(--pm-text-dark);
    font-weight: 600;
}

/* Statystyki */
.pm-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.pm-stat-box {
    background: #f5f1f7;
    border: 1px solid var(--pm-border);
    border-radius: var(--pm-radius-md);
    padding: 16px;
    text-align: center;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0;
}
.stat-number {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: var(--pm-purple);
    margin-bottom: 0px;
	font-family: 'Poppins';
}
.stat-label {
    font-size: 13px;
}
@media (max-width: 600px) {
    .pm-stats-grid { grid-template-columns: 1fr; }
}

/* Wewnętrzny Grid (Specjalizacje / Wykształcenie) */
.pm-inner-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
@media (max-width: 768px) {
    .pm-inner-grid-2col { grid-template-columns: 1fr; }
}

/* Tagi */
.pm-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.pm-tag {
    background: var(--pm-purple-light);
    color: var(--pm-purple);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

/* Lista wykształcenia */
.pm-list-check {
    list-style: none!important;
    padding: 0;
    margin: 0;
}
.pm-list-check li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 12px;
    font-size: 14px;
}
.pm-list-check li::before {
    content: "\f058"; /* Check circle font awesome */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--pm-teal);
    position: absolute;
    left: 0;
    top: 2px;
}

/* Galeria */
.pm-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.pm-gallery-item {
    aspect-ratio: 4/3;
    border-radius: var(--pm-radius-md);
    background-color: var(--pm-teal); /* Placeholder kolor */
}
.pm-gallery-item:nth-child(even) { background-color: var(--pm-purple); }
.pm-gallery-item.more {
    background-color: #8C8290;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 600;
    cursor: pointer;
}

/* Cennik */
.pm-price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-bottom: 1px solid var(--pm-border);
}
.pm-price-item:last-child { border-bottom: none; padding-bottom: 0; }
.service-info {
    display: flex;
    align-items: center;
    gap: 16px;
}
.service-info i {
    width: 40px;
    height: 40px;
    background: var(--pm-purple-light);
    color: var(--pm-purple);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.service-name {
    display: block;
    font-weight: 600;
	font-size: 15px;
    color: var(--pm-text-dark);
}
.service-time {
    font-size: 13px;
}
.service-price {
    font-weight: 700;
    color: var(--pm-purple);
    font-size: 18px;
	font-family: Poppins;
}

/* FAQ Accordion */
.pm-faq-item {
    border-radius: 16px;
    border: 1px solid var(--pm-border);
    padding: 16px 20px;
    margin-bottom: 12px;
}
.pm-faq-item summary {
    font-weight: 600;
    color: var(--pm-text-dark);
    cursor: pointer;
    list-style: none!important; /* Hide default arrow */
    position: relative;
    padding-right: 24px;
	font-size: 15px;
}
.pm-faq-item summary::-webkit-details-marker { display: none; }
.pm-faq-item summary::after {
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
}
.pm-faq-item[open] summary::after {
    transform: translateY(-50%) rotate(180deg);
}
.faq-content {
    padding-top: 12px;
    font-size: 14px;
    line-height: 1.5;
}

/* ==========================================================================
   WIDŻET REZERWACJI (PRAWA KOLUMNA)
   ========================================================================== */
.pm-sidebar-column {
    position: sticky;
    top: 100px; /* Odległość od góry przy scrollowaniu */
}
.pm-booking-widget-container {
    background: #FFFFFF;
    border-radius: var(--pm-radius-lg);
    box-shadow: var(--pm-shadow);
    overflow: hidden;
}
.pm-booking-header {
    background: var(--pm-purple);
    color: #fff;
    padding: 24px;
    text-align: center;
}
.pm-booking-header i {
    font-size: 24px;
    margin-bottom: 12px;
    opacity: 0.8;
}
.pm-booking-header h3 {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}
.pm-booking-header p {
    margin: 0;
    font-size: 13px;
    opacity: 0.8;
}
.pm-booking-content {
    padding: 0; /* Iframe z Medfile zajmie to miejsce */
}

/* Zabezpieczenie dla istniejącego kalendarza Medfile */
.pm-booking-content iframe {
    display: block;
    width: 100%;
}

/* ==========================================================================
   STYLISTYKA ISTNIEJĄCYCH OPINII (Dopasowanie do projektu)
   ========================================================================== */
.pm-opinions-container {
    margin-top: 20px;
}
.pm-opinions-container .opiniaKtoKiedySTP {
    font-weight: 700;
    color: var(--pm-text-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}
.pm-opinions-container .icon-star {
    color: var(--pm-yellow);
}
.pm-opinions-container .opiniaOpisSTP {
    margin-top: 8px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--pm-border);
    margin-bottom: 24px;
}


/*BOX OPINII*/

.reviews-box {
    display: flex;
    align-items: center;
    background: #f5f1f7;
    padding: 24px;
    border-radius: 20px;
    width: fit-content;
    font-family: sans-serif;
    border: 1px solid #f0edf7;
	width: 100%;
}

.reviews-summary { text-align: center; margin-right: 40px; width: 30%; border-right: 1px solid #e2d9e8;}
.average-score { font-size: 48px; font-weight: bold; color: #7a2e84; line-height: normal; font-family: Poppins;}
.stars-visual { color: #fdb913; font-size: 15px; line-height: normal;margin-top: 8px; display: flex;gap: 0.125rem;justify-content: center;align-items: center;}
.total-reviews { color: #5b5666; margin-top: 8px; line-height: normal; font-size: 13px; font-family: Inter;}
.reviews-bars { display: flex; flex-direction: column; gap: 10px; width: 70%;}
.bar-row { display: flex; align-items: center; gap: 0.75rem; font-size: 13px;}
.progress-bg { flex-grow: 1; height: 8px; background: #e5e0ed; border-radius: 4px; overflow: hidden; }
.progress-fill { height: 100%; background: #00cba9; border-radius: 4px; }


/*LISTA OPINII*/
/* Kontener filtrów opinii */
.pm-opinions-filters {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.pm-filter-btn {
    background: #f5f1f7;
    border: none;
    padding: 10px 22px;
    border-radius: 24px;
    font-size: 13px;
    font-weight: 500;
    color: #5b5666;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
	font-family: Inter;
}

.pm-filter-btn:hover {
    background: #e2e8f0;
}

.pm-filter-btn.active {
    background: #7a2e84; /* Kolor fioletowy przewodzący z projektu */
    color: #ffffff;
	font-weight: 600;
}

/* Nowa Karta Opinii */
.pm-review-card {
    background: #ffffff;
    border: 1px solid #e8ecf2;
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    box-shadow: 0 4px 6px #00000003;
}

.pm-review-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.pm-review-user-info {
    display: flex;
    gap: 16px;
    align-items: center;
}

/* Okrągły awatar z inicjałami */
.pm-review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.pm-review-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pm-review-name {
    font-weight: 600;
    color: #585666;
    font-size: 14px;
}

/* Plakietka weryfikacji */
.pm-review-verified {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #0e9384;
    font-size: 12px;
    font-weight: 500;
    margin-top: 1px;
}

.pm-review-verified i {
    font-size: 12px;
}

/* Gwiazdki w karcie */
.pm-review-stars {
    display: flex;
    gap: 3px;
    color: #f4b400;
    font-size: 12px;
    margin-top: 4px;
	margin-left: -37%;
}

.pm-review-date {
    font-size: 12px;
    color: #5b5666;
    font-weight: 400;
}

/* Treść opinii */
.pm-review-content {
    font-size: 14px;
    color: #4a5568;
    line-height: 1.6;
    font-weight: 400;
}

/* Przycisk Pokaż Więcej */
.pm-load-more-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 16px;
    background: #ffffff;
    border: 1px solid #e8ecf2;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #7a2e84;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 8px;
	font-family: 'Inter';
}

.pm-opinions-container #pm-load-more-btn.pm-load-more-btn:hover {
    background: #f5f1f7;
	color: #7a2e84;
	border: inherit;
}

body.specjalista-template-default.single #content h2:before{
	font-size: 14px;
	top: 50% !important;
    position: absolute;
    transform: translateY(-50%) !important;
}

.pm-no-opinions-msg {
    color: #718096;
    font-style: italic;
    padding: 12px 0;
}

.pm-doc-actions .pm-action-btn#pm-favorite-btn:focus, .pm-doc-actions .pm-action-btn#pm-favorite-btn:hover, .pm-doc-actions .pm-action-btn#pm-favorite-btn:focus, .pm-doc-actions .pm-action-btn:hover, .pm-doc-actions .pm-action-btn#pm-favorite-btn:focus, .pm-doc-actions .pm-action-btn:focus{
	background: none;
	color: #76227d;
}

.pm-profile-grid .pm-opinions-filters .pm-filter-btn:focus{
	color: #76227d;
	background: #f1f3f9;
}

.pm-profile-grid .pm-opinions-filters .pm-filter-btn:hover{
	color: #76227d;
	background: #f1f3f9;
}

.pm-profile-grid .pm-opinions-filters .pm-filter-btn.active{
	color: #f1f3f9;
	background: #76227d;
}

@media(max-width: 992px){
	
}

@media(max-width: 783px){
	body.specjalista-template-default.single.single-specjalista .pm-doc-info{
		padding-right: 0;
	}
	
	.pm-doc-actions{
		bottom: 20px;
	}
}

@media(max-width: 600px){
	.pm-doc-rating{
		justify-content: center;
	}
}

@media(max-width: 614px){
	body.specjalista-template-default.single #content ul{
		gap: 12px;
		justify-content: center;
	}
	
	.pm-gallery-grid{
		grid-template-columns: repeat(2, 1fr);
	}
}

@media(max-width: 459px){
	body.specjalista-template-default.single #content ul{
		flex-wrap: wrap;
		padding: 10px 0;
	}
	.service-info{
		width: 79%;
	}
	.service-price{
		width: 21%;
	}
	.reviews-box{
		flex-direction: column;
		gap: 15px;
	}
	.reviews-summary{
		margin-right: 0;
		width: 100%:
	}
	.reviews-bars{
		width: 100%;
	}
	.pm-profile-nav a{
		padding: 10px 0;
	}
}

@media(max-width: 350px){
	.pm-review-header{
		flex-direction: column;
	}
	.pm-review-date{
		margin-top: 10px;
	}
}




.sticky_kontakt_widget #ps-przycisk-wybierz-termin a div, .sticky_kontakt_widget .ps-przycisk-skontaktuj-sie div span{
	font-size: 14px;
}
.sticky_kontakt_widget .ps-przycisk-skontaktuj-sie-wrapper.ps-przycisk-skontaktuj-sie, .sticky_kontakt_widget .ps-przycisk-wybierz-termin-wrapper.ps-przycisk-wybierz-termin {
    padding: 8px 10px !important;
	width: 100%!important;
}
.sticky_kontakt_widget .ps-przycisk-skontaktuj-sie-wrapper.ps-przycisk-skontaktuj-sie i:before{
	    font-size: 13px;
}
.sticky_kontakt_widget #ps-przycisk-skontaktuj-sie, .sticky_kontakt_widget #ps-przycisk-wybierz-termin{
	width: 49%!important;
}
.sticky_kontakt_widget{
		display: none!important;
		position: sticky;
		bottom: 0px;
		z-index: 100;
		width: 99%;
		justify-content: center;
		align-items: center;
		overflow: hidden;
		gap: 5px;
		margin: 0;
		padding: 16px 10px 5px 10px;
		margin-top: -50px;
		background-image: url(https://psychomedic.pl/wp-content/uploads/2026/06/sticky_kontakt_widget_background.png);
		background-size: contain;
		background-position: center;
		overflow: hidden;
	}

@media(max-width: 992px){
	.sticky_kontakt_widget{
		display: flex!important;
	}
	#ast-scroll-top{
		bottom: 60px;
	}
}

@media(max-width: 330px){
	.sticky_kontakt_widget #ps-przycisk-wybierz-termin a div, .sticky_kontakt_widget .ps-przycisk-skontaktuj-sie div span{
		font-size: 12px;
	}
}