/*
Theme Name: Salon Optyczny Starter
Author: Patrycja Web Studio
Description: Motyw dla Centrum Optometrii i Okulistyki. Beż, zgaszona zieleń i terakota. Przygotowany pod własne zdjęcia, promocje, opinie Google i zewnętrzny system rezerwacji.
Version: 1.75
Text Domain: salon-optyczny
*/
:root{
  --cream:#f6f1e8; --paper:#fffdf9; --green:#68745f; --green-dark:#445044;
  --terracotta:#b9795f; --ink:#2f302c; --muted:#77756f; --line:#ded7cc;
  --radius:22px; --shadow:0 18px 50px rgba(49,46,39,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;border-radius:var(--radius)}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{font-size:1.15rem;font-weight:800;letter-spacing:.04em}
.custom-logo{max-height:54px;width:auto;border-radius:0}
.menu{display:flex;gap:24px;list-style:none;margin:0;padding:0;align-items:center}
.menu a:hover{color:var(--terracotta)}
.menu-toggle{display:none;border:0;background:transparent;font-size:1.5rem}
.hero{background:linear-gradient(120deg,var(--cream),#edf0e7);padding:90px 0}
.hero-grid,.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--terracotta);font-weight:700}
h1,h2,h3{line-height:1.12;margin:0 0 18px;font-family:Georgia,serif}
h1{font-size:clamp(2.8rem,6vw,5.4rem);font-weight:500}
h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:500}
h3{font-size:1.35rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:650px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;padding:13px 21px;border-radius:999px;background:var(--green-dark);color:#fff;font-weight:700}
.btn.alt{background:transparent;color:var(--green-dark);border:1px solid var(--green-dark)}
section{padding:88px 0}
.soft{background:var(--cream)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:35px}
.card{background:#fff;border:1px solid var(--line);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow)}
.card .num{color:var(--terracotta);font-weight:800}
.promo{background:var(--green-dark);color:#fff;border-radius:30px;padding:48px}
.promo p{color:#e9e8e2}
.booking-box{border:1px dashed var(--green);background:#fff;padding:38px;border-radius:var(--radius);text-align:center;margin-top:30px}
.booking-placeholder{padding:35px;background:var(--cream);border-radius:18px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.ph{min-height:260px;background:linear-gradient(145deg,#e9e2d8,#d9dfd1);border-radius:var(--radius);display:grid;place-items:center;color:#6e7069;text-align:center;padding:20px}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.stars{color:var(--terracotta);letter-spacing:.12em}
.cta{text-align:center;background:#e6eadf;border-radius:30px;padding:55px}
.site-footer{background:#30362f;color:#f5f1e9;padding:55px 0 25px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.footer-small{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:20px;color:#c8c9c4;font-size:.9rem}
@media(max-width:850px){
 .hero-grid,.two-col,.footer-grid{grid-template-columns:1fr}
 .cards{grid-template-columns:1fr 1fr}.reviews,.gallery{grid-template-columns:1fr}
 .menu-toggle{display:block}.main-nav{display:none}.main-nav.open{display:block;position:absolute;left:0;right:0;top:78px;background:var(--paper);padding:20px}
 .main-nav.open .menu{flex-direction:column;align-items:flex-start}.hero{padding:65px 0}
}
@media(max-width:520px){.cards{grid-template-columns:1fr}.wrap{width:min(100% - 28px,1180px)}section{padding:65px 0}}

.gallery-large{grid-template-columns:repeat(3,1fr)}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
.video-placeholder{min-height:330px;border-radius:var(--radius);background:linear-gradient(145deg,#dfe4d8,#eee4d9);display:grid;place-items:center;text-align:center;font-size:3rem;color:var(--green-dark);padding:30px}
.video-placeholder span{font-size:1rem;color:var(--muted)}
@media(max-width:850px){.gallery-large,.video-grid{grid-template-columns:1fr}}


/* v5 — dopracowane detale i typografia */
body{font-size:17px}
.eyebrow{
  font-size:.9rem;
  letter-spacing:.13em;
  line-height:1.4;
  margin-bottom:12px;
}
.card p,.promo p,.booking-placeholder,.footer-grid p{font-size:1rem}
.card .num{font-size:.95rem;letter-spacing:.08em}
.btn{font-size:1rem}
.site-footer{padding:60px 0 24px}
.site-footer h3{font-size:1.55rem;margin-bottom:14px}
.footer-grid strong{display:block;font-size:1.05rem;margin-bottom:12px}
.footer-links{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:18px;font-size:.98rem}
.footer-links a{transition:opacity .2s ease}
.footer-links a:hover{opacity:.7}
.footer-small{
  border-top:0 !important;
  margin-top:42px;
  padding-top:0;
  text-align:center;
  color:#d8d9d4;
  font-size:.95rem;
}
.ph{font-size:1rem}
@media(max-width:850px){
  body{font-size:16px}
  .eyebrow{font-size:.86rem}
  .footer-small{margin-top:32px}
}


/* v6 — elegantsze menu i większe, wyśrodkowane przyciski */
.main-nav .menu{
  gap:30px;
}
.main-nav .menu a{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.08rem;
  font-weight:600;
  letter-spacing:.025em;
  line-height:1.2;
  transition:color .2s ease, opacity .2s ease;
}
.main-nav .menu a:hover{
  color:var(--terracotta);
}

.actions{
  width:100%;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin-top:34px;
}
.btn{
  min-width:190px;
  padding:16px 30px;
  font-size:1.08rem;
  line-height:1.2;
  text-align:center;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Pojedyncze przyciski również ustawiamy centralnie w sekcjach */
.promo > .btn,
.cta > .btn{
  display:flex;
  width:max-content;
  margin:30px auto 0;
}

/* Hero: zgodnie z życzeniem przyciski również na środku */
.hero .actions{
  justify-content:center;
}

@media(max-width:850px){
  .main-nav .menu a{font-size:1.12rem}
  .btn{min-width:210px;padding:16px 28px}
}
@media(max-width:520px){
  .actions{flex-direction:column}
  .btn{width:min(100%,310px);min-width:0}
  .promo > .btn,.cta > .btn{width:min(100%,310px)}
}


/* v8 — więcej przestrzeni w górnym pasku i menu */
.site-header .wrap{
  width:min(1380px,calc(100% - 48px));
}
.header-inner{
  min-height:96px;
  gap:42px;
}
.brand{
  flex:0 0 auto;
}
.main-nav{
  margin-left:auto;
}
.main-nav .menu{
  gap:36px;
  flex-wrap:nowrap;
}
.main-nav .menu a{
  font-size:1.08rem;
  letter-spacing:.035em;
  white-space:nowrap;
  padding:10px 0;
}

@media(max-width:1100px){
  .site-header .wrap{width:min(100% - 32px,1380px)}
  .main-nav .menu{gap:22px}
  .main-nav .menu a{font-size:1rem}
}
@media(max-width:850px){
  .header-inner{min-height:84px}
  .main-nav{margin-left:0}
  .main-nav.open{top:84px}
  .main-nav.open .menu{gap:8px}
  .main-nav .menu a{font-size:1.12rem;padding:10px 0}
}


/* POPRAWKA NAGŁÓWKA — większa wysokość paska z logo i menu */
.site-header .header-inner,
.header-inner{
    min-height: 130px !important;
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    align-items: center !important;
}

.site-header{
    min-height: 130px;
}

.site-header .brand,
.site-header .main-nav{
    align-self: center;
}

@media (max-width: 850px){
    .site-header,
    .site-header .header-inner,
    .header-inner{
        min-height: 96px !important;
    }

    .site-header .header-inner,
    .header-inner{
        padding-top: 14px !important;
        padding-bottom: 14px !important;
    }

    .main-nav.open{
        top: 96px !important;
    }
}


/* POPRAWKA MENU — litery mniej "przyklepane", bardziej lekkie i czytelne */
.site-header .main-nav .menu a{
    font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
    font-size: 1.12rem !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0.01em !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

@media (max-width: 1100px){
    .site-header .main-nav .menu a{
        font-size: 1.06rem !important;
        line-height: 1.5 !important;
    }
}

@media (max-width: 850px){
    .site-header .main-nav .menu a{
        font-size: 1.12rem !important;
        line-height: 1.55 !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}


/* WIĘKSZE MAŁE NAGŁÓWKI SEKCJI:
   "Nowy salon optyczny", "Poznajmy się", "Oferta", "Aktualności",
   "Rezerwacja", "Nasz salon", "Opinie Google", "Kontakt" itd. */
.eyebrow{
    font-size: 1.12rem !important;
    line-height: 1.5 !important;
    letter-spacing: 0.11em !important;
    font-weight: 700 !important;
    margin-bottom: 16px !important;
}

.hero .eyebrow{
    font-size: 1.18rem !important;
}

@media (max-width: 850px){
    .eyebrow,
    .hero .eyebrow{
        font-size: 1.02rem !important;
        line-height: 1.45 !important;
    }
}


/* KAFELKI OFERTY — bez numeracji, większe nazwy usług */
.cards .card h3{
    font-size: 1.55rem !important;
    line-height: 1.2 !important;
    margin-bottom: 18px !important;
}
.cards .card{
    padding: 34px 30px !important;
}
.cards .card p{
    margin-bottom: 0;
    line-height: 1.65;
}


/* LOGO / NAZWA SALONU W GÓRNYM PASKU — elegantsza typografia */
.site-header .brand{
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 1.65rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.075em !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    color: var(--green-dark) !important;
}

.site-header .brand:hover{
    color: var(--terracotta) !important;
}

@media(max-width:850px){
    .site-header .brand{
        font-size: 1.4rem !important;
        letter-spacing: 0.055em !important;
    }
}


/* WIĘKSZE PRZYCISKI NA KOMPUTERZE */
@media (min-width: 851px){
    .btn{
        min-width: 230px !important;
        min-height: 58px !important;
        padding: 18px 36px !important;
        font-size: 1.15rem !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
    }

    .actions{
        gap: 20px !important;
        margin-top: 38px !important;
    }

    .promo > .btn,
    .cta > .btn{
        min-width: 240px !important;
        padding-left: 38px !important;
        padding-right: 38px !important;
    }
}


/* SALON OPTYCZNY — czarny i pogrubiony */
.site-header .brand{
    color:#111111 !important;
    font-weight:700 !important;
}
.site-header .brand:hover{
    color:#111111 !important;
}


/* v10 — dynamiczne zdjęcia, filmy, mapa i edytowalne sekcje */
.media-frame{
  width:100%;
  min-height:300px;
  border-radius:var(--radius);
  overflow:hidden;
}
.salon-media{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  display:block;
  border-radius:var(--radius);
}
.video-embed,
.video-home,
.video-card{
  width:100%;
}
.video-embed iframe,
.video-card iframe,
.video-home iframe{
  width:100%;
  min-height:340px;
  border:0;
  border-radius:var(--radius);
}
.video-card video,
.video-home video{
  width:100%;
  border-radius:var(--radius);
}
.promo-flex{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:34px;
  align-items:center;
}
.promo-image{
  width:100%;
  max-height:320px;
  object-fit:cover;
  border-radius:20px;
}
.promo-page-image{
  margin-top:32px;
}
.map-frame{
  overflow:hidden;
  border-radius:var(--radius);
}
.map-frame iframe{
  width:100%;
  min-height:360px;
  border:0;
  border-radius:var(--radius);
}
@media(max-width:850px){
  .promo-flex{grid-template-columns:1fr}
  .video-embed iframe,.video-card iframe,.video-home iframe{min-height:240px}
}


/* v12 — elastyczna liczba filmów w „Zajrzyj do nas” */
.video-grid{
  display:grid;
  gap:24px;
  margin-top:32px;
  align-items:start;
}
.video-grid.one-video{
  grid-template-columns:minmax(0,760px);
  justify-content:center;
}
.video-grid.two-videos{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.video-grid.many-videos{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.video-card{
  width:100%;
}
.video-card iframe,
.video-card video{
  width:100%;
  aspect-ratio:16/9;
  min-height:0 !important;
  object-fit:cover;
  border-radius:var(--radius);
}
@media(max-width:1100px){
  .video-grid.many-videos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .video-grid.one-video,
  .video-grid.two-videos,
  .video-grid.many-videos{
    grid-template-columns:1fr;
  }
}


/* v13 — jeden film DOKŁADNIE na środku sekcji */
.video-grid.one-video{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    grid-template-columns:none !important;
}

.video-grid.one-video .video-card{
    width:min(760px, 100%) !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    flex:0 1 760px !important;
}

.video-grid.one-video .video-card iframe,
.video-grid.one-video .video-card video,
.video-grid.one-video .video-card .video-embed{
    display:block !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

@media(max-width:850px){
    .video-grid.one-video .video-card{
        width:100% !important;
        max-width:100% !important;
        flex-basis:100% !important;
    }
}


/* v14 — większy kontrast przycisków względem tła */
.btn{
    background:#445044 !important;
    color:#ffffff !important;
    border:2px solid #445044 !important;
    box-shadow:0 7px 18px rgba(47,48,44,.12);
}
.btn:hover{
    background:#2f302c !important;
    border-color:#2f302c !important;
    color:#ffffff !important;
    transform:translateY(-1px);
}

/* Drugi wariant nie jest już przezroczysty — dzięki temu nie zlewa się
   z kremowym, białym ani zielonkawym tłem sekcji. */
.btn.alt{
    background:#b9795f !important;
    color:#ffffff !important;
    border:2px solid #b9795f !important;
}
.btn.alt:hover{
    background:#9f624c !important;
    border-color:#9f624c !important;
    color:#ffffff !important;
}

/* Na ciemnozielonej sekcji promocji dajemy jasny przycisk. */
.promo .btn,
.promo .btn.alt{
    background:#fffdf9 !important;
    color:#2f302c !important;
    border-color:#fffdf9 !important;
}
.promo .btn:hover,
.promo .btn.alt:hover{
    background:#f6f1e8 !important;
    color:#2f302c !important;
    border-color:#f6f1e8 !important;
}

/* Na jasnozielonym CTA terakota mocniej odcina się od tła. */
.cta .btn.alt{
    background:#b9795f !important;
    border-color:#b9795f !important;
    color:#ffffff !important;
}


/* v15 — układ strony głównej */

/* Domyślnie treści i przyciski na stronie głównej do lewej */
.home-hero .actions,
.home-promo-section .promo-action,
.home-hero .actions,
.home-promo-section .actions{
    justify-content:flex-start !important;
    text-align:left !important;
}

.home-hero .actions .btn,
.home-promo-section .btn{
    margin-left:0 !important;
    margin-right:0 !important;
}

/* Te wskazane CTA zostają wyśrodkowane */
.home-offer .actions,
.home-gallery .actions,
.home-contact-cta .actions{
    justify-content:center !important;
    text-align:center !important;
}

/* Sekcja promocji — lżejsza, bardziej elegancka, bez wielkiej ciemnej bryły */
.home-promo-section{
    padding-top:74px;
    padding-bottom:74px;
}
.home-promo-card{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);
    align-items:stretch;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:28px;
    background:#f4eee5;
    box-shadow:var(--shadow);
}
.home-promo-content{
    padding:54px 56px;
    text-align:left;
}
.home-promo-content h2{
    color:var(--ink);
    margin-bottom:18px;
}
.home-promo-content .eyebrow{
    color:var(--terracotta);
}
.home-promo-content .lead{
    color:#5f5e58;
    max-width:650px;
    margin-bottom:0;
}
.home-promo-content .promo-action{
    margin-top:30px;
    display:flex;
    justify-content:flex-start;
}
.home-promo-content .btn{
    background:var(--terracotta) !important;
    border-color:var(--terracotta) !important;
    color:#fff !important;
}
.home-promo-content .btn:hover{
    background:#9f624c !important;
    border-color:#9f624c !important;
}
.home-promo-media{
    min-height:100%;
}
.home-promo-media img{
    width:100%;
    height:100%;
    min-height:320px;
    object-fit:cover;
    border-radius:0;
}
.home-promo-accent{
    min-height:320px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:30px;
    background:linear-gradient(145deg,#66745f,#445044);
}
.home-promo-accent span{
    font-family:Georgia,"Times New Roman",serif;
    font-size:2rem;
    color:#fff;
    letter-spacing:.03em;
}

/* Na głównej drobne wyrównanie tekstów w sekcjach */
.home-offer > .wrap,
.home-gallery > .wrap{
    text-align:left;
}
.home-offer .actions,
.home-gallery .actions{
    width:100%;
}

@media(max-width:850px){
    .home-promo-card{grid-template-columns:1fr}
    .home-promo-content{padding:38px 28px}
    .home-promo-accent{min-height:180px}
    .home-promo-media img{min-height:220px}
}


/* v16 — przyciski w tych sekcjach strony głównej mają być przy lewej krawędzi treści */

/* HERO: Umów wizytę + Poznaj nas */
.home-hero .actions{
    justify-content:flex-start !important;
    align-items:flex-start !important;
    text-align:left !important;
}
.home-hero .actions .btn{
    margin-left:0 !important;
    margin-right:0 !important;
}

/* POZNAJMY SIĘ: Dowiedz się więcej */
.home-hero + section .actions{
    justify-content:flex-start !important;
    align-items:flex-start !important;
    text-align:left !important;
}
.home-hero + section .actions .btn{
    margin-left:0 !important;
    margin-right:0 !important;
}

/* REZERWACJA: Przejdź do kalendarza */
.home-promo-section + .soft .actions{
    justify-content:flex-start !important;
    align-items:flex-start !important;
    text-align:left !important;
}
.home-promo-section + .soft .actions .btn{
    margin-left:0 !important;
    margin-right:0 !important;
}

/* Na desktopie nie pozwalamy ogólnej regule .actions wycentrować tych trzech sekcji */
@media(min-width:851px){
    .home-hero .actions,
    .home-hero + section .actions,
    .home-promo-section + .soft .actions{
        width:100% !important;
        display:flex !important;
        justify-content:flex-start !important;
    }
}


/* v17 — Promocje jako osobne wpisy */
.promotions-heading{
  max-width:820px;
}
.promotions-page{
  padding-top:70px;
}
.promotion-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.promotion-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  min-height:100%;
  transition:transform .2s ease, box-shadow .2s ease;
}
.promotion-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 55px rgba(49,46,39,.12);
}
.promotion-card-media{
  aspect-ratio:16/10;
  overflow:hidden;
  background:#ede7dd;
}
.promotion-card-image{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:0 !important;
  transition:transform .35s ease;
}
.promotion-card:hover .promotion-card-image{
  transform:scale(1.025);
}
.promotion-card-placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#68745f,#445044);
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.45rem;
  letter-spacing:.08em;
}
.promotion-card-body{
  padding:28px 28px 30px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.promotion-card-label{
  color:var(--terracotta);
  font-size:.9rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:12px;
}
.promotion-card h2{
  font-size:1.75rem;
  margin-bottom:14px;
}
.promotion-card-text{
  color:var(--muted);
  margin-bottom:24px;
}
.promotion-card-text p{
  margin-top:0;
}
.promotion-card-button{
  margin-top:auto !important;
  margin-left:0 !important;
  margin-right:0 !important;
  align-self:flex-start;
  min-width:180px !important;
}
.promotions-empty{
  padding:60px 40px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:28px;
  text-align:center;
}
.promotions-empty h2{
  margin-bottom:12px;
}

@media(max-width:1050px){
  .promotion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .promotion-grid{grid-template-columns:1fr}
  .promotion-card-body{padding:24px}
}


/* v18 — klikalne kafelki promocji + szczegóły promocji + 3 promocje na głównej */
.promotion-card-clickable{
  position:relative;
  cursor:pointer;
}
.promotion-card-link{
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:26px;
}
.promotion-card-clickable:hover .promotion-more{
  color:var(--terracotta);
}
.promotion-more{
  margin-top:auto;
  padding-top:8px;
  font-weight:700;
  color:var(--green-dark);
  transition:color .2s ease;
}
.promotion-card h3{
  font-size:1.55rem;
  margin-bottom:14px;
}
.home-promo-section{
  padding-top:82px;
  padding-bottom:82px;
}
.home-promo-intro{
  margin-bottom:34px;
}
.home-promotion-grid{
  margin-top:0;
}
.home-promotions-actions{
  justify-content:center !important;
  margin-top:38px !important;
}

/* Szczegóły pojedynczej promocji */
.promotion-single-hero{
  padding-top:72px;
  padding-bottom:88px;
}
.promotion-back{
  display:inline-block;
  margin-bottom:34px;
  font-weight:700;
  color:var(--green-dark);
}
.promotion-single-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.promotion-single-content h1{
  font-size:clamp(2.6rem,5vw,4.8rem);
  margin-bottom:22px;
}
.promotion-single-text{
  font-size:1.08rem;
  line-height:1.75;
  color:var(--ink);
  margin-top:26px;
}
.promotion-single-text p{
  margin:0 0 18px;
}
.promotion-single-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-top:34px;
  justify-content:flex-start;
}
.promotion-single-actions .btn{
  margin-left:0 !important;
  margin-right:0 !important;
}
.promotion-single-media{
  min-height:420px;
}
.promotion-single-image{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  border-radius:28px;
  box-shadow:var(--shadow);
}
.promotion-single-placeholder{
  min-height:420px;
  border-radius:28px;
}

@media(max-width:850px){
  .promotion-single-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .promotion-single-media,
  .promotion-single-image,
  .promotion-single-placeholder{
    min-height:280px;
  }
}


/* v19 — przycisk „Zobacz wszystkie promocje” dokładnie na środku */
.home-promotions-actions{
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    margin-top:42px !important;
}
.home-promotions-actions .btn{
    margin-left:auto !important;
    margin-right:auto !important;
}


/* v20 — wejście do promocji działa przez /promocje/?promo=ID,
   niezależnie od konfiguracji permalinków na hostingu */
.promotion-card-link{
    display:block !important;
}
.home-promotions-actions{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    width:100% !important;
}
.home-promotions-actions .btn{
    margin-left:auto !important;
    margin-right:auto !important;
}


/* v21 — nagłówek strony Promocje wyrównany do lewej jak pozostałe sekcje */
.promotions-hero .promotions-heading{
    max-width:none !important;
    width:min(1180px, calc(100% - 40px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
}
.promotions-hero .promotions-heading .eyebrow,
.promotions-hero .promotions-heading h1,
.promotions-hero .promotions-heading .lead{
    text-align:left !important;
    margin-left:0 !important;
    margin-right:0 !important;
}
.promotions-hero .promotions-heading .lead{
    max-width:760px;
}

@media(max-width:520px){
    .promotions-hero .promotions-heading{
        width:min(100% - 28px,1180px) !important;
    }
}


/* v24 — Google Calendar / strona „Umów wizytę” */
.booking-page{
  padding-top:78px;
  padding-bottom:96px;
}
.booking-heading{
  max-width:760px;
  margin-bottom:42px;
  text-align:left;
}
.booking-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:34px;
  align-items:start;
}
.booking-info{
  padding:38px 12px 20px 0;
}
.booking-kicker,
.booking-calendar-label{
  display:block;
  color:var(--terracotta);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:.9rem;
  font-weight:700;
  margin-bottom:12px;
}
.booking-info h2{
  font-size:clamp(2rem,3.5vw,3.2rem);
  margin-bottom:20px;
}
.booking-info > p{
  color:var(--muted);
  font-size:1.05rem;
  max-width:520px;
}
.booking-details{
  display:grid;
  gap:14px;
  margin-top:32px;
}
.booking-detail{
  padding:17px 18px;
  border-left:3px solid var(--terracotta);
  background:rgba(255,255,255,.62);
  border-radius:0 14px 14px 0;
}
.booking-detail strong{
  display:block;
  margin-bottom:2px;
  color:var(--green-dark);
}
.booking-detail span{
  color:var(--muted);
  font-size:.95rem;
}
.booking-detail a{
  text-decoration:underline;
  text-underline-offset:3px;
}

.booking-calendar-card{
  background:#fffdf9;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 22px 58px rgba(49,46,39,.10);
}
.booking-calendar-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:26px 30px 22px;
  border-bottom:1px solid #e8e0d5;
  background:linear-gradient(135deg,#fffdf9,#f3eee5);
}
.booking-calendar-top h3{
  margin:0;
  font-size:1.45rem;
}
.booking-calendar-label{
  margin-bottom:5px;
  font-size:.78rem;
}
.booking-calendar-dot{
  width:15px;
  height:15px;
  border-radius:50%;
  background:var(--terracotta);
  box-shadow:0 0 0 7px rgba(185,121,95,.13);
  flex:0 0 auto;
}
.booking-calendar-content{
  padding:18px;
}

/* Możemy stylować ramkę wokół Google Calendar.
   Wnętrze iframe jest po stronie Google i CSS motywu nie może go nadpisać. */
.google-calendar-frame{
  position:relative;
  width:100%;
  min-height:680px;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
}
.google-calendar-frame iframe{
  display:block !important;
  width:100% !important;
  height:680px !important;
  min-height:680px !important;
  border:0 !important;
  border-radius:18px !important;
  background:#fff;
}
.google-calendar-linkbox{
  min-height:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 30px;
  border-radius:18px;
  background:linear-gradient(145deg,#f7f1e8,#edf0e7);
}
.calendar-icon{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:22px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  color:var(--terracotta);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.7rem;
  font-weight:700;
}
.google-calendar-linkbox h3{
  font-size:1.8rem;
  margin-bottom:10px;
}
.google-calendar-linkbox p{
  max-width:480px;
  color:var(--muted);
  margin:0 0 25px;
}
.google-calendar-button{
  margin-left:auto !important;
  margin-right:auto !important;
}
.booking-calendar-content .booking-placeholder{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border:0;
}

@media(max-width:980px){
  .booking-layout{
    grid-template-columns:1fr;
  }
  .booking-info{
    padding-right:0;
  }
}
@media(max-width:680px){
  .booking-page{
    padding-top:58px;
    padding-bottom:72px;
  }
  .booking-calendar-top{
    padding:22px 20px 18px;
  }
  .booking-calendar-content{
    padding:10px;
  }
  .google-calendar-frame,
  .google-calendar-frame iframe{
    min-height:600px !important;
    height:600px !important;
  }
}


/* =========================================================
   v40 — MODERN BOUTIQUE / CZYSTY, NOWOCZESNY WYGLĄD
   ========================================================= */
:root{
  --paper:#fbfaf7;
  --cream:#f4efe7;
  --green:#667462;
  --green-dark:#354238;
  --terracotta:#bf7659;
  --ink:#22251f;
  --muted:#6f716b;
  --line:#e4ded5;
  --radius:18px;
  --radius-lg:26px;
  --shadow-soft:0 14px 36px rgba(41,45,39,.055);
}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
.wrap{width:min(1220px,calc(100% - 48px))}
section{padding:84px 0}

h1,h2,h3{
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ink);
  letter-spacing:-.028em;
}
h1{font-size:clamp(3.2rem,6vw,5.9rem);line-height:.98;font-weight:500}
h2{font-size:clamp(2.35rem,4.4vw,4rem);line-height:1.02;font-weight:500}
h3{font-size:1.45rem;line-height:1.15}
.lead{
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.75;
}
.eyebrow{
  color:var(--terracotta);
  font-size:.77rem;
  font-weight:800;
  letter-spacing:.17em;
  margin-bottom:14px;
}

/* HEADER */
.site-header{
  background:rgba(251,250,247,.92);
  border-bottom:1px solid rgba(70,75,68,.09);
  backdrop-filter:blur(18px);
}
.site-header .wrap{width:min(1380px,calc(100% - 48px))}
.header-inner{min-height:88px !important}
.brand{
  color:#151813 !important;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:700 !important;
  letter-spacing:.015em;
}
.main-nav .menu{gap:26px !important}
.main-nav .menu a{
  font-family:"Segoe UI",Arial,sans-serif !important;
  font-size:.95rem !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  color:#444a42;
}
.main-nav .menu a:hover{color:var(--terracotta)}

/* BUTTONS */
.btn{
  min-width:0 !important;
  min-height:48px !important;
  padding:13px 24px !important;
  border-radius:10px !important;
  border:1px solid var(--green-dark) !important;
  background:var(--green-dark) !important;
  color:#fff !important;
  font-size:.96rem !important;
  font-weight:700;
  box-shadow:none !important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.btn:hover{
  transform:translateY(-1px);
  background:#29352c !important;
  border-color:#29352c !important;
}
.btn.alt{
  background:transparent !important;
  color:var(--green-dark) !important;
  border-color:#aeb6aa !important;
}
.btn.alt:hover{
  background:#eef1eb !important;
  color:var(--green-dark) !important;
}
.actions{gap:12px;margin-top:28px}

/* HERO */
.home-hero{
  padding:86px 0 92px;
  background:
    radial-gradient(circle at 88% 15%,rgba(191,118,89,.10),transparent 28%),
    linear-gradient(135deg,#f7f2ea 0%,#eef2eb 100%);
}
.home-hero .hero-grid{
  gap:72px;
  align-items:center;
}
.home-hero h1{max-width:720px}
.home-hero .lead{max-width:620px;margin-top:22px}
.home-hero .actions{justify-content:flex-start !important}
.home-hero .media-frame{
  min-height:480px;
  padding:0 !important;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  background:#ebe7df;
  box-shadow:var(--shadow-soft);
}
.home-hero .media-frame img,
.home-hero .media-frame video,
.home-hero .media-frame iframe,
.home-hero .media-frame .ph{
  width:100%;
  min-height:480px;
  height:100%;
  object-fit:cover;
  border:0;
  border-radius:var(--radius-lg);
}

/* ABOUT */
.home-about{
  background:#fff;
}
.home-about .two-col{gap:72px}
.home-about .media-frame{
  overflow:hidden;
  border-radius:22px;
  border:1px solid var(--line);
  box-shadow:none;
}
.home-about .media-frame img,
.home-about .media-frame .ph{
  min-height:390px;
  width:100%;
  object-fit:cover;
  border-radius:22px;
}
.home-about .actions{justify-content:flex-start !important}

/* OFFER */
.home-offer{
  background:#f4efe7 !important;
}
.cards{
  gap:16px !important;
  margin-top:34px !important;
}
.card{
  position:relative;
  min-height:205px;
  padding:26px 24px !important;
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.75) !important;
  box-shadow:none !important;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.card:hover{
  transform:translateY(-3px);
  border-color:#d4cdc2 !important;
  background:#fff !important;
}
.card::before{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-bottom:18px;
  background:var(--terracotta);
}
.card h3{font-size:1.25rem;margin-bottom:12px}
.card p{font-size:.94rem;color:#5f625d;line-height:1.65}
.home-offer .actions{justify-content:center !important}

/* PROMOTIONS */
.home-promo-section{
  background:#fff;
}
.home-promo-intro{margin-bottom:30px}
.promotion-grid{gap:20px !important}
.promotion-card{
  overflow:hidden;
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:none !important;
  transition:transform .18s ease,box-shadow .18s ease;
}
.promotion-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-soft) !important;
}
.promotion-card-media{
  overflow:hidden;
  background:#f3eee7 !important;
}
.promotion-card-image{
  display:block;
  width:100%;
  height:235px !important;
  object-fit:cover;
  border-radius:0 !important;
  transition:transform .28s ease;
}
.promotion-card:hover .promotion-card-image{transform:scale(1.02)}
.promotion-card-body{padding:24px !important}
.promotion-card-label{
  color:var(--terracotta);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
  font-weight:800;
}
.promotion-more{font-size:.92rem}

/* BOOKING HOME */
.home-booking{
  background:#f8f5ef;
}
.home-booking-card{
  padding:50px 54px !important;
  border:1px solid var(--line) !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 88% 18%,rgba(102,116,98,.08),transparent 32%),
    #fffdf9 !important;
  box-shadow:none !important;
}
.calendar-art{
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(40,44,38,.06) !important;
  transform:none !important;
}

/* GALLERY + REVIEWS */
.home-gallery{background:#fff}
.gallery{gap:18px !important}
.gallery .salon-media,.gallery .ph{
  border:1px solid var(--line);
  border-radius:18px !important;
  box-shadow:none !important;
}
.home-reviews{
  background:#eef2eb !important;
}
.reviews{gap:18px !important}
.reviews .card{
  min-height:170px;
  padding:25px !important;
  border:1px solid rgba(75,87,73,.13) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.72) !important;
}
.stars{font-size:.95rem}

/* CTA */
.home-contact-cta{
  background:#fff;
  padding-top:72px;
  padding-bottom:86px;
}
.home-contact-cta .cta{
  padding:54px 34px !important;
  border:1px solid var(--line);
  border-radius:22px !important;
  background:#faf7f2 !important;
  box-shadow:none !important;
}

/* CONTACT PAGE */
.contact-page{
  background:
    linear-gradient(180deg,#fbfaf7,#f6f1e9);
}
.contact-page > .wrap > h1{
  max-width:800px;
  margin-bottom:44px;
}
.contact-grid{
  grid-template-columns:.82fr 1.18fr !important;
  gap:24px !important;
  align-items:stretch !important;
}
.contact-card,
.contact-map{
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.contact-card{
  padding:34px !important;
}
.contact-card h3{
  font-size:1.9rem;
  margin-bottom:24px;
}
.contact-card p{
  color:#5e615c;
  line-height:1.9;
}
.contact-map{
  padding:10px !important;
  overflow:hidden;
}
.contact-map iframe,
.contact-map .ph{
  min-height:390px !important;
  height:100%;
  width:100%;
  border:0 !important;
  border-radius:14px !important;
  background:#edf0e8 !important;
}

/* BOOKING PAGE */
.booking-page{
  background:
    radial-gradient(circle at 90% 8%,rgba(191,118,89,.07),transparent 26%),
    #f6f1e9 !important;
}
.booking-heading{max-width:760px;margin-bottom:36px}
.booking-modern-grid{
  grid-template-columns:.78fr 1.22fr !important;
  gap:24px !important;
  align-items:stretch !important;
}
.booking-info-card{
  padding:34px !important;
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  background:#fff !important;
}
.booking-detail{
  border-left:0 !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  background:#faf8f4 !important;
}
.booking-calendar-card{
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  background:#fff !important;
  box-shadow:none !important;
}
.booking-calendar-top{
  padding:22px 24px !important;
  border-bottom:1px solid var(--line) !important;
  background:#fffdf9 !important;
}
.booking-calendar-dot{
  width:10px;height:10px;
  box-shadow:0 0 0 5px rgba(185,121,95,.10);
}
.booking-calendar-content{padding:14px !important}
.google-calendar-frame,
.google-calendar-linkbox,
.booking-calendar-content .booking-placeholder{
  border:1px solid #ece7df;
  border-radius:14px !important;
  background:#f9f8f5 !important;
  box-shadow:none !important;
}

/* FOOTER */
.site-footer{
  background:#293029 !important;
  border-top:0 !important;
  padding:58px 0 26px !important;
}
.footer-grid{gap:52px}
.site-footer h3{font-size:1.7rem}
.footer-small{
  margin-top:40px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  text-align:center;
  color:#bfc4bd;
}

/* RESPONSIVE */
@media(max-width:980px){
  .home-hero .hero-grid,
  .home-about .two-col,
  .contact-grid,
  .booking-modern-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
  .home-hero .media-frame,
  .home-hero .media-frame img,
  .home-hero .media-frame .ph{
    min-height:360px !important;
  }
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .wrap{width:min(100% - 28px,1220px)}
  section{padding:58px 0}
  h1{font-size:clamp(2.8rem,13vw,4rem)}
  h2{font-size:clamp(2.2rem,10vw,3.1rem)}
  .cards{grid-template-columns:1fr}
  .home-booking-card{padding:32px 22px !important}
  .contact-card{padding:26px !important}
  .booking-info-card{padding:26px !important}
  .btn{width:100%;justify-content:center}
}


/* v41 — placeholder kalendarza: bez brzydkich ramek */
.booking-box{
  margin-top:28px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.booking-box .booking-placeholder{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.booking-coming-soon{
  display:flex;
  align-items:center;
  gap:22px;
  width:100%;
  max-width:620px;
  min-height:132px;
  padding:24px 28px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#f8f3ec 0%,#eef2ea 100%);
  box-shadow:none;
}
.booking-coming-icon{
  position:relative;
  flex:0 0 64px;
  width:64px;
  height:64px;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(48,48,43,.055);
}
.booking-cal-top{
  position:absolute;
  left:15px;
  right:15px;
  top:17px;
  height:23px;
  border:2px solid var(--terracotta);
  border-radius:5px;
}
.booking-cal-top::before,
.booking-cal-top::after{
  content:"";
  position:absolute;
  top:-7px;
  width:2px;
  height:9px;
  border-radius:2px;
  background:var(--terracotta);
}
.booking-cal-top::before{left:8px}
.booking-cal-top::after{right:8px}
.booking-cal-dot{
  position:absolute;
  right:13px;
  bottom:12px;
  width:21px;
  height:21px;
  border-radius:50%;
  background:var(--terracotta);
  border:3px solid #fff;
}
.booking-cal-dot::before,
.booking-cal-dot::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:#fff;
  transform:translate(-50%,-50%);
  border-radius:2px;
}
.booking-cal-dot::before{width:9px;height:2px}
.booking-cal-dot::after{width:2px;height:9px}

.booking-coming-copy{
  min-width:0;
}
.booking-coming-label{
  display:block;
  margin-bottom:5px;
  color:var(--terracotta);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.7rem;
  font-weight:800;
}
.booking-coming-copy h3{
  margin:0 0 5px;
  font-size:1.45rem;
}
.booking-coming-copy p{
  margin:0;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.55;
}

@media(max-width:600px){
  .booking-coming-soon{
    align-items:flex-start;
    padding:22px;
    gap:16px;
  }
  .booking-coming-icon{
    flex-basis:54px;
    width:54px;
    height:54px;
    border-radius:15px;
  }
  .booking-cal-top{left:12px;right:12px;top:14px}
  .booking-cal-dot{right:9px;bottom:8px}
}


/* =========================================================
   v42 — elegancki podgląd rezerwacji na stronie głównej
   ========================================================= */
.booking-coming-soon{display:none !important;}

.booking-preview{
  width:100%;
  max-width:560px;
  margin-left:auto;
  padding:26px;
  border:1px solid #e3ddd4;
  border-radius:22px;
  background:rgba(255,255,255,.86);
  box-shadow:0 16px 38px rgba(43,47,41,.055);
}

.booking-preview-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid #ebe6de;
}
.booking-preview-kicker{
  display:block;
  margin-bottom:5px;
  color:var(--terracotta);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:.68rem;
  font-weight:800;
}
.booking-preview-head strong{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.35rem;
  line-height:1.2;
  color:var(--ink);
}
.booking-preview-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  padding:8px 11px;
  border-radius:999px;
  background:#eef2eb;
  color:var(--green-dark);
  font-size:.76rem;
  font-weight:700;
}
.booking-preview-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
}

.booking-preview-week,
.booking-preview-days{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.booking-preview-week{
  margin-top:20px;
  color:#94958f;
  font-size:.72rem;
  text-align:center;
}
.booking-preview-days{
  margin-top:7px;
}
.booking-preview-days span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border:1px solid #ece7df;
  border-radius:12px;
  background:#faf8f4;
  color:#555a53;
  font-weight:700;
}
.booking-preview-days .is-selected{
  border-color:var(--green-dark);
  background:var(--green-dark);
  color:#fff;
}

.booking-preview-slots{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:18px;
}
.booking-preview-slots span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border:1px solid #e7e1d8;
  border-radius:10px;
  background:#fff;
  color:#656861;
  font-size:.86rem;
  font-weight:600;
}
.booking-preview-slots .is-active{
  border-color:#d8dfd3;
  background:#eef2eb;
  color:var(--green-dark);
}

.booking-preview-note{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #ebe6de;
  color:#858780;
  font-size:.78rem;
  line-height:1.5;
}

@media(max-width:760px){
  .booking-preview{
    max-width:none;
    margin-left:0;
    padding:20px;
    border-radius:18px;
  }
  .booking-preview-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .booking-preview-status{
    align-self:flex-start;
  }
  .booking-preview-slots{
    grid-template-columns:1fr;
  }
}


/* v43 — wszystkie przyciski w spójnej zieleni */
.btn,
.btn.alt,
button.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
button[type="submit"],
a.button,
button.button{
  background:var(--green-dark) !important;
  color:#fff !important;
  border:1px solid var(--green-dark) !important;
  box-shadow:none !important;
}

.btn:hover,
.btn.alt:hover,
button.btn:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.wp-block-button__link:hover,
button[type="submit"]:hover,
a.button:hover,
button.button:hover{
  background:var(--green) !important;
  color:#fff !important;
  border-color:var(--green) !important;
}

/* Linki wyglądające jak przyciski w sekcjach CTA */
.actions .btn,
.cta .btn,
.promo .btn,
.home-promotions-actions .btn,
.home-booking-actions .btn,
.google-calendar-button{
  background:var(--green-dark) !important;
  color:#fff !important;
  border-color:var(--green-dark) !important;
}
.actions .btn:hover,
.cta .btn:hover,
.promo .btn:hover,
.home-promotions-actions .btn:hover,
.home-booking-actions .btn:hover,
.google-calendar-button:hover{
  background:var(--green) !important;
  color:#fff !important;
  border-color:var(--green) !important;
}


/* v44 — "Zobacz szczegóły" w kartach promocji wyśrodkowane */
.promotion-card-body{
  display:flex !important;
  flex-direction:column !important;
}

.promotion-more{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  margin-top:auto !important;
  padding-top:24px !important;
  text-align:center !important;
  color:var(--green-dark) !important;
  font-weight:700 !important;
}

.promotion-more:hover{
  color:var(--green) !important;
}


/* v45 — gdy są dwa przyciski: pierwszy zielony, drugi pomarańczowy */

/* Domyślnie wszystkie przyciski nadal zielone */
.btn,
button.btn,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-button__link,
button[type="submit"],
a.button,
button.button,
.google-calendar-button{
  background:var(--green-dark) !important;
  color:#fff !important;
  border-color:var(--green-dark) !important;
}

/* Jeżeli w jednym kontenerze są dwa CTA, drugi jest pomarańczowy */
.actions .btn:nth-of-type(2),
.cta .btn:nth-of-type(2),
.home-contact-cta .btn:nth-of-type(2),
.home-hero .actions .btn:nth-of-type(2){
  background:var(--terracotta) !important;
  color:#fff !important;
  border-color:var(--terracotta) !important;
}

/* Hover pierwszego — jaśniejsza zieleń */
.actions .btn:first-of-type:hover,
.cta .btn:first-of-type:hover,
.home-contact-cta .btn:first-of-type:hover,
.home-hero .actions .btn:first-of-type:hover{
  background:var(--green) !important;
  color:#fff !important;
  border-color:var(--green) !important;
}

/* Hover drugiego — JAŚNIEJSZY POMARAŃCZOWY, nigdy zielony */
.actions .btn:nth-of-type(2):hover,
.cta .btn:nth-of-type(2):hover,
.home-contact-cta .btn:nth-of-type(2):hover,
.home-hero .actions .btn:nth-of-type(2):hover{
  background:#cf8a6f !important;
  color:#fff !important;
  border-color:#cf8a6f !important;
}

/* Alt nie może nadpisywać drugiego CTA */
.actions .btn.alt:nth-of-type(2),
.cta .btn.alt:nth-of-type(2),
.home-contact-cta .btn.alt:nth-of-type(2),
.home-hero .actions .btn.alt:nth-of-type(2){
  background:var(--terracotta) !important;
  color:#fff !important;
  border-color:var(--terracotta) !important;
}
.actions .btn.alt:nth-of-type(2):hover,
.cta .btn.alt:nth-of-type(2):hover,
.home-contact-cta .btn.alt:nth-of-type(2):hover,
.home-hero .actions .btn.alt:nth-of-type(2):hover{
  background:#cf8a6f !important;
  color:#fff !important;
  border-color:#cf8a6f !important;
}


/* =========================================================
   v46 — FORMULARZ KONTAKTOWY
   ========================================================= */
.contact-form-section{
  padding-top:20px !important;
  padding-bottom:90px !important;
  background:linear-gradient(180deg,#f6f1e9,#fbfaf7);
}
.contact-form-shell{
  max-width:980px;
  margin:0 auto;
  padding:42px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 36px rgba(41,45,39,.045);
}
.contact-form-intro{
  max-width:650px;
  margin-bottom:30px;
}
.contact-form-intro h2{
  margin-bottom:12px;
}
.salon-contact-form{
  margin-top:24px;
}
.contact-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.form-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.form-field-full{
  margin-top:20px;
}
.form-field label{
  color:var(--ink);
  font-size:.9rem;
  font-weight:700;
}
.form-field label span{
  color:var(--terracotta);
}
.form-field input,
.form-field select,
.form-field textarea{
  width:100%;
  padding:14px 15px;
  border:1px solid #ddd8d0;
  border-radius:12px;
  background:#fbfaf7;
  color:var(--ink);
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  border-color:var(--green);
  background:#fff;
  box-shadow:0 0 0 3px rgba(102,116,98,.10);
}
.form-field textarea{
  resize:vertical;
  min-height:170px;
}
.contact-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.5;
}
.contact-consent input{
  margin-top:3px;
  accent-color:var(--green-dark);
}
.contact-consent a{
  color:var(--green-dark);
  text-decoration:underline;
  text-underline-offset:2px;
}
.contact-form-actions{
  display:flex;
  justify-content:flex-start;
  margin-top:24px;
}
.contact-form-alert{
  margin:0 0 22px;
  padding:14px 16px;
  border-radius:12px;
  font-size:.92rem;
  font-weight:600;
}
.contact-form-alert.success{
  border:1px solid #cfdacb;
  background:#eef4eb;
  color:#3f513d;
}
.contact-form-alert.error{
  border:1px solid #e8cfc4;
  background:#fbefea;
  color:#8a4f3a;
}

@media(max-width:760px){
  .contact-form-shell{
    padding:28px 22px;
    border-radius:18px;
  }
  .contact-form-grid{
    grid-template-columns:1fr;
  }
  .contact-form-actions .btn{
    width:100%;
  }
}


/* =========================================================
   v47 — NOWOCZEŚNIEJSZA STOPKA + WYŚRODKOWANY FORMULARZ CTA
   ========================================================= */

/* Stopka */
.site-footer{
  position:relative;
  padding:64px 0 28px !important;
  background:#293229 !important;
  border:0 !important;
  color:#eef1eb !important;
}

.site-footer .wrap{
  width:min(1200px,calc(100% - 48px));
}

.footer-grid{
  display:grid !important;
  grid-template-columns:1.35fr .75fr .65fr !important;
  gap:70px !important;
  align-items:start !important;
}

.site-footer h3{
  margin:0 0 18px !important;
  color:#ffffff !important;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif !important;
  font-size:1.15rem !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:.01em !important;
}

.site-footer .footer-grid > div:first-child h3{
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.75rem !important;
  font-weight:600 !important;
  letter-spacing:-.015em !important;
}

.site-footer p,
.site-footer a,
.site-footer li{
  color:#dfe5dc !important;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif !important;
  font-size:.94rem !important;
  line-height:1.75 !important;
}

.site-footer p{
  margin:0 0 12px !important;
}

.site-footer a{
  text-decoration:none !important;
  transition:color .18s ease,opacity .18s ease;
}

.site-footer a:hover{
  color:#ffffff !important;
}

.site-footer .legal{
  margin-top:20px !important;
  color:#cfd7cc !important;
}

.site-footer .legal a{
  color:#cfd7cc !important;
}

.footer-small{
  margin-top:44px !important;
  padding-top:0 !important;
  border:0 !important;
  text-align:center !important;
  color:#bfc8bc !important;
  font-size:.82rem !important;
  letter-spacing:.01em !important;
}

/* Usuwa wszystkie stare pseudo-kreski / obramowania stopki */
.site-footer::before,
.site-footer::after,
.footer-small::before,
.footer-small::after{
  display:none !important;
  content:none !important;
  border:0 !important;
}

/* Przycisk formularza kontaktowego dokładnie na środku */
.contact-form-actions{
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  margin-top:28px !important;
  text-align:center !important;
}

.contact-form-actions .btn,
.contact-form-actions button{
  width:auto !important;
  min-width:210px !important;
  margin:0 auto !important;
}

/* Responsywna stopka */
@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:38px 44px !important;
  }
  .footer-grid > div:first-child{
    grid-column:1 / -1;
    max-width:650px;
  }
}

@media(max-width:620px){
  .site-footer{
    padding:48px 0 24px !important;
  }
  .site-footer .wrap{
    width:min(100% - 32px,1200px);
  }
  .footer-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }
  .footer-grid > div:first-child{
    grid-column:auto;
  }
  .footer-small{
    margin-top:34px !important;
    text-align:left !important;
  }
  .contact-form-actions .btn,
  .contact-form-actions button{
    width:100% !important;
    max-width:340px !important;
  }
}


/* v48 — większy i pogrubiony copyright */
.site-footer .footer-small{
  font-size:1rem !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  color:#eef1eb !important;
}


/* =========================================================
   v49 — STRONY PRAWNE
   ========================================================= */
.legal-page{
  background:
    radial-gradient(circle at 90% 5%,rgba(191,118,89,.055),transparent 24%),
    #fbfaf7;
}
.legal-page section{
  padding:78px 0 96px;
}
.legal-wrap{
  max-width:980px;
}
.legal-page h1{
  margin-bottom:18px;
}
.legal-page > section > .wrap > .lead{
  max-width:760px;
  margin-bottom:42px;
}
.legal-content{
  padding:42px 46px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
}
.legal-content h2{
  margin:34px 0 12px;
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  font-size:1.08rem;
  line-height:1.4;
  font-weight:750;
  letter-spacing:0;
  color:var(--green-dark);
}
.legal-content h2:first-child{
  margin-top:0;
}
.legal-content p{
  margin:0 0 14px;
  color:#5d615b;
  font-size:.96rem;
  line-height:1.8;
}
.legal-content strong{
  color:var(--ink);
}
.legal-content a{
  color:var(--green-dark);
  font-weight:650;
  text-decoration:underline;
  text-underline-offset:3px;
}
.legal-content a:hover{
  color:var(--terracotta);
}

@media(max-width:680px){
  .legal-page section{
    padding:54px 0 70px;
  }
  .legal-content{
    padding:28px 22px;
    border-radius:18px;
  }
}


/* v50 — pełna treść dokumentów prawnych */
.legal-content ul{
  margin:4px 0 18px 22px;
  padding:0;
  color:#5d615b;
}
.legal-content li{
  margin:0 0 9px;
  padding-left:5px;
  font-size:.96rem;
  line-height:1.75;
}


/* =========================================================
   v56 — FINALNY NAGŁÓWEK
   1. SALON OPTYCZNY wyśrodkowany u góry
   2. Menu wyśrodkowane i zwarte POD nazwą
   3. Hamburger tylko na telefonie/tablecie
   ========================================================= */

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,253,249,.97);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}

/* RZĄD Z NAZWĄ / LOGO */
.header-brand-row{
  width:100%;
  border-bottom:1px solid rgba(68,84,71,.07);
}

.header-brand-inner{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 20px 14px;
}

.brand.brand-centered{
  position:static;
  transform:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin:0;
  white-space:nowrap;
  text-decoration:none;
  color:#171a17;
}

.brand-centered .brand-name{
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.045em;
}

.brand-logo-slot:empty{
  display:none;
}

.brand-logo-slot,
.brand-logo-slot .custom-logo-link{
  display:flex;
  align-items:center;
  justify-content:center;
}

.brand-logo-slot .custom-logo{
  display:block;
  width:auto;
  height:46px;
  max-width:76px;
  object-fit:contain;
  border-radius:0;
}

/* RZĄD MENU — OSOBNO POD NAZWĄ */
.header-menu-row{
  width:100%;
  background:#fff;
}

.header-menu-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:0 20px;
}

.header-menu-inner .main-nav{
  display:block;
  position:static;
  width:auto;
  margin:0;
  padding:0;
  background:transparent;
}

.header-menu-inner .main-nav .menu{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:row;
  flex-wrap:nowrap;
  gap:30px;
  list-style:none;
  margin:0;
  padding:0;
}

.header-menu-inner .main-nav .menu li{
  margin:0;
  padding:0;
  white-space:nowrap;
}

.header-menu-inner .main-nav .menu a{
  display:block;
  padding:18px 0 17px;
  color:#414741;
  font-size:.92rem;
  line-height:1.2;
  font-weight:650;
  text-decoration:none;
}

.header-menu-inner .main-nav .menu a:hover,
.header-menu-inner .main-nav .current-menu-item > a,
.header-menu-inner .main-nav .current_page_item > a{
  color:var(--terracotta);
}

/* Na desktopie hamburger NIGDY się nie pokazuje */
.header-menu-inner .menu-toggle{
  display:none !important;
}

/* Delikatnie ciaśniej na mniejszych laptopach */
@media (max-width:1250px){
  .header-menu-inner .main-nav .menu{
    gap:22px;
  }

  .header-menu-inner .main-nav .menu a{
    font-size:.87rem;
  }
}

/* Dopiero tu przechodzimy na hamburger */
@media (max-width:900px){
  .header-brand-inner{
    min-height:72px;
    padding:15px 16px 12px;
  }

  .brand-centered .brand-name{
    font-size:1.55rem;
  }

  .header-menu-inner{
    min-height:56px;
    justify-content:flex-start;
    padding:0 20px;
  }

  .header-menu-inner .menu-toggle{
    display:block !important;
    border:0;
    background:transparent;
    color:#293229;
    font-size:1.5rem;
    line-height:1;
    padding:8px 0;
    cursor:pointer;
  }

  .header-menu-inner .main-nav{
    display:none;
    position:absolute;
    left:20px;
    right:20px;
    top:100%;
    z-index:100;
    padding:12px 18px 18px;
    background:#fff;
    border:1px solid var(--line);
    box-shadow:0 14px 30px rgba(41,50,41,.08);
  }

  .header-menu-inner .main-nav.open,
  .header-menu-inner .main-nav.is-open{
    display:block;
  }

  .header-menu-inner .main-nav .menu{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }

  .header-menu-inner .main-nav .menu a{
    padding:11px 2px;
    font-size:.92rem;
  }
}

@media (max-width:520px){
  .brand-centered{
    gap:7px;
  }

  .brand-centered .brand-name{
    font-size:1.18rem;
    letter-spacing:.025em;
  }

  .brand-logo-slot .custom-logo{
    height:32px;
    max-width:48px;
  }
}


/* v57 — cały nagłówek w jednym kolorze szałwiowym */
.site-header,
.header-brand-row,
.header-menu-row{
  background:#e7ebe1 !important;
}

.header-brand-row{
  border-bottom:1px solid rgba(68,84,71,.10) !important;
}

.header-menu-row{
  border-top:0 !important;
}

.header-menu-inner .main-nav{
  background:transparent !important;
}

@media (max-width:900px){
  .header-menu-inner .main-nav{
    background:#e7ebe1 !important;
  }
}


/* v58 — chłodniejsza szałwia + brak kreski między nazwą i menu */
.site-header,
.header-brand-row,
.header-menu-row{
  background:#dce3d7 !important;
}

.header-brand-row{
  border-bottom:0 !important;
}

.header-menu-row{
  border-top:0 !important;
}

.header-menu-inner .main-nav{
  background:transparent !important;
}

@media (max-width:900px){
  .header-menu-inner .main-nav{
    background:#dce3d7 !important;
  }
}


/* v60 — faktyczne usunięcie przerwy między zdjęciem a treścią promocji */
.promotion-card-media{
  margin:0 !important;
  padding:0 !important;
  line-height:0 !important;
}

.promotion-card-media .promotion-card-image{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.promotion-card-body{
  padding:0 24px 24px !important;
  margin:0 !important;
}

/* pierwszy element treści zaczyna się od razu pod zdjęciem */
.promotion-card-body .promotion-card-label{
  margin-top:0 !important;
  padding-top:0 !important;
  line-height:1.2 !important;
}

/* v61 — niewielki oddech między zdjęciem a opisem promocji */
.promotion-card-body{
  padding:18px 24px 24px !important;
}
.promotion-card-body .promotion-card-label{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* v62 — nowa szałwiowa stopka */
.site-footer,
footer.site-footer,
.footer,
.footer-main{
  background:#E3E9DC !important;
  color:#293229 !important;
  border-top:none !important;
}

.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer .footer-title,
.site-footer strong{
  color:#1f2821 !important;
}

.site-footer p,
.site-footer li,
.site-footer span,
.site-footer a{
  color:#445146 !important;
  text-decoration:none !important;
}

.site-footer a:hover{
  color:#B97258 !important;
}

.site-footer .footer-bottom,
.site-footer .copyright{
  border-top:none !important;
  color:#293229 !important;
  font-weight:700 !important;
}

.site-footer .footer-bottom a{
  color:#445146 !important;
}

.site-footer .footer-bottom a:hover{
  color:#B97258 !important;
}


/* v63 — stopka: nieco ciemniejsza, przygaszona szałwia */
.site-footer,
footer.site-footer,
.footer,
.footer-main{
  background:#CBD4C3 !important;
}


/* v64 — copyright w stopce czarny */
.site-footer .footer-bottom,
.site-footer .footer-bottom p,
.site-footer .copyright,
.site-footer .copyright p,
.site-footer .footer-small,
.site-footer .footer-small p{
  color:#000000 !important;
}


/* v65 — przesuwane opinie Google */
.reviews-carousel{
  position:relative;
  margin-top:30px;
  padding:0 52px;
}
.reviews-carousel .reviews{
  display:flex !important;
  gap:18px;
  margin-top:0 !important;
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.reviews-carousel .reviews::-webkit-scrollbar{
  display:none;
}
.reviews-carousel .review-card{
  flex:0 0 calc((100% - 36px)/3);
  min-width:0;
  scroll-snap-align:start;
}
.reviews-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#445044;
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 8px 22px rgba(47,48,44,.14);
}
.reviews-prev{left:0}
.reviews-next{right:0}
.reviews-nav:hover{background:#b9795f}

.reviews-shortcode{
  flex:0 0 100%;
  width:100%;
}

/* Jeżeli shortcode wtyczki renderuje swoje kafelki, nie ograniczamy ich ręcznie. */
@media (max-width:900px){
  .reviews-carousel{padding:0 46px}
  .reviews-carousel .review-card{flex-basis:calc((100% - 18px)/2)}
}
@media (max-width:620px){
  .reviews-carousel{padding:0 38px}
  .reviews-carousel .review-card{flex-basis:100%}
  .reviews-nav{
    width:34px;
    height:34px;
    font-size:24px;
  }
}


/* v66 — delikatniejsze i bardziej eleganckie strzałki opinii */
.reviews-nav{
  width:38px !important;
  height:38px !important;
  background:#68745f !important;
  border:1px solid rgba(68,80,68,.16) !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:24px !important;
  font-weight:400 !important;
  line-height:1 !important;
  box-shadow:0 5px 14px rgba(47,48,44,.10) !important;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}
.reviews-nav:hover{
  background:#b9795f !important;
  box-shadow:0 7px 16px rgba(47,48,44,.14) !important;
}
.reviews-prev{left:5px !important}
.reviews-next{right:5px !important}

@media (max-width:620px){
  .reviews-nav{
    width:34px !important;
    height:34px !important;
    font-size:21px !important;
  }
}


/* v67 — naprawa rozwijanego menu na telefonach i tabletach */
@media (max-width:900px){
  .header-menu-row{
    position:relative !important;
  }

  .header-menu-inner{
    position:relative !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:44px !important;
    height:44px !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    color:#1f2821 !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:1002 !important;
  }

  .main-nav{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    z-index:1001 !important;
    background:#dce3d7 !important;
    padding:8px 20px 18px !important;
    box-shadow:0 12px 24px rgba(47,48,44,.10) !important;
  }

  .main-nav.open{
    display:block !important;
  }

  .main-nav .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .main-nav .menu li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
  }

  .main-nav .menu a{
    display:block !important;
    width:100% !important;
    padding:12px 8px !important;
    text-align:center !important;
    color:#1f2821 !important;
  }
}

@media (min-width:901px){
  .menu-toggle{display:none !important;}
  .main-nav{display:block !important;}
}


/* v68 — finalna naprawa menu mobilnego: hamburger po lewej + pewne rozwijanie */
@media (max-width:900px){
  .site-header{
    overflow:visible !important;
  }

  .header-menu-row,
  .header-menu-inner{
    overflow:visible !important;
  }

  .header-menu-inner{
    min-height:54px !important;
    justify-content:flex-start !important;
    padding:0 16px !important;
  }

  .header-menu-inner .menu-toggle{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:42px !important;
    height:42px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid rgba(31,40,33,.16) !important;
    border-radius:12px !important;
    background:rgba(255,255,255,.24) !important;
    box-shadow:none !important;
    cursor:pointer !important;
    position:relative !important;
    z-index:1003 !important;
  }

  .menu-toggle-icon{
    width:20px !important;
    height:15px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
  }

  .menu-toggle-icon span{
    display:block !important;
    width:20px !important;
    height:2px !important;
    border-radius:999px !important;
    background:#1f2821 !important;
    transform-origin:center !important;
    transition:transform .22s ease, opacity .18s ease !important;
  }

  .menu-toggle.is-open .menu-toggle-icon span:nth-child(1){
    transform:translateY(6.5px) rotate(45deg) !important;
  }
  .menu-toggle.is-open .menu-toggle-icon span:nth-child(2){
    opacity:0 !important;
  }
  .menu-toggle.is-open .menu-toggle-icon span:nth-child(3){
    transform:translateY(-6.5px) rotate(-45deg) !important;
  }

  .header-menu-inner .main-nav{
    display:none !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:1002 !important;
    margin:0 !important;
    padding:10px 16px 16px !important;
    background:#dce3d7 !important;
    border:0 !important;
    border-radius:0 0 16px 16px !important;
    box-shadow:0 14px 24px rgba(31,40,33,.12) !important;
  }

  .site-header.mobile-menu-open .header-menu-inner .main-nav,
  .header-menu-inner .main-nav.open{
    display:block !important;
  }

  .header-menu-inner .main-nav .menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  .header-menu-inner .main-nav .menu li{
    display:block !important;
    width:100% !important;
    border-bottom:1px solid rgba(31,40,33,.08) !important;
  }
  .header-menu-inner .main-nav .menu li:last-child{
    border-bottom:0 !important;
  }

  .header-menu-inner .main-nav .menu a{
    display:block !important;
    width:100% !important;
    padding:13px 4px !important;
    text-align:left !important;
    color:#1f2821 !important;
    font-size:.98rem !important;
    font-weight:600 !important;
  }
}

@media (min-width:901px){
  .site-header.mobile-menu-open .main-nav{
    display:block !important;
  }
}


/* v69 — poprawka zamykania menu mobilnego */
@media (max-width:900px){
  .site-header:not(.mobile-menu-open) .header-menu-inner .main-nav{
    display:none !important;
  }

  .site-header.mobile-menu-open .header-menu-inner .main-nav{
    display:block !important;
  }

  .menu-toggle[aria-expanded="false"] .menu-toggle-icon span:nth-child(1),
  .menu-toggle[aria-expanded="false"] .menu-toggle-icon span:nth-child(2),
  .menu-toggle[aria-expanded="false"] .menu-toggle-icon span:nth-child(3){
    transform:none !important;
    opacity:1 !important;
  }
}


/* v71 — profile specjalistek */
.specialists-section{padding-top:18px;padding-bottom:90px;background:#f8f6f1}
.specialists-intro{max-width:760px;margin-bottom:30px}
.specialists-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}
.specialist-card{background:#fff;border:1px solid rgba(74,86,76,.14);border-radius:22px;padding:30px;box-shadow:0 12px 34px rgba(48,52,47,.055)}
.specialist-content h3{margin:0 0 5px;font-size:1.55rem}
.specialist-role{margin:0 0 18px;color:#b96f50;font-weight:700}
.specialist-content>p:not(.specialist-role):not(.specialist-more){line-height:1.75;color:#4f5750}
.specialist-more{margin:18px 0;color:#6b736c;font-size:.94rem;line-height:1.55}
.specialist-link{display:inline-block;margin-top:2px}
@media(max-width:760px){.specialists-grid{grid-template-columns:1fr}.specialist-card{padding:23px}}


/* v72 — estetyczne miejsce na znak/logo przy górnej nazwie */
.header-brand-inner{
  min-height:94px !important;
  padding-top:15px !important;
  padding-bottom:15px !important;
}

.brand.brand-centered{
  gap:16px !important;
  max-width:100%;
}

.brand-logo-slot{
  flex:0 0 auto;
}

.brand-logo-slot .custom-logo-link{
  width:64px;
  height:64px;
  display:flex !important;
  align-items:center;
  justify-content:center;
  margin:0 !important;
  padding:0 !important;
}

.brand-logo-slot .custom-logo{
  width:64px !important;
  height:64px !important;
  max-width:64px !important;
  max-height:64px !important;
  object-fit:contain !important;
  border-radius:0 !important;
}

.brand-centered .brand-name{
  display:block;
  max-width:720px;
  text-align:left;
  line-height:1.08 !important;
}

/* Bez logo nazwa pozostaje idealnie wyśrodkowana */
.brand-logo-slot:empty + .brand-name{
  text-align:center;
}

@media (max-width:900px){
  .header-brand-inner{
    min-height:78px !important;
    padding:12px 16px !important;
  }

  .brand.brand-centered{
    gap:10px !important;
    white-space:normal !important;
  }

  .brand-logo-slot .custom-logo-link,
  .brand-logo-slot .custom-logo{
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
  }

  .brand-centered .brand-name{
    max-width:520px;
    font-size:1.35rem !important;
  }
}

@media (max-width:520px){
  .header-brand-inner{
    min-height:72px !important;
  }

  .brand-logo-slot .custom-logo-link,
  .brand-logo-slot .custom-logo{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
  }

  .brand-centered .brand-name{
    font-size:1.05rem !important;
    line-height:1.12 !important;
    letter-spacing:.018em !important;
  }
}


/* v73 — gotowe logo Dwa Spojrzenia w nagłówku */
.header-brand-inner{
  min-height:118px !important;
  padding:10px 20px !important;
}

.brand.brand-centered{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  max-width:100%;
  margin:0 auto !important;
}

.brand-logo-full,
.brand-logo-full .custom-logo-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  text-decoration:none !important;
}

.brand-logo-full img,
.brand-logo-full .custom-logo{
  display:block !important;
  width:auto !important;
  height:96px !important;
  max-width:min(720px, 88vw) !important;
  max-height:96px !important;
  object-fit:contain !important;
  border-radius:0 !important;
}

.brand-logo-default img{
  filter:none !important;
}

@media (max-width:900px){
  .header-brand-inner{
    min-height:94px !important;
    padding:8px 16px !important;
  }

  .brand-logo-full img,
  .brand-logo-full .custom-logo{
    height:74px !important;
    max-height:74px !important;
    max-width:86vw !important;
  }
}

@media (max-width:520px){
  .header-brand-inner{
    min-height:80px !important;
    padding:7px 12px !important;
  }

  .brand-logo-full img,
  .brand-logo-full .custom-logo{
    height:62px !important;
    max-height:62px !important;
    max-width:90vw !important;
  }
}


/* v74 — logo nie zlewa się z nagłówkiem */
.header-brand-row{
  background:#F7F3EC !important;
}

.header-brand-inner{
  min-height:126px !important;
  padding:14px 20px !important;
}

.brand-logo-full,
.brand-logo-full .custom-logo-link{
  background:#FCFAF6 !important;
  border:1px solid rgba(70,82,72,.10) !important;
  border-radius:20px !important;
  padding:8px 18px !important;
  box-shadow:0 8px 24px rgba(48,52,47,.06) !important;
}

.brand-logo-full img,
.brand-logo-full .custom-logo{
  height:92px !important;
  max-height:92px !important;
}

.header-menu-row{
  background:#BCC6BC !important;
}

@media (max-width:900px){
  .header-brand-inner{
    min-height:102px !important;
    padding:10px 14px !important;
  }

  .brand-logo-full,
  .brand-logo-full .custom-logo-link{
    border-radius:16px !important;
    padding:6px 12px !important;
  }

  .brand-logo-full img,
  .brand-logo-full .custom-logo{
    height:70px !important;
    max-height:70px !important;
  }
}

@media (max-width:520px){
  .header-brand-inner{
    min-height:88px !important;
  }

  .brand-logo-full img,
  .brand-logo-full .custom-logo{
    height:58px !important;
    max-height:58px !important;
  }
}


/* v75 — znak logo + nazwa obok, bez kafelka */
.header-brand-row{
  background:#BCC6BC !important;
}

.header-brand-inner{
  min-height:92px !important;
  padding:13px 20px !important;
}

.brand.brand-centered{
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  align-items:center !important;
  justify-content:center !important;
  gap:15px !important;
  padding:0 !important;
  margin:0 auto !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  text-decoration:none !important;
}

.brand-symbol{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:70px;
  height:54px;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

.brand-symbol img{
  display:block;
  width:70px;
  height:54px;
  object-fit:contain;
}

.brand-centered .brand-name{
  display:block !important;
  max-width:none !important;
  margin:0 !important;
  color:#263029 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.72rem !important;
  line-height:1.05 !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  text-align:left !important;
  white-space:nowrap !important;
}

@media (max-width:900px){
  .header-brand-inner{
    min-height:78px !important;
    padding:10px 16px !important;
  }
  .brand.brand-centered{
    gap:10px !important;
  }
  .brand-symbol{
    width:54px;
    height:42px;
  }
  .brand-symbol img{
    width:54px;
    height:42px;
  }
  .brand-centered .brand-name{
    font-size:1.28rem !important;
    letter-spacing:.022em !important;
  }
}

@media (max-width:520px){
  .header-brand-inner{
    min-height:70px !important;
    padding:9px 12px !important;
  }
  .brand.brand-centered{
    gap:8px !important;
  }
  .brand-symbol{
    width:43px;
    height:34px;
  }
  .brand-symbol img{
    width:43px;
    height:34px;
  }
  .brand-centered .brand-name{
    font-size:.98rem !important;
    line-height:1.08 !important;
    letter-spacing:.012em !important;
    white-space:normal !important;
    max-width:280px !important;
  }
}


/* v76 — wymuszony, prosty nagłówek: logo + nazwa */
.header-brand-row{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  background:#BCC6BC !important;
}
.header-brand-inner{
  min-height:92px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px 20px !important;
}
.brand-v76{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:center !important;
  justify-content:center !important;
  gap:16px !important;
  color:#263029 !important;
  text-decoration:none !important;
}
.brand-v76-logo{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:74px !important;
  height:56px !important;
  max-width:none !important;
  object-fit:contain !important;
}
.brand-v76-name{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#263029 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.72rem !important;
  line-height:1.08 !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  white-space:nowrap !important;
}
@media(max-width:900px){
  .header-brand-inner{min-height:78px !important;padding:10px 14px !important;}
  .brand-v76{gap:10px !important;}
  .brand-v76-logo{width:54px !important;height:42px !important;}
  .brand-v76-name{font-size:1.25rem !important;letter-spacing:.02em !important;}
}
@media(max-width:520px){
  .header-brand-inner{min-height:70px !important;padding:9px 10px !important;}
  .brand-v76{gap:8px !important;max-width:100% !important;}
  .brand-v76-logo{width:44px !important;height:34px !important;flex:0 0 44px !important;}
  .brand-v76-name{font-size:.96rem !important;line-height:1.08 !important;white-space:normal !important;}
}


/* v77 — finalniejszy lockup marki: znak + Dwa Spojrzenia + descriptor */
.header-brand-row{
  display:block !important;
  background:#F4F0E8 !important;
  border:0 !important;
}
.header-brand-inner{
  min-height:104px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px 20px !important;
}
.brand-v77{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  text-decoration:none !important;
  color:#334039 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.brand-v77-symbol{
  width:76px;
  height:58px;
  flex:0 0 76px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-v77-symbol img{
  display:block !important;
  width:76px !important;
  height:58px !important;
  object-fit:contain !important;
}
.brand-v77-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  padding-left:18px;
  border-left:1px solid rgba(70,82,72,.24);
}
.brand-v77-title{
  color:#334039 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:1.58rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.11em !important;
  white-space:nowrap;
}
.brand-v77-subtitle{
  color:#C96F42 !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:.70rem !important;
  line-height:1.15 !important;
  font-weight:700 !important;
  letter-spacing:.16em !important;
  white-space:nowrap;
}
.header-menu-row{
  background:#BCC6BC !important;
  border:0 !important;
}
@media(max-width:900px){
  .header-brand-inner{min-height:88px !important;padding:11px 14px !important;}
  .brand-v77{gap:12px !important;}
  .brand-v77-symbol{width:58px;height:45px;flex-basis:58px;}
  .brand-v77-symbol img{width:58px !important;height:45px !important;}
  .brand-v77-copy{gap:4px;padding-left:12px;}
  .brand-v77-title{font-size:1.25rem !important;letter-spacing:.08em !important;}
  .brand-v77-subtitle{font-size:.60rem !important;letter-spacing:.11em !important;}
}
@media(max-width:520px){
  .header-brand-inner{min-height:80px !important;padding:9px 10px !important;}
  .brand-v77{gap:8px !important;max-width:100% !important;}
  .brand-v77-symbol{width:46px;height:36px;flex-basis:46px;}
  .brand-v77-symbol img{width:46px !important;height:36px !important;}
  .brand-v77-copy{gap:3px;padding-left:8px;}
  .brand-v77-title{font-size:1.02rem !important;letter-spacing:.055em !important;}
  .brand-v77-subtitle{font-size:.49rem !important;letter-spacing:.065em !important;white-space:normal !important;}
}


/* v78 — większy znak logo w nagłówku */
.brand-v77-symbol{
  width:92px !important;
  height:70px !important;
  flex-basis:92px !important;
}

.brand-v77-symbol img{
  width:92px !important;
  height:70px !important;
}

.header-brand-inner{
  min-height:116px !important;
}

@media(max-width:900px){
  .brand-v77-symbol{
    width:70px !important;
    height:54px !important;
    flex-basis:70px !important;
  }

  .brand-v77-symbol img{
    width:70px !important;
    height:54px !important;
  }

  .header-brand-inner{
    min-height:96px !important;
  }
}

@media(max-width:520px){
  .brand-v77-symbol{
    width:56px !important;
    height:44px !important;
    flex-basis:56px !important;
  }

  .brand-v77-symbol img{
    width:56px !important;
    height:44px !important;
  }

  .header-brand-inner{
    min-height:86px !important;
  }
}


/* v80 — Kontakt: mapa w tym samym stylu co pozostałe kafelki */
.contact-page .map-frame,
.contact-page .contact-map,
.page-contact .map-frame,
.page-contact .contact-map{
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid var(--line) !important;
  border-radius:22px !important;
  background:#F8F5EF !important;
  box-shadow:0 12px 32px rgba(48,52,47,.06) !important;
}

.contact-page .map-frame::before,
.contact-page .contact-map::before,
.page-contact .map-frame::before,
.page-contact .contact-map::before{
  display:none !important;
  content:none !important;
}

.contact-page .map-frame iframe,
.contact-page .contact-map iframe,
.contact-page .map-frame .ph,
.contact-page .contact-map .ph,
.page-contact .map-frame iframe,
.page-contact .contact-map iframe,
.page-contact .map-frame .ph,
.page-contact .contact-map .ph{
  display:block !important;
  width:100% !important;
  min-height:380px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:21px !important;
  background:#E7ECE5 !important;
  box-shadow:none !important;
}

.contact-page .map-frame .ph,
.contact-page .contact-map .ph,
.page-contact .map-frame .ph,
.page-contact .contact-map .ph{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:30px !important;
  color:#667066 !important;
  text-align:center !important;
}

@media(max-width:900px){
  .contact-page .map-frame iframe,
  .contact-page .contact-map iframe,
  .contact-page .map-frame .ph,
  .contact-page .contact-map .ph,
  .page-contact .map-frame iframe,
  .page-contact .contact-map iframe,
  .page-contact .map-frame .ph,
  .page-contact .contact-map .ph{
    min-height:320px !important;
  }
}


/* v81 — cały tekst w stopce pogrubiony */
.site-footer,
.site-footer p,
.site-footer a,
.site-footer span,
.site-footer li,
.site-footer strong,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .footer-bottom,
.site-footer .copyright,
footer.site-footer,
footer.site-footer *{
  font-weight:700 !important;
}


/* v82 — czytelniejsza typografia + linki bez podkreśleń */

/* Tekst na całej stronie delikatnie mocniejszy */
body,
p,
li,
input,
textarea,
select,
button{
  font-weight:450;
}

/* Standardowe linki: bez podkreślenia, ale nadal wyraźnie klikalne */
a,
a:visited,
a:hover,
a:focus,
a:active,
.legal-content a,
.site-footer a,
.contact-page a{
  text-decoration:none !important;
}

/* Linki w zwykłej treści odróżniamy kolorem i wagą */
main p a:not(.btn),
main li a:not(.btn),
.legal-content a,
.contact-page p a:not(.btn){
  color:var(--green-dark) !important;
  font-weight:650 !important;
  transition:color .18s ease, opacity .18s ease;
}

/* Po najechaniu — terakota, dzięki czemu od razu wiadomo, że element jest aktywny */
main p a:not(.btn):hover,
main li a:not(.btn):hover,
.legal-content a:hover,
.contact-page p a:not(.btn):hover{
  color:var(--terracotta) !important;
}

/* Linki menu pozostają czyste, ale mają czytelny hover */
.main-nav a{
  text-decoration:none !important;
  font-weight:650 !important;
}

/* Przyciski są wyraźniejsze bez przesadnej grubości */
.btn,
button,
input[type="submit"]{
  font-weight:650 !important;
}

/* Nagłówki odrobinę mocniejsze */
h1,h2,h3,h4,h5,h6{
  font-weight:700;
}

/* Tekst pomocniczy i lead nie jest już zbyt cienki */
.lead,
.muted,
.eyebrow{
  font-weight:500;
}


/* v84 — delikatnie mniejsze duże nagłówki */
h1{
  font-size:clamp(2.55rem,5vw,4.75rem) !important;
}

h2{
  font-size:clamp(1.9rem,3.5vw,3.05rem) !important;
}

.home-hero h1{
  font-size:clamp(2.8rem,5.2vw,4.9rem) !important;
}

@media(max-width:680px){
  h1{
    font-size:clamp(2.25rem,11vw,3.4rem) !important;
  }

  h2{
    font-size:clamp(1.85rem,8vw,2.65rem) !important;
  }

  .home-hero h1{
    font-size:clamp(2.45rem,11vw,3.6rem) !important;
  }
}


/* v85 — identyfikacja Dwa Spojrzenia na podstawie finalnego logo klienta */
:root{
  --brand-blue:#70B4B0;
  --brand-blue-dark:#4D918E;
  --brand-orange:#D98635;
  --brand-orange-dark:#BC6E27;
  --green:#70B4B0;
  --green-dark:#426F70;
  --terracotta:#D98635;
  --terracotta-dark:#BC6E27;
}

/* Finalne logo — bez dodatkowej ramki/karty */
.final-brand-lockup{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  padding:10px 20px 8px;
}
.final-brand-link{
  display:block;
  line-height:0;
  text-decoration:none !important;
}
.final-brand-logo{
  display:block;
  width:auto;
  height:auto;
  max-width:min(520px,72vw);
  max-height:112px;
  object-fit:contain;
}

/* Nagłówek i menu dopasowane do chłodnego niebiesko-turkusowego z logo */
.site-header .brand-row,
.header-brand-row{
  background:#F8F6F1 !important;
}
.site-header .menu-row,
.header-menu-row,
.site-nav-wrap{
  background:#D9EAE8 !important;
}
.main-nav a{
  color:#355F60 !important;
}
.main-nav a:hover,
.main-nav a:focus,
.main-nav .current-menu-item > a{
  color:var(--brand-orange-dark) !important;
}

/* Elementy, które wcześniej były szałwiowe */
.soft,
.home-offer,
.booking-panel,
.booking-shell,
.contact-form-section{
  --section-accent:#E8F2F1;
}
.eyebrow{
  color:var(--brand-orange-dark) !important;
}
a:not(.btn):hover{
  color:var(--brand-orange-dark);
}

/* Przyciski: turkus + pomarańczowy jako drugi akcent */
.btn,
button,
input[type="submit"]{
  background:var(--brand-blue-dark) !important;
  border-color:var(--brand-blue-dark) !important;
}
.btn:hover,
button:hover,
input[type="submit"]:hover{
  background:#5DA7A3 !important;
  border-color:#5DA7A3 !important;
}
.actions .btn.alt,
.actions .btn:nth-child(2){
  background:var(--brand-orange) !important;
  border-color:var(--brand-orange) !important;
}
.actions .btn.alt:hover,
.actions .btn:nth-child(2):hover{
  background:#E39A55 !important;
  border-color:#E39A55 !important;
}

/* Stopka nadal spokojna, ale już w nowej identyfikacji */
.site-footer{
  background:#C8E0DE !important;
  color:#294F50 !important;
}
.site-footer a,
.site-footer p,
.site-footer strong,
.site-footer h3,
.site-footer .footer-small{
  color:#294F50 !important;
}

/* Obramowania i delikatne akcenty */
.card,
.specialist-card,
.promotion-card,
.review-card,
.media-frame,
.map-frame,
.contact-card{
  border-color:#CFE1DF !important;
}

@media(max-width:900px){
  .final-brand-logo{
    max-width:min(430px,78vw);
    max-height:94px;
  }
}
@media(max-width:680px){
  .final-brand-lockup{padding:8px 58px 7px 58px;}
  .final-brand-logo{
    max-width:100%;
    max-height:76px;
  }
}

/* v86 — czytelniejsze logo */
.final-brand-logo{max-width:min(555px,76vw)!important;max-height:122px!important;filter:contrast(1.08) saturate(1.06);}
.final-brand-lockup{padding-top:12px!important;padding-bottom:10px!important;}
.site-header .brand-row,.header-brand-row{background:#FBFAF7!important;}
@media(max-width:900px){.final-brand-logo{max-width:min(455px,80vw)!important;max-height:102px!important;}}
@media(max-width:680px){.final-brand-logo{max-width:100%!important;max-height:82px!important;}}


/* v87 — Opinie ZnanyLekarz */
.zl-reviews-section{
  padding:76px 0;
  background:#F8F6F1;
}
.zl-reviews-intro{
  max-width:760px;
  margin-bottom:30px;
}
.zl-reviews-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.zl-review-card{
  background:#fff;
  border:1px solid #CFE1DF;
  border-radius:22px;
  padding:26px;
  box-shadow:0 10px 28px rgba(48,70,70,.055);
  min-width:0;
}
.zl-review-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.zl-review-head h3{
  margin:0 0 5px;
  font-size:1.45rem;
}
.zl-role{
  margin:0;
  font-size:.95rem;
  opacity:.76;
}
.zl-source{
  flex:0 0 auto;
  padding:7px 11px;
  border-radius:999px;
  background:#E3F0EF;
  color:#356F70;
  font-size:.78rem;
  font-weight:700;
}
.zl-widget{
  min-height:140px;
  overflow:hidden;
  margin:4px 0 18px;
}
.zl-widget iframe{
  max-width:100% !important;
}
.zl-widget-placeholder{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px;
  margin-bottom:18px;
  border-radius:16px;
  background:#F5F9F8;
  border:1px dashed #BFD8D6;
}
.zl-widget-placeholder p{
  margin:8px 0 0;
  line-height:1.65;
}
.zl-stars{
  color:#D98635;
  letter-spacing:3px;
  font-size:1.05rem;
}
.zl-profile-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#356F70 !important;
  font-weight:650 !important;
  text-decoration:none !important;
}
.zl-profile-link:hover{
  color:#BC6E27 !important;
}
@media(max-width:780px){
  .zl-reviews-section{padding:56px 0;}
  .zl-reviews-grid{grid-template-columns:1fr;}
  .zl-review-card{padding:21px;}
}




/* v91 — kompaktowe opinie ZnanyLekarz: jedna opinia na widoku */
.zl-reviews-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.zl-review-card{
  width:100%;
  max-width:470px;
  margin:0 auto;
  overflow:hidden;
}
.zl-review-slider{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  margin:2px 0 18px;
}
.zl-review-viewport{
  width:100%;
  max-width:360px;
  min-height:190px;
  margin:0 auto;
  overflow:hidden;
  border-radius:16px;
}
.zl-widget{
  width:100%;
  max-width:360px;
  min-height:190px;
  margin:0;
  overflow:hidden;
}
.zl-widget iframe{
  display:block;
  width:100% !important;
  max-width:360px !important;
  margin:0 auto !important;
}
.zl-widget-placeholder{
  width:100%;
  min-height:190px;
  margin:0;
  padding:20px;
}
.zl-arrow{
  width:34px;
  height:34px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #BFD8D6;
  border-radius:50%;
  background:#fff;
  color:#356F70;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
}
.zl-arrow:hover{
  border-color:#D98635;
  color:#D98635;
}
@media(max-width:780px){
  .zl-reviews-grid{grid-template-columns:1fr;max-width:500px;}
  .zl-review-card{max-width:460px;}
  .zl-review-viewport,.zl-widget,.zl-widget iframe{max-width:340px !important;}
}
@media(max-width:430px){
  .zl-review-slider{grid-template-columns:30px minmax(0,1fr) 30px;gap:5px;}
  .zl-arrow{width:30px;height:30px;}
  .zl-review-card{padding-left:15px;padding-right:15px;}
}


/* v93 — opisy specjalistek */
.specialist-bio{
  margin:12px 0 18px;
  line-height:1.75;
  font-weight:450;
  max-width:680px;
}

/* v94 — zawsze widoczne strzałki karuzeli ZnanyLekarz w O nas */
.zl-review-slider{
  position:relative;
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) 42px !important;
  align-items:center;
  gap:10px;
}
.zl-arrow{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative;
  z-index:20;
  width:42px !important;
  height:42px !important;
  min-width:42px;
  padding:0 !important;
  align-items:center;
  justify-content:center;
  border:1px solid #70B4B0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#378284 !important;
  font-family:Arial,sans-serif;
  font-size:27px !important;
  font-weight:600;
  line-height:1 !important;
  box-shadow:0 4px 12px rgba(41,79,80,.10);
  cursor:pointer;
}
.zl-arrow:hover{
  background:#F7FBFA !important;
  border-color:#D98635 !important;
  color:#D98635 !important;
}
@media(max-width:430px){
  .zl-review-slider{
    grid-template-columns:36px minmax(0,1fr) 36px !important;
    gap:6px;
  }
  .zl-arrow{
    width:36px !important;
    height:36px !important;
    min-width:36px;
    font-size:24px !important;
  }
}

/* v95 — sekcja ZnanyLekarz na pełną szerokość kontenera motywu */
.zl-reviews-section .wrap{
  width:min(var(--wrap, 1180px), calc(100% - 40px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.zl-reviews-grid{
  width:100% !important;
  max-width:none !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.zl-review-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box;
}
.zl-review-viewport,
.zl-widget,
.zl-widget iframe{
  width:100% !important;
  max-width:none !important;
}
@media(max-width:780px){
  .zl-reviews-section .wrap{
    width:calc(100% - 28px) !important;
  }
  .zl-reviews-grid{
    grid-template-columns:1fr !important;
  }
}



/* v98 — poprawka wg podglądu: tło sekcji pełne, SAME opinie w szerokości kontenera strony */
.home .reviews-shell,
.home .reviews-inner,
.home .reviews-carousel,
.home .reviews-track,
.home .reviews-viewport{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
@media(max-width:1220px){
  .home .reviews-shell,
  .home .reviews-inner,
  .home .reviews-carousel,
  .home .reviews-track,
  .home .reviews-viewport{
    max-width:calc(100% - 48px) !important;
  }
}
@media(max-width:780px){
  .home .reviews-shell,
  .home .reviews-inner,
  .home .reviews-carousel,
  .home .reviews-track,
  .home .reviews-viewport{
    max-width:calc(100% - 28px) !important;
  }
}

/* rzeczywiste klasy sekcji opinii */
.home .reviews-carousel,
.home .reviews-next,
.home .review-card,
.home .reviews-nav,
.home .reviews-shortcode,
.home .reviews,
.home .reviews-prev{
  box-sizing:border-box;
}

/* v99 — uwagi klientek 23.09.2026 */
.contact-topbar{background:#378284;color:#fff;font-size:.95rem}.contact-topbar-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.contact-topbar a{font-weight:700;color:#fff!important}.topbar-contact{display:flex;gap:18px;align-items:center}.topbar-address:empty{display:none}.floating-booking{position:fixed;right:22px;bottom:24px;z-index:60;background:#D98635;color:#fff!important;padding:14px 20px;border-radius:999px;font-weight:700;box-shadow:0 10px 28px rgba(41,79,80,.22);transition:.2s}.floating-booking:hover{transform:translateY(-2px);background:#BF6522}.brands-section{overflow:hidden;background:#FBFAF7}.brands-marquee{overflow:hidden;border-top:0;border-bottom:0;margin-top:30px;padding:24px 0}.brands-track{width:max-content;white-space:nowrap;font-family:Georgia,serif;font-size:1.28rem;font-weight:700;color:#355F60;word-spacing:18px;animation:brandsMove 32s linear infinite}.brands-track span{color:#D98635}@keyframes brandsMove{from{transform:translateX(8vw)}to{transform:translateX(-65%)}}.home-offer .cards,.page-template-page-oferta .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.mission-section p{max-width:900px}.mission-signature{font-family:Georgia,serif;font-size:1.3rem;color:#378284;margin-top:28px}@media(max-width:900px){.contact-topbar-inner{min-height:48px}.topbar-booking{display:none}.topbar-contact{width:100%;justify-content:flex-end;font-size:.88rem}.home-offer .cards,.page-template-page-oferta .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-booking{right:14px;bottom:14px;padding:12px 16px;font-size:.9rem}}@media(max-width:520px){.home-offer .cards,.page-template-page-oferta .cards{grid-template-columns:1fr}.topbar-address{display:none}}


/* v100 — zdjęcia optometrystek w sekcji O nas */
.specialist-card{padding:0!important;overflow:hidden}
.specialist-photo{width:100%;aspect-ratio:4/5;overflow:hidden;background:#eee9df}
.specialist-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 24%}
.specialist-content{padding:30px}
@media(max-width:760px){.specialist-content{padding:23px}.specialist-photo{aspect-ratio:4/5}}

/* v101 — prosta, uczciwa rezerwacja przez MyGlassOn */
.booking-simple-page{min-height:62vh;display:flex;align-items:center}
.booking-simple-page .wrap{display:flex;justify-content:center}
.booking-simple-card{width:min(100%,820px);text-align:center;padding:64px 70px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 45px rgba(41,79,80,.06)}
.booking-simple-card .eyebrow{margin-bottom:12px}
.booking-simple-card h1{margin:0 0 20px}
.booking-simple-card .lead{max-width:650px;margin:0 auto 32px;line-height:1.75}
.booking-primary-action{display:inline-flex!important;width:auto!important;min-width:230px;justify-content:center}
.booking-phone-option{margin:34px auto 0;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;color:#66706d}
.booking-phone-option a{font-weight:700;color:#378284!important}
.booking-phone-option a:hover{color:#D98635!important}
@media(max-width:680px){.booking-simple-page{min-height:auto}.booking-simple-card{padding:42px 22px;border-radius:18px}.booking-primary-action{width:100%!important}.booking-phone-option{display:block}.booking-phone-option a{display:block;margin-top:8px;font-size:1.12rem}}


/* v102 — prawdziwa rezerwacja, adres i widoczne opinie ZnanyLekarz */
.home-booking-section{padding:76px 0}
.home-booking-card{max-width:860px;margin:0 auto;text-align:center;background:#fff;border:1px solid rgba(41,79,80,.14);border-radius:28px;padding:54px 46px;box-shadow:0 18px 50px rgba(41,79,80,.06)}
.home-booking-card .lead{max-width:680px;margin-left:auto;margin-right:auto}
.home-booking-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:28px}
.home-booking-phone{font-weight:650;color:var(--green-dark);text-decoration:none}
.home-booking-phone:hover{color:var(--terracotta)}
.zl-live-fallback{padding:28px 24px!important;text-align:left}
.zl-live-fallback .zl-stars{margin-bottom:8px}
.zl-live-fallback .zl-count{font-weight:700;color:#294f50;margin:0 0 16px}
.zl-live-fallback blockquote{margin:0;padding:0;border:0;font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;line-height:1.65;color:#294f50}
.zl-live-fallback .zl-note{font-size:.88rem;margin:16px 0 0;color:#6d7774}
@media(max-width:700px){.home-booking-section{padding:52px 0}.home-booking-card{padding:38px 22px;border-radius:22px}}


/* v103 — finalne poprawki: bez atrapy kalendarza, pełne dane, marki, opinie pod specjalistkami */
.brand-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:30px}
.brand-wordmark{min-height:88px;border:1px solid rgba(41,79,80,.13);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:.92rem;font-weight:800;letter-spacing:.055em;color:#294f50;box-shadow:0 8px 24px rgba(41,79,80,.035)}
.brand-wordmark.hoya{font-size:1.55rem;color:#006eb6;letter-spacing:.08em}.brand-wordmark.zeiss{background:#164194;color:#fff;font-family:Georgia,serif;font-size:1.25rem}.brand-wordmark.rayban{font-family:cursive;font-size:1.45rem;letter-spacing:0}.brand-wordmark.guess{font-size:1.2rem}.brand-wordmark.ralph{font-family:Georgia,serif;letter-spacing:.08em}.brand-wordmark.barbie{font-family:cursive;font-size:1.35rem;letter-spacing:0}.brand-wordmark.rodenstock{font-size:1.05rem;letter-spacing:.09em}
.home-booking-details{margin:30px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;max-width:720px;color:#5e6b68}.home-booking-details a,.home-booking-details span{color:#355f60!important;font-weight:600}.home-booking-details a:hover{color:#d98635!important}
.specialist-reviews{margin-top:28px;padding-top:24px;border-top:1px solid rgba(41,79,80,.14)}.specialist-reviews-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px}.specialist-reviews-head strong{font-family:Georgia,'Times New Roman',serif;font-size:1.18rem;color:#294f50}.specialist-reviews-head span{font-size:.82rem;color:#687471;font-weight:650}.specialist-review-carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:10px}.specialist-review-track{min-height:150px;display:grid}.specialist-review-item{grid-area:1/1;display:none;align-items:center;background:#f8faf8;border:1px solid rgba(41,79,80,.12);border-radius:16px;padding:22px}.specialist-review-item.is-active{display:flex}.specialist-review-item p{margin:0;line-height:1.65;color:#455653;font-size:.95rem}.specialist-review-arrow{width:40px;height:40px;border-radius:50%;border:1px solid rgba(41,79,80,.18);background:#fff;color:#378284;font-size:1.65rem;line-height:1;cursor:pointer}.specialist-review-arrow:hover{background:#378284;color:#fff}.specialist-review-dots{display:flex;justify-content:center;gap:6px;margin:12px 0}.specialist-review-dots span{width:7px;height:7px;border-radius:50%;background:#d4dfdc}.specialist-review-dots span.is-active{background:#378284}.specialist-review-source{display:block;text-align:center;font-size:.87rem;font-weight:700;color:#378284!important}.specialist-review-source:hover{color:#d98635!important}
@media(max-width:900px){.brand-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.brand-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-wordmark{min-height:72px;font-size:.78rem}.specialist-reviews-head{display:block}.specialist-reviews-head span{display:block;margin-top:6px}.specialist-review-carousel{grid-template-columns:34px minmax(0,1fr) 34px;gap:6px}.specialist-review-arrow{width:34px;height:34px}.specialist-review-item{padding:18px;min-height:170px}.home-booking-details{display:grid;gap:9px}}

/* v104 — równe sekcje opinii pod obiema specjalistkami */
@media (min-width:761px){
  .specialists-grid{align-items:stretch}
  .specialist-card{height:100%;display:flex;flex-direction:column}
  .specialist-content{height:100%;display:flex;flex-direction:column}
  .specialist-link{align-self:flex-start}
  .specialist-reviews{margin-top:auto!important;width:100%;min-height:330px;display:flex;flex-direction:column}
  .specialist-reviews-head{min-height:42px;align-items:flex-start}
  .specialist-review-carousel{margin-top:0}
  .specialist-review-track{height:150px;min-height:150px}
  .specialist-review-item{height:150px;box-sizing:border-box}
  .specialist-review-dots{min-height:7px}
  .specialist-review-source{margin-top:auto;padding-top:2px}
}


/* v105 — ciaśniejszy układ specjalistek: bez zbędnych przycisków przed opiniami */
@media (min-width:761px){
  .specialist-content{height:100%;display:flex;flex-direction:column}
  .specialist-bio{margin-bottom:0!important}
  .specialist-reviews{margin-top:18px!important;min-height:330px;width:100%;display:flex;flex-direction:column}
  .specialist-reviews-head{min-height:42px;align-items:flex-start}
  .specialist-review-track{height:150px;min-height:150px}
  .specialist-review-item{height:150px;box-sizing:border-box}
  .specialist-review-source{margin-top:auto;padding-top:2px}
}
@media (max-width:760px){
  .specialist-reviews{margin-top:18px!important;padding-top:18px}
}
\n\n/* v106 — oficjalne, żywe opinie ZnanyLekarz pod specjalistkami */
.specialist-reviews-live{margin-top:22px!important;padding-top:20px!important;border-top:1px solid rgba(55,130,132,.18)}
.specialist-reviews-live .specialist-reviews-head{margin-bottom:14px!important}
.specialist-zl-widget{width:100%;min-height:170px;display:flex;justify-content:center;align-items:flex-start;overflow:visible}
.specialist-zl-widget .zl-url{display:block;width:100%;text-align:center}
.specialist-reviews-live .specialist-review-source{margin-top:12px!important}
@media(min-width:761px){.specialists-grid{align-items:stretch}.specialist-card{height:100%}.specialist-content{display:flex;flex-direction:column;height:100%}.specialist-reviews-live{margin-top:auto!important}}
@media(max-width:760px){.specialist-reviews-live{margin-top:18px!important;padding-top:16px!important}.specialist-zl-widget{min-height:150px}}


/* v107 — pełne wdrożenie uwag klientek */
.brands-section{overflow:hidden}
.brands-intro{max-width:760px}
.brands-marquee{width:100%;overflow:hidden;margin-top:30px;padding:10px 0 18px;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.brands-track{display:flex;width:max-content;gap:14px;animation:brandsMove 42s linear infinite}
.brands-marquee:hover .brands-track{animation-play-state:paused}
.brand-chip{display:flex;align-items:center;justify-content:center;min-height:72px;padding:14px 28px;background:#fff;border:1px solid rgba(77,145,142,.24);border-radius:16px;font-weight:800;letter-spacing:.035em;white-space:nowrap;color:#294f50;box-shadow:0 8px 24px rgba(41,79,80,.05)}
@keyframes brandsMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.booking-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;text-align:left}
.booking-contact-grid span{display:flex;flex-direction:column;gap:4px;padding:15px 17px;border:1px solid rgba(77,145,142,.2);border-radius:14px;background:#fff}
.booking-contact-grid a{font-weight:650}
.specialist-zl-widget{min-height:180px;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}
.specialist-zl-widget iframe{max-width:100%!important}
@media(max-width:900px){
 .brand-menu-shell{position:relative;background:#fbfaf7}
 .final-brand-lockup{padding:10px 68px 10px 18px!important;min-height:88px;display:flex;align-items:center;justify-content:center}
 .final-brand-logo{max-height:72px!important;width:auto!important}
 .header-menu-row{position:absolute!important;left:14px;top:50%;transform:translateY(-50%);width:auto!important;background:transparent!important;border:0!important;z-index:30}
 .header-menu-inner{padding:0!important;width:auto!important;margin:0!important}
 .menu-toggle{display:flex!important;margin:0!important}
 .main-nav{position:fixed!important;left:14px!important;right:14px!important;top:auto!important;margin-top:10px!important;width:auto!important;max-height:calc(100vh - 160px);overflow:auto}
 .contact-topbar-inner{gap:5px 12px;justify-content:center;text-align:center}
 .topbar-contact{justify-content:center;flex-wrap:wrap}
 .booking-contact-grid{grid-template-columns:1fr}
}
@media(max-width:560px){.topbar-booking{display:none}.contact-topbar{padding:7px 0}.topbar-contact{font-size:.82rem}.topbar-address{display:inline}.final-brand-lockup{min-height:78px;padding-top:7px!important;padding-bottom:7px!important}.final-brand-logo{max-height:64px!important}.brand-chip{min-height:62px;padding:12px 22px}.brands-track{animation-duration:34s}}
@media(prefers-reduced-motion:reduce){.brands-track{animation:none}}


/* v108 — prawdziwe źródła opinii + social media */
.google-reviews-section{background:#f8fbfa}
.google-reviews-intro{max-width:760px}
.google-reviews-live{margin-top:28px;overflow:hidden}
.google-reviews-live>div,.google-reviews-live iframe{max-width:100%!important}
.google-reviews-connect{margin-top:28px;padding:28px;border:1px solid rgba(55,130,132,.22);border-radius:22px;background:#fff;max-width:820px}
.google-reviews-connect strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;color:#294f50;margin-bottom:8px}
.google-reviews-connect p{margin:0 0 18px;max-width:700px}
.footer-social{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px}
.footer-social a{display:inline-flex;align-items:center;gap:8px;font-weight:650;text-decoration:none!important}
.footer-social a span{width:27px;height:27px;border:1px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;font:700 15px/1 Arial,sans-serif}
.specialist-zl-widget{position:relative;min-height:120px;overflow:hidden}
.specialist-zl-widget iframe{max-width:100%!important}
@media(max-width:760px){.google-reviews-connect{padding:22px}.footer-social{gap:10px 14px}}


/* v109: publiczne widoki bez komunikatów administracyjnych */
.media-frame:has(.media-empty){display:none!important}
.hero-grid:has(.media-frame .media-empty),.two-col:has(.media-frame .media-empty){grid-template-columns:minmax(0,1fr)!important}
.hero-grid:has(.media-frame .media-empty)>div:first-child,.two-col:has(.media-frame .media-empty)>div:first-child{max-width:860px}
.gallery-coming-soon{margin:20px 0 0;padding:22px 24px;border:1px solid rgba(77,145,142,.22);border-radius:18px;background:rgba(255,255,255,.58);color:#355f60}
.google-reviews-public-fallback{padding:26px 30px;text-align:center}
.google-reviews-public-fallback p{margin:0 0 18px}
\n\n/* v110 — ZnanyLekarz: wyłącznie oficjalny live widget przy właściwej specjalistce. */
.specialist-reviews-live{margin-top:22px;padding-top:20px;border-top:1px solid rgba(77,145,142,.24)}
.specialist-reviews-live .specialist-reviews-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.specialist-reviews-live .specialist-reviews-head strong{font-family:Georgia,'Times New Roman',serif;font-size:1.22rem;color:#294f50}
.specialist-reviews-live .specialist-reviews-head span{font-size:.82rem;font-weight:700;color:#6d7774}
.specialist-zl-widget{width:100%;min-height:160px;display:block;overflow:visible}
.specialist-zl-widget .zl-url{display:block;width:100%;padding:18px;border:1px solid rgba(77,145,142,.25);border-radius:18px;background:#fff;color:#294f50;text-align:center;text-decoration:none!important}
.specialist-zl-widget iframe{display:block!important;width:100%!important;max-width:100%!important;margin:0 auto!important;border:0!important}
.specialist-review-source{display:inline-block;margin-top:12px;font-size:.92rem;font-weight:700;color:#4d918e;text-decoration:none!important}
.specialist-review-source:hover{color:#bf6522}
/* Stare elementy karuzeli ZnanyLekarz z wcześniejszych wersji nie mogą się wyświetlić. */
.zl-reviews-section,.zl-review-slider,.zl-live-fallback,.zl-widget-placeholder{display:none!important}
@media(max-width:760px){.specialist-reviews-live{margin-top:18px;padding-top:16px}.specialist-zl-widget{min-height:145px}}

/* v111 — własna karuzela prawdziwych opinii pobieranych ze ZnanyLekarz. */
.specialist-reviews[data-zl-carousel]{margin-top:18px!important;padding-top:18px!important;border-top:1px solid rgba(77,145,142,.22)}
.specialist-reviews[data-zl-carousel] .specialist-reviews-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.specialist-reviews[data-zl-carousel] .specialist-reviews-head strong{font-family:Georgia,serif;font-size:22px;color:#294f50}
.specialist-reviews[data-zl-carousel] .specialist-reviews-head span{font-size:12px;font-weight:700;color:#66706f}
.specialist-reviews[data-zl-carousel] .specialist-review-carousel{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:10px}
.specialist-reviews[data-zl-carousel] .specialist-review-track{position:relative;min-height:185px;display:flex;align-items:stretch}
.specialist-reviews[data-zl-carousel] .specialist-review-item{display:none;width:100%;padding:22px 24px;border:1px solid rgba(77,145,142,.22);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(41,79,80,.06)}
.specialist-reviews[data-zl-carousel] .specialist-review-item.is-active{display:flex;flex-direction:column;justify-content:center;animation:zlFade .25s ease}
.specialist-review-stars{color:#d98635;font-size:18px;letter-spacing:2px;margin-bottom:10px}
.specialist-reviews[data-zl-carousel] .specialist-review-item p{margin:0;color:#344e4f;line-height:1.65;font-size:15px}
.specialist-review-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px;font-size:12px;color:#788181}
.specialist-review-arrow{width:38px;height:38px;border-radius:50%;border:1px solid rgba(77,145,142,.32);background:#fff;color:#378284;font-size:25px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.specialist-review-arrow:hover{background:#d9eae8}
.specialist-review-dots{display:flex;justify-content:center;gap:6px;margin:12px 0 4px;flex-wrap:wrap}
.specialist-review-dots span{width:6px;height:6px;border-radius:50%;background:rgba(77,145,142,.25)}
.specialist-review-dots span.is-active{background:#4d918e}
@keyframes zlFade{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:760px){.specialist-reviews[data-zl-carousel] .specialist-review-carousel{grid-template-columns:32px minmax(0,1fr) 32px;gap:6px}.specialist-review-arrow{width:32px;height:32px}.specialist-reviews[data-zl-carousel] .specialist-review-item{padding:18px}.specialist-reviews[data-zl-carousel] .specialist-review-track{min-height:210px}}
\n\n/* v112 — karuzela ZnanyLekarz: naturalna wysokość, bez nachodzenia i bez pustej przestrzeni. */
@media (min-width:761px){
  .specialists-grid{align-items:start!important}
  .specialist-card{height:auto!important;align-self:start!important}
  .specialist-content{height:auto!important;min-height:0!important;display:block!important}
  .specialist-bio{min-height:0!important}
  .specialist-reviews,
  .specialist-reviews-live,
  .specialist-reviews[data-zl-carousel]{margin-top:18px!important;min-height:0!important;height:auto!important;display:block!important;padding-top:18px!important}
  .specialist-reviews-head,
  .specialist-reviews[data-zl-carousel] .specialist-reviews-head{min-height:0!important;height:auto!important;margin-bottom:14px!important}
}
.specialist-reviews[data-zl-carousel] .specialist-review-carousel{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) 38px!important;
  align-items:center!important;
  gap:10px!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-track{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-item{
  position:static!important;
  grid-area:auto!important;
  display:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  box-sizing:border-box!important;
  padding:22px 24px!important;
  overflow:visible!important;
  align-items:initial!important;
  justify-content:initial!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-item.is-active{
  display:block!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-stars{
  position:static!important;
  display:block!important;
  margin:0 0 10px!important;
  line-height:1.2!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-item p{
  display:block!important;
  margin:0!important;
  max-height:none!important;
  overflow:visible!important;
  line-height:1.62!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-meta{
  position:static!important;
  margin:13px 0 0!important;
  line-height:1.4!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-dots{
  min-height:0!important;
  height:auto!important;
  margin:12px 0 8px!important;
}
.specialist-reviews[data-zl-carousel] .specialist-review-source{
  display:block!important;
  margin:8px 0 0!important;
  padding:0!important;
  text-align:center!important;
}
@media(max-width:760px){
  .specialist-card,.specialist-content{height:auto!important;min-height:0!important}
  .specialist-reviews[data-zl-carousel]{min-height:0!important;height:auto!important}
  .specialist-reviews[data-zl-carousel] .specialist-review-carousel{grid-template-columns:32px minmax(0,1fr) 32px!important;gap:6px!important}
  .specialist-reviews[data-zl-carousel] .specialist-review-track{min-height:0!important;height:auto!important}
  .specialist-reviews[data-zl-carousel] .specialist-review-item{min-height:0!important;height:auto!important;padding:18px!important}
}


/* =========================================================
   v113 — FINALNA KOREKTA RESPONSYWNOŚCI
   Jeden układ mobilny zamiast konfliktujących starych reguł.
   ========================================================= */
@media (max-width:900px){
  .site-header{overflow:visible!important}
  .brand-menu-shell{position:relative!important;background:#FBFAF7!important}
  .final-brand-lockup{
    min-height:86px!important;
    padding:8px 66px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .final-brand-link{max-width:100%!important}
  .final-brand-logo{
    display:block!important;
    width:auto!important;
    max-width:min(455px,100%)!important;
    max-height:76px!important;
    margin:0 auto!important;
  }

  /* Hamburger jest obok logo, bez dodatkowego pustego paska. */
  .header-menu-row{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    pointer-events:none!important;
    z-index:40!important;
  }
  .header-menu-inner{
    position:relative!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    pointer-events:none!important;
  }
  .header-menu-inner .menu-toggle{
    display:flex!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(55,130,132,.28)!important;
    border-radius:12px!important;
    background:#D9EAE8!important;
    color:#294F50!important;
    box-shadow:none!important;
    pointer-events:auto!important;
    z-index:42!important;
  }
  .menu-toggle-icon span{background:#294F50!important}

  /* Menu otwiera się bezpośrednio pod logo i zajmuje czytelną szerokość. */
  .header-menu-inner .main-nav{
    display:none!important;
    position:absolute!important;
    top:100%!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-height:calc(100vh - 145px)!important;
    overflow-y:auto!important;
    margin:0!important;
    padding:8px 16px 12px!important;
    background:#D9EAE8!important;
    border:1px solid rgba(55,130,132,.18)!important;
    border-top:0!important;
    border-radius:0 0 16px 16px!important;
    box-shadow:0 14px 28px rgba(41,79,80,.16)!important;
    pointer-events:auto!important;
    z-index:41!important;
  }
  .site-header.mobile-menu-open .header-menu-inner .main-nav,
  .header-menu-inner .main-nav.open{display:block!important}
  .header-menu-inner .main-nav .menu{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .header-menu-inner .main-nav .menu li{
    width:100%!important;
    margin:0!important;
    border-bottom:1px solid rgba(41,79,80,.12)!important;
  }
  .header-menu-inner .main-nav .menu li:last-child{border-bottom:0!important}
  .header-menu-inner .main-nav .menu a{
    display:block!important;
    width:100%!important;
    padding:13px 4px!important;
    text-align:left!important;
    font-size:.98rem!important;
    line-height:1.25!important;
    font-weight:650!important;
    color:#294F50!important;
  }

  .contact-topbar-inner{
    min-height:46px!important;
    padding:6px 0!important;
    justify-content:center!important;
  }
  .topbar-booking{display:none!important}
  .topbar-contact{
    width:100%!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:3px 14px!important;
    text-align:center!important;
    font-size:.86rem!important;
  }

  /* Podstawowe siatki nie mogą wychodzić poza ekran na tablecie. */
  .hero-grid,.two-col,.contact-grid{grid-template-columns:1fr!important}
  img,video,iframe{max-width:100%}
  .footer-small{text-align:center!important}
}

@media (max-width:620px){
  .final-brand-lockup{min-height:76px!important;padding:7px 62px!important}
  .final-brand-logo{max-width:100%!important;max-height:62px!important}
  .header-menu-inner{padding:0 10px!important}
  .header-menu-inner .main-nav{left:10px!important;right:10px!important}
  .topbar-contact{font-size:.78rem!important;gap:2px 9px!important}
  .topbar-address{display:inline!important}
  .floating-booking{
    right:10px!important;
    bottom:10px!important;
    max-width:calc(100vw - 92px)!important;
    padding:11px 14px!important;
    font-size:.84rem!important;
    white-space:nowrap!important;
  }
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .footer-grid>div:first-child{grid-column:auto!important}
  .footer-small{text-align:center!important}
}

@media (max-width:390px){
  .final-brand-lockup{padding-left:58px!important;padding-right:50px!important}
  .final-brand-logo{max-height:56px!important}
  .topbar-contact{font-size:.74rem!important}
}


/* =========================================================
   v114 — specjalistki/opinie: zero sztucznej wysokości i bez linku pod karuzelą
   ========================================================= */
.page-template-page-o-nas .specialists-grid,
.page-id-o-nas .specialists-grid,
.specialists-section .specialists-grid{
  align-items:start!important;
  grid-auto-rows:auto!important;
}
.page-template-page-o-nas .specialist-card,
.page-id-o-nas .specialist-card,
.specialists-section .specialist-card{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  align-self:start!important;
}
.page-template-page-o-nas .specialist-content,
.page-id-o-nas .specialist-content,
.specialists-section .specialist-content{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
}
.specialists-section .specialist-bio{
  min-height:0!important;
  height:auto!important;
}
.specialists-section .specialist-reviews[data-zl-carousel]{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  flex:none!important;
}
.specialists-section .specialist-review-carousel,
.specialists-section .specialist-review-track,
.specialists-section .specialist-review-item.is-active{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.specialists-section .specialist-review-source{display:none!important}

/* =========================================================
   v115 — O nas: obie specjalistki idealnie wyrównane na desktopie
   Linia nad opiniami zaczyna się na tej samej wysokości, a obie
   sekcje opinii przyjmują wysokość wyższej aktualnej opinii.
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialists-grid{
    align-items:stretch!important;
  }
  .specialists-section .specialist-card{
    height:100%!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .specialists-section .specialist-content{
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .specialists-section .specialist-bio{
    height:auto!important;
    margin-bottom:0!important;
  }
  .specialists-section .specialist-reviews[data-zl-carousel]{
    margin-top:18px!important;
    flex:0 0 auto!important;
  }
  .specialists-section .specialist-review-track{
    min-height:var(--zl-active-height,0px)!important;
    height:var(--zl-active-height,auto)!important;
    transition:height .2s ease!important;
  }
  .specialists-section .specialist-review-item.is-active{
    min-height:var(--zl-active-height,0px)!important;
    height:100%!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:760px){
  .specialists-section .specialist-bio,
  .specialists-section .specialist-review-track,
  .specialists-section .specialist-review-item.is-active{
    min-height:0!important;
    height:auto!important;
  }
}


/* =========================================================
   v116 — opinie: stała, równa geometria obu kolumn
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialists-grid{align-items:stretch!important}
  .specialists-section .specialist-card{display:flex!important;flex-direction:column!important;height:100%!important}
  .specialists-section .specialist-content{display:flex!important;flex-direction:column!important;height:100%!important;padding-bottom:26px!important}
  .specialists-section .specialist-bio{min-height:0!important;height:auto!important;margin-bottom:0!important}
  .specialists-section .specialist-reviews[data-zl-carousel]{
    flex:0 0 auto!important;
    padding-top:18px!important;
    margin-bottom:0!important;
    border-top:1px solid rgba(77,145,142,.24)!important;
  }
  .specialists-section .specialist-reviews-head{
    min-height:34px!important;
    margin:0 0 14px!important;
    align-items:center!important;
  }
  .specialists-section .specialist-reviews-head strong{font-size:21px!important;line-height:1.2!important}
  .specialists-section .specialist-reviews[data-zl-carousel] .specialist-review-carousel{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:10px!important;
    align-items:center!important;
  }
  .specialists-section .specialist-review-track{
    position:relative!important;
    min-height:var(--zl-fixed-height,220px)!important;
    height:var(--zl-fixed-height,220px)!important;
    transition:none!important;
  }
  .specialists-section .specialist-review-item,
  .specialists-section .specialist-review-item.is-active{
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    padding:22px 24px!important;
    justify-content:flex-start!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(41,79,80,.045)!important;
  }
  .specialists-section .specialist-review-stars{margin-bottom:9px!important}
  .specialists-section .specialist-review-item p{line-height:1.58!important}
  .specialists-section .specialist-review-meta{margin-top:12px!important}
  .specialists-section .specialist-review-dots{margin:11px 0 0!important;min-height:7px!important}
}

/* =========================================================
   v117 — finalne wyrównanie opinii bez wielkich pustych kart
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialist-content{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
  }
  .specialists-section .specialist-bio{
    margin:0!important;
    height:auto!important;
  }
  .specialists-section .specialist-reviews[data-zl-carousel]{
    margin-top:18px!important;
    padding-top:18px!important;
    border-top:1px solid rgba(77,145,142,.24)!important;
  }
  .specialists-section .specialist-reviews-head{
    height:34px!important;
    min-height:34px!important;
    margin:0 0 14px!important;
    display:flex!important;
    align-items:center!important;
  }
  .specialists-section .specialist-review-track{
    height:var(--zl-fixed-height,220px)!important;
    min-height:var(--zl-fixed-height,220px)!important;
    position:relative!important;
  }
  .specialists-section .specialist-review-item,
  .specialists-section .specialist-review-item.is-active{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
    padding:20px 22px!important;
  }
  .specialists-section .specialist-review-dots{
    margin:10px 0 0!important;
  }
}
\n\n/* =========================================================
   v118 — rzeczywiste wyrównanie sekcji opinii
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialists-grid{
    align-items:start!important;
  }
  .specialists-section .specialist-card{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
  }
  .specialists-section .specialist-content{
    height:auto!important;
    min-height:0!important;
    padding-bottom:24px!important;
  }
  .specialists-section .specialist-bio{
    height:auto!important;
    margin:0!important;
  }
  .specialists-section .specialist-reviews[data-zl-carousel]{
    margin-top:18px!important;
    padding-top:18px!important;
    margin-bottom:0!important;
  }
  .specialists-section .specialist-reviews-head{
    height:32px!important;
    min-height:32px!important;
    margin:0 0 12px!important;
  }
  .specialists-section .specialist-review-carousel{
    margin:0!important;
  }
  .specialists-section .specialist-review-track{
    height:var(--zl-fixed-height,220px)!important;
    min-height:var(--zl-fixed-height,220px)!important;
  }
  .specialists-section .specialist-review-item,
  .specialists-section .specialist-review-item.is-active{
    height:var(--zl-fixed-height,220px)!important;
    min-height:var(--zl-fixed-height,220px)!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:20px 22px!important;
  }
  .specialists-section .specialist-review-meta{
    margin-top:auto!important;
    padding-top:12px!important;
  }
  .specialists-section .specialist-review-dots{
    margin:9px 0 0!important;
    min-height:7px!important;
  }
}


/* =========================================================
   v119 — stały dół karuzeli, bez skakania między opiniami
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialists-grid{align-items:stretch!important}
  .specialists-section .specialist-card{height:100%!important;align-self:stretch!important;display:flex!important;flex-direction:column!important}
  .specialists-section .specialist-content{height:100%!important;display:flex!important;flex-direction:column!important;padding-bottom:24px!important}
  .specialists-section .specialist-reviews[data-zl-carousel]{margin-top:18px!important;padding-top:18px!important;margin-bottom:0!important}
  .specialists-section .specialist-reviews-head{height:32px!important;min-height:32px!important;margin:0 0 12px!important}
  .specialists-section .specialist-review-track{height:var(--zl-fixed-height,220px)!important;min-height:var(--zl-fixed-height,220px)!important;position:relative!important}
  .specialists-section .specialist-review-item{display:none!important;height:var(--zl-fixed-height,220px)!important;min-height:var(--zl-fixed-height,220px)!important;box-sizing:border-box!important;flex-direction:column!important;justify-content:flex-start!important;padding:20px 22px!important}
  .specialists-section .specialist-review-item.is-active{display:flex!important}
  .specialists-section .specialist-review-meta{margin-top:auto!important;padding-top:12px!important}
  .specialists-section .specialist-review-dots{height:7px!important;min-height:7px!important;margin:10px 0 0!important}
}


/* =========================================================
   v120 — STAŁY DÓŁ: aktywny slajd nie uczestniczy w układzie.
   Wysokość tracka i obu kart jest ustawiana raz przez JS.
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialists-grid{align-items:start!important}
  .specialists-section .specialist-card{display:flex!important;flex-direction:column!important;align-self:start!important;min-height:0!important}
  .specialists-section .specialist-content{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;padding-bottom:24px!important}
  .specialists-section .specialist-bio{min-height:0!important;margin:0!important;overflow:visible!important}
  .specialists-section .specialist-reviews[data-zl-carousel]{flex:0 0 auto!important;margin-top:18px!important;padding-top:18px!important;margin-bottom:0!important;border-top:1px solid rgba(77,145,142,.24)!important}
  .specialists-section .specialist-reviews-head{height:32px!important;min-height:32px!important;margin:0 0 12px!important;display:flex!important;align-items:center!important}
  .specialists-section .specialist-review-carousel{align-items:center!important}
  .specialists-section .specialist-review-track{position:relative!important;overflow:visible!important;flex:none!important;transition:none!important}
  .specialists-section .specialist-review-item{display:none!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;box-sizing:border-box!important;padding:20px 22px!important;flex-direction:column!important;justify-content:flex-start!important}
  .specialists-section .specialist-review-item.is-active{display:flex!important}
  .specialists-section .specialist-review-item.zl-measure{position:fixed!important;inset:auto!important;height:auto!important}
  .specialists-section .specialist-review-meta{margin-top:auto!important;padding-top:12px!important}
  .specialists-section .specialist-review-dots{height:7px!important;min-height:7px!important;margin:10px 0 0!important}
}
@media (max-width:760px){
  .specialists-section .specialist-card,
  .specialists-section .specialist-bio,
  .specialists-section .specialist-review-track{height:auto!important;min-height:0!important}
  .specialists-section .specialist-review-item{position:static!important;height:auto!important;min-height:0!important}
}

/* =========================================================
   v121 — opinie: stałe okno + treść wyśrodkowana.
   Rozmiar okna wyznacza najdłuższa opinia (JS v120),
   a zmienia się wyłącznie zawartość slajdu.
   ========================================================= */
@media (min-width:761px){
  .specialists-section .specialist-review-item,
  .specialists-section .specialist-review-item.is-active{
    height:100%!important;
    min-height:100%!important;
    padding:26px 34px!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  .specialists-section .specialist-review-stars{
    width:100%!important;
    margin:0 0 12px!important;
    text-align:center!important;
  }
  .specialists-section .specialist-review-item p{
    width:100%!important;
    max-width:680px!important;
    margin:0 auto!important;
    text-align:center!important;
    line-height:1.6!important;
  }
  .specialists-section .specialist-review-meta{
    width:100%!important;
    margin:16px 0 0!important;
    padding:0!important;
    text-align:center!important;
    justify-content:center!important;
    align-items:center!important;
  }
}
@media (max-width:760px){
  .specialists-section .specialist-review-item,
  .specialists-section .specialist-review-item.is-active{
    padding:22px 24px!important;
    text-align:center!important;
    align-items:center!important;
  }
  .specialists-section .specialist-review-stars,
  .specialists-section .specialist-review-item p,
  .specialists-section .specialist-review-meta{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
  }
}

/* v123 – pasek marek ma tę samą szerokość co główna treść strony */
.brands-marquee{
  width:min(1120px, calc(100% - 40px));
  margin:30px auto 0;
  border-radius:18px;
}
@media(max-width:560px){
  .brands-marquee{width:calc(100% - 28px);}
}

/* v124 – pasek marek bez zanikania przy krawędziach */
.brands-marquee{
  -webkit-mask-image:none!important;
  mask-image:none!important;
}

/* v125 – pasek marek dokładnie w szerokości głównego kontenera .wrap */
.brands-marquee{
  width:min(1220px, calc(100% - 48px));
  margin-left:auto;
  margin-right:auto;
  border-radius:0;
}
@media(max-width:560px){
  .brands-marquee{width:calc(100% - 28px);}
}

/* v126 — strona „Umów wizytę” spójna z wyśrodkowanym układem serwisu */
.booking-simple-page .booking-simple-card{
  width:min(100%,920px);
  margin-inline:auto;
  text-align:center;
}
.booking-simple-page .booking-simple-card .eyebrow,
.booking-simple-page .booking-simple-card h1,
.booking-simple-page .booking-simple-card .lead{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.booking-simple-page .booking-contact-grid{
  width:100%;
  max-width:760px;
  margin:28px auto 0;
  text-align:center;
}
.booking-simple-page .booking-contact-grid span{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.booking-simple-page .booking-phone-option{
  max-width:760px;
  text-align:center;
}
@media(max-width:680px){
  .booking-simple-page .wrap{width:100%;}
  .booking-simple-page .booking-simple-card{width:100%;}
  .booking-simple-page .booking-contact-grid{max-width:100%;}
}

/* v127 — „Umów wizytę” wyrównane do lewej jak pozostałe podstrony */
.booking-simple-page{
  align-items:flex-start;
}
.booking-simple-page .wrap{
  display:block;
}
.booking-simple-page .booking-simple-card{
  width:100%;
  max-width:none;
  margin:0;
  text-align:left;
}
.booking-simple-page .booking-simple-card .eyebrow,
.booking-simple-page .booking-simple-card h1,
.booking-simple-page .booking-simple-card .lead{
  text-align:left;
  margin-left:0;
  margin-right:0;
}
.booking-simple-page .booking-simple-card .lead{
  max-width:760px;
}
.booking-simple-page .booking-phone-option{
  max-width:none;
  margin-left:0;
  margin-right:0;
  text-align:left;
}
.booking-simple-page .booking-contact-grid{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  text-align:left;
}
.booking-simple-page .booking-contact-grid span{
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}
@media(max-width:680px){
  .booking-simple-page .wrap{width:min(1220px, calc(100% - 28px));}
}


/* =========================================================
   v128 — stopka: czytelniejszy blok kontaktowy
   ========================================================= */
.site-footer .footer-contact .footer-column-title{
  display:inline-block;
  margin:0 0 18px!important;
  padding-bottom:8px;
  position:relative;
  font-size:1.05rem!important;
  font-weight:800!important;
}
.site-footer .footer-contact .footer-column-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:3px;
  border-radius:999px;
  background:#D98635;
}
.site-footer .footer-contact-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.site-footer .footer-contact-item{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin:0!important;
  color:#294F50!important;
  text-decoration:none!important;
}
.site-footer a.footer-contact-item:hover b{
  color:#D98635!important;
}
.site-footer .footer-contact-icon{
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(77,145,142,.24);
  color:#D98635!important;
  font:800 16px/1 "Segoe UI",Arial,sans-serif!important;
}
.site-footer .footer-contact-item > span:last-child{
  min-width:0;
  padding-top:1px;
}
.site-footer .footer-contact-item small{
  display:block;
  margin:0 0 2px;
  color:#527475!important;
  font-size:.72rem!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.site-footer .footer-contact-item b{
  display:block;
  color:#294F50!important;
  font-size:.94rem!important;
  line-height:1.45!important;
  font-weight:750!important;
  overflow-wrap:anywhere;
  transition:color .18s ease;
}
@media(max-width:620px){
  .site-footer .footer-contact-list{gap:13px}
}

/* =========================================================
   v129 — spójna, uporządkowana cała stopka + odnośniki stron
   ========================================================= */
.site-footer .footer-grid-v129{
  grid-template-columns:1.35fr .65fr 1fr .72fr!important;
  gap:46px!important;
}
.site-footer .footer-column-title{
  display:inline-block!important;
  position:relative;
  margin:0 0 18px!important;
  padding-bottom:8px;
  color:#294F50!important;
  font-size:1.05rem!important;
  font-weight:800!important;
}
.site-footer .footer-column-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:3px;
  border-radius:999px;
  background:#D98635;
}
.site-footer .footer-about h3{margin-bottom:14px!important}
.site-footer .footer-about>p{max-width:420px;margin-bottom:16px!important}
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:17px}
.site-footer .footer-links a{font-size:.82rem!important;color:#527475!important}
.site-footer .footer-links a:hover{color:#D98635!important}

.site-footer .footer-nav-list{display:flex;flex-direction:column;gap:8px}
.site-footer .footer-nav-list a{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  padding:2px 0 2px 17px;
  color:#294F50!important;
  font-size:.92rem!important;
  line-height:1.45!important;
  font-weight:700!important;
}
.site-footer .footer-nav-list a::before{
  content:"›";
  position:absolute;
  left:0;
  top:1px;
  color:#D98635;
  font-size:1.1rem;
  line-height:1.3;
}
.site-footer .footer-nav-list a:hover{color:#D98635!important;transform:translateX(2px)}

.site-footer .footer-hours-list{display:flex;flex-direction:column;gap:10px;margin-bottom:19px}
.site-footer .footer-hours-list>div{display:flex;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid rgba(41,79,80,.13)}
.site-footer .footer-hours-list span{color:#527475!important;font-size:.83rem!important;line-height:1.35!important}
.site-footer .footer-hours-list b{color:#294F50!important;font-size:.88rem!important;line-height:1.35!important;white-space:nowrap}
.site-footer .footer-booking-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:10px;
  background:rgba(255,255,255,.5);
  border:1px solid rgba(77,145,142,.24);
  color:#294F50!important;
  font-size:.86rem!important;
  line-height:1.2!important;
}
.site-footer .footer-booking-link:hover{background:#fff!important;color:#D98635!important}

@media(max-width:1050px){
  .site-footer .footer-grid-v129{grid-template-columns:1fr 1fr!important;gap:38px 52px!important}
  .site-footer .footer-grid-v129>div:first-child{grid-column:auto!important;max-width:none!important}
}
@media(max-width:620px){
  .site-footer .footer-grid-v129{grid-template-columns:1fr!important;gap:30px!important}
  .site-footer .footer-hours-list{max-width:320px}
  .site-footer .footer-small{text-align:center!important}
}

/* =========================================================
   v130 — rezerwacja na stronie głównej: układ do lewej
   ========================================================= */
.home-booking-section .home-booking-card{
  text-align:left!important;
  padding:52px 58px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,250,247,.82))!important;
}
.home-booking-section .home-booking-card .eyebrow,
.home-booking-section .home-booking-card h2,
.home-booking-section .home-booking-card .lead{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
.home-booking-section .home-booking-card .lead{
  max-width:780px!important;
}
.home-booking-section .home-booking-actions{
  justify-content:flex-start!important;
  text-align:left!important;
  margin-top:26px!important;
}
.home-booking-section .home-booking-details{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 16px!important;
  margin-top:34px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(41,79,80,.14)!important;
  text-align:left!important;
}
.home-booking-section .home-booking-details > *{
  display:flex!important;
  align-items:center!important;
  min-height:48px;
  padding:11px 14px!important;
  border:1px solid rgba(77,145,142,.20)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.56)!important;
  color:#294F50!important;
  font-weight:700!important;
  line-height:1.35!important;
  text-align:left!important;
  text-decoration:none!important;
}
.home-booking-section .home-booking-details a:hover{
  border-color:rgba(217,134,53,.5)!important;
  color:#D98635!important;
  background:#fff!important;
}
@media(max-width:760px){
  .home-booking-section .home-booking-card{padding:34px 24px!important}
  .home-booking-section .home-booking-details{grid-template-columns:1fr!important}
  .home-booking-section .home-booking-actions .btn{width:100%;justify-content:center;text-align:center}
}
\n\n/* =========================================================
   v131 — rezerwacja na SG: układ boczny, spójny z resztą strony
   ========================================================= */
.home-booking-section{padding:76px 0!important}
.home-booking-section .home-booking-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
  gap:34px;
  align-items:stretch;
}
.home-booking-section .home-booking-main{
  text-align:left!important;
  padding:46px 0 42px!important;
}
.home-booking-section .home-booking-main .eyebrow,
.home-booking-section .home-booking-main h2,
.home-booking-section .home-booking-main .lead{
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
.home-booking-section .home-booking-main h2{max-width:720px;margin-bottom:18px!important}
.home-booking-section .home-booking-main .lead{max-width:720px!important}
.home-booking-section .home-booking-actions{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  margin-top:28px!important;
}
.home-booking-section .home-booking-contact{
  border:1px solid rgba(41,79,80,.14);
  border-radius:22px;
  background:rgba(255,255,255,.72);
  padding:28px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
}
.home-booking-contact-title{
  color:#D98635;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding-bottom:14px;
  margin-bottom:4px;
  border-bottom:1px solid rgba(41,79,80,.12);
}
.home-booking-contact>a,.home-booking-contact>div:not(.home-booking-contact-title){
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:15px 0;
  color:#294F50!important;
  text-decoration:none!important;
  border-bottom:1px solid rgba(41,79,80,.09);
}
.home-booking-contact>a:last-of-type{}
.home-booking-contact>div:last-child{border-bottom:0}
.home-booking-contact small{display:block;color:#6c7773;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.home-booking-contact strong{display:block;color:#294F50;font-size:.96rem;line-height:1.45}
.home-booking-icon{
  width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(217,134,53,.12);color:#C36E21;font-weight:800;font-size:.92rem;
}
.home-booking-contact>a:hover strong{color:#D98635}
@media(max-width:900px){
 .home-booking-section .home-booking-layout{grid-template-columns:1fr;gap:22px}
 .home-booking-section .home-booking-main{padding:18px 0 10px!important}
 .home-booking-section .home-booking-contact{max-width:none}
}
@media(max-width:620px){
 .home-booking-section{padding:54px 0!important}
 .home-booking-section .home-booking-contact{padding:22px 20px;border-radius:18px}
 .home-booking-section .home-booking-actions .btn{width:100%;justify-content:center;text-align:center}
}


/* =========================================================
   v132 — naprawa i dopracowanie rezerwacji na stronie głównej
   ========================================================= */
.home-booking-section{
  padding:78px 0!important;
  background:#f5f0e8!important;
}
.home-booking-section .home-booking-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important;
  gap:56px!important;
  align-items:center!important;
}
.home-booking-section .home-booking-main{
  padding:0!important;
  text-align:left!important;
}
.home-booking-section .home-booking-main .eyebrow{
  margin:0 0 18px!important;
  text-align:left!important;
}
.home-booking-section .home-booking-main h2{
  margin:0 0 20px!important;
  max-width:760px!important;
  text-align:left!important;
}
.home-booking-section .home-booking-main .lead{
  margin:0!important;
  max-width:760px!important;
  text-align:left!important;
}
.home-booking-section .home-booking-actions{
  display:flex!important;
  justify-content:flex-start!important;
  margin:30px 0 0!important;
}
.home-booking-section .home-booking-contact{
  display:flex!important;
  flex-direction:column!important;
  padding:30px 32px!important;
  border:1px solid rgba(77,145,142,.20)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 14px 38px rgba(41,79,80,.06)!important;
}
.home-booking-section .home-booking-contact-title{
  margin:0 0 6px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(41,79,80,.12)!important;
  color:#D98635!important;
  font-size:.86rem!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
.home-booking-section .home-booking-contact > a,
.home-booking-section .home-booking-contact > div:not(.home-booking-contact-title){
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:13px!important;
  align-items:center!important;
  margin:0!important;
  padding:15px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(41,79,80,.09)!important;
  color:#294F50!important;
  text-decoration:none!important;
}
.home-booking-section .home-booking-contact > div:last-child{border-bottom:0!important;padding-bottom:0!important}
.home-booking-section .home-booking-contact small{
  display:block!important;
  margin:0 0 3px!important;
  color:#6a7d7c!important;
  font-size:.70rem!important;
  line-height:1.2!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.home-booking-section .home-booking-contact strong{
  display:block!important;
  margin:0!important;
  color:#294F50!important;
  font-size:.95rem!important;
  line-height:1.45!important;
  font-weight:750!important;
}
.home-booking-section .home-booking-icon{
  width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:rgba(217,134,53,.12)!important;
  color:#C36E21!important;
  font-size:.9rem!important;
  font-weight:800!important;
}
@media(max-width:900px){
  .home-booking-section .home-booking-layout{grid-template-columns:1fr!important;gap:32px!important}
  .home-booking-section .home-booking-contact{max-width:620px!important}
}
@media(max-width:620px){
  .home-booking-section{padding:54px 0!important}
  .home-booking-section .home-booking-contact{padding:24px 22px!important;border-radius:17px!important}
  .home-booking-section .home-booking-actions .btn{width:100%!important;justify-content:center!important;text-align:center!important}
}

/* v133 — rezerwacja SG: obie kolumny startują na tej samej wysokości */
.home-booking-section .home-booking-layout{
  align-items:start!important;
}
.home-booking-section .home-booking-main{
  align-self:start!important;
}
.home-booking-section .home-booking-contact{
  align-self:start!important;
}


/* v134 — Opinie Google: do czasu dostępu do API sekcja prowadzi wyłącznie do oficjalnego Profilu Firmy Google. */
\n\n/* v135 — Opinie Google: lekki, elegancki kafel CTA */
.google-reviews-section{background:#f8fbfa;padding-top:74px;padding-bottom:78px}
.google-reviews-section .wrap{max-width:1220px}
.google-reviews-section h2{margin-bottom:18px}
.google-reviews-intro{max-width:720px;margin-bottom:0}
.google-reviews-connect.google-reviews-public-fallback{
  max-width:none;
  margin-top:34px;
  padding:28px 30px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  text-align:left;
  border:1px solid rgba(77,145,142,.20);
  border-radius:24px;
  background:rgba(255,255,255,.86);
  box-shadow:0 14px 34px rgba(41,79,80,.055);
}
.google-review-mark{
  width:64px;height:64px;border-radius:18px;
  display:grid;place-items:center;
  background:#eef6f5;
  border:1px solid rgba(77,145,142,.16);
}
.google-review-mark span{font:700 31px/1 Arial,sans-serif;color:#4285f4}
.google-review-copy{min-width:0}
.google-review-stars{color:#d98635;font-size:18px;letter-spacing:3px;line-height:1;margin-bottom:7px}
.google-reviews-connect.google-reviews-public-fallback .google-review-copy strong{
  margin:0 0 6px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1.28rem;
  line-height:1.25;
  color:#294f50;
}
.google-reviews-connect.google-reviews-public-fallback .google-review-copy p{
  margin:0;color:#60706d;line-height:1.6;max-width:650px
}
.google-review-button{white-space:nowrap;margin:0;display:inline-flex;align-items:center;gap:10px;padding:14px 20px}
.google-review-button span{font-size:1.15em;transition:transform .2s ease}
.google-review-button:hover span{transform:translateX(3px)}
@media(max-width:800px){
 .google-reviews-section{padding-top:58px;padding-bottom:62px}
 .google-reviews-connect.google-reviews-public-fallback{grid-template-columns:54px 1fr;gap:18px;padding:24px}
 .google-review-mark{width:54px;height:54px;border-radius:16px}
 .google-review-mark span{font-size:27px}
 .google-review-button{grid-column:1/-1;justify-self:start;margin-left:72px}
}
@media(max-width:560px){
 .google-reviews-connect.google-reviews-public-fallback{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:22px;border-radius:20px}
 .google-review-button{margin-left:0;width:100%;justify-content:center}
 .google-review-stars{margin-top:1px}
}

/* v136 — Opinie Google: poprawiony układ CTA bez zwężania tekstu i rozciągania przycisku */
.google-reviews-section .google-reviews-connect.google-reviews-public-fallback{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:32px!important;
  min-height:150px!important;
  padding:30px 34px!important;
  text-align:left!important;
}
.google-reviews-section .google-review-mark{flex:0 0 64px!important}
.google-reviews-section .google-review-copy{flex:1 1 auto!important;min-width:0!important}
.google-reviews-section .google-review-copy p{max-width:620px!important;width:auto!important;margin:0!important}
.google-reviews-section .google-review-button{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:190px!important;
  max-width:none!important;
  margin:0!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
@media(max-width:800px){
  .google-reviews-section .google-reviews-connect.google-reviews-public-fallback{flex-wrap:wrap!important;gap:18px!important;padding:26px!important}
  .google-reviews-section .google-review-copy{flex:1 1 calc(100% - 82px)!important}
  .google-reviews-section .google-review-button{margin-left:82px!important}
}
@media(max-width:560px){
  .google-reviews-section .google-reviews-connect.google-reviews-public-fallback{display:block!important;padding:22px!important}
  .google-reviews-section .google-review-mark{margin-bottom:16px!important}
  .google-reviews-section .google-review-copy{width:100%!important}
  .google-reviews-section .google-review-button{display:flex!important;width:100%!important;min-width:0!important;margin:20px 0 0!important}
}


/* v137 — Opinie Google w tym samym stylu co dolne CTA „Masz pytania?” */
.google-reviews-section{
  background:#fff!important;
  padding:72px 0 24px!important;
}
.google-reviews-section .wrap{
  width:min(1420px,calc(100% - 80px))!important;
  max-width:none!important;
}
.google-reviews-section .google-reviews-cta{
  padding:54px 34px!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  background:#faf7f2!important;
  box-shadow:none!important;
  text-align:center!important;
}
.google-reviews-section .google-reviews-cta .eyebrow{
  text-align:center!important;
}
.google-reviews-section .google-reviews-cta h2{
  margin:8px 0 12px!important;
  text-align:center!important;
}
.google-reviews-section .google-reviews-cta p{
  margin:0 auto 28px!important;
  max-width:760px!important;
  text-align:center!important;
}
.google-reviews-section .google-reviews-cta .actions{
  display:flex!important;
  justify-content:center!important;
  text-align:center!important;
}
.google-reviews-section .google-review-button{
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:14px 22px!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  .google-reviews-section{padding:52px 0 18px!important}
  .google-reviews-section .wrap{width:min(100% - 32px,1420px)!important}
  .google-reviews-section .google-reviews-cta{padding:42px 22px!important}
  .google-reviews-section .google-review-button{white-space:normal!important}
}

/* v139 — Opinie Google: szerokość identyczna jak dolny kafel „Masz pytania?” */
.google-reviews-section .wrap{
  width:min(980px,calc(100% - 48px))!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:700px){
  .google-reviews-section .wrap{
    width:min(100% - 28px,980px)!important;
    max-width:980px!important;
  }
}

/* v140 — Opinie Google: wyrównane do standardowej szerokości strony / dolnego CTA */
.google-reviews-section .wrap{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:520px){
  .google-reviews-section .wrap{
    width:min(100% - 28px,1180px)!important;
    max-width:1180px!important;
  }
}

/* v141 — Opinie Google: pełna szerokość zgodna z dolnym CTA */
.google-reviews-section .wrap{
  width:min(1220px,calc(100% - 40px))!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:520px){
  .google-reviews-section .wrap{
    width:min(100% - 28px,1220px)!important;
    max-width:1220px!important;
  }
}

/* v142 — czytelniejsze logo na komputerze po aktualizacji identyfikacji */
@media (min-width:901px){
  .final-brand-lockup{padding-top:12px!important;padding-bottom:12px!important;}
  .final-brand-logo{
    width:min(660px,78vw)!important;
    max-width:min(660px,78vw)!important;
    max-height:138px!important;
    height:auto!important;
    filter:contrast(1.04) saturate(1.04)!important;
  }
}

/* v143 — logo bez białego prostokąta, czytelniejsze i zwięzły nagłówek */
@media (min-width:901px){
  .final-brand-lockup{
    min-height:0!important;
    padding:8px 24px 7px!important;
    background:transparent!important;
  }
  .final-brand-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
  }
  .final-brand-logo{
    display:block!important;
    width:min(450px,62vw)!important;
    max-width:min(450px,62vw)!important;
    max-height:none!important;
    height:auto!important;
    background:transparent!important;
    filter:contrast(1.08) saturate(1.06)!important;
  }
}

/* v144 — wysokiej rozdzielczości logo bez sztucznego powiększania */
@media (min-width:901px){
  .final-brand-lockup{
    padding:10px 24px 9px!important;
  }
  .final-brand-logo{
    width:500px!important;
    max-width:min(500px,72vw)!important;
    height:auto!important;
    max-height:none!important;
    filter:none!important;
  }
}

/* v145 — spójne tło logo + większe logo na tablecie i telefonie */
@media (max-width:900px){
  .brand-menu-shell,
  .final-brand-lockup{
    background:#F8F6F1!important;
  }
  .final-brand-lockup{
    min-height:148px!important;
    padding:8px 70px!important;
  }
  .final-brand-logo{
    width:min(430px,100%)!important;
    max-width:min(430px,100%)!important;
    height:auto!important;
    max-height:132px!important;
    object-fit:contain!important;
  }
}
@media (max-width:620px){
  .final-brand-lockup{
    min-height:116px!important;
    padding:7px 58px!important;
  }
  .final-brand-logo{
    width:min(330px,100%)!important;
    max-width:min(330px,100%)!important;
    max-height:102px!important;
  }
}
@media (max-width:390px){
  .final-brand-lockup{
    min-height:104px!important;
    padding-left:52px!important;
    padding-right:46px!important;
  }
  .final-brand-logo{
    width:min(285px,100%)!important;
    max-width:min(285px,100%)!important;
    max-height:90px!important;
  }
}

/* v146 — pasek logo korzysta z tła nagłówka, bez osobnego koloru */
.brand-menu-shell,
.final-brand-lockup{
  background:transparent!important;
}

/* v147 — kompaktowy nagłówek wyłącznie na komputerze */
@media (min-width:901px){
  .final-brand-lockup{
    min-height:0!important;
    padding:4px 24px 3px!important;
  }
  .final-brand-logo{
    width:390px!important;
    max-width:min(390px,58vw)!important;
    height:auto!important;
    max-height:none!important;
  }
  .header-menu-row{
    min-height:56px!important;
  }
  .header-menu-inner{
    min-height:56px!important;
    padding-top:0!important;
    padding-bottom:0!important;
  }
  .main-nav .menu > li > a{
    padding-top:15px!important;
    padding-bottom:15px!important;
  }
}

/* v148 — mniejsze logo na desktopie, bez zmian wysokości nagłówka */
@media (min-width:901px){
  .final-brand-logo{
    width:320px!important;
    max-width:min(320px,52vw)!important;
  }
}


/* v149 — O nas: wyrównanie separatora nad opiniami obu specjalistek.
   Marta nie ma widocznego dopisku stanowiska, ale zachowujemy identyczny
   niewidoczny wiersz geometrii jak przy Natalii. */
.specialists-section .specialist-role-spacer{
  visibility:hidden!important;
  pointer-events:none!important;
  user-select:none!important;
}
@media(max-width:760px){
  .specialists-section .specialist-role-spacer{display:none!important;}
}


/* v150 — rezerwacja Google bezpośrednio na stronie + kafelki z logo marek */
.booking-inline-page{padding-top:58px;padding-bottom:72px;}
.booking-inline-intro{max-width:820px;margin:0 0 28px;}
.booking-inline-intro h1{margin-bottom:16px;}
.booking-inline-intro .lead{max-width:760px;}
.booking-calendar-shell{background:#fff;border:1px solid rgba(77,145,142,.24);border-radius:24px;padding:16px;box-shadow:0 16px 42px rgba(41,79,80,.06);overflow:hidden;}
.booking-calendar-iframe{display:block;width:100%;min-height:760px;border:0;border-radius:16px;background:#fff;}
.booking-inline-fallback{margin:16px 4px 0;font-size:.94rem;color:#5d7475;}
.booking-inline-fallback a{font-weight:700;color:#378284;}
.booking-inline-page .booking-phone-option{margin:28px 0 0;text-align:left;}
.booking-inline-page .booking-contact-grid{margin-top:22px;}
.brands-track{display:flex!important;align-items:center;gap:18px;word-spacing:0!important;}
.brand-chip.brand-logo-chip{width:150px;min-width:150px;height:88px;min-height:88px;padding:16px 22px!important;background:#fff;}
.brand-logo-chip img{display:block;max-width:100%;width:auto;height:54px;max-height:54px;object-fit:contain;image-rendering:auto;}
@media(max-width:760px){
 .booking-inline-page{padding-top:38px;padding-bottom:54px;}
 .booking-calendar-shell{padding:8px;border-radius:18px;}
 .booking-calendar-iframe{min-height:720px;height:720px;border-radius:12px;}
 .brand-chip.brand-logo-chip{width:124px;min-width:124px;height:76px;min-height:76px;padding:12px 18px!important;}
 .brand-logo-chip img{height:46px;max-height:46px;}
}


/* v152 — spokojniejsza, elegancka oprawa kalendarza bez przewijania iframe */
.booking-inline-page{background:linear-gradient(180deg,#f8f6f1 0%,#fff 100%);}
.booking-inline-intro{margin-bottom:34px;}
.booking-calendar-shell{
  padding:0!important;
  border:1px solid rgba(55,130,132,.20)!important;
  border-radius:28px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(41,79,80,.08)!important;
  overflow:hidden!important;
}
.booking-calendar-heading{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:22px 28px 20px;
  background:#f8f6f1;
  border-bottom:1px solid rgba(55,130,132,.14);
}
.booking-calendar-heading h2{margin:3px 0 0;font-size:clamp(1.45rem,2.3vw,2rem);color:#294f50;}
.booking-calendar-kicker{display:block;font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#bf6522;}
.booking-calendar-secure{display:inline-flex;align-items:center;white-space:nowrap;padding:9px 14px;border-radius:999px;background:#d9eae8;color:#355f60;font-size:.82rem;font-weight:800;}
.booking-calendar-frame{height:920px;overflow:hidden;background:#fff;}
.booking-calendar-iframe{
  display:block!important;width:100%!important;height:920px!important;min-height:920px!important;
  border:0!important;border-radius:0!important;background:#fff!important;overflow:hidden!important;
}
.booking-inline-fallback{text-align:center!important;margin-top:18px!important;}
.booking-inline-page .booking-phone-option{text-align:center!important;}
@media(max-width:760px){
  .booking-calendar-shell{border-radius:20px!important;}
  .booking-calendar-heading{padding:18px 18px 16px;align-items:flex-start;}
  .booking-calendar-secure{font-size:.74rem;padding:7px 10px;}
  .booking-calendar-frame{height:860px;}
  .booking-calendar-iframe{height:860px!important;min-height:860px!important;}
}
@media(max-width:480px){
  .booking-calendar-heading{display:block;}
  .booking-calendar-secure{margin-top:12px;}
  .booking-calendar-frame{height:900px;}
  .booking-calendar-iframe{height:900px!important;min-height:900px!important;}
}


/* v153 — czyste wektorowe logotypy i prostsza oprawa rezerwacji */
.brand-chip.brand-logo-chip{width:176px!important;min-width:176px!important;height:96px!important;min-height:96px!important;padding:12px 18px!important;border:1px solid rgba(41,79,80,.10)!important;border-radius:14px!important;box-shadow:none!important;background:#fff!important;}
.brand-logo-chip img{width:100%!important;height:70px!important;max-width:100%!important;max-height:70px!important;object-fit:contain!important;image-rendering:auto!important;}
.booking-inline-page{background:#f8f6f1!important;}
.booking-inline-intro{max-width:760px!important;margin:0 auto 28px!important;text-align:center!important;}
.booking-calendar-shell{max-width:1120px!important;margin:0 auto!important;padding:10px!important;border:1px solid rgba(41,79,80,.12)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 30px rgba(41,79,80,.05)!important;}
.booking-calendar-frame{height:980px!important;overflow:hidden!important;border-radius:12px!important;background:#fff!important;}
.booking-calendar-iframe{height:980px!important;min-height:980px!important;border-radius:12px!important;}
.booking-inline-fallback{font-size:.86rem!important;color:#6d7e7e!important;}
@media(max-width:760px){
 .brand-chip.brand-logo-chip{width:142px!important;min-width:142px!important;height:82px!important;min-height:82px!important;padding:10px 14px!important;}
 .brand-logo-chip img{height:60px!important;max-height:60px!important;}
 .booking-calendar-shell{padding:4px!important;border-radius:14px!important;}
 .booking-calendar-frame{height:940px!important;border-radius:10px!important;}
 .booking-calendar-iframe{height:940px!important;min-height:940px!important;border-radius:10px!important;}
}


/* v154 — pełne logotypy marek bez ucinania napisów */
.brand-logo-chip img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:72px!important;
  object-fit:contain!important;
  object-position:center!important;
  overflow:visible!important;
}
@media(max-width:560px){
  .brand-logo-chip img{max-height:60px!important;}
}


/* v155 — większe i optycznie równe marki, kalendarz na SG, kompaktowy sticky bez logo */
.site-header{position:relative!important;top:auto!important;background:#fbfaf7!important;border-bottom:0!important;backdrop-filter:none!important;overflow:visible!important;z-index:30!important;}
.final-brand-lockup{position:relative!important;z-index:1!important;background:#fbfaf7!important;}
.sticky-header-bars{position:sticky!important;top:0!important;z-index:50!important;background:rgba(251,250,247,.97)!important;backdrop-filter:blur(12px)!important;box-shadow:0 7px 20px rgba(41,79,80,.06)!important;}
.contact-topbar{min-height:30px!important;}
.contact-topbar-inner{min-height:30px!important;padding-top:3px!important;padding-bottom:3px!important;font-size:.78rem!important;}
.header-menu-row,.header-menu-inner{min-height:48px!important;}
.main-nav .menu>li>a{padding-top:11px!important;padding-bottom:11px!important;}
@media(min-width:901px){
 .final-brand-lockup{padding:5px 24px 4px!important;min-height:0!important;}
 .final-brand-logo{width:300px!important;max-width:min(300px,48vw)!important;}
}
.brands-marquee{overflow:hidden!important;padding:10px 0 4px!important;}
.brand-chip.brand-logo-chip{width:210px!important;min-width:210px!important;height:112px!important;min-height:112px!important;padding:14px 18px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
.brand-logo-chip img{width:100%!important;height:78px!important;max-width:174px!important;max-height:78px!important;object-fit:contain!important;object-position:center!important;}
/* optyczne wyrównanie bardzo szerokich / bardzo wysokich znaków */
.brand-logo-chip img[src*="zeiss"]{max-width:112px!important;max-height:70px!important;}
.brand-logo-chip img[src*="guess"]{max-width:132px!important;max-height:76px!important;}
.brand-logo-chip img[src*="barbie"]{max-width:142px!important;}
.brand-logo-chip img[src*="agatha"]{max-width:178px!important;}
.brand-logo-chip img[src*="kioto"]{max-width:178px!important;}
.home-booking-calendar{padding:70px 0!important;scroll-margin-top:90px;}
.home-booking-calendar-intro{max-width:820px;margin:0 auto 30px;text-align:center;}
.home-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:24px;align-items:start;}
.home-booking-calendar .booking-calendar-shell{max-width:none!important;width:100%!important;margin:0!important;}
.home-booking-calendar .booking-calendar-frame,.home-booking-calendar .booking-calendar-iframe{height:860px!important;min-height:860px!important;}
.home-booking-calendar .home-booking-contact{position:sticky;top:102px;}
@media(max-width:900px){
 .sticky-header-bars{position:relative!important;top:auto!important;box-shadow:none!important;}
 .home-calendar-layout{grid-template-columns:1fr;}
 .home-booking-calendar .home-booking-contact{position:relative;top:auto;}
 .brand-chip.brand-logo-chip{width:172px!important;min-width:172px!important;height:96px!important;min-height:96px!important;padding:12px 15px!important;}
 .brand-logo-chip img{height:68px!important;max-width:142px!important;max-height:68px!important;}
}
@media(max-width:560px){
 .home-booking-calendar{padding:48px 0!important;}
 .home-booking-calendar .booking-calendar-frame,.home-booking-calendar .booking-calendar-iframe{height:940px!important;min-height:940px!important;}
 .brand-chip.brand-logo-chip{width:154px!important;min-width:154px!important;height:90px!important;min-height:90px!important;}
 .brand-logo-chip img{max-width:128px!important;max-height:62px!important;}
}

/* v156 — węższa sekcja kalendarza na stronie głównej */
@media (min-width:901px){
  .home-booking-calendar .home-calendar-layout{
    width:min(100%,1060px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    grid-template-columns:minmax(0,760px) 276px!important;
    gap:24px!important;
    justify-content:center!important;
  }
  .home-booking-calendar .booking-calendar-shell{
    width:100%!important;
    max-width:760px!important;
  }
}


/* v157 — rozwinięcie opisu Google nie może chować dostępnych terminów */
.home-booking-calendar .booking-calendar-frame{
  height:1180px!important;
  min-height:1180px!important;
  overflow:hidden!important;
}
.home-booking-calendar .booking-calendar-iframe{
  height:1180px!important;
  min-height:1180px!important;
  display:block!important;
}
@media(max-width:900px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{height:1220px!important;min-height:1220px!important;}
}
@media(max-width:560px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{height:1280px!important;min-height:1280px!important;}
}


/* v159 — szeroka sekcja jak v158 + bezpieczna wysokość kalendarza jak przed obniżeniem */
@media (min-width:901px){
  .home-booking-calendar .home-calendar-layout{
    width:min(1220px,calc(100% - 40px))!important;
    max-width:1220px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    grid-template-columns:minmax(0,1fr) 285px!important;
    gap:24px!important;
    justify-content:stretch!important;
  }
  .home-booking-calendar .booking-calendar-shell{
    width:100%!important;
    max-width:none!important;
  }
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{
    height:1180px!important;
    min-height:1180px!important;
  }
}
@media (max-width:900px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{
    height:1220px!important;
    min-height:1220px!important;
  }
}
@media (max-width:560px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{
    height:1280px!important;
    min-height:1280px!important;
  }
}


/* v160 — pełna wysokość kalendarza także po rozwinięciu opisu */
@media (min-width:901px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{
    height:1580px!important;
    min-height:1580px!important;
  }
}
@media (max-width:900px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{
    height:1640px!important;
    min-height:1640px!important;
  }
}
@media (max-width:560px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{
    height:1720px!important;
    min-height:1720px!important;
  }
}


/* v161 — na telefonie pływający przycisk rezerwacji nie zasłania treści */
@media (max-width:620px){
  .floating-booking{display:none!important;}
}
\n\n/* v162 — przyklejony kontakt + menu, kalendarz bezpośrednio pod ofertą, dostęp do późniejszych godzin */
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:80!important;
  overflow:visible!important;
  background:transparent!important;
}
.sticky-header-bars{
  position:relative!important;
  top:auto!important;
  z-index:80!important;
  box-shadow:0 7px 20px rgba(41,79,80,.08)!important;
}
/* kalendarz nie musi być gigantyczny — w razie rozwinięcia opisu można przewinąć jego zawartość */
.home-booking-calendar .booking-calendar-frame{
  height:1120px!important;
  min-height:1120px!important;
  overflow:hidden!important;
}
.home-booking-calendar .booking-calendar-iframe{
  height:1120px!important;
  min-height:1120px!important;
}
@media(max-width:900px){
  .site-header{position:sticky!important;top:0!important;}
  .sticky-header-bars{position:relative!important;top:auto!important;box-shadow:0 6px 18px rgba(41,79,80,.08)!important;}
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{height:980px!important;min-height:980px!important;}
}
@media(max-width:560px){
  .home-booking-calendar .booking-calendar-frame,
  .home-booking-calendar .booking-calendar-iframe{height:900px!important;min-height:900px!important;}
}

/* v163 — zwarty nagłówek: logo osobno, kontakt + menu przyklejone bez pustych przerw */
.final-brand-lockup{
  margin:0!important;
  border:0!important;
}
.site-header{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.sticky-header-bars{
  position:relative!important;
  top:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  z-index:90!important;
  background:#FBFAF7!important;
  box-shadow:0 7px 20px rgba(41,79,80,.08)!important;
}
.contact-topbar,
.header-menu-row{
  margin:0!important;
}
.header-menu-row{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
}
@media (max-width:900px){
  .site-header{position:sticky!important;top:0!important;}
  .sticky-header-bars{position:relative!important;top:auto!important;margin:0!important;}
}


/* v164 — pewne przyklejenie wspólnego bloku kontakt + menu po przewinięciu logo */
.site-header{
  position:relative!important;
  top:auto!important;
}
.site-header.header-bars-fixed{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:999!important;
}
.header-sticky-spacer{
  display:none;
  width:100%;
  height:0;
  margin:0;
  padding:0;
}
.header-sticky-spacer.is-active{display:block;}
.sticky-header-bars{
  position:relative!important;
  top:auto!important;
  width:100%!important;
}
@media(max-width:900px){
  .site-header{position:relative!important;top:auto!important;}
  .site-header.header-bars-fixed{position:fixed!important;top:0!important;left:0!important;right:0!important;}
}

/* Cennik – v1.65 */
.pricing-page .pricing-intro{padding-top:58px;padding-bottom:46px}
.pricing-page .pricing-intro h1{margin-bottom:12px}
.pricing-section{padding:58px 0 70px}
.pricing-section-alt{background:#f5faf9}
.pricing-section h2{margin:0 0 28px;text-align:center}
.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.pricing-card{background:#fff;border:1px solid #d8e9e6;border-radius:20px;padding:27px 28px;box-shadow:0 10px 30px rgba(25,75,72,.055)}
.pricing-card-featured{border-color:#7ab5ac;background:linear-gradient(145deg,#fff,#f0f9f7)}
.pricing-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.pricing-card h3{font-size:1.12rem;line-height:1.4;margin:0;color:#214e4a}
.pricing-price{font-size:1.45rem;font-weight:800;color:#18756b;white-space:nowrap;line-height:1.3}
.pricing-card p{margin:16px 0 0;line-height:1.7}
.pricing-highlight{background:#e3f4ef;border-radius:12px;padding:11px 15px;color:#205b50}
.pricing-highlight strong{font-size:1.2rem}
.pricing-note{margin:27px 0 0;padding:17px 20px;border-left:4px solid #d18b42;border-radius:8px;background:#fff7eb}
.pricing-cta{text-align:center;padding:48px 0 72px}
.pricing-cta h2{margin-bottom:6px}
.pricing-cta .btn{display:inline-flex;margin-top:16px}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr}.pricing-card{padding:22px 20px}.pricing-card-head{gap:12px}.pricing-price{font-size:1.25rem}.pricing-section{padding:40px 0 52px}}
@media(max-width:390px){.pricing-card-head{flex-direction:column;gap:9px}}

/* v1.66 — cennik w układzie wierszowym inspirowanym Eye Point */
.pricing-page-list .pricing-wrap{max-width:1120px}
.pricing-page-list .pricing-heading{margin:0 0 28px}
.pricing-page-list .pricing-heading h2{margin:7px 0 0;text-align:left;font-size:clamp(1.65rem,3vw,2.35rem)}
.pricing-page-list .price-service-list{display:flex;flex-direction:column;gap:0;border-top:1px solid #d9e8e6}
.pricing-page-list .price-service{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:30px;padding:30px 12px;border-bottom:1px solid #d9e8e6;background:transparent}
.pricing-page-list .price-service-featured{background:linear-gradient(90deg,#ecf8f4,transparent);border-left:4px solid #298779;padding-left:22px}
.pricing-page-list .price-service h3{font-size:clamp(1.08rem,1.6vw,1.27rem);line-height:1.45;color:#214e4a;margin:0 0 4px;font-weight:700}
.pricing-page-list .price-service p{font-size:.98rem;line-height:1.7;color:#526967;margin:9px 0 0;max-width:720px}
.pricing-page-list .price-service p strong{color:#117c70;font-size:1.12em}
.pricing-page-list .price-service-side{display:flex;flex-direction:column;align-items:flex-end;gap:13px}
.pricing-page-list .price-service-amount{font-size:clamp(1.45rem,2.1vw,1.85rem);color:#19766d;white-space:nowrap;line-height:1.2;font-weight:800}
.pricing-page-list .price-service-book{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 17px;border:1px solid #267c72;border-radius:6px;color:#267c72!important;text-decoration:none!important;font-size:.9rem;font-weight:700;transition:background .2s,color .2s}
.pricing-page-list .price-service-book:hover,.pricing-page-list .price-service-book:focus{background:#267c72;color:#fff!important}
.pricing-page-list .pricing-note{max-width:100%;margin-top:26px}
@media(max-width:650px){.pricing-page-list .price-service{grid-template-columns:1fr;gap:14px;padding:23px 5px}.pricing-page-list .price-service-featured{padding-left:15px}.pricing-page-list .price-service-side{flex-direction:row;align-items:center;justify-content:space-between;gap:14px}.pricing-page-list .price-service-amount{font-size:1.4rem}.pricing-page-list .price-service-book{padding:9px 13px}.pricing-page-list .pricing-heading h2{font-size:1.65rem}}
@media(max-width:360px){.pricing-page-list .price-service-side{flex-wrap:wrap}}

/* v167 — rejestracja okulistyczna wyłącznie telefonicznie */
.pricing-phone-info{margin:0 0 22px;line-height:1.6;}


/* v1.68 — wspólne, stabilne przyklejenie paska kontaktu i nawigacji */
.site-header,
.site-header.header-bars-fixed{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  z-index:999!important;
  margin:0!important;
  background:transparent!important;
}
.sticky-header-bars{width:100%!important;margin:0!important;padding:0!important;box-shadow:0 5px 16px rgba(41,79,80,.08)!important;}
.contact-topbar,.header-menu-row{width:100%!important;margin:0!important;}
.contact-topbar-inner,.header-menu-inner{width:min(1380px,calc(100% - 48px))!important;margin:0 auto!important;}
.header-menu-row{background:#dcefeb!important;}
.header-menu-inner{display:flex!important;align-items:center!important;justify-content:center!important;}
.final-brand-lockup{margin:0!important;}
@media(max-width:900px){
 .site-header,.site-header.header-bars-fixed{position:sticky!important;top:0!important;}
 .header-menu-inner{justify-content:flex-start!important;}
 .contact-topbar-inner,.header-menu-inner{width:calc(100% - 28px)!important;}
}

/* v1.68 — cennik: osobne kafelki, równe wyrównanie z nagłówkiem */
.pricing-page-cards .pricing-intro{padding:54px 0 42px!important;}
.pricing-page-cards .pricing-intro .wrap,
.pricing-page-cards .pricing-section .wrap{width:min(1220px,calc(100% - 48px))!important;max-width:1220px!important;margin-inline:auto!important;}
.pricing-page-cards .pricing-section{padding:50px 0 66px;}
.pricing-page-cards .pricing-heading{margin-bottom:26px;}
.pricing-page-cards .pricing-heading h2{margin:6px 0 0;text-align:left;font-size:clamp(1.9rem,3vw,2.55rem);}
.pricing-page-cards .price-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;border:0;}
.pricing-page-cards .price-service{
 display:flex;flex-direction:column;justify-content:space-between;gap:24px;
 background:#fff;border:1px solid #d9e7e3;border-radius:17px;
 padding:28px 28px 24px;box-shadow:0 8px 25px rgba(25,75,72,.055);
 min-width:0;transition:box-shadow .2s ease,transform .2s ease;
}
.pricing-page-cards .price-service:hover{box-shadow:0 13px 32px rgba(25,75,72,.10);transform:translateY(-2px);}
.pricing-page-cards .price-service-featured{border:1px solid #d9e7e3;background:#fff;}
.pricing-page-cards .price-service h3{margin:0;font-size:clamp(1.13rem,1.6vw,1.35rem);line-height:1.4;color:#235a55;}
.pricing-page-cards .price-service p{margin:12px 0 0;line-height:1.65;color:#536866;font-size:.98rem;}
.pricing-page-cards .price-service p strong{color:#087e71;}
.pricing-page-cards .price-service-side{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-top:17px;border-top:1px solid #e0eae7;}
.pricing-page-cards .price-service-amount{font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.2;color:#157b70;font-weight:800;white-space:nowrap;}
.pricing-page-cards .price-service-book{display:inline-flex;align-items:center;gap:9px;border-radius:8px;border:1px solid #187d73;color:#187d73!important;padding:10px 16px;font-weight:700;text-decoration:none!important;}
.pricing-page-cards .price-service-book:hover{background:#187d73;color:white!important;}
.pricing-page-cards .pricing-phone-info{margin-bottom:24px;}
.pricing-page-cards .pricing-phone-info a{color:#187d73;text-decoration:underline;}
.pricing-page-cards .pricing-note{margin-top:26px;}
@media(max-width:760px){
 .pricing-page-cards .price-service-list{grid-template-columns:1fr;gap:16px;}
 .pricing-page-cards .price-service{padding:23px 20px;gap:18px;}
 .pricing-page-cards .pricing-intro .wrap,.pricing-page-cards .pricing-section .wrap{width:calc(100% - 28px)!important;}
 .pricing-page-cards .pricing-section{padding:38px 0 50px;}
}

/* v1.70: widoczna cena promocyjna, bez łamania kwoty i waluty */
.pricing-page-cards .pricing-promo-price{display:inline-block;white-space:nowrap;font-size:1.18em;font-weight:800;color:#087d76;line-height:1.15;}

/* v1.71: promocja 1 zł jako niepodzielna całość na małych ekranach */
.pricing-page-cards .price-service-copy .pricing-promo-price{display:inline!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;font-weight:800!important;color:#087d76!important;font-size:1.12em;line-height:inherit;}
@media(max-width:760px){.pricing-page-cards .price-service-copy .pricing-promo-price{font-size:1.06em!important;letter-spacing:0!important;}}


/* v172: jednolity, przyklejany blok kontaktu i menu na każdym ekranie.
   Nadpisuje sprzeczne reguły sticky z wcześniejszych wersji. */
.site-header,.site-header.header-bars-fixed{
  position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  width:100%!important;z-index:9999!important;transform:none!important;
}
.site-header.header-bars-fixed{
  position:fixed!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;margin:0!important;
}
.header-sticky-spacer{display:block!important;height:0;margin:0!important;padding:0!important;visibility:hidden!important;pointer-events:none!important;}
.sticky-header-bars{position:relative!important;top:auto!important;}
@media(max-width:900px){
 .site-header,.site-header.header-bars-fixed{top:auto!important;}
 .site-header.header-bars-fixed{top:0!important;}
}

/* v175: jednolite przyklejenie kontaktu i menu na wszystkich ekranach.
   Logo znajduje sie poza .site-header i przewija sie normalnie. */
html,body{overflow-x:clip;}
.site-header,.site-header.header-bars-fixed{
  position:sticky!important;top:0!important;left:auto!important;right:auto!important;
  width:100%!important;z-index:9999!important;transform:none!important;
}
.header-sticky-spacer,.header-sticky-spacer.is-active{display:none!important;height:0!important;}
.sticky-header-bars{position:relative!important;top:auto!important;}
@media(max-width:900px){
  .site-header,.site-header.header-bars-fixed{position:sticky!important;top:0!important;}
}
