/* drspyra.pl - style dla stron budowanych w Elementorze (Start, O mnie, Kontakt) oraz zwykłych stron WP.
   Klasy ds-* nadaje skrypt kod/skrypty/buduj-strony.php; Marcin może je też wpisać ręcznie w Zaawansowane > Klasy CSS.
   WAŻNE: kolumny rzędów mają szerokości przez CSS (flex-basis/calc + nowrap + min-width:0), nie przez % w Elementorze.
   Elementor ma regułę .e-con.e-con>.e-con-inner>.elementor-widget{max-width:100%} - max-width widgetów wymuszamy !important.
   Blok telefonu jest NA KOŃCU pliku (kolejność ma znaczenie). */

/* ===== Zwykła strona WP (polityka) ===== */
.ds-tekst--strona{font-size:16.5px}
.ds-tekst--strona h2{font-size:27px;margin:1.8em 0 .5em}
.ds-tekst--strona ul{margin:0 0 1.2em 1.2em}
.ds-tekst--strona li{margin-bottom:.4em}

/* ===== Sekcje ===== */
.e-con.ds-sekcja-e{padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px)}
.e-con.ds-tlo-2{background-color:var(--ds-tlo-2)}
.e-con.ds-tlo-3{background-color:var(--ds-tlo-3)}
.e-con.ds-sekcja-cta{padding:0;--content-width:100%;--width:100%}
.e-con.ds-sekcja-cta .elementor-widget-shortcode,.e-con.ds-sekcja-cta .elementor-widget-container{width:100%}
.e-con .elementor-widget{width:100%}

/* ===== Typografia widgetów ===== */
.elementor-widget-heading .elementor-heading-title em{font-style:italic;color:var(--ds-zloto);font-weight:400}
.elementor-widget-heading.ds-etykieta-w .elementor-heading-title{font-family:var(--ds-f-sans);font-size:12.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ds-zloto);margin:0 0 16px;line-height:1.5}
.ds-srodek-w .elementor-heading-title,.ds-srodek-w{text-align:center}
.elementor-widget-heading.ds-naglowek-w .elementor-heading-title{font-family:var(--ds-f-serif);font-weight:500;font-size:clamp(30px,3.2vw,44px);line-height:1.16;color:var(--ds-naglowek);margin:0 0 24px}
.elementor-widget-heading.ds-naglowek-h1-w .elementor-heading-title{font-family:var(--ds-f-serif);font-weight:500;font-size:clamp(36px,4.4vw,58px);line-height:1.12;color:var(--ds-naglowek);margin:0 0 22px}
.elementor-widget.elementor-widget-text-editor.ds-wstep-w{max-width:700px!important;margin:0 auto 52px!important;text-align:center;font-size:18px;line-height:1.75}
.elementor-widget-text-editor.ds-tekst-w{font-size:17.5px;line-height:1.8}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor.ds-podpis-w{font-family:var(--ds-f-podpis);font-size:50px;line-height:1;color:var(--ds-zloto);margin:26px 0 30px}
.elementor-widget-text-editor.ds-podpis-w p{margin:0}

