/* =========================================================
   UnlockedPatents × Neve — minimal, scoped compatibility CSS
   Pages covered: Landing, Search (expired_patents), Blog, Patent Lawyers
   Usage: paste into Appearance → Customize → Additional CSS
   Scope: only elements inside .up-container to avoid theme collisions
   ========================================================= */

/* Tokens (fallbacks if page lacks inline <style>) */
:root{
  --brand:#2170b0; --brand-2:#0b4a7a; --accent:#3ecf8e;
  --ink:#1f2937; --muted:#6b7280; --bg:#ffffff; --bg-alt:#f7f7f7;
  --ring: rgba(33,112,176,.25); --radius:14px; --shadow:0 10px 30px rgba(0,0,0,.08);
  --max:1200px;
}

/* Safe container (instead of .container to avoid Neve styles) */
.up-container{max-width:var(--max);margin:0 auto;padding:0 16px}
.up-container *{box-sizing:border-box}
.up-container img{max-width:100%;height:auto}

/* Typography */
.up-container h1,.up-container h2,.up-container h3{color:var(--brand);line-height:1.15;margin:0 0 .55em}
.up-container p{color:var(--ink);margin:.35em 0 1em}
.up-container .lead{color:var(--muted)}

/* Cards / panels (shared) */
.up-container .card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.up-container .panel{background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px}

/* Buttons */
.up-container .btn{display:inline-flex;align-items:center;gap:.5rem;padding:12px 18px;
  border-radius:12px;font-weight:700;text-decoration:none;border:1px solid transparent;background:#fff;
  transition:.2s ease;cursor:pointer;line-height:1.1}
.up-container .btn:hover{transform:translateY(-1px)}
.up-container .btn-primary{background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff;border-color:transparent;
  box-shadow:0 4px 12px rgba(0,0,0,.15)}
