/*
Theme Name: PHIRE (potomny Hello Elementor)
Template: hello-elementor
Description: Motyw PHIRE — architektura jak CEKAR (potomny Hello Elementor + Elementor free + PHP), własna
  paleta i wzorce (ścięte narożniki, sekcje N°0X). Zawartość dynamiczna przez shortcode'y i CPT.
Version: 1.0.0
*/

/* ============================================================
   0. TOKENY
   ============================================================ */
:root{
  --ph-blue:#000CFE;
  --ph-black:#0A0A0A;
  --ph-white:#ffffff;
  --ph-red:#E00201;
  --ph-grey-bg:#F2F2F7;
  --ph-line:rgba(10,10,10,0.16);
  --ph-line-blue:rgba(255,255,255,0.22);
  --ph-text-soft:rgba(10,10,10,0.68);
  --ph-text-faint:rgba(10,10,10,0.5);
  --ph-font:Arial,Helvetica,sans-serif;
  --ph-mono:ui-monospace,Menlo,monospace;
}
html,body{background:#fff;}
body{font-family:var(--ph-font);color:var(--ph-black);-webkit-font-smoothing:antialiased;}
a{color:var(--ph-blue);}
a:hover{color:var(--ph-red);}
::selection{background:var(--ph-blue);color:#fff;}
.ph-page *{box-sizing:border-box;}
.ph-page,.ph-header,.ph-footer{font-family:var(--ph-font);}

/* ============================================================
   1. ŚCIĘTE NAROŻNIKI — motyw przewodni (z geometrii logo)
   Wzór: host ma clip-path (ścina róg), ::after dokłada trójkąt w tym samym rogu.
   ============================================================ */
.ph-cut-18,.ph-cut-36,.ph-cut-72,.ph-cut-80,.ph-cut-14{position:relative;}
.ph-cut-18{clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);}
.ph-cut-14{clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);}
.ph-cut-36{clip-path:polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 0 100%);}
.ph-cut-72{clip-path:polygon(0 0, calc(100% - 72px) 0, 100% 72px, 100% 100%, 0 100%);}
.ph-cut-80{clip-path:polygon(0 0, calc(100% - 80px) 0, 100% 80px, 100% 100%, 0 100%);}
.ph-cut-18::after,.ph-cut-14::after,.ph-cut-36::after,.ph-cut-72::after,.ph-cut-80::after{
  content:"";position:absolute;top:0;right:0;pointer-events:none;
  clip-path:polygon(0 0, 100% 100%, 0 100%);
}
.ph-cut-18::after{width:18px;height:18px;background:var(--ph-red);}
.ph-cut-14::after{width:14px;height:14px;background:var(--ph-red);}
.ph-cut-36::after{width:36px;height:36px;background:var(--ph-black);}
.ph-cut-72::after{width:72px;height:72px;background:var(--ph-red);}
.ph-cut-80::after{width:80px;height:80px;background:var(--ph-red);}
.ph-card--dark.ph-cut-36::after{background:var(--ph-red);}
.ph-page{border-radius:0;}
.ph-page [class*="ph-cut-"]{border-radius:0 !important;box-shadow:none !important;}

/* ============================================================
   2. TYPOGRAFIA / UTILS
   ============================================================ */
.ph-page h1,.ph-page h2,.ph-page h3,.ph-page .elementor-heading-title{font-family:var(--ph-font);}
.ph-mt22{margin-top:22px;}
.ph-mt18{margin-top:18px;}
.ph-section-head{margin:0;}

/* ============================================================
   3. PRZYCISKI (ph-btn) — kolor/tło przez CSS, nie przez ustawienia widgetu Elementora
   ============================================================ */
.elementor-widget.ph-btn{background:none !important;border:0 !important;padding:0 !important;display:inline-block;width:auto;}
.elementor-widget.ph-btn .elementor-button{
  border-radius:0 !important;transition:background 140ms linear,color 140ms linear,border-color 140ms linear;
  padding:18px 40px 18px 28px !important;
}
.elementor-widget.ph-btn--sm .elementor-button{padding:13px 26px 13px 20px !important;}

