/*
Theme Name: Olga Mocek
Theme URI: https://olgamocek.pl
Author: MOCSEO · Bartosz Mocek
Author URI: https://mocseo.pl
Description: Motyw blokowy (Full Site Editing) gabinetu terapii psychologicznej Olgi Mocek. Design system „Olga Mocek”: las i ziemia, Fraunces + Figtree. Wyłącznie natywne bloki Gutenberga.
Version: 2.0.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: olgamocek
*/

/* Podstawa ---------------------------------------------------------------- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s}
h1,h2,h3,h4{text-wrap:balance}
mark.has-inline-color{background:none}
h1,h2{font-variation-settings:"opsz" 72}
.has-display-font-size{line-height:1.08;letter-spacing:-.01em}
.has-lead-font-size{line-height:var(--wp--custom--line-height--lead)}
.has-small-font-size{line-height:var(--wp--custom--line-height--small);font-weight:500}
:focus-visible{outline:2px solid var(--wp--preset--color--forest);outline-offset:2px;border-radius:2px}
.is-style-sekcja-las :focus-visible,.om-footer :focus-visible{outline-color:var(--wp--preset--color--on-forest)}
.wp-site-blocks > *{margin-block-start:0}
main > .entry-content > *,main.wp-block-group > *{margin-block-start:0}

/* Sekcje ------------------------------------------------------------------ */
.om-section{padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);margin-block-start:0!important}
@media (min-width:900px){.om-section{padding-top:96px;padding-bottom:96px}}
.om-section--flush-top{padding-top:0!important}
.om-intro{padding-top:var(--wp--preset--spacing--30)!important}
.om-hero{padding-top:var(--wp--preset--spacing--30)!important}
/* wąska kolumna tekstu przy szerokiej sekcji, bez dodatkowego wrappera */
.om-section > p,.om-section > ul,.om-section > ol:not(.is-style-steps),.om-section > .wp-block-details,.om-section > .wp-block-table,.om-panel > p{padding-right:clamp(0px,calc(100% - 760px),360px);box-sizing:border-box}
.om-section > * + *,.om-panel > * + *,.wp-block-column > * + *{margin-block-start:var(--wp--preset--spacing--20)}
.om-section > .om-grid,.om-section > .wp-block-columns,.om-panel > .is-style-steps{margin-block-start:var(--wp--preset--spacing--30)}
.om-meta,.om-breadcrumbs,.om-breadcrumbs a{color:var(--wp--preset--color--muted)}
.om-panel{border-radius:var(--wp--custom--radius--lg);padding:var(--wp--preset--spacing--30)}
@media (min-width:900px){.om-panel{padding:var(--wp--preset--spacing--40)}}
.wp-block-columns{gap:var(--wp--preset--spacing--30) var(--wp--preset--spacing--40)}

/* Karty --------------------------------------------------------------------- */
.om-grid{gap:var(--wp--preset--spacing--30)}
.om-card{background:var(--wp--preset--color--surface-raised);border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--lg);padding:var(--wp--preset--spacing--30)}
.om-card > * + *{margin-block-start:var(--wp--preset--spacing--10)}
.om-card h3 a{text-decoration:none}
.om-card h3 a:hover{text-decoration:underline}

/* Kroki (lista numerowana) ---------------------------------------------- */
ol.is-style-steps{list-style:none;padding:0;margin-left:0;display:grid;gap:var(--wp--preset--spacing--30);grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));counter-reset:krok}
ol.is-style-steps > li{counter-increment:krok}
ol.is-style-steps > li::before{content:counter(krok);display:block;font-family:var(--wp--preset--font-family--serif);font-weight:500;font-size:var(--wp--preset--font-size--heading-m);line-height:1.22;color:var(--wp--preset--color--forest);margin-bottom:var(--wp--preset--spacing--10)}
ol.is-style-steps > li strong{font-size:var(--wp--preset--font-size--heading-s);font-weight:600;line-height:1.4}

/* FAQ --------------------------------------------------------------------- */
.wp-block-details{margin-block-start:0!important}
.wp-block-details summary{cursor:pointer;font-size:var(--wp--preset--font-size--heading-s);font-weight:600;line-height:1.4;list-style:none;display:flex;justify-content:space-between;gap:var(--wp--preset--spacing--20);min-height:44px;align-items:center}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";font-weight:400;font-size:28px;line-height:1;color:var(--wp--preset--color--forest)}
.wp-block-details[open] summary::after{content:"–"}
.wp-block-details > p{margin-block-start:var(--wp--preset--spacing--10)}