/* ===== Przyciski Elementora w stylu motywu ===== */
.elementor-widget-button.ds-przycisk-w{width:auto}
.elementor-widget-button.ds-przycisk-w .elementor-button{background:var(--ds-ciemny);color:#f8f2ea;border:1px solid var(--ds-ciemny);border-radius:50px;padding:17px 32px;font-family:var(--ds-f-sans);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1;transition:all .3s ease}
.elementor-widget-button.ds-przycisk-w .elementor-button:hover{background:var(--ds-zloto);border-color:var(--ds-zloto);transform:translateY(-2px)}
.elementor-widget-button.ds-przycisk-w--obrys .elementor-button{background:transparent;border-color:var(--ds-ciemny);color:var(--ds-ciemny)}
.elementor-widget-button.ds-przycisk-w--obrys .elementor-button:hover{background:var(--ds-ciemny);border-color:var(--ds-ciemny);color:#f8f2ea}
.elementor-widget-button.ds-link-w{width:auto;margin-top:auto}
.elementor-widget-button.ds-link-w .elementor-button{background:none;border:0;border-radius:0;padding:4px 0;color:var(--ds-ciemny);font-family:var(--ds-f-sans);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .3s ease}
.elementor-widget-button.ds-link-w .elementor-button:hover{color:var(--ds-zloto)}
.elementor-widget-button.ds-link-w .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:8px;transition:transform .3s ease}
.elementor-widget-button.ds-link-w .elementor-button:hover .elementor-button-text::after{transform:translateX(5px)}
.e-con.ds-przyciski{padding:0;flex-direction:row;flex-wrap:wrap;gap:14px}
.e-con.ds-przyciski .elementor-widget-button{width:auto}

/* ===== HERO strony głównej: zdjęcie na całą szerokość (jak drnylec), tekst z lewej na beżu ===== */
.e-con.ds-hero-e{position:relative;isolation:isolate;min-height:clamp(620px,86vh,880px);padding:0;justify-content:center;background-color:var(--ds-sciana)}
.e-con.ds-hero-e::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,var(--ds-tlo) 0%,var(--ds-tlo) 30%,rgba(239,230,218,.86) 40%,rgba(239,230,218,.45) 50%,rgba(239,230,218,0) 60%)}
.e-con.ds-hero-e>.e-con,.e-con.ds-hero-e>.elementor-widget{position:relative;z-index:1}
.e-con.ds-hero-tekst-e{width:100%;max-width:calc(var(--ds-kontener) + 40px);margin:0 auto;padding:48px 20px 64px}
.e-con.ds-hero-tekst-e>*{max-width:610px!important}
.elementor-widget-heading.ds-hero-h1 .elementor-heading-title{font-family:var(--ds-f-serif);font-weight:500;font-size:clamp(38px,4.2vw,58px);line-height:1.12;color:var(--ds-naglowek);margin:0 0 26px}
.elementor-widget-heading.ds-hero-h1 .elementor-heading-title em{display:block}
.elementor-widget-text-editor.ds-hero-lead{font-size:18.5px;line-height:1.75;margin-bottom:34px;color:var(--ds-tekst)}
.elementor-widget-text-editor.ds-hero-opinie{margin-top:30px;font-size:15px;color:var(--ds-tekst)}
.ds-hero-opinie a{display:inline-flex;align-items:center;gap:10px;color:var(--ds-naglowek);font-weight:600}
.ds-hero-opinie a:hover{color:var(--ds-akcent)}
.ds-gwiazdki{color:#b0844f;letter-spacing:2px;font-size:15px}
.elementor-widget-image.ds-hero-foto-m{display:none}
@media (max-width:1180px){
  .e-con.ds-hero-e{min-height:0;background-image:none!important;background-color:var(--ds-tlo)!important}
  .e-con.ds-hero-e::after{display:none}
  .elementor-widget-image.ds-hero-foto-m{display:block;position:relative}
  .elementor-widget-image.ds-hero-foto-m img{display:block;width:100%;height:min(78vh,760px);object-fit:cover;object-position:50% 18%}
  .elementor-widget-image.ds-hero-foto-m::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:34%;background:linear-gradient(180deg,rgba(239,230,218,0),var(--ds-tlo))}
  .e-con.ds-hero-tekst-e{margin-top:-90px;padding-top:0}
  .e-con.ds-hero-tekst-e>*{max-width:640px!important}
}

