:root{
--navy-900:#1f2a44;
--navy-800:#26345a;
--blue-600:#2f7fc0;
--blue-400:#5aa7e8;
--blue-100:#eaf5fd;
--blue-050:#f5faff;
--silver-200:#e9ecef;
--silver-300:#dfe3e8;
--gold-300:#2f7fc0;
--rose-200:#eaf5fd;
--text-900:#2b2f38;
--text-700:#4b5261;
--white:#ffffff;

--radius-s:10px;
--radius-m:14px;
--radius-l:18px;
--shadow-s:0 3px 12px rgba(0,0,0,0.08);
--shadow-m:0 8px 24px rgba(0,0,0,0.12);
--shadow-glow:0 8px 30px rgba(90,167,232,0.25);
--ease:cubic-bezier(.22,.61,.36,1);

--font-sans:"Inter","Segoe UI",Roboto,Arial,sans-serif;
--font-serif:"Playfair Display",Georgia,serif;
--fs-hero:clamp(30px,4vw,48px);
--fs-h1:clamp(26px,3vw,36px);
--fs-h2:clamp(22px,2.4vw,30px);
--fs-h3:clamp(18px,2vw,22px);
--fs-body:clamp(15px,1.2vw,17px);
--fs-small:14px;

--sp-1:8px;
--sp-2:12px;
--sp-3:16px;
--sp-4:24px;
--sp-5:32px;
--sp-6:48px;
--sp-7:64px;
}