/* Cennik ------------------------------------------------------------------ */
.wp-block-table.om-cennik table{border-collapse:separate;border-spacing:0;border:1px solid var(--wp--preset--color--line);border-radius:var(--wp--custom--radius--lg);overflow:hidden}
.wp-block-table.om-cennik th,.wp-block-table.om-cennik td{border:0;border-top:1px solid var(--wp--preset--color--line);padding:var(--wp--preset--spacing--20);text-align:left}
.wp-block-table.om-cennik thead th{border-top:0;border-bottom:0;font-size:var(--wp--preset--font-size--small);font-weight:500;color:var(--wp--preset--color--muted)}
.wp-block-table.om-cennik td:last-child,.wp-block-table.om-cennik th:last-child{text-align:right;font-weight:600;white-space:nowrap}
.wp-block-table.om-cennik td:nth-child(2),.wp-block-table.om-cennik th:nth-child(2){color:var(--wp--preset--color--muted);width:6.5rem}
.wp-block-table.om-cennik th:last-child{font-weight:500;width:9.5rem}
@media (max-width:600px){.wp-block-table.om-cennik th,.wp-block-table.om-cennik td{padding:12px}.wp-block-table.om-cennik td:nth-child(2),.wp-block-table.om-cennik th:nth-child(2){width:4.5rem}.wp-block-table.om-cennik th:last-child{width:6.5rem}.wp-block-table.om-cennik td:last-child{white-space:normal}}

/* Przyciski --------------------------------------------------------------- */
.wp-block-button__link{min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transition:background-color .15s,color .15s}
.wp-block-button.is-style-cta .wp-block-button__link:hover{background:#8f3e21}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--sand);color:var(--wp--preset--color--forest-deep)}
.is-style-sekcja-las .wp-block-button.is-style-outline .wp-block-button__link{color:var(--wp--preset--color--on-forest);border-color:var(--wp--preset--color--on-forest)}
.is-style-sekcja-las .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--forest-deep)}

/* Nagłówek i stopka -------------------------------------------------------- */
.om-header{border-bottom:1px solid var(--wp--preset--color--line);padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)}
.om-header .wp-block-site-title{line-height:1.25}
.om-header .wp-block-site-tagline{margin-block-start:0}
.om-header .wp-block-navigation a.wp-block-navigation-item__content{padding:8px 0}
.om-header .wp-block-navigation button.wp-block-navigation-item__content{padding:8px 1.1em 8px 0}
.om-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container{background:var(--wp--preset--color--surface-raised);border:1px solid var(--wp--preset--color--line)!important;border-radius:var(--wp--custom--radius--sm);padding:8px;min-width:240px}
.om-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--surface)!important;padding:var(--wp--preset--spacing--20)}
.om-header .is-menu-open .wp-block-navigation__responsive-container-content,.om-header .is-menu-open .wp-block-navigation__container,.om-header .is-menu-open .wp-block-navigation-item,.om-header .is-menu-open .wp-block-navigation__submenu-container{align-items:flex-start!important}
.om-header .is-menu-open .wp-block-navigation__submenu-container{padding-left:var(--wp--preset--spacing--20)!important}
.om-header .wp-block-navigation__responsive-container-open,.om-header .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}
@media (min-width:600px){.om-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}.om-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}}
@media (min-width:1100px){.om-header .wp-block-navigation__responsive-container-open:not(.always-shown){display:none}.om-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:block}}
@media (max-width:781px){.om-header .om-header-cta{display:none}}
.om-footer{padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--30);margin-block-start:0!important}
.om-footer h2{font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--small);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--wp--preset--color--sage)}
.om-footer ul{list-style:none;padding:0}
.om-footer li + li{margin-top:var(--wp--preset--spacing--10)}
.om-footer a{text-decoration:none}
.om-footer a:hover{text-decoration:underline}
.om-footer-bottom{border-top:1px solid #4b6455;margin-block-start:var(--wp--preset--spacing--30)!important;padding-top:var(--wp--preset--spacing--20);color:var(--wp--preset--color--sage)}

/* Pasek mobilny ------------------------------------------------------------ */
.om-mobile-bar{display:none}
@media (max-width:781px){
	.om-mobile-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:50;margin:0!important;background:var(--wp--preset--color--surface-raised);border-top:1px solid var(--wp--preset--color--line);padding:12px var(--wp--preset--spacing--20) calc(12px + env(safe-area-inset-bottom))}
	.om-mobile-bar .wp-block-buttons{display:grid;grid-template-columns:1fr 1fr;gap:var(--wp--preset--spacing--10)}
	.om-mobile-bar .wp-block-button,.om-mobile-bar .wp-block-button__link{width:100%}
	.om-mobile-bar .wp-block-button__link{padding-left:12px;padding-right:12px}
	body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}

/* Poradnik ---------------------------------------------------------------- */
.om-prose > *{max-width:680px}
.wp-block-post-template.is-layout-grid{gap:var(--wp--preset--spacing--30)}
.wp-block-post-template .wp-block-post-title{font-family:var(--wp--preset--font-family--sans);font-size:var(--wp--preset--font-size--heading-s);font-weight:600;line-height:1.4}