/* ===== Pasek zabiegów (marquee) ===== */
.e-con.ds-pasek-e{background:var(--ds-ciemny);--content-width:100%;--width:100%;padding:0;margin-top:0}
.e-con.ds-pasek-e .elementor-widget-html,.e-con.ds-pasek-e .elementor-widget-container{width:100%}
.ds-marquee{overflow:hidden;white-space:nowrap;padding:20px 0;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ds-marquee__tor{display:inline-flex;align-items:center;gap:36px;padding-right:36px;animation:ds-marquee 50s linear infinite;will-change:transform}
.ds-marquee:hover .ds-marquee__tor{animation-play-state:paused}
.ds-marquee span{font-family:var(--ds-f-serif);font-style:italic;font-size:20px;color:#f1e6d8}
.ds-marquee i{font-style:normal;color:var(--ds-zloto-jasne);font-size:11px}
@keyframes ds-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ds-marquee__tor{animation:none}}

/* ===== Sekcje "pół zdjęcie, pół tekst" od krawędzi do krawędzi (jak skinstory) ===== */
.e-con.ds-split{flex-direction:row;flex-wrap:nowrap;padding:0;gap:0;align-items:stretch}
.e-con.ds-split>.e-con.ds-split-foto{flex:0 0 50%;width:50%;position:relative;min-height:clamp(560px,52vw,760px);padding:0;overflow:hidden}
.e-con.ds-split>.e-con.ds-split-tekst{flex:1 1 0;width:auto;min-width:0;justify-content:center;padding:clamp(56px,7vw,110px) clamp(28px,6vw,100px)}
.e-con.ds-split-tekst>*{max-width:580px!important}
.e-con.ds-split-foto .elementor-widget-image{position:absolute;inset:0;height:100%}
.e-con.ds-split-foto .elementor-widget-image .elementor-widget-container,.e-con.ds-split-foto .elementor-widget-image img{height:100%}
.e-con.ds-split-foto .elementor-widget-image img{display:block;width:100%;object-fit:cover;object-position:50% 20%}
.e-con.ds-split--odwrocony{flex-direction:row-reverse}
@media (max-width:1024px){
  .e-con.ds-split,.e-con.ds-split--odwrocony{flex-direction:column}
  .e-con.ds-split>.e-con.ds-split-foto{flex:none;width:100%;min-height:0;height:min(92vw,620px)}
  .e-con.ds-split>.e-con.ds-split-tekst{width:100%}
  .e-con.ds-split-tekst>*{max-width:680px!important}
}

/* ===== Linia kwalifikacji (małe "chipsy") ===== */
.elementor-widget-text-editor.ds-chipsy{margin:26px 0 8px}
.ds-chipsy p{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ds-chipsy span{display:inline-block;padding:7px 14px;border-radius:50px;background:var(--ds-tlo-2);color:var(--ds-naglowek);font-size:13.5px;font-weight:600;line-height:1.3}
.e-con.ds-tlo-2 .ds-chipsy span,.ds-tlo-2 .ds-chipsy span{background:var(--ds-tlo)}

/* ===== Karty zabiegów (siatka 3 x 2) ===== */
.e-con.ds-zab-siatka{flex-direction:row;flex-wrap:wrap;gap:24px;align-items:stretch;padding:0}
.e-con.ds-zab-karta{flex:0 0 calc((100% - 48px) / 3);width:auto;min-width:0;background:var(--ds-biel);border-radius:var(--ds-r);padding:36px 34px 30px;box-shadow:var(--ds-cien-maly);transition:transform .4s ease,box-shadow .4s ease}
.e-con.ds-zab-karta:hover{transform:translateY(-6px);box-shadow:var(--ds-cien)}
.elementor-widget-heading.ds-zab-etykieta{width:auto!important;align-self:flex-start}
.elementor-widget-heading.ds-zab-etykieta .elementor-heading-title{display:inline-block;font-family:var(--ds-f-sans);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ds-zloto);background:var(--ds-tlo-2);padding:6px 12px;border-radius:50px;margin:0 0 18px}
.elementor-widget-heading.ds-zab-tytul .elementor-heading-title{font-family:var(--ds-f-serif);font-weight:500;font-size:26px;line-height:1.2;color:var(--ds-naglowek);margin:0 0 14px}
.elementor-widget-text-editor.ds-zab-tekst{font-size:16px;line-height:1.7;margin-bottom:24px}
@media (max-width:1024px){.e-con.ds-zab-karta{flex-basis:calc((100% - 24px) / 2)}}
@media (max-width:640px){.e-con.ds-zab-siatka{gap:14px}.e-con.ds-zab-karta{flex-basis:100%;padding:30px 24px 26px}}
.elementor-widget-text-editor.ds-zab-stopka{margin-top:44px;font-size:16px;color:var(--ds-tekst);text-align:center}
.elementor-widget-text-editor.ds-zab-stopka a{font-weight:700}

/* ===== Jak pracuję (kroki bez numerów) ===== */
.ds-kroki{margin:8px 0 0}
.ds-kroki>div{display:grid;grid-template-columns:150px 1fr;gap:6px 26px;padding:20px 0;border-bottom:1px solid var(--ds-ramka)}
.ds-kroki>div:first-child{border-top:1px solid var(--ds-ramka)}
.ds-kroki dt{font-family:var(--ds-f-serif);font-style:italic;font-size:23px;color:var(--ds-zloto);margin:0;line-height:1.25}
.ds-kroki dd{margin:0;font-size:16.5px;line-height:1.7}
@media (max-width:640px){.ds-kroki>div{grid-template-columns:1fr}}

/* ===== Opinie: kremowe karty z gwiazdkami ===== */
.e-con.ds-opinie-siatka{flex-direction:row;flex-wrap:nowrap;gap:24px;padding:0;align-items:stretch}
.elementor-widget-text-editor.ds-opinia{flex:1 1 0;min-width:0;width:auto;background:var(--ds-biel);border-radius:var(--ds-r);padding:34px 32px 30px;box-shadow:var(--ds-cien-maly)}
.ds-opinia p{font-family:var(--ds-f-serif);font-style:italic;font-size:19px;line-height:1.55;color:var(--ds-naglowek)}
.ds-opinia p.ds-gwiazdki{font-family:var(--ds-f-sans);font-style:normal;font-size:15px;color:#b0844f;margin-bottom:14px}
.ds-opinia p.ds-opinia-podpis{font-family:var(--ds-f-sans);font-style:normal;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ds-tekst-jasny);margin:18px 0 0}
@media (max-width:1024px){.e-con.ds-opinie-siatka{flex-direction:column}}
.elementor-widget-text-editor.ds-opinie-link{margin-top:40px;text-align:center;font-size:15px}
.elementor-widget-text-editor.ds-opinie-link a{font-weight:700;color:var(--ds-ciemny)}

/* ===== Lista kwalifikacji (O mnie) ===== */
.ds-lista-kwal{margin:0}
.ds-lista-kwal>div{display:grid;grid-template-columns:200px 1fr;gap:8px 30px;padding:22px 0;border-bottom:1px solid var(--ds-ramka)}
.ds-lista-kwal>div:first-child{padding-top:0}
.ds-lista-kwal>div:last-child{border-bottom:0}
.ds-lista-kwal dt{font-family:var(--ds-f-sans);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ds-zloto);margin:0;padding-top:5px}
.ds-lista-kwal dd{margin:0;font-size:16.5px;line-height:1.75}
.ds-lista-kwal ul{margin:0;padding-left:1.1em}
.ds-lista-kwal li{margin-bottom:.3em}
@media (max-width:640px){.ds-lista-kwal>div{grid-template-columns:1fr}}
.e-con.ds-kwal-rzad{flex-direction:row;flex-wrap:nowrap;gap:clamp(40px,6vw,90px);align-items:flex-start;padding:0}
.e-con.ds-kwal-rzad>.e-con:first-child{flex:0 0 auto;width:calc(34% - 30px)}
.e-con.ds-kwal-rzad>.e-con:last-child{flex:1 1 0;width:auto;min-width:0;background:var(--ds-biel);border-radius:var(--ds-r);padding:40px 40px 30px;box-shadow:var(--ds-cien-maly)}
@media (max-width:1024px){.e-con.ds-kwal-rzad{flex-direction:column;gap:24px}.e-con.ds-kwal-rzad>.e-con:first-child{width:100%}.e-con.ds-kwal-rzad>.e-con:last-child{width:100%;padding:28px 22px 18px}}

