
:root{
  --primary:#0B5FA5;
  --bg:#f4f6f8;
  --card:#ffffff;
  --text:#1c1c1e;
  --muted:#6b7280;
  --line:#d1d5db;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,sans-serif;
  background:var(--bg);
}

/* HEADER */
header{
  background:linear-gradient(135deg,#0B5FA5,#083f6b);
  color:white;
  padding:30px 20px;
}
.header-wrap{
  max-width:1100px;
  margin:auto;
}

/* SEARCH */
main{
  max-width:1100px;
  margin:-30px auto 40px;
  padding:0 15px;
}
.search-card{
  background:white;
  border-radius:12px;
  padding:20px;
  box-shadow:0 10px 25px rgba(0,0,0,.1);
}

/* JEDNOLITA WYSOKOŚĆ */
.search-card select,
.search-card button {
  height: 48px;
  font-size: 16px;
  padding: 0 12px;
  border-radius: 8px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

.search-card label {
  display: block;
  margin-bottom: 10px;
}

.search-card label span {
  margin-left: 3px;
}

select,button{
  width:100%;
  margin-top:10px;
}

button{
  background:var(--primary);
  color:white;
  border:none;
  cursor:pointer;
  transition: background 0.3s;
}

button:hover {
  background:#083f6b;
}

button:disabled {
  background:#ccc;
  cursor:not-allowed;
}

.loading {
  opacity: 0.7;
  pointer-events: none;
}

sup a {
  text-decoration: none;
  font-size: 0.7em;
  color: #0077ff;
  margin:auto;
}

sup a:hover {
  text-decoration: underline;
}

.przypis {
  margin: 30px 20px;
  padding: 10px 15px;
  background: #f6f8fa;
  border-left: 4px solid #0077ff;
  border-radius: 6px;
  font-size: 10px;
}

/* RESULTS CARDS */
#results{
  margin-top:20px;
}

.card{
  display:grid;
  grid-template-columns: 70px 1fr 160px;
  padding:14px;
  margin-bottom:12px;
  border-radius:10px;
  background:white;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
  transition: transform 0.2s;
}

.card:hover{
  transform: translateY(-2px);
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}

.lp{
  font-weight:bold;
  text-align:center;
  align-self:center;
}

.person .name{
  font-weight:bold;
  font-size:16px;
  margin-bottom:5px;
}
.person .small{
  font-size:14px;
  color:var(--muted);
}

/* STYLE STATUSÓW - TE SĄ UŻYWANE W KARTACH WYNIKÓW */
.status-verified {
  color: #16a34a;
  font-weight: bold;
}

.status-pending {
  color: #f97316;
  font-weight: bold;
}

.status-unconfirmed {
  color: #dc2626;
  font-weight: bold;
}

.contact-info {
  background: #f0f9ff;
  padding: 8px;
  border-radius: 6px;
  margin-top: 8px;
  border-left: 3px solid #0B5FA5;
}

.contact-info div {
  margin: 4px 0;
}

/* STYLE DLA STATUSÓW W SELEKCIE - INLINE STYLE W HTML */
#status option[value="verified"] {
  color: #16a34a !important;
  font-weight: bold !important;
}

#status option[value="pending"] {
  color: #f97316 !important;
  font-weight: bold !important;
}

#status option[value="unconfirmed"] {
  color: #dc2626 !important;
  font-weight: bold !important;
}

/* PAGINATION */
#pagination button {
  width:auto;
  padding:10px 20px;
  margin:0 5px;
  display:inline-block;
}

/* LOADING SPINNER */
.spinner {
  border: 3px solid #f3f3f3;
  border-top: 3px solid #0B5FA5;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spin 1s linear infinite;
  margin:20px auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ERROR MESSAGE */
.error {
  background:#fee;
  border:1px solid #f99;
  color:#c00;
  padding:15px;
  border-radius:8px;
  text-align:center;
  margin:20px 0;
}

/* --- RESPONSYWNE GRIDY --- */
@media (max-width: 700px) {
  .card {
    display: block;
    grid-template-columns: none;
  }

  .card > div {
    display: block;
    padding: 8px 12px;
    margin-bottom: 4px;
  }

  .card .person {
    flex-direction: column;
  }

  .stars, .status {
    margin-top: 5px;
  }

  .lp {
    margin-bottom: 5px;
    text-align: left;
  }
  
  #pagination button {
    display:block;
    width:100%;
    margin:10px 0;
  }
}
