/*
Theme Name: Kamenica.Net Community
Theme URI: https://kamenica.net
Author: Kamenica.Net
Description: Multilingual nonprofit and local services portal for Kamenica. Albanian, English and Serbian; public services, local service finder, transport, projects and events.
Version: 1.30
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kamenica-net
License: GPL-2.0-or-later
*/
:root{--navy:#102944;--blue:#1167a5;--red:#f04456;--mint:#159c84;--bg:#f4f7fb;--muted:#64748b;--line:#e2e8f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:var(--bg);color:#15283c;line-height:1.55}a{text-decoration:none;color:inherit}a:hover{color:var(--red)}button,input,select{font:inherit}.container{width:min(1180px,92%);margin:auto}.topbar{background:#102944;color:#fff;font-size:13px;padding:7px 0}.topbar .container,.nav-inner,.nav-links,.brand,.lang-links,.section-head,.card-footer,.filters,.meta-line{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar a{color:#fff}.site-header{background:#fff;box-shadow:0 3px 18px #1029440c;position:sticky;top:0;z-index:30}.nav-inner{min-height:82px}.brand{justify-content:flex-start;font-size:23px;font-weight:800;color:var(--navy);white-space:nowrap}.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted)}.mark{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(130deg,#0d57a3 30%,#1fc8c0 70%);font-size:30px}.nav-links{flex-wrap:wrap;justify-content:flex-end;font-size:14px;font-weight:700}.nav-links a{padding:8px 3px}.lang-links{gap:5px}.lang-links a{font-size:12px;padding:5px 8px;border-radius:8px;background:#f1f5f9}.lang-links a.active{background:var(--red);color:#fff}.menu-toggle{display:none;border:0;background:#f1f5f9;border-radius:10px;padding:9px 12px}.hero{background:radial-gradient(circle at 80% 20%,#247da8 0,transparent 36%),linear-gradient(120deg,#0e2d4d,#0f5779);color:white;padding:76px 0 80px;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.4fr .8fr;gap:35px;align-items:center}.eyebrow{color:#90e4dc;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;font-size:13px}.hero h1{font-size:clamp(35px,5vw,65px);line-height:1.07;margin:10px 0 20px;letter-spacing:-1.5px}.hero p{font-size:19px;max-width:650px;color:#e4edf5}.hero-panel{background:#ffffff17;border:1px solid #ffffff3d;border-radius:22px;padding:25px;backdrop-filter:blur(6px)}.hero-panel a{display:block;padding:13px;border-bottom:1px solid #ffffff28;font-weight:650}.hero-panel a:last-child{border:0}.hero-panel span{margin-right:12px}.searchbar{display:flex;gap:8px;background:#fff;border-radius:14px;padding:7px;max-width:670px;box-shadow:0 9px 24px #0002}.searchbar input{flex:1;min-width:0;border:0;outline:0;padding:10px 13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--red);color:#fff;padding:12px 19px;font-weight:750;cursor:pointer}.btn:hover{background:#d93448;color:#fff}.btn.secondary{background:#eaf4fa;color:var(--blue)}.btn.outline{background:transparent;border:1px solid var(--red);color:var(--red)}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px;margin-top:-32px;position:relative}.quick{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px 12px;text-align:center;box-shadow:0 9px 24px #10294410;font-size:13px;font-weight:800}.quick .ico{font-size:30px;display:block;margin-bottom:8px}.section{padding:53px 0}.section.alt{background:#fff}.section-head{margin-bottom:24px;align-items:end}.section h2{font-size:clamp(23px,3vw,31px);margin:0;color:var(--navy);line-height:1.2}.section-desc{color:var(--muted);margin:8px 0 0}.section-head>a{color:var(--red);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 16px #10294408}.card-body{padding:19px}.card h3{margin:7px 0;font-size:19px;color:var(--navy)}.card p{color:#526479;margin:6px 0 14px}.card .emoji{font-size:37px}.card .tag{font-size:12px;color:var(--red);font-weight:800}.card-footer{font-size:13px;color:var(--muted);margin-top:16px}.card img{width:100%;height:185px;object-fit:cover}.pill{display:inline-block;border-radius:99px;background:#e9f7f3;color:#087963;font-size:12px;padding:4px 10px;font-weight:750}.filter-wrap{background:#fff;border:1px solid var(--line);padding:20px;border-radius:18px;margin-bottom:20px}.filters{flex-wrap:wrap;justify-content:flex-start}.filters input,.filters select{border:1px solid #d9e2ec;border-radius:10px;padding:12px;background:#fff;min-width:170px;flex:1}.small-note{font-size:13px;color:var(--muted);margin-top:13px}.details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.details span{font-size:13px;color:var(--muted)}.details strong{display:block;color:var(--navy)}.route-list{display:grid;gap:12px}.route{display:grid;grid-template-columns:1.1fr 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.route strong{color:var(--navy)}.route small{color:var(--muted);display:block}.info-box{padding:19px;background:#fff8e8;border:1px solid #f5e1b2;border-radius:12px;color:#74521d}.footer{background:#0f243c;color:#d6e1ef;padding:46px 0 18px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer h3{color:#fff;margin-top:0}.footer a{display:block;margin:6px 0}.footer-bottom{border-top:1px solid #ffffff28;margin-top:30px;padding-top:20px;font-size:13px}.page-heading{padding:40px 0 15px}.page-heading h1{font-size:35px;margin:0}.content-panel{background:white;border:1px solid var(--line);border-radius:16px;padding:28px;margin-bottom:45px}.empty{padding:24px;background:#fff;border:1px dashed #ccd6e2;border-radius:12px;color:var(--muted)}.notice{background:#edf8ff;border-left:4px solid var(--blue);padding:14px 18px;border-radius:8px;margin:15px 0}.sr-only{position:absolute;left:-9999px}#mobile-nav{display:none}.post-content{max-width:790px}.post-content img{max-width:100%;height:auto}@media(max-width:900px){.nav-links{display:none}.menu-toggle{display:block}.nav-inner{min-height:69px}#mobile-nav.open{display:flex;flex-direction:column;gap:8px;padding:15px 4%;background:#fff}#mobile-nav a{padding:8px}.hero-inner{grid-template-columns:1fr}.hero-panel{display:none}.quick-grid{grid-template-columns:repeat(3,1fr)}.grid,.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}.route{grid-template-columns:1fr auto}}@media(max-width:550px){.topbar{font-size:11px}.brand{font-size:18px}.mark{width:38px;height:38px}.hero{padding:50px 0 62px}.hero p{font-size:16px}.quick-grid{grid-template-columns:repeat(3,1fr);gap:8px}.quick{padding:16px 5px;font-size:11px}.quick .ico{font-size:25px}.section{padding:35px 0}.grid,.grid.four{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.section-head{align-items:flex-start}.route{grid-template-columns:1fr}.searchbar .btn{padding:11px}.details{grid-template-columns:1fr}}

/* 1.1: original Kamenica logo and clickable need-based service tiles */
.brand-logo{width:49px;height:55px;object-fit:contain;flex:none;display:block}
.service-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:22px 0 25px}
.service-category-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:137px;padding:18px 12px;background:#fff;border:1px solid var(--line);border-radius:19px;text-align:center;font-weight:800;font-size:14px;line-height:1.3;color:var(--navy);box-shadow:0 8px 22px #1029440d;transition:transform .18s,border-color .18s,box-shadow .18s}
.service-category-tile:hover,.service-category-tile:focus-visible{transform:translateY(-3px);border-color:#2d8dd2;box-shadow:0 12px 25px #10294422;color:var(--blue);outline-offset:3px}
.service-category-tile.selected{border:2px solid var(--blue);background:#eff8ff}
.service-category-icon{font-size:35px;line-height:1.2}
.service-category-arrow{position:absolute;right:12px;bottom:8px;color:var(--blue);font-size:21px}
@media(max-width:900px){.service-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.brand-logo{width:38px;height:43px}.service-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-category-tile{min-height:115px;padding:13px 8px;font-size:12px}.service-category-icon{font-size:29px}}

/* Public institution directory v1.2 */
.kn-crumb{margin:8px 0 20px;color:#607087}.kn-crumb a{color:#1768b4}.kn-group-title{margin:32px 0 14px}.kn-public-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:14px;margin-bottom:26px}.kn-public-item{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #e5edf5;border-radius:15px;padding:15px;text-decoration:none;color:#122c4c;box-shadow:0 5px 16px rgba(20,50,80,.05)}.kn-public-item:hover{border-color:#2d8cdb;transform:translateY(-2px)}.kn-public-item small{display:block;margin-top:6px;color:#64748b}.kn-public-thumb{width:58px;height:58px;display:grid;place-items:center;border-radius:12px;background:#edf6ff;font-size:26px;overflow:hidden;flex-shrink:0}.kn-public-thumb img{width:100%;height:100%;object-fit:cover}.kn-public-item .service-category-arrow{margin-left:auto}.kn-institution-detail{margin-bottom:50px}.kn-institution-head{display:flex;gap:20px;align-items:center}.kn-institution-head img{width:110px;height:110px;object-fit:contain}.kn-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:24px 0}.kn-detail-grid>div{background:#f5f9fd;border-radius:12px;padding:18px}.kn-detail-grid p{margin:9px 0 0}.kn-action-row{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.notice{background:#eff7ff;border-left:4px solid #2487c9;padding:18px;border-radius:10px;margin:18px 0}.notice a{color:#1768b4}

.public-grid{margin-bottom:35px}.kn-public-list{margin-bottom:35px}.kn-detail-grid strong{color:var(--navy)}.kn-public-item:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* v1.6 service subcategory navigation */
.kn-service-subnav{margin:24px 0 28px;padding:24px;border:1px solid #e4ebf4;background:#f7faff;border-radius:18px}.kn-service-subnav h2{margin:0 0 12px}.kn-service-subnav .service-category-grid{margin-top:18px}.kn-service-subnav .kn-crumb{margin-bottom:12px}

.kn-route-inline{margin:24px 0}.kn-service-subnav{margin:22px 0 28px}.kn-service-subnav .service-category-grid{margin-top:18px}

/* Public institutions overview v1.12 */
.kn-public-overview{margin:12px 0 26px}.kn-public-overview>h2{font-size:clamp(22px,3vw,29px);color:var(--navy);margin:0 0 10px}.kn-public-overview>p{max-width:960px;color:#526479}.kn-public-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.kn-public-overview-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:22px}.kn-public-overview-card h3{color:var(--navy);margin:8px 0}.kn-public-overview-card p{color:#526479;margin:0}.kn-public-overview-icon{font-size:28px}.kn-public-help,.kn-public-sources{border-radius:14px;padding:19px 22px;margin:16px 0}.kn-public-help{background:#edf8ff;border-left:4px solid var(--blue)}.kn-public-sources{background:#fff;border:1px solid var(--line)}.kn-public-help h3,.kn-public-sources h3{margin:0 0 8px;color:var(--navy)}.kn-public-help p,.kn-public-sources p{margin:0;color:#526479}.kn-public-source-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.kn-public-source-links a{color:var(--blue);background:#edf8ff;padding:8px 12px;border-radius:9px;font-weight:700}.kn-public-choose{margin:30px 0 10px!important}@media(max-width:650px){.kn-public-overview-grid{grid-template-columns:1fr}.kn-public-overview-card{padding:18px}}

/* v1.14 – origin/destination route finder */
.kn-route-finder{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;background:#f2f7fc;border:1px solid #dce6f1;padding:20px;border-radius:16px;margin:22px 0 12px}.kn-route-finder label{display:flex;flex-direction:column;gap:8px;font-weight:700}.kn-route-finder select{width:100%;min-height:48px;padding:10px;border:1px solid #cbd7e6;border-radius:10px;background:#fff}.kn-route-finder button{min-height:48px}@media(max-width:680px){.kn-route-finder{grid-template-columns:1fr}}

.kn-ngo-icon{display:block;width:45px;height:45px;object-fit:contain;margin:auto}

/* v1.17 OJQ Kamenica submenu */
.kn-ngo-subnav{margin:0 0 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,250px));gap:14px}.kn-ngo-subnav-link{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 5px 16px #10294408}.kn-ngo-subnav-icon{font-size:28px}.kn-ngo-subnav-link strong{flex:1}.kn-ngo-subnav-link:hover{border-color:var(--blue);color:var(--blue)}

/* v1.18: match NGO logo to other homepage quick-access icons */
.quick .kn-ngo-icon{display:block;width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;object-fit:contain;margin:0 auto 8px;flex:none;}
.quick{min-width:0;overflow:hidden;}
@media(max-width:550px){.quick .kn-ngo-icon{width:25px!important;height:25px!important;max-width:25px!important;max-height:25px!important;}}

/* v1.19: enforce identical card/icon geometry for every homepage shortcut. */
.quick-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.quick-grid>.quick{min-width:0;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:16px 8px;overflow:hidden;line-height:1.3}
.quick-grid .kn-quick-icon{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;min-width:34px;min-height:34px;max-width:34px;max-height:34px;overflow:hidden}
.quick-grid .kn-quick-icon .ico{display:block;font-size:30px;line-height:34px;margin:0;width:34px;height:34px}
.quick-grid .kn-quick-icon img.kn-ngo-icon{display:block!important;position:static!important;float:none!important;width:30px!important;height:30px!important;min-width:0!important;min-height:0!important;max-width:30px!important;max-height:30px!important;object-fit:contain!important;margin:0!important;padding:0!important;transform:none!important;flex:0 0 30px!important}
.quick-grid .kn-quick-label{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;text-align:center}
@media(max-width:900px){.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:550px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-grid>.quick{min-height:106px}.quick-grid .kn-quick-icon{flex-basis:30px;width:30px;height:30px}.quick-grid .kn-quick-icon .ico{font-size:26px;line-height:30px;width:30px;height:30px}.quick-grid .kn-quick-icon img.kn-ngo-icon{width:26px!important;height:26px!important;max-width:26px!important;max-height:26px!important;flex-basis:26px!important}}

/* v1.20: force identical centered icon-over-label layout for every homepage tile */
body .quick-grid > a.quick{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;}
body .quick-grid > a.quick > .kn-quick-icon{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;position:static!important;float:none!important;margin:0 auto!important;width:34px!important;height:34px!important;flex:0 0 34px!important;}
body .quick-grid > a.quick > .kn-quick-label{display:block!important;position:static!important;float:none!important;clear:both!important;order:2!important;width:100%!important;margin:0!important;text-align:center!important;line-height:1.35!important;}
body .quick-grid > a.quick > .kn-quick-icon img.kn-ngo-icon{display:block!important;margin:auto!important;vertical-align:middle!important;width:30px!important;height:30px!important;}
@media(max-width:550px){body .quick-grid > a.quick > .kn-quick-icon{width:30px!important;height:30px!important;flex-basis:30px!important}body .quick-grid > a.quick > .kn-quick-icon img.kn-ngo-icon{width:26px!important;height:26px!important}}

/* v1.21: one explicit vertical grid for every homepage tile; avoids flex overrides */
body .quick-grid > a.quick{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:36px auto!important;align-content:center!important;justify-items:center!important;align-items:center!important;gap:8px!important;text-align:center!important;min-width:0!important;}
body .quick-grid > a.quick > .kn-quick-icon{grid-column:1!important;grid-row:1!important;display:grid!important;place-items:center!important;align-self:center!important;justify-self:center!important;margin:0!important;padding:0!important;line-height:1!important;}
body .quick-grid > a.quick > .kn-quick-label{grid-column:1!important;grid-row:2!important;display:block!important;align-self:start!important;justify-self:stretch!important;margin:0!important;text-align:center!important;line-height:1.3!important;}
body .quick-grid > a.quick img.kn-ngo-icon{display:block!important;width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;object-fit:contain!important;margin:0 auto!important;}

/* v1.22: retain original About Us content and keep Projects beneath it */
.kn-about-content{margin-bottom:24px}.kn-about-content img{max-width:100%;height:auto}

/* v1.24: homepage "Shërbime sipas nevojës" has two equal cards per mobile row.
   Scope only this grid; other lists and category screens remain unchanged. */
.kn-home-service-grid > a.card{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;min-height:145px;padding:16px 10px;}
.kn-home-service-grid > a.card .emoji{line-height:1.2;font-size:32px;}
.kn-home-service-grid > a.card h3{font-size:16px;line-height:1.3;margin:3px 0;overflow-wrap:anywhere;}
.kn-home-service-grid > a.card .tag{font-size:12px;}
@media(max-width:550px){
  body .kn-home-service-grid.grid.four{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body .kn-home-service-grid.grid.four > a.card{width:auto;max-width:100%;min-height:130px;padding:14px 8px;margin:0;}
  .kn-home-service-grid > a.card h3{font-size:14px;}
  .kn-home-service-grid > a.card .emoji{font-size:29px;}
}

/* v1.30: Facebook community page */
.kn-facebook-panel{text-align:center;max-width:780px;margin-left:auto;margin-right:auto;padding:40px 26px}
.kn-facebook-panel h2{color:var(--navy);font-size:clamp(22px,3vw,30px)}
.kn-facebook-panel p{color:var(--muted);max-width:540px;margin:12px auto 26px}
.kn-facebook-symbol{font-size:56px;line-height:1.2}
