/*
Theme Name: Mateusz Gierszewicz
Theme URI: https://phinance.pl/doradcy/mateusz-gierszewicz/
Author: Projekt dla Mateusza Gierszewicza
Description: Lekki motyw blokowy marki osobistej. Treści edytowalne w Gutenbergie.
Version: 1.1.7
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mateusz
Tags: block-patterns, full-site-editing, custom-colors, editor-style, one-column
*/
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url('assets/fonts/manrope.ttf') format('truetype')}
:root{
  --mg-ink:var(--wp--preset--color--ink,#202b27);
  --mg-forest:var(--wp--preset--color--forest,#244237);
  --mg-paper:var(--wp--preset--color--paper,#f7f8f4);
  --mg-lime:var(--wp--preset--color--lime,#d3e9ad);
  --mg-muted:var(--wp--preset--color--muted,#5d6860);
  --mg-line:#d8ddd4;
  --mg-max:1280px;
  --mg-gutter:22px;
  --mg-bar-height:80px;
}
/* Shared base. Mobile layouts come first; each component has one base rule. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px;scroll-padding-bottom:calc(var(--mg-bar-height) + 16px)}
body{margin:0;background:var(--mg-paper);color:var(--mg-ink);font-family:Manrope,system-ui,sans-serif;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}
body :is(p,h1,h2,h3,figure){margin:0}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
a:hover{text-decoration:underline}
button,input,textarea{font:inherit}
a,button{touch-action:manipulation}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-weight:500;letter-spacing:-.04em;line-height:1.15;overflow-wrap:anywhere}
h2{font-size:clamp(2rem,3.2vw,2.8rem)}
h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em}
p{overflow-wrap:break-word}
:is(a,button,input,textarea,[tabindex]):focus-visible{outline:3px solid #537c37;outline-offset:5px}
::selection{background:var(--mg-lime);color:var(--mg-ink)}
.wp-site-blocks{padding:0}
.wp-site-blocks>*{margin-block-start:0}
.mg-container{width:calc(100% - var(--mg-gutter)*2);max-width:var(--mg-max);margin-inline:auto}
.mg-main,.mg-main>.wp-block-post-content{margin:0}
.mg-eyebrow,.mg-service-area{font-size:.75rem;font-weight:700;letter-spacing:.075em;line-height:1.6}
.mg-index{display:inline-block;margin-right:12px;color:#5d6b5e;font-weight:500}
.mg-small{font-size:.875rem}
/* Keep the single WordPress skip link, including its keyboard behavior. */
.skip-link.screen-reader-text:focus{background:var(--mg-lime);color:var(--mg-ink);border-radius:4px;outline:3px solid var(--mg-forest);outline-offset:2px}
/* Header and core navigation. Core owns the dialog and keyboard focus trap. */
.wp-site-blocks>header{position:sticky;top:0;z-index:100;background:var(--mg-paper);border-bottom:1px solid transparent}
.mg-scrolled .wp-site-blocks>header{border-bottom-color:var(--mg-line)}
.mg-header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.mg-wordmark{font-size:1rem;font-weight:800;line-height:1.18;letter-spacing:-.035em}
.mg-wordmark a{display:block;padding-block:12px}
.mg-wordmark a:hover{text-decoration:none}
.mg-brand-dot{color:#537849}
.mg-nav{font-size:.8125rem;font-weight:600}
.mg-nav .wp-block-navigation__container{gap:23px;align-items:center}
.mg-nav .wp-block-navigation-item__content{min-height:44px;display:flex;align-items:center}
.mg-nav .wp-block-navigation-item:last-child a{padding:13px 18px;background:var(--mg-ink);border-radius:4px;color:white;transition:background .18s}
.mg-nav .wp-block-navigation-item:last-child a:hover{background:var(--mg-forest);text-decoration:none}
.mg-nav :is(.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close){min-width:48px;min-height:48px;align-items:center;justify-content:center}
.mg-nav .wp-block-navigation__responsive-container-open svg{width:27px;height:27px}
/* Hero: the introduction and contact links share prominence with the slogan. */
.mg-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;align-items:center;padding-block:26px 45px}
.mg-hero-copy,.mg-contact-copy,.mg-contact-panel{min-width:0}
.mg-hero-eyebrow{margin-bottom:23px;letter-spacing:.045em}
.mg-hero-title{font-size:clamp(2rem,8.5vw,3.25rem);line-height:1.15;letter-spacing:-.045em}
.mg-hero-title em{font-style:normal;color:#537849}
.mg-hero-lead{max-width:500px;font-size:1rem;line-height:1.8;color:var(--mg-muted);margin-top:24px}
.wp-block-buttons.mg-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;margin-top:26px}
.wp-block-button__link,.mg-button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:14px 19px;border:1px solid transparent;background:var(--mg-lime);color:var(--mg-ink);border-radius:4px;font-size:.875rem;font-weight:700;line-height:1.5;text-decoration:none;cursor:pointer;transition:background .18s}
.wp-block-button__link:hover,.mg-button:hover{background:#c1dc91;text-decoration:none}
.wp-block-button__link span{font-size:1.2rem}
.mg-text-button .wp-block-button__link{padding-inline:0;background:transparent;border-radius:0;border-bottom:1px solid #a8b1a3;min-height:44px;font-size:.875rem}
.mg-text-button .wp-block-button__link:hover{border-color:var(--mg-ink)}
.mg-hero-visual{position:relative;min-width:0}
.mg-hero-portrait{aspect-ratio:1.1;overflow:hidden;border-radius:75px 6px 6px 6px}
.mg-hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.mg-photo-caption{position:absolute;bottom:18px;left:18px;max-width:calc(100% - 36px);background:var(--mg-paper);padding:12px 18px;border-radius:3px}
.mg-photo-note{font-size:.875rem;font-weight:600;line-height:1.6}
/* Three personal specialties, followed by the wider Phinance offer. */
.mg-help{padding-block:48px 50px;border-top:1px solid var(--mg-line)}
.mg-section-heading{display:grid;gap:20px;margin-top:22px}
.mg-section-heading>p{font-size:1rem;color:var(--mg-muted);max-width:385px}
.mg-services{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:32px}
.mg-service{border-top:2px solid var(--mg-forest);padding-block:23px 30px}
.mg-service-copy>.mg-service-area{color:var(--mg-forest);margin-bottom:14px}
.mg-service-area .mg-index{color:var(--mg-forest);margin-right:8px}
.mg-service-copy h3{font-size:1.3rem;font-weight:600;line-height:1.4}
.mg-service-copy>p:last-child{font-size:1rem;line-height:1.8;color:var(--mg-muted);margin-top:14px}
/* Secondary areas retain the previous, quieter second row. */
.mg-secondary-heading{margin-top:20px;color:var(--mg-muted)}
.mg-secondary-intro{max-width:760px;margin-top:12px;color:var(--mg-muted);font-size:1rem;line-height:1.8}
.mg-services-secondary{margin-top:18px}
.mg-services-secondary .mg-service{display:flex;gap:16px;border-top:1px solid var(--mg-line);padding-block:24px}
.mg-service-number{flex:0 0 20px;font-size:.75rem;color:var(--mg-muted);padding-top:4px}
.mg-services-secondary .mg-service-copy h3{font-size:1.125rem;line-height:1.4}
.mg-services-secondary .mg-service-copy>p:last-child{margin-top:12px}
.mg-services-end{border-top:1px solid var(--mg-line);padding-top:24px;font-size:.9rem;color:var(--mg-muted)}
.mg-services-end a{display:inline-flex;align-items:center;min-height:44px;color:var(--mg-ink);text-decoration:underline;text-decoration-color:#a9b4a3}
/* Factual biography and life-insurance specialty; no second portrait. */
.mg-about{display:grid;grid-template-columns:minmax(0,1fr);gap:30px;padding-block:38px 56px;border-top:1px solid var(--mg-line)}
.mg-about-intro h2{margin-top:22px}
.mg-about-intro .mg-lead{font-size:1rem;line-height:1.8;margin-top:24px;max-width:510px}
.mg-about-detail{font-size:1rem;color:var(--mg-muted);line-height:1.8;margin-top:18px;max-width:510px}
.mg-sport-note{font-size:.875rem;color:var(--mg-muted);margin-top:20px;max-width:475px}
.mg-expertise{background:#eaf0e4;border-left:2px solid #789663;padding:26px}
.mg-expertise .mg-eyebrow{color:var(--mg-muted)}
.mg-expertise h3{font-size:clamp(1.75rem,2.8vw,2.5rem);line-height:1.2;margin-top:15px}
.mg-expertise>p:not(.mg-eyebrow){font-size:1rem;color:var(--mg-muted);margin-top:20px;line-height:1.8}
.mg-inline-link a{display:inline-flex;align-items:center;gap:16px;min-height:44px;border-bottom:1px solid #94a28b;color:var(--mg-ink);font-size:.875rem;line-height:1.7}
/* Native reviews section. The theme adds the free slider to WP Social Ninja Grid. */
.mg-reviews{border-top:1px solid var(--mg-line);padding-block:42px 50px}
.mg-reviews-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.mg-reviews-heading h2{margin-top:16px}
.mg-reviews-heading .mg-inline-link{align-self:flex-end}
.mg-reviews-widget{margin-top:28px;min-width:0}
.mg-reviews :is(a,button,[tabindex]):focus-visible{outline:3px solid #537c37!important;outline-offset:4px!important}
/* A short process, each step with a different purpose. */
.mg-process{padding-block:50px;background:#edf1e8}
.mg-process>.mg-container>h2{margin-top:22px}
.mg-steps{display:grid;gap:0;margin-top:30px}
.mg-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px 17px;border-top:1px solid #cdd6c5;padding-block:25px}
.mg-step-number{grid-row:1 / 3;font-size:1.75rem;line-height:1.4;letter-spacing:-.04em;color:#537849}
.mg-step h3{font-size:1.125rem;font-weight:600;margin-top:5px}
.mg-step>p:last-child{font-size:1rem;line-height:1.8;color:var(--mg-muted)}
/* Partner's offer stays separate from Mateusz's specialties. */
.mg-partner{display:grid;gap:25px;padding-block:50px 56px}
.mg-partner h2{font-size:clamp(1.9rem,2.8vw,2.5rem);margin-top:21px}
.mg-partner-copy>p{font-size:1rem;color:var(--mg-muted);line-height:1.85}
.mg-partner-copy>p+p{margin-top:16px}
.mg-partner-copy strong{color:var(--mg-ink);font-weight:700}
/* Contact surface. Field behavior and errors are defined in the small plugin. */
.mg-contact{background:#1e332b;color:var(--mg-paper);padding-block:50px}
.mg-contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:36px;align-items:start}
.mg-contact .mg-eyebrow,.mg-contact .mg-index{color:#c1d2b7}
.mg-contact h2{font-size:clamp(2.4rem,5vw,4rem);margin-top:22px}
.mg-contact-lead{color:#c4d0c5;font-size:1rem;max-width:390px;margin-top:24px}
.mg-phone{font-size:clamp(1.9rem,7.5vw,2.5rem);letter-spacing:-.035em;line-height:1.5;margin-top:25px}
.mg-phone a{display:inline-flex;align-items:center;gap:22px;min-height:52px}
.mg-phone span{font-size:1.4rem;color:var(--mg-lime)}
.mg-email{font-size:.875rem;overflow-wrap:anywhere}
.mg-email a{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid #819081}
.mg-meetings{margin-top:28px}
.mg-meeting-title{font-size:.9375rem;line-height:1.7;margin-top:8px}
.mg-meetings .mg-small{font-size:.8125rem;color:#b5c3b6;margin-top:7px}
.mg-contact-panel{padding:25px 22px;background:#2a4136;border:1px solid #4a5c4c;border-radius:6px;scroll-margin-top:110px}
.mg-contact-panel>h3{font-size:1.4rem}
.mg-contact-panel>p{color:#c6d3c5;font-size:.9375rem;margin-top:10px}
.mg-contact-panel .mg-contact-form{margin-top:24px;gap:16px}
.mg-contact-panel label{font-size:.875rem;color:var(--mg-paper)}
.mg-contact-panel input,.mg-contact-panel textarea{background:#243a30;color:white;border-color:#839483;font-size:1rem;box-shadow:none}
.mg-contact-panel textarea{min-height:125px}
.mg-contact-panel input::placeholder,.mg-contact-panel textarea::placeholder{color:#c3cec0;opacity:1}
.mg-contact-panel .mg-button{width:100%;background:var(--mg-lime);color:var(--mg-ink);font-size:.9375rem;font-weight:700}
.mg-contact-panel .mg-button:hover{background:#c1dc91}
.mg-contact-panel .mg-form-status{font-size:.9375rem}
.mg-contact :is(a,button,input,textarea,[tabindex]):focus-visible{outline-color:var(--mg-lime)}
.mg-contact-panel :is(.mg-form-hint,.mg-form-privacy,.mg-form-alternative){color:#c0cebe;font-size:.8125rem;line-height:1.8}
.mg-contact-panel .mg-form-privacy a{text-decoration:underline}
.mg-contact-panel .mg-field-error{color:white;font-size:.875rem}
.mg-contact-panel .mg-contact-direct{margin-top:25px;border-top:1px solid #667961;padding-top:25px}
.mg-contact-panel .mg-contact-direct-title{font-size:1.1rem;line-height:1.5}
.mg-contact-panel .mg-contact-direct>p+p{font-size:1rem;color:#c6d3c5;margin-top:12px}
.mg-contact-panel .mg-contact-direct-actions{display:grid;gap:5px;margin-top:16px}
.mg-contact-panel .mg-contact-phone{justify-content:center}
/* Footer, document pages and the small mobile contact bar. */
.mg-footer{padding-block:30px calc(var(--mg-bar-height) + 22px)}
.mg-footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.mg-footer-brand{font-size:1rem;font-weight:700;letter-spacing:-.035em}
.mg-footer-brand a{display:inline-flex;align-items:center;min-height:44px}
.mg-footer-description{font-size:.8125rem;color:var(--mg-muted)}
.mg-footer-links{display:flex;flex-wrap:wrap;gap:22px;font-size:.8125rem}
.mg-footer-links a{min-height:44px;display:inline-flex;align-items:center}
.mg-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--mg-line);padding-top:18px;margin-top:20px;color:var(--mg-muted);font-size:.75rem}
.mg-footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.mg-document{max-width:820px;padding-block:40px 70px;min-height:60vh}
.mg-document h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:36px}
.mg-document .wp-block-post-content h2{font-size:1.55rem;margin-block:36px 18px}
.mg-document .wp-block-post-content :is(p,ul){margin-block:18px}
.mg-document a{text-decoration:underline}
.mg-mobile-cta{display:flex;position:fixed;inset:auto 0 0;background:var(--mg-paper);border-top:1px solid var(--mg-line);padding:9px 17px calc(9px + env(safe-area-inset-bottom));z-index:80;gap:12px;transform:translateY(110%);visibility:hidden;pointer-events:none;transition:transform .18s,visibility .18s}
.mg-mobile-cta.is-visible{transform:translateY(0);visibility:visible;pointer-events:auto}
.mg-mobile-cta>p{flex:1;min-width:0}
.mg-mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid #75836e;border-radius:3px;font-size:.8125rem;font-weight:700;line-height:1.5;text-align:center}
.mg-mobile-cta>p:last-child a{border-color:transparent;background:var(--mg-lime)}
.has-modal-open .mg-mobile-cta{visibility:hidden;pointer-events:none}
/* Tablet and desktop adjustments, grouped rather than appended overrides. */
@media(min-width:651px){
  :root{--mg-gutter:clamp(28px,4.4vw,64px)}
  html{scroll-padding-bottom:24px}
  .mg-hero{grid-template-columns:1.12fr 1fr;gap:36px;padding-block:40px 64px}
  .mg-hero-title{font-size:clamp(2.5rem,4.7vw,4rem)}
  .mg-hero-portrait{aspect-ratio:.92;border-top-left-radius:110px}
  .mg-hero-portrait img{object-position:53% center}
  .mg-photo-caption{left:22px;bottom:22px}
  .mg-help{padding-block:64px 60px}
  .mg-section-heading{grid-template-columns:1.15fr 1fr;gap:44px;align-items:end}
  .mg-services{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}
  .mg-service-copy h3{font-size:1.22rem}
  .mg-services-secondary{gap:28px}
  .mg-services-secondary .mg-service{display:block}
  .mg-service-number{padding:0;margin-bottom:13px}
  .mg-services-end a{margin-left:5px}
  .mg-service-area{letter-spacing:.025em}
  .mg-about{grid-template-columns:1.15fr 1fr;gap:50px;padding-block:54px 70px;align-items:center}
  .mg-expertise{padding:30px}
  .mg-process{padding-block:64px}
  .mg-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:40px}
  .mg-step{display:block;padding-block:24px 0}
  .mg-step h3{margin-top:22px}
  .mg-step>p:last-child{margin-top:14px}
  .mg-partner{grid-template-columns:1.15fr 1fr;gap:50px;padding-block:64px 70px}
  .mg-contact{padding-block:70px}
  .mg-contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .mg-contact-panel{padding:28px}
  .mg-footer{padding-block:32px 22px}
  .mg-footer-inner{display:grid;grid-template-columns:1fr auto;gap:8px 28px;align-items:center}
  .mg-footer-links{grid-column:2;grid-row:1 / 3;justify-content:flex-end}
  .mg-mobile-cta{display:none}
}
@media(min-width:1081px){
  .mg-header-inner{min-height:92px}
  .mg-hero{gap:64px}
  .mg-hero-lead{font-size:1.0625rem}
  .mg-hero-portrait{aspect-ratio:1.02}
  .mg-photo-note{font-size:.9375rem}
  .mg-services{gap:32px}
  .mg-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .mg-service-copy h3{font-size:1.35rem}
  .mg-service-area{letter-spacing:.065em}
  .mg-about,.mg-partner{gap:90px}
  .mg-expertise{padding:36px}
  .mg-contact-grid{gap:90px}
  .mg-contact-panel{padding:32px}
  .mg-footer-inner{grid-template-columns:1fr 1.2fr auto}
  .mg-footer-links{grid-column:auto;grid-row:auto}
}
@media(max-width:1080px){
  .mg-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  .mg-nav .wp-block-navigation__responsive-container-open{display:flex!important}
  .mg-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--mg-paper);color:var(--mg-ink);padding:28px}
  .mg-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:70px}
  .mg-nav .is-menu-open .wp-block-navigation__container{align-items:stretch;gap:18px;width:100%}
  .mg-nav .is-menu-open .wp-block-navigation-item{width:100%}
  .mg-nav .is-menu-open .wp-block-navigation-item__content{font-size:1.35rem;min-height:52px}
  .mg-nav .is-menu-open .wp-block-navigation-item:last-child a{font-size:1rem;justify-content:center;padding:18px}
}
@media(min-width:783px){.admin-bar .wp-site-blocks>header{top:32px}}
@media(min-width:651px) and (max-width:782px){.admin-bar .wp-site-blocks>header{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Editor uses the same typography and layout without the fixed contact bar. */
.editor-styles-wrapper{background:var(--mg-paper);font-family:Manrope,system-ui,sans-serif}
.editor-styles-wrapper .mg-container{width:calc(100% - 40px)}
.editor-styles-wrapper .mg-mobile-cta{display:none}
