/*
Theme Name: ErgoVital Mosina
Theme URI: https://masaz-mosina.com/
Author: JM Art
Author URI: https://jm-art.eu/
Description: Motyw WordPress dla gabinetu ErgoVital w Mosinie. Strona główna, oferta z pięcioma częściami i trzydziestoma podstronami zabiegów, cennik, o mnie, bon podarunkowy, FAQ, kontakt z formularzem oraz polityka prywatności.
Version: 2.2.8
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ergovital
Tags: massage, one-column, custom-colors, translation-ready
*/
/* Fonty hostowane lokalnie. Motyw nie łączy się z serwerami Google, co ma znaczenie przy RODO. */
@font-face{font-family:"Jost";src:url("fonts/jost-latin-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";src:url("fonts/jost-latin-ext-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";src:url("fonts/jost-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";src:url("fonts/jost-latin-ext-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";src:url("fonts/jost-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";src:url("fonts/jost-latin-ext-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-ext-300-normal.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-300-italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-ext-300-italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-ext-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-ext-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#FBF6EC;color:#3D4539;
 font-family:'Jost',-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.8;
 -webkit-font-smoothing:antialiased;overflow-x:hidden;
 --tlo:#FBF6EC;--tekst:#3D4539;--naglowek:#182117;--akcent:#C4762F;
 --linia:rgba(24,33,23,.14);--panel:rgba(24,33,23,.045)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;margin:0;
 line-height:1.1;color:var(--naglowek)}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;position:relative}
.waski{max-width:840px;margin:0 auto;padding:0 28px;position:relative}

/* ---------- płaszczyzny ---------- */
.sekcja{--tlo:#FBF6EC;--tekst:#3D4539;--naglowek:#182117;--akcent:#C4762F;
 --linia:rgba(24,33,23,.14);--panel:rgba(24,33,23,.045);
 background:var(--tlo);color:var(--tekst);padding:110px 0;position:relative;overflow:hidden}
.na-piasku{--tlo:#F2E9D9;--panel:rgba(24,33,23,.055)}
.na-ciemnym{--tlo:#243020;--tekst:#FBF6EC;--naglowek:#FBF6EC;--akcent:#E0A465;
 --linia:rgba(251,246,236,.2);--panel:rgba(251,246,236,.07)}
.na-glebi{--tlo:#182117;--tekst:#FBF6EC;--naglowek:#FBF6EC;--akcent:#E0A465;
 --linia:rgba(251,246,236,.2);--panel:rgba(251,246,236,.07)}
.sekcja>*{position:relative;z-index:1}
.sekcja>.znak-wodny{position:absolute;z-index:0}
.srodek{text-align:center}
.srodek .lead{margin-left:auto;margin-right:auto}

/* ---------- typografia ---------- */
.nadtytul{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--akcent);
 margin:0 0 16px}
.h-sekcja{font-size:clamp(38px,6vw,72px);margin:0 0 26px}
.h-sekcja em{font-style:italic;color:var(--akcent)}
.lead{font-size:18.5px;max-width:60ch;opacity:.85}

/* ---------- ornament i medalion ---------- */
.orn-rzad{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap}
.znak-wodny{position:absolute;pointer-events:none;user-select:none;z-index:0;
 animation:obrot 200s linear infinite}
@keyframes obrot{to{transform:rotate(360deg)}}
.medalion{display:grid;place-items:center;border-radius:50%;background:#243020;
 box-shadow:0 0 0 6px rgba(196,118,47,.16), 0 0 34px 6px rgba(224,164,101,.34);flex:none}
.medalion--ciemny{background:#FBF6EC;
 box-shadow:0 0 0 6px rgba(196,118,47,.14), 0 0 30px 5px rgba(196,118,47,.22)}

/* ---------- ŁUKI ---------- */
.luk{border-radius:50% 50% 12px 12px / 40% 40% 12px 12px;overflow:hidden;position:relative}
.luk--dol{border-radius:12px 12px 50% 50% / 12px 12px 40% 40%}
.luk--kolo{border-radius:50%}
.luk img{width:100%;height:100%;object-fit:cover}
.luk--ramka{box-shadow:0 0 0 1px var(--akcent), 0 0 0 9px var(--tlo), 0 0 0 10px rgba(196,118,47,.35)}

/* ---------- przyciski ---------- */
.btn{display:inline-block;padding:17px 46px;border:1px solid var(--naglowek);color:var(--naglowek);
 border-radius:999px;text-decoration:none;font-size:11px;letter-spacing:.3em;text-transform:uppercase;
 transition:.4s;background:transparent;cursor:pointer;font-family:inherit;line-height:1.4}
.btn:hover{background:var(--naglowek);color:var(--tlo)}
.btn--pelny{background:#C4762F;border-color:#C4762F;color:#fff}
.btn--pelny:hover{background:#182117;border-color:#182117;color:#FBF6EC}
.btn--jasny{border-color:#FBF6EC;color:#FBF6EC;
 background:linear-gradient(180deg,rgba(251,246,236,.08),rgba(251,246,236,.02))}
.btn--jasny:hover{background:#FBF6EC;color:#182117}
.link-strzalka{display:inline-flex;align-items:center;gap:10px;text-decoration:none;
 font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:var(--akcent);transition:.3s}
.link-strzalka svg{transition:.3s}
.link-strzalka:hover svg{transform:translateX(7px)}

/* ---------- NAGŁÓWEK z medalionem ---------- */
.gora{position:fixed;top:0;left:0;right:0;z-index:80;transition:.4s;
 background:rgba(36,48,32,.82);backdrop-filter:blur(14px);
 border-bottom:1px solid rgba(251,246,236,.14)}
.gora.przyklejony{background:rgba(24,33,23,.95)}
.gora__in{max-width:1280px;margin:0 auto;padding:0 28px;height:72px;
 display:flex;align-items:center;gap:28px}
.gora__logo img{height:40px;width:auto;transition:.4s}
.gora.przyklejony .gora__logo img{height:34px}
.menu{display:flex;list-style:none;margin:0;padding:0;gap:38px}
.menu--glowne{margin-left:auto}
.menu--mobilne{display:none}
.gora__cta{padding:12px 30px;font-size:10px;border-color:#E0A465;color:#E0A465}
.gora__cta:hover{background:#E0A465;color:#182117}
.menu a{text-decoration:none;font-size:11px;letter-spacing:.24em;text-transform:uppercase;
 color:#FBF6EC;opacity:.85;padding:6px 0;position:relative;white-space:nowrap;transition:.3s}
.menu a:hover{opacity:1}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
 background:#E0A465;transition:.35s}
.menu a:hover::after,.menu a[aria-current="page"]::after{right:0}
.burger{display:none;background:none;border:0;color:#FBF6EC;padding:10px;cursor:pointer}

/* ---------- HERO ze slajderem ---------- */
.hero{position:relative;min-height:88svh;display:grid;align-items:center;overflow:hidden;
 color:#FBF6EC;background:#182117}
.hero__slajdy{position:absolute;inset:0}
.hero__slajd{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.hero__slajd.jest{opacity:1}
.hero__slajd img{width:100%;height:100%;object-fit:cover;
 animation:wolnyZoom 16s ease-out forwards}
@keyframes wolnyZoom{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero__zaslona{position:absolute;inset:0;
 background:linear-gradient(100deg,rgba(24,33,23,.9) 0%,rgba(24,33,23,.62) 46%,rgba(24,33,23,.3) 100%)}
.hero__in{position:relative;z-index:2;max-width:1280px;width:100%;margin:0 auto;
 padding:150px 28px 130px}
.hero__tresc{max-width:640px;border-left:1px solid rgba(224,164,101,.55);padding-left:38px}
.hero h1{font-size:clamp(38px,5.6vw,74px);margin:0 0 28px;color:#FBF6EC;max-width:15ch;
 text-shadow:0 2px 26px rgba(0,0,0,.35)}
.hero__lead{font-size:18px;max-width:44ch;margin:0 0 38px;opacity:.9}
.hero__prz{display:flex;gap:16px;flex-wrap:wrap}
.hero__prz .btn{white-space:nowrap}
.hero__znak{position:absolute;right:7%;top:50%;transform:translateY(-50%);z-index:2;
 opacity:.45;line-height:0}
.hero__kropki{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);z-index:3;
 display:flex;gap:12px}
@media(min-width:1001px){.hero__kropki{left:auto;right:6%;transform:none;flex-direction:column;
 bottom:12%}}
.hero__kropki button{width:9px;height:9px;border-radius:50%;border:1px solid rgba(251,246,236,.75);
 background:transparent;padding:0;cursor:pointer;transition:.3s}
.hero__kropki button[aria-current="true"]{background:#E0A465;border-color:#E0A465;width:26px;
 border-radius:999px}
/* powolne wjeżdżanie tekstu w hero */
.wjazd{opacity:0;transform:translateY(26px);animation:wjazd 1.5s cubic-bezier(.2,.7,.2,1) forwards}
.wjazd--2{animation-delay:.45s}
.wjazd--3{animation-delay:.85s}
@keyframes wjazd{to{opacity:1;transform:none}}

/* ---------- nagłówek podstrony ---------- */
.hero-sub{padding:140px 0 76px;text-align:center;background:#243020;color:#FBF6EC;
 position:relative;overflow:hidden}
.hero-sub h1{color:#FBF6EC;font-size:clamp(40px,6vw,74px);margin:26px 0 20px}
.hero-sub .lead{margin:0 auto;opacity:.85}
.okruszki{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;opacity:.55;margin:22px 0 0}
.okruszki a{text-decoration:none}
.okruszki a:hover{color:#E0A465}

/* ---------- o mnie ---------- */
.o-mnie{display:grid;grid-template-columns:.92fr 1.08fr;gap:76px;align-items:center}
.o-mnie__foto{position:relative}
.o-mnie__foto .luk{aspect-ratio:4/5}
.o-mnie__foto .medalion{position:absolute;right:-26px;bottom:-26px}
.podpis{font-family:'Cormorant Garamond',serif;font-size:30px;font-style:italic;
 margin-top:28px;color:var(--akcent)}

/* ---------- SIATKA USŁUG w łukach ---------- */
.uslugi{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px;
 align-items:start}
.uslugi__pole{aspect-ratio:3/3.6;overflow:hidden;position:relative;
 border-radius:50% 50% 16px 16px / 42% 42% 16px 16px}
/* druga kolumna opada, trzecia lekko, dzięki czemu rząd faluje zamiast stać w linii */
.uslugi>*:nth-child(3n+2){margin-top:54px}
.uslugi>*:nth-child(3n+3){margin-top:26px}
.uslugi__pole img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.uslugi__pole:hover img{transform:scale(1.06)}
.uslugi__tekst{background:var(--panel);border:1px solid var(--linia);
 display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
 padding:14% 12%;text-decoration:none;color:inherit;transition:.4s;position:relative}
.uslugi__tekst:hover{border-color:var(--akcent)}
.uslugi__znak{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
 pointer-events:none;line-height:0}
.uslugi__tekst h3{font-size:clamp(17px,1.5vw,21px);letter-spacing:.16em;text-transform:uppercase;
 font-family:'Jost',sans-serif;font-weight:400;line-height:1.5;margin:0 0 14px;position:relative}
.uslugi__tekst p{font-size:14px;opacity:.8;margin:0;position:relative}

/* ---------- karty zabiegów: zdjęcie u góry, opis pod spodem ---------- */
.karty{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.karta{border-radius:26px;overflow:hidden;text-decoration:none;color:inherit;display:flex;
 flex-direction:column;background:var(--panel);box-shadow:0 0 0 1px var(--linia);transition:.45s}
.karta:hover{transform:translateY(-6px);
 box-shadow:0 0 0 1px var(--akcent),0 18px 40px rgba(24,33,23,.16)}
.karta__foto{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;flex:none}
.karta__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
 transition:transform .8s}
.karta:hover .karta__foto img{transform:scale(1.05)}
.karta__foto::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(24,33,23,0) 42%,rgba(24,33,23,.62))}
.karta__foto h3{position:absolute;left:24px;right:24px;bottom:16px;z-index:2;color:#FBF6EC;
 font-size:clamp(21px,2.2vw,27px);text-shadow:0 2px 16px rgba(0,0,0,.55);margin:0}
/* wariant bez zdjęcia: ornament zamiast fotografii, tytuł schodzi do treści */
.karta__zastepnik{display:grid;place-items:center;position:relative;aspect-ratio:16/10;flex:none;
 background:linear-gradient(150deg,rgba(196,118,47,.1),rgba(139,155,124,.16))}
.karta__in{display:flex;flex-direction:column;flex:1;gap:12px;padding:24px 28px 28px}
.karta__in h3{display:block;font-size:clamp(21px,2.2vw,27px);margin:0}
.karta__meta{display:block;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;
 color:var(--akcent)}
.karta__opis{display:block;font-size:15px;opacity:.8;margin:0;flex:1}
.karta .link-strzalka{align-self:flex-start;margin-top:4px}

/* ---------- rytuały ---------- */
.rytualy{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:34px;margin-top:60px}
.rytual{display:flex;flex-direction:column;text-align:center}
.rytual .luk{aspect-ratio:3/4;margin-bottom:22px;transition:.5s}
.rytual:hover .luk{transform:translateY(-8px)}
.rytual h3{font-size:26px;margin:0 0 8px}
.rytual__cena{font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--akcent);
 margin-bottom:14px}
.rytual p{font-size:14.5px;opacity:.8;flex:1;margin:0 0 20px}
.rytual .link-strzalka{align-self:center}

/* ---------- strefy ---------- */
.strefa{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;
 padding:76px 0;border-top:1px solid var(--linia)}
.strefa:first-of-type{border-top:0;padding-top:20px}
.strefa--odwrot .strefa__tresc{order:2}
.strefa__tytul{font-size:clamp(26px,3.2vw,38px);text-transform:uppercase;letter-spacing:.14em;
 line-height:1.34;margin:18px 0 20px;font-weight:300}
.strefa__foto{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.strefa__foto .luk:first-child{aspect-ratio:3/4;margin-top:46px}
.strefa__foto .luk:last-child{aspect-ratio:3/4}
.lista-zabiegow{list-style:none;padding:0;margin:22px 0 30px;font-size:15.5px}
.lista-zabiegow li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid var(--linia)}
.lista-zabiegow li::before{content:"";position:absolute;left:2px;top:21px;width:13px;height:1px;
 background:var(--akcent)}

/* ---------- dwie kolumny, na telefonie jedna pod drugą ---------- */
.dwie-kolumny{display:grid;grid-template-columns:1fr 1fr;gap:52px}

/* ---------- pas zdjęciowy ---------- */
.pas{height:56vh;min-height:320px;overflow:hidden;position:relative}
.pas img{width:100%;height:100%;object-fit:cover}

/* ---------- cennik ---------- */
.cennik-grupa{margin-bottom:62px}
.cennik-grupa h3{font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--akcent);
 padding-bottom:18px;border-bottom:1px solid var(--akcent);margin-bottom:8px}
.poz{display:grid;grid-template-columns:1fr auto;gap:8px 28px;padding:22px 0;
 border-bottom:1px solid var(--linia);align-items:baseline}
.poz__nazwa{font-family:'Cormorant Garamond',serif;font-size:25px;color:var(--naglowek)}
.poz__czas{font-size:12px;opacity:.55;margin-left:14px;letter-spacing:.16em;text-transform:uppercase}
.poz__opis{grid-column:1/2;font-size:15px;opacity:.75;margin:6px 0 0;max-width:64ch}
.poz__cena{font-family:'Cormorant Garamond',serif;font-size:25px;white-space:nowrap;color:var(--akcent)}
.uwaga{background:var(--panel);padding:28px 32px;font-size:15px;border-radius:24px;
 border:1px solid var(--linia)}

/* ---------- opinie ---------- */
.oceny{display:flex;gap:56px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.ocena__l{font-family:'Cormorant Garamond',serif;font-size:56px;line-height:1;color:#C9963C}
.ocena__p{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;opacity:.65;margin-top:4px}
.opinie{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:26px;margin-top:52px}
.opinia{background:var(--panel);border:1px solid var(--linia);border-radius:28px;padding:34px 32px;
 display:flex;flex-direction:column;gap:14px;text-align:left}
.opinia__gora{display:flex;justify-content:space-between;align-items:center;gap:12px}
.gwiazdki{color:#C9963C;letter-spacing:.26em;font-size:15px}
.opinia p{margin:0;font-size:15.5px;font-style:italic;flex:1;opacity:.88}
.opinia b{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.opinia__usluga{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.5;margin-top:-8px}

/* ---------- FAQ w pigułkach ---------- */
.pyt{background:var(--panel);border:1px solid var(--linia);border-radius:999px;margin-bottom:14px;
 transition:.35s}
.pyt[open]{border-radius:30px;border-color:var(--akcent)}
.pyt summary{cursor:pointer;list-style:none;padding:22px 62px 22px 32px;position:relative;
 font-size:16.5px}
.pyt summary::-webkit-details-marker{display:none}
.pyt summary::after{content:"";position:absolute;right:32px;top:31px;width:9px;height:9px;
 border-right:1.5px solid var(--akcent);border-bottom:1.5px solid var(--akcent);
 transform:rotate(45deg);transition:.3s}
.pyt[open] summary::after{transform:rotate(-135deg);top:34px}
.pyt__o{padding:0 42px 26px 32px;font-size:15.5px;opacity:.82}
.pyt__o p{margin:0 0 12px}

/* ---------- kafle kontaktu z okrągłą ikoną ---------- */
.kafle{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.kafel{background:var(--panel);border:1px solid var(--linia);border-radius:26px;padding:34px 26px;
 text-align:center;text-decoration:none;color:inherit;transition:.4s}
.kafel:hover{border-color:var(--akcent);transform:translateY(-5px)}
.kolo{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;
 background:rgba(196,118,47,.16);color:var(--akcent);transition:.4s}
.kafel:hover .kolo{background:var(--akcent);color:#fff}
.kafel h3{font-size:23px;margin:0 0 8px}
.kafel span{font-size:15px;opacity:.78}

/* ---------- wiersze kontaktowe w pigułkach ---------- */
.wiersze{display:grid;gap:16px}
.wiersz{display:flex;align-items:center;gap:18px;background:var(--panel);
 border:1px solid var(--linia);border-radius:999px;padding:14px 26px 14px 14px;
 text-decoration:none;color:inherit;transition:.35s}
.wiersz:hover{border-color:var(--akcent)}
.wiersz .kolo{margin:0;width:48px;height:48px;flex:none}
.wiersz span{font-size:15.5px}

/* ---------- pas CTA na całą szerokość ---------- */
.cta-pas{position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;
 padding:120px 28px;color:#FBF6EC;background:#182117}
.cta-pas img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta-pas::after{content:"";position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(24,33,23,.86),rgba(24,33,23,.68))}
.cta-pas__in{position:relative;z-index:2;max-width:720px;display:grid;justify-items:center}
.cta-pas__in .medalion{margin-bottom:26px}
.cta-pas h2{color:#FBF6EC;font-size:clamp(32px,4.4vw,54px);margin-bottom:16px}
.cta-pas h2 em{font-style:italic;color:#E0A465}
.cta-pas p{opacity:.85;margin:0 0 34px;max-width:46ch}
.cta-pas__prz{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.wiersze--rzad{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* ---------- formularz ---------- */
.kontakt-siatka{display:grid;grid-template-columns:1fr 1fr;gap:74px}
.godziny{width:100%;border-collapse:collapse;font-size:15.5px}
.godziny td{padding:11px 0;border-bottom:1px solid var(--linia)}
.godziny td:last-child{text-align:right;font-variant-numeric:tabular-nums;opacity:.75}
.form{display:grid;gap:18px}
.pole label{display:block;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;
 margin-bottom:9px;color:var(--akcent)}
.pole input,.pole select,.pole textarea{width:100%;padding:16px 22px;border:1px solid var(--linia);
 background:var(--panel);font-family:inherit;font-size:16px;color:var(--tekst);border-radius:999px}
.pole textarea{border-radius:26px}
.pole select option{background:#FBF6EC;color:#3D4539}
.pole input:focus,.pole select:focus,.pole textarea:focus{outline:none;border-color:var(--akcent)}
.zgoda{display:flex;gap:14px;align-items:flex-start;font-size:13.5px;opacity:.8}
.zgoda input{margin-top:5px;width:17px;height:17px;flex:none}
.mapa{width:100%;height:440px;border:0;border-radius:28px;filter:grayscale(.35) sepia(.12)}

/* ---------- stopka ---------- */
.stopka{background:#182117;color:#FBF6EC;padding:80px 0 0;--linia:rgba(251,246,236,.16)}
.stopka__in{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:52px}
.stopka img.logo{height:56px;width:auto;margin-bottom:20px}
.stopka h4{font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;color:#E0A465;margin:0 0 20px}
.stopka ul{list-style:none;padding:0;margin:0}
.stopka li{margin-bottom:11px}
.stopka a{text-decoration:none;font-size:15px;opacity:.8;transition:.3s}
.stopka a:hover{opacity:1;color:#E0A465}
.stopka p{font-size:14.5px;opacity:.7;margin:0 0 8px;max-width:34ch}
.social{display:flex;gap:14px;margin-bottom:26px}
.social a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
 background:rgba(251,246,236,.1);color:#FBF6EC;opacity:1;transition:.35s}
.social a:hover{background:#C4762F;color:#fff;transform:translateY(-4px)}
.stopka__belka{margin-top:64px;border-top:1px solid var(--linia);padding:24px 0;
 display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;opacity:.6}

.pasek-mob{display:none}
.wejscie{opacity:0;transform:translateY(30px);transition:opacity 1s ease,transform 1s ease}
.wejscie.jest{opacity:1;transform:none}

/* ---------- RWD ---------- */
@media(max-width:1000px){
 .uslugi{grid-template-columns:repeat(2,1fr)}
 .o-mnie,.kontakt-siatka,.strefa,.cta-blok,.dwie-kolumny{grid-template-columns:1fr;gap:44px}
 .strefa--odwrot .strefa__tresc{order:0}
 .stopka__in{grid-template-columns:1fr 1fr}
 .gora__in{height:62px;gap:16px}
 .menu--glowne{display:none}
 .gora__cta{display:none}
 .burger{display:block;margin-left:auto}
 .menu.otwarte{display:flex;position:fixed;inset:0;background:#182117;flex-direction:column;
  justify-content:center;align-items:center;gap:30px;z-index:95;margin:0;padding:0}
 .menu.otwarte a{font-size:17px;opacity:1}
 .sekcja{padding:80px 0}
 .znak-wodny{width:320px!important}
 .hero__znak{display:none}
 .uslugi>*:nth-child(3n+2),.uslugi>*:nth-child(3n+3){margin-top:0}
 .cta-pas{padding:88px 24px}
}
@media(max-width:640px){
 body{font-size:16px}
 .uslugi{grid-template-columns:1fr;gap:20px}
 .uslugi__pole{aspect-ratio:4/3.2}
 .stopka__in{grid-template-columns:1fr}
 .dwie-kolumny{gap:34px}
 .poz{grid-template-columns:1fr}
 .poz__cena{margin-top:6px}
 .hero__prz{flex-direction:column}
 .hero__prz .btn{width:100%;text-align:center}
 .hero__tresc{max-width:none;padding-left:22px}
 .hero__in{padding:130px 22px 110px}
 .pasek-mob{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:rgba(24,33,23,.97);backdrop-filter:blur(8px)}
 .pasek-mob a{flex:1;text-align:center;padding:16px 6px;text-decoration:none;color:#FBF6EC;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase}
 .pasek-mob a+a{background:#C4762F}
 .stopka__belka{padding-bottom:84px}
 .sekcja{padding:64px 0}
 .znak-wodny{display:none}
 .uslugi__znak{display:block}
 .o-mnie__foto .medalion{right:0;bottom:-20px}
}
@media(prefers-reduced-motion:reduce){
 *{animation:none!important;transition-duration:.01ms!important}
 .wejscie,.wjazd{opacity:1;transform:none}
 .hero__slajd{transition:none}
}

/* ==========================================================================
   Dodatki dla WordPressa
   ========================================================================== */

/* pasek administracyjny przesuwa przyklejony nagłówek */
.admin-bar .gora{top:32px}
@media screen and (max-width:782px){.admin-bar .gora{top:46px}}

/* treść stron tworzonych ręcznie w kokpicie */
.tresc-wp{max-width:820px;margin:0 auto}
.tresc-wp h2{font-size:34px;margin:38px 0 14px}
.tresc-wp h3{font-size:26px;margin:30px 0 12px}
.tresc-wp ul,.tresc-wp ol{padding-left:22px}
.tresc-wp li{margin-bottom:8px}
.tresc-wp img{border-radius:22px;margin:24px 0}
.tresc-wp a{color:#C4762F}

/* komunikat po wysłaniu formularza */
.form-status{padding:16px 24px;border-radius:999px;font-size:14.5px;margin:0}
.form-status--ok{background:rgba(139,155,124,.22);border:1px solid rgba(139,155,124,.6)}
.form-status--err{background:rgba(196,118,47,.14);border:1px solid #C4762F}

/* pole pułapka na roboty, ukryte przed człowiekiem, widoczne dla czytnika ekranu */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* baner cookies */
.cookie-notice{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;z-index:120;
 width:min(720px,calc(100% - 32px));background:#182117;color:#FBF6EC;
 border:1px solid rgba(251,246,236,.2);border-radius:26px;padding:24px 28px;
 display:flex;gap:22px;align-items:center;flex-wrap:wrap;
 box-shadow:0 24px 60px rgba(24,33,23,.34)}
.cookie-notice[hidden]{display:none}
.cookie-notice strong{display:block;font-family:'Cormorant Garamond',serif;font-size:22px;
 font-weight:400;margin-bottom:6px}
.cookie-notice p{margin:0 0 8px;font-size:14px;opacity:.85}
.cookie-notice a{font-size:13px;color:#E0A465}
.cookie-notice-copy{flex:1;min-width:240px}
.cookie-accept{background:#C4762F;color:#fff;border:0;border-radius:999px;
 padding:14px 32px;font-family:inherit;font-size:11px;letter-spacing:.26em;
 text-transform:uppercase;cursor:pointer;transition:.3s}
.cookie-accept:hover{background:#E0A465;color:#182117}
@media(max-width:600px){.cookie-notice{bottom:76px;padding:20px 22px}}

/* strona błędu 404 */
.blad{text-align:center;padding:150px 0 110px}

.zrodlo-zdjecia{max-width:720px;margin:0 auto 24px;text-align:center;font-size:14px;color:var(--muted)}

/* dostępność: widoczny obrys przy nawigacji klawiaturą */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,summary:focus-visible{
 outline:2px solid #C4762F;outline-offset:3px}

/* odnośnik pomijający nawigację */
.pomin{position:absolute;left:-9999px;top:0;background:#182117;color:#FBF6EC;
 padding:14px 24px;z-index:200;border-radius:0 0 16px 0}
.pomin:focus{left:0}