*{ box-sizing:border-box; }
html{ height:100%; margin:0; padding:0; scroll-behavior:smooth; overflow-x:hidden; }
body{ min-height:100%; width:100%; max-width:100%; margin:0; padding:0; font-family:var(--font-sans); color:var(--text-900); background:#fafbfc; line-height:1.6; overflow-x:hidden; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--blue-400); text-decoration:none; }
a:hover{ opacity:.9; }
.skip-link{ position:absolute; left:-9999px; top:auto; }
.skip-link:focus{ left:16px; top:16px; z-index:1000; background:#fff; color:var(--navy-900); padding:10px 14px; border-radius:999px; box-shadow:var(--shadow-s); }

/* Breadcrumb Navigation */
.breadcrumb{ padding:var(--sp-4) var(--sp-6); background:#f9f9f9; border-bottom:1px solid var(--silver-300); }
.breadcrumb ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:var(--sp-2); font-size:var(--fs-small); color:var(--text-700); }
.breadcrumb li{ display:inline; }
.breadcrumb li::after{ content:" / "; margin:0 var(--sp-2); color:var(--silver-300); }
.breadcrumb li:last-child::after{ content:""; margin:0; }
.breadcrumb a{ color:var(--blue-400); font-weight:500; transition:color .2s var(--ease); }
.breadcrumb a:hover{ color:var(--navy-900); }

/* Topbar */
.upper-header{ background:var(--navy-900); color:var(--white); border-bottom:1px solid rgba(255,255,255,0.15); }
.upper-header-content{ margin:0 var(--sp-6); padding:6px var(--sp-4); display:flex; gap:var(--sp-7); align-items:center; justify-content:space-between; }
.upper-header a{ color:#e9f3ff; }

/* Header / nav */
header{ background:var(--navy-900); padding:var(--sp-4) var(--sp-6); position:sticky; top:0; z-index:100; box-shadow:var(--shadow-s); }
.inside-header{ display:flex; align-items:center; justify-content:space-between; }
.logo img{ filter:invert(1); width:160px; height:auto; }
.main-list ul{ margin:0; padding:0; list-style:none; display:flex; gap:8px; align-items:center; }
.main-list li{ display:inline-block; }
.main-list li a{ color:var(--white); padding:10px 14px; border-radius:8px; transition:background .25s var(--ease),color .25s var(--ease); font-weight:600; }
.main-list li a:hover{ background:rgba(255,255,255,0.08); color:#e9f3ff; }
.appointmentwithme{ padding:10px 18px; border-radius:999px; border:2px solid var(--white); }
.menu-toggle{ display:none; }

/* Dropdown czysto, bez !important */
/* DROPDOWN – widoczność i kontrast */
.dropdown{ position: relative; display: inline-block; }
.dropdown-content{
position: absolute; top: 100%; left: 0; margin-top: 10px;
background: #101935; /* głęboki granat dla wysokiego kontrastu */
min-width: 260px;
border: 1px solid rgba(255,255,255,0.18);
border-radius: 12px;
box-shadow: 0 14px 40px rgba(0,0,0,0.35);
padding: 8px;
opacity: 0; visibility: hidden; transform: translateY(-6px);
transition: opacity .2s var(--ease), transform .2s var(--ease), visibility .2s var(--ease);
z-index: 999;
}
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content{
opacity: 1; visibility: visible; transform: translateY(0);
}

/* Linki w dropdownie: jasne i czytelne od razu */
.dropdown-content a{
display: block;
color: #e7eefc; /* jasny błękitny tekst na granacie */
padding: 12px 14px;
border-radius: 8px;
font-weight: 600;
letter-spacing: .2px;
transition: background .18s var(--ease), color .18s var(--ease);
text-decoration: none;
}

/* Hover: wyraźne podświetlenie */
.dropdown-content a:hover{
background: rgba(90,167,232,0.18); /* półprzezroczysty błękit */
color: #ffffff;
}

/* Delikatny separator między grupami (opcjonalnie) */
.dropdown-content .divider{
height: 1px;
margin: 6px 4px;
background: rgba(255,255,255,0.12);
border: 0;
}



/* Section titles */
.section-title{ padding:0 var(--sp-6); margin:var(--sp-6) 0 var(--sp-4); }
.section-title span{ font-size:var(--fs-small); color:var(--text-700); letter-spacing:.08em; text-transform:uppercase; }
.section-title h2{ font-size:var(--fs-h1); font-weight:700; margin:var(--sp-2) 0 0; font-family:var(--font-serif); color:var(--navy-900); }

/* Hero */
.home{
padding:var(--sp-6) var(--sp-6) var(--sp-7);
background:
radial-gradient(1200px 600px at 80% -10%, rgba(90,167,232,0.12), transparent 60%),
linear-gradient(180deg, #f3f7fb 0%, #ffffff 100%);
}
.hero{ display:grid; gap:var(--sp-5); grid-template-columns:.8fr 1.2fr; align-items:center; }
.hero h1{ font-size:var(--fs-hero); font-family:var(--font-serif); color:var(--navy-900); line-height:1.2; margin:0 0 var(--sp-3); }
.hero p{ font-size:var(--fs-body); color:var(--text-700); max-width:60ch; margin:0; }
.cta{ display:flex; gap:var(--sp-3); align-items:center; margin-top:var(--sp-3); }
.btn{
display:inline-flex; align-items:center; gap:10px;
padding:12px 18px; border-radius:999px; font-weight:600;
transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
will-change:transform;
}
.btn-primary{ background:var(--navy-900); color:var(--white); box-shadow:var(--shadow-glow); }
.btn-primary:hover{ transform:translateY(-2px); }
.btn-ghost{ background:var(--rose-200); color:var(--navy-900); }
.hero .hero-art{ border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-m); }

/* Values icons */
.home-list-start{ padding:0 var(--sp-6) var(--sp-6); }
.home-list{
display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--sp-5); text-align:center; justify-content:center;
}
.home-list-content{
background:var(--white); padding:var(--sp-5) var(--sp-4); color:var(--text-900);
display:flex; flex-direction:column; align-items:center; justify-content:center;
border:1px solid var(--silver-300); border-radius:var(--radius-l);
box-shadow:var(--shadow-s); transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.home-list-content:hover{ transform:translateY(-6px); box-shadow:var(--shadow-m); }
.home-list-icon{ font-size:28px; margin-bottom:12px; }
.home-list h3{ font-family:var(--font-serif); font-size:var(--fs-h3); margin:0 0 6px; }
.home-list p{ font-size:var(--fs-small); color:var(--text-700); line-height:1.5; }

/* First visit and service pages */
.first-visit{ padding:0 var(--sp-6) var(--sp-7); background:var(--white); }
.first-visit-steps{ max-width:1100px; margin:0 auto; padding:0; list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-3); counter-reset:steps; }
.first-visit-steps li{ counter-increment:steps; position:relative; padding:var(--sp-4); padding-top:56px; border:1px solid #b9d8ee; border-radius:var(--radius-m); background:var(--blue-050); color:var(--text-700); }
.first-visit-steps li::before{ content:counter(steps); position:absolute; top:16px; left:var(--sp-4); display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--blue-600); color:var(--white); font-weight:700; }
.first-visit-steps strong{ display:block; margin-bottom:6px; color:var(--navy-900); font-family:var(--font-serif); font-size:var(--fs-h3); }
.first-visit-steps span{ display:block; }
.page-main{ max-width:1100px; margin:0 auto; padding:var(--sp-7) var(--sp-6); }
.eyebrow{ margin:0 0 var(--sp-2); color:var(--blue-600); font-size:var(--fs-small); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.page-hero{ max-width:760px; }
.page-hero h1{ margin:0 0 var(--sp-3); color:var(--navy-900); font-family:var(--font-serif); font-size:var(--fs-hero); line-height:1.2; }
.page-hero p{ max-width:65ch; color:var(--text-700); font-size:var(--fs-body); }
.page-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:var(--sp-5); margin-top:var(--sp-6); }
.page-content,.page-aside{ background:var(--white); border:1px solid var(--silver-300); border-radius:var(--radius-l); box-shadow:var(--shadow-s); padding:var(--sp-5); }
.page-content h2,.page-aside h2{ color:var(--navy-900); font-family:var(--font-serif); font-size:var(--fs-h2); }
.page-content li,.page-aside li{ margin-bottom:8px; color:var(--text-700); }
.page-aside{ align-self:start; background:var(--blue-050); }
.page-aside .btn{ margin-top:var(--sp-3); }

/* About me */
#aboutme{ padding:var(--sp-7) 0; display:flex; justify-content:center; background:#f6f8fb; }
.aboutme-page{
display:flex; flex-wrap:wrap; gap:var(--sp-5); max-width:1100px; width:100%;
background:var(--white); border:1px solid var(--silver-300); border-radius:var(--radius-m);
padding:var(--sp-5); box-shadow:var(--shadow-s); align-items:center;
}
.aboutme-content{ flex:1 1 420px; font-size:var(--fs-body); color:var(--text-900); }
.aboutme-page img{ flex:1 1 320px; max-width:420px; border-radius:var(--radius-m); object-fit:cover; box-shadow:var(--shadow-s); }
.aboutme-content h3.aboutme-start{ font-size:var(--fs-h3); margin-bottom:var(--sp-2); color:var(--text-700); letter-spacing:.06em; text-transform:uppercase; }

/* Oferta */
.offer-wrap{ padding:var(--sp-7) var(--sp-6); background:linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%); }
.offers-grid{ display:grid; gap:var(--sp-5); grid-template-columns:repeat(2,minmax(0,1fr)); }
.offer-card{
display:grid; grid-template-columns:.9fr 1.1fr; gap:var(--sp-4);
background:var(--white); border:1px solid var(--silver-300);
border-radius:var(--radius-l); box-shadow:var(--shadow-s);
overflow:hidden; transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.offer-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-m); }
.offer-img{ min-height:220px; background:var(--silver-200); }
.offer-img img{ width:100%; height:100%; object-fit:cover; }
.offer-body{ padding:var(--sp-5) var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-3); }
.offer-body h3{ font-size:var(--fs-h2); margin:0; font-family:var(--font-serif); color:var(--navy-900); }
.offer-body p{ margin:0; color:var(--text-700); }
.offer-link{
margin-top:auto; align-self:flex-start; font-weight:600; color:var(--navy-900);
position:relative; padding-right:20px;
}
.offer-link::after{ content:"→"; position:absolute; right:0; top:0; transition:transform .25s var(--ease); }
.offer-link:hover::after{ transform:translateX(4px); }