.up-container .btn-primary:hover{background:linear-gradient(90deg,#d97706,#b45309)}
.up-container .btn-ghost{background:#e8f2fb;color:#0b4a7a;border:1px solid #d7e7f7}

/* Forms */
.up-container .input, .up-container select, .up-container input[type="text"],
.up-container input[type="email"], .up-container input[type="search"]{
  width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;
  font-size:15px;outline:none;background:#fff;color:var(--ink)
}
.up-container .input:focus, .up-container select:focus,
.up-container input[type="text"]:focus, .up-container input[type="email"]:focus,
.up-container input[type="search"]:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--ring)}

/* Chips (tags, operators) */
.up-container .chips{display:flex;flex-wrap:wrap;gap:8px}
.up-container .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:#eef2ff;border:1px solid #e5e7eb;font-size:13px;white-space:nowrap}
.up-container .chip[aria-pressed="true"]{background:#dbeafe;border-color:#bfdbfe}
.up-container .chip.advop{cursor:pointer}

/* Links list (Search providers) */
.up-container .links{display:grid;gap:8px;margin-top:14px}
.up-container .links a{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;
  border:1px solid #e5e7eb;border-radius:10px;color:var(--ink);text-decoration:none}
.up-container .links a small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}

/* Grids (shared + per-page) */
.up-container .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* Landing */
.up-container .hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:center}
.up-container .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.up-container .t-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* Search */
.up-container .filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;align-items:end}
.up-container .row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.up-container .row-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
/* Patent Lawyers */
.up-container .results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.up-container .actions{display:flex;gap:10px;flex-wrap:wrap}
.up-container .badge{background:#fff3cd;border:1px solid #f59e0b;color:#7c2d12;padding:4px 8px;border-radius:8px;font-size:12px}
/* Blog */
.up-container .hero{padding:24px 0 10px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#ffffff,#f8fbff)}
.up-container .grid.blog{grid-template-columns:repeat(3,1fr)}
.up-container .thumb{height:160px;background:linear-gradient(120deg,#e5f1fb,#f8fbff)}

/* Stars in ribbon */
.up-container .stars{color:#FFD700;font-size:1.15em;letter-spacing:1px}

/* Notes */
.up-container .note{background:#fff7ed;border:1px solid #fdba74;padding:10px 12px;border-radius:10px;font-size:14px}

/* Responsive */
@media (max-width: 960px){
  .up-container .hero-grid{grid-template-columns:1fr}
  .up-container .cards{grid-template-columns:1fr}
  .up-container .grid{grid-template-columns:1fr 1fr}
  .up-container .t-row{grid-template-columns:1fr}
  .up-container .filters{grid-template-columns:1fr 1fr 1fr}
  .up-container .row, .up-container .row-2{grid-template-columns:1fr}
  .up-container .results{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .up-container .grid{grid-template-columns:1fr}
  .up-container .results{grid-template-columns:1fr}
}

/* Optional: hide Neve page title for specific pages (replace slugs or use page-id-XXX) */
/*
body.page-slug-databaze .nv-page-title-wrap,
body.page-slug-patent-lawyers .nv-page-title-wrap,
body.page-slug-blog .nv-page-title-wrap{display:none!important}
body.page-slug-databaze .nv-content-wrap,
body.page-slug-patent-lawyers .nv-content-wrap,
body.page-slug-blog .nv-content-wrap{padding-top:0!important}
*/

/* === Page-specific extras migrated from Additional CSS === */
.up-container .stars{ color: #FFD700; font-size: 1.2em; letter-spacing: 1px; }

.up-container .micro{opacity:.9;margin-left:6px;font-style:italic;font-size:.9em}

.up-container .cta-list{max-width:720px;margin:8px auto 0;padding-left:20px}
.cta-list li{margin:4px 0}

.up-container .report-preview{display:flex;gap:8px;justify-content:center;margin:12px auto 0;max-width:720px}
.report-preview .page{width:92px;height:120px;background:linear-gradient(180deg,#fff,#f1f5f9);border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,.1)}
@media (max-width:520px){.report-preview .page{width:70px;height:92px}}

.up-container .card h3 a{text-decoration:none;color:inherit;border-bottom:2px solid rgba(33,112,176,.25)}.card h3 a:hover{border-color:rgba(33,112,176,.6)}

.up-container{max-width:1200px;margin:0 auto;padding:24px}

.posts-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:32px;
}
@media (max-width: 1024px){ .posts-grid{ grid-template-columns: repeat(2,1fr);} }
@media (max-width: 640px){ .posts-grid{ grid-template-columns: 1fr; } }

.post-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.post-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(0,0,0,.14);
}

.post-link{ display:block; color:inherit; text-decoration:none; }
.post-thumb{ width:100%; height:220px; object-fit:cover; display:block; }
.post-title{ font-size:1.25rem; line-height:1.3; margin:16px 16px 8px; }
.post-excerpt{ color:#475569; margin:0 16px 18px; line-height:1.6; }
.pagination{ margin:32px 0; display:flex; justify-content:center; }
/* pohodlný vnútorný padding textu */
.post-card{ 
  padding:18px;                 /* vnútorný okraj karty */
}

/* nech je obrázok full‑bleed hore napriek paddingu karty */
.post-thumb{
  display:block;
  width:calc(100% + 36px);      /* 2x padding */
  margin:-18px -18px 12px;      /* vytiahne obrazok cez padding a ponechá spodnú medzeru */
  height:220px;
  object-fit:cover;
  border-top-left-radius:14px; 
  border-top-right-radius:14px;
}

/* extra medzery pre text */
.post-title{ margin:6px 0 8px; }
.post-excerpt{ margin:0; }

/* === BLOG CARDS – FINAL OVERRIDES === */
.posts-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
}
@media (max-width:1024px){ .posts-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .posts-grid{ grid-template-columns:1fr; } }

.post-card{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease;
  padding:0; /* žiadny vnútorný padding na karte */
}
.post-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(0,0,0,.14);
}

.post-link{ display:block; color:inherit; text-decoration:none; }

.post-thumb{
  display:block;
  width:100%;
  height:220px;
  object-fit:cover;
  margin:0; /* žiadne negatívne marginy */
}

.post-body{ padding:18px; }  /* jednotný „air“ okolo textu */
.post-title{ margin:0 0 8px; font-size:1.25rem; line-height:1.3; }
.post-excerpt{ margin:0; color:#475569; line-height:1.6; }

.pagination{ margin:32px 0; display:flex; justify-content:center; }

/* Medzera medzi horným menu a obsahom stránky */
.site-main,
#content,
main {
  margin-top: 24px; /* uprav podľa potreby, napr. 32px pre väčší vzduch */
}

/* Scroll-to-top button (▲) */
#scrollTopBtn{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 999;

  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  box-sizing: border-box;

  background: #2170b0;
  color: #fff;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(0,0,0,.20);

  /* Centrovanie obsahu */
  display: flex;
  align-items: center;
  justify-content: center;

  /* Animovateľné skrytie/zobrazenie (žiadne display:none) */
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px) scale(.95);
  transition: opacity .28s ease, visibility .28s ease, transform .28s ease, background-color .2s ease;
}

#scrollTopBtn.show{
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

#scrollTopBtn:hover{
  background: #0b4a7a;
  transform: translateY(-2px) scale(1.03);
}

/* Znak ▲ – pevné centrovanie + jemný optický posun hore */
#scrollTopBtn span{
  font-size: 16px;
  line-height: 1;
  display: block;
  transform: translateY(-1px); /* podľa oka: -0.5px až -2px */
}

@media (prefers-reduced-motion: reduce){
  #scrollTopBtn{ transition: none; }
}
