/* ================================================================
   MedAesthetics Portal — High-End Medical Editorial Styling
   Design System: Clean, Authoritative, Editorial, Typographic Hierarchy.
   Brak jakichkolwiek widocznych obramowań (zero hairline, zero border),
   zero kart, zero cieni.
   ================================================================ */

/* --- Variables ------------------------------------------------- */
:root {
  --med-bg: #ffffff;
  --med-surface: #f8fafc;
  --med-surface-subtle: #f1f5f9;
  --med-text-main: #0b1320;
  --med-text-muted: #64748b;
  --med-primary: #007787;
  --med-primary-hover: #005a66;
  --med-dark: #070c14;
  --med-radius: 3px;
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
  --med-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --med-transition: 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- Base & Reset ---------------------------------------------- */
* { -webkit-font-smoothing: antialiased; border-color: transparent !important; }
.row { --bs-gutter-x: 2rem; --bs-gutter-y: 2rem; }
img { max-width: 100%; height: auto; border-radius: var(--med-radius) !important; }
.date { display: block; font-size: 0.7rem; text-transform: uppercase; }
.med-sidebar span { display: block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--med-text-muted); margin-bottom: 0.2rem; }
.btn { border-radius: var(--med-radius) !important; }
.med-card-link, .med-hero-media, .med-hero-side-media, .med-post-card-img, .med-device-card, .med-device-img { border-radius: var(--med-radius) !important; }
.med-post-card-img { position: relative; overflow: hidden; }
.med-post-card-img > a > div { display: flex; align-items: center; justify-content: center; height: 100%; background: var(--med-surface-subtle); color: var(--med-text-muted); }
.med-post-card-img > a > div i { font-size: 2.5rem; }
.med-post-card-img > .med-badge { position: absolute; top: 1rem; left: 1rem; margin: 0; }
.med-post-card-body { display: flex; flex-direction: column; }
.med-post-card-meta i { margin-right: 0.25rem; }
.med-post-card-body > div:last-child { margin-top: auto; padding-top: 0.5rem; }
.med-post-card-body > div:last-child a { display: inline-flex; align-items: center; gap: 0.25rem; color: var(--med-primary); font-size: 0.875rem; font-weight: 600; }
body { font-family: var(--med-font-sans); background: var(--med-bg); color: var(--med-text-main); line-height: 1.6; font-size: 16px; text-transform: none; }
a { color: var(--med-text-main); text-decoration: none; transition: color var(--med-transition); }
a:hover { text-decoration: underline !important; }

/* Wyjątki od podkreślenia na hover */
.btn:hover,
.btn-light:hover,
.btn-primary:hover,
.btn-outline-primary:hover,
.med-header .nav-link:hover,
.med-header .navbar-brand:hover,
.badge:hover,
.med-badge:hover,
.social-icons a:hover,
.nav-link:hover,
.dropdown-item:hover { text-decoration: none !important; }

/* --- Breadcrumbs ------------------------------------------------ */
.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.8rem; font-weight: 400; margin-bottom: 1.5rem; background: transparent; padding: 0; color: var(--med-text-main); }
.breadcrumb a, .breadcrumb span, .breadcrumb-item a, .breadcrumb-item { color: var(--med-text-muted); text-transform: none; }
.breadcrumb a:hover, .breadcrumb-item a:hover { color: var(--med-primary); }
.breadcrumb > .current, .breadcrumb-item.active { color: var(--med-text-main); font-weight: 600; }
.breadcrumb > .sep { color: #cbd5e1; }
.breadcrumb-item + .breadcrumb-item::before { color: #cbd5e1; content: "/"; }

/* --- Base Typography Hierarchy ---------------------------------- */
h1 { font-size: 2rem !important; font-weight: 700; line-height: 1.25; }
h2 { font-size: 1.4rem !important; font-weight: 700; line-height: 1.3; }
h3 { font-size: 1.15rem !important; font-weight: 700; line-height: 1.35; }
h4 { font-size: 1rem !important; font-weight: 700; line-height: 1.35; }
h5 { font-size: 0.9rem !important; font-weight: 700; line-height: 1.35; }
h6 { font-size: 0.8rem !important; font-weight: 700; line-height: 1.35; }
h1, h2, h3, h4, h5, h6 { font-family: var(--med-font-sans); color: var(--med-text-main); letter-spacing: -0.02em; text-transform: none; }
.med-section-title { font-size: 1.25rem; position: relative; margin-bottom: 0; font-family: var(--med-font-sans); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--med-text-main); border-bottom: 1px solid var(--med-surface-subtle); padding-bottom: 0.5rem; }

/* --- Badges & Elements ------------------------------------------ */
.badge-category { display: inline-block; font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--med-text-muted); background: transparent; padding: 0; border: 0 !important; text-decoration: none !important; }
.badge-category:hover { color: var(--med-primary) !important; text-decoration: underline !important; }