/* Cennik */
#pricelist{ background:#f6f8fb; padding:var(--sp-7) var(--sp-6); display:flex; justify-content:center; }
.pricelist-content{ max-width:1000px; width:100%; text-align:center; }
.pricelist-title{ font-size:var(--fs-h1); color:var(--navy-900); margin-bottom:var(--sp-4); font-weight:700; font-family:var(--font-serif); }
.pricing-table{
width:100%; border-collapse:collapse; background:var(--white);
border:1px solid var(--silver-300); box-shadow:var(--shadow-s); border-radius:var(--radius-m); overflow:hidden;
}
.pricing-table th{ background:var(--blue-100); color:var(--text-900); padding:var(--sp-3); font-size:var(--fs-h3); font-weight:700; border-bottom:1px solid var(--blue-600); text-align:left; }
.pricing-table td{ padding:var(--sp-3); text-align:left; border-bottom:1px solid #f0f0f0; color:var(--text-700); font-size:var(--fs-body); vertical-align:top; }
.pricing-table tr:hover{ background:var(--blue-050); }

/* Pricing Grid - Premium Card Design */
.pricelist-intro{ text-align:center; color:var(--text-700); font-size:var(--fs-body); max-width:70ch; margin:0 auto var(--sp-5); }
.pricing-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:var(--sp-4); margin:var(--sp-5) 0; }
.pricing-card{
display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-5);
background:var(--white); border:2px solid var(--silver-300); border-radius:var(--radius-l);
box-shadow:var(--shadow-s); transition:all .25s var(--ease); position:relative;
}
.pricing-card:hover{
transform:translateY(-4px); box-shadow:var(--shadow-m); border-color:var(--blue-400);
}
.pricing-card--featured{
border-color:var(--blue-600); border-width:3px;
background:linear-gradient(135deg, var(--blue-100) 0%, var(--white) 100%);
grid-column:1 / -1;
}
.pricing-badge{
position:absolute; top:-12px; left:20px;
background:var(--blue-600); color:var(--white); padding:4px 12px;
border-radius:999px; font-weight:700; font-size:var(--fs-small);
}
.pricing-card h3{ margin:0; font-size:var(--fs-h2); font-family:var(--font-serif); color:var(--navy-900); }
.pricing-price{ display:flex; align-items:baseline; gap:6px; }
.price-amount{ font-size:32px; font-weight:700; color:var(--blue-400); }
.price-duration{ color:var(--text-700); font-size:var(--fs-body); }
.pricing-description{ color:var(--text-700); font-size:var(--fs-body); margin:0; line-height:1.6; }
.pricing-meta{ display:flex; gap:var(--sp-2); font-size:var(--fs-small); color:var(--text-700); }
.pricing-card--addon{ opacity:0.9; border-style:dashed; }
.pricelist-note{
text-align:center; padding:var(--sp-4); background:var(--blue-100);
border:1px solid #b9d8ee; border-radius:var(--radius-m);
color:var(--navy-900); margin-top:var(--sp-4);
}

