/* Kontakt – blok Gutenberg */
.lexpro-contact-panel {
  display: grid;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid #ddd;
  background: #fafafa;
  border-radius: 6px;
}
.lexpro-contact-panel p { margin: 0 0 .75rem; }
.lexpro-contact-panel a { color: var(--wp--preset--color--primary, #0a4); text-decoration: none; }
.lexpro-contact-panel a:hover { text-decoration: underline; }
.lexpro-contact-panel .lp-map iframe { width: 100%; height: 320px; border:0; border-radius:4px; box-shadow:0 1px 3px rgba(0,0,0,.15); }

/* Pasek dla zalogowanych */
.lexpro-top-bar {
  position: sticky;
  top: 0; /* poniżej paska admina jeśli obecny – WP admin bar ma position: fixed */
  z-index: 1000;
  background: linear-gradient(90deg,#222,#333);
  color: #fff;
  font-size: 14px;
  padding: .35rem .75rem;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
  display: flex;
  align-items: center;
}
.lexpro-top-bar .lp-top-inner { display: flex; gap: .85rem; align-items: center; flex-wrap: wrap; width:100%; }
.lexpro-top-bar .lp-user { font-weight: 600; margin-right:.5rem; }
.lexpro-top-bar a.lp-link { color:#8ddcff; text-decoration:none; padding:.25rem .5rem; border-radius:4px; transition:.15s background; }
.lexpro-top-bar a.lp-link:hover { background:#444; }
.lexpro-top-bar .lp-hide { margin-left:auto; background:#444; color:#fff; border:0; cursor:pointer; font-size:18px; line-height:1; padding:.25rem .5rem; border-radius:4px; }
.lexpro-top-bar .lp-hide:hover { background:#666; }
@media (max-width:600px){
  .lexpro-top-bar { font-size:13px; }
  .lexpro-top-bar .lp-hide { font-size:16px; }
}

/* Kontakt – layout strony */
.contact-wrapper { padding:2rem 0; }
.contact-grid { display:grid; gap:2rem; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }

.lp-contact-info p { line-height:1.5; }

/* Formularz kontaktowy */
.lp-contact-form p { margin:0 0 1rem; }
.lp-contact-form label { display:block; font-weight:600; margin-bottom:.35rem; }
.lp-contact-form input[type=text],
.lp-contact-form input[type=email],
.lp-contact-form textarea { width:100%; padding:.65rem .75rem; border:1px solid #bbb; border-radius:4px; font:inherit; }
.lp-contact-form textarea { resize:vertical; }
.lp-contact-form input:focus,
.lp-contact-form textarea:focus { outline:2px solid #4aa; border-color:#4aa; }
.lp-contact-form .form-submit { text-align:right; }
.lp-contact-form button.button.primary { background:#046a58; color:#fff; border:0; padding:.65rem 1.25rem; border-radius:4px; font-weight:600; cursor:pointer; }
.lp-contact-form button.button.primary:hover { background:#05856f; }
.contact-success { background:#e6fbe6; border:1px solid #7acb7a; padding:.75rem 1rem; border-radius:4px; margin-bottom:1rem; font-weight:600; }
.lp-social-links { display:flex; gap:.5rem; list-style:none; padding:0; margin:.75rem 0 0; }
.lp-social-links li a { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; background:#222; color:#fff; border-radius:50%; transition:.15s background; }
.lp-social-links li a:hover { background:#444; }

/* Subtelny separator sekcji */
hr.section-separator,
.section-separator {
  display: block;
  width: 100%;
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,.12), transparent);
  margin: 2rem 0;
}
@media (prefers-color-scheme: dark){
  hr.section-separator,
  .section-separator {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  }
}
:root{
  --bg:#ffffff;--fg:#0f172a;--muted:#64748b;--primary:#1d4ed8;--primary-fg:#ffffff;
  --card:#f8fafc;--border:#e2e8f0;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji",sans-serif;line-height:1.6}
img{max-width:100%;height:auto}
.container{max-width:1100px;margin:auto;padding:0 16px}
.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 4px 14px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand .logo{display:inline-block}
.brand .menu-toggle{margin-left:auto}
.logo{font-weight:700;text-decoration:none;color:var(--fg);font-size:20px}
.menu-toggle{display:none;border:1px solid var(--border);background:transparent;padding:8px 12px;border-radius:10px;margin-right:4px}
.main-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.main-nav a{text-decoration:none;color:var(--fg);padding:8px 10px;border-radius:8px}
.main-nav a:hover{background:var(--card)}
.hero{padding:72px 0;background:linear-gradient(180deg, #eef2ff, #fff)}
.hero h1{font-size:40px;margin:0 0 8px}
.hero p{color:var(--muted);margin:0 0 20px}
.btn{display:inline-block;padding:10px 16px;border-radius:10px;border:1px solid var(--border);text-decoration:none}
.btn.primary{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}
.section{padding:56px 0}
.section.alt{background:var(--card)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:14px}
.card h3{margin:10px 0 6px}
.testimonials{display:grid;gap:16px}
.testimonial{margin:0;padding:18px;border-left:4px solid var(--primary);background:#f1f5f9;border-radius:12px}
.notice.success{padding:12px;border:1px solid #16a34a;background:#dcfce7;border-radius:10px}
.contact-form .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
input,textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff}
.site-footer{border-top:1px solid var(--border);padding:0px 0px 0px 0px;margin-top:0px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
.footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.footer-widgets .widget{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:14px}
.footer-menus{display:grid;gap:12px}
.widget-title{margin:0 0 10px}
.copyright{border-top:1px solid var(--border);padding-top:0px;color:var(--muted)}
.post-item{border-bottom:1px solid var(--border);padding:16px 0}
/* Social menu */
.menu-social-container ul,.social-links{list-style:none;display:flex;gap:10px;margin:0;padding:0}
.menu-social-container a,.social-links a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:999px;text-decoration:none;color:var(--fg)}
.menu-social-container a:hover,.social-links a:hover{border-color:var(--primary);color:var(--primary)}
@media (max-width:900px){
  .cards{grid-template-columns:1fr 1fr}
  .footer-widgets{grid-template-columns:1fr 1fr}
  .contact-form .grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .header-inner{gap:10px; flex-wrap:wrap}
  .main-nav.open ul li a{display:block;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}
  .main-nav.open ul li a:hover{background:var(--card);border-color:var(--primary)}
  .brand{flex:1 1 auto; order:1}
  .menu-toggle{display:inline-block; margin-left:auto; margin-right:6px}
  .main-nav{order:2; width:100%}
  .main-nav ul{display:none}
  .main-nav.open ul{display:flex; flex-direction:column; gap:8px; padding:10px 0}
  .footer-grid{grid-template-columns:1fr}
  .footer-widgets{grid-template-columns:1fr}
}


/* Specjalizacje: ładny układ kart/linków */
.lexpro-practice-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px}
.lexpro-practice-links .lp-link{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;border:1px solid var(--border);border-radius:14px;
  background:var(--bg);text-decoration:none;color:var(--fg);
  font-weight:600;line-height:1.3;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .1s ease
}
.lexpro-practice-links .lp-link:hover{
  border-color:var(--primary);background:#f8fbff;
  box-shadow:0 6px 18px rgba(29,78,216,.12);
  transform:translateY(-1px)
}
.lexpro-practice-links .lp-link::after{
  content:'→';margin-left:auto;color:var(--primary);
  transition:transform .2s ease
}
.lexpro-practice-links .lp-link:hover::after{transform:translateX(2px)}
.lexpro-practice-links .lp-link:focus-visible{
  outline:3px solid color-mix(in oklab, var(--primary) 40%, white);
  outline-offset:2px
}

@media (max-width:900px){
  .lexpro-practice-links{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .lexpro-practice-links{grid-template-columns:1fr}
}

/* Breadcrumbs */
.breadcrumbs{font-size:14px;color:var(--muted);margin:8px 0 16px}
.breadcrumbs a{color:inherit;text-decoration:none}
.breadcrumbs a:hover{color:var(--fg);text-decoration:underline}
.breadcrumbs .sep{margin:0 6px;opacity:.7}
.breadcrumbs .current{font-weight:600;color:var(--fg)}

/* Contact info */
.lexpro-contact-info p{margin:0}

/* A11y utility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Google reviews */
.lexpro-greviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lexpro-greviews .g-review{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:14px}
.lexpro-greviews .g-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.lexpro-greviews .g-avatar{width:36px;height:36px;border-radius:999px;object-fit:cover;border:1px solid var(--border)}
.lexpro-greviews .g-author{font-weight:600;color:var(--fg);text-decoration:none}
.lexpro-greviews .g-author:hover{text-decoration:underline}
.lexpro-greviews .g-time{display:block;color:var(--muted);font-size:12px}
.lexpro-greviews .g-rating{color:#f59e0b;margin:.25rem 0}
.lexpro-greviews .g-text{margin:0;color:var(--fg)}
@media (max-width:900px){.lexpro-greviews{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.lexpro-greviews{grid-template-columns:1fr}}

/* Back-to-top button */
.back-to-top{position:fixed;right:16px;bottom:16px;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:999px;width:44px;height:44px;display:inline-grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.08);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-to-top:focus-visible{outline:3px solid color-mix(in oklab, var(--primary) 40%, white);outline-offset:3px}

a:hover {
  color: var(--primary);
  text-decoration: underline;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}