/* Psychocentrum 2026: treść podstron, wpisów, WooCommerce, formularzy. */

body { margin: 0; background: #fff; color: #353535; font-family: 'Lato', system-ui, sans-serif; font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: var(--pc-teal); }
a:hover { color: var(--pc-teal-dk); }
img { max-width: 100%; height: auto; }
.pc-skip:focus { position: fixed !important; width: auto; height: auto; clip: auto; top: 8px; left: 8px; z-index: 100001; background: #fff; padding: 10px 16px; border-radius: 8px; }

/* nagłówek strony */
.pc-page-head { background: var(--pc-soft); border-bottom: 1px solid var(--pc-line); }
.pc-page-head .pc-wrap { padding-top: 48px; padding-bottom: 44px; display: flex; flex-direction: column; gap: 10px; }
.pc-page-head h1 { font-family: var(--pc-head); font-weight: 600; font-size: 44px; line-height: 1.15; color: var(--pc-ink-strong); margin: 0; }
.pc-page-head__meta { color: var(--pc-muted); font-size: 15px; margin: 0; }
.pc-page-head__desc { color: var(--pc-muted); max-width: 760px; }
.pc-page-head .pc-post__cat { text-decoration: none; }
.pc-narrow { max-width: 860px !important; }

/* treść */
.pc-entry-wrap { max-width: var(--global-content-width, 1290px); margin: 0 auto; padding: 40px var(--global-content-edge-padding, 1.5rem) 72px; box-sizing: border-box; }
.pc-entry { min-width: 0; }
.pc-entry > *:first-child { margin-top: 0; }
.pc-entry h1, .pc-entry h2, .pc-entry h3, .pc-entry h4, .pc-entry h5, .pc-entry h6 { font-family: var(--pc-head); font-weight: 600; color: #222; line-height: 1.25; margin: 1.4em 0 .6em; }
.pc-entry h1 { font-size: 40px; } .pc-entry h2 { font-size: 32px; } .pc-entry h3 { font-size: 24px; } .pc-entry h4 { font-size: 20px; } .pc-entry h5 { font-size: 17px; } .pc-entry h6 { font-size: 14px; letter-spacing: 1px; text-transform: uppercase; }
.pc-entry p, .pc-entry ul, .pc-entry ol, .pc-entry figure, .pc-entry table, .pc-entry blockquote { margin: 0 0 1.1em; }
.pc-entry ul, .pc-entry ol { padding-left: 1.4em; }
.pc-entry li { margin-bottom: .35em; }
.pc-entry blockquote { border-left: 4px solid var(--pc-green); padding: 8px 0 8px 20px; font-style: italic; color: var(--pc-muted); }
.pc-entry table { border-collapse: collapse; width: 100%; }
.pc-entry th, .pc-entry td { border: 1px solid var(--pc-line); padding: 10px 12px; text-align: left; }
.pc-entry hr { border: 0; border-top: 1px solid var(--pc-line); margin: 2em 0; }
.pc-entry .alignleft { float: left; margin: 0 1.5em 1em 0; } .pc-entry .alignright { float: right; margin: 0 0 1em 1.5em; } .pc-entry .aligncenter { margin-left: auto; margin-right: auto; display: block; }
.pc-entry .alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.pc-entry .alignwide { width: auto; max-width: none; }
.pc-entry iframe { max-width: 100%; }
.pc-entry .has-large-font-size { font-size: 22px !important; line-height: 1.5; color: var(--pc-ink); }
.pc-entry .has-x-large-font-size { font-size: 28px !important; line-height: 1.35; }
.pc-entry::after { content: ''; display: table; clear: both; }

/* przyciski w treści (core + Kadence zamrożone) */
.pc-entry .wp-block-button__link, .pc-entry .button, .pc-entry input[type=submit], .pc-entry button[type=submit] { font-family: var(--pc-head); font-weight: 500; }
.pc-entry .wp-block-button__link:not(.has-background) { background: var(--pc-teal); color: #fff; border-radius: 999px; padding: 12px 26px; text-decoration: none; }
.pc-entry .wp-block-button__link:not(.has-background):hover { background: var(--pc-teal-dk); }

/* pole z formularzem CF7 */
.wpcf7 form { display: flex; flex-direction: column; gap: 14px; max-width: 760px; }
.wpcf7 form > p { margin: 0; }
.wpcf7 label { display: block; font-weight: 700; font-size: 15px; color: #222; }
.wpcf7 h3 { margin: 18px 0 0 !important; font-size: 20px !important; color: var(--pc-teal-dk) !important; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 input[type=url], .wpcf7 input[type=number], .wpcf7 select, .wpcf7 textarea,
.pc-search input[type=search] { display: block; width: 100%; margin-top: 6px; font: 400 16px/1.4 'Lato', system-ui, sans-serif; color: #222; background: #fff; border: 1.5px solid var(--pc-line2); border-radius: 12px; padding: 12px 14px; box-sizing: border-box; }
.wpcf7 textarea { min-height: 120px; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus, .pc-search input:focus { outline: none; border-color: var(--pc-teal); box-shadow: 0 0 0 3px rgba(0,119,95,.15); }
.pc-cf7-group { border: 1.5px solid var(--pc-line2); border-radius: 12px; padding: 12px 16px 14px; margin: 0; }
.pc-cf7-group legend { font-weight: 700; font-size: 15px; color: #222; padding: 0 6px; }
.wpcf7 .wpcf7-list-item { display: inline-block; margin: 6px 18px 0 0; }
.wpcf7 .wpcf7-list-item label { font-weight: 400; display: inline-flex; gap: 8px; align-items: center; }
.wpcf7 .wpcf7-acceptance .wpcf7-list-item label { align-items: flex-start; font-size: 14px; color: var(--pc-muted); }
.wpcf7 input[type=submit] { align-self: flex-start; background: var(--pc-teal); color: #fff; border: 0; border-radius: 999px; padding: 14px 30px; font: 500 17px/1.2 'Rubik', system-ui, sans-serif; cursor: pointer; min-height: 48px; }
.wpcf7 input[type=submit]:hover { background: var(--pc-teal-dk); }
.wpcf7 .wpcf7-not-valid-tip { font-size: 14px; font-weight: 400; }
.wpcf7 form .wpcf7-response-output { margin: 4px 0 0; border-radius: 12px; padding: 12px 16px; }

/* wyszukiwarka */
.pc-search { display: flex; gap: 10px; width: 100%; max-width: 560px; }
.pc-search input[type=search] { margin: 0; flex: 1 1 auto; }

/* archiwum bloga */
.pc-archive { padding-top: 48px; padding-bottom: 80px; }
.pc-pagination { margin-top: 40px; }
.pc-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; border: 1px solid var(--pc-line2); border-radius: 999px; text-decoration: none; color: var(--pc-ink); padding: 0 14px; }
.pc-pagination .page-numbers.current { background: var(--pc-teal); color: #fff; border-color: var(--pc-teal); }

/* wpis */
.pc-single__img { margin: 0 0 28px; } .pc-single__img img { border-radius: 22px; display: block; width: 100%; }
.pc-cta-box { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; background: var(--pc-dark); color: #fff; border-radius: 22px; padding: 28px 32px; margin: 0 0 32px; }
.pc-cta-box strong { font-family: var(--pc-head); font-size: 22px; font-weight: 600; }
.pc-cta-box p { color: var(--pc-dark-text); margin: 4px 0 0; }
.pc-postnav { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; padding-bottom: 72px; font-weight: 700; }
.pc-postnav a { text-decoration: none; }

/* profil specjalisty */
.pc-profile { display: flex; flex-wrap: wrap; gap: 48px; padding-top: 56px; padding-bottom: 80px; align-items: flex-start; }
.pc-profile__img { flex: 0 1 380px; min-width: 0; } .pc-profile__img img { border-radius: 24px; display: block; width: 100%; height: auto; }
.pc-profile__body { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.pc-profile__body h1 { font-size: 44px; font-weight: 600; }
.pc-profile__role { color: var(--pc-muted); text-transform: uppercase; letter-spacing: 1px; font-size: 15px; }

/* widżety */
.pc-widget { margin-bottom: 28px; }

/* WooCommerce */
.pc-woo__wrap { padding-top: 40px; padding-bottom: 80px; }
.pc-woo .woocommerce-products-header__title, .pc-woo .product_title { font-family: var(--pc-head); font-weight: 600; color: var(--pc-ink-strong); }
.pc-woo .woocommerce-products-header__title { font-size: 40px; margin: 0 0 24px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--pc-head); font-weight: 500; font-size: 17px; color: var(--pc-ink); }
.woocommerce ul.products li.product a img { border-radius: 16px; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--pc-teal-dk); font-weight: 700; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .wc-block-components-button:not(.is-link) {
	background: var(--pc-teal) !important; color: #fff !important; border-radius: 999px !important; font-family: var(--pc-head); font-weight: 500; padding: 12px 22px; border: 0; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .wc-block-components-button:not(.is-link):hover { background: var(--pc-teal-dk) !important; color: #fff !important; }
.woocommerce span.onsale { background: var(--pc-green); color: var(--pc-dark); font-weight: 700; }
.woocommerce .quantity .qty { border: 1.5px solid var(--pc-line2); border-radius: 10px; padding: 10px 6px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { border: 1.5px solid var(--pc-line2); border-radius: 10px; padding: 10px 12px; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--pc-teal); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--pc-teal); }

@media (max-width: 767px) {
	body { font-size: 16px; }
	.pc-page-head .pc-wrap { padding-top: 28px; padding-bottom: 24px; }
	.pc-page-head h1 { font-size: 30px; }
	.pc-entry-wrap { padding: 24px 16px 48px; }
	.pc-entry h1 { font-size: 30px; } .pc-entry h2 { font-size: 25px; } .pc-entry h3 { font-size: 20px; }
	.pc-entry .alignleft, .pc-entry .alignright { float: none; margin: 0 0 1em; }
	.pc-archive { padding-top: 24px; padding-bottom: 48px; }
	.pc-cta-box { padding: 22px; } .pc-cta-box .pc-btn { width: 100%; }
	.pc-profile { gap: 20px; padding-top: 24px; padding-bottom: 48px; }
	.pc-profile__body h1 { font-size: 30px; }
	.pc-woo__wrap { padding-top: 20px; padding-bottom: 48px; }
	.wpcf7 input[type=submit] { width: 100%; }
}

/* O nas: zespół z panelu */
.pc-onas-zespol { margin: 48px 0 56px; }
.pc-onas-zespol__h { text-align: center; margin: 48px 0 24px !important; }
