/* =========================================================
   PS Invest – style pomocnicze do projektu w Elementorze
   Wszystkie kolory, fonty, odstępy i treści ustawiasz w Elementorze.
   Tu są tylko efekty, których Elementor nie ma w panelu:
   – szkło (backdrop-filter) dla klasy .ps-glass
   – pigułkowe opcje wyboru w formularzu (.ps-form)
   – przesunięcia pod przyklejony nagłówek i pasek administratora
   Kolory pobierane są z Ustawień globalnych Elementora (var(--e-global-color-…)).
   ========================================================= */

:root{
  --ps-gold:var(--e-global-color-secondary,#CB9A28);
  --ps-ink:var(--e-global-color-primary,#152423);
  --ps-light:var(--e-global-color-pslight,#F1ECE2);
  --ps-line:var(--e-global-color-psline,rgba(21,36,35,.14));
  --ps-btn-text:var(--e-global-color-psbtnt,#10201F);
  --ps-blur:24px;           /* siła rozmycia szkła – możesz nadpisać w Custom CSS elementu */
  --ps-header-space:104px;  /* miejsce na przyklejony nagłówek */
}
html{scroll-padding-top:var(--ps-header-space)}

/* ---------- Szkło (glass) ----------
   Dodaj klasę "ps-glass" w Zaawansowane → Klasy CSS kontenera.
   Kolor/przezroczystość tła, obramowanie i zaokrąglenie ustawiasz w Elementorze. */
.ps-glass{
  -webkit-backdrop-filter:blur(var(--ps-blur)) saturate(150%);
  backdrop-filter:blur(var(--ps-blur)) saturate(150%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 70px -30px rgba(0,0,0,.55);
}
.ps-glass::after{
  /* refleks światła na krawędzi */
  content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;z-index:0;
  background:linear-gradient(140deg,rgba(255,255,255,.55),rgba(255,255,255,0) 36%,rgba(255,255,255,0) 64%,rgba(203,154,40,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.ps-glass-btn .elementor-button{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .ps-glass{background-color:rgba(14,27,26,.88)!important}
}

/* ---------- Nagłówek ---------- */
body.admin-bar .ps-header{margin-top:32px}
@media (max-width:782px){body.admin-bar .ps-header{margin-top:46px}}
@media (max-width:600px){body.admin-bar .ps-header{margin-top:0}}
.ps-header .elementor-nav-menu--dropdown{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}
.ps-header-tel .elementor-heading-title{white-space:nowrap;font-variant-numeric:tabular-nums}
/* Strony bez sekcji hero (np. polityka prywatności) – treść nie chowa się pod nagłówkiem */
body:not(:has(.ps-hero)):not(.elementor-editor-active) #inner-wrap{padding-top:var(--ps-header-space)}

/* ---------- Typografia ---------- */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title{text-wrap:balance}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.ps-hero .elementor-widget-text-editor p{text-wrap:pretty}

/* ---------- Usługi i fakty ---------- */
.elementor-widget-image img{display:block}

/* ---------- Realizacje: łukowe kadry w galerii ----------
   Zdejmij klasę "ps-gallery-arch" z widgetu Galeria, aby wrócić do prostokątów. */
.ps-gallery-arch .e-gallery-image,
.ps-gallery-arch .elementor-gallery-item,
.ps-gallery-arch .elementor-gallery-item__image{border-radius:999px 999px 0 0;overflow:hidden}
.ps-gallery-arch .elementor-gallery__titles-container{flex-wrap:wrap;row-gap:10px}

/* ---------- FAQ ---------- */
.ps-faq .elementor-accordion-item{border-bottom:1px solid var(--ps-line)!important}
.ps-faq .elementor-accordion-item:first-child{border-top:1px solid var(--ps-line)!important}
.ps-faq .elementor-tab-title{cursor:pointer}

/* ---------- Formularz: opcje wyboru jako „pigułki” ----------
   Działa dla pól Radio i Checkbox w formularzu z klasą "ps-form". */
.ps-form .elementor-field-type-radio .elementor-field-subgroup,
.ps-form .elementor-field-type-checkbox .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.ps-form .elementor-field-type-radio .elementor-field-option,
.ps-form .elementor-field-type-checkbox .elementor-field-option{position:relative;margin:0!important;padding:0!important;width:auto!important}
.ps-form .elementor-field-type-radio .elementor-field-option input,
.ps-form .elementor-field-type-checkbox .elementor-field-option input{
  position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1;
}
.ps-form .elementor-field-type-radio .elementor-field-option label,
.ps-form .elementor-field-type-checkbox .elementor-field-option label{
  display:inline-flex!important;align-items:center;min-height:42px;padding:0 15px!important;margin:0!important;
  border-radius:999px;border:1px solid rgba(241,236,226,.28);color:var(--ps-light);font-size:.92rem;line-height:1.2;
  transition:background-color .2s,border-color .2s,color .2s;
}
.ps-form .elementor-field-option input:hover+label{border-color:rgba(241,236,226,.55)}
.ps-form .elementor-field-option input:checked+label{background:var(--ps-gold);border-color:var(--ps-gold);color:var(--ps-btn-text)}
.ps-form .elementor-field-option input:focus-visible+label{outline:2px solid var(--ps-gold);outline-offset:3px}
/* zgoda RODO */
.ps-form .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:12px;align-items:flex-start}
.ps-form .elementor-field-type-acceptance input{
  appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border-radius:6px;
  border:1px solid rgba(241,236,226,.45);background:rgba(255,255,255,.06);cursor:pointer;display:grid;place-items:center;
}
.ps-form .elementor-field-type-acceptance input::after{content:"";width:10px;height:6px;border-left:2px solid var(--ps-btn-text);border-bottom:2px solid var(--ps-btn-text);transform:rotate(-45deg) translateY(-1px);opacity:0}
.ps-form .elementor-field-type-acceptance input:checked{background:var(--ps-gold);border-color:var(--ps-gold)}
.ps-form .elementor-field-type-acceptance input:checked::after{opacity:1}
.ps-form .elementor-field-type-acceptance label{font-size:.86rem;line-height:1.5;color:rgba(241,236,226,.8)}
.ps-form .elementor-field-type-acceptance a{color:var(--ps-light)}
.ps-form .elementor-field-textual::placeholder{color:rgba(241,236,226,.48)}
.ps-form .elementor-field-textual:focus{border-color:var(--ps-gold)!important;box-shadow:0 0 0 3px rgba(203,154,40,.3)}
.ps-form .elementor-field-textual{min-height:52px}
.ps-form textarea.elementor-field-textual{min-height:120px}

/* ---------- Mobilny pasek kontaktu (w stopce) ---------- */
.ps-mbar{transition:transform .45s cubic-bezier(.2,.7,.1,1),opacity .3s;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))!important}
.ps-mbar.is-hidden{transform:translateY(130%);opacity:0;pointer-events:none}
.elementor-editor-active .ps-mbar.is-hidden{transform:none;opacity:1;pointer-events:auto}

/* ---------- Dostępność ---------- */
.elementor a:focus-visible,.elementor button:focus-visible,.elementor .elementor-button:focus-visible{outline:2px solid var(--ps-gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .elementor-invisible{visibility:visible!important}
  .animated{animation:none!important}
}