/* Poza gabinetem */
.e-con.ds-pasje{max-width:820px;margin:0 auto;text-align:center;padding:0}
.elementor-widget-text-editor.ds-pasje-tekst{font-size:18px;line-height:1.8}

/* ===== Kontakt ===== */
.e-con.ds-kontakt-naglowek{text-align:center}
.e-con.ds-kontakt-rzad{flex-direction:row;flex-wrap:nowrap;gap:48px;align-items:flex-start;padding:0}
.e-con.ds-kontakt-info{flex:0 0 auto;width:calc(40% - 24px);background:var(--ds-biel);border-radius:var(--ds-r);padding:40px;box-shadow:var(--ds-cien-maly)}
.e-con.ds-kontakt-formularz{flex:1 1 0;width:auto;min-width:0;padding:0}
@media (max-width:1024px){.e-con.ds-kontakt-rzad{flex-direction:column;gap:32px}.e-con.ds-kontakt-info{width:100%;padding:30px 24px}}
.elementor-widget-heading.ds-kontakt-tytul .elementor-heading-title{font-family:var(--ds-f-serif);font-weight:500;font-size:32px;color:var(--ds-naglowek);margin:0 0 16px}
.e-con.ds-kontakt-info .elementor-widget-text-editor p{margin:0 0 12px;font-size:16.5px}
.ds-kontakt-adres{font-size:18px!important;color:var(--ds-naglowek)}
a.ds-kontakt-telefon{font-family:var(--ds-f-serif);font-weight:500;font-size:34px;color:var(--ds-naglowek)}
a.ds-kontakt-telefon:hover{color:var(--ds-akcent)}
.ds-mapa{display:block;width:100%;border-radius:var(--ds-r-maly);margin-top:22px;filter:saturate(.6) sepia(.18)}

/* ===== Telefon: NA KOŃCU pliku, żeby wygrać z regułami wyśrodkowania wyżej ===== */
@media (max-width:767px){
  .ds-srodek-w .elementor-heading-title,.ds-srodek-w,.elementor-widget-text-editor.ds-zab-stopka,.elementor-widget-text-editor.ds-opinie-link,.e-con.ds-pasje{text-align:left}
  .elementor-widget.elementor-widget-text-editor.ds-wstep-w{text-align:left;margin-left:0!important;margin-right:0!important;margin-bottom:36px!important}
  .elementor-widget-heading.ds-hero-h1 .elementor-heading-title{font-size:36px}
  .elementor-widget-text-editor.ds-hero-lead{font-size:16.5px}
  .e-con.ds-przyciski .elementor-widget-button,.e-con.ds-przyciski .elementor-button{width:100%}
  .e-con.ds-przyciski .elementor-button{display:flex;justify-content:center}
  .elementor-widget-image.ds-hero-foto-m img{height:min(70vh,520px)}
  .e-con.ds-hero-tekst-e{margin-top:-70px}
  .elementor-widget-text-editor.ds-podpis-w{font-size:44px}
}
.e-con.ds-kontakt-rzad{text-align:left;margin-top:8px}
/* nagłówek H1 w hero szerszy niż reszta tekstu (2 linie zamiast 3) */
.e-con.ds-hero-tekst-e>.elementor-widget-heading.ds-hero-h1{max-width:720px!important}
