/* ============================================================
   KATALOG KOŚCIOŁÓW – style (ładowany async tylko na katalog.php)
   ============================================================ */

/* BREADCRUMBS (reuse from detail.css) */
.breadcrumbs{padding:.75rem 0;border-bottom:1px solid #e7e5e4;margin-bottom:0}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .375rem}
.breadcrumbs li{font-size:.875rem;color:#6b7280}
.breadcrumbs li+li::before{content:'/';margin-right:.375rem;color:#d1d5db}
.breadcrumbs a{color:#6b7280;transition:color .15s}
.breadcrumbs a:hover{color:#7D3C4A}
.breadcrumbs li:last-child{color:#374151;font-weight:500}

/* CATALOG LAYOUT */
.catalog-wrap{padding-top:1.5rem;padding-bottom:3rem}
.catalog-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){.catalog-grid{grid-template-columns:280px 1fr}}

/* =============================================
   SIDEBAR – FILTRY
   ============================================= */
.cat-sidebar{display:none}
@media(min-width:1024px){.cat-sidebar{display:block}}

/* Mobile filter toggle */
.filter-mobile-toggle{
  display:flex;align-items:center;gap:.5rem;justify-content:space-between;
  width:100%;padding:.75rem 1rem;
  background:#fff;border:1.5px solid #e7e5e4;border-radius:.625rem;
  font-weight:600;font-size:.9375rem;color:#374151;cursor:pointer;
  margin-bottom:1rem;
}
@media(min-width:1024px){.filter-mobile-toggle{display:none}}
.filter-mobile-toggle svg{width:18px;height:18px;flex-shrink:0;transition:transform .2s}
.filter-mobile-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

/* Mobile sidebar: ukryty domyślnie, tylko na mobile po kliknięciu toggle */
.cat-sidebar-mobile{display:none}
.cat-sidebar-mobile.is-open{display:block}
/* Na desktop ukryj zawsze – jest natywny sidebar w gridzie */
@media(min-width:1024px){.cat-sidebar-mobile{display:none!important}}

/* Sidebar widgets */
.cat-widget{background:#fff;border-radius:.75rem;border:1px solid #e7e5e4;overflow:hidden;margin-bottom:1.25rem}
.cat-widget-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;
  background:rgba(243,239,224,.5);cursor:pointer;
}
.cat-widget-title{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:.9375rem;color:#111827}
.cat-widget-toggle{width:20px;height:20px;color:#7D3C4A;flex-shrink:0;transition:transform .2s}
.cat-widget[open] .cat-widget-toggle{transform:rotate(180deg)}
.cat-widget-body{padding:.75rem 1rem}

/* Search widget */
.cat-search-wrap{display:flex;border:1.5px solid #d1d5db;border-radius:.5rem;overflow:hidden;background:#fff;transition:border-color .15s}
.cat-search-wrap:focus-within{border-color:#7D3C4A;box-shadow:0 0 0 3px rgba(125,60,74,.08)}
.cat-search-input{flex:1;padding:.625rem .875rem;border:none;outline:none;font-size:.9375rem;color:#374151;background:transparent;font-family:inherit;min-width:0}
.cat-search-btn{padding:.625rem .875rem;background:#7D3C4A;color:#fff;border:none;cursor:pointer;transition:background-color .15s;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cat-search-btn:hover{background:#5e2d38}
.cat-search-btn svg{width:16px;height:16px}

/* Województwa filter */
.woj-list{display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto}
.woj-item{display:flex;align-items:center;justify-content:space-between;padding:.4375rem .25rem;border-bottom:1px solid #f9fafb;gap:.5rem;cursor:pointer}
.woj-item:last-child{border-bottom:none}
.woj-item:hover .woj-label{color:#7D3C4A}
.woj-checkbox{width:1.0625rem;height:1.0625rem;accent-color:#7D3C4A;flex-shrink:0;cursor:pointer}
.woj-label{font-size:.875rem;color:#374151;flex:1;cursor:pointer;transition:color .15s}
.woj-count{font-size:.75rem;color:#9ca3af;background:#f3f4f6;padding:.1rem .45rem;border-radius:9999px;white-space:nowrap;flex-shrink:0}
.woj-item input:checked+.woj-label{color:#7D3C4A;font-weight:600}

/* Diecezje filter */
.diocese-list{display:flex;flex-direction:column;gap:0;max-height:320px;overflow-y:auto}
.diocese-item{padding:.375rem .25rem;border-bottom:1px solid #f9fafb;cursor:pointer;display:flex;align-items:center;gap:.5rem}
.diocese-item:last-child{border-bottom:none}
.diocese-item input{width:1rem;height:1rem;accent-color:#7D3C4A;flex-shrink:0;cursor:pointer}
.diocese-item label{font-size:.8125rem;color:#374151;cursor:pointer;line-height:1.4;flex:1}
.diocese-item:hover label{color:#7D3C4A}
.diocese-item input:checked+label{color:#7D3C4A;font-weight:600}

/* Active filters pills */
.active-filters{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:1rem;min-height:0}
.filter-pill{display:inline-flex;align-items:center;gap:.375rem;background:rgba(125,60,74,.1);color:#7D3C4A;padding:.25rem .75rem;border-radius:9999px;font-size:.8125rem;font-weight:600}
.filter-pill a{color:inherit;text-decoration:none;display:flex;align-items:center;opacity:.7;transition:opacity .15s;margin-left:.125rem}
.filter-pill a:hover{opacity:1}
.filter-pill a svg{width:12px;height:12px}

/* Reset filters btn */
.btn-reset-filters{display:inline-flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#6b7280;text-decoration:none;padding:.375rem .625rem;border-radius:.375rem;transition:background-color .15s,color .15s}
.btn-reset-filters:hover{background:#f3f4f6;color:#374151}
.btn-reset-filters svg{width:14px;height:14px}

/* =============================================
   WYNIKI – nagłówek
   ============================================= */
.cat-results-head{
  display:flex;flex-direction:column;gap:.75rem;
  margin-bottom:1.25rem;
  padding-bottom:.875rem;
  border-bottom:1px solid #e7e5e4;
}
@media(min-width:640px){.cat-results-head{flex-direction:row;align-items:center;justify-content:space-between}}
.cat-results-info h1{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:1.375rem;color:#111827;margin-bottom:.25rem}
.cat-results-count{font-size:.875rem;color:#6b7280}
.cat-results-count strong{color:#374151;font-weight:600}
.cat-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}

/* View toggle */
.view-toggle{display:flex;border:1.5px solid #e5e7eb;border-radius:.5rem;overflow:hidden}
.view-btn{display:flex;align-items:center;justify-content:center;padding:.4375rem .625rem;background:#fff;border:none;cursor:pointer;color:#9ca3af;transition:background-color .15s,color .15s}
.view-btn.active{background:#7D3C4A;color:#fff}
.view-btn:hover:not(.active){background:#f3f4f6;color:#374151}
.view-btn svg{width:16px;height:16px}

/* Sort select */
.cat-sort{padding:.4375rem .75rem;border:1.5px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;color:#374151;background:#fff;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center;padding-right:2rem}
.cat-sort:focus{border-color:#7D3C4A}

/* =============================================
   WIDOK KART (grid)
   ============================================= */
.church-list-grid{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.church-list-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1280px){.church-list-grid{grid-template-columns:repeat(3,1fr)}}

.church-card-mini{
  background:#fff;border-radius:.625rem;border:1px solid #e7e5e4;
  padding:1rem 1.125rem;
  display:flex;flex-direction:column;gap:.375rem;
  box-shadow:0 1px 2px rgba(0,0,0,.06);
  transition:box-shadow .2s,border-color .2s;
  text-decoration:none;color:inherit;
}
.church-card-mini:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:rgba(125,60,74,.25)}
.church-card-mini-name{font-weight:600;font-size:.9375rem;color:#111827;line-height:1.35}
.church-card-mini-city{font-size:.875rem;color:#6b7280;display:flex;align-items:center;gap:.25rem}
.church-card-mini-city svg{width:12px;height:12px;flex-shrink:0;color:#7D3C4A}
.church-card-mini-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.25rem}
.church-card-mini-diocese{font-size:.75rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.church-card-mini-id{font-size:.7rem;color:#d1d5db;font-family:monospace;flex-shrink:0;margin-left:.5rem}

/* =============================================
   WIDOK LISTY (table-like)
   ============================================= */
.church-list-table{display:flex;flex-direction:column;border:1px solid #e7e5e4;border-radius:.75rem;overflow:hidden;background:#fff}
.church-list-row{
  display:grid;
  grid-template-columns:2fr 1fr 1.5fr auto;
  gap:1rem;
  padding:.75rem 1.125rem;
  border-bottom:1px solid #f3f4f6;
  align-items:center;
  text-decoration:none;
  color:inherit;
  transition:background-color .15s;
}
@media(max-width:767px){
  .church-list-row{grid-template-columns:1fr auto;gap:.5rem}
  .church-list-row .col-city,.church-list-row .col-diocese{display:none}
}
.church-list-row:last-child{border-bottom:none}
.church-list-row:hover{background:rgba(243,239,224,.5)}
.church-list-header{background:rgba(243,239,224,.7);border-bottom:2px solid #e7e5e4}
.church-list-header .col-name,.church-list-header .col-city,
.church-list-header .col-diocese,.church-list-header .col-id{
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;
}
.col-name{font-weight:600;font-size:.9375rem;color:#111827;line-height:1.35;min-width:0;word-break:break-word}
.col-city{font-size:.875rem;color:#4b5563}
.col-diocese{font-size:.8125rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.col-id{font-size:.75rem;color:#d1d5db;font-family:monospace;text-align:right;white-space:nowrap}
.col-arrow{color:#7D3C4A;flex-shrink:0}
.col-arrow svg{width:14px;height:14px}

/* Hidden until view toggle */
.view-is-list .church-list-grid{display:none}
.view-is-grid .church-list-table{display:none}
.view-is-grid .church-list-grid{display:grid}

/* =============================================
   PAGINACJA
   ============================================= */
.cat-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e7e5e4}
.cat-pag-info{font-size:.875rem;color:#6b7280}
.pag-nav{display:flex;gap:.25rem}
.pag-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:36px;height:36px;padding:0 .5rem;
  border:1.5px solid #e5e7eb;border-radius:.425rem;
  font-size:.875rem;font-weight:500;color:#374151;
  background:#fff;text-decoration:none;
  transition:background-color .15s,border-color .15s,color .15s;
}
.pag-btn:hover{background:#f3f4f6;border-color:#d1d5db}
.pag-btn.active{background:#7D3C4A;border-color:#7D3C4A;color:#fff}
.pag-btn.disabled{opacity:.4;pointer-events:none}
.pag-btn svg{width:14px;height:14px}
.pag-dots{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:#9ca3af;font-size:.875rem}

/* =============================================
   EMPTY STATE
   ============================================= */
.cat-empty{
  text-align:center;padding:4rem 2rem;
  background:#fff;border-radius:.75rem;border:1px solid #e7e5e4;
}
.cat-empty svg{width:64px;height:64px;color:#e5e7eb;margin:0 auto 1.25rem}
.cat-empty h3{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:1.25rem;color:#374151;margin-bottom:.5rem}
.cat-empty p{font-size:.9375rem;color:#6b7280;margin-bottom:1.5rem}

/* =============================================
   RESPONSYWNE - mobilny sidebar
   ============================================= */
@media(max-width:1023px){
  .cat-sidebar-mobile{
    background:#fff;border-radius:.75rem;border:1px solid #e7e5e4;
    padding:1rem;margin-bottom:1.5rem;
  }
  .cat-widget{border:none;margin-bottom:0;background:transparent}
  .cat-widget:not(:last-child){border-bottom:1px solid #f3f4f6;padding-bottom:.75rem;margin-bottom:.75rem}
  .cat-widget-head{background:transparent;padding:.5rem 0;border-bottom:none}
  .cat-widget-title{font-size:.875rem}
}
