/* KociaBaza 1.0.18 — Focus panels, responsive security widget and detail-page ending. */
:root {
  --kb-primary: #111111;
  --kb-primary-hover: #383838;
  --kb-ink: #111111;
  --kb-text: #414141;
  --kb-muted: #626262;
  --kb-canvas: #eeeeee;
  --kb-soft: #f7f7f7;
  --kb-tint: #eeeeee;
  --kb-line: #dcdcdc;
  --kb-border: #adadad;
  --kb-on-dark: #dddddd;
  --shadow: 0 18px 45px rgb(10 10 10 / 8%);
  background: var(--kb-canvas);
  color-scheme: light;
}
body { background: var(--kb-canvas); color: var(--kb-ink); }
:where(a, button, input, select, summary):focus-visible {
  outline: 3px solid #6f3d73;
  outline-offset: 4px;
}
.shell { width: min(1180px, calc(100% - 40px)); }
.site-header {
  height: auto;
  padding: 16px 0;
  border: 0;
  background: var(--kb-canvas);
}
.site-header .header-inner {
  min-height: 70px;
  padding: 12px 20px;
  gap: 24px;
  border-radius: 20px;
  background: #fff;
}
.site-header nav { gap: 20px; color: #494949; }
.site-header .header-actions { gap: 12px; }
.site-header .add-link {
  padding: 12px 15px;
  border-radius: 12px;
  background: #111;
  color: #fff;
}
.site-header .add-link:hover { background: #383838; color: #fff; }
.primary-button, .secondary-button, .ghost-button {
  min-height: 44px;
  border-radius: 12px;
}
.primary-button { background: #111; color: #fff; }
.primary-button:hover { background: #383838; }
.secondary-button, .ghost-button { background: #fff; border-color: #dcdcdc; color: #111; }
.home-page.mk-home {
  display: flex;
  flex-direction: column;
  gap: 50px;
  padding-bottom: 50px;
}
.home-page.mk-home > section[class] {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.home-page .hero {
  background: var(--kb-canvas);
  border: 0;
}
.home-page .hero::before, .home-page .hero::after { display: none; }
.home-page .hero .hero-inner { padding: 50px 0 0; text-align: center; }
.home-page .hero h1 {
  max-width: 870px;
  margin: 0 auto 18px;
  color: #0a0a0a;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
.home-page .hero-lead { max-width: 900px; margin: 0 auto 30px; color: #626262; }
.home-page .mk-search-form {
  width: 100%;
  max-width: none;
  padding: 12px;
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow);
}
.mk-search-form label, .mk-search-category-field { border-color: #dcdcdc; }
.mk-search-form .primary-button { border-radius: 12px; }
.mk-search-category-panel { border-color: #dcdcdc; border-radius: 16px; box-shadow: 0 16px 40px #1112; }
.mk-search-categories .mk-search-category-choice { border-radius: 9px; }
.mk-search-categories .mk-search-category-choice:hover,
.mk-search-categories .mk-search-category-choice:has(input:checked) { background: #f0f0f0; }
.home-page .benefits { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 12px 28px; max-width: none; margin: 20px 0 0; }
.home-page .benefit { flex-direction: row; gap: 8px; text-align: left; }
.home-page .benefit p { color: #626262; font-size: 13px; }
.home-page .section-heading { align-items: center; gap: 20px; margin-top: 0; margin-bottom: 24px; }
.home-page .section-heading h2 {
  color: #0a0a0a;
  font-size: clamp(26px, 3vw, 34px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.045em;
}
.home-page .eyebrow { color: #626262; font-size: 11px; font-weight: 400; letter-spacing: .12em; }
.home-page .section-heading > a { display: inline-flex; padding: 8px 0; border-bottom: 1px solid #aaa; font-weight: 500; }
.category-grid { gap: 12px; }
.home-page .category-card {
  min-width: 0;
  min-height: 80px;
  padding: 13px 18px;
  gap: 16px;
  border: 1px solid transparent;
  border-radius: 18px;
  background: #fff;
  box-shadow: none;
}
.home-page .category-card:hover { background: #fafafa; border-color: #bbb; box-shadow: none; transform: translateY(-3px); }
.home-page .category-card strong { font-size: 13px; font-weight: 600; }
.home-page .category-card small { color: #626262; }
.home-page .category-card .mk-category-icon {
  width: 50px;
  height: 50px;
  flex-basis: 50px;
  border: 0;
  border-radius: 13px;
  background: #eee;
  color: #111;
}
.home-page .category-card:hover .mk-category-icon { background: #e7e7e7; }
.home-page .category-card .kb-category-symbol { width: 40px; height: 40px; }
/* Keep the approved paper illustrations and their color; contrast comes from UI overlays. */
.kb-focus-navigation { background: #e0e0e0; }
.kb-focus-map, .kb-focus-breeds { background: #fafafa; color: #111; }
.kb-focus-map::after { background: linear-gradient(90deg, rgb(255 255 255 / 88%), rgb(255 255 255 / 48%) 42%, transparent 77%); }
.kb-focus-breeds::after { background: linear-gradient(90deg, #fafafa, #fafafac9 48%, #fafafa00); }
.kb-focus-map h2, .kb-focus-map p { color: #111; }
.kb-focus-arrow { background: #111; color: #fff; }
.kb-focus-tile:is(:hover, :focus-visible) .kb-focus-arrow { background: #fff; color: #111; }
.kb-focus-cities { color: #fff; background: #202020; }
.kb-focus-cities::after { background: linear-gradient(90deg, #202020fa, #202020e8 48%, #2020206b); }
.kb-focus-cities h3, .kb-focus-cities p { color: #fff; }
.kb-focus-cities .kb-focus-arrow { background: #fff; color: #111; }
.kb-focus-cities:is(:hover, :focus-visible) .kb-focus-arrow { background: #454545; color: #fff; }
.mk-home-map .mk-home-map-frame { border: 0; border-radius: 24px; }
.mk-home-map-count { border-radius: 12px; color: #414141; box-shadow: 0 3px 14px #1111; }
.mk-map-pin > span { background: #6f3d73; box-shadow: 0 2px 7px #6f3d7340; }
.mk-map-pin.is-verified > span { background: #56305c; }
.mk-map-pin.is-premium > span { background: #6f3d73; }
.mk-map-cluster { background: #6f3d7325; border-color: #6f3d7322; box-shadow: 0 2px 7px #6f3d7315; }
.mk-map-cluster span { background: #6f3d73; }
.mk-map-legend-dot { background: #6f3d73; box-shadow: 0 0 0 1px #6f3d73; }
.mk-map-legend-cluster { background: #6f3d73; border-color: #ecdeee; }
.mk-home-map-below { display: flex; flex-direction: column; align-items: center; }
.latest-section, .mk-events-home, .mk-regions-home, .portal-copy { background: #eee; }
.listing-card, .mk-stable-card { border: 1px solid transparent; border-radius: 22px; background: #fff; box-shadow: none; }
.mk-stable-card.is-premium { border-color: #aaa; box-shadow: none; }
.mk-stable-card:hover { border-color: #aaa; box-shadow: 0 12px 28px #1110000a; }
.mk-stable-card .listing-image { margin: 9px 9px 0; border-radius: 15px; overflow: hidden; background: #f7f7f7; }
.mk-stable-card .listing-content { padding: 20px 22px 22px; }
.home-page .mk-stable-card .listing-content h3 { color: #111; font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -.025em; }
.mk-stable-placeholder { background: #f7f7f7; }
.mk-card-more { color: #111; font-weight: 500; }
.mk-badge.premium, .mk-profile-premium, .premium-label, .promoted-label { background: #202020; color: #fff; border-radius: 7px; }
.mk-badge.verified { background: #eee; color: #111; border-radius: 7px; }
.mk-event-card { border: 0; border-radius: 20px; background: #fff; box-shadow: none; }
.mk-event-card-icon { background: #f7f7f7; color: #111; }
.mk-location-chip, .mk-location-chip.province { padding: 20px; border: 1px solid transparent; border-radius: 16px; background: #fff; }
.mk-location-chip:hover { border-color: #bbb; background: #fafafa; box-shadow: none; color: #111; }
.mk-location-chip strong { font-size: 15px; font-weight: 600; }
.mk-location-chip span { min-width: 34px; height: 30px; border-radius: 9px; background: #eee; color: #111; }
.home-page.mk-home .portal-copy { background: #eee; }
.home-page.mk-home .portal-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); padding: 34px; gap: 20px 52px; border-radius: 26px; background: #fff; align-items: start; }
.home-page.mk-home .portal-grid > div { min-width: 0; overflow-wrap: anywhere; }
.home-page.mk-home .portal-grid > div:first-child { grid-area: 1 / 1 / 3 / 2; }
.home-page.mk-home .portal-copy-lead { grid-area: 1 / 2 / 2 / 3; }
.home-page.mk-home .portal-copy-extra { grid-area: 2 / 2 / 3 / 3; }
.home-page.mk-home .portal-copy-lead p, .home-page.mk-home .portal-copy-extra p { margin: 0; max-width: none; }
.home-page .portal-grid h2 { font-size: 34px; font-weight: 500; letter-spacing: -.045em; }
.home-page .portal-grid p { color: #626262; }
.site-footer { margin: 0 20px 20px; border-radius: 28px; background: #202020; color: #ddd; }
.site-footer .footer-grid p, .site-footer .footer-grid a:not(.brand) { color: #ddd; }
.site-footer .footer-bottom { border-color: #494949; color: #c1c1c1; padding: 20px 0 26px; }
/* Public catalogue, locations, profiles and forms use the same quiet surfaces. */
.listing-head, .contact-hero, .blog-hero, .legal-hero { background: #eee; border: 0; }
.listing-head { padding: 30px 0 34px; }
.listing-head h1, .mk-location-index h1 { font-size: 26px; letter-spacing: -.035em; }
.search-form.compact { max-width: none; padding: 12px; border: 0; border-radius: 18px; background: #fff; }
.category-card { border-color: transparent; border-radius: 18px; }
.category-card .mk-category-icon { border: 0; border-radius: 13px; background: #eee; }
.category-description, .category-description.bottom, .mk-location-seo, .mk-location-description { border: 0; border-radius: 22px; background: #fff; padding: 28px; line-height: 1.85; }
.kb-group-guide { border-color: #dcdcdc; border-radius: 18px; background: #fff; }
.kb-group-guide .category-description { width: 100%; min-width: 0; max-width: none; border: 0; background: transparent; overflow-wrap: anywhere; }
.mk-location-index-card { border: 1px solid transparent; border-radius: 18px; background: #fff; box-shadow: none; }
.mk-location-index-card:hover { border-color: #bbb; background: #fafafa; }
.mk-home #lokalizacje .city-links a, .detail-end .link-list a { border: 1px solid transparent; border-radius: 11px; background: #fff; padding: 12px 16px; }
.empty-state, .mk-nearby-empty { border: 1px dashed #c9c9c9; border-radius: 20px; background: #f7f7f7; }
.pagination-link, .listing-pagination a { min-width: 42px; min-height: 42px; border-radius: 10px; border-color: #dcdcdc; background: #fff; }
.pagination-link.active, .listing-pagination a.active { border-color: #111; background: #111; color: #fff; }
.mk-map-body .site-header { background: #eee; }
.mk-map-workspace { border: 0; border-radius: 24px; background: #fff; box-shadow: none; }
.mk-map-sidebar, .mk-map-filters { background: #fff; border-color: #dcdcdc; }
.mk-map-search, .mk-map-extra select, .mk-map-filters .mk-search-categories summary { border-color: #dcdcdc; border-radius: 11px; }
.mk-map-page .leaflet-control-zoom, .mk-map-page .leaflet-popup-content-wrapper { border-radius: 12px; }
.mk-map-popup .mk-map-open { background: #111; color: #fff; border-radius: 10px; }
.detail-main, .company-card, .utility-card, .mk-profile-card, .mk-profile-main, .mk-profile-sidebar > section { border-color: #dcdcdc; border-radius: 20px; background: #fff; box-shadow: none; }
.mk-stable-detail .gallery-grid, .mk-gallery { border-radius: 22px; overflow: hidden; }
.mk-stable-detail .mk-stable-compact { border-radius: 16px; }
.mk-stable-detail .mk-stable-compact .listing-image { margin: 0; border-radius: 0; }
.mk-stable-detail .mk-stable-compact .listing-content { padding: 13px; }
.mk-stable-detail .mk-tags a { background: #f7f7f7; border-color: #dcdcdc; border-radius: 8px; }
.profile-form fieldset, .form-layout > section, .account-summary > div, .mk-owned-card, .mk-notification { border-color: #dcdcdc; border-radius: 18px; background: #fff; }
.auth-card, .modal-card, .contact-aside { border-color: #dcdcdc; border-radius: 24px; background: #fff; }
.account-nav { border: 0; border-radius: 18px; background: #fff; }
.account-nav a { border-radius: 10px; }
.account-nav a.active { background: #202020; color: #fff; }
.rule-grid article, .feature-grid article, .pricing-card { border-color: #dcdcdc; border-radius: 20px; background: #fff; }
.blog-card, .blog-categories, .blog-follow { border: 0; border-radius: 20px; background: #fff; }
.blog-card-image { margin: 8px 8px 0; border-radius: 14px; background: #f7f7f7; }
.blog-content { border-radius: 0; background: transparent; padding: 0; }
/* Detailed views: override the legacy page-specific rules, not just generic cards. */
.site-header .add-link.nav-active, .site-header .add-link.nav-active:hover { color: #fff; }
.mk-stable-detail .detail-layout { grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 24px; margin-top: 24px; }
.mk-stable-detail .detail-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.mk-stable-detail :is(.detail-title, .detail-section) { min-width: 0; margin: 0; padding: 26px; border: 0; border-radius: 22px; background: #fff; }
.mk-stable-detail .detail-title h1 { font-size: 34px; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
.mk-stable-detail .detail-section:last-child { padding-bottom: 26px; border-bottom: 0; }
.mk-stable-detail .detail-section h2 { font-size: 20px; font-weight: 600; letter-spacing: -.025em; }
.mk-stable-detail .description { color: #414141; font-size: 13px; line-height: 1.85; overflow-wrap: anywhere; }
.mk-stable-detail .description h3 { margin: 26px 0 12px; font-size: 18px; font-weight: 600; }
.mk-stable-detail .description a { text-decoration: underline; text-underline-offset: 3px; }
.mk-stable-detail .facts-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; border: 0; border-radius: 0; overflow: visible; }
.mk-stable-detail .facts-grid > div:nth-child(n) { min-width: 0; min-height: 104px; padding: 16px; border: 0; border-radius: 14px; background: #f5f5f5; overflow-wrap: anywhere; }
.mk-stable-detail .facts-grid span { margin-bottom: 6px; font-size: 12px; color: #626262; }
.mk-stable-detail .facts-grid strong { font-size: 13px; font-weight: 500; }
.mk-stable-detail .facts-grid a, .mk-stable-detail .mk-google-reviews-button { display: inline-flex; align-items: center; min-height: 36px; padding: 7px 12px; border: 1px solid #ddd; border-radius: 10px; background: #fff; }
.mk-stable-detail .mk-google-fact { display: flex; flex-direction: column; align-items: flex-start; }
.mk-stable-detail .mk-google-fact .mk-google-reviews-button, .mk-stable-detail .mk-google-fact .mk-google-reviews-unavailable { margin-top: auto; font-size: 11px; }
.mk-stable-detail .detail-sidebar { min-width: 0; gap: 16px; top: 20px; }
.mk-stable-detail .price-card, .mk-stable-detail .advertiser-card, .mk-stable-detail .utility-card { padding: 24px; border: 0; border-radius: 24px; background: #fff; box-shadow: none; }
.mk-stable-detail .advertiser-head { align-items: center; gap: 12px; }
.mk-stable-detail .advertiser-head > div { min-width: 0; }
.mk-stable-detail .advertiser-head h2 { font-size: 17px; font-weight: 600; overflow-wrap: anywhere; }
.mk-stable-detail .avatar { background: #eee; color: #111; border-radius: 16px; flex-shrink: 0; }
.mk-stable-detail .mk-google-card strong { font-size: 26px; font-weight: 600; }
.mk-stable-detail .mk-google-card > a { min-height: 42px; padding: 10px 12px; border-color: #ddd; border-radius: 12px; }
.mk-stable-detail .contact-actions { gap: 9px; }
.mk-stable-detail .contact-actions > button, .mk-stable-detail .contact-actions > a { min-height: 46px; padding: 12px; border-radius: 12px; }
.mk-stable-detail .contact-actions .phone-button { border: 0; background: #111; color: #fff; }
.mk-stable-detail .contact-actions .phone-button:hover { background: #383838; }
.mk-stable-detail .contact-actions .primary-button:not(:disabled) { background: #fff; color: #111; border: 1px solid #dcdcdc; }
.mk-stable-detail .contact-direct :is(a,button), .mk-stable-detail .detail-quick-actions button { height: auto; min-height: 42px; border: 1px solid #ddd; border-radius: 12px; background: #fff; color: #414141; padding: 9px 10px; }
.mk-stable-detail .detail-quick-actions { gap: 8px; }
.mk-stable-detail .detail-quick-actions button { font-size: 12px; }
.mk-stable-detail .detail-quick-actions button.active { border-color: #6f3d73; background: #faf4fb; color: #56305c; }
.mk-stable-detail .company-data { margin-top: 20px; padding-top: 20px; border-color: #e7e7e7; }
.mk-stable-detail .company-data h3 { font-size: 13px; font-weight: 600; }
.mk-stable-detail .company-data > div:not(.social-icons) { padding-top: 12px; border-color: #eee; }
.mk-stable-detail .company-data > div:not(.social-icons) span { font-size: 11px; }
.mk-stable-detail .company-data > div:not(.social-icons) strong { font-size: 13px; font-weight: 400; overflow-wrap: anywhere; }
.mk-stable-detail .company-data .social-icons :is(a,.disabled-social) { width: 34px; height: 34px; border-radius: 10px; background: #f3f3f3; }
.mk-stable-detail .company-data .social-icons a:hover { background: #111; color: #fff; }
.mk-stable-detail .company-data .disabled-social { opacity: .55; }
.mk-stable-detail .utility-card :is(button,a) { min-height: 44px; padding: 12px 0; border-color: #eee; }
.mk-stable-detail .utility-card :is(button,a):last-child { border-bottom: 0; }
.mk-stable-detail .map-frame { border: 0; border-radius: 18px; overflow: hidden; background: #f5f5f5; }
.mk-stable-detail .mk-cat-care-grid article, .mk-stable-detail .mk-premium-content-info { padding: 18px; border: 0; border-radius: 16px; background: #f7f7f7; color: #626262; }
.mk-stable-detail .mk-stable-photo-grid { gap: 12px; }
.mk-stable-detail .mk-stable-photo-grid a, .mk-stable-detail .mk-stable-photo-grid img { border-radius: 16px; }
.mk-stable-detail .similar-section { background: #eee; }
.mk-stable-detail .detail-end { gap: 24px; padding: 0; margin-top: 32px; margin-bottom: 48px; background: transparent; align-items: stretch; }
.mk-stable-detail .detail-end > div { min-width: 0; padding: 26px; border-radius: 24px; background: #fff; }
.mk-stable-detail .detail-end h2 { margin: 0 0 20px; font-weight: 600; }
.mk-stable-detail .detail-end .link-list a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border: 1px solid #e3e3e3; border-radius: 12px; background: #f7f7f7; overflow-wrap: anywhere; }
.mk-stable-detail .detail-end .link-list a:hover { border-color: #6f3d73; background: #faf4fb; }
.mk-stable-detail .detail-end .listing-card.compact { height: auto; min-height: 150px; grid-template-columns: 120px minmax(0, 1fr); border: 0; border-radius: 16px; background: #f7f7f7; box-shadow: none; }
.mk-stable-detail .detail-end .listing-card.compact .listing-image { width: 120px; height: 100%; min-height: 150px; margin: 0; border-radius: 0; }
.mk-stable-detail .detail-end .listing-card.compact .listing-content { height: auto; padding: 18px; overflow-wrap: anywhere; }
.mk-stable-detail .detail-end .listing-card.compact h3 { font-weight: 600; white-space: normal; }
.mk-stable-detail .detail-end .listing-card.compact .mk-rating { width: auto; flex-wrap: wrap; }
.mk-stable-detail .kb-detail-map { height: 320px; margin-top: 14px; border: 0; border-radius: 18px; overflow: hidden; }
.mk-stable-detail .kb-detail-map-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
/* Forms keep all existing fields, validation hooks, native legends and consent controls. */
.mk-submit-page .form-layout { grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; padding-top: 32px; align-items: start; }
.mk-submit-page .form-layout > section { min-width: 0; padding: 32px; border: 0; border-radius: 24px; background: #fff; }
.mk-submit-page .form-layout h1 { font-size: 26px; font-weight: 600; letter-spacing: -.035em; }
.mk-submit-page .form-benefits { padding: 24px; border: 0; border-radius: 24px; background: #fff; }
.mk-submit-page .form-benefits h2 { margin-top: 0; font-size: 18px; font-weight: 600; }
.mk-submit-page .form-benefits .benefit { padding: 16px 0; border-color: #eee; }
.mk-submit-page .mk-public-stable-form fieldset { min-width: 0; margin: 24px 0 0; padding: 24px; border: 1px solid #e5e5e5; border-radius: 20px; }
.mk-submit-page .mk-public-stable-form legend { padding: 0 8px; font-size: 18px; font-weight: 600; }
.mk-public-stable-form .form-grid { gap: 18px; }
.mk-public-stable-form .mk-category-group { padding: 16px; border: 0; border-radius: 16px; background: #f3f3f3; }
.mk-public-stable-form .mk-category-group-items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.mk-category-choice { min-height: 46px; border-radius: 12px; border-color: #ddd; background: #fff; }
.mk-category-choice:has(input:checked) { border-color: #6f3d73; background: #faf4fb; color: #56305c; box-shadow: inset 0 0 0 1px #6f3d73; }
.account-page .account-hero { width: min(1180px, calc(100% - 40px)); margin: 16px auto 0; padding: 30px; border-radius: 24px; background: #202020; color: #fff; }
.account-page .account-hero > .shell { width: 100%; }
.account-page .account-hero h1 { font-size: 26px; font-weight: 500; }
.account-page .account-layout { gap: 24px; padding-top: 24px; }
.account-page .account-nav { padding: 8px; border: 0; border-radius: 20px; background: #fff; gap: 4px; }
.account-page .account-nav :is(a,button) { border: 0; border-radius: 12px; min-height: 44px; padding: 12px; font-size: 13px; background: #fff; color: #414141; }
.account-page .account-nav :is(a,button):hover { background: #f3f3f3; }
.account-page .account-nav a.active { background: #202020; color: #fff; }
.account-page .profile-form:not(.mk-stable-form):not(.mk-event-form) { gap: 20px; }
.account-page .profile-form fieldset,
.account-page .profile-form:not(.mk-stable-form):not(.mk-event-form) fieldset { min-width: 0; margin: 0; padding: 24px; border: 1px solid #e3e3e3; border-radius: 20px; background: #fff; }
.account-page .profile-form legend,
.account-page .profile-form:not(.mk-stable-form):not(.mk-event-form) legend { padding: 0 8px; font-size: 18px; font-weight: 600; }
.account-page .profile-form .fieldset-help { margin-bottom: 18px; font-size: 12px; line-height: 1.7; }
/* A floated native legend stays semantic, but takes part in the padded card body. */
.account-page .profile-form legend,
.account-page .profile-form:not(.mk-stable-form):not(.mk-event-form) legend,
.mk-submit-page .mk-public-stable-form legend { float: left; width: 100%; padding: 0; margin: 0 0 18px; line-height: 1.5; }
.account-page .profile-form legend + *, .mk-submit-page .mk-public-stable-form legend + * { clear: both; }
.account-page .account-content > .profile-form:not(.mk-stable-form):not(.mk-event-form) fieldset:has(.fieldset-help) { padding-top: 24px; }
.mk-submit-page .mk-public-stable-form fieldset > label { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }
.mk-submit-page .mk-public-stable-form fieldset > .checkbox-row { flex-direction: row; align-items: flex-start; gap: 10px; line-height: 1.7; }
.mk-submit-page .mk-public-stable-form fieldset > .checkbox-row input { margin-top: 4px; flex-shrink: 0; }
.mk-submit-page .turnstile-wrap { width: 100%; min-width: 0; align-items: flex-start; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid #e7e7e7; }
.mk-submit-page [data-kb-turnstile] { width: 100%; min-width: 0; }
.mk-submit-page [data-kb-turnstile][data-size=normal] { min-height: 65px; }
.mk-submit-page [data-kb-turnstile][data-size=compact] { min-height: 140px; }
:is(.account-page,.mk-submit-page,.auth-page,.contact-page,.mk-claim-page) :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]) { min-width: 0; max-width: 100%; min-height: 44px; padding: 11px 13px; border: 1px solid #d9d9d9; border-radius: 12px; background: #fff; color: #111; box-shadow: none; font-size: 13px; }
:is(.account-page,.mk-submit-page,.auth-page,.contact-page,.mk-claim-page) :is(input,select,textarea):focus-visible { outline: 2px solid #6f3d73; outline-offset: 2px; }
:is(.account-page,.mk-submit-page) input:is([type=checkbox],[type=radio]) { accent-color: #6f3d73; }
:is(.account-page,.mk-submit-page,.auth-page,.contact-page,.mk-claim-page) :is(input,select,textarea).mk-field-invalid:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]) { border-color: #b42318; background: #fffafa; }
.account-page .account-summary > :is(div,a), .account-page .account-listing, .mk-owned-card, .mk-notification, .mk-owner-material-card, .mk-owner-guidance, .mk-owner-description-rules, .mk-owner-description-edit-rules, .mk-information-form, .mk-claim-request-card { border: 1px solid #e3e3e3; border-radius: 20px; background: #fff; box-shadow: none; }
.mk-owner-guidance-intro, .mk-owner-material-card > .mk-owner-title, .mk-information-form-head, .mk-claim-request-head { border-color: #e3e3e3; border-radius: 20px 20px 0 0; background: #f7f7f7; }
.account-page .mk-claim-intro { padding: 24px; border: 0; border-radius: 20px; background: #fff; }
.mk-owner-guidance .mk-owner-rule-grid { gap: 12px; padding: 20px; }
.mk-owner-rule-grid article, .mk-claim-help-grid article, .mk-upgrade-note, .mk-premium-policy, .mk-action-explainer { padding: 18px; border: 1px solid #e3e3e3; border-radius: 14px; background: #f7f7f7; }
.mk-owner-rule-grid h3, .mk-owner-guidance-intro h2, .mk-information-form-head h2 { color: #111; }
.mk-notification.unread { border-left: 3px solid #6f3d73; background: #faf4fb; }
.modal:not(.gallery-lightbox) { background: rgb(17 17 17 / 55%); }
.modal .modal-card, .mk-claim-info-modal .modal-card { padding: 30px; border: 0; border-radius: 24px; background: #fff; }
.modal .modal-card :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]) { min-width: 0; max-width: 100%; min-height: 44px; padding: 11px 13px; border: 1px solid #d9d9d9; border-radius: 12px; background: #fff; color: #111; font-size: 13px; }
.modal .modal-card h2 { font-size: 24px; font-weight: 600; letter-spacing: -.03em; }
.modal .modal-close { width: 36px; height: 36px; border-radius: 50%; background: #f3f3f3; color: #111; }
.modal .modal-actions { flex-wrap: wrap; gap: 10px; }
.mk-claim-steps li, .mk-claim-benefits, .mk-claim-premium { border-color: #e3e3e3; border-radius: 14px; background: #f7f7f7; }
.modal-feature-icon, .mk-claim-steps li > span { background: #eee; color: #111; border-radius: 12px; }
.premium-page .premium-hero { width: min(1180px, calc(100% - 40px)); margin: 16px auto 0; padding: 40px 30px; border-radius: 24px; background: #202020; }
.premium-page .premium-hero > .shell { width: 100%; }
.premium-page .premium-hero h1 { font-size: 34px; font-weight: 600; }
.premium-page .premium-hero .primary-button { background: #fff; color: #111; }
.premium-page .premium-hero .primary-button:hover { background: #e7e7e7; }
.pricing-card, .pricing-card.featured, .contact-aside, .auth-card { border: 1px solid #e3e3e3; border-radius: 24px; box-shadow: none; }
.auth-card .primary-button, .contact-page .primary-button { min-height: 46px; }
/* Contact, legal pages and administrator tools share the same surfaces and controls. */
.contact-page .contact-card, .contact-page .contact-form, .legal-page .legal-card { border-color: #e3e3e3; border-radius: 24px; background: #fff; }
.contact-info-icon, .contact-security { border-color: #e3e3e3; background: #f5f5f5; color: #414141; border-radius: 12px; }
.contact-page .contact-security { padding: 18px; border: 0; }
.contact-fields :is(input,select,textarea) { border-color: #d9d9d9; border-radius: 12px; }
.admin-page .admin-sidebar { background: #202020; color: #ddd; border-radius: 0 24px 24px 0; }
.admin-page .admin-sidebar nav a, .admin-page .admin-sidebar button { min-height: 42px; border-radius: 10px; color: #ddd; }
.admin-page .admin-sidebar nav a.active, .admin-page .admin-sidebar nav a:hover { background: #f7f7f7; color: #111; }
.admin-page .admin-head h1 { color: #111; font-size: 26px; font-weight: 600; }
.admin-page .admin-main { min-width: 0; background: #eee; }
.admin-page .admin-card, .admin-page .admin-stats article, .admin-page .admin-summary > div, .admin-page .taxonomy-editor, .admin-page .tool-card { border: 1px solid #e3e3e3; border-radius: 20px; background: #fff; box-shadow: none; }
.admin-page .admin-card-head { border-color: #e7e7e7; }
.admin-page .admin-card th { background: #f5f5f5; color: #626262; }
.admin-page .admin-card :is(th,td) { border-color: #e7e7e7; }
.admin-page .table-wrap { max-width: 100%; overflow-x: auto; }
.admin-page :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) { min-width: 0; border-color: #d9d9d9; border-radius: 10px; }
.admin-page :is(.primary-button,.admin-primary,.admin-secondary,.admin-danger), .admin-page .decision-buttons :is(a,button) { border-radius: 10px; }
.admin-page .admin-primary { background: #111; color: #fff; }
.admin-page .admin-section-tabs { padding: 6px; border: 0; border-radius: 16px; background: #fff; }
.admin-page .admin-section-tabs a { border-radius: 10px; }
.admin-page .admin-section-tabs a.active { background: #202020; color: #fff; }
.admin-page .admin-import-ai-option, .admin-page .admin-import-safety, .admin-page .mk-google-usage { border-radius: 14px; }
.admin-page .profile-form fieldset { border-color: #e3e3e3; border-radius: 18px; background: #fff; }
.admin-page .profile-form legend { font-size: 18px; font-weight: 600; }
.admin-page .mk-settings-form legend { border-color: #e3e3e3; background: #f5f5f5; color: #111; }
.admin-page .admin-stats strong { font-size: 26px; font-weight: 600; }
@media(max-width:900px) { .admin-page .admin-sidebar { border-radius: 0 0 24px 24px; } }
@media (max-width: 1000px) {
  .mk-stable-detail .detail-layout, .mk-submit-page .form-layout { grid-template-columns: minmax(0, 1fr); }
  .mk-stable-detail .detail-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-stable-detail .detail-sidebar .advertiser-card { grid-row: span 2; }
  .mk-submit-page .form-benefits { position: static; }
}
@media (max-width: 760px) {
  .mk-stable-detail .detail-main { gap: 14px; padding: 0; border-radius: 0; }
  .mk-stable-detail :is(.detail-title, .detail-section) { padding: 20px; border-radius: 20px; }
  .mk-stable-detail .detail-title h1 { font-size: 26px; }
  .mk-stable-detail .facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk-stable-detail .detail-sidebar { display: grid; grid-template-columns: minmax(0, 1fr); }
  .mk-stable-detail .detail-sidebar .advertiser-card { grid-row: auto; }
  .mk-stable-detail .price-card, .mk-stable-detail .advertiser-card, .mk-stable-detail .utility-card { padding: 22px; border-radius: 20px; }
  .mk-stable-detail .detail-end { grid-template-columns: minmax(0, 1fr); }
  .mk-stable-detail .detail-end > div { padding: 22px 18px; border-radius: 20px; }
  .mk-stable-detail .detail-end .listing-card.compact { grid-template-columns: 90px minmax(0, 1fr); }
  .mk-stable-detail .detail-end .listing-card.compact .listing-image { width: 90px; }
  .mk-stable-detail .detail-end .listing-card.compact .listing-content { padding: 14px; }
  .mk-submit-page .form-layout > section, .mk-submit-page .form-benefits { padding: 22px 18px; border-radius: 20px; }
  .mk-submit-page .mk-public-stable-form fieldset { padding: 18px 14px; border-radius: 16px; }
  .mk-public-stable-form .mk-category-group-items { grid-template-columns: minmax(0, 1fr); }
  .account-page .account-hero, .premium-page .premium-hero { width: calc(100% - 24px); margin-top: 10px; padding: 24px; border-radius: 20px; }
  .account-page .profile-form fieldset, .account-page .profile-form:not(.mk-stable-form):not(.mk-event-form) fieldset { padding: 20px 16px; border-radius: 18px; }
  .account-page .account-content > .profile-form:not(.mk-stable-form):not(.mk-event-form) fieldset:has(.fieldset-help) { padding-top: 20px; }
  .account-page .profile-form .form-grid { grid-template-columns: minmax(0, 1fr); }
  .modal .modal-card, .mk-claim-info-modal .modal-card { padding: 24px 20px; border-radius: 20px; }
}
@media (max-width: 440px) {
  .mk-stable-detail .facts-grid { grid-template-columns: minmax(0, 1fr); }
}
@media print {
  .mk-stable-detail .detail-main { gap: 0; padding: 0; }
  .mk-stable-detail :is(.detail-title, .detail-section) { padding: 20px 0; border-radius: 0; }
}
@media (max-width: 1120px) {
  .site-header .header-inner { gap: 16px; padding: 12px 16px; }
  .site-header nav { gap: 12px; }
}
@media (max-width: 1000px) {
  .site-header nav { display: none; }
  .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .home-page.mk-home .portal-grid { grid-template-columns: minmax(0, 1fr); }
  .home-page.mk-home .portal-grid > div:first-child, .home-page.mk-home .portal-copy-lead, .home-page.mk-home .portal-copy-extra { grid-area: auto; }
}
@media (max-width: 760px) {
  .shell { width: calc(100% - 24px); }
  .site-header { padding: 10px 0; }
  .site-header .header-inner { min-height: 62px; padding: 10px 12px; gap: 10px; border-radius: 16px; }
  .site-header .header-actions { gap: 10px; }
  .site-header .add-link { font-size: 11px; padding: 10px; }
  .home-page .hero .hero-inner { padding-top: 30px; }
  .home-page .hero-lead { font-size: 13px; }
  .home-page .benefits { gap: 9px 18px; }
  .home-page .benefit p { font-size: 12px; }
  .home-page .section-heading { flex-wrap: wrap; gap: 12px; }
  .home-page .section-heading h2 { font-size: 26px; }
  .category-grid { grid-template-columns: 1fr; }
  .home-page .category-card { min-height: 76px; padding: 11px 16px; }
  .mk-home-map .mk-home-map-frame { border-radius: 20px; }
  .home-page.mk-home .portal-grid { padding: 24px; gap: 20px; }
  .home-page .portal-grid h2 { font-size: 26px; }
  .site-footer { margin: 0 12px 12px; border-radius: 22px; }
  .footer-bottom { flex-wrap: wrap; }
  .category-description, .category-description.bottom, .mk-location-seo, .mk-location-description { padding: 22px 18px; }
  .kb-group-guide .category-description { padding: 0; }
  .blog-content { padding: 0; }
}
@media (max-width: 380px) {
  .site-header .header-inner { gap: 6px; padding: 10px 8px; }
  .site-header .header-actions { gap: 7px; }
  .site-header .add-link { padding: 9px 7px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* KociaBaza 1.0.27 — typography scale and weights aligned with the current mapaKoni portal. */
.site-header .add-link { font-size: 13px; font-weight: 400; }
.home-page .hero h1 { font-size: 26px; font-weight: 400; }
.home-page .hero-lead { font-size: 13px; font-weight: 400; }
.home-page .benefit p { font-size: 12px; font-weight: 400; }
.home-page .section-heading h2,
.home-page .portal-grid h2 { font-size: 26px; font-weight: 400; }
.home-page .section-heading > a { font-size: 12px; font-weight: 400; }
.home-page .category-card strong,
.mk-location-chip strong { font-size: 13px; font-weight: 400; }
.home-page .category-card small { font-size: 11px; font-weight: 400; }
.search-form label span { font-size: 11px; font-weight: 400; }
.search-form button { font-size: 13px; font-weight: 400; }
.mk-card-more { font-size: 12px; font-weight: 700; }

/* Every public breeding-profile card uses one quiet, regular title treatment. */
.home-page .mk-stable-card .listing-content h3,
.mk-stable-card .listing-content h3,
.mk-stable-card .listing-content h3 a,
.account-page .account-listing h3,
.account-page .account-listing h3 a {
  font-size: 13px;
  font-weight: 400;
}
.home-page .mk-stable-card .listing-content h3,
.mk-stable-card .listing-content h3 { line-height: 1.42; letter-spacing: 0; }
.mk-stable-detail .detail-end .listing-card.compact h3 { font-size: 13px; font-weight: 400; }

/* Public subpage headings follow the same compact scale as mapaKoni. */
.listing-head h1,
.mk-location-index h1,
.mk-submit-page .form-layout h1,
.account-page .account-hero h1,
.premium-page .premium-hero h1,
.contact-hero h1,
.legal-hero h1,
.blog-hero h1,
.mk-claim-request-head h1,
.auth-card h1,
.simple-page h1 { font-size: 26px; font-weight: 400; }
.listing-page .category-description h2,
.listing-page .category-description.bottom h2,
.mk-location-description h2,
.mk-location-seo h2 { font-size: 17px; font-weight: 400; }
.mk-location-context > h2,
.mk-location-context > .section-heading h2,
.mk-results-title { font-size: 20px; font-weight: 400; }
.mk-stable-detail .detail-title h1 { font-size: 30px; font-weight: 400; }
.mk-stable-detail .detail-section h2 { font-size: 18px; font-weight: 400; }
.mk-stable-detail .description h3 { font-size: 1.17em; font-weight: 700; }
.mk-stable-detail .facts-grid span { font-size: 10px; font-weight: 400; }
.mk-stable-detail .facts-grid strong { font-size: 13px; font-weight: 400; }
.mk-stable-detail .advertiser-head h2 { font-size: 16px; font-weight: 400; }
.mk-stable-detail .company-data h3 { font-size: 12px; font-weight: 400; }
.mk-stable-detail .detail-end h2 { font-size: 20px; font-weight: 400; }

.mk-submit-page .form-benefits h2,
.mk-submit-page .mk-public-stable-form legend { font-size: 20px; font-weight: 400; }
.mk-submit-page .listing-form label,
.mk-inline-registration-trigger { font-size: 13px; font-weight: 400; }

.account-page .section-heading h2 { font-size: 24px; font-weight: 400; }
.account-page .profile-form legend,
.account-page .profile-form:not(.mk-stable-form):not(.mk-event-form) legend { font-size: 20px; font-weight: 400; }
.account-page .profile-form label,
.auth-card label { font-weight: 400; }

@media (max-width: 760px) {
  .home-page .section-heading h2,
  .home-page .portal-grid h2 { font-size: 26px; }
  .mk-stable-detail .detail-title h1 { font-size: 28px; }
  .site-header .add-link { font-size: 11px; }
}

@media (max-width: 440px) {
  .mk-stable-detail .detail-title h1 { font-size: 25px; }
}