.elementor-widget.ph-btn--blue .elementor-button{background:var(--ph-blue) !important;color:#fff !important;}
.elementor-widget.ph-btn--blue .elementor-button:hover{background:var(--ph-black) !important;color:#fff !important;}
.elementor-widget.ph-btn--blue.ph-cut-18::after,.elementor-widget.ph-btn--blue.ph-cut-14::after{background:var(--ph-red);}

.elementor-widget.ph-btn--invert .elementor-button{background:#fff !important;color:var(--ph-blue) !important;}
.elementor-widget.ph-btn--invert .elementor-button:hover{background:var(--ph-red) !important;color:#fff !important;}
.elementor-widget.ph-btn--invert.ph-cut-18::after{background:rgba(255,255,255,0.42);}

.elementor-widget.ph-btn--outline-blue .elementor-button{background:transparent !important;color:var(--ph-blue) !important;border:1px solid var(--ph-blue) !important;}
.elementor-widget.ph-btn--outline-blue .elementor-button:hover{background:var(--ph-blue) !important;color:#fff !important;}
.elementor-widget.ph-btn--outline-blue.ph-cut-18::after{background:var(--ph-red);}

.elementor-widget.ph-btn--outline-white .elementor-button{background:transparent !important;color:#fff !important;border:1px solid rgba(255,255,255,0.45) !important;}
.elementor-widget.ph-btn--outline-white .elementor-button:hover{background:#fff !important;color:var(--ph-blue) !important;}
.elementor-widget.ph-btn--outline-white.ph-cut-18::after{background:rgba(255,255,255,0.28);}

/* generator dodaje ph-btn wraz z ph-cut-18/14 przez tę samą klasę _css_classes na widgecie */
.elementor-widget.ph-btn{clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);}
.elementor-widget.ph-btn--sm{clip-path:polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);}
.elementor-widget.ph-btn::after{content:"";position:absolute;top:0;right:0;width:18px;height:18px;background:var(--ph-red);clip-path:polygon(0 0,100% 100%,0 100%);pointer-events:none;}
.elementor-widget.ph-btn--sm::after{width:14px;height:14px;}
.elementor-widget.ph-btn--invert::after{background:rgba(255,255,255,0.42);}
.elementor-widget.ph-btn--outline-white::after{background:rgba(255,255,255,0.28);}
@media (max-width:767px){.elementor-widget.ph-btn .elementor-button{width:100%;text-align:center;}}

/* ============================================================
   4. HEADER
   ============================================================ */
.ph-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);border-bottom:1px solid var(--ph-line);}
.ph-nav-wrap{display:flex;align-items:center;gap:26px;}
.ph-nav{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0;}
.ph-nav a{display:block;padding-bottom:3px;font:500 12.5px/1 var(--ph-font);letter-spacing:0.09em;text-transform:uppercase;color:rgba(10,10,10,0.62);border-bottom:2px solid transparent;white-space:nowrap;}
.ph-nav a:hover{color:var(--ph-black);border-bottom-color:var(--ph-blue);}
.ph-nav .current-menu-item>a,.ph-nav .current-menu-ancestor>a{color:var(--ph-black);border-bottom-color:var(--ph-blue);}
.ph-burger{display:none;position:relative;}
.ph-burger summary{list-style:none;cursor:pointer;width:24px;height:24px;display:flex;flex-direction:column;justify-content:center;gap:5px;}
.ph-burger summary::-webkit-details-marker{display:none;}
.ph-burger summary span{display:block;height:2px;background:var(--ph-blue);}
.ph-burger__panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--ph-line);box-shadow:0 18px 30px rgba(10,10,10,0.12);z-index:60;}
.ph-nav--mobile{list-style:none;margin:0;padding:8px 16px 16px;}
.ph-nav--mobile a{display:block;padding:14px 0;border-bottom:1px solid rgba(10,10,10,0.12);font:500 13px/1 var(--ph-font);letter-spacing:0.09em;text-transform:uppercase;color:var(--ph-black);}
@media (max-width:1000px){
  .ph-header .e-con-inner{flex-wrap:wrap;}
  .ph-nav-wrap{display:none;}
  .ph-burger{display:block;}
}

/* ============================================================
   5. HERO / TICKER / STATYSTYKI
   ============================================================ */
.ph-hero{position:relative;overflow:hidden;}
.ph-hero-ph{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.14) 0 8px,rgba(255,255,255,0.05) 8px 16px);
  border:1px solid rgba(255,255,255,0.35);aspect-ratio:4/5;}