/* Booking + ZnanyLekarz */
.booking-wrap{ padding:var(--sp-7) var(--sp-6); background:linear-gradient(180deg,#ffffff 0%, #f9fbff 100%); }
.booking-grid{ display:grid; gap:var(--sp-5); grid-template-columns:1.2fr 1fr; align-items:start; }
.booking-card{
background:var(--white); border:1px solid var(--silver-300); border-radius:var(--radius-l);
box-shadow:var(--shadow-s); padding:var(--sp-5); display:flex; flex-direction:column; gap:var(--sp-4);
}
.booking-card h3{ font-size:var(--fs-h2); margin:0; font-family:var(--font-serif); color:var(--navy-900); }
.zl-widget{ background:#f7f9fc; border:1px dashed var(--silver-300); border-radius:var(--radius-m); padding:var(--sp-4); min-height:120px; }
.zl-url{ display:inline-flex; align-items:center; justify-content:center; width:100%; max-width:320px; padding:14px 18px; border-radius:14px; background:var(--blue-400); color:var(--white); font-weight:700; text-decoration:none; box-shadow:var(--shadow-s); transition:transform .25s var(--ease), opacity .25s var(--ease); }
.zl-url:hover{ transform:translateY(-1px); opacity:.95; }
.zl-placeholder{ color:var(--text-700); font-size:var(--fs-body); margin:0; }
.booking-cta{ display:flex; gap:var(--sp-3); flex-wrap:wrap; }
.booking-side{ display:flex; flex-direction:column; gap:var(--sp-4); }
.booking-hero img{ border-radius:var(--radius-l); box-shadow:var(--shadow-m); }
.booking-benefits{ list-style:none; margin:0; padding:0; display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.booking-benefits li{
background:var(--rose-200); color:var(--navy-900); padding:8px 12px; border-radius:999px; font-weight:600; font-size:var(--fs-small);
}

/* FAQ */
.meeting{ padding:var(--sp-7) var(--sp-6); }
.faq-item{
border:1px solid #b9d8ee; border-radius:var(--radius-m);
margin-bottom:var(--sp-3); overflow:hidden; background:var(--white);
box-shadow:var(--shadow-s); transition:box-shadow .25s var(--ease), transform .25s var(--ease);
}
.faq-item:hover{ box-shadow:var(--shadow-m); transform:translateY(-2px); }
.faq-question{ width:100%; border:0; background:var(--white); text-align:left; padding:var(--sp-3) 52px var(--sp-3) var(--sp-4); cursor:pointer; font:inherit; font-weight:700; position:relative; color:var(--navy-900); }
.faq-question::after{ content:"+"; position:absolute; right:20px; font-size:20px; color:var(--blue-600); transition:transform .25s var(--ease); }
.faq-question[aria-expanded="true"]::after{ content:"−"; }
.faq-answer{ padding:var(--sp-3) var(--sp-4); color:var(--text-700); background:var(--blue-050); line-height:1.7; border-top:1px solid #b9d8ee; }
.faq-answer[hidden]{ display:none; }

/* Service Areas */
.service-areas{ padding:var(--sp-7) var(--sp-6); background:linear-gradient(180deg,var(--blue-050) 0%, var(--blue-100) 100%); }
.service-areas-content{ max-width:1000px; margin:0 auto; }
.service-areas-content > p{ color:var(--text-700); font-size:var(--fs-body); line-height:1.7; margin:var(--sp-4) 0; }
.areas-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:var(--sp-3); margin:var(--sp-5) 0; }
.area-item{ background:var(--white); border:2px solid #b9d8ee; border-radius:var(--radius-m); padding:var(--sp-3) var(--sp-4); text-align:center; color:var(--navy-900); font-weight:600; box-shadow:var(--shadow-s); transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease); }
.area-item:hover{ transform:translateY(-2px); box-shadow:var(--shadow-m); border-color:var(--blue-600); }

/* Kontakt + mapa */
.contact-wrap{ padding:var(--sp-7) var(--sp-6); background:linear-gradient(180deg,#ffffff 0%, #f3f6fa 100%); }
.contact-grid{ display:grid; gap:var(--sp-5); grid-template-columns:1fr 1.2fr; align-items:stretch; width:100%; max-width:1100px; margin:0 auto; }
.contact-card,.map-card{
background:var(--white); border:1px solid var(--silver-300); border-radius:var(--radius-l);
box-shadow:var(--shadow-s); padding:var(--sp-5); width:100%; min-width:0;
}
.contact-card h3{ font-size:var(--fs-h2); margin:0 0 var(--sp-3); font-family:var(--font-serif); color:var(--navy-900); }
.contact-list{ list-style:none; margin:0 0 var(--sp-4); padding:0; display:grid; gap:var(--sp-2); }
.contact-list li strong{ color:var(--text-700); }
.contact-badges{ display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.badge{
padding:6px 12px; border-radius:999px; background:var(--rose-200);
color:var(--navy-900); font-weight:600; font-size:var(--fs-small);
}
.badge-alt{ background:#e8f3ff; }

.map-embed{ aspect-ratio:16/10; border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-m); }
.map-embed iframe{ width:100%; height:100%; border:0; }

/* Footer */
.site-footer{ background:var(--navy-900); color:var(--white); padding:var(--sp-7) var(--sp-6) var(--sp-5); margin-top:var(--sp-7); }
.footer-grid{ display:grid; gap:var(--sp-5); grid-template-columns:1.2fr 1fr 1fr; align-items:start; }
.footer-logo{ width:160px; filter:invert(1); margin-bottom:var(--sp-3); }
.footer-brand p{ color:#dfe7f2; max-width:44ch; }
.footer-nav h4,.footer-contact h4{ margin:0 0 var(--sp-3); font-size:var(--fs-h3); font-family:var(--font-serif); }
.footer-nav ul,.footer-contact ul{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.footer-nav a{ color:#e9f3ff; }
.footer-socials{ display:flex; gap:12px; margin-top:var(--sp-3); }
.soc{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(255,255,255,0.08); transition:transform .2s var(--ease), background .2s var(--ease); }
.soc:hover{ transform:translateY(-2px); background:rgba(255,255,255,0.15); }
.soc img{ width:20px; height:20px; filter:invert(1); }
.footer-bottom{
margin-top:var(--sp-5); padding-top:var(--sp-3);
border-top:1px solid rgba(255,255,255,0.12);
display:flex; gap:var(--sp-3); justify-content:space-between; color:#c9d6ea; font-size:var(--fs-small);
}

/* Animacje reveal on scroll */
.offer-card,.booking-card,.booking-side,.contact-card,.map-card,.aboutme-page,.testimonial__item{
opacity:0; transform:translateY(14px);
transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.offer-card.in,.booking-card.in,.booking-side.in,.contact-card.in,.map-card.in,.aboutme-page.in,.testimonial__item.in{
opacity:1; transform:translateY(0);
}

/* Responsywność */
@media (max-width:1200px){
.hero{ grid-template-columns:1fr; }
}
@media (max-width:992px){
.offers-grid{ grid-template-columns:1fr; }
.offer-card{ grid-template-columns:1fr; }
.home-list{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.booking-grid{ grid-template-columns:1fr; }
.contact-grid{ grid-template-columns:1fr; gap:20px; max-width:100%; }
.upper-header-content{ margin:0 var(--sp-4); }
header{ padding:var(--sp-4) var(--sp-4); }
.section-title{ padding:0 var(--sp-4); }
.first-visit-steps{ grid-template-columns:repeat(2,1fr); }
.page-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
body{ overflow-x:hidden; }
.upper-header-content{ margin:0; padding:8px 12px; flex-wrap:wrap; gap:8px; font-size:13px; }
.contact-grid{ gap:12px; }
.contact-card,.map-card{ padding:16px; }
header{ padding:12px 12px; }
.inside-header{ flex-direction:column; align-items:flex-start; gap:10px; width:100%; }
.logo img{ width:120px; }
.main-list{ width:100%; min-width:0; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.main-list ul{ display:grid; grid-template-columns:1.05fr .9fr 1fr 1.5fr 1.05fr; gap:2px; width:100%; min-width:0; }
.main-list li{ min-width:0; }
.main-list li a{ display:flex; align-items:center; justify-content:center; padding:7px 2px; font-size:clamp(8px, 2.5vw, 10px); line-height:1.2; white-space:nowrap; }
.appointmentwithme{ padding:5px 3px; border-width:1px; }
#aboutme{ padding:40px 0; }
.aboutme-page{ width:calc(100% - 32px); margin:0 16px; padding:14px; }
.aboutme-content,.aboutme-page img{ flex-basis:100%; min-width:0; }
.aboutme-page img{ max-height:220px; object-fit:cover; }
.aboutme-content{ font-size:14px; line-height:1.55; }
.aboutme-content h3.aboutme-start{ font-size:18px; margin-bottom:8px; }
.home, .home-list-start, .offer-wrap, #pricelist, .booking-wrap, .meeting, .contact-wrap, .site-footer, .testimonials, .certificates-wrap, .techniques-wrap, .help-wrap, .service-areas{ padding-left:16px !important; padding-right:16px !important; }
.section-title{ padding:0 16px; margin:var(--sp-5) 0 var(--sp-3); }
.home{ padding-top:32px; padding-bottom:40px; }
.hero{ grid-template-columns:1fr; gap:16px; }
.hero .hero-art{ max-height:210px; }
.hero .hero-art img{ width:100%; height:210px; object-fit:cover; }
.hero h1{ font-size:clamp(22px, 6vw, 28px); }
.hero p{ max-width:none; font-size:14px; }
.cta{ flex-direction:column; align-items:stretch; gap:10px; }
.btn{ width:100%; justify-content:center; padding:10px 14px; font-size:14px; }
.home-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.first-visit{ padding-left:16px; padding-right:16px; }
.first-visit-steps{ grid-template-columns:1fr; gap:12px; }
.first-visit-steps li{ padding:14px 14px 14px 54px; }
.first-visit-steps li::before{ top:14px; left:14px; }
.page-main{ padding:40px 16px; }
.page-content,.page-aside{ padding:16px; }
.home-list-content{ padding:16px 12px; }
.home-list-icon{ font-size:24px; margin-bottom:8px; }
.home-list h3{ font-size:16px; }
.home-list p{ font-size:12px; }
.offers-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.offer-card{ min-width:0; }
.offer-img{ min-height:110px; }
.offer-body{ padding:12px; gap:8px; }
.offer-body h3{ font-size:16px; line-height:1.25; }
.offer-body p{ font-size:12px; line-height:1.45; }
.offer-link{ padding-right:0; font-size:12px; }
.tech-effects{ margin-top:24px; padding:16px; }
.tech-effects h3{ margin-bottom:8px; font-size:20px; }
.tech-effects ul{ padding-left:16px; font-size:14px; line-height:1.5; }
.booking-wrap{ padding-top:40px; padding-bottom:40px; }
.booking-grid{ gap:16px; }
.booking-card{ padding:16px; gap:12px; }
.booking-card h3{ font-size:20px; }
.zl-widget{ min-height:100px; padding:14px; }
.zl-url{ padding:10px 14px; font-size:14px; }
.booking-cta{ gap:10px; }
.booking-cta .btn{ padding:9px 12px; font-size:13px; }
.booking-side{ gap:12px; }
.booking-hero img{ width:100%; height:200px; object-fit:cover; object-position:center top; }
.booking-benefits li{ padding:6px 10px; font-size:12px; }
.meeting{ padding-top:40px; padding-bottom:40px; }
.faq-item{ margin-bottom:12px; }
.faq-question{ padding:12px 38px 12px 14px; font-size:14px; line-height:1.35; }
.faq-question::after{ right:14px; font-size:18px; }
.faq-answer{ padding:12px 14px; font-size:13px; line-height:1.55; }
.contact-grid{ gap:12px; }
.contact-card,.map-card{ padding:16px; }
.contact-card h3{ font-size:18px; }
.contact-list{ gap:10px; }
.contact-list li{ font-size:14px; line-height:1.5; }
.contact-badges{ gap:8px; }
.badge{ font-size:12px; padding:6px 10px; }
.map-embed{ aspect-ratio:4 / 3; min-height:220px; }
.map-embed iframe{ min-height:220px; }
.footer-grid{ grid-template-columns:1fr; }
.footer-bottom{ flex-direction:column; gap:8px; }
.testimonial__item{ padding:16px; }
.testimonial__slider .testimonial__item{ flex:0 0 86%; width:86%; }
.gallery .gallery-item{ flex:0 0 78%; width:78%; }
}

/* Cennik – układ kartowy mobilny */
@media (max-width:768px){
.breadcrumb ol{ gap:4px; }
.breadcrumb li::after{ margin:0 4px; }
.pricing-table{ display:table; table-layout:fixed; font-size:10px; }
.pricing-table thead{ display:table-header-group; }
.pricing-table tbody{ display:table-row-group; }
.pricing-table tr{ display:table-row; background:var(--white); }
.pricing-table th,.pricing-table td{ display:table-cell; width:auto; padding:8px 5px; overflow-wrap:break-word; vertical-align:top; }
.pricing-table th{ font-size:10px; line-height:1.2; }
.pricing-table td{ font-size:9px; line-height:1.35; }
.pricing-table th:nth-child(1){ width:24%; }
.pricing-table th:nth-child(2){ width:13%; }
.pricing-table th:nth-child(3){ width:46%; }
.pricing-table th:nth-child(4){ width:17%; }
}
/* Testimonials */ .testimonials{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%); } .testimonial-grid{ display: grid; gap: var(--sp-5); grid-template-columns: repeat(3, minmax(0,1fr)); } .testimonial__slider{ display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-bottom:8px; scrollbar-width:none; } .testimonial__slider::-webkit-scrollbar{ display:none; } .testimonial__item{ background: var(--white); padding: var(--sp-4); border-radius: var(--radius-m); box-shadow: var(--shadow-s); position: relative; transition: transform .25s var(--ease), box-shadow .25s var(--ease); border: 1px solid var(--silver-300); flex:0 0 calc(100% - 2px); scroll-snap-align:start; } .testimonial__item:hover{ transform: translateY(-4px); box-shadow: var(--shadow-m); } .testimonial__author{ display:flex; align-items:center; margin-bottom: 12px; gap: 12px; } .testimonial__author__icon{ font-size: 26px; } .testimonial__author__text h5{ margin:0; font-size: var(--fs-h3); font-family: var(--font-serif); color: var(--navy-900); } .testimonial__author__text span{ font-size: var(--fs-small); color: var(--text-700); } .rating{ position:absolute; top: 12px; right: 12px; color: var(--gold-300); font-size: 16px; } .testimonial-controls{ display:flex; justify-content:center; gap:12px; margin-top:24px; } .testimonial-nav-btn, .certificate-nav-btn{ width:40px; height:40px; border:0; border-radius:50%; background:var(--blue-400); color:var(--white); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--shadow-s); transition:transform .2s var(--ease), box-shadow .2s var(--ease); } .testimonial-nav-btn:hover, .certificate-nav-btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-m); } .testimonial-nav-btn span, .certificate-nav-btn span{ font-size:18px; line-height:1; }

.certificate-controls{ margin-top:20px; }

@media (min-width: 768px){ .testimonial__item{ flex-basis:calc(50% - 12px); } } @media (max-width: 992px){ .testimonial-grid{ grid-template-columns: 1fr 1fr; } } @media (max-width: 560px){ .testimonial-grid{ grid-template-columns: 1fr; } }

/* Certificates & techniques */ .certificates-wrap{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f9fbff 100%); } .certs-grid{ display:grid; gap: var(--sp-4); grid-template-columns: repeat(6, minmax(0,1fr)); } .cert-item{ background: var(--white); border:1px solid var(--silver-300); border-radius: var(--radius-m); overflow: hidden; text-align: center; box-shadow: var(--shadow-s); transition: transform .25s var(--ease), box-shadow .25s var(--ease); } .cert-item:hover{ transform: translateY(-4px); box-shadow: var(--shadow-m); } .cert-item img{ width:100%; height:160px; object-fit: cover; display:block; } .cert-item figcaption{ padding: 10px 12px; font-size: var(--fs-small); color: var(--text-700); }

.techniques{ margin-top: var(--sp-6); background: var(--white); border:1px solid var(--silver-300); border-radius: var(--radius-m); padding: var(--sp-5); box-shadow: var(--shadow-s); } .techniques h3{ margin:0 0 var(--sp-3); font-size: var(--fs-h2); font-family: var(--font-serif); color: var(--navy-900); } .tech-list{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 16px; margin:0; padding-left: 18px; color: var(--text-700); } .tech-list li{ margin-left: 8px; }

@media (max-width: 992px){ .certs-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); } .tech-list{ grid-template-columns: 1fr; } } @media (max-width: 560px){ .certs-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* Help (dolegliwości) */ .help-wrap{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%); } .help-grid{ display:grid; gap: var(--sp-4); grid-template-columns: repeat(3, minmax(0,1fr)); } .help-card{ background: var(--white); border:1px solid var(--silver-300); border-radius: var(--radius-m); padding: var(--sp-4); box-shadow: var(--shadow-s); transition: transform .25s var(--ease), box-shadow .25s var(--ease); } .help-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-m); } .help-card h4{ margin:0 0 6px; font-size: var(--fs-h3); font-family: var(--font-serif); color: var(--navy-900); } .help-card p{ margin:0; color: var(--text-700); } .help-note{ margin-top: var(--sp-4); text-align:center; color: var(--text-700); }

@media (max-width: 992px){ .help-grid{ grid-template-columns: 1fr 1fr; } } @media (max-width: 560px){ .help-grid{ grid-template-columns: 1fr; } }

/* Opinie – premium look */
.testimonials{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%); }
.testimonial__item{
background: var(--white);
border: 1px solid var(--silver-300);
border-radius: var(--radius-m);
padding: var(--sp-4);
box-shadow: var(--shadow-s);
position: relative;
transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.testimonial__item:hover{ transform: translateY(-3px); box-shadow: var(--shadow-m); }
.testimonial__author{ display:flex; align-items:center; gap:12px; margin-bottom: 10px; }
.testimonial__author__icon{ font-size: 26px; }
.testimonial__author__text h5{ margin:0; font-size: var(--fs-h3); font-family: var(--font-serif); color: var(--navy-900); }
.testimonial__author__text span{ font-size: var(--fs-small); color: var(--text-700); }
.rating{ position:absolute; top:10px; right:12px; color: var(--gold-300); font-size: 16px; }

/* Dots Owl – subtelne */
.owl-dots{ display:flex; justify-content:center; gap:8px; margin-top: 14px; }
.owl-dot span{
display:block; width:8px; height:8px; border-radius:50%;
background:#cfd6e6; transition:transform .2s var(--ease), background .2s var(--ease);
}
.owl-dot.active span{ background: var(--blue-400); transform: scale(1.2); }

/* Certyfikaty – spójne karty */
#certificates.certificates-wrap{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f9fbff 100%); }
#certificates .gallery .gallery-item{
background: var(--white);
border: 1px solid var(--silver-300);
border-radius: var(--radius-m);
overflow: hidden;
box-shadow: var(--shadow-s);
transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
#certificates .gallery .gallery-item:hover{
transform: translateY(-3px);
box-shadow: var(--shadow-m);
}
#certificates .gallery .gallery-item img{
display:block; width:100%; height: 180px; object-fit: cover;
}
/* Techniki */
.techniques-wrap{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f9fbff 100%); }
.techniques-list{
display: grid; gap: 10px 18px; grid-template-columns: repeat(2, minmax(0,1fr));
list-style: none; margin: 0; padding: 0;
}
.techniques-list li{
background: var(--white);
border: 1px solid var(--silver-300);
border-radius: var(--radius-m);
padding: 12px 14px;
box-shadow: var(--shadow-s);
font-weight: 600; color: var(--navy-900);
}
.tech-effects{
margin-top: var(--sp-5);
background: var(--white); border: 1px solid var(--silver-300);
border-radius: var(--radius-m); padding: var(--sp-5); box-shadow: var(--shadow-s);
}
.tech-effects h3{ margin:0 0 var(--sp-3); font-size: var(--fs-h2); font-family: var(--font-serif); color: var(--navy-900); }
.tech-effects ul{ margin:0; padding-left: 18px; color: var(--text-700); line-height:1.7; }

@media (max-width: 768px){
.techniques-list{ display:block; columns:2; column-gap:12px; }
.techniques-list li{ display:inline-block; width:100%; margin:0 0 10px; padding:10px; font-size:11px; line-height:1.4; overflow-wrap:normal; word-break:normal; hyphens:none; break-inside:avoid; }
}

/* Help / Dolegliwości */
.help-wrap{ padding: var(--sp-7) var(--sp-6); background: linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%); }
.help-grid{ display:grid; gap: var(--sp-4); grid-template-columns: repeat(3, minmax(0,1fr)); }
.help-card{
background: var(--white); border: 1px solid var(--silver-300);
border-radius: var(--radius-m); padding: var(--sp-4); box-shadow: var(--shadow-s);
transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}

/* Carousel overrides for horizontal scrolling (Testimonials & Certificates) */
.testimonial__slider{
	display:flex;
	gap:24px;
	overflow-x:auto;
	overflow-y:hidden;
	-webkit-overflow-scrolling:touch;
	scroll-snap-type:x mandatory;
	padding:10px 6px;
}
.testimonial__slider{
	-ms-overflow-style: none; /* IE, Edge */
	scrollbar-width: none; /* Firefox */
}
.testimonial__slider::-webkit-scrollbar{ display: none; }
.testimonial__slider .testimonial__item{
	flex:0 0 clamp(260px, 36%, 360px);
	scroll-snap-align:center;
	width:clamp(260px, 36%, 360px);
}

@media (min-width:1200px){
	.testimonial__slider{ gap:28px; }
	.testimonial__slider .testimonial__item{ flex:0 0 calc((100% - 56px)/3); width:calc((100% - 56px)/3); }
}
@media (max-width:768px){
	.testimonial__slider .testimonial__item{ flex:0 0 80%; width:80%; }
}

/* Certificates gallery horizontal */
.gallery{ display:flex; gap:18px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:8px 4px; -ms-overflow-style:none; scrollbar-width:none; }
.gallery::-webkit-scrollbar{ display:none; }
.gallery .gallery-item{ flex:0 0 clamp(180px, 22%, 260px); width:clamp(180px, 22%, 260px); scroll-snap-align:center; }
#certificates .gallery .gallery-item img{ width:100%; height:180px; object-fit:cover; display:block; }
.certificate-modal{ position:fixed; inset:0; z-index:1200; display:flex; align-items:center; justify-content:center; padding:24px; }
.certificate-modal[hidden]{ display:none; }
.certificate-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,0.72); }
.certificate-modal__dialog{ position:relative; width:min(92vw, 900px); max-height:min(90vh, 900px); display:flex; align-items:center; justify-content:center; }
.certificate-modal__image{ width:100%; max-height:min(88vh, 860px); object-fit:contain; border-radius:16px; box-shadow:0 20px 50px rgba(0,0,0,0.35); background:#fff; }
.certificate-modal__close{ position:absolute; top:10px; right:10px; width:38px; height:38px; border:none; border-radius:50%; background:rgba(255,255,255,0.95); color:#1f2a44; font-size:24px; line-height:1; cursor:pointer; box-shadow:0 6px 16px rgba(0,0,0,0.2); }
@media (max-width:768px){
	#certificates .gallery .gallery-item img{ height:140px; }
	.gallery .gallery-item{ flex:0 0 68%; width:68%; }
}

@media (max-width:560px){
	.testimonial__slider{ gap:14px; }
	.testimonial__slider .testimonial__item{ flex:0 0 calc(50% - 7px); width:calc(50% - 7px); }
	.testimonial__item{ padding:10px; }
	.testimonial__author{ gap:6px; margin-bottom:6px; }
	.testimonial__author__icon{ font-size:20px; }
	.testimonial__author__text h5{ font-size:14px; }
	.testimonial__author__text span{ font-size:10px; }
	.testimonial__item p{ font-size:11px; line-height:1.4; }
	.rating{ top:8px; right:8px; font-size:10px; }
	.gallery{ gap:12px; }
	#certificates .gallery .gallery-item{ flex:0 0 calc(50% - 6px); width:calc(50% - 6px); }
	#certificates .gallery .gallery-item img{ height:120px; }
	#certificates .gallery .gallery-item figcaption{ padding:8px; font-size:12px; }
	/* Pricing Grid Mobile */
	.pricing-grid{ grid-template-columns:1fr; }
	.pricing-card--featured{ grid-column:1 / -1; }
	.price-amount{ font-size:24px; }
	.pricing-card{ padding:var(--sp-3); gap:var(--sp-2); }
	.pricing-card h3{ font-size:16px; }
	.pricing-description{ font-size:13px; }
	/* Unified Buttons Mobile */
	.testimonial-nav-btn, .certificate-nav-btn{ width:44px; height:44px; }
}

/* Keep the design look: ensure cards don't expand page width */
.testimonial__slider, .gallery{ max-width:100%; box-sizing:border-box; }
.testimonial__item, .gallery-item{ box-sizing:border-box; }

/* Hide native scrollbars while preserving scroll functionality */
.testimonial__slider, .gallery{
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}
.testimonial__slider::-webkit-scrollbar,
.gallery::-webkit-scrollbar{
	display: none;
}
.help-card:hover{ transform: translateY(-3px); box-shadow: var(--shadow-m); }
.help-card h4{ margin:0 0 6px; font-size: var(--fs-h3); font-family: var(--font-serif); color: var(--navy-900); }
.help-card p{ margin:0; color: var(--text-700); }
.help-note{ margin-top: var(--sp-4); text-align:center; color: var(--text-700); }

@media (max-width: 992px){
.help-grid{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
.help-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
.help-card{ padding:14px 12px; }
.help-card h4{ font-size:15px; line-height:1.25; overflow-wrap:normal; word-break:normal; }
.help-card__title--stomatology span{ display:block; }
.help-card p{ font-size:12px; line-height:1.45; }
}

/* Reviews and navigation accessibility */
.reviews-summary{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin:var(--sp-3) 0 0; color:var(--text-700); }
.reviews-summary a{ font-weight:700; }

@media (max-width:760px){
  .inside-header{ flex-wrap:wrap; gap:12px; }
  .menu-toggle{ display:inline-flex; align-items:center; gap:8px; margin-left:auto; padding:9px 12px; border:1px solid rgba(255,255,255,.55); border-radius:9px; background:transparent; color:var(--white); font:inherit; font-weight:700; cursor:pointer; }
  .menu-toggle__icon{ font-size:18px; line-height:1; }
  .menu-toggle + .main-list{ display:none; width:100%; }
  .menu-toggle + .main-list.is-open{ display:block; }
  .main-list ul{ display:flex; flex-direction:column; align-items:stretch; gap:4px; padding-top:8px; }
  .main-list li,.main-list li a{ display:block; width:100%; }
  .main-list li a{ padding:12px 14px; font-size:16px; white-space:normal; }
  .appointmentwithme{ border-width:1px; }
  .dropdown-content{ position:static; display:none; min-width:0; margin:4px 0 0; opacity:1; visibility:visible; transform:none; box-shadow:none; }
  .dropdown:focus-within .dropdown-content,.dropdown:hover .dropdown-content{ display:block; }
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
