/* ============================================================
   CHURCH DETAIL PAGE STYLES
   Ładowany tylko na kosciol.php (nie blokuje innych stron)
   ============================================================ */

/* BREADCRUMBS */
.breadcrumbs{padding:.75rem 0;margin-bottom:0;border-bottom:1px solid #e7e5e4}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .375rem}
.breadcrumbs li{display:flex;align-items:center;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}

/* DETAIL LAYOUT */
.detail-main-wrap{padding-top:2rem;padding-bottom:3rem}
.detail-grid{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:1024px){.detail-grid{grid-template-columns:1fr 300px}}
.detail-main{min-width:0}
.detail-sidebar-wrap{min-width:0;display:none}
@media(min-width:1024px){.detail-sidebar-wrap{display:block}}

/* CHURCH HERO IMAGE */
.church-hero{position:relative;width:100%;border-radius:.75rem;overflow:hidden;background:#e7e5e4;margin-bottom:1.75rem;contain:layout}
.church-hero-img{position:relative;width:100%;padding-bottom:50%;overflow:hidden}
.church-hero-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;aspect-ratio:2/1}
.church-hero-badge{position:absolute;top:1rem;right:1rem;background:rgba(255,255,255,.92);color:#7D3C4A;font-size:.6875rem;font-weight:700;padding:.375rem 1rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);box-shadow:0 1px 4px rgba(0,0,0,.1);z-index:1}

/* CHURCH INFO HEADER */
.church-info-header{margin-bottom:1.75rem}
.church-main-title{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:clamp(1.5rem,3.5vw,2rem);color:#111827;line-height:1.2;margin-bottom:.375rem}
.church-subtitle{font-size:.9375rem;color:#6b7280;margin-bottom:.75rem;font-style:italic}
.church-detail-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem}

/* SECTION HEADER */
.church-section{margin-bottom:2rem}
.church-section-title{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:1.125rem;color:#111827;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid rgba(125,60,74,.15);display:flex;align-items:center;gap:.5rem}
.church-section-title svg{width:18px;height:18px;flex-shrink:0;color:#7D3C4A}

/* CHURCH DATA TABLE */
.church-data-card{background:#fff;border-radius:.75rem;border:1px solid #e7e5e4;overflow:hidden;margin-bottom:2rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.church-data-head{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:1rem;color:#111827;padding:.875rem 1.25rem;border-bottom:2px solid #7D3C4A;background:rgba(125,60,74,.04);display:flex;align-items:center;gap:.5rem}
.church-data-head svg{width:18px;height:18px;flex-shrink:0;color:#7D3C4A}
.data-row{display:grid;grid-template-columns:140px 1fr;gap:.75rem;padding:.6875rem 1.25rem;border-bottom:1px solid #f9fafb;align-items:baseline}
@media(max-width:639px){.data-row{grid-template-columns:1fr;gap:.125rem}}
.data-row:last-child{border-bottom:none}
.data-row:hover{background:rgba(243,239,224,.35)}
.data-label{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;line-height:1.5}
.data-value{font-size:.9375rem;color:#374151;line-height:1.5;word-break:break-word}
.data-value a{color:#7D3C4A;text-decoration:none}
.data-value a:hover{text-decoration:underline}
.data-value .badge-id{display:inline-flex;align-items:center;background:#EAE5D6;color:#4A3B32;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:.25rem;font-family:monospace}

/* DESCRIPTION */
.church-description{font-size:.9375rem;color:#4b5563;line-height:1.8}
.church-description p{margin-bottom:1em}
.church-description p:last-child{margin-bottom:0}

/* MAP */
.map-section{margin-bottom:2rem}
.map-container{
  width:100%;height:420px;
  border-radius:.75rem;overflow:hidden;
  border:1px solid #e7e5e4;
  background:#e8e0d0;
  contain:strict;position:relative;
}
.map-container #church-map{width:100%;height:100%}
.map-no-js{display:flex;align-items:center;justify-content:center;height:100%;flex-direction:column;gap:.75rem;color:#6b7280;font-size:.875rem;padding:2rem;text-align:center}
.map-no-js a{color:#7D3C4A;font-weight:600}
.map-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}
.btn-navigate{display:inline-flex;align-items:center;gap:.5rem;background-color:#7D3C4A;color:#fff;padding:.75rem 1.5rem;border-radius:9999px;font-weight:600;font-size:.9375rem;box-shadow:0 2px 8px rgba(125,60,74,.3);transition:background-color .15s,transform .15s;white-space:nowrap;text-decoration:none}
.btn-navigate:hover{background-color:#5e2d38;transform:translateY(-1px)}
.btn-navigate svg{width:18px;height:18px;flex-shrink:0}
.btn-navigate-osm{display:inline-flex;align-items:center;gap:.5rem;background-color:#fff;color:#374151;padding:.75rem 1.5rem;border-radius:9999px;font-weight:500;font-size:.9375rem;border:1.5px solid #d1d5db;transition:border-color .15s,color .15s;white-space:nowrap;text-decoration:none}
.btn-navigate-osm:hover{border-color:#7D3C4A;color:#7D3C4A}
.btn-navigate-osm svg{width:16px;height:16px;flex-shrink:0}

/* FAQ – CSS-only accordion */
.faq-list{display:flex;flex-direction:column;gap:.625rem}
.faq-item{background:#fff;border:1px solid #e7e5e4;border-radius:.625rem;overflow:hidden;transition:border-color .15s}
.faq-item[open]{border-color:rgba(125,60,74,.3);box-shadow:0 2px 8px rgba(125,60,74,.08)}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.125rem;font-weight:600;font-size:.9375rem;color:#374151;cursor:pointer;list-style:none;gap:1rem;transition:color .15s,background-color .15s;user-select:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'';flex-shrink:0;width:20px;height:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237D3C4A' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;transition:transform .25s ease}
.faq-item[open] summary::after{transform:rotate(180deg)}
.faq-item summary:hover{color:#7D3C4A;background-color:rgba(243,239,224,.5)}
.faq-item[open] summary{color:#7D3C4A;border-bottom:1px solid #f3f4f6}
.faq-answer{padding:.875rem 1.125rem;font-size:.9375rem;color:#4b5563;line-height:1.7}
.faq-answer p{margin-bottom:.625em}
.faq-answer p:last-child{margin-bottom:0}

/* REPORT ERROR */
.report-section{padding:1.25rem;background:rgba(254,242,242,.6);border:1px solid rgba(220,38,38,.12);border-radius:.75rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.report-section p{font-size:.875rem;color:#6b7280;flex:1;line-height:1.6;min-width:200px}
.btn-report-error{display:inline-flex;align-items:center;gap:.5rem;background:none;border:1.5px solid rgba(220,38,38,.4);color:#dc2626;padding:.625rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s;cursor:pointer;white-space:nowrap;flex-shrink:0}
.btn-report-error:hover{background:rgba(220,38,38,.06);border-color:#dc2626}
.btn-report-error svg{width:16px;height:16px;flex-shrink:0}

/* MODAL ZGŁOSZENIA BŁĘDU */
.modal-overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:1rem}
.modal-overlay.is-open{display:flex}
.modal-box{background:#fff;border-radius:1rem;padding:2rem;width:100%;max-width:480px;box-shadow:0 20px 60px rgba(0,0,0,.25);position:relative;max-height:90vh;overflow-y:auto}
.modal-title{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:1.25rem;color:#111827;margin-bottom:.5rem}
.modal-desc{font-size:.875rem;color:#6b7280;margin-bottom:1.5rem;line-height:1.6}
.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:none;border:none;cursor:pointer;color:#9ca3af;transition:background-color .15s,color .15s}
.modal-close:hover{background:#f3f4f6;color:#374151}
.modal-form-group{margin-bottom:1rem}
.modal-form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.375rem}
.modal-form-group select,.modal-form-group textarea,.modal-form-group input[type=email]{width:100%;padding:.625rem .875rem;border:1.5px solid #d1d5db;border-radius:.5rem;font-size:.875rem;color:#374151;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit;appearance:none;-webkit-appearance:none}
.modal-form-group select{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 .75rem center;padding-right:2.25rem}
.modal-form-group select:focus,.modal-form-group textarea:focus,.modal-form-group input[type=email]:focus{border-color:#7D3C4A;box-shadow:0 0 0 3px rgba(125,60,74,.08)}
.modal-form-group textarea{resize:vertical;min-height:100px}
.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}
.btn-modal-cancel{padding:.625rem 1.25rem;border-radius:9999px;font-size:.875rem;font-weight:500;color:#6b7280;border:1.5px solid #d1d5db;cursor:pointer;transition:border-color .15s;background:none}
.btn-modal-cancel:hover{border-color:#9ca3af;color:#374151}
.btn-modal-submit{padding:.625rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:600;background:#7D3C4A;color:#fff;border:none;cursor:pointer;transition:background-color .15s}
.btn-modal-submit:hover{background:#5e2d38}

/* SIDEBAR WIDGETS */
.sidebar-widget{background:#fff;border-radius:.75rem;border:1px solid #e7e5e4;overflow:hidden;margin-bottom:1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.sidebar-widget-title{font-family:'Merriweather',Georgia,serif;font-weight:700;font-size:.9375rem;color:#111827;padding:.75rem 1rem;border-bottom:1px solid #f3f4f6;background:rgba(243,239,224,.4)}
.sidebar-widget-body{padding:.875rem 1rem}
.related-item{display:flex;gap:.625rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid #f9fafb}
.related-item:last-child{border-bottom:none;padding-bottom:0}
.related-item-img{width:52px;height:38px;border-radius:.375rem;background:#e7e5e4;flex-shrink:0;overflow:hidden}
.related-item-img img{width:100%;height:100%;object-fit:cover}
.related-item-name{font-size:.875rem;font-weight:600;color:#374151;line-height:1.3}
.related-item-name a{color:inherit;transition:color .15s}
.related-item-name a:hover{color:#7D3C4A}
.related-item-city{font-size:.8125rem;color:#9ca3af;margin-top:.125rem}
.info-row{display:flex;flex-direction:column;gap:.2rem;padding:.5rem 0;border-bottom:1px solid #f9fafb}
.info-row:last-child{border-bottom:none;padding-bottom:0}
.info-row dt{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.info-row dd{font-size:.875rem;color:#374151;font-weight:500}
.info-row dd a{color:#7D3C4A}
.info-row dd a:hover{text-decoration:underline}
.share-btns{display:flex;gap:.5rem;flex-wrap:wrap}
.btn-share{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:500;border:1.5px solid #e5e7eb;color:#374151;transition:border-color .15s,color .15s;text-decoration:none}
.btn-share:hover{border-color:#7D3C4A;color:#7D3C4A}
.btn-share svg{width:14px;height:14px;flex-shrink:0}
