/* ========================================================================== 
   Szablon 3 — Enees modern
   Jasna, kremowa kompozycja z żółtym podkreśleniem i koralowymi CTA.
   Reguły dotyczą wyłącznie publicznej części katalogu.
   ========================================================================== */

.template-3:not(.admin-page) {
  --vip-cream: var(--modern-background, #fff7f0);
  --vip-cream-deep: #faeee5;
  --vip-yellow: #ffd400;
  --vip-coral: #dc6970;
  --vip-coral-dark: #c6535c;
  --vip-charcoal: #2c2e2d;
  --vip-muted: #7b7a77;
  --vip-line: #e7e2dc;
  --vip-shadow: 0 14px 38px rgba(50, 44, 39, .08);
  color: var(--vip-charcoal);
  background: #fff;
  font-family: var(--font-ui);
}

/* Poradniki */
.blog-hero{background:var(--modern-background);padding:76px 0 64px;border-bottom:1px solid rgba(20,43,35,.08)}
.blog-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.04;margin:12px 0 16px;letter-spacing:-.04em}
.blog-hero-description{max-width:760px;font-size:16px;line-height:1.75;color:#61706a}
.blog-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}
.blog-sidebar{position:sticky;top:100px}
.blog-sidebar nav{display:grid;gap:7px;padding:18px;background:#fff;border:1px solid #e5e9e7;border-radius:18px;box-shadow:0 18px 45px rgba(22,45,36,.07)}
.blog-sidebar a{display:block;padding:10px 12px;border-radius:10px;color:#52645d;text-decoration:none;font-size:14px}
.blog-sidebar a:hover,.blog-sidebar a.active{background:color-mix(in srgb,var(--green) 10%,white);color:var(--green-dark);font-weight:700}
.blog-results{min-width:0}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.blog-card{background:#fff;border:1px solid #e5e9e7;border-radius:18px;overflow:hidden;box-shadow:0 18px 45px rgba(22,45,36,.07);display:flex;flex-direction:column}
.blog-card-image{display:block;aspect-ratio:16/10;background:color-mix(in srgb,var(--green) 8%,white);overflow:hidden}
.blog-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.025)}
.blog-card-placeholder{height:100%;display:grid;place-items:center;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--green)}
.blog-card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.blog-card-category,.blog-article-category{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--green);text-decoration:none}
.blog-card h2{font-size:20px;line-height:1.25;margin:0}.blog-card h2 a{color:#16241f;text-decoration:none}
.blog-card p{font-size:14px;line-height:1.65;color:#68756f;margin:0;flex:1}
.blog-card-meta{display:flex;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #edf0ee;font-size:12px;color:#78847f}
.blog-category-extra{margin-top:40px;padding:30px;border-radius:18px;background:#fff;border:1px solid #e5e9e7;font-size:14px;line-height:1.75}
.blog-article-page{max-width:1120px}.blog-article{max-width:900px;margin:28px auto 0;background:#fff;border:1px solid #e4e9e6;border-radius:24px;padding:clamp(26px,5vw,64px);box-shadow:0 22px 60px rgba(22,45,36,.08)}
.blog-article header{margin-bottom:34px}.blog-article h1{font-size:clamp(36px,5vw,58px);line-height:1.08;letter-spacing:-.04em;margin:14px 0 18px}
.blog-article-meta{display:flex;flex-wrap:wrap;gap:14px 22px;color:#6c7973;font-size:13px;align-items:center}
.blog-admin-edit{font-weight:800;color:var(--green)}
.blog-featured{margin:0 0 36px}.blog-featured img{display:block;width:100%;max-height:560px;object-fit:cover;border-radius:18px}
.blog-content{font-size:14px;line-height:1.8;color:#394841}.blog-content h2{font-size:28px;line-height:1.25;margin:42px 0 14px}.blog-content h3{font-size:22px;line-height:1.3;margin:32px 0 12px}
.blog-content p,.blog-content ul,.blog-content ol,.blog-content blockquote,.blog-content table{margin:0 0 20px}.blog-content img{display:block;max-width:100%;height:auto;border-radius:14px;margin:28px auto}.blog-content table{width:100%;border-collapse:collapse}.blog-content th,.blog-content td{padding:10px;border:1px solid #dfe5e1;text-align:left}.blog-content blockquote{border-left:4px solid var(--green);padding:15px 20px;background:#f5f8f6}
.blog-author{margin-top:44px;padding-top:24px;border-top:1px solid #e4e9e6;font-size:14px;line-height:1.65;color:#5b6963}
@media(max-width:1050px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.blog-hero{padding:52px 0 44px}.blog-layout{grid-template-columns:1fr}.blog-sidebar{position:static}.blog-sidebar nav{display:flex;overflow:auto}.blog-sidebar a{white-space:nowrap}.blog-grid{grid-template-columns:1fr}.blog-article{padding:24px 20px;border-radius:16px}.site-header .nav nav a[href='/poradniki']{display:none}}

.template-3:not(.admin-page) main { overflow: clip; }

.template-3:not(.admin-page) .site-header {
  position: sticky;
  top: 0;
  padding: 12px 0 0;
  border: 0;
  background: var(--vip-cream);
  box-shadow: none;
  backdrop-filter: none;
}

.template-3:not(.admin-page) .nav {
  height: 66px;
  padding: 0 18px;
  border: 1px solid rgba(50, 46, 42, .08);
  border-radius: 7px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 7px 22px rgba(65, 54, 45, .11);
}

.template-3:not(.admin-page) .brand { color: var(--vip-charcoal); font-weight: 800; }
.template-3:not(.admin-page) .brand span {
  color: #fff;
  background: var(--green);
  border-radius: 5px;
  box-shadow: none;
}
.template-3:not(.admin-page) .brand-logo { max-width: 190px; height: 44px; }
.template-3:not(.admin-page) .nav nav { gap: 3px; font-size: 13px; }
.template-3:not(.admin-page) .nav nav a { padding: 12px 15px; border-radius: 4px; }
.template-3:not(.admin-page) .nav nav a:hover { color: var(--green); background: #f6f7f4; }
.template-3:not(.admin-page) .nav nav .nav-add-company {
  margin-left: 7px;
  padding-inline: 20px;
  color: #fff;
  background: var(--add-company-button, #dc6970);
  border-radius: 4px;
  box-shadow: none;
}
.template-3:not(.admin-page) .nav nav .nav-add-company:hover {
  color: #fff;
  background: var(--add-company-button-dark, #c6535c);
}

.template-3:not(.admin-page) .hero {
  min-height: 655px;
  padding: 88px 0 106px;
  color: var(--vip-charcoal);
  background:
    linear-gradient(154deg, transparent 0 62%, rgba(255,255,255,.72) 62.2% 70%, transparent 70.2%),
    var(--vip-cream);
  border: 0;
}
.template-3:not(.admin-page) .hero::before {
  width: 410px;
  height: 410px;
  right: -190px;
  bottom: -170px;
  border: 70px solid rgba(255,255,255,.62);
  background: transparent;
  filter: none;
}
.template-3:not(.admin-page) .hero::after {
  width: 560px;
  height: 150px;
  right: -80px;
  top: 80px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  transform: rotate(-24deg);
}
.template-3:not(.admin-page) .hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 66px;
}
.template-3:not(.admin-page) .hero .kicker,
.template-3:not(.admin-page) .kicker.dark,
.template-3:not(.admin-page) .eyebrow {
  width: fit-content;
  padding: 7px 11px;
  color: #5d625f;
  background: rgba(255,255,255,.78);
  border-radius: 3px;
  letter-spacing: .035em;
  font-size: 11px;
  font-weight: 700;
}
.template-3:not(.admin-page) .hero h1 {
  max-width: 670px;
  margin: 24px 0 23px;
  color: var(--vip-charcoal);
  font-size: clamp(46px, 5.3vw, 68px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.07;
}
.template-3:not(.admin-page) .hero h1 em {
  display: inline;
  color: var(--vip-charcoal);
  font-style: normal;
  font-weight: 750;
  background: linear-gradient(transparent 78%, var(--vip-yellow) 78% 94%, transparent 94%);
}
.template-3:not(.admin-page) .hero-grid > div > p {
  max-width: 585px;
  margin-bottom: 25px;
  color: var(--vip-muted);
  font-size: 18px;
  line-height: 1.65;
}
.template-3:not(.admin-page) .hero-visual {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}
.template-3:not(.admin-page) .hero-visual::before { display: none; }
.template-3:not(.admin-page) .hero-visual img {
  aspect-ratio: 3/2;
  border-radius: 0;
  object-fit: contain;
  filter: saturate(.95) contrast(.99) drop-shadow(0 18px 22px rgba(75, 59, 47, .08));
  box-shadow: none;
}

.template-3:not(.admin-page) .advanced-search {
  max-width: 980px;
  padding: 13px;
  border: 1px solid rgba(63, 54, 47, .10);
  border-radius: 7px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--vip-shadow);
}
.template-3:not(.admin-page) .advanced-search label { font-weight: 600; }
.template-3:not(.admin-page) .advanced-search input:not([type=checkbox]),
.template-3:not(.admin-page) .advanced-search select {
  border-color: var(--vip-line);
  border-radius: 4px;
  background: #fff;
}
.template-3:not(.admin-page) .advanced-search-main > button,
.template-3:not(.admin-page) .search button,
.template-3:not(.admin-page) .primary-button {
  border-radius: 4px;
  background: var(--green);
  box-shadow: none;
  font-weight: 700;
}
.template-3:not(.admin-page) .advanced-search-main > button:hover,
.template-3:not(.admin-page) .search button:hover,
.template-3:not(.admin-page) .primary-button:hover { background: var(--green-dark); }
.template-3:not(.admin-page) .stats { gap: 32px; margin-top: 22px; }
.template-3:not(.admin-page) .stats span {
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--vip-muted);
  background: transparent;
}
.template-3:not(.admin-page) .stats b { color: var(--green); font-size: 22px; }

.template-3:not(.admin-page) .section { padding: 86px 0; }
.template-3:not(.admin-page) .section-head { margin-bottom: 38px; }
.template-3:not(.admin-page) .section-head h2,
.template-3:not(.admin-page) .similar-companies .section-head h2 {
  color: var(--vip-charcoal);
  font-size: clamp(33px, 3.5vw, 46px);
  font-weight: 400;
  letter-spacing: -.035em;
}
.template-3:not(.admin-page) #kategorie {
  padding-top: 95px;
  background: #fff;
}
.template-3:not(.admin-page) #kategorie::before,
.template-3:not(.admin-page) #kategorie::after { display: none; }
.template-3:not(.admin-page) .category-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 20px;
}
.template-3:not(.admin-page) .category-card,
.template-3:not(.admin-page) .category-card:nth-child(3n),
.template-3:not(.admin-page) .category-card:nth-last-child(-n+3) {
  min-height: 222px;
  padding: 26px;
  border: 1px solid var(--vip-line);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(48,42,37,.045);
}
.template-3:not(.admin-page) .category-card:nth-child(4n+1),
.template-3:not(.admin-page) .category-card:nth-child(4n+4) { background: var(--vip-cream); }
.template-3:not(.admin-page) .category-card:hover {
  border-color: color-mix(in srgb, var(--green) 40%, #fff);
  box-shadow: 0 16px 34px rgba(48,42,37,.09);
  transform: translateY(-4px);
}
.template-3:not(.admin-page) .category-icon {
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  color: var(--green);
  background: #edf7f1;
  box-shadow: none;
}
.template-3:not(.admin-page) .category-card h3 {
  color: var(--vip-charcoal);
  font-size: 18px;
  font-weight: 700;
}
.template-3:not(.admin-page) .mini-links a { color: var(--vip-muted); }
.template-3:not(.admin-page) .catalog-description {
  border-color: var(--vip-line);
  border-radius: 7px;
  background: var(--vip-cream);
  font-size: 14px;
}

.template-3:not(.admin-page) .latest,
.template-3:not(.admin-page) .similar-companies {
  background: var(--vip-cream);
  border-color: var(--vip-line);
}
.template-3:not(.admin-page) .company-grid { gap: 22px; }
.template-3:not(.admin-page) .company-card {
  border-color: var(--vip-line);
  border-radius: 7px;
  box-shadow: 0 8px 26px rgba(51,44,39,.06);
}
.template-3:not(.admin-page) .company-card:hover {
  border-color: color-mix(in srgb, var(--green) 35%, #fff);
  box-shadow: 0 18px 38px rgba(51,44,39,.11);
  transform: translateY(-5px);
}
.template-3:not(.admin-page) .company-body { padding: 25px; }
.template-3:not(.admin-page) .company-body .eyebrow {
  color: var(--green);
  background: #edf7f1;
  border-radius: 3px;
}
.template-3:not(.admin-page) .company-body h3 { color: var(--vip-charcoal); font-weight: 700; }
.template-3:not(.admin-page) .company-body > p { color: var(--vip-muted); }
.template-3:not(.admin-page) .text-link { color: var(--vip-coral-dark); }

.template-3:not(.admin-page) .page-hero {
  padding: 72px 0 78px;
  color: var(--vip-charcoal);
  background: var(--vip-cream);
  border-color: var(--vip-line);
}
.template-3:not(.admin-page) .page-hero h1 {
  width: fit-content;
  color: var(--vip-charcoal);
  font-size: clamp(40px,4.7vw,58px);
  font-weight: 400;
  background: linear-gradient(transparent 80%, var(--vip-yellow) 80% 95%, transparent 95%);
}
.template-3:not(.admin-page) .page-hero p,
.template-3:not(.admin-page) .page-hero .breadcrumbs,
.template-3:not(.admin-page) .subcategory-inline { color: var(--vip-muted); }
.template-3:not(.admin-page) .page-hero .breadcrumbs a,
.template-3:not(.admin-page) .subcategory-inline a { color: var(--green); }
.template-3:not(.admin-page) .location-filter,
.template-3:not(.admin-page) .chip,
.template-3:not(.admin-page) .pagination a {
  border-color: var(--vip-line);
  border-radius: 5px;
  box-shadow: none;
}

.template-3:not(.admin-page) .detail-top {
  padding-top: 32px;
  background: var(--vip-cream);
  border-color: var(--vip-line);
}
.template-3:not(.admin-page) .detail-grid h1 {
  color: var(--vip-charcoal);
  font-weight: 500;
  background: none;
}
.template-3:not(.admin-page) .company-name-highlight {
  padding: 0 .035em;
  background: linear-gradient(transparent 82%, var(--vip-yellow) 82% 96%, transparent 96%);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.template-3:not(.admin-page) .detail-screen {
  border-color: #fff;
  border-radius: 7px;
  box-shadow: var(--vip-shadow);
}
.template-3:not(.admin-page) .prose,
.template-3:not(.admin-page) .contact-card {
  border-color: var(--vip-line);
  border-radius: 7px;
  box-shadow: var(--vip-shadow);
}
.template-3:not(.admin-page) .contact-card:hover { border-color: var(--vip-line); }
.template-3:not(.admin-page) .prose p { color: #696865; }

/* Panel wizytówki zgodny z panelem Enees portal. Kolor aktywny pozostaje
   powiązany z ustawieniem kolorystycznym konkretnej instalacji katalogu. */
.template-3:not(.admin-page) .company-sidebar {
  --portal-blue: var(--green);
  --portal-ink: #233856;
  --portal-muted: #62738a;
  --portal-line: #dce3ec;
  gap: 16px;
  color: var(--portal-ink);
  font-family: "Open Sans", var(--font-ui);
  font-size: 14px;
  line-height: 1.5;
}
.template-3:not(.admin-page) .company-sidebar .contact-card {
  padding: 22px;
  border-color: var(--portal-line);
  border-radius: 7px;
  color: var(--portal-ink);
  background: #fff;
  box-shadow: 0 6px 22px rgba(35,56,86,.06);
}
.template-3:not(.admin-page) .company-sidebar .contact-card:hover { border-color: var(--portal-line); }
.template-3:not(.admin-page) .company-sidebar .additional-info-card { background: #f8fafc; }
.template-3:not(.admin-page) .company-sidebar .contact-card h2 {
  margin: 0 0 14px;
  color: var(--portal-ink);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.13;
}
.template-3:not(.admin-page) .company-sidebar .contact-card dt {
  margin-top: 9px;
  font-size: 10px;
  font-weight: 750;
  line-height: 1.65;
}
.template-3:not(.admin-page) .company-sidebar .contact-card dt:first-child { margin-top: 0; }
.template-3:not(.admin-page) .company-sidebar .contact-card dd,
.template-3:not(.admin-page) .company-sidebar > .contact-card:first-child dd,
.template-3:not(.admin-page) .company-sidebar .additional-info-card dd {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
}
.template-3:not(.admin-page) .company-sidebar .contact-card .hours-row dt {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
}
.template-3:not(.admin-page) .company-sidebar .contact-card .hours-row dd {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
}
.template-3:not(.admin-page) .company-sidebar .contact-reveal,
.template-3:not(.admin-page) .company-sidebar .contact-website {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #cbd3dc;
  border-radius: 5px;
  color: #303940;
  background: #f6f7f8;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  box-sizing: border-box;
}
.template-3:not(.admin-page) .company-sidebar .contact-reveal:hover,
.template-3:not(.admin-page) .company-sidebar .contact-website:hover {
  border-color: var(--portal-blue);
  color: var(--portal-blue);
}
.template-3:not(.admin-page) .company-sidebar .contact-reveal small {
  padding: 0;
  color: inherit;
  background: transparent;
  font-size: 10px;
}
.template-3:not(.admin-page) .company-sidebar .copy-address {
  border-radius: 5px;
  color: #313534;
  font-size: 10px;
  font-weight: 600;
}
.template-3:not(.admin-page) .company-social-card .social-links {
  margin: 0;
  padding: 0;
  border: 0;
}
.template-3:not(.admin-page) .company-social-card .social-links a {
  margin: 0 7px 7px 0;
  padding: 7px 9px;
  border: 1px solid #e0e4e8;
  border-radius: 4px;
  color: #56616c;
  background: #eef0f2;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
}
.template-3:not(.admin-page) .company-sidebar .hours-current,
.template-3:not(.admin-page) .company-sidebar .hours-current span { font-size: 13px; }
.template-3:not(.admin-page) .company-sidebar .review-profile-link { border-radius: 5px; }

.template-3:not(.admin-page) .offer-hero {
  padding: 78px 0 86px;
  color: var(--vip-charcoal);
  background: var(--vip-cream);
  border-color: var(--vip-line);
}
.template-3:not(.admin-page) .offer-hero::after {
  border: 0;
  background: rgba(255,255,255,.48);
}
.template-3:not(.admin-page) .offer-hero-copy h1 {
  color: var(--vip-charcoal);
  font-weight: 400;
}
.template-3:not(.admin-page) .offer-hero-copy h1 em {
  width: fit-content;
  color: var(--vip-charcoal);
  font-weight: 750;
  background: linear-gradient(transparent 78%, var(--vip-yellow) 78% 95%, transparent 95%);
}
.template-3:not(.admin-page) .offer-hero-copy > p { color: var(--vip-muted); }
.template-3:not(.admin-page) .offer-hero-copy > p a { color: var(--vip-coral-dark); }
.template-3:not(.admin-page) .offer-hero-card {
  border-color: var(--vip-line);
  border-radius: 7px;
  background: #fff;
  box-shadow: var(--vip-shadow);
}
.template-3:not(.admin-page) .offer-badge {
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  box-shadow: none;
}
.template-3:not(.admin-page) .offer-panel-text { color: var(--vip-muted); }
.template-3:not(.admin-page) .offer-panel-text strong { color: var(--vip-charcoal); }
.template-3:not(.admin-page) .offer-content,
.template-3:not(.admin-page) .legal-page > article,
.template-3:not(.admin-page) .public-company-form {
  border-color: var(--vip-line);
  border-radius: 7px;
  box-shadow: var(--vip-shadow);
}
.template-3:not(.admin-page) .public-submission-section { background: var(--vip-cream); }
.template-3:not(.admin-page) .public-company-form { padding: 28px; background: #fff; }
.template-3:not(.admin-page) .public-company-form fieldset { border-color: var(--vip-line); border-radius: 6px; }
.template-3:not(.admin-page) .public-submit-button { background: var(--vip-coral); }
.template-3:not(.admin-page) .public-submit-button:hover { background: var(--vip-coral-dark); }
.template-3:not(.admin-page) .legal-page h1 {
  width: fit-content;
  font-weight: 500;
  background: linear-gradient(transparent 80%, var(--vip-yellow) 80% 95%, transparent 95%);
}

.template-3:not(.admin-page) footer {
  margin-top: 0;
  padding-top: 62px;
  border-radius: 0;
  color: #e7e8e7;
  background: #252827;
  box-shadow: none;
}
.template-3:not(.admin-page) .footer-grid p { color: #a9aeab; }
.template-3:not(.admin-page) .footer-grid > div:last-child a { color: #d9ddda; }
.template-3:not(.admin-page) .footer-grid > div:last-child a:hover { color: #fff; }
.template-3:not(.admin-page) .fine { color: #858b87; }

@media (max-width: 900px) {
  .template-3:not(.admin-page) .hero { min-height: auto; }
  .template-3:not(.admin-page) .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .template-3:not(.admin-page) .hero-visual { width: min(620px,100%); }
  .template-3:not(.admin-page) .category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .template-3:not(.admin-page) .site-header { padding-top: 0; }
  .template-3:not(.admin-page) .nav { height: 70px; padding: 0 10px; border-radius: 0; border-width: 0 0 1px; }
  .template-3:not(.admin-page) .nav nav .nav-add-company { padding: 10px 11px; }
  .template-3:not(.admin-page) .hero { padding: 58px 0 68px; }
  .template-3:not(.admin-page) .hero h1 { font-size: clamp(39px,12vw,50px); }
  .template-3:not(.admin-page) .hero-grid { gap: 34px; }
  .template-3:not(.admin-page) .hero-visual img { border-radius: 5px; }
  .template-3:not(.admin-page) .stats { gap: 12px 20px; }
  .template-3:not(.admin-page) .category-grid { grid-template-columns: 1fr; }
  .template-3:not(.admin-page) .category-card,
  .template-3:not(.admin-page) .category-card:nth-child(3n),
  .template-3:not(.admin-page) .category-card:nth-last-child(-n+3) { border: 1px solid var(--vip-line) !important; }
  .template-3:not(.admin-page) .section { padding: 62px 0; }
  .template-3:not(.admin-page) .public-company-form { padding: 20px 14px; }
}

/* Enees modern: spójny odstęp 50 px między głównymi sekcjami publicznymi. */
.template-3:not(.admin-page) .hero {
  min-height: 0;
  padding-top: 50px;
  padding-bottom: 50px;
}
.template-3:not(.admin-page) #kategorie {
  padding-top: 50px;
  padding-bottom: 50px;
}
.template-3:not(.admin-page) #kategorie .catalog-description { margin-top: 50px; }
.template-3:not(.admin-page) .latest {
  padding-top: 41px;
  padding-bottom: 49px;
}
.template-3:not(.admin-page) .page-hero {
  padding-top: 38px;
  padding-bottom: 49px;
}
.template-3:not(.admin-page) main > .page-hero + .section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.template-3:not(.admin-page) .detail-top { padding-bottom: 49px; }
.template-3:not(.admin-page) .section.info-layout {
  padding-top: 50px;
  padding-bottom: 50px;
}
.template-3:not(.admin-page) footer { padding-top: 50px; }
