:root {
    --bg: #f6f7f8;
    --surface: #ffffff;
    --text: #182126;
    --muted: #627079;
    --border: #dce2e5;
    --accent: #146c43;
    --accent-dark: #0f5334;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { overflow-x: hidden; }
body { margin: 0; color: var(--text); background: var(--bg); line-height: 1.55; overflow-wrap: anywhere; }
a { color: inherit; }
.container { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.narrow { width: min(680px, calc(100% - 32px)); }
.site-header { background: var(--surface); border-bottom: 1px solid var(--border); }
.header-row { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { font-weight: 760; text-decoration: none; letter-spacing: -0.02em; }
.version { color: var(--muted); font-size: .875rem; }
.hero { padding: clamp(48px, 8vw, 96px) 0; }
.hero-inner { max-width: 900px; }
.eyebrow { color: var(--accent); font-weight: 700; font-size: .875rem; text-transform: uppercase; letter-spacing: .08em; }
h1 { font-size: clamp(2.2rem, 6vw, 4.7rem); line-height: 1.02; letter-spacing: -0.045em; margin: 14px 0 18px; max-width: 15ch; }
.lead { color: var(--muted); font-size: clamp(1rem, 2vw, 1.25rem); max-width: 720px; }
.search-shell { margin-top: 34px; padding: 18px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: 18px; box-shadow: 0 12px 36px rgba(24, 33, 38, .06); }
.search-shell label { min-width: 0; }
.search-shell span { display: block; font-size: .78rem; font-weight: 700; margin-bottom: 6px; }
.search-shell input { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 10px; padding: 13px 14px; font: inherit; background: #fbfcfc; }
.search-shell button, .button-link { align-self: end; border: 0; border-radius: 10px; padding: 14px 18px; background: var(--accent); color: white; font: inherit; font-weight: 700; text-decoration: none; display: inline-flex; justify-content: center; }
.search-shell button:disabled { opacity: .62; cursor: not-allowed; }
.note { color: var(--muted); font-size: .9rem; }
.state-page { padding: 72px 0; }
.state-page h1 { font-size: clamp(2rem, 5vw, 3.5rem); }
pre { white-space: pre-wrap; background: #fff; border: 1px solid var(--border); padding: 12px; border-radius: 10px; }
@media (max-width: 720px) {
    .container { width: min(100% - 24px, 1120px); }
    .header-row { min-height: 60px; }
    .version { display: none; }
    .hero { padding: 42px 0 60px; }
    .search-shell { grid-template-columns: 1fr; padding: 14px; border-radius: 14px; }
    .search-shell button { width: 100%; }
}

/* Etap 2 — konta */
.header-nav { display: flex; align-items: center; gap: 16px; font-size: .94rem; }
.header-nav a { text-decoration: none; font-weight: 650; }
.nav-cta { padding: 9px 13px; border-radius: 9px; background: var(--accent); color: #fff; }
.inline-form { display: inline; margin: 0; }
.nav-button { appearance: none; border: 0; background: transparent; padding: 0; color: var(--text); font: inherit; font-weight: 650; cursor: pointer; }
.flash-wrap { margin-top: 18px; }
.alert { padding: 12px 14px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); font-size: .94rem; }
.alert-success { border-color: #b8ddca; background: #f0faf4; color: #185c38; }
.alert-warning { border-color: #ead7a2; background: #fff9e9; color: #6b5311; }
.alert-error { border-color: #e7b7b7; background: #fff4f4; color: #7b2525; }
.button { border: 1px solid transparent; border-radius: 10px; padding: 12px 16px; font: inherit; font-weight: 720; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; min-height: 46px; }
.button.primary { background: var(--accent); color: #fff; }
.button.primary:hover, .nav-cta:hover { background: var(--accent-dark); }
.button.secondary { background: var(--surface); color: var(--text); border-color: var(--border); }
.stage-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.auth-page { padding: clamp(42px, 7vw, 76px) 0; }
.auth-wrap { width: min(560px, calc(100% - 32px)); }
.auth-card { background: var(--surface); border: 1px solid var(--border); border-radius: 18px; padding: clamp(22px, 5vw, 36px); box-shadow: 0 12px 36px rgba(24, 33, 38, .05); }
.auth-card h1 { font-size: clamp(2rem, 5vw, 3rem); margin: 8px 0 10px; }
.lead.compact { font-size: 1rem; margin-bottom: 24px; }
.form-stack { display: grid; gap: 17px; }
.field { display: grid; gap: 7px; }
.field > span { font-weight: 700; font-size: .92rem; }
.field input { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 10px; padding: 12px 13px; font: inherit; background: #fff; color: var(--text); }
.field input:focus { outline: 3px solid rgba(20, 108, 67, .12); border-color: var(--accent); }
.field-help { color: var(--muted); font-size: .82rem; }
.field-error { color: #a12626; font-size: .84rem; font-weight: 650; }
.form-row-between { display: flex; justify-content: flex-end; font-size: .9rem; }
.form-row-between a, .auth-foot a { color: var(--accent-dark); font-weight: 650; }
.auth-foot { margin: 22px 0 0; color: var(--muted); font-size: .92rem; }
.account-page { padding: clamp(36px, 6vw, 72px) 0; }
.account-grid { display: grid; grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); gap: 32px; align-items: start; }
.account-side h1 { font-size: clamp(2rem, 4vw, 3rem); margin: 8px 0 4px; max-width: none; }
.muted { color: var(--muted); }
.account-content { min-width: 0; display: grid; gap: 18px; }
.panel-card { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: clamp(18px, 4vw, 28px); }
.panel-card h2 { margin: 0; font-size: 1.25rem; }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.panel-head p { margin: 5px 0 0; }
.status-pill { flex: 0 0 auto; border-radius: 999px; padding: 6px 10px; font-size: .78rem; font-weight: 760; white-space: nowrap; }
.status-ok { background: #e9f8ef; color: #175c37; }
.status-warn { background: #fff5d9; color: #69500d; }
.verification-box { margin-top: 20px; padding: 16px; border: 1px solid #ead7a2; border-radius: 12px; background: #fffaf0; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.verification-box p { margin: 5px 0 0; color: var(--muted); }
.details-list { margin: 24px 0 0; display: grid; }
.details-list > div { display: grid; grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr); gap: 18px; padding: 12px 0; border-top: 1px solid var(--border); }
.details-list dt { color: var(--muted); }
.details-list dd { margin: 0; font-weight: 650; overflow-wrap: anywhere; }
.muted-card { background: #fafbfb; }
.muted-card p { color: var(--muted); margin-bottom: 0; }

@media (max-width: 720px) {
    .header-nav { gap: 10px; font-size: .88rem; }
    .header-nav .nav-cta { padding: 8px 10px; }
    .auth-wrap { width: min(100% - 24px, 560px); }
    .account-grid { grid-template-columns: 1fr; gap: 20px; }
    .panel-head, .verification-box { align-items: stretch; flex-direction: column; }
    .status-pill { align-self: flex-start; }
    .verification-box .button { width: 100%; }
    .details-list > div { grid-template-columns: 1fr; gap: 3px; }
}

@media (max-width: 430px) {
    .header-row { flex-wrap: wrap; padding-block: 10px; }
    .header-nav { width: 100%; justify-content: flex-end; }
}

/* Etap 3 — firmy, usługi, lokalizacje i cennik */
.company-nav { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.company-nav a { text-decoration: none; padding: 9px 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); font-size: .9rem; font-weight: 680; }
.company-nav a:hover { border-color: #b9c4c9; }
.company-empty { max-width: 760px; }
.company-empty h1, .company-dashboard-head h1, .form-page-grid h1, .business-hero-card h1 { max-width: none; font-size: clamp(2rem, 5vw, 3.4rem); }
.company-dashboard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.company-dashboard-head h1 { margin: 7px 0 3px; }
.company-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .8fr); gap: 18px; }
.completion-number { font-size: 1.65rem; }
.progress-track { height: 10px; margin: 20px 0; background: #e8ecee; border-radius: 999px; overflow: hidden; }
.progress-track span { display: block; height: 100%; background: var(--accent); border-radius: inherit; }
.quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.quick-grid a { display: grid; gap: 2px; padding: 14px; border: 1px solid var(--border); border-radius: 11px; text-decoration: none; background: #fbfcfc; }
.quick-grid strong { font-size: 1.35rem; }
.quick-grid span { color: var(--muted); font-size: .82rem; }
.form-page-grid { display: grid; grid-template-columns: minmax(220px, 330px) minmax(0, 1fr); gap: 32px; align-items: start; }
.form-page-grid h1 { margin: 8px 0 10px; }
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field select, .field textarea { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 10px; padding: 12px 13px; font: inherit; background: #fff; color: var(--text); resize: vertical; }
.field select:focus, .field textarea:focus { outline: 3px solid rgba(20, 108, 67, .12); border-color: var(--accent); }
.item-list { display: grid; margin-top: 15px; }
.item-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 0; border-top: 1px solid var(--border); }
.item-row > div { min-width: 0; display: grid; gap: 3px; }
.item-row small { color: var(--muted); }
.item-row form { flex: 0 0 auto; }
.services-page-head { margin: 0 0 22px; }
.services-page-head h1 { max-width: none; margin: 7px 0 7px; font-size: clamp(1.9rem, 4vw, 2.8rem); }
.services-page-head p { max-width: 760px; margin: 0; }
.services-workspace { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 20px; align-items: start; }
.services-form-card { position: sticky; top: 18px; }
.services-form-head { margin-bottom: 18px; }
.services-form-head .button { min-height: 38px; }
.services-lists { min-width: 0; display: grid; gap: 18px; }
.services-list-head { display: grid; gap: 3px; }
.services-list-head h2 { display: flex; align-items: center; gap: 8px; }
.services-list-head h2 span { min-width: 25px; height: 25px; display: inline-grid; place-items: center; border-radius: 999px; background: #edf3ef; color: var(--accent-dark); font-size: .78rem; }
.services-list-head small { color: var(--muted); }
.service-item-list { margin-top: 13px; }
.service-item-row { transition: background-color .15s ease, border-color .15s ease; }
.service-item-row.is-editing { margin-inline: -10px; padding-inline: 10px; border-radius: 10px; background: #f2f8f4; border-top-color: #cfe1d6; }
.item-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 4px; }
.item-actions form { margin: 0; }
.service-edit-link { padding: 6px; color: var(--accent-dark); font-weight: 700; text-decoration: none; }
.service-edit-link:hover { text-decoration: underline; }
.service-edit-link[aria-current="page"] { color: var(--muted); text-decoration: none; cursor: default; }
.text-danger { appearance: none; border: 0; background: transparent; padding: 6px; color: #9a2929; font: inherit; font-weight: 680; cursor: pointer; }
.price-disclaimer { padding: 14px 16px; border: 1px solid #d9dfc2; border-radius: 11px; background: #fafcf3; color: #526028; font-size: .9rem; }
.public-business { padding: clamp(32px, 6vw, 68px) 0; }
.public-business-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 330px); gap: 20px; align-items: start; }
.business-main, .business-side { display: grid; gap: 18px; min-width: 0; }
.business-hero-card { padding: clamp(22px, 5vw, 38px); background: var(--surface); border: 1px solid var(--border); border-radius: 18px; }
.business-hero-card h1 { margin: 10px 0 6px; }
.business-location { color: var(--muted); margin: 0 0 14px; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.tag-list { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.tag-list span { border-radius: 999px; padding: 7px 10px; background: #edf7f1; color: #195d3a; font-size: .88rem; font-weight: 650; }
.muted-tags span { background: #f0f2f3; color: #59646a; }
.price-list { display: grid; margin-top: 8px; }
.price-list > div { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 14px 0; border-top: 1px solid var(--border); }
.price-list > div > div { display: grid; gap: 3px; }
.price-list small { color: var(--muted); }
.price-list b { text-align: right; white-space: nowrap; }
.compact-disclaimer { margin: 16px 0 0; }
.plain-list { margin: 10px 0 0; padding-left: 20px; }
.plain-list li + li { margin-top: 6px; }

@media (max-width: 820px) {
    .company-dashboard-grid, .form-page-grid, .public-business-grid, .services-workspace { grid-template-columns: 1fr; }
    .services-form-card { position: static; }
    .quick-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .two-fields { grid-template-columns: 1fr; }
    .company-dashboard-head, .item-row, .price-list > div { align-items: stretch; flex-direction: column; }
    .service-item-row .item-actions { align-self: stretch; justify-content: flex-end; }
    .price-list b { text-align: left; }
    .contact-actions .button { flex: 1 1 auto; }
    .company-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
    .company-nav a { white-space: nowrap; }
}

/* Etap 4 — wyszukiwarka, kategorie i ranking */
.popular-links { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 14px; color: var(--muted); font-size: .9rem; }
.popular-links a { color: var(--accent-dark); font-weight: 680; text-decoration: none; }
.popular-links a:hover { text-decoration: underline; }
.search-page { padding: clamp(28px, 5vw, 58px) 0 72px; }
.search-head h1 { max-width: none; font-size: clamp(2rem, 5vw, 3.8rem); margin-bottom: 8px; }
.live-search { margin-top: 22px; }
.search-layout { display: grid; grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); gap: 22px; align-items: start; margin-top: 24px; }
.search-filters { position: sticky; top: 18px; padding: 20px; }
.check-row { display: flex; gap: 10px; align-items: center; font-size: .92rem; font-weight: 650; }
.check-row input { width: 18px; height: 18px; margin: 0; }
.filter-reset { text-align: center; color: var(--muted); font-size: .88rem; font-weight: 650; }
.search-results { min-width: 0; }
.results-summary { min-height: 36px; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 0 12px; }
.search-hint { font-size: .85rem; color: #315e47; background: #edf7f1; border-radius: 999px; padding: 6px 10px; }
.result-list { display: grid; gap: 12px; }
.result-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; padding: 20px; background: var(--surface); border: 1px solid var(--border); border-radius: 16px; }
.result-main { min-width: 0; }
.result-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.result-card h2 { margin: 0; font-size: 1.25rem; }
.result-card h2 a { text-decoration: none; }
.result-card h2 a:hover { text-decoration: underline; }
.result-location { color: var(--muted); margin: 4px 0 0; font-size: .9rem; }
.result-description { margin: 13px 0 0; }
.result-services { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.result-services span { padding: 6px 9px; border: 1px solid var(--border); border-radius: 999px; background: #fafbfb; font-size: .82rem; }
.result-actions { min-width: 140px; display: flex; flex-direction: column; align-items: stretch; justify-content: space-between; gap: 14px; }
.result-price { display: grid; text-align: right; }
.result-price small { color: var(--muted); }
.result-price strong { font-size: 1.1rem; }
.empty-results { margin-top: 4px; }
.empty-results p { margin-bottom: 0; }
.pagination { margin-top: 20px; display: flex; justify-content: center; align-items: center; gap: 18px; font-size: .9rem; }
.pagination a { font-weight: 700; color: var(--accent-dark); }
@media (max-width: 800px) {
    .search-layout { grid-template-columns: 1fr; }
    .search-filters { position: static; }
    .results-summary { align-items: flex-start; flex-direction: column; gap: 8px; }
}
@media (max-width: 620px) {
    .result-card { grid-template-columns: 1fr; padding: 16px; }
    .result-title-row { align-items: flex-start; flex-direction: column; }
    .result-actions { min-width: 0; }
    .result-price { text-align: left; }
    .result-actions .button { width: 100%; }
    .pagination { justify-content: space-between; gap: 8px; }
}

/* Etap 5 — portfolio i opinie */
.business-title-line { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.business-title-line h1 { margin-right: auto; }
.rating-badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px; padding: 7px 10px; background: #fff6d8; color: #6d5500; text-decoration: none; font-size: .86rem; font-weight: 760; white-space: nowrap; }
.portfolio-admin-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.portfolio-admin-grid figure { margin: 0; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: #fafbfb; }
.portfolio-admin-grid img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.portfolio-admin-grid form { padding: 6px 8px; text-align: right; }
.upload-row { display: flex; gap: 14px; align-items: end; margin-top: 14px; }
.upload-row .field { flex: 1 1 auto; }
.compact-button { padding: 8px 11px; }
.danger-zone { border-color: #ebcece; }
.button.danger { background: #a42d2d; color: #fff; border-color: #a42d2d; }
.portfolio-public-list { display: grid; gap: 24px; margin-top: 18px; }
.portfolio-project + .portfolio-project { border-top: 1px solid var(--border); padding-top: 24px; }
.portfolio-project h3 { margin: 5px 0 7px; font-size: 1.15rem; }
.portfolio-project p { margin: 0; color: var(--muted); }
.portfolio-labels { display: flex; flex-wrap: wrap; gap: 7px; }
.portfolio-labels span { font-size: .78rem; color: var(--muted); background: #f2f4f5; border-radius: 999px; padding: 5px 8px; }
.portfolio-public-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.portfolio-public-grid a { display: block; border-radius: 10px; overflow: hidden; background: #eef1f2; }
.portfolio-public-grid img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.review-list { display: grid; gap: 12px; margin-top: 16px; }
.review-card { min-width: 0; }
.public-reviews .review-card { border-top: 1px solid var(--border); padding-top: 18px; }
.review-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.review-head > div { display: grid; gap: 2px; }
.review-head small { color: var(--muted); }
.review-dimensions, .rating-breakdown { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.review-dimensions span, .rating-breakdown span { font-size: .8rem; border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; background: #fafbfb; }
.company-reply { margin-top: 14px; padding: 13px 15px; border-left: 3px solid var(--accent); background: #f5faf7; border-radius: 8px; }
.company-reply p { margin: 4px 0 0; }
.compact-form { margin-top: 14px; }
.review-form-box { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--border); }
.review-form-box h3 { margin-top: 0; }
.rating-input-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.report-review { margin-top: 12px; color: var(--muted); font-size: .86rem; }
.report-review summary { cursor: pointer; font-weight: 650; }
.result-badges { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.result-meta { margin: 9px 0 0; color: var(--muted); font-size: .84rem; }
@media (max-width: 720px) {
    .portfolio-admin-grid, .portfolio-public-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rating-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .upload-row { align-items: stretch; flex-direction: column; }
    .upload-row .button { width: 100%; }
    .result-badges { justify-content: flex-start; }
}
@media (max-width: 430px) {
    .portfolio-admin-grid, .portfolio-public-grid, .rating-input-grid { grid-template-columns: 1fr; }
}


/* Etap 6 — dostępność i znaczniki */
.switch-row, .feature-check { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: #fff; cursor: pointer; }
.switch-row input, .feature-check input { flex: 0 0 auto; width: 19px; height: 19px; margin: 2px 0 0; }
.switch-row span, .feature-check span { display: grid; gap: 3px; }
.switch-row small, .feature-check small, .small-note, .form-help { color: var(--muted); font-size: .84rem; }
.availability-tags-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.availability-preview { align-self: start; }
.availability-status-preview { display: inline-flex; border-radius: 999px; padding: 8px 11px; background: #edf7f1; color: #195d3a; font-weight: 760; }
.availability-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 7px 10px; font-size: .84rem; font-weight: 760; white-space: nowrap; }
.availability-open { background: #eaf7ef; color: #17603a; }
.availability-full { background: #f5eeee; color: #7b3434; }
.availability-updated { margin: 12px 0 0; color: var(--muted); font-size: .8rem; }
.availability-tags { margin-top: 12px; }
.filter-group-label { margin-top: 7px; padding-top: 9px; border-top: 1px solid var(--border); color: var(--muted); font-size: .78rem; font-weight: 760; text-transform: uppercase; letter-spacing: .04em; }
.result-availability { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-top: 12px; }
.mini-feature { border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; background: #fafbfb; color: var(--muted); font-size: .78rem; font-weight: 650; }
@media (max-width: 620px) {
    .availability-tags-grid { grid-template-columns: 1fr; }
}

/* Etap 7 — Moi fachowcy i porównywarka */
.profile-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.profile-tools form { margin: 0; }
.saved-tool { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.saved-tool a, .profile-tool-link { color: var(--accent-dark); font-weight: 700; font-size: .88rem; }
.simple-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.simple-head h1 { max-width: none; font-size: clamp(2rem, 5vw, 3.4rem); margin-bottom: 10px; }
.favorite-list { display: grid; gap: 16px; }
.favorite-card { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 24px; }
.favorite-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.favorite-title-row h2 { margin-bottom: 5px; }
.favorite-card-main > .availability-pill { margin-top: 10px; }
.favorite-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.favorite-meta span { border: 1px solid var(--border); border-radius: 999px; padding: 5px 8px; color: var(--muted); font-size: .8rem; }
.favorite-note-box { padding-left: 22px; border-left: 1px solid var(--border); }
.compact-favorite-form { gap: 10px; }
.favorite-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center; }
.favorite-actions form { margin: 0; }
.comparison-page { padding: clamp(36px, 6vw, 72px) 0; }
.comparison-head { margin-bottom: 20px; }
.compare-desktop { padding: 0; overflow: hidden; }
.compare-grid { display: grid; grid-template-columns: minmax(150px, .7fr) repeat(var(--compare-count), minmax(170px, 1fr)); }
.compare-grid > div { min-width: 0; padding: 14px 16px; border-right: 1px solid var(--border); }
.compare-grid > div:last-child { border-right: 0; }
.compare-grid-head { background: #f8faf9; border-bottom: 1px solid var(--border); }
.compare-grid-head > div { padding-top: 18px; padding-bottom: 18px; }
.compare-company-head { display: grid; gap: 3px; }
.compare-company-head strong { font-size: 1.05rem; }
.compare-company-head small { color: var(--muted); }
.compare-grid-row { border-bottom: 1px solid var(--border); }
.compare-grid-row:last-of-type { border-bottom: 0; }
.compare-label { color: var(--muted); font-size: .84rem; font-weight: 760; background: #fbfcfc; }
.compare-grid-actions { border-top: 1px solid var(--border); }
.compare-actions-cell { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.compare-actions-cell form { margin: 0; }
.compare-mobile-cards { display: none; gap: 14px; }
.compare-mobile-list { margin: 16px 0 0; }
.compare-mobile-list > div { display: grid; grid-template-columns: minmax(120px, .85fr) minmax(0, 1fr); gap: 12px; padding: 9px 0; border-top: 1px solid var(--border); }
.compare-mobile-list dt { color: var(--muted); }
.compare-mobile-list dd { margin: 0; font-weight: 650; }
.compare-price-preview { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); display: grid; gap: 8px; }
.compare-price-preview > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.compare-price-preview b { text-align: right; white-space: nowrap; }
.result-compare-form { margin: 0; }
@media (max-width: 820px) {
    .favorite-card { grid-template-columns: 1fr; }
    .favorite-note-box { border-left: 0; border-top: 1px solid var(--border); padding: 18px 0 0; }
    .compare-desktop { display: none; }
    .compare-mobile-cards { display: grid; }
}
@media (max-width: 720px) {
    .simple-head { align-items: stretch; flex-direction: column; }
    .simple-head .stage-actions { margin-top: 0; }
    .simple-head .stage-actions .button { flex: 1 1 auto; }
    .favorite-title-row { flex-direction: column; }
    .profile-tools { align-items: stretch; }
    .profile-tools > .button, .profile-tools form, .profile-tools form .button { width: 100%; }
    .saved-tool { width: 100%; justify-content: space-between; }
}
.header-nav { flex-wrap: wrap; justify-content: flex-end; }

/* Etap 8 — panel administratora */
.admin-page { padding: clamp(28px, 5vw, 62px) 0 76px; }
.admin-nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.admin-nav a { padding: 9px 12px; border: 1px solid var(--border); background: var(--surface); border-radius: 9px; text-decoration: none; font-size: .9rem; font-weight: 700; }
.admin-nav a:hover { border-color: #b8c3c8; }
.admin-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.admin-head h1, .admin-form-title { max-width: none; font-size: clamp(2rem, 5vw, 3.5rem); margin: 7px 0 8px; }
.admin-alert-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-alert-card { min-width: 0; display: grid; gap: 4px; padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: var(--surface); text-decoration: none; }
.admin-alert-card strong { font-size: 2rem; line-height: 1; }
.admin-alert-card span { color: var(--muted); font-size: .9rem; }
.admin-alert-card.needs-attention { border-color: #dfc574; background: #fffaf0; }
.admin-alert-card.needs-attention strong { color: #71570c; }
.admin-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.admin-metric-grid .panel-card { display: grid; gap: 4px; }
.admin-metric-grid strong { font-size: 1.65rem; }
.admin-filter-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, 260px) auto; gap: 12px; align-items: end; margin-bottom: 18px; }
.admin-list { display: grid; gap: 8px; }
.admin-list-row { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; text-decoration: none; }
.admin-list-row:hover { border-color: #b9c4c9; }
.admin-list-row > div:first-child { min-width: 0; display: grid; gap: 2px; }
.admin-list-row span { color: var(--muted); font-size: .85rem; }
.admin-row-meta { flex: 0 0 auto; display: flex; align-items: center; gap: 9px; }
.back-link { display: inline-block; margin-bottom: 18px; color: var(--accent-dark); font-weight: 700; text-decoration: none; }
.admin-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 18px; align-items: start; }
.admin-detail-main { min-width: 0; display: grid; gap: 16px; }
.admin-detail-side { min-width: 0; position: sticky; top: 18px; }
.admin-data-list { display: grid; margin-top: 12px; }
.admin-data-list > div { display: grid; gap: 3px; padding: 12px 0; border-top: 1px solid var(--border); }
.admin-data-list span { color: var(--muted); font-size: .88rem; }
.admin-action-stack { display: grid; gap: 8px; }
.filter-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.filter-tabs a { padding: 8px 11px; background: var(--surface); border: 1px solid var(--border); border-radius: 9px; text-decoration: none; font-weight: 680; font-size: .88rem; }
.admin-review-list { display: grid; gap: 12px; }
.admin-review-card p { overflow-wrap: anywhere; }
.moderation-inline { display: grid; grid-template-columns: minmax(160px, 1fr) auto auto auto; gap: 8px; align-items: center; margin-top: 15px; }
.moderation-inline input { width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 9px; padding: 10px 11px; font: inherit; }
.admin-quote { margin: 12px 0; padding: 12px 14px; border-left: 3px solid var(--border); background: #fafbfb; border-radius: 8px; }
.admin-audit-list { display: grid; gap: 8px; }
.audit-entry { padding: 0; }
.audit-entry summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding: 16px 18px; }
.audit-entry summary::-webkit-details-marker { display: none; }
.audit-entry summary span { color: var(--muted); font-size: .84rem; text-align: right; }
.audit-json { padding: 0 18px 18px; border-top: 1px solid var(--border); }
.audit-json > div { margin-top: 12px; }
.audit-json pre { max-height: 280px; overflow: auto; font-size: .8rem; }
@media (max-width: 900px) {
    .admin-alert-grid, .admin-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-detail-grid { grid-template-columns: 1fr; }
    .admin-detail-side { position: static; }
    .moderation-inline { grid-template-columns: 1fr 1fr; }
    .moderation-inline input { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
    .admin-nav { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
    .admin-nav a { white-space: nowrap; }
    .admin-head, .admin-list-row, .audit-entry summary { flex-direction: column; align-items: stretch; }
    .admin-filter-row { grid-template-columns: 1fr; }
    .admin-row-meta { flex-wrap: wrap; }
    .audit-entry summary span { text-align: left; }
}
@media (max-width: 460px) {
    .admin-alert-grid, .admin-metric-grid, .moderation-inline { grid-template-columns: 1fr; }
}

/* Etap 9 — SEO: landingi kategorii/lokalizacji i breadcrumbs */
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 20px 0 14px; color: var(--muted); font-size: .88rem; }
.breadcrumbs a { color: var(--accent-dark); text-decoration: none; font-weight: 680; }
.breadcrumbs a:hover { text-decoration: underline; }
.seo-landing { padding: 8px 0 76px; }
.seo-hero { padding: clamp(24px, 5vw, 48px) 0 28px; max-width: 980px; }
.seo-hero h1 { margin: 8px 0 12px; max-width: 900px; }
.seo-summary { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin: 14px 0 20px; }
.seo-summary strong { font-size: 1.1rem; }
.seo-summary span { color: var(--muted); font-size: .9rem; }
.compact-search { margin-top: 8px; }
.seo-locations { margin: 12px 0 24px; }
.seo-location-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.seo-location-links a { min-width: 0; display: grid; gap: 3px; padding: 13px 14px; border: 1px solid var(--border); border-radius: 10px; text-decoration: none; background: #fff; }
.seo-location-links a:hover { border-color: #b8c3c8; }
.seo-location-links span { color: var(--muted); font-size: .82rem; }
.seo-results { margin-top: 20px; }
.admin-seo-form { margin-bottom: 16px; }
.admin-seo-list { display: grid; gap: 10px; margin-top: 14px; }
.admin-seo-list article { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--border); }
.admin-seo-list article > div { min-width: 0; display: grid; gap: 4px; }
.admin-seo-list span, .admin-seo-list small { overflow-wrap: anywhere; }
.admin-seo-list small { color: var(--muted); }
.admin-seo-list code { width: max-content; max-width: 100%; }
.compact-note { margin-top: 12px; }
@media (max-width: 820px) {
    .seo-location-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .seo-location-links { grid-template-columns: 1fr; }
    .seo-results .panel-head { align-items: stretch; flex-direction: column; }
    .seo-results .panel-head .button { width: 100%; }
    .admin-seo-list article { grid-template-columns: 1fr; }
}

/* Etap 10 — QR i grafiki promocyjne */
.promotion-layout { grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); }
.promotion-qr-card { margin-top: 18px; }
.promotion-qr-card img { display: block; width: min(220px, 100%); height: auto; margin: 18px 0 10px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.promotion-url { overflow-wrap: anywhere; font-size: .85rem; }
.promotion-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-top: 18px; }
.promotion-controls .button { align-self: end; }
.promotion-preview { margin-top: 20px; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; background: #f6f7f8; }
.promotion-preview img { display: block; width: 100%; height: auto; aspect-ratio: 1; }
.promotion-placeholder { margin-top: 20px; min-height: 280px; display: grid; place-items: center; text-align: center; padding: 24px; border: 1px dashed #bcc7cb; border-radius: 16px; color: var(--muted); background: #fafbfb; }
.promo-note { font-size: .84rem; margin: 14px 0 0; }
.public-share-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; }
.public-share-card img { width: 112px; height: 112px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
@media (max-width: 900px) { .promotion-layout { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .promotion-controls { grid-template-columns: 1fr; } .promotion-controls .button { width: 100%; } }
@media (max-width: 480px) { .public-share-card { grid-template-columns: 1fr; } .public-share-card img { width: 132px; height: 132px; } }


/* Etap 11 — diagnostyka i testy HTTP */
.diagnostic-head { align-items: flex-end; }
.diagnostic-actions, .admin-system-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.diagnostic-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 22px; }
.diagnostic-summary-card { display: grid; gap: 2px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.diagnostic-summary-card strong { font-size: 1.75rem; line-height: 1; }
.diagnostic-summary-card span { color: var(--muted); font-size: .82rem; font-weight: 700; }
.diagnostic-section { margin-top: 16px; }
.diagnostic-section h2 { margin-top: 0; }
.diagnostic-list { display: grid; }
.diagnostic-row { display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 14px; align-items: start; padding: 13px 0; border-top: 1px solid var(--border); }
.diagnostic-row:first-child { border-top: 0; }
.diagnostic-row p { margin: 4px 0 0; color: var(--muted); overflow-wrap: anywhere; }
.diagnostic-badge { display: inline-flex; justify-content: center; width: 112px; border-radius: 999px; padding: 6px 8px; font-size: .7rem; font-weight: 800; letter-spacing: .02em; }
.status-ok { background: #edf7f1; color: #17603a; }
.status-warning { background: #fff7e5; color: #7a5600; }
.status-error { background: #fbecec; color: #8a3030; }
.admin-system-card { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 18px 0; }
.admin-system-card > div:first-child { display: grid; gap: 4px; }
.admin-system-actions a { font-weight: 750; color: var(--accent-dark); }
@media (max-width: 680px) {
    .diagnostic-summary { grid-template-columns: 1fr; }
    .diagnostic-row { grid-template-columns: 1fr; gap: 7px; }
    .diagnostic-badge { width: max-content; min-width: 100px; }
    .diagnostic-head, .admin-system-card { align-items: stretch; flex-direction: column; }
    .diagnostic-actions .button { width: 100%; text-align: center; }
}

/* Etap 12 — aktualizacje */
.update-safety code,.update-card code{overflow-wrap:anywhere}.compact-list{margin:.5rem 0 0;padding-left:1.25rem}.compact-list li+li{margin-top:.35rem}.update-list{display:grid;gap:1rem}.update-card{display:flex;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1rem;border:1px solid var(--border,#dfe3e8);border-radius:14px}.update-card>div{min-width:0}.update-card details{margin-top:.65rem}.update-card details p{overflow-wrap:anywhere}.stack-form{display:grid;gap:.9rem;max-width:680px}.stack-form label{display:grid;gap:.4rem}.stack-form input[type=file]{max-width:100%;padding:.75rem;border:1px solid var(--border,#dfe3e8);border-radius:10px;background:#fff}@media(max-width:720px){.update-card{display:grid}.update-card form,.update-card .button{width:100%}}

.update-actions{display:grid;gap:.5rem;min-width:180px}.update-actions .button{width:100%}

/* 0.14.1 — aktualność profilu i lekkie statystyki */
.freshness-reminder{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px}.freshness-reminder h2{margin:.15rem 0 .45rem}.profile-freshness-ok{margin:0 0 16px}.profile-freshness-public{display:inline-flex;margin:.35rem 0 .65rem;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:750}.profile-freshness-public.is-current{background:#edf7f1;color:#17603a}.profile-freshness-public.is-stale{background:#fff4df;color:#7b5200}.stats-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stats-mini>div{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fafbfb}.stats-mini strong{font-size:1.35rem}.stats-mini span{color:var(--muted);font-size:.78rem}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-card{display:grid;gap:5px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fff}.stat-card strong{font-size:1.8rem;line-height:1}.stat-card span{font-weight:750}.stat-card small{color:var(--muted);line-height:1.35}
@media(max-width:820px){.freshness-reminder{align-items:stretch;flex-direction:column}.freshness-reminder .button{width:100%}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.stats-mini,.stats-grid{grid-template-columns:1fr}}

/* 0.14.3 — prosty moduł poradników i stron statycznych */
.content-list-page,.content-detail-page{padding:10px 0 76px}.content-hero{max-width:820px;padding:26px 0 30px}.content-hero h1{margin:.35rem 0 .7rem}.article-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.article-card{display:flex;flex-direction:column;align-items:flex-start;min-height:240px}.article-card h2{font-size:1.25rem;margin:.45rem 0 .7rem}.article-card h2 a{text-decoration:none;color:inherit}.article-card p{color:var(--muted);margin:0 0 14px}.article-card small{color:var(--muted);margin-top:auto}.article-card .text-link{margin-top:12px;color:var(--accent-dark);font-weight:750}.pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:24px}.content-detail-container{max-width:900px}.content-article{padding:26px 0 10px}.content-article-head{max-width:820px;padding-bottom:18px;border-bottom:1px solid var(--border)}.content-article-head h1{margin:.35rem 0 .8rem}.content-article-head .lead{font-size:1.12rem;line-height:1.65;color:#405057}.content-markdown{max-width:780px;padding:24px 0;font-size:1.02rem;line-height:1.76}.content-markdown h2{margin:2rem 0 .7rem;font-size:1.55rem}.content-markdown h3{margin:1.5rem 0 .55rem;font-size:1.2rem}.content-markdown p{margin:.8rem 0}.content-markdown ul,.content-markdown ol{padding-left:1.5rem;margin:.8rem 0}.content-markdown li+li{margin-top:.35rem}.content-markdown blockquote{margin:1.1rem 0;padding:4px 0 4px 18px;border-left:3px solid var(--accent);color:#45555c}.content-markdown a{color:var(--accent-dark);font-weight:650}.content-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.content-cta p{margin:.25rem 0 0}.admin-head-actions,.content-admin-actions{display:flex;flex-wrap:wrap;gap:8px}.content-admin-filter{grid-template-columns:minmax(180px,1.4fr) minmax(140px,.7fr) minmax(140px,.7fr) auto}.content-admin-row code{overflow-wrap:anywhere}.content-edit-grid{grid-template-columns:minmax(0,1.55fr) minmax(270px,.45fr)}.content-edit-form{max-width:none}.field-grid.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.markdown-help{display:grid;gap:8px}.markdown-help h2{margin-bottom:6px}.markdown-help code{display:block;width:100%;padding:8px 10px;border-radius:8px;background:#f6f8f7;overflow-wrap:anywhere}.full-button{display:block;width:100%;margin-top:14px;text-align:center}.danger-zone{border-color:#ead0d0}.empty-state{text-align:center;padding:32px}.empty-state .button{margin-top:8px}
@media(max-width:920px){.article-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-edit-grid{grid-template-columns:1fr}.admin-detail-side{position:static}}
@media(max-width:720px){.content-admin-filter,.field-grid.two-col{grid-template-columns:1fr}.content-cta{align-items:stretch;flex-direction:column}.content-cta .button{width:100%;text-align:center}}
@media(max-width:560px){.article-card-grid{grid-template-columns:1fr}.pagination{align-items:stretch;flex-direction:column;text-align:center}.pagination .button{width:100%}}

/* 0.14.4 — lokalizacje i prawdziwa odległość */
.location-autocomplete{position:relative}
.location-suggestions{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;background:#fff;border:1px solid #d8dee8;border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.14);overflow:hidden;max-height:320px;overflow-y:auto}
.location-suggestion{display:flex;width:100%;flex-direction:column;gap:2px;text-align:left;border:0;border-bottom:1px solid #eef1f5;background:#fff;padding:10px 12px;cursor:pointer}
.location-suggestion:last-child{border-bottom:0}.location-suggestion:hover,.location-suggestion:focus{background:#f6f8fb;outline:none}.location-suggestion span{font-size:.82rem;color:#667085}
.small-note{margin-top:14px;padding:10px 12px;border-radius:10px;background:#f7f8fa;color:#525866;font-size:.88rem;line-height:1.45}
@media(max-width:760px){.location-suggestions{position:fixed;left:12px;right:12px;top:auto;max-height:45vh}}


/* 0.14.5 — media profilu firmy */
.form-section{border:1px solid var(--border,#dce2e5);border-radius:14px;padding:16px;margin:6px 0 2px}.form-section legend{font-weight:800;padding:0 6px}.business-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.business-media-preview{display:block;width:100%;background:#f5f7f7;border:1px solid #dce2e5;object-fit:contain;margin:10px 0 14px}.business-media-preview.logo{max-width:220px;aspect-ratio:1}.business-media-preview.cover{aspect-ratio:16/8;object-fit:cover}.business-media-placeholder{display:grid;place-items:center;min-height:150px;border:1px dashed #bfc9cd;border-radius:12px;background:#f7f8f8;color:#65747b;margin:10px 0 14px}.business-media-placeholder.cover{min-height:190px}.business-cover{display:block;width:calc(100% + 48px);max-height:360px;object-fit:cover;margin:-24px -24px 24px;border-radius:18px 18px 0 0}.business-identity-row{display:flex;align-items:flex-start;gap:18px}.business-identity-copy{min-width:0;flex:1}.business-logo{width:96px;height:96px;object-fit:contain;border-radius:20px;border:1px solid #dce2e5;background:#fff;padding:8px;flex:0 0 auto}.social-link-list{display:flex;flex-wrap:wrap;gap:10px}.social-link-list a{display:inline-flex;padding:8px 11px;border:1px solid #dce2e5;border-radius:999px;text-decoration:none;font-weight:700}.danger-link{background:transparent;border:0;color:#a52a2a;padding:8px 0;font-weight:700;cursor:pointer}
@media (max-width:720px){.business-media-grid{grid-template-columns:1fr}.business-cover{width:calc(100% + 32px);margin:-16px -16px 18px}.business-identity-row{gap:12px}.business-logo{width:72px;height:72px;border-radius:16px}.business-title-line h1{font-size:clamp(1.7rem,8vw,2.35rem)}}

/* 0.14.6 — uczciwa weryfikacja danych firmy */
.verified-badge{background:#e8f4ef;color:#155e46;border:1px solid #b9dfcf}.verification-public .panel-head{margin-bottom:12px}.verification-status-list{display:grid;gap:10px}.verification-status{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fafbfb}.verification-status strong{font-size:.95rem}.verification-status span,.verification-status small{color:var(--muted);line-height:1.45}.verification-status.is-ok{border-color:#cde4d8;background:#f4faf7}.verification-status.is-warn{border-color:#ead7a8;background:#fffbf0}.verification-owner-summary{margin-bottom:16px}.verification-owner-summary p:last-child{margin-bottom:0}

/* 0.15.4 — wspólny, roboczy układ panelu firmy */
.container.company-panel-container { width: min(1220px, calc(100% - 32px)); }
.company-page-head { margin: 0 0 22px; max-width: 860px; }
.company-page-head h1 { max-width: none; margin: 6px 0 7px; font-size: clamp(2rem, 4vw, 3rem); }
.company-page-head p { margin: 0; max-width: 820px; }
.company-workspace { display: grid; gap: 20px; align-items: start; }
.company-workspace-40-60 { grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr); }
.company-form-card { min-width: 0; }
.company-side-stack { min-width: 0; display: grid; gap: 18px; align-content: start; }
.company-sticky-card { position: sticky; top: 18px; }
.company-list-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.company-list-head h2 { display: flex; align-items: center; gap: 8px; }
.company-list-head h2 span { min-width: 26px; height: 26px; display: inline-grid; place-items: center; padding-inline: 7px; border-radius: 999px; background: #edf3ef; color: var(--accent-dark); font-size: .78rem; }
.company-list-head p { margin: 5px 0 0; }
.company-workspace .item-row.is-editing { margin-inline: -10px; padding-inline: 10px; border-radius: 10px; background: #f2f8f4; border-top-color: #cfe1d6; }

/* Profil: szeroki formularz + sensowny sidebar zamiast bardzo wąskiej kolumny. */
.profile-workspace { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(310px, .7fr); gap: 20px; align-items: start; }
.profile-workspace-single { grid-template-columns: minmax(0, 860px); }
.profile-main-card { min-width: 0; }
.profile-main-card .form-stack { gap: 22px; }
.profile-form-section { display: grid; gap: 16px; min-width: 0; }
.profile-main-card form > .profile-form-section + .profile-form-section { padding-top: 22px; border-top: 1px solid var(--border); }
.profile-section-head { display: grid; gap: 3px; }
.profile-section-head h2 { margin: 0; font-size: 1.2rem; }
.profile-section-head p { margin: 0; }
.three-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.profile-save-button { width: min(280px, 100%); }
.profile-sidebar { min-width: 0; }
.business-media-stack { display: grid; gap: 22px; }
.business-media-stack h3 { margin: 0 0 8px; }
.business-media-stack .business-media-preview.logo { max-width: 180px; }
.business-media-stack .business-media-placeholder { min-height: 130px; }
.media-logo-placeholder { max-width: 180px; aspect-ratio: 1; }
.media-divider { padding-top: 20px; border-top: 1px solid var(--border); }
.business-media-stack .compact-form { gap: 10px; }
.business-media-stack input[type="file"] { max-width: 100%; }

/* Dostępność: formularz ma dość miejsca, a podgląd jest faktycznym sidebarem. */
.availability-workspace { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); }
.availability-tags-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.availability-tags-wide .feature-check { min-height: 92px; }
.availability-preview .availability-status-preview { margin-top: 16px; }

/* Ujednolicenie usług z resztą panelu. */
.services-workspace { grid-template-columns: minmax(330px, .78fr) minmax(0, 1.22fr); }
.services-page-head.company-page-head { max-width: 860px; }

@media (max-width: 960px) {
    .company-workspace-40-60, .availability-workspace, .profile-workspace { grid-template-columns: 1fr; }
    .company-sticky-card, .services-form-card { position: static; }
    .profile-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .profile-sidebar .business-media-editor { grid-column: 1 / -1; }
    .business-media-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .media-divider { padding-top: 0; padding-left: 20px; border-top: 0; border-left: 1px solid var(--border); }
}
@media (max-width: 720px) {
    .container.company-panel-container { width: min(100% - 24px, 1220px); }
    .company-page-head { margin-bottom: 18px; }
    .company-page-head h1 { font-size: clamp(1.85rem, 9vw, 2.45rem); }
    .three-fields, .profile-sidebar, .business-media-stack, .availability-tags-wide { grid-template-columns: 1fr; }
    .media-divider { padding-top: 20px; padding-left: 0; border-top: 1px solid var(--border); border-left: 0; }
    .profile-save-button { width: 100%; }
    .company-list-head { flex-direction: column; align-items: stretch; }
}

/* 0.15.5 — domknięcie spójnego UI panelu firmy */
.company-nav { align-items: center; }
.company-nav a { transition: background .15s ease, border-color .15s ease, color .15s ease; }
.company-nav a.is-active { background: #eaf4ee; border-color: #b9d7c6; color: var(--accent-dark); box-shadow: inset 0 0 0 1px rgba(20,108,67,.03); }
.company-nav a:focus-visible { outline: 3px solid rgba(20,108,67,.15); outline-offset: 2px; }
.company-page-head-row { max-width: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.company-page-head-row > div:first-child { min-width: 0; max-width: 860px; }
.company-head-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; padding-top: 4px; }
.compact-button { min-height: 38px; padding: 8px 12px; }
.company-empty-wide { max-width: 820px; }
.company-empty-wide h2 { margin-bottom: 6px; }
.company-empty-wide .button { margin-top: 8px; }

.company-overview-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 20px; align-items: stretch; }
.company-completion-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.company-completion-grid a { display: grid; gap: 2px; padding: 13px 14px; border: 1px solid var(--border); border-radius: 11px; text-decoration: none; background: #fbfcfc; }
.company-completion-grid a:hover { border-color: #b9c8c0; background: #f5faf7; }
.company-completion-grid strong { font-size: 1.28rem; }
.company-completion-grid span { color: var(--muted); font-size: .82rem; }
.publication-card { display: flex; flex-direction: column; align-items: stretch; }
.publication-card h2 { margin: 6px 0 8px; }
.publication-card p { margin: 0 0 14px; }
.publication-card .full-button { margin-top: auto; }
.company-dashboard-stats, .company-quick-card { margin-top: 20px; }
.stats-mini-wide { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; }
.company-quick-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.company-quick-actions a { display: grid; gap: 2px; padding: 14px 15px; border: 1px solid var(--border); border-radius: 11px; text-decoration: none; background: #fbfcfc; }
.company-quick-actions a:hover { border-color: #b9c8c0; background: #f5faf7; }
.company-quick-actions strong { font-size: .95rem; }
.company-quick-actions span { color: var(--muted); font-size: .78rem; }
.text-link { color: var(--accent-dark); font-weight: 750; text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.rating-badge-large { font-size: .9rem; padding: 8px 12px; }
.review-summary-card { display: grid; grid-template-columns: minmax(180px, .38fr) minmax(0, 1.62fr); gap: 18px; align-items: stretch; margin-bottom: 18px; }
.review-summary-main { display: grid; align-content: center; justify-items: start; gap: 4px; padding-right: 18px; border-right: 1px solid var(--border); }
.review-summary-main strong { font-size: 2rem; line-height: 1; }
.review-summary-main span { color: var(--muted); font-size: .85rem; }
.review-summary-dimensions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.review-summary-dimensions > div { display: grid; gap: 3px; align-content: center; padding: 12px 14px; border: 1px solid var(--border); border-radius: 11px; background: #fafbfb; }
.review-summary-dimensions strong { font-size: 1.25rem; }
.review-summary-dimensions span { color: var(--muted); font-size: .78rem; }
.company-empty-state { max-width: 760px; }
.company-empty-state h2 { margin-bottom: 6px; }
.company-review-list { max-width: 980px; }
.company-review-card { padding: 22px 24px; }
.review-content { margin: 16px 0 0; }
.review-reply-box { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.review-reply-box summary { cursor: pointer; color: var(--accent-dark); font-weight: 750; }
.review-reply-box .stack-form { margin-top: 14px; }

.stats-grid-company { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.stats-grid-company .stat-card { min-height: 150px; }
.company-stats-insights { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr); gap: 20px; margin-top: 20px; }
.company-stats-insights .eyebrow + h2 { margin: 5px 0 8px; font-size: 2rem; }
.company-stats-insights p { margin-bottom: 0; }

.company-promotion-warning { margin-bottom: 18px; }
.promotion-workspace { grid-template-columns: minmax(260px, .52fr) minmax(0, 1.48fr); }
.promotion-qr-card { margin-top: 0; }
.promotion-qr-card img { margin-inline: auto; width: min(220px, 100%); }
.promotion-action-stack { display: grid; gap: 9px; margin-top: 14px; }
.promotion-action-stack .button { width: 100%; }
.promotion-main-card { min-width: 0; }
.promotion-controls-wide { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.promotion-placeholder-small { min-height: 220px; }
.promotion-download-actions { margin-top: 16px; }

@media (max-width: 960px) {
    .company-page-head-row { flex-direction: column; gap: 12px; }
    .company-head-actions { justify-content: flex-start; }
    .company-overview-grid, .company-stats-insights, .promotion-workspace { grid-template-columns: 1fr; }
    .promotion-workspace .company-sticky-card { position: static; }
    .review-summary-card { grid-template-columns: 1fr; }
    .review-summary-main { padding-right: 0; padding-bottom: 14px; border-right: 0; border-bottom: 1px solid var(--border); }
    .review-summary-dimensions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .company-nav { margin-inline: -12px; padding-inline: 12px; }
    .company-nav a.is-active { box-shadow: none; }
    .company-completion-grid, .company-quick-actions, .stats-grid-company { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stats-mini-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .promotion-controls-wide { grid-template-columns: 1fr; }
    .promotion-controls-wide .button { width: 100%; }
}
@media (max-width: 480px) {
    .company-completion-grid, .company-quick-actions, .stats-grid-company, .stats-mini-wide, .review-summary-dimensions { grid-template-columns: 1fr; }
    .company-review-card { padding: 18px; }
}

/* 0.16.5 — odrębny język wizualny publicznego FachowiecCzeka / Lokalni fachowcy */
.brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-symbol { position: relative; width: 30px; height: 30px; display: inline-block; flex: 0 0 30px; border-radius: 8px; background: #17201b; overflow: hidden; }
.brand-symbol i { position: absolute; display: block; width: 15px; height: 5px; background: #f2c94c; border-radius: 999px; transform: rotate(-42deg); }
.brand-symbol i:first-child { left: 5px; top: 8px; }
.brand-symbol i:last-child { right: 4px; bottom: 7px; }
.brand-copy { display: grid; line-height: .88; letter-spacing: -.035em; }
.brand-copy strong { font-size: .98rem; font-weight: 900; }
.brand-copy span { font-size: .8rem; font-weight: 650; letter-spacing: .005em; }

.is-public {
    --public-ink: #17201b;
    --public-ink-soft: #25312b;
    --public-paper: #f3f0e8;
    --public-paper-deep: #e9e4d9;
    --public-yellow: #f2c94c;
    --public-yellow-deep: #d8ad2f;
    --public-coral: #e96f52;
    --public-line: #d6d0c5;
    --public-white: #fffefb;
    background: var(--public-paper);
}
.is-public .site-header { position: relative; z-index: 40; background: var(--public-ink); border: 0; color: #fff; }
.is-public .header-row { min-height: 78px; }
.is-public .brand { color: #fff; }
.is-public .brand-symbol { background: var(--public-yellow); border-radius: 6px 13px 6px 13px; transform: rotate(2deg); }
.is-public .brand-symbol i { background: var(--public-ink); }
.is-public .brand-copy strong { font-size: 1.02rem; }
.is-public .brand-copy span { color: #d8ded9; }
.is-public .header-nav { gap: 22px; }
.is-public .header-nav a, .is-public .nav-button { color: #e9eee9; font-weight: 700; }
.is-public .header-nav a:hover, .is-public .nav-button:hover { color: var(--public-yellow); }
.is-public .nav-cta { padding: 11px 15px; background: var(--public-yellow); color: var(--public-ink) !important; border-radius: 4px 12px 4px 12px; }
.is-public .nav-cta:hover { background: #ffd75f; }
.is-public .flash-wrap { margin-top: 16px; }
.is-public .button { border-radius: 4px 11px 4px 11px; }
.is-public .button.primary { background: var(--public-ink); color: #fff; }
.is-public .button.primary:hover { background: #29382f; }
.is-public .button.secondary { background: transparent; color: var(--public-ink); border-color: #aaa499; }
.is-public .button.secondary:hover { border-color: var(--public-ink); background: rgba(255,255,255,.45); }
.is-public .text-link, .is-public .public-text-link { color: var(--public-ink); text-underline-offset: 4px; }

/* Strona główna: zamiast typowego hero + karty — asymetryczna, usługowa kompozycja. */
.is-public .home-hero { position: relative; overflow: hidden; background: var(--public-ink); color: #fff; padding: clamp(54px, 8vw, 104px) 0 clamp(62px, 9vw, 116px); }
.is-public .home-hero::after { content: ""; position: absolute; right: -8vw; bottom: -145px; width: 42vw; height: 270px; background: var(--public-yellow); transform: rotate(-8deg); opacity: .98; pointer-events: none; }
.is-public .home-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .72fr); gap: clamp(36px, 7vw, 88px); align-items: center; }
.is-public .home-hero-copy { min-width: 0; }
.is-public .public-eyebrow { color: var(--public-yellow); letter-spacing: .12em; }
.is-public .home-hero h1 { max-width: 13ch; margin: 14px 0 22px; font-size: clamp(3rem, 7vw, 6.3rem); line-height: .92; font-weight: 900; letter-spacing: -.068em; }
.is-public .home-hero h1 em { color: var(--public-yellow); font-style: normal; }
.is-public .home-hero .lead { color: #d7ddd8; max-width: 700px; font-size: clamp(1.02rem, 1.7vw, 1.22rem); }
.is-public .home-trust-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 36px; border-top: 1px solid #3a453f; border-bottom: 1px solid #3a453f; }
.is-public .home-trust-row span { display: grid; gap: 7px; min-height: 88px; align-content: center; padding: 14px 18px; border-right: 1px solid #3a453f; color: #e8ece9; font-size: .86rem; font-weight: 720; }
.is-public .home-trust-row span:first-child { padding-left: 0; }
.is-public .home-trust-row span:last-child { border-right: 0; }
.is-public .home-trust-row b { color: var(--public-yellow); font-size: .72rem; letter-spacing: .08em; }
.is-public .home-actions { align-items: center; margin-top: 26px; }
.is-public .home-actions .button.secondary { color: #fff; border-color: #65716a; }
.is-public .home-actions .button.secondary:hover { border-color: var(--public-yellow); background: transparent; }
.is-public .home-actions .public-text-link { color: var(--public-yellow); }

.is-public .home-search-card { position: relative; padding: clamp(24px, 4vw, 38px); background: var(--public-yellow); color: var(--public-ink); border-radius: 6px 36px 6px 36px; box-shadow: 18px 18px 0 rgba(0,0,0,.16); }
.is-public .home-search-card::before { content: ""; position: absolute; width: 72px; height: 12px; right: 30px; top: -6px; background: var(--public-coral); transform: rotate(-3deg); }
.is-public .search-card-kicker { display: flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.is-public .search-card-kicker span { width: 28px; height: 3px; background: var(--public-ink); }
.is-public .home-search-card h2 { margin: 10px 0 22px; font-size: clamp(2rem, 4vw, 3rem); line-height: .98; letter-spacing: -.05em; }
.is-public .home-search-shell { display: grid; grid-template-columns: 1fr; gap: 15px; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.is-public .home-search-shell label span { font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; }
.is-public .home-search-shell input { border: 2px solid var(--public-ink); background: #fffdf7; border-radius: 3px; padding: 14px 15px; }
.is-public .home-search-shell input:focus { outline: 4px solid rgba(23,32,27,.14); border-color: var(--public-ink); }
.is-public .home-search-shell button { width: 100%; min-height: 54px; justify-content: space-between; background: var(--public-ink); border-radius: 3px; padding-inline: 17px; }
.is-public .home-search-shell button:hover { background: #2a3930; }
.is-public .home-search-shell button span { font-size: 1.35rem; }
.is-public .home-popular { margin-top: 18px; gap: 8px; color: #5d5129; }
.is-public .home-popular > span { width: 100%; color: var(--public-ink); font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.is-public .home-popular a { padding: 5px 8px; border: 1px solid rgba(23,32,27,.45); color: var(--public-ink); border-radius: 999px; font-size: .8rem; text-decoration: none; }
.is-public .home-popular a:hover { background: var(--public-ink); color: #fff; }

.is-public .home-principles { background: var(--public-paper); padding: clamp(52px, 8vw, 98px) 0; }
.is-public .section-label { margin-bottom: 20px; color: #716b61; font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; }
.is-public .principles-grid { border-top: 2px solid var(--public-ink); }
.is-public .principles-grid article { display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 22px; padding: 26px 0; border-bottom: 1px solid var(--public-line); }
.is-public .principle-number { color: var(--public-coral); font-size: .82rem; font-weight: 900; letter-spacing: .08em; }
.is-public .principles-grid h2 { margin: 0 0 7px; font-size: clamp(1.35rem, 2.5vw, 2rem); letter-spacing: -.035em; }
.is-public .principles-grid p { margin: 0; max-width: 760px; color: #5d625e; }

/* Wyszukiwarka: lista usługowa, nie katalog identycznych kart. */
.is-public .search-page { padding: 0 0 82px; }
.is-public .search-head { margin-inline: calc(50% - 50vw); padding: 48px max(16px, calc((100vw - 1120px)/2)) 36px; background: var(--public-ink); color: #fff; }
.is-public .search-head .eyebrow { color: var(--public-yellow); }
.is-public .search-head h1 { color: #fff; margin-top: 8px; letter-spacing: -.052em; }
.is-public .search-head .search-shell { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr) auto; margin-top: 24px; padding: 0; background: transparent; border: 0; box-shadow: none; }
.is-public .search-head .search-shell span { color: #d9dfda; }
.is-public .search-head .search-shell input { min-height: 50px; border: 1px solid #5c6861; background: #26322c; color: #fff; border-radius: 3px; }
.is-public .search-head .search-shell input::placeholder { color: #aeb8b1; }
.is-public .search-head .search-shell input:focus { outline: 3px solid rgba(242,201,76,.25); border-color: var(--public-yellow); }
.is-public .search-head .search-shell button { min-height: 50px; background: var(--public-yellow); color: var(--public-ink); border-radius: 3px; }
.is-public .search-layout { margin-top: 34px; grid-template-columns: minmax(230px, 270px) minmax(0,1fr); gap: 36px; }
.is-public .search-filters.panel-card { background: transparent; border: 0; border-top: 3px solid var(--public-ink); border-radius: 0; padding: 20px 0; }
.is-public .search-filters .field select, .is-public .search-filters .field input { border-radius: 3px; background: #fffdf9; }
.is-public .search-filters .check-row { padding: 7px 0; border-bottom: 1px solid #ded8cd; }
.is-public .results-summary { padding-bottom: 12px; border-bottom: 1px solid var(--public-line); }
.is-public .search-hint { color: var(--public-ink); background: #e3dcc9; border-radius: 2px; }
.is-public .result-list { gap: 0; }
.is-public .result-card { position: relative; grid-template-columns: minmax(0,1fr) 180px; gap: 26px; padding: 24px 8px 24px 22px; background: transparent; border: 0; border-bottom: 1px solid var(--public-line); border-radius: 0; transition: background .18s ease, transform .18s ease; }
.is-public .result-card::before { content: ""; position: absolute; left: 0; top: 25px; bottom: 25px; width: 4px; background: #cfc8ba; transition: background .18s ease; }
.is-public .result-card:hover { background: rgba(255,255,255,.45); transform: translateX(3px); }
.is-public .result-card:hover::before { background: var(--public-yellow-deep); }
.is-public .result-card h2 { font-size: 1.4rem; letter-spacing: -.025em; }
.is-public .result-services span { background: transparent; border-color: #c8c1b5; border-radius: 3px; }
.is-public .result-actions { justify-content: center; border-left: 1px solid var(--public-line); padding-left: 22px; }
.is-public .result-price { text-align: left; }
.is-public .result-actions .button { width: 100%; }
.is-public .result-badges { justify-content: flex-start; }
.is-public .availability-pill { border-radius: 3px; }
.is-public .availability-open { background: #dfe8a8; color: #303b18; }
.is-public .availability-full { background: #ead7d0; color: #713c2e; }

/* Profil publiczny: karta fachowca + sekcje redakcyjne zamiast panelu administracyjnego. */
.is-public .public-business { padding: 34px 0 76px; }
.is-public .public-business-grid { grid-template-columns: minmax(0,1fr) minmax(270px,320px); gap: 34px; }
.is-public .business-main { gap: 0; }
.is-public .business-hero-card { position: relative; overflow: hidden; padding: clamp(26px, 5vw, 44px); background: var(--public-ink); color: #fff; border: 0; border-radius: 5px 34px 5px 34px; box-shadow: 10px 10px 0 var(--public-yellow); margin-bottom: 34px; }
.is-public .business-hero-card::after { content: ""; position: absolute; right: -34px; bottom: -45px; width: 130px; height: 130px; border: 26px solid rgba(242,201,76,.13); border-radius: 50%; pointer-events: none; }
.is-public .business-hero-card .eyebrow { color: var(--public-yellow); }
.is-public .business-hero-card h1 { color: #fff; letter-spacing: -.05em; }
.is-public .business-hero-card .business-location, .is-public .business-hero-card .lead { color: #cbd3cd; }
.is-public .business-hero-card .rating-badge { background: var(--public-yellow); color: var(--public-ink); border-radius: 3px; }
.is-public .business-logo { border: 0; border-radius: 4px 16px 4px 16px; }
.is-public .business-cover { opacity: .88; border-radius: 0; }
.is-public .business-hero-card .button.primary { background: var(--public-yellow); color: var(--public-ink); }
.is-public .business-hero-card .button.secondary { color: #fff; border-color: #66726b; }
.is-public .public-business .business-main > .panel-card { background: transparent; border: 0; border-top: 1px solid var(--public-line); border-radius: 0; padding: 26px 0; }
.is-public .public-business .business-main > .panel-card h2 { font-size: 1.35rem; letter-spacing: -.025em; }
.is-public .public-business .business-main > .panel-card:first-of-type { border-top: 2px solid var(--public-ink); }
.is-public .public-business .business-side { gap: 12px; }
.is-public .public-business .business-side .panel-card { background: #fffdf8; border: 1px solid #d7d0c4; border-radius: 3px 16px 3px 16px; box-shadow: none; }
.is-public .public-business .business-side .muted-card { background: var(--public-yellow); border-color: var(--public-yellow-deep); color: var(--public-ink); }
.is-public .tag-list span { border-radius: 3px; background: #e7e0d3; color: #3d4841; }
.is-public .portfolio-public-grid a { border-radius: 3px 14px 3px 14px; }
.is-public .review-card .rating-badge { border-radius: 3px; }
.is-public .verification-status { border-radius: 3px 12px 3px 12px; }

/* Auth/content: nadal spójne z nową stroną, ale bez utrudniania formularzy. */
.is-public .auth-card, .is-public .content-article, .is-public .article-card { border-radius: 3px 18px 3px 18px; }
.is-public .auth-card { border-color: #d2cbbf; box-shadow: 8px 8px 0 #e2dccf; }
.is-public .field input, .is-public .field select, .is-public .field textarea { border-radius: 3px; }
.is-public .article-card { background: #fffdf9; }

/* Stopka jako część identyfikacji, a nie kolejna biała belka. */
.site-footer { background: #111813; color: #dbe1dc; padding: 54px 0; }
.footer-grid { display: grid; grid-template-columns: minmax(0,1.35fr) repeat(2,minmax(180px,.65fr)); gap: 48px; }
.site-footer .brand { color: #fff; text-decoration: none; }
.site-footer .brand-symbol { background: var(--public-yellow, #f2c94c); }
.site-footer .brand-symbol i { background: #17201b; }
.footer-brand p { max-width: 480px; margin: 18px 0 0; color: #aeb9b1; }
.footer-links { display: grid; align-content: start; gap: 9px; font-size: .9rem; }
.footer-links strong { margin-bottom: 5px; color: #fff; }
.footer-links a { color: #cbd4cd; text-decoration: none; }
.footer-links a:hover { color: #f2c94c; }
.footer-links span { color: #87948b; font-size: .82rem; line-height: 1.5; }

@media (max-width: 920px) {
    .is-public .header-nav { gap: 13px; }
    .is-public .home-hero-grid { grid-template-columns: 1fr; }
    .is-public .home-search-card { max-width: 680px; }
    .is-public .home-hero::after { right: -20vw; width: 70vw; }
    .is-public .public-business-grid { grid-template-columns: 1fr; }
    .is-public .business-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .is-public .business-side .public-share-card, .is-public .business-side .muted-card { grid-column: 1 / -1; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .is-public .site-header .header-row { align-items: flex-start; flex-wrap: wrap; padding: 13px 0; }
    .is-public .header-nav { width: 100%; overflow-x: auto; justify-content: flex-start; padding-bottom: 3px; scrollbar-width: thin; }
    .is-public .header-nav a, .is-public .nav-button { white-space: nowrap; }
    .is-public .home-hero { padding-top: 46px; }
    .is-public .home-hero h1 { font-size: clamp(2.7rem, 14vw, 4.6rem); }
    .is-public .home-trust-row { grid-template-columns: 1fr; }
    .is-public .home-trust-row span { min-height: 62px; padding: 10px 0; border-right: 0; border-bottom: 1px solid #3a453f; }
    .is-public .home-trust-row span:last-child { border-bottom: 0; }
    .is-public .home-search-card { border-radius: 4px 24px 4px 24px; box-shadow: 10px 10px 0 rgba(0,0,0,.16); }
    .is-public .principles-grid article { grid-template-columns: 46px minmax(0,1fr); gap: 12px; }
    .is-public .search-head { padding-top: 38px; }
    .is-public .search-head .search-shell { grid-template-columns: 1fr; }
    .is-public .search-layout { grid-template-columns: 1fr; gap: 20px; }
    .is-public .search-filters { position: static; }
    .is-public .result-card { grid-template-columns: 1fr; padding: 22px 4px 22px 18px; }
    .is-public .result-actions { min-width: 0; padding: 14px 0 0; border-left: 0; border-top: 1px dashed #c8c1b5; }
    .is-public .business-side { grid-template-columns: 1fr; }
    .is-public .business-side .public-share-card, .is-public .business-side .muted-card { grid-column: auto; }
    .footer-grid { grid-template-columns: 1fr; gap: 30px; }
    .footer-brand { grid-column: auto; }
}
@media (max-width: 430px) {
    .is-public .container { width: min(100% - 28px, 1120px); }
    .is-public .home-search-card { padding: 22px 18px; }
    .is-public .home-hero h1 { font-size: clamp(2.5rem, 15vw, 3.6rem); }
    .is-public .business-hero-card { border-radius: 4px 22px 4px 22px; box-shadow: 6px 6px 0 var(--public-yellow); }
}

/* 0.16.6 — Szablon A: nowoczesny minimalizm, jasny front i pomarańczowa identyfikacja */
.is-public {
    --public-orange: #ff6b1a;
    --public-orange-dark: #e85508;
    --public-orange-soft: #fff1e7;
    --public-ink: #17191b;
    --public-muted: #697077;
    --public-line: #e8e8e8;
    --public-soft: #f8f8f7;
    --public-white: #ffffff;
    background: var(--public-white);
    color: var(--public-ink);
}
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Nagłówek jak w wariancie A: biały, lekki, produktowy. */
.is-public .site-header { position: relative; z-index: 50; background: rgba(255,255,255,.98); border-bottom: 1px solid #ededed; color: var(--public-ink); box-shadow: 0 1px 0 rgba(0,0,0,.015); }
.is-public .header-row { min-height: 74px; }
.is-public .brand { color: var(--public-ink); gap: 9px; }
.is-public .brand-symbol { width: 28px; height: 34px; flex-basis: 28px; background: transparent; border-radius: 0; transform: none; overflow: visible; color: var(--public-orange); }
.is-public .brand-symbol svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.is-public .brand-symbol svg circle { fill: currentColor; stroke: none; }
.is-public .brand-copy { line-height: .86; text-transform: uppercase; letter-spacing: -.025em; }
.is-public .brand-copy strong { color: #222; font-size: .83rem; font-weight: 900; }
.is-public .brand-copy span { color: var(--public-orange); font-size: .75rem; font-weight: 900; }
.is-public .header-nav { gap: 24px; font-size: .86rem; }
.is-public .header-nav a, .is-public .nav-button { color: #2c3033; font-weight: 690; }
.is-public .header-nav a:hover, .is-public .nav-button:hover { color: var(--public-orange-dark); }
.is-public .nav-add-business { color: #2c3033 !important; }
.is-public .nav-cta { padding: 9px 14px; background: #fff; color: #242729 !important; border: 1px solid #cfcfcf; border-radius: 7px; }
.is-public .nav-cta:hover { color: var(--public-orange-dark) !important; border-color: var(--public-orange); background: #fff8f3; }

/* Globalne komponenty publiczne. */
.is-public .button { border-radius: 8px; min-height: 44px; }
.is-public .button.primary { background: var(--public-orange); color: #fff; }
.is-public .button.primary:hover { background: var(--public-orange-dark); }
.is-public .button.secondary { background: #fff; color: #292d30; border-color: #d8dadd; }
.is-public .button.secondary:hover { border-color: #bfc2c5; background: #fafafa; }
.is-public .field input, .is-public .field select, .is-public .field textarea { border-radius: 8px; border-color: #dadde0; }
.is-public .field input:focus, .is-public .field select:focus, .is-public .field textarea:focus { outline: 3px solid rgba(255,107,26,.12); border-color: var(--public-orange); }
.is-public .eyebrow { color: var(--public-orange-dark); }

/* Strona główna. */
.is-public .template-a-home.home-hero { position: relative; overflow: hidden; background: linear-gradient(180deg,#fff 0%,#fffdfa 100%); color: var(--public-ink); padding: clamp(56px,7vw,92px) 0 32px; }
.is-public .template-a-home.home-hero::after { display: none; }
.is-public .template-a-home .home-hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.78fr); gap: clamp(24px,5vw,68px); align-items: center; }
.is-public .template-a-home .home-hero-copy { min-width: 0; padding-bottom: 24px; }
.is-public .template-a-home .public-eyebrow { margin-bottom: 11px; font-size: .73rem; letter-spacing: .1em; }
.is-public .template-a-home h1 { max-width: 14ch; margin: 0 0 18px; color: #151719; font-size: clamp(2.75rem,5.7vw,5rem); line-height: .99; letter-spacing: -.055em; font-weight: 860; }
.is-public .template-a-home h1 em { color: var(--public-orange); font-style: normal; }
.is-public .template-a-home .lead { max-width: 650px; margin: 0; color: #555d63; font-size: clamp(1rem,1.65vw,1.16rem); line-height: 1.65; }
.is-public .home-hero-visual { position: relative; min-height: 390px; display: flex; align-items: flex-end; justify-content: center; }
.is-public .home-hero-visual::before { content: ""; position: absolute; width: min(385px,82%); aspect-ratio: 1; border-radius: 50%; background: #fff1e6; right: 1%; bottom: 5%; }
.is-public .home-hero-visual::after { content: ""; position: absolute; width: 76px; height: 76px; right: 2%; top: 13%; background-image: radial-gradient(circle,var(--public-orange) 2px,transparent 2.5px); background-size: 14px 14px; opacity: .62; }
.is-public .home-hero-visual img { position: relative; z-index: 2; display: block; width: min(100%,520px); height: auto; filter: drop-shadow(0 16px 18px rgba(39,30,22,.08)); }
.is-public .hero-orange-shape { position: absolute; z-index: 1; right: 3%; bottom: 3%; width: 74%; aspect-ratio: 1.15; border-radius: 52% 48% 46% 54%; background: linear-gradient(145deg,#ff7b20,#ff9b47); transform: rotate(-7deg); opacity: .16; }

.is-public .template-a-home .home-search-shell { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.92fr) auto; gap: 0; width: min(760px,100%); margin: 28px 0 0; padding: 0; overflow: visible; background: #fff; border: 1px solid #dadde0; border-radius: 9px; box-shadow: 0 10px 26px rgba(23,25,27,.07); }
.is-public .template-a-home .home-search-shell label { position: relative; display: flex; align-items: center; min-width: 0; border-right: 1px solid #e2e3e4; }
.is-public .template-a-home .home-search-shell input { width: 100%; height: 52px; padding: 0 15px 0 43px; border: 0; border-radius: 0; background: transparent; font-size: .93rem; color: #202326; }
.is-public .template-a-home .home-search-shell input:focus { outline: 0; box-shadow: inset 0 0 0 2px rgba(255,107,26,.18); }
.is-public .template-a-home .home-search-shell button { min-width: 108px; min-height: 52px; margin: -1px; padding: 0 22px; background: var(--public-orange); color: #fff; border: 0; border-radius: 0 9px 9px 0; font-weight: 760; }
.is-public .template-a-home .home-search-shell button:hover { background: var(--public-orange-dark); }
.search-input-icon { position: absolute; z-index: 2; left: 15px; width: 18px; height: 18px; color: #8c9297; pointer-events: none; }
.search-input-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.is-public .home-popular-inline { display: flex; flex-wrap: wrap; gap: 7px 12px; align-items: center; margin-top: 13px; color: #80868b; font-size: .78rem; }
.is-public .home-popular-inline span { font-weight: 700; }
.is-public .home-popular-inline a { color: #565c61; text-decoration: none; border-bottom: 1px solid #d4d6d8; }
.is-public .home-popular-inline a:hover { color: var(--public-orange-dark); border-color: var(--public-orange); }

.is-public .home-benefits { border-top: 1px solid #ededed; border-bottom: 1px solid #ededed; background: #fff; }
.is-public .home-benefits .home-trust-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; border: 0; }
.is-public .home-benefits .home-trust-row > .benefit-item { display: flex; align-items: center; gap: 11px; min-height: 88px; padding: 17px 22px; border-right: 1px solid #eeeeee; color: var(--public-ink); }
.is-public .home-benefits .home-trust-row > .benefit-item:first-child { padding-left: 0; }
.is-public .home-benefits .home-trust-row > .benefit-item:last-child { border-right: 0; padding-right: 0; }
.benefit-icon { width: 28px; height: 28px; flex: 0 0 28px; color: var(--public-orange); }
.benefit-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.is-public .benefit-item div { display: grid; gap: 2px; }
.is-public .benefit-item strong { font-size: .85rem; }
.is-public .benefit-item small { color: #81868a; font-size: .72rem; }

.is-public .home-categories { padding: clamp(52px,7vw,84px) 0; background: #fff; }
.is-public .home-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 23px; }
.is-public .home-section-head .eyebrow { display: block; margin-bottom: 5px; font-size: .7rem; }
.is-public .home-section-head h2 { margin: 0; font-size: clamp(1.65rem,3vw,2.35rem); letter-spacing: -.035em; }
.is-public .home-section-head > a { color: var(--public-orange-dark); font-size: .82rem; font-weight: 720; text-decoration: none; }
.is-public .home-categories-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.is-public .home-category-card { min-width: 0; min-height: 150px; display: grid; align-content: start; gap: 7px; padding: 20px 15px 17px; background: #fff; border: 1px solid #e7e7e7; border-radius: 10px; color: #202326; text-decoration: none; box-shadow: 0 7px 22px rgba(20,22,24,.035); transition: transform .17s ease,border-color .17s ease,box-shadow .17s ease; }
.is-public .home-category-card:hover { transform: translateY(-3px); border-color: #ffc39e; box-shadow: 0 13px 28px rgba(255,107,26,.09); }
.category-icon { width: 34px; height: 34px; margin-bottom: 10px; color: var(--public-orange); }
.category-icon svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.is-public .home-category-card strong { font-size: .9rem; line-height: 1.25; }
.is-public .home-category-card small { color: #8a8f93; font-size: .7rem; line-height: 1.35; }

.is-public .home-pro-cta { padding: 0 0 clamp(58px,7vw,86px); background: #fff; }
.is-public .home-pro-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: clamp(28px,4vw,42px); background: #fff7f1; border: 1px solid #ffe0ca; border-radius: 14px; }
.is-public .home-pro-cta-inner h2 { max-width: 690px; margin: 5px 0 0; font-size: clamp(1.45rem,2.6vw,2.1rem); letter-spacing: -.035em; }

/* Wyszukiwarka publiczna w tym samym języku wizualnym. */
.is-public .search-page { padding: 0 0 82px; background: #fff; }
.is-public .search-head { margin-inline: calc(50% - 50vw); padding: 42px max(16px,calc((100vw - 1120px)/2)) 34px; background: #fff9f5; color: var(--public-ink); border-bottom: 1px solid #f1dfd3; }
.is-public .search-head .eyebrow { color: var(--public-orange-dark); }
.is-public .search-head h1 { color: #17191b; margin: 7px 0 0; font-size: clamp(2.15rem,4vw,3.5rem); letter-spacing: -.045em; }
.is-public .search-head .search-shell { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr) auto; margin-top: 22px; padding: 7px; background: #fff; border: 1px solid #dedede; border-radius: 10px; box-shadow: 0 8px 24px rgba(23,25,27,.05); }
.is-public .search-head .search-shell span { color: #4c5256; }
.is-public .search-head .search-shell input { min-height: 48px; border: 1px solid #e2e3e4; background: #fff; color: #222; border-radius: 7px; }
.is-public .search-head .search-shell input::placeholder { color: #999ea2; }
.is-public .search-head .search-shell input:focus { outline: 3px solid rgba(255,107,26,.1); border-color: var(--public-orange); }
.is-public .search-head .search-shell button { min-height: 48px; background: var(--public-orange); color: #fff; border-radius: 7px; }
.is-public .search-head .search-shell button:hover { background: var(--public-orange-dark); }
.is-public .search-layout { margin-top: 30px; grid-template-columns: minmax(225px,260px) minmax(0,1fr); gap: 28px; }
.is-public .search-filters.panel-card { background: #fafafa; border: 1px solid #e6e6e6; border-radius: 12px; padding: 20px; }
.is-public .search-filters .field select, .is-public .search-filters .field input { border-radius: 7px; background: #fff; }
.is-public .search-filters .check-row { padding: 7px 0; border-bottom: 1px solid #ececec; }
.is-public .results-summary { padding-bottom: 13px; border-bottom: 1px solid #e8e8e8; }
.is-public .search-hint { color: #6d4b36; background: #fff0e5; border-radius: 7px; }
.is-public .result-list { gap: 14px; padding-top: 14px; }
.is-public .result-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 172px; gap: 24px; padding: 22px; background: #fff; border: 1px solid #e7e7e7; border-radius: 12px; box-shadow: 0 7px 22px rgba(20,22,24,.035); transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease; }
.is-public .result-card::before { display: none; }
.is-public .result-card:hover { background: #fff; transform: translateY(-2px); border-color: #ffc29a; box-shadow: 0 13px 30px rgba(255,107,26,.07); }
.is-public .result-card h2 { font-size: 1.3rem; }
.is-public .result-card h2 a:hover { color: var(--public-orange-dark); }
.is-public .result-services span { background: #fafafa; border-color: #e2e2e2; border-radius: 6px; }
.is-public .result-actions { justify-content: center; border-left: 1px solid #ededed; padding-left: 20px; }
.is-public .result-actions .button { width: 100%; }
.is-public .status-pill, .is-public .availability-pill, .is-public .rating-badge { border-radius: 999px; }
.is-public .availability-open { background: #eef8ef; color: #2d6837; }
.is-public .availability-full { background: #fff0ec; color: #934c36; }
.is-public .verified-badge { background: #eef5ff; color: #315f91; }
.is-public .rating-badge { background: #fff5e9; color: #8a4a16; }

/* Profil firmy — czyste białe karty, bez ciężkiego ciemnego hero. */
.is-public .public-business { padding: 34px 0 76px; background: #fff; }
.is-public .public-business-grid { grid-template-columns: minmax(0,1fr) minmax(270px,320px); gap: 28px; }
.is-public .business-main { gap: 16px; }
.is-public .business-hero-card { position: relative; overflow: hidden; padding: clamp(24px,4vw,38px); background: linear-gradient(135deg,#fff 0%,#fff8f3 100%); color: var(--public-ink); border: 1px solid #f0dfd3; border-radius: 14px; box-shadow: 0 10px 28px rgba(39,32,28,.045); margin-bottom: 2px; }
.is-public .business-hero-card::after { content: ""; position: absolute; right: -45px; top: -55px; width: 160px; height: 160px; border-radius: 50%; background: #ffe5d4; opacity: .7; pointer-events: none; }
.is-public .business-hero-card .eyebrow { color: var(--public-orange-dark); }
.is-public .business-hero-card h1 { color: #17191b; letter-spacing: -.045em; }
.is-public .business-hero-card .business-location, .is-public .business-hero-card .lead { color: #626a6f; }
.is-public .business-hero-card .rating-badge { background: #fff0e5; color: #8b4817; }
.is-public .business-logo { border: 1px solid #eee0d6; border-radius: 10px; }
.is-public .business-cover { border-radius: 10px; opacity: 1; }
.is-public .business-hero-card .button.primary { background: var(--public-orange); color: #fff; }
.is-public .business-hero-card .button.secondary { color: #2b2f32; border-color: #d7d9db; background: #fff; }
.is-public .public-business .business-main > .panel-card { background: #fff; border: 1px solid #e9e9e9; border-radius: 12px; padding: 24px; }
.is-public .public-business .business-main > .panel-card:first-of-type { border-top: 1px solid #e9e9e9; }
.is-public .public-business .business-side { gap: 14px; }
.is-public .public-business .business-side .panel-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 12px; box-shadow: none; }
.is-public .public-business .business-side .muted-card { background: #fff6ef; border-color: #ffddc5; color: #292d30; }
.is-public .tag-list span { border-radius: 999px; background: #f7f7f7; color: #4f565b; }
.is-public .portfolio-public-grid a { border-radius: 10px; }
.is-public .verification-status { border-radius: 10px; }

/* Formularze i treści publiczne */
.is-public .auth-page, .is-public .content-page { background: #fff; }
.is-public .auth-card, .is-public .content-article, .is-public .article-card { border-radius: 12px; border-color: #e8e8e8; box-shadow: 0 10px 28px rgba(20,22,24,.04); }
.is-public .article-card { background: #fff; }

/* Stopka jasna i dyskretna. */
.is-public .site-footer { background: #f7f7f6; color: #5f666b; border-top: 1px solid #e8e8e8; padding: 48px 0; }
.is-public .site-footer .brand { color: #202326; }
.is-public .site-footer .brand-symbol { color: var(--public-orange); background: transparent; }
.is-public .site-footer .brand-copy strong { color: #222; }
.is-public .site-footer .brand-copy span { color: var(--public-orange); }
.is-public .footer-brand p { color: #747a7e; }
.is-public .footer-links strong { color: #24282b; }
.is-public .footer-links a { color: #5f666b; }
.is-public .footer-links a:hover { color: var(--public-orange-dark); }

@media (max-width: 980px) {
    .is-public .header-nav { gap: 15px; }
    .is-public .template-a-home .home-hero-grid { grid-template-columns: minmax(0,1fr) minmax(280px,.7fr); gap: 20px; }
    .is-public .home-hero-visual { min-height: 330px; }
    .is-public .home-categories-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .is-public .home-benefits .home-trust-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .is-public .home-benefits .home-trust-row > .benefit-item:nth-child(2) { border-right: 0; }
    .is-public .home-benefits .home-trust-row > .benefit-item:nth-child(-n+2) { border-bottom: 1px solid #eee; }
}

@media (max-width: 760px) {
    .is-public .site-header .header-row { align-items: center; flex-wrap: wrap; padding: 11px 0; }
    .is-public .header-nav { width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
    .is-public .template-a-home.home-hero { padding-top: 42px; }
    .is-public .template-a-home .home-hero-grid { grid-template-columns: 1fr; }
    .is-public .template-a-home h1 { max-width: 13ch; font-size: clamp(2.55rem,12vw,4rem); }
    .is-public .home-hero-visual { min-height: 280px; order: 2; }
    .is-public .home-hero-visual img { width: min(100%,430px); }
    .is-public .template-a-home .home-search-shell { grid-template-columns: 1fr; overflow: hidden; }
    .is-public .template-a-home .home-search-shell label { border-right: 0; border-bottom: 1px solid #e4e5e6; }
    .is-public .template-a-home .home-search-shell button { margin: 0; border-radius: 0 0 8px 8px; }
    .is-public .home-categories-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .is-public .home-pro-cta-inner { align-items: flex-start; flex-direction: column; }
    .is-public .search-head .search-shell { grid-template-columns: 1fr; }
    .is-public .search-layout { grid-template-columns: 1fr; gap: 20px; }
    .is-public .result-card { grid-template-columns: 1fr; }
    .is-public .result-actions { min-width: 0; border-left: 0; border-top: 1px solid #ededed; padding: 15px 0 0; }
    .is-public .public-business-grid { grid-template-columns: 1fr; }
}

@media (max-width: 470px) {
    .is-public .container { width: min(100% - 24px,1120px); }
    .is-public .header-nav { gap: 12px; font-size: .8rem; }
    .is-public .template-a-home h1 { font-size: clamp(2.35rem,13vw,3.25rem); }
    .is-public .home-hero-visual { min-height: 245px; }
    .is-public .home-benefits .home-trust-row { grid-template-columns: 1fr; }
    .is-public .home-benefits .home-trust-row > .benefit-item { border-right: 0; border-bottom: 1px solid #eee; padding-inline: 0; }
    .is-public .home-benefits .home-trust-row > .benefit-item:last-child { border-bottom: 0; }
    .is-public .home-categories-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .is-public .home-category-card { min-height: 140px; padding: 17px 13px; }
    .is-public .home-section-head { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* 0.16.7 — dopracowany wariant A: większa gęstość, lepsza skala na szerokich ekranach. */
@media (min-width: 1180px) {
    .is-public .site-header .container,
    .is-public .template-a-home .container,
    .is-public .home-benefits .container,
    .is-public .home-categories .container,
    .is-public .home-how .container,
    .is-public .home-pro-cta .container,
    .is-public .site-footer .container { width: min(1380px, calc(100% - 64px)); }
}
.is-public .site-header { box-shadow: 0 1px 0 rgba(20,22,24,.04); }
.is-public .header-row { min-height: 82px; }
.is-public .brand-symbol { width: 31px; height: 37px; flex-basis: 31px; }
.is-public .brand-copy strong { font-size: .9rem; }
.is-public .brand-copy span { font-size: .8rem; }
.is-public .header-nav { gap: 28px; font-size: .91rem; }
.is-public .nav-cta { padding: 10px 16px; }

.is-public .template-a-home.home-hero {
    overflow: visible;
    padding: clamp(54px,5.4vw,80px) 0 clamp(54px,5.6vw,76px);
    background:
        radial-gradient(circle at 79% 42%, rgba(255,107,26,.08) 0 19%, transparent 19.2%),
        linear-gradient(180deg,#fff 0%,#fffdfa 100%);
}
.is-public .template-a-home .home-hero-grid { grid-template-columns: minmax(0,1.08fr) minmax(430px,.92fr); gap: clamp(46px,5vw,84px); align-items: center; }
.is-public .template-a-home .home-hero-copy { padding: 18px 0; }
.is-public .template-a-home .public-eyebrow { margin-bottom: 14px; font-size: .79rem; letter-spacing: .12em; }
.is-public .template-a-home h1 { max-width: 19ch; margin: 0 0 22px; font-size: clamp(3.1rem,4.15vw,4.6rem); line-height: .98; letter-spacing: -.052em; }
.is-public .template-a-home h1 span,
.is-public .template-a-home h1 em { display: block; }
.is-public .template-a-home h1 em { margin-top: 4px; }
.is-public .template-a-home .lead { max-width: 720px; color: #5b6267; font-size: clamp(1.02rem,1.2vw,1.17rem); line-height: 1.65; }

.is-public .template-a-home .home-search-shell { width: min(820px,100%); margin-top: 30px; border-radius: 12px; box-shadow: 0 15px 38px rgba(23,25,27,.09); }
.is-public .template-a-home .home-search-shell input { height: 60px; padding-left: 46px; font-size: .98rem; }
.is-public .template-a-home .home-search-shell button { min-width: 158px; min-height: 60px; padding-inline: 24px; border-radius: 0 12px 12px 0; font-size: .96rem; }
.is-public .template-a-home .home-search-shell label:first-child { border-radius: 12px 0 0 12px; }
.is-public .home-popular-inline { margin-top: 15px; font-size: .82rem; }

.is-public .home-hero-visual { min-height: 500px; align-items: center; justify-content: center; isolation: isolate; }
.is-public .hero-visual-panel { position: relative; width: min(100%,560px); min-height: 456px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; border-radius: 34px 34px 92px 34px; background: linear-gradient(145deg,#fff4ea 0%,#ffe4cf 100%); box-shadow: 0 28px 60px rgba(108,62,31,.12); }
.is-public .hero-visual-panel::before { content:""; position:absolute; inset: 24px; border:1px solid rgba(255,107,26,.18); border-radius: 24px 24px 78px 24px; pointer-events:none; }
.is-public .hero-visual-panel::after { content:""; position:absolute; right:32px; top:28px; width:88px; height:88px; background-image:radial-gradient(circle,var(--public-orange) 2px,transparent 2.4px); background-size:14px 14px; opacity:.45; }
.is-public .hero-visual-label { position:absolute; z-index:4; left:30px; top:28px; padding:8px 11px; border-radius:999px; background:#fff; color:#6b3a1d; box-shadow:0 8px 24px rgba(61,39,25,.08); font-size:.74rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.is-public .home-hero-visual::before,
.is-public .home-hero-visual::after { display:none; }
.is-public .hero-visual-panel .hero-orange-shape { right:-8%; bottom:-20%; width:96%; opacity:.3; }
.is-public .hero-visual-panel img { position:relative; z-index:3; width:min(112%,620px); max-width:none; margin:0 -22px -9px 0; filter:drop-shadow(0 18px 20px rgba(39,30,22,.11)); }
.is-public .hero-info-card { position:absolute; z-index:7; display:flex; align-items:center; gap:11px; width:min(285px,58%); padding:13px 15px; border:1px solid rgba(230,225,220,.95); border-radius:13px; background:rgba(255,255,255,.96); box-shadow:0 15px 32px rgba(28,24,20,.11); backdrop-filter:blur(8px); }
.is-public .hero-info-card div { display:grid; gap:2px; }
.is-public .hero-info-card strong { color:#222628; font-size:.82rem; }
.is-public .hero-info-card small { color:#797f83; font-size:.69rem; line-height:1.3; }
.is-public .hero-info-availability { left:-18px; bottom:70px; }
.is-public .hero-info-trust { right:-20px; top:92px; }
.is-public .hero-info-dot { width:11px; height:11px; flex:0 0 11px; border-radius:50%; background:#35a15c; box-shadow:0 0 0 5px #e7f5ec; }
.is-public .hero-info-star { width:28px; height:28px; display:grid; place-items:center; flex:0 0 28px; border-radius:9px; background:#fff1e5; color:var(--public-orange); font-size:1rem; }

.is-public .home-benefits { position:relative; z-index:5; margin-top:-20px; padding:0 0 18px; border:0; background:transparent; }
.is-public .home-trust-panel { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid #e8e8e8; border-radius:16px; background:#fff; box-shadow:0 16px 42px rgba(24,26,28,.06); }
.is-public .home-benefits .home-trust-panel > .benefit-item { display:flex; align-items:center; gap:14px; min-height:102px; padding:21px 24px; border-right:1px solid #ececec; }
.is-public .home-benefits .home-trust-panel > .benefit-item:last-child { border-right:0; }
.is-public .benefit-icon { width:34px; height:34px; flex-basis:34px; }
.is-public .benefit-item strong { font-size:.91rem; }
.is-public .benefit-item small { max-width:220px; color:#7b8185; font-size:.76rem; line-height:1.38; }

.is-public .home-categories { padding: clamp(62px,6vw,88px) 0; background:#fff; }
.is-public .home-section-head { align-items:flex-end; margin-bottom:30px; }
.is-public .home-section-head h2 { font-size:clamp(2rem,2.8vw,2.7rem); }
.is-public .home-section-head p { max-width:560px; margin:8px 0 0; color:#777e83; font-size:.94rem; }
.is-public .home-categories-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.is-public .home-category-card { min-height:124px; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; align-content:center; gap:17px; padding:22px 22px; border-radius:14px; box-shadow:0 8px 24px rgba(20,22,24,.04); }
.is-public .home-category-card:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(255,107,26,.09); }
.is-public .category-icon { width:46px; height:46px; margin:0; display:grid; place-items:center; padding:9px; border-radius:13px; background:#fff3ea; }
.is-public .category-copy { min-width:0; display:grid; gap:5px; }
.is-public .home-category-card strong { font-size:1rem; }
.is-public .home-category-card small { font-size:.78rem; }
.is-public .category-arrow { color:#c7c9cb; font-size:1.35rem; transition:transform .17s ease,color .17s ease; }
.is-public .home-category-card:hover .category-arrow { color:var(--public-orange); transform:translateX(3px); }

.is-public .home-how { padding:0 0 clamp(64px,6vw,88px); background:#fff; }
.is-public .home-how-shell { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(42px,6vw,86px); align-items:center; padding:clamp(34px,4vw,52px); border-radius:22px; background:#17191b; color:#fff; box-shadow:0 24px 54px rgba(20,22,24,.12); }
.is-public .home-how-intro .eyebrow { color:#ff9b5f; }
.is-public .home-how-intro h2 { max-width:13ch; margin:9px 0 14px; color:#fff; font-size:clamp(2rem,3vw,3rem); line-height:1.04; letter-spacing:-.04em; }
.is-public .home-how-intro p { max-width:520px; margin:0; color:#bfc4c7; line-height:1.62; }
.is-public .home-steps { list-style:none; display:grid; gap:0; margin:0; padding:0; counter-reset:steps; }
.is-public .home-steps li { display:grid; grid-template-columns:52px minmax(0,1fr); gap:17px; align-items:start; padding:19px 0; border-bottom:1px solid #303437; }
.is-public .home-steps li:last-child { border-bottom:0; }
.is-public .home-steps li > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; background:var(--public-orange); color:#fff; font-weight:850; }
.is-public .home-steps li div { display:grid; gap:4px; }
.is-public .home-steps strong { font-size:1rem; }
.is-public .home-steps small { color:#aeb4b8; font-size:.8rem; line-height:1.45; }

.is-public .home-pro-cta { padding:0 0 clamp(68px,6vw,92px); }
.is-public .home-pro-cta-inner { position:relative; overflow:hidden; padding:clamp(34px,4.4vw,54px); border:0; border-radius:22px; background:linear-gradient(135deg,#fff2e8 0%,#fff8f3 70%); box-shadow:inset 0 0 0 1px #ffddc5; }
.is-public .home-pro-cta-inner::after { content:""; position:absolute; width:220px; height:220px; right:-75px; bottom:-115px; border-radius:50%; background:#ffcfad; opacity:.6; }
.is-public .home-pro-copy { position:relative; z-index:1; max-width:810px; }
.is-public .home-pro-cta-inner h2 { max-width:760px; font-size:clamp(1.7rem,2.5vw,2.45rem); }
.is-public .home-pro-cta-inner p { max-width:680px; margin:10px 0 0; color:#6e7478; }
.is-public .home-pro-cta-inner .button { position:relative; z-index:2; min-width:150px; justify-content:center; }

.is-public .site-footer { padding:58px 0; }
.is-public .footer-grid { gap:64px; }
.is-public .footer-brand p { font-size:.9rem; line-height:1.6; }
.is-public .footer-links { gap:9px; }
.is-public .footer-links strong { margin-bottom:4px; font-size:.92rem; }
.is-public .footer-links a,
.is-public .footer-links span { font-size:.84rem; }

@media (max-width: 1100px) {
    .is-public .template-a-home .home-hero-grid { grid-template-columns:minmax(0,1fr) minmax(350px,.82fr); gap:28px; }
    .is-public .template-a-home h1 { font-size:clamp(2.9rem,5.2vw,4rem); }
    .is-public .home-hero-visual { min-height:430px; }
    .is-public .hero-visual-panel { min-height:400px; }
    .is-public .hero-info-card { width:min(255px,64%); }
    .is-public .home-trust-panel { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .is-public .home-benefits .home-trust-panel > .benefit-item:nth-child(2) { border-right:0; }
    .is-public .home-benefits .home-trust-panel > .benefit-item:nth-child(-n+2) { border-bottom:1px solid #ececec; }
}
@media (max-width: 820px) {
    .is-public .template-a-home.home-hero { padding-top:42px; }
    .is-public .template-a-home .home-hero-grid { grid-template-columns:1fr; }
    .is-public .template-a-home h1 { max-width:18ch; }
    .is-public .home-hero-visual { width:min(100%,620px); min-height:420px; margin:0 auto; }
    .is-public .template-a-home .home-search-shell { grid-template-columns:1fr; overflow:hidden; }
    .is-public .template-a-home .home-search-shell label { border-right:0; border-bottom:1px solid #e4e5e6; }
    .is-public .template-a-home .home-search-shell button { margin:0; border-radius:0 0 11px 11px; }
    .is-public .home-categories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .is-public .home-how-shell { grid-template-columns:1fr; gap:22px; }
    .is-public .home-how-intro h2 { max-width:18ch; }
}
@media (max-width: 560px) {
    .is-public .template-a-home h1 { font-size:clamp(2.45rem,12.5vw,3.25rem); }
    .is-public .template-a-home .lead { font-size:.98rem; }
    .is-public .home-hero-visual { min-height:350px; }
    .is-public .hero-visual-panel { min-height:335px; border-radius:24px 24px 58px 24px; }
    .is-public .hero-info-card { width:72%; padding:10px 11px; }
    .is-public .hero-info-availability { left:4px; bottom:26px; }
    .is-public .hero-info-trust { right:4px; top:72px; }
    .is-public .hero-info-card small { display:none; }
    .is-public .home-trust-panel { grid-template-columns:1fr; }
    .is-public .home-benefits .home-trust-panel > .benefit-item { min-height:82px; padding:17px 18px; border-right:0; border-bottom:1px solid #ececec; }
    .is-public .home-benefits .home-trust-panel > .benefit-item:nth-child(2) { border-bottom:1px solid #ececec; }
    .is-public .home-benefits .home-trust-panel > .benefit-item:last-child { border-bottom:0; }
    .is-public .home-categories-grid { grid-template-columns:1fr; }
    .is-public .home-category-card { min-height:108px; }
    .is-public .home-pro-cta-inner { align-items:flex-start; }
    .is-public .home-pro-cta-inner .button { width:100%; }
}

/* 0.16.8: realistyczne zdjęcie w hero zamiast ilustracji postaci. */
.is-public .hero-visual-panel {
    align-items: stretch;
    justify-content: stretch;
    min-height: 456px;
    background: #ece9e5;
    border-radius: 26px;
    box-shadow: 0 26px 58px rgba(38, 31, 26, .13);
}
.is-public .hero-visual-panel::before {
    inset: 0;
    z-index: 2;
    border: 1px solid rgba(34, 31, 28, .08);
    border-radius: inherit;
    background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(24,18,13,.03));
}
.is-public .hero-visual-panel::after,
.is-public .hero-visual-panel .hero-orange-shape,
.is-public .hero-visual-label { display: none; }
.is-public .hero-visual-panel img.hero-professional-photo {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    object-position: 50% 34%;
    filter: none;
}
.is-public .hero-info-card { z-index: 8; }
.is-public .hero-info-availability { left: -24px; bottom: 52px; }
.is-public .hero-info-trust { right: -24px; top: 58px; }
@media (max-width: 760px) {
    .is-public .hero-visual-panel { min-height: 350px; border-radius: 20px; }
    .is-public .hero-visual-panel img.hero-professional-photo { object-position: 54% 30%; }
}

/* Search navigation, 0.16.16 */
.location-suggestion[aria-selected="true"]{background:#e8efff;box-shadow:inset 3px 0 #2454a6}
.active-search-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.active-search-filters a{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:20px;background:#fff;color:#24334b;text-decoration:none;overflow-wrap:anywhere}
.active-search-filters a:hover{background:#eef3fb}
.active-search-filters a:focus-visible{outline:3px solid #2454a6;outline-offset:2px}
.empty-results .filter-reset{display:block;margin-top:16px}

/* Price mode visibility must override the field layout display rule. */
[data-price-form] [data-price-to-field][hidden] { display: none !important; }

/* 0.16.33 — panel: actions, field states and narrow layouts. */
.account-page .field,
.account-page .two-fields > *,
.account-page .company-workspace > *,
.account-page .favorite-card > * { min-width: 0; }
.account-page .field select,
.account-page .field textarea { min-width: 0; max-width: 100%; }
.account-page .item-row > .item-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.account-page .item-actions .service-edit-link,
.account-page .item-actions .text-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 12px;
}
.account-page .company-list-head h2 { flex-wrap: wrap; }
.account-page .field input:disabled,
.account-page .field select:disabled,
.account-page .field textarea:disabled {
    background: #f1f4f3;
    color: #596660;
    border-color: #cbd3cf;
    cursor: not-allowed;
    opacity: 1;
}
.account-page :is(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid #2454a6;
    outline-offset: 3px;
}
.account-page .favorite-card[id] { scroll-margin-top: 24px; }
.account-page .favorite-card:target {
    border-color: #718f7e;
    box-shadow: 0 0 0 2px #e1ece5;
}
@media (max-width: 600px) {
    .account-page .favorite-actions > a,
    .account-page .favorite-actions > form { flex: 1 1 100%; }
    .account-page .favorite-actions form .button { width: 100%; }
    .account-page .item-row > .item-actions { align-self: stretch; }
}

/* 0.16.34 — search pagination on narrow screens. */
.search-page .pagination { flex-wrap: wrap; gap: 10px 16px; }
.search-page .pagination a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
.search-page .pagination a:focus-visible { outline: 3px solid #2454a6; outline-offset: 3px; }
.search-page .result-price { min-width: 0; }
.search-page .result-price small { white-space: normal; }

/* 0.16.35 — server validation feedback. */
.form-error-summary { padding: 14px 16px; border: 1px solid #d99c9c; border-left: 4px solid #a12626; border-radius: 10px; background: #fff4f4; color: #7b2525; }
.form-error-summary ul { margin: 8px 0 0; padding-left: 20px; }
.form-error-summary li + li { margin-top: 6px; }
.form-error-summary a { color: inherit; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.form-error-summary a:focus-visible { outline: 3px solid #2454a6; outline-offset: 3px; }
.field.has-server-error > input,
.field.has-server-error > select,
.field.has-server-error > textarea { border-color: #a12626; box-shadow: inset 3px 0 #a12626; }
.field [aria-invalid="true"] { scroll-margin-top: 32px; }