/* --- Header & Masthead ------------------------------------------ */
.med-header { background: #ffffff; position: sticky; top: 0; z-index: 1030; box-shadow: 0 4px 20px rgba(0,0,0,0.03); }
.med-header-nav { padding: 0.5rem calc(var(--bs-gutter-x) * 0.5); }
.med-logo { display: flex; align-items: center; gap: 0.25rem; margin-right: 1.5rem; color: var(--med-text-main); font-size: 1.5rem; font-weight: 700; letter-spacing: -0.02em; text-transform: uppercase; }
.med-logo:hover { color: var(--med-text-main); text-decoration: none !important; }
.med-logo img { width: auto; height: 36px; }
.med-logo > span > span { margin-left: 0.25rem; color: var(--med-text-muted); font-size: 0.85rem; font-weight: 300; text-transform: none; }
.med-header .navbar-brand { font-family: var(--med-font-sans); font-size: 1.5rem; font-weight: 700; color: var(--med-text-main); display: flex; align-items: center; gap: 0.6rem; }
.med-brand-icon { width: 34px; height: 32px; background: var(--med-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.med-header .nav-link { font-weight: 600; font-size: 0.88rem; color: var(--med-text-main); text-transform: uppercase; letter-spacing: 0.05em; padding: 0.8rem 1rem !important; transition: all var(--med-transition); }
.med-header .nav-link:hover, .med-header .nav-link.active { color: var(--med-primary); }
.med-header .navbar-toggler { color: var(--med-text-main); padding: 0.35rem 0.5rem; }
.med-header .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(0, 119, 135, 0.15); }
.med-header .dropdown-menu { min-width: 220px; margin-top: 0; padding: 0.55rem 0.45rem 0.45rem; border: 1px solid var(--med-surface-subtle); border-radius: var(--med-radius); box-shadow: 0 12px 28px rgba(11, 19, 32, 0.12); }
.med-header .dropdown-item { color: var(--med-text-main); font-size: 0.8rem; font-weight: 600; padding: 0.65rem 0.8rem; border-radius: var(--med-radius); }
.med-header .dropdown-item:hover, .med-header .dropdown-item:focus { background: var(--med-surface-subtle); color: var(--med-primary); }
.med-header .dropdown-toggle::after { display: none; }
.med-header .med-caret { margin-left: 0.35em; font-size: 0.68em; line-height: 1; color: var(--med-text-muted); -webkit-text-stroke: 0.35px currentColor; }
.med-header .dropdown-submenu { position: relative; }
.med-header .dropdown-submenu > .dropdown-menu { top: 0; left: 100%; margin: 0 0 0 0.35rem; }
.med-header-search { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--med-text-main) !important; font-size: 1.05rem; }
.med-header-search:hover { color: var(--med-primary) !important; text-decoration: none !important; }
.med-header-socials { display: flex; align-items: center; gap: 0.65rem; margin-left: 1rem; }
.med-header-socials a { color: var(--med-text-main) !important; font-size: 0.9rem; }
.med-header-socials a:hover { color: var(--med-primary) !important; text-decoration: none !important; }
@media (min-width: 992px) { .med-header .nav-item.dropdown:hover > .dropdown-menu, .med-header .dropdown-submenu:hover > .dropdown-menu, .med-header .nav-item.dropdown:focus-within > .dropdown-menu, .med-header .dropdown-submenu:focus-within > .dropdown-menu { display: block; } }
@media (max-width: 991.98px) { .med-header .navbar-collapse { padding-top: 0.75rem; } .med-header .nav-link { padding: 0.7rem 0 !important; } .med-header .dropdown-menu { position: static; border: 0; box-shadow: none; padding: 0 0 0 1rem; margin: 0; } .med-header .dropdown-item { padding: 0.55rem 0; } .med-header .dropdown-submenu > .dropdown-menu { margin: 0; padding-left: 1rem; } .med-header .med-header-search { margin-top: 0.5rem; } .med-header-socials { margin: 0.75rem 0 0; padding-top: 0.75rem; border-top: 1px solid var(--med-surface-subtle); } }

/* --- Hero Section ----------------------------------------------- */
.hero-section .hero-main { display: block; position: relative; height: 480px; background: #000; overflow: hidden; border-radius: var(--med-radius, 3px); color: #fff; text-decoration: none; }
.hero-section .hero-main:hover { text-decoration: none !important; }
.hero-section .hero-main:hover h1 { text-decoration: underline; }
.hero-section .hero-main img { width: 100%; height: 100%; object-fit: cover; opacity: 0.85; transition: transform 0.4s ease; }
.hero-section .hero-main:hover img { transform: scale(1.03); }
.hero-section .hero-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 1.5rem; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%); color: #fff; padding-top: 5em;}
.hero-section .hero-overlay .category { display: block; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; }
.hero-section .hero-overlay h1 { font-weight: 700; line-height: 1.25; color: #fff; margin: 0.5rem 0; }
.hero-section .hero-overlay h1 a { color: #fff; text-decoration: none; }
.hero-section .hero-overlay .date { letter-spacing: 0.05em; color: rgba(255, 255, 255, 0.7); margin-bottom: 1rem; }
.hero-section .hero-overlay .btn { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; padding: 0.5rem 1rem; color: #000; border-radius: var(--med-radius, 3px) !important; }

.hero-section .hero-side-card { display: block; text-decoration: none; color: inherit; }
.hero-section .hero-side-card .thumb { height: 150px; overflow: hidden; border-radius: var(--med-radius, 3px); margin-bottom: 0.5rem; }
.hero-section .hero-side-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.hero-section .hero-side-card:hover .thumb img { transform: scale(1.05); }
.hero-section .hero-side-card:hover { text-decoration: none !important; }
.hero-section .hero-side-card h2 { font-weight: 700; line-height: 1.3; color: var(--med-text-main); margin: 0.4rem 0; }
.hero-section .hero-side-card:hover h2 { text-decoration: underline !important; }
.hero-section .hero-side-card:hover .category, .hero-section .hero-side-card:hover .date { text-decoration: none !important; }
.hero-section .hero-side-card .date { color: var(--med-text-muted); }

.hero-section .hero-banner-card { display: block; position: relative; height: 150px; background: #000; overflow: hidden; border-radius: var(--med-radius, 3px); text-decoration: none; color: #fff; }
.hero-section .hero-banner-card img { width: 100%; height: 100%; object-fit: cover; opacity: 0.7; transition: transform 0.4s ease; }
.hero-section .hero-banner-card:hover img { transform: scale(1.04); }
.hero-section .hero-banner-card:hover { text-decoration: none !important; }
.hero-section .hero-banner-card .hero-overlay { position: absolute; bottom: 0; left: 0; width: 100%; padding: 1rem; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%); }
.hero-section .hero-banner-card .category { display: block; font-size: 0.65rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255, 255, 255, 0.7); }
.hero-section .hero-banner-card h2 { font-weight: 700; color: #fff; margin: 0.4rem 0; }
.hero-section .hero-banner-card:hover h2 { text-decoration: underline !important; }
.hero-section .hero-banner-card:hover .category, .hero-section .hero-banner-card:hover .date { text-decoration: none !important; }
.hero-section .hero-banner-card .date { color: rgba(255, 255, 255, 0.7); }

/* --- Baner reklamowy -------------------------------------------- */
.ad-banner-box { background: var(--med-surface); padding: 1.5rem; border: 1px dashed var(--med-surface-subtle) !important; text-align: center; color: var(--med-text-muted); max-width: 950px; margin: 0 auto; min-height: 120px; border-radius: var(--med-radius, 3px); }
.med-ad-slot-300 { width: 300px; height: 250px; max-width: 100%; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.med-ad-slot-750 { width: 750px; height: 200px; max-width: 100%; min-height: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ad-banner-box span { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin-top: 0.3rem; }
.med-promo-slot { width: 100%; text-align: center; }
.med-promo-slot-750 { max-width: 750px; margin-left: auto; margin-right: auto; }
.med-promo-slot-sidebar { max-width: 300px; margin-left: auto; margin-right: auto; }
.med-promo-slot .promo-slot { margin: 0; }
.med-promo-slot .promo-unit { max-width: 100%; }

/* --- Nagłówki sekcji -------------------------------------------- */
.section-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--med-surface-subtle); padding-bottom: 0.5rem; margin-bottom: 1.5rem; }
.section-header h2 { font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; margin: 0; color: var(--med-text-main); }
.section-header a { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--med-text-muted); text-decoration: none; }
.section-header a:hover { color: var(--med-primary); text-decoration: underline !important; }

/* --- Sidebar --------------------------------------------------- */
.med-sidebar > * + * { margin-top: 2rem; }
.med-sidebar .med-section-title { font-size: 1.25rem; margin-bottom: 1rem; }
.med-sidebar-list { display: flex; flex-direction: column; gap: 1rem; }
.med-sidebar .sidebar-item-link { display: flex; align-items: center; gap: 1rem; }
.med-sidebar .sidebar-item-link img, .med-sidebar-thumb { width: 65px; height: 65px; flex: 0 0 65px; object-fit: cover; border-radius: var(--med-radius); }
.med-sidebar-thumb-placeholder { display: flex; align-items: center; justify-content: center; background: var(--med-surface-subtle); color: var(--med-text-muted); }
.med-sidebar .sidebar-item-link > div:last-child h5 { margin: 0; font-size: 0.85rem; line-height: 1.3; }
.med-sidebar-price { color: var(--med-primary); font-size: 0.875rem; font-weight: 700; }
.med-sidebar .sidebar-item-link:hover { text-decoration: none !important; }

/* --- Sekcja Wiadomości ------------------------------------------ */
.news-section .news-card { display: block; text-decoration: none; color: inherit; }
.news-section .news-card .thumb { height: 140px; overflow: hidden; border-radius: var(--med-radius, 3px); margin-bottom: 0.5rem; }
.news-section .news-card .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.news-section .news-card:hover .thumb img { transform: scale(1.05); }
.news-section .news-card h3 { font-weight: 700; line-height: 1.35; color: var(--med-text-main); margin-top: 0.5rem; }
.news-section .news-card:hover h3 { text-decoration: underline !important; }

/* --- Sekcje Kategorii (Główna + Podrzędne) --------------------- */
.category-section .featured-post { display: block; color: inherit; text-decoration: none; }
.category-section .featured-post:hover { color: inherit; text-decoration: none !important; }
.category-archive-page .category-section { margin-bottom: 3rem; }
.category-section .featured-post .thumb { height: 280px; overflow: hidden; border-radius: var(--med-radius, 3px); margin-bottom: 0.8rem; }
.category-section .featured-post .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.category-section .featured-post:hover .thumb img { transform: scale(1.03); }
.category-section .featured-post h2, .category-section .featured-post h3 { font-weight: 700; line-height: 1.25; color: var(--med-text-main); margin: 1.5rem 0 0.75em 0; }
.category-section .featured-post:hover h2, .category-section .featured-post:hover h3 { text-decoration: underline !important; }
.category-section .featured-post p { font-size: 0.88rem; color: var(--med-text-muted); line-height: 1.6; margin-bottom: 0.8rem; }
.category-section .featured-post .read-more { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--med-text-main); text-decoration: none; }
.category-section .featured-post .read-more:hover { text-decoration: underline !important; color: var(--med-primary); }

.sub-post { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.sub-post .thumb { height: 120px; overflow: hidden; border-radius: var(--med-radius, 3px); margin-bottom: 0.8rem; }
.sub-post .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.sub-post:hover .thumb img { transform: scale(1.05); }
.sub-post h3 { font-weight: 700; line-height: 1.35; color: var(--med-text-main); margin: 0.3rem 0; }
.sub-post:hover h3 { text-decoration: underline !important; }

/* --- Footer ---------------------------------------------------- */
.med-footer { background: #073b43; color: #b8d1d1; padding: 4rem 0 1.5rem; margin-top: 5rem; font-size: 0.9rem; }
.med-footer h5 { color: #f4fbfa; font-size: 0.8rem; margin-bottom: 1.2rem; font-family: var(--med-font-sans); font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.med-footer a { color: #d3e6e5; }
.med-footer a:hover { color: #ffffff; }
.med-footer .text-secondary { color: #a9c4c4 !important; }
.med-footer-socials { display: flex; gap: 0.5rem; margin-top: 0.75rem; }
.med-footer-socials a { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; }
.med-footer-brand { display: inline-flex; align-items: center; gap: 0.8rem; color: #ffffff !important; font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em; }
.med-footer-brand img { display: block; width: auto; max-width: 100%; height: auto; max-height: 38px; object-fit: contain; }
.med-footer-brand:hover { text-decoration: none !important; }
.med-footer-bottom { border-top: 1px solid rgba(211, 230, 229, 0.18); margin-top: 3rem; padding-top: 1.2rem; color: rgba(184, 209, 209, 0.62); font-size: 0.72rem; }
.med-empty-state { padding: 4rem 2rem; background: var(--med-bg); border-radius: var(--med-radius); text-align: center; }
.med-empty-state > i { display: block; margin-bottom: 1rem; color: var(--med-text-muted); font-size: 3rem; }
.med-empty-state h2 { margin: 0 0 0.5rem; font-size: 1.25rem; }
.med-empty-state p { margin: 0; color: var(--med-text-muted); }
.med-error-page { padding-top: 5rem; padding-bottom: 5rem; text-align: center; }
.med-error-page h1 { margin: 0; color: var(--med-primary); font-size: 4.5rem !important; font-weight: 700; }
.med-error-page h2 { margin: 0 0 0.75rem; font-size: 2rem !important; }
.med-error-page p { max-width: 36rem; margin: 0 auto 1.5rem; color: var(--med-text-muted); }

/* --- Katalog & Ogłoszenia Style Overrides ------------------------ */
.katalog-item-card, .ad-card, .card { border-radius: var(--med-radius) !important; border: 1px solid var(--med-surface-subtle) !important; transition: all var(--med-transition); }
.katalog-item-card:hover, .ad-card:hover { border-color: var(--med-primary) !important; }
.badge { border-radius: var(--med-radius) !important; }
.text-primary { color: var(--med-primary) !important; }
.bg-primary { background-color: var(--med-primary) !important; }
.btn-primary { background-color: var(--med-primary) !important; border-color: var(--med-primary) !important; }
.btn-primary:hover { background-color: var(--med-primary-hover) !important; border-color: var(--med-primary-hover) !important; }
.btn-outline-primary { color: var(--med-primary) !important; border-color: var(--med-primary) !important; }
.btn-outline-primary:hover { background-color: var(--med-primary) !important; color: #ffffff !important; }
.comments-section { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--med-surface-subtle); }
/* --- Strona artykułu (Post single), podstrony (Page single) i kategorii ----- */
.post-single, .category-archive-page { padding-top: 1.5rem; }
.post-single h1, .page-single h1, .category-title { font-weight: 700; line-height: 1.25; color: var(--med-text-main); margin-bottom: 1rem; }

.post-single .meta-info { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.5rem; padding-bottom: 0.75rem; font-size: 0.82rem; color: var(--med-text-muted); }
.post-single .meta-info .sep { color: #cbd5e1; }

.post-single .thumb { margin-bottom: 1.5rem; }
.post-single .thumb figure { margin: 0; }
.post-single .thumb img { width: 100%; max-height: 480px; object-fit: cover; border-radius: var(--med-radius, 3px); }
.post-single .thumb figcaption { display: flex; justify-content: space-between; gap: 1rem; margin-top: 0.5rem; margin-bottom: 0.5rem; color: var(--med-text-muted, #6c757d); font-size: 0.75rem; line-height: 1.5; }
.post-single .thumb-author { margin-left: auto; text-align: right; }

.post-single .post-excerpt { margin-bottom: 1.5rem; font-size: 1.25rem; font-weight: 500; line-height: 1.6; color: var(--med-text-main); }
.post-single .post-body, .page-single .page-body { font-size: 0.98rem; line-height: 1.75; color: #334155; }
.post-single .post-body { overflow-x: auto; }
.post-single .post-body table { width: 100%; max-width: 100%; margin: 1.5rem 0; border: 1px solid #c5d3d8 !important; border-radius: var(--med-radius); border-collapse: collapse; overflow: hidden; background: #ffffff; }
.post-single .post-body th, .post-single .post-body td { padding: 0.7rem 0.85rem; text-align: left; vertical-align: top; border: 1px solid #c5d3d8 !important; }
.post-single .post-body th { background: var(--med-surface-subtle); color: var(--med-text-main); font-weight: 700; }
.post-single .post-body thead th { background: #e8f0f2; }
.post-single .post-body tbody tr:nth-child(even) { background: #f8fafc; }
.post-single .post-body h2, .post-single .post-body h3, .post-single .post-body h4, .post-single .post-body h5, .page-single .page-body h2, .page-single .page-body h3, .page-single .page-body h4, .page-single .pagemed-section-title-body h5 {
    margin: 1.5em 0 0.75em 0;
}

.post-single .post-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 3rem; padding-top: 0.75rem; border-top: 1px solid var(--med-surface-subtle) !important; font-size: 0.85rem; color: var(--med-text-muted); }
.post-single .post-tags a { display: inline-block; padding: 0.2rem 0.6rem; font-size: 0.78rem; background: var(--med-surface-subtle); color: var(--med-text-main); border-radius: var(--med-radius, 3px); text-decoration: none !important; border: 1px solid var(--med-surface-subtle); }
.post-single .post-tags a:hover { border-color: var(--med-primary); color: var(--med-primary); }

.post-single .share-box { display: flex; flex-direction: row; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.25rem; margin: 3rem 0; padding: 0.5rem 1.5rem; background: var(--med-surface); }
.post-single .share-box .share-label { display: inline-flex; align-items: center; gap: 0.65rem; color: var(--med-text-muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.post-single .share-box .share-links { display: flex; align-items: center; gap: 0.45rem; }
.post-single .share-box .share-link { width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; color: var(--med-text-muted); font-size: 1rem; transition: color var(--med-transition), transform var(--med-transition); }
.post-single .share-box .share-link:hover, .post-single .share-box .share-link:focus-visible { color: var(--med-primary); text-decoration: none !important; transform: translateY(-2px); }
@media (max-width: 575.98px) { .post-single .share-box { align-items: flex-start; } .post-single .share-box .share-links { width: 100%; } .post-single .share-box .share-link { flex: 1 1 0; } }
@media (max-width: 575.98px) { .post-single .post-body table { font-size: 0.78rem; line-height: 1.45; } .post-single .post-body th, .post-single .post-body td { padding: 0.45rem 0.5rem; overflow-wrap: anywhere; } }
.comments-list { list-style: none; padding: 0; margin: 0 0 3rem 0; }
.comment-item { padding: 1.2rem 0; border-bottom: 1px solid var(--med-surface-subtle); }
.comment-item__header { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.5rem; }
.comment-item__author { font-weight: 700; color: var(--med-text-main); font-size: 0.95rem; }
.comment-item__date { font-size: 0.78rem; color: var(--med-text-muted); }
.comment-item__reply { background: transparent; border: 0 !important; color: var(--med-primary); font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin-left: auto; cursor: pointer; padding: 0; }
.comment-item__reply:hover { text-decoration: underline; }
.comment-item__body { font-size: 0.95rem; color: #334155; margin: 0; line-height: 1.6; }
.comment-item__children { list-style: none; padding-left: 1.5rem; margin-top: 1rem; border-left: 2px solid var(--med-surface-subtle); }

.comment-form-container { background: var(--med-surface); padding: 2rem; border-radius: var(--med-radius); margin-top: 2rem; }
.comment-form__title { font-size: 1.1rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1.2rem; color: var(--med-text-main); }
.comment-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
@media (max-width: 576px) { .comment-form__row { grid-template-columns: 1fr; } }
.comment-form__group { margin-bottom: 1rem; }
.comment-form__label { display: block; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--med-text-muted); margin-bottom: 0.4rem; }
.comment-form__input { width: 100%; padding: 0.75rem 1rem; font-size: 0.92rem; background: #ffffff; border: 1px solid #e2e8f0 !important; border-radius: var(--med-radius); outline: none; transition: border-color var(--med-transition); font-family: var(--med-font-sans); }
.comment-form__input:focus { border-color: var(--med-primary) !important; }
.comment-form__textarea { resize: vertical; min-height: 110px; }
.comment-form__message { display: none; margin-bottom: 1.25rem; padding: 0.9rem 1rem; border-left: 4px solid transparent !important; border-radius: var(--med-radius); font-size: 0.9rem; font-weight: 600; line-height: 1.5; }
.comment-form__message--success { display: block; background: #e8f6f3; border-left-color: #16836f !important; color: #126653; }
.comment-form__submit { background: var(--med-primary); color: #ffffff; border: 0 !important; padding: 0.75rem 1.8rem; font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; cursor: pointer; transition: background var(--med-transition); border-radius: var(--med-radius); }
.comment-form__submit:hover { background: var(--med-primary-hover); }
.comment-form__reply-indicator { background: var(--med-surface-subtle); color: var(--med-primary); padding: 0.6rem 1rem; font-size: 0.85rem; margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; border-radius: var(--med-radius); }
.comment-form__reply-cancel { background: transparent; border: 0 !important; color: var(--med-primary); font-weight: 700; cursor: pointer; text-decoration: underline; font-size: 0.8rem; }

/* --- Katalog Plugin: med theme overrides ---------------------- */
.katalog-container { --katalog-primary: var(--med-primary); --katalog-primary-hover: var(--med-primary-hover); --katalog-primary-light: #e6f3f4; --katalog-primary-light-text: var(--med-primary-hover); --katalog-bg: var(--med-bg); --katalog-bg-alt: var(--med-surface); --katalog-border: var(--med-surface-subtle); --katalog-text: var(--med-text-main); --katalog-muted: var(--med-text-muted); --katalog-radius: var(--med-radius); --katalog-radius-sm: var(--med-radius); --katalog-shadow-sm: 0 2px 8px rgba(11, 19, 32, 0.06); --katalog-shadow: 0 8px 22px rgba(11, 19, 32, 0.09); --katalog-shadow-lg: 0 16px 36px rgba(11, 19, 32, 0.14); --katalog-font-family: var(--med-font-sans); }
.container.katalog-container { --katalog-container-mw: 100%; padding-right: calc(var(--bs-gutter-x) * 0.5); padding-left: calc(var(--bs-gutter-x) * 0.5); }
@media (min-width: 576px) { .container.katalog-container { --katalog-container-mw: 540px; } }
@media (min-width: 768px) { .container.katalog-container { --katalog-container-mw: 720px; } }
@media (min-width: 992px) { .container.katalog-container { --katalog-container-mw: 960px; } }
@media (min-width: 1200px) { .container.katalog-container { --katalog-container-mw: 1140px; } }
@media (min-width: 1400px) { .container.katalog-container { --katalog-container-mw: 1320px; } }
.katalog-container h1, .katalog-container h2, .katalog-container h3 { color: var(--med-text-main); }
.katalog-hero-title { font-size: 2rem !important; font-weight: 700; letter-spacing: 0; }
.katalog-hero-subtitle { font-size: 0.95rem; }
.katalog-header-hero { margin-bottom: 3rem; }
.katalog-search { display: flex; align-items: stretch; max-width: 680px; overflow: hidden; background: var(--med-bg); border: 1px solid var(--med-surface-subtle); border-radius: var(--med-radius); }
.katalog-search input { min-width: 0; padding: 0.85rem 1rem 0.85rem 1rem !important; border: 1px solid var(--med-surface-subtle) !important; border-right: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-family: var(--med-font-sans); }
.katalog-search input:focus { outline: none; border-color: transparent !important; box-shadow: none !important; }
.katalog-search-submit { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: 0.45rem; min-width: 7.1rem; padding: 0.75rem 1.1rem; border: 0; border-radius: 0; background: var(--med-primary); color: #ffffff; font-family: var(--med-font-sans); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; transition: background var(--med-transition), transform var(--med-transition); }
.katalog-search-submit:hover { background: var(--med-primary-hover); }
.katalog-search-submit:active { transform: translateY(1px); }
.katalog-search-submit:focus-visible { outline: 2px solid var(--med-primary); outline-offset: 3px; }
.katalog-search-submit svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.katalog-search-results { left: 0; right: 0; }
.katalog-search input:focus, .katalog-sidebar-search input:focus, .katalog-price-range input:focus { border-color: var(--med-primary) !important; box-shadow: 0 0 0 3px rgba(0, 119, 135, 0.12); }
.katalog-section-header { margin-bottom: 1.25rem; }
.katalog-section-title, .katalog-related-title { font-size: 1.4rem !important; font-weight: 700; letter-spacing: 0; margin: 0; }
.katalog-categories-grid { gap: 1rem; margin-bottom: 3rem; }
.katalog-category-card { gap: 0.55rem; padding: 1.1rem 0.75rem; border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); box-shadow: none; }
.katalog-category-card:hover, .katalog-card:hover { transform: translateY(-2px); border-color: var(--med-primary) !important; box-shadow: var(--katalog-shadow); }
.katalog-category-card-icon { width: 2.5rem; height: 2.5rem; background: var(--katalog-primary-light); color: var(--med-primary); border-radius: var(--med-radius); }
.katalog-category-card-title { font-weight: 700; }
.med-katalog-partner-rail { margin: 0 0 1.25rem; }
.med-katalog-rail-header { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; margin-bottom: 0.55rem; }
.med-katalog-rail { display: flex; gap: 0.5rem; overflow-x: auto; padding: 0.1rem 0.1rem 0.25rem; cursor: grab; scroll-snap-type: x proximity; scrollbar-width: none; }
.med-katalog-rail::-webkit-scrollbar { display: none; }
.med-katalog-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.med-katalog-rail:focus-visible { outline: 2px solid var(--med-primary); outline-offset: 4px; }
.med-katalog-rail-item { display: flex; flex: 0 0 144px; flex-direction: column; align-items: center; justify-content: center; gap: 0.3rem; min-height: 78px; padding: 0.5rem; background: var(--med-bg); border: 1px solid var(--med-surface-subtle); border-radius: var(--med-radius); color: var(--med-text-main); scroll-snap-align: start; text-align: center; }
.med-katalog-rail-item, .med-katalog-rail-item img { -webkit-user-drag: none; }
.med-katalog-rail-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 34px; }
.med-katalog-rail-logo img { display: block; width: auto; max-width: 112px; height: 34px; object-fit: contain; }
.med-katalog-rail-logo.is-text { height: auto; min-height: 34px; color: var(--med-primary); font-size: 0.82rem; font-weight: 400; line-height: 1.15; }
.med-katalog-rail-name { color: var(--med-text-muted); font-size: 0.68rem; font-weight: 400; line-height: 1.15; }
.med-katalog-rail-dots { display: flex; justify-content: center; gap: 0.35rem; min-height: 0.45rem; margin-top: 0.35rem; }
.med-katalog-rail-dot { width: 0.4rem; height: 0.4rem; padding: 0; border: 0; border-radius: 50%; background: var(--med-surface-subtle); cursor: pointer; transition: background-color var(--med-transition), transform var(--med-transition); }
.med-katalog-rail-dot.is-active { background: var(--med-primary); transform: scale(1.25); }
.med-katalog-rail-dot:focus-visible { outline: 2px solid var(--med-primary); outline-offset: 3px; }
.katalog-featured-grid, .katalog-devices-grid, .katalog-related-grid { gap: 1.25rem; }
.katalog-card { border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); box-shadow: none; }
.katalog-card-image { aspect-ratio: 4 / 3; }
.katalog-placeholder { display: flex; align-items: center; justify-content: center; color: var(--katalog-muted); font-size: 2.5rem; }
.katalog-single-placeholder { font-size: 4rem; }
.katalog-section-spaced { margin-bottom: 4rem; }
.katalog-empty-state { padding: 4rem 1.25rem; color: var(--katalog-muted); text-align: center; }
.katalog-empty-state p { margin-bottom: 0.5rem; font-size: 1.1rem; }
.katalog-empty-state a { color: var(--katalog-primary); font-weight: 600; }
.katalog-search-result-placeholder { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: 0 0 48px; border-radius: var(--med-radius); background: var(--med-surface-subtle); color: var(--med-text-muted); font-size: 1.2rem; }
.katalog-search-result.is-active { background: var(--med-surface-subtle); }
.katalog-card-body { padding: 1.1rem; }
.katalog-card-badge, .katalog-single-badge { border-radius: var(--med-radius); }
.katalog-card-badge { background: var(--katalog-primary-light); color: var(--med-primary-hover); }
.katalog-card-title { font-size: 1rem; font-weight: 700; }
.katalog-card-excerpt { font-size: 0.85rem; }
.katalog-card-meta { padding-top: 0.8rem; border-top: 1px solid var(--med-surface-subtle) !important; }
.katalog-card-price, .katalog-single-price { color: var(--med-primary); }
.katalog-sidebar { border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); box-shadow: none; padding: 1.25rem; }
.katalog-sidebar > div + div { margin-top: 1.5rem; }
.katalog-mobile-sidebar-header span { font-size: 1.1rem; font-weight: 700; }
.katalog-container .katalog-filter-section { border: 0 !important; }
.katalog-container .katalog-filter-section { margin-top: 1.5rem; padding: 0; }
.katalog-sidebar-title { color: var(--med-text-main); font-size: 0.72rem; letter-spacing: 0.08em; }
.katalog-cat-tree, .katalog-producenci-list { border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); }
.katalog-cat-tree a { border-radius: var(--med-radius); }
.katalog-cat-tree a.is-active { background: var(--katalog-primary-light); color: var(--med-primary); }
.katalog-pagination a, .katalog-pagination span { min-width: 2.25rem; height: 2.25rem; border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); }
.katalog-pagination .active { background: var(--med-primary); border-color: var(--med-primary) !important; }
.katalog-single-main-image { border-radius: var(--med-radius); }
.katalog-single-title { font-size: 2rem !important; font-weight: 700; }
.katalog-single-subtitle { margin-bottom: 1.5em !important; }
.katalog-single-badge--cat { background: transparent !important; border: 1px solid #cbd5dc !important; color: #6b7785; }
.katalog-single-statuses { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 0.5rem; padding-top: 0.15rem; }
.katalog-single-status-icon { display: inline-flex; align-items: center; justify-content: center; width: 1rem; height: 1rem; margin-right: 0.35rem; font-size: 0.8rem; font-weight: 900; line-height: 1; }
.katalog-single-statuses .katalog-single-badge { padding: 0; border: 0 !important; border-radius: 0; background: transparent; font-size: 0.82rem; font-weight: 600; }
.katalog-single-badge--cert { background: transparent; color: #2f7d4d; }
.katalog-single-badge--cert .katalog-single-status-icon { color: #31a35b; }
.katalog-single-badge--price { background: transparent; color: #b96b12; }
.katalog-single-badge--price .katalog-single-status-icon { color: #e58b1a; font-size: 0.95rem; }
.katalog-single-price { display: flex; flex-direction: column; align-items: flex-start; gap: 0.15rem; }
.katalog-single-price-label { color: var(--med-text-muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase; }
.katalog-single-price strong { color: var(--med-primary); font-size: 2rem; line-height: 1.15; }
.katalog-single-price-note { display: block; max-width: 30rem; margin: 0.75rem 0 1.5rem; color: var(--med-text-muted); font-size: 0.64rem; font-weight: 400; line-height: 1.4; }
.katalog-single-producer-card { background: var(--med-surface); border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); }
.katalog-related { margin-top: 3rem; }
.katalog-single-lead { margin-top: 2.25rem; padding: 1.5rem; background: linear-gradient(135deg, #e8f3f4 0%, #f7fbfb 100%); border-left: 4px solid var(--med-primary); border-radius: var(--med-radius); }
.katalog-single-lead-kicker, .katalog-related-kicker { margin: 0 0 0.45rem; color: var(--med-primary); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.katalog-single-lead-title { margin: 0 0 1.15rem; font-size: 1.35rem !important; line-height: 1.2; }
.katalog-single-lead-intro, .katalog-related-intro { margin: 0; color: var(--med-text-muted); font-size: 0.9rem; line-height: 1.55; }
.katalog-single-lead .cms-form { margin-top: 1.25rem; }
.katalog-single-lead .cms-form .mb-3 { margin-bottom: 0.9rem !important; }
.katalog-single-lead .cms-form label { display: block; margin-bottom: 0.35rem; color: var(--med-text-muted); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.katalog-single-lead .cms-form .form-control, .katalog-single-lead .cms-form .form-select { width: 100%; padding: 0.7rem 0.8rem; border: 1px solid #d7e5e7 !important; border-radius: var(--med-radius); background: #ffffff; color: var(--med-text-main); font: inherit; font-size: 0.9rem; }
.katalog-single-lead .cms-form .form-control:focus, .katalog-single-lead .cms-form .form-select:focus { border-color: var(--med-primary) !important; box-shadow: 0 0 0 3px rgba(0, 119, 135, 0.12); outline: none; }
.katalog-single-lead .cms-form textarea.form-control { min-height: 105px; resize: vertical; }
.katalog-single-lead .cms-form button[type="submit"] { width: 100%; padding: 0.78rem 1rem; border: 0 !important; border-radius: var(--med-radius); background: var(--med-primary); color: #ffffff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; transition: background var(--med-transition), transform var(--med-transition); }
.katalog-single-lead .cms-form button[type="submit"]:hover { background: var(--med-primary-hover); transform: translateY(-1px); }
.katalog-related { padding-top: 2.5rem; border-top: 1px solid var(--med-surface-subtle); }
.katalog-related .katalog-card { min-width: 0; }
.katalog-related .katalog-card-image { aspect-ratio: 16 / 10; }
.katalog-related .katalog-card-title { line-height: 1.3; }
.katalog-container a:hover { text-decoration: none !important; }
.katalog-container nav.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.8rem !important; font-weight: 400; margin-bottom: 1.5rem !important; background: transparent; padding: 0; color: var(--med-text-main) !important; }
.katalog-container nav.breadcrumb a { color: var(--med-text-muted); }
.katalog-container nav.breadcrumb a:hover { color: var(--med-primary); }
.katalog-container nav.breadcrumb > span:not(.sep) { color: var(--med-text-main); font-weight: 600; }
.katalog-container nav.breadcrumb .sep { color: #cbd5e1; font-size: 0; }
.katalog-container nav.breadcrumb .sep::after { content: '/'; font-size: 0.85rem; }
@media (max-width: 900px) { .katalog-sidebar { border: 0 !important; } }
@media (max-width: 600px) { .katalog-hero-title, .katalog-single-title { font-size: 1.6rem !important; } }
@media (max-width: 600px) { .katalog-single-lead { padding: 1.15rem; } }

/* --- Katalog: category and detail refinements ----------------- */
.katalog-mobile-filter-btn { display: inline-flex; align-items: center; gap: 0.45rem; }
.katalog-sidebar { top: 5.5rem; background: var(--med-surface); }
.katalog-sidebar-search input, .katalog-price-range input { background: #ffffff; border-color: #dce7e9 !important; border-radius: var(--med-radius); }
.katalog-cat-tree, .katalog-producenci-list { background: #ffffff; border-color: #dce7e9 !important; }
.katalog-cat-tree a:hover, .katalog-producenci-list a:hover { background: var(--med-surface); }
.katalog-card { overflow: hidden; background: #ffffff; transition: transform var(--med-transition), box-shadow var(--med-transition), border-color var(--med-transition); }
.katalog-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(11, 19, 32, 0.1); }
.katalog-card-image { display: block; width: 100%; object-fit: cover; }
.katalog-card-body { min-height: 10rem; }
.katalog-single-gallery { top: 5.5rem; }
.katalog-single-desc { color: var(--med-text-main); font-size: 0.95rem; line-height: 1.7; }
.katalog-single-excerpt { margin: 1.5rem 0; padding-left: 1rem; border-left: 3px solid var(--med-primary); color: var(--med-text-muted); }
.katalog-single-badges { margin-bottom: 1.5rem; }
.katalog-single-badge--cat { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }

/* --- Ogłoszenia ----------------------------------------------- */
.ogloszenia-hero h1 { color: var(--med-text-main); font-size: 2rem !important; font-weight: 700; letter-spacing: 0; }
.ogloszenia-hero p { font-family: var(--med-font-sans); font-size: 0.95rem; }
.ogloszenia-search { display: flex; width: min(100%, 680px); align-items: stretch; max-width: 680px; overflow: hidden; background: var(--med-bg); border: 1px solid var(--med-surface-subtle); border-radius: var(--med-radius); }
.ogloszenia-search input { min-width: 0; flex: 1; padding: 0.85rem 1rem !important; border: 1px solid var(--med-surface-subtle) !important; border-right: 0 !important; border-radius: 0 !important; outline: 0; background: transparent; color: var(--med-text-main); font: inherit; }
.ogloszenia-search input:focus { box-shadow: 0 0 0 3px rgba(0, 119, 135, 0.12); }
.ogloszenia-search button { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; flex: 0 0 auto; min-width: 7.1rem; padding: 0.75rem 1.1rem; border: 0; border-radius: 0; background: var(--med-primary); color: #ffffff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ogloszenia-search button:hover { background: var(--med-primary-hover); }
.ogloszenia-add-button { font-size: 0.78rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ogloszenia-category-heading-icon { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; flex: 0 0 2rem; border-radius: var(--med-radius); background: color-mix(in srgb, var(--ogloszenia-category-color, var(--med-primary)) 12%, white); color: var(--ogloszenia-category-color, var(--med-primary)); }
.ogloszenia-category-card { display: flex; height: 100%; align-items: center; justify-content: center; gap: 0.55rem; padding: 1.1rem 0.75rem; flex-direction: column; border: 1px solid var(--med-surface-subtle) !important; border-radius: var(--med-radius); background: #ffffff; color: var(--med-text-main); text-align: center; transition: transform var(--med-transition), border-color var(--med-transition), box-shadow var(--med-transition); }
.ogloszenia-category-card:hover, .ogloszenia-category-card.is-active { border-color: var(--ogloszenia-category-color, var(--med-primary)) !important; color: var(--med-text-main); text-decoration: none !important; transform: translateY(-2px); }
.ogloszenia-category-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; border-radius: var(--med-radius); background: color-mix(in srgb, var(--ogloszenia-category-color, var(--med-primary)) 12%, white); color: var(--ogloszenia-category-color, var(--med-primary)); }
.ogloszenia-category-card-icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ogloszenia-category-card-icon i { font-size: 1.25rem; }
.ogloszenia-category-card strong { display: block; overflow-wrap: anywhere; font-size: 0.88rem; line-height: 1.25; }
.ogloszenia-listing-card { display: flex; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid var(--med-surface-subtle); border-radius: var(--med-radius); background: #ffffff; color: var(--med-text-main); transition: transform var(--med-transition), box-shadow var(--med-transition); }
.ogloszenia-listing-card:hover { color: var(--med-text-main); text-decoration: none !important; transform: translateY(-3px); }
.ogloszenia-listing-card > img, .ogloszenia-listing-card-placeholder { display: flex; width: 100%; height: 12rem; align-items: center; justify-content: center; flex: 0 0 12rem; object-fit: cover; background: var(--med-surface); color: var(--med-text-muted); font-size: 2rem; }
.ogloszenia-listing-card-body { display: flex; min-height: 8.5rem; flex-direction: column; padding: 1rem; }
.ogloszenia-listing-card-body > strong { font-size: 0.98rem; line-height: 1.35; }
.ogloszenia-listing-card-price { margin-top: 0.45rem; color: var(--med-primary); font-size: 1.12rem; font-weight: 800; }
.ogloszenia-listing-card-meta { display: flex; justify-content: space-between; gap: 0.5rem; margin-top: auto; padding-top: 1rem; color: var(--med-text-muted); font-size: 0.72rem; }
.ogloszenia-description { white-space: pre-wrap; }
.ogloszenia-contact-panel { padding: 1.5rem; border-left: 4px solid var(--med-primary); border-radius: var(--med-radius); background: linear-gradient(135deg, #e8f3f4 0%, #f7fbfb 100%); }
.ogloszenia-contact-kicker { margin: 0 0 0.45rem; color: var(--med-primary); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.ogloszenia-contact-title { margin: 0 0 0.75rem; color: var(--med-text-main); font-size: 1.35rem !important; line-height: 1.2; }
.ogloszenia-contact-intro { margin: 0; color: var(--med-text-muted); font-size: 0.9rem; line-height: 1.55; }
.ogloszenia-contact-panel .border-top { border-color: #d7e5e7 !important; }
.ogloszenia-contact-panel .form-control { padding: 0.7rem 0.8rem; border: 1px solid #d7e5e7 !important; border-radius: var(--med-radius); background: #ffffff; color: var(--med-text-main); font: inherit; font-size: 0.9rem; }
.ogloszenia-contact-panel .form-control:focus { border-color: var(--med-primary) !important; box-shadow: 0 0 0 3px rgba(0, 119, 135, 0.12); outline: none; }
.ogloszenia-contact-panel textarea.form-control { min-height: 105px; resize: vertical; }
.ogloszenia-contact-panel button[type="submit"] { padding: 0.78rem 1rem; border: 0 !important; border-radius: var(--med-radius); background: var(--med-primary); color: #ffffff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.ogloszenia-contact-panel button[type="submit"]:hover { background: var(--med-primary-hover); }
.ogloszenia-add-form .form-label { color: var(--med-text-main); font-size: 0.86rem; font-weight: 700; }
.ogloszenia-add-form .form-control, .ogloszenia-add-form .form-select { border: 1px solid #c5d3d8 !important; border-radius: var(--med-radius); background: #ffffff; color: var(--med-text-main); }
.ogloszenia-add-form .form-control:focus, .ogloszenia-add-form .form-select:focus { border-color: var(--med-primary) !important; outline: none; }
.ogloszenia-add-form .upload-zone { padding: 2.25rem 1.5rem; border: 2px dashed #b8d4d7 !important; border-radius: var(--med-radius); background: var(--med-surface); color: var(--med-text-muted); cursor: pointer; text-align: center; transition: border-color var(--med-transition), background var(--med-transition); }
.ogloszenia-add-form .upload-zone:hover, .ogloszenia-add-form .upload-zone.dragover { border-color: var(--med-primary) !important; background: #eaf5f6; }
.ogloszenia-file-input { display: none; }
.ogloszenia-add-form .upload-zone p { margin-bottom: 0.25rem !important; color: var(--med-text-main); font-weight: 700; }
.ogloszenia-add-form .image-preview { position: relative; width: 110px; height: 90px; overflow: hidden; border: 2px solid #d7e5e7 !important; border-radius: var(--med-radius); cursor: grab; }
.ogloszenia-add-form .image-preview img { width: 100%; height: 100%; object-fit: cover; }
.ogloszenia-add-form .image-preview .remove { position: absolute; top: 0.25rem; right: 0.25rem; display: flex; width: 1.5rem; height: 1.5rem; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: #b42318; color: #ffffff; cursor: pointer; font-size: 0.8rem; }
.ogloszenia-add-form .ogloszenia-image-container { min-height: 60px; }
.ogloszenia-add-form .btn[type="submit"] { padding: 0.9rem 1.25rem; border: 0; border-radius: var(--med-radius); background: var(--med-primary); font-size: 0.82rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ogloszenia-add-form .btn[type="submit"]:hover { background: var(--med-primary-hover); }
.ogloszenia-honeypot { position: absolute; left: -9999px; width: 0; height: 0; opacity: 0; }
.ogloszenia-form-status { display: none; }

/* --- Ads: category cards and contact panel -------------------- */
.container a.text-decoration-none:hover, .container a.text-decoration-none:hover * { text-decoration: none !important; }
.contact-card { padding: 1.5rem !important; border: 0 !important; border-left: 4px solid var(--med-primary) !important; border-radius: var(--med-radius) !important; background: linear-gradient(135deg, #e8f3f4 0%, #f7fbfb 100%) !important; box-shadow: none !important; }
.contact-card + .contact-card { border-left-color: var(--med-primary-hover) !important; }
.contact-card h6 { margin-bottom: 1.15rem !important; color: var(--med-text-main); font-size: 1.15rem; font-weight: 800; line-height: 1.2; }
.contact-card p { color: var(--med-text-muted); font-size: 0.9rem; }
.contact-card p strong { color: var(--med-text-main); }
.contact-card a { color: var(--med-primary); font-weight: 600; }
.contact-card a:hover { color: var(--med-primary-hover); text-decoration: underline !important; }
.contact-card .phone-reveal { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.7rem 0.95rem; border: 1px solid var(--med-primary) !important; border-radius: var(--med-radius); background: var(--med-primary); color: #ffffff !important; cursor: pointer; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em; text-decoration: none !important; transition: background var(--med-transition), border-color var(--med-transition), transform var(--med-transition); }
.contact-card .phone-reveal::before { content: '\260e'; font-size: 1rem; line-height: 1; }
.contact-card .phone-reveal:hover { border-color: var(--med-primary-hover) !important; background: var(--med-primary-hover); text-decoration: none !important; transform: translateY(-1px); }
.contact-card .phone-reveal:focus-visible { outline: 2px solid var(--med-primary); outline-offset: 3px; }
.contact-card .form-control { padding: 0.7rem 0.8rem; border: 1px solid #d7e5e7 !important; border-radius: var(--med-radius); background: #ffffff; color: var(--med-text-main); font: inherit; }
.contact-card .form-control:focus { border-color: var(--med-primary) !important; box-shadow: 0 0 0 3px rgba(0, 119, 135, 0.12); outline: none; }
.contact-card .msg-form textarea { min-height: 105px; }
.contact-card .msg-form button[type="submit"] { padding: 0.78rem 1rem; border: 0 !important; border-radius: var(--med-radius); background: var(--med-primary); color: #ffffff; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; transition: background var(--med-transition), transform var(--med-transition); }
.contact-card .msg-form button[type="submit"]:hover { background: var(--med-primary-hover); transform: translateY(-1px); }

@media (max-width: 767.98px) { .katalog-mobile-filter-btn { align-self: flex-start; } }
@media (max-width: 575.98px) { .ogloszenia-hero h1 { font-size: 1.6rem !important; } .ogloszenia-search button { min-width: auto; padding: 0.75rem 0.9rem; } .ogloszenia-add-form > section { padding: 1rem !important; } .katalog-single-gallery { position: static; width: 100%; } }