.ph-stats--dark .e-con,.ph-stats--dark>div>div{border-left:1px solid var(--ph-line-blue);padding-left:20px;}
.ph-stats--dark>.e-con-inner>.e-con:first-child,.ph-stats--dark>div>div:first-child{border-left:0;padding-left:0;}
.ph-ticker{background:var(--ph-black);overflow:hidden;padding:14px 0;}
.ph-ticker__track{display:flex;white-space:nowrap;width:max-content;animation:phDrift 26s linear infinite;}
.ph-ticker__track span{font:400 12px/1 var(--ph-mono);letter-spacing:0.24em;text-transform:uppercase;color:#fff;}
@keyframes phDrift{from{transform:translate3d(0,0,0);}to{transform:translate3d(-33.333%,0,0);}}
@media (prefers-reduced-motion:reduce){.ph-ticker__track{animation:none;}}

/* ============================================================
   6. KARTY „EXPLORE”
   ============================================================ */
.ph-card-grid{display:grid;}
.ph-card{background:#fff;color:var(--ph-black);text-decoration:none !important;transition:background 160ms linear,color 160ms linear;}
.ph-card:hover{background:var(--ph-blue) !important;color:#fff !important;}
.ph-card:hover .elementor-text-editor,.ph-card:hover .elementor-heading-title{color:#fff !important;}
.ph-card--dark{background:var(--ph-black);color:#fff;}
.ph-card--dark:hover{background:var(--ph-blue) !important;}
.ph-span-2{grid-column:span 2;}
@media (max-width:1000px){.ph-span-2{grid-column:span 2;}}
@media (max-width:620px){.ph-card-grid{grid-template-columns:1fr !important;}.ph-span-2{grid-column:auto;}}

/* ============================================================
   7. SEKCJA „LATEST” — lista wierszy
   ============================================================ */
.ph-latest__row{display:grid;grid-template-columns:170px 1fr 200px;gap:32px;align-items:baseline;
  padding:28px 20px 28px 0;border-bottom:1px solid var(--ph-line);color:var(--ph-black);text-decoration:none !important;
  transition:background 140ms linear,padding 140ms linear,color 140ms linear;}
.ph-latest__row:hover{background:var(--ph-grey-bg);padding-left:20px;color:var(--ph-blue) !important;}
.ph-latest__date{font:700 11.5px/1 var(--ph-font);letter-spacing:0.14em;text-transform:uppercase;color:var(--ph-blue);}
.ph-latest__title{font-size:21px;letter-spacing:-0.015em;line-height:1.3;}
.ph-latest__meta{font-size:13.5px;text-align:right;color:var(--ph-text-soft);}
@media (max-width:1000px){
  .ph-latest__row{grid-template-columns:1fr;gap:6px;}
  .ph-latest__meta{text-align:left;}
}

/* ============================================================
   8. PARTNERZY (siatka logo/placeholderów)
   ============================================================ */
.ph-partners{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ph-line);border:1px solid var(--ph-line);}
.ph-partners__cell{background:#fff;min-height:120px;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;}
.ph-partners__cell img{max-height:52px;max-width:100%;width:auto;filter:grayscale(1);opacity:0.75;transition:opacity 140ms linear,filter 140ms linear;}
.ph-partners__cell:hover img{filter:none;opacity:1;}
.ph-partners__ph{font:400 10.5px/1.4 var(--ph-mono);color:rgba(10,10,10,0.45);}
@media (max-width:1000px){.ph-partners{grid-template-columns:repeat(2,1fr);}}

/* ============================================================
   9. CTA BAND (N°06 Take part)
   ============================================================ */
.ph-cta-band{position:relative;}
@media (max-width:1000px){.ph-cta-band .e-con{grid-template-columns:1fr !important;}}

/* ============================================================
   10. FOOTER + plakietka UE
   ============================================================ */
.ph-footer a:hover{color:#fff !important;}
.ph-eu-badge{position:fixed;left:20px;bottom:20px;z-index:900;display:flex;align-items:center;background:#fff;
  padding:10px 14px;box-shadow:0 6px 28px rgba(10,10,10,0.22);transition:transform 160ms linear;}
.ph-eu-badge:hover{transform:translateY(-2px);}
.ph-eu-badge img{height:34px;width:auto;display:block;}
@media (max-width:620px){.ph-eu-badge{left:12px;bottom:12px;padding:8px 10px;}.ph-eu-badge img{height:26px;}}

/* ============================================================
   11. RESPONSYWNE PODSTAWY (mobile ≤1000/≤620, jak w makiecie)
   ============================================================ */
.ph-page .ck-pad20,.ph-page .ph-pad20{--padding-left:56px;--padding-right:56px;}
@media (max-width:1000px){
  .ph-page .ph-pad20,.ph-header .ph-pad20,.ph-footer .ph-pad20{--padding-left:20px !important;--padding-right:20px !important;}
  .ph-page h1.elementor-heading-title{font-size:40px !important;}
  .ph-page h2.elementor-heading-title{font-size:30px !important;}
  .ph-page h3.elementor-heading-title{font-size:22px !important;}
  .ph-page .e-con.e-grid:not(.ph-stats--dark):not(.ph-card-grid):not(.ph-partners){grid-template-columns:minmax(0,1fr) !important;}
}
@media (max-width:620px){
  .ph-page h1.elementor-heading-title{font-size:32px !important;}
  .ph-page h2.elementor-heading-title{font-size:26px !important;}
  .ph-stats--dark{grid-template-columns:repeat(2,1fr) !important;}
  .ph-stats--dark .e-con:nth-child(3){border-left:0 !important;padding-left:0 !important;}
}

/* focus visibile — brak w makiecie, dodane wg README */
.ph-page a:focus-visible,.ph-page button:focus-visible{outline:2px solid var(--ph-blue);outline-offset:2px;}

/* ============================================================
   12. WSPÓLNE DROBIAZGI (About / Outputs / News / Contact / pojedynczy wpis)
   ============================================================ */
.ph-h1{font-size:44px;line-height:1.05;letter-spacing:-0.02em;font-weight:700;margin:0;}
.ph-mono-note{display:block;font:400 11.5px/1.5 var(--ph-mono);letter-spacing:0.04em;color:var(--ph-text-faint);}
.ph-mono-link{display:inline-block;margin-top:14px;font:700 12px/1 var(--ph-font);letter-spacing:0.1em;text-transform:uppercase;color:var(--ph-black);text-decoration:none;border-bottom:1px solid var(--ph-black);}
.ph-mono-link:hover{color:var(--ph-blue);border-color:var(--ph-blue);}
.ph-load-all{display:inline-block;margin-top:32px;font:700 12px/1 var(--ph-font);letter-spacing:0.1em;text-transform:uppercase;color:var(--ph-black);text-decoration:none;border-bottom:1px solid var(--ph-black);}
.ph-load-all:hover{color:var(--ph-blue);border-color:var(--ph-blue);}
.ph-empty{color:var(--ph-text-faint);font-size:14px;padding:24px 0;}
.ph-prose{max-width:72ch;font-size:16px;line-height:1.7;color:var(--ph-text-soft);}
.ph-prose p{margin:0 0 18px;}
.ph-prose a{text-decoration:underline;}

/* -- Objectives (About) -- */
.ph-objectives{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ph-line);border:1px solid var(--ph-line);margin-top:40px;}
.ph-objective{background:#fff;padding:36px 34px;}
.ph-objective__num{display:block;font:700 11px/1 var(--ph-font);letter-spacing:0.2em;color:var(--ph-blue);margin-bottom:20px;}
.ph-objective h3{margin:0 0 10px;font-size:22px;line-height:1.15;font-weight:700;letter-spacing:-0.01em;}
.ph-objective p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ph-text-soft);max-width:38ch;}
@media (max-width:767px){.ph-objectives{grid-template-columns:1fr;}}

/* -- Work packages table (About) -- */
.ph-wp-table{margin-top:40px;}
.ph-wp-row{display:grid;grid-template-columns:90px 1.6fr 1fr 150px;gap:32px;padding:22px 0;border-bottom:1px solid var(--ph-line);align-items:baseline;}
.ph-wp-row--head{padding:16px 0;font:700 11px/1 var(--ph-font);letter-spacing:0.16em;text-transform:uppercase;color:var(--ph-text-faint);}
.ph-wp-row__code{font-size:15px;font-weight:700;color:var(--ph-blue);}
.ph-wp-row__title{font-size:18px;letter-spacing:-0.01em;}
.ph-wp-row__lead,.ph-wp-row__dur{font-size:14px;color:var(--ph-text-soft);}
.ph-wp-row__dur{text-align:right;}
.ph-wp-table+.ph-mono-note{margin-top:20px;}
@media (max-width:767px){.ph-wp-row{grid-template-columns:1fr;gap:4px;}.ph-wp-row--head{display:none;}.ph-wp-row__dur{text-align:left;}}

/* -- Partner profiles (About) -- */
.ph-partner-profiles{display:flex;flex-direction:column;gap:1px;background:var(--ph-line);border:1px solid var(--ph-line);margin-top:40px;}
.ph-partner-profile{display:grid;grid-template-columns:220px 1fr;gap:48px;background:#fff;padding:44px;}
.ph-partner-profile__logo{display:flex;align-items:flex-start;}
.ph-partner-profile__logo img{max-width:100%;height:auto;}
.ph-partner-profile__body h3{margin:0 0 6px;font-size:26px;font-weight:700;letter-spacing:-0.01em;}
.ph-partner-profile__body .ph-mono-note{margin-bottom:18px;text-transform:uppercase;letter-spacing:0.1em;}
.ph-partner-profile__role-label{margin:24px 0 8px;font:700 11px/1 var(--ph-font);letter-spacing:0.16em;text-transform:uppercase;color:var(--ph-blue);}
@media (max-width:900px){.ph-partner-profile{grid-template-columns:1fr;gap:20px;}}

/* -- Digital map (Outputs) -- */
.ph-map-hero{color:#fff;}
.ph-tag{display:inline-block;padding:8px 14px;background:#fff;color:var(--ph-black)!important;clip-path:polygon(0 0, calc(100% - 11px) 0, 100% 11px, 100% 100%, 0 100%);}
.ph-map-visual{background:repeating-linear-gradient(135deg,rgba(255,255,255,0.06) 0 8px,rgba(255,255,255,0.02) 8px 16px);min-height:260px;}
@media (max-width:1000px){.ph-map-hero .e-con{grid-template-columns:1fr!important;}}

/* -- Publications (Outputs) -- */
.ph-pub-filters{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 0;}
.ph-chip{display:inline-block;padding:9px 16px;border:1px solid var(--ph-line);font:600 11.5px/1 var(--ph-font);letter-spacing:0.08em;text-transform:uppercase;color:var(--ph-black);text-decoration:none!important;}
.ph-chip:hover{border-color:var(--ph-blue);color:var(--ph-blue)!important;}
.ph-chip.is-active{background:var(--ph-black);border-color:var(--ph-black);color:#fff!important;}
.ph-pub-list{margin-top:20px;border-top:1px solid var(--ph-line);}
.ph-pub-row{grid-template-columns:120px 1fr 200px 120px!important;}
.ph-pub-row__date{text-align:right;}
@media (max-width:1000px){.ph-pub-row{grid-template-columns:1fr!important;gap:6px!important;}.ph-pub-row__date{text-align:left;}}

/* -- Events (News & Events) -- */
.ph-events{display:flex;flex-direction:column;margin-top:40px;border-top:1px solid var(--ph-line);}
.ph-event{display:grid;grid-template-columns:90px 1fr 140px;gap:28px;align-items:center;padding:26px 0;border-bottom:1px solid var(--ph-line);text-decoration:none!important;color:var(--ph-black);transition:background 140ms linear,color 140ms linear;}
.ph-event:hover{background:var(--ph-grey-bg);color:var(--ph-blue)!important;}
.ph-event__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;background:var(--ph-black);color:#fff;}
.ph-event__day{font-size:20px;font-weight:700;line-height:1;}
.ph-event__mon{font:700 10px/1 var(--ph-font);letter-spacing:0.12em;text-transform:uppercase;margin-top:4px;}
.ph-event__title{font-size:18px;letter-spacing:-0.01em;line-height:1.3;}
.ph-event__loc{display:block;font-size:13px;color:var(--ph-text-soft);margin-top:4px;}
.ph-event:hover .ph-event__loc{color:inherit;}
.ph-event__type{font:700 11px/1 var(--ph-font);letter-spacing:0.12em;text-transform:uppercase;text-align:right;color:var(--ph-text-faint);}
@media (max-width:767px){.ph-event{grid-template-columns:56px 1fr;}.ph-event__type{display:none;}}

/* -- Blog list (News & Events) -- */
.ph-blog-list{display:flex;flex-direction:column;margin-top:40px;border-top:1px solid var(--ph-line);}
.ph-blog-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:24px 0;border-bottom:1px solid var(--ph-line);text-decoration:none!important;color:var(--ph-black);transition:background 140ms linear,padding 140ms linear,color 140ms linear;}
.ph-blog-row:hover{background:var(--ph-grey-bg);padding-left:20px;color:var(--ph-blue)!important;}
.ph-blog-row__meta{flex:0 0 200px;font:700 11.5px/1 var(--ph-font);letter-spacing:0.1em;text-transform:uppercase;color:var(--ph-text-faint);}
.ph-blog-row__title{flex:1 1 auto;font-size:18px;letter-spacing:-0.01em;}
.ph-blog-row__cta{flex:0 0 auto;font:700 11px/1 var(--ph-font);letter-spacing:0.1em;text-transform:uppercase;}
@media (max-width:767px){.ph-blog-row{flex-direction:column;gap:6px;}}

/* -- Featured post (News & Events) -- */
.ph-feature{display:grid;grid-template-columns:1fr 420px;gap:56px;align-items:center;margin-top:40px;text-decoration:none!important;color:inherit;}
.ph-feature__meta{display:block;font:700 11.5px/1 var(--ph-font);letter-spacing:0.14em;text-transform:uppercase;color:var(--ph-blue);margin-bottom:16px;}
.ph-feature__title{margin:0 0 14px;font-size:32px;line-height:1.15;letter-spacing:-0.02em;font-weight:700;color:var(--ph-black);}
.ph-feature__lead{margin:0 0 18px;font-size:15.5px;line-height:1.6;color:var(--ph-text-soft);max-width:52ch;}
.ph-feature__cta{font:700 12px/1 var(--ph-font);letter-spacing:0.1em;text-transform:uppercase;color:var(--ph-black);}
.ph-feature__media{aspect-ratio:16/10;overflow:hidden;}
.ph-feature__media img{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:1000px){.ph-feature{grid-template-columns:1fr;gap:24px;}}

/* -- Formularze (Contact / Newsletter) -- */
.ph-form{max-width:480px;}
.ph-form__hp{position:absolute;left:-9999px;top:-9999px;}
.ph-form__row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ph-form label{display:block;margin-bottom:20px;font:700 11px/1 var(--ph-font);letter-spacing:0.1em;text-transform:uppercase;color:var(--ph-text-faint);}
.ph-form input[type=text],.ph-form input[type=email],.ph-form select,.ph-form textarea{
  display:block;width:100%;margin-top:10px;padding:13px 14px;border:1px solid var(--ph-line);background:#fff;
  font:400 15px/1.4 var(--ph-font);color:var(--ph-black);border-radius:0;}
.ph-form input:focus,.ph-form select:focus,.ph-form textarea:focus{outline:none;border-color:var(--ph-blue);}
.ph-form button{margin-top:6px;border:0;cursor:pointer;font-family:var(--ph-font);}
.ph-form__note{margin:16px 0 0;font-size:12.5px;color:var(--ph-text-faint);max-width:44ch;}
.ph-form__msg{padding:14px 18px;margin-bottom:20px;font-size:14px;}
.ph-form__msg--ok{background:var(--ph-grey-bg);color:var(--ph-black);}
.ph-form__msg--err{background:#fdeceb;color:var(--ph-red);}
.ph-form--inline{display:flex;gap:0;max-width:420px;}
.ph-form--inline .ph-form__hp{position:absolute;}
.ph-form--inline input[type=email]{margin-top:0;border-right:0;}
.ph-form--inline button{white-space:nowrap;}
@media (max-width:600px){.ph-form__row{grid-template-columns:1fr;}.ph-form--inline{flex-direction:column;}.ph-form--inline input[type=email]{border-right:1px solid var(--ph-line);margin-bottom:12px;}}

/* -- Strony prawne -- */
.ph-legal-notice{margin:0 0 32px;padding:16px 20px;border:1px solid var(--ph-red);background:#fdeceb;color:var(--ph-black);font-size:14px;line-height:1.6;max-width:72ch;}
.ph-legal-notice strong{color:var(--ph-red);}

/* -- Pojedynczy wpis -- */
.ph-post-head{margin-bottom:8px;}
.ph-post-head .ph-latest__date{display:inline-block;margin-bottom:14px;}
.ph-post-image{margin:24px 0;border:1px solid var(--ph-line);}
.ph-post-image img{width:100%;height:auto;display:block;}
.ph-post-aside{align-self:start;position:sticky;top:150px;}
@media (max-width:1000px){.ph-post-aside{position:static;margin-top:32px;}.ph-page .e-con:has(>.ph-post-aside){grid-template-columns:1fr!important;}}
