/* Six optional skins. The Enees layout, typography, sizes and spacing are inherited.
   All public rules require .visual-skin and explicitly exclude the admin panel. */
.template-3.visual-skin:not(.admin-page) {
  --vip-charcoal:var(--skin-ink);
  --vip-muted:var(--skin-muted);
  --vip-line:var(--skin-line);
  --vip-yellow:var(--skin-mark);
  --vip-coral:var(--add-company-button);
  --vip-coral-dark:var(--add-company-button-dark);
  --vip-shadow:0 12px 30px rgb(30 45 50 / 5%);
  --line:var(--skin-line);
  --line-soft:var(--skin-line);
  --cream:var(--modern-background);
  --muted:var(--skin-muted);
  --ink:var(--skin-ink);
  --skin-radius:8px;
  --skin-shadow:0 6px 20px rgb(30 45 50 / 4%);
}
.template-3.visual-skin:not(.admin-page) .hero {
  background:linear-gradient(115deg,#fff,var(--modern-background));
}
.template-3.visual-skin:not(.admin-page) .hero::before,
.template-3.visual-skin:not(.admin-page) .hero::after { display:none; }
.template-3.visual-skin:not(.admin-page) .hero-visual img { filter:none; }
.template-3.visual-skin:not(.admin-page) .nav {
  border-color:var(--skin-line);border-radius:var(--skin-radius);box-shadow:var(--skin-shadow);
}
.template-3.visual-skin:not(.admin-page) .nav nav a:hover { background:var(--modern-background); }
.template-3.visual-skin:not(.admin-page) .advanced-search {
  border-color:var(--skin-line);border-radius:var(--skin-radius);box-shadow:var(--vip-shadow);
}
.template-3.visual-skin:not(.admin-page) input:focus-visible,
.template-3.visual-skin:not(.admin-page) select:focus-visible,
.template-3.visual-skin:not(.admin-page) textarea:focus-visible,
.template-3.visual-skin:not(.admin-page) a:focus-visible,
.template-3.visual-skin:not(.admin-page) button:focus-visible {
  outline:2px solid var(--green);outline-offset:3px;
}
.template-3.visual-skin:not(.admin-page) .hero .kicker,
.template-3.visual-skin:not(.admin-page) .kicker.dark,
.template-3.visual-skin:not(.admin-page) .eyebrow { color:var(--green); }
.template-3.visual-skin:not(.admin-page) .category-card,
.template-3.visual-skin:not(.admin-page) .category-card:nth-child(n) {
  position:relative;isolation:isolate;background:#fff;border-color:var(--skin-line);
  border-radius:var(--skin-radius);box-shadow:var(--skin-shadow);
}
.template-3.visual-skin:not(.admin-page) .category-card h3 a { color:var(--skin-ink); }
.template-3.visual-skin:not(.admin-page) .category-icon {
  color:var(--green);background:var(--modern-background);box-shadow:none;
}
.template-3.visual-skin:not(.admin-page) .category-icon svg { width:28px;height:28px; }
.template-3.visual-skin:not(.admin-page) .category-card:hover,
.template-3.visual-skin:not(.admin-page) .company-card:hover {
  border-color:var(--green);box-shadow:0 12px 30px rgb(30 45 50 / 8%);
}
.template-3.visual-skin:not(.admin-page) .company-card,
.template-3.visual-skin:not(.admin-page) .blog-card,
.template-3.visual-skin:not(.admin-page) .prose,
.template-3.visual-skin:not(.admin-page) .contact-card,
.template-3.visual-skin:not(.admin-page) .offer-hero-card,
.template-3.visual-skin:not(.admin-page) .offer-content,
.template-3.visual-skin:not(.admin-page) .legal-page > article,
.template-3.visual-skin:not(.admin-page) .catalog-description {
  border-color:var(--skin-line);border-radius:var(--skin-radius);box-shadow:var(--skin-shadow);
}
.template-3.visual-skin:not(.admin-page) .text-link { color:var(--green); }
.template-3.visual-skin:not(.admin-page) .company-body .eyebrow { background:var(--modern-background); }
.template-3.visual-skin:not(.admin-page) footer { background:var(--green-dark); }
.template-3.visual-skin:not(.admin-page) .footer-grid p { color:#d5dedb; }
.template-3.visual-skin:not(.admin-page) .fine { color:#bccbc6; }

/* Miejski atlas: the image supplies the city; the page stays clean. */
.template-3.skin-atlas:not(.admin-page) { --skin-radius:5px; }
.template-3.skin-atlas:not(.admin-page) .category-card:nth-child(n) {
  box-shadow:inset 0 2px var(--green),var(--skin-shadow);
}
.template-3.skin-atlas:not(.admin-page) .category-icon { background:#e8f0eb; }
.template-3.skin-atlas:not(.admin-page) .hero { background:linear-gradient(120deg,#fcfcf9,var(--modern-background)); }

/* Papierowy kolaż: matte paper-like panels and restrained organic icon backing. */
.template-3.skin-collage:not(.admin-page) { --skin-radius:11px; }
.template-3.skin-collage:not(.admin-page) .hero {
  background:radial-gradient(ellipse at 80% 30%,#fff8ef99,transparent 60%),var(--modern-background);
}
.template-3.skin-collage:not(.admin-page) .category-icon {
  border-radius:42% 58% 48% 52%;background:#efdbcf;color:#895b46;
  box-shadow:inset 0 0 0 1px rgb(140 95 60 / 5%);
}
.template-3.skin-collage:not(.admin-page) .category-card:nth-child(even) .category-icon {
  background:#e3e8dd;color:var(--green);border-radius:58% 42% 52% 48%;
}
.template-3.skin-collage:not(.admin-page) .category-card:nth-child(n) {
  background:linear-gradient(135deg,#fff,#fcfaf7);
}
.template-3.skin-collage:not(.admin-page) .advanced-search { border-color:#e5ddd1; }

/* Mozaika wizytówek: distinct pastel accents with the same card geometry. */
.template-3.skin-mosaic:not(.admin-page) { --skin-radius:9px; }
.template-3.skin-mosaic:not(.admin-page) .category-card { --tile-color:#b85144;--tile-wash:#f9e9e4; }
.template-3.skin-mosaic:not(.admin-page) .category-card:nth-child(6n+2) { --tile-color:#476f93;--tile-wash:#e7f0f8; }
.template-3.skin-mosaic:not(.admin-page) .category-card:nth-child(6n+3) { --tile-color:#52785f;--tile-wash:#e6f1e9; }
.template-3.skin-mosaic:not(.admin-page) .category-card:nth-child(6n+4) { --tile-color:#8f6c40;--tile-wash:#f5eddf; }
.template-3.skin-mosaic:not(.admin-page) .category-card:nth-child(6n+5) { --tile-color:#766292;--tile-wash:#eeebf7; }
.template-3.skin-mosaic:not(.admin-page) .category-card:nth-child(6n) { --tile-color:#52785f;--tile-wash:#e6f1e9; }
.template-3.skin-mosaic:not(.admin-page) .category-card::after {
  content:"";position:absolute;top:0;right:0;width:16px;height:16px;
  border-radius:0 var(--skin-radius) 0 8px;background:var(--tile-color);opacity:.55;pointer-events:none;
}
.template-3.skin-mosaic:not(.admin-page) .category-icon { border-radius:10px;background:var(--tile-wash);color:var(--tile-color); }

/* Lekka kreska: line icons and restrained peach/teal surfaces. */
.template-3.skin-line:not(.admin-page) { --skin-radius:8px; }
.template-3.skin-line:not(.admin-page) .advanced-search { border-color:#efcfb7; }
.template-3.skin-line:not(.admin-page) .category-icon { border-radius:45% 55% 58% 42%;background:#f8e7d8; }
.template-3.skin-line:not(.admin-page) .category-card:nth-child(even) .category-icon { background:#e4eff0; }
.template-3.skin-line:not(.admin-page) .category-icon svg { stroke-width:1.1; }
.template-3.skin-line:not(.admin-page) .category-card:nth-child(n) { box-shadow:0 5px 18px rgb(40 80 85 / 3%); }

/* Ścieżki do firm: fine blue icon rail and soft locator-style badges. */
.template-3.skin-paths:not(.admin-page) { --skin-radius:7px; }
.template-3.skin-paths:not(.admin-page) .hero { background:linear-gradient(110deg,#fff,var(--modern-background)); }
.template-3.skin-paths:not(.admin-page) .category-icon {
  position:relative;background:#e7f0fb;box-shadow:inset 0 0 0 1px #dbe8f6;
}
.template-3.skin-paths:not(.admin-page) .category-icon::after {
  content:"";position:absolute;left:calc(100% + 10px);top:0;bottom:0;width:1px;background:#d5e3f4;pointer-events:none;
}
.template-3.skin-paths:not(.admin-page) .category-card:nth-child(3n+2) .category-icon { background:#fff3d6; }

/* Techniczna precyzja: blueprint-style registration corners, without layout shifts. */
.template-3.skin-precision:not(.admin-page) { --skin-radius:5px; }
.template-3.skin-precision:not(.admin-page) .category-icon { border-radius:7px;background:#eaf0fb; }
.template-3.skin-precision:not(.admin-page) .category-card::after {
  content:"";position:absolute;inset:10px;border:0;pointer-events:none;
  background:linear-gradient(var(--green),var(--green)) left top/7px 1px no-repeat,
    linear-gradient(var(--green),var(--green)) left top/1px 7px no-repeat,
    linear-gradient(var(--green),var(--green)) right top/7px 1px no-repeat,
    linear-gradient(var(--green),var(--green)) right top/1px 7px no-repeat,
    linear-gradient(var(--green),var(--green)) left bottom/7px 1px no-repeat,
    linear-gradient(var(--green),var(--green)) left bottom/1px 7px no-repeat,
    linear-gradient(var(--green),var(--green)) right bottom/7px 1px no-repeat,
    linear-gradient(var(--green),var(--green)) right bottom/1px 7px no-repeat;opacity:.35;
}
.template-3.skin-precision:not(.admin-page) .category-card:nth-child(n) { box-shadow:none; }

/* Admin selection UI only: never apply public skin styles to the workspace. */
.admin-page .visual-theme-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.admin-page .visual-theme-option { position:relative;display:grid;gap:8px;padding:12px;border:1px solid #dce4df;border-radius:12px;background:#fff;cursor:pointer; }
.admin-page .visual-theme-option:has(input:checked) { border-color:#52776a;box-shadow:0 0 0 2px #52776a; }
.admin-page .visual-theme-option input { width:17px;height:17px;min-height:0;accent-color:#52776a; }
.admin-page .visual-theme-preview { display:block;aspect-ratio:640/452;overflow:hidden;border:1px solid #edf0ee;border-radius:7px;background:#f8faf8; }
.admin-page .visual-theme-preview img { display:block;width:100%;height:100%;object-fit:cover; }
.admin-page .visual-theme-name { font-size:14px;font-weight:600; }
.admin-page .visual-theme-option small { font-size:12px;font-weight:400;line-height:1.5; }
.admin-page .visual-theme-color-switch { margin:22px 0 10px; }
@media(max-width:1000px) { .admin-page .visual-theme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .admin-page .visual-theme-grid { grid-template-columns:1fr; } }
