.camp-verification-note { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-bottom: 22px; padding: 16px 18px; border-left: 4px solid var(--cyan); background: #eef8f8; color: #536c75; }
.camp-verification-note strong { color: var(--navy); }
.camp-verification-note p { max-width: 780px; margin: 6px 0 9px; line-height: 1.5; }
.camp-verification-note nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.camp-verification-note nav a { color: var(--blue); font-size: 11px; font-weight: 800; }
body[data-page="camps"] .camp-verification-note #campVerificationCount{display:none}
body[data-page="camps"]>.internal-aid-zones{display:none!important}
body[data-page="camps"]>.topbar .desktop-nav{display:none!important}
body[data-page="camps"] .portal-hero{height:0;min-height:0;margin:0;padding:0;border:0;overflow:hidden}
body[data-page="camps"] .portal-hero>.global-page-breadcrumbs{display:none!important}
body[data-page="camps"] .camp-map-section,body[data-page="camps"] .camp-map-section.is-soft-stuck{position:relative;top:auto;z-index:1;box-shadow:none;transform:none}
body[data-page="camps"] .camp-map-section.is-soft-stuck .camp-results-map{height:520px}
@media(max-width:800px){body[data-page="camps"] .camp-map-section.is-soft-stuck .camp-results-map{height:360px}}
body[data-page="camps"] .directory-grid { grid-template-columns: 1fr; }
.camp-record { display: grid; grid-template-columns: 190px minmax(230px, 1fr) minmax(360px, 1.35fr) auto; align-items: center; gap: 20px; padding: 20px; border: 1px solid var(--line); border-left: 4px solid #d4dde0; }
.camp-record.location-checked { border-left-color: #1d9c73; }
.camp-record.non-site-record { border-left-color: #bd7a28; background: #fffaf2; }
.camp-record-media { display: grid; width: 190px; height: 112px; place-items: center; overflow: hidden; border-radius: 4px; background: #edf3f4; }
.camp-record-media img { width: 100%; height: 100%; object-fit: cover; }
.camp-record-media > img[src*="humanitarian"] { width: 52px; height: 52px; object-fit: contain; }
.current-camp-record { border-left-color: var(--blue); background: #fbfefe; }
.camp-record-main small { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.camp-record-main h2 { margin: 4px 0; font-size: 20px; }
.camp-record-main p { margin: 0; color: #60747c; }
.camp-record-main .camp-warning { margin-top: 6px; color: #a14c1b; font-size: 12px; font-weight: 700; }
.camp-agency { display: inline-block; margin-top: 7px; padding: 4px 7px; border-radius: 3px; background: #e7f4f6; color: var(--blue); font-size: 10px; font-weight: 800; }
.camp-record dl { display: grid; grid-template-columns: repeat(4, minmax(85px, 1fr)); gap: 12px; margin: 0; }
.camp-record dl div { padding-left: 12px; border-left: 1px solid var(--line); }
.camp-record dt { color: #71848b; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.camp-record dd { margin: 5px 0 0; color: var(--navy); font-size: 13px; font-weight: 800; }
.camp-record dd small { display: block; margin-top: 3px; color: #71848b; font-size: 9px; }
.camp-record > a { color: var(--blue); font-size: 12px; font-weight: 800; white-space: nowrap; }
@media (max-width: 1050px) { .camp-record { grid-template-columns: 190px 1fr auto; } .camp-record dl { grid-column: 1 / -1; } }
@media (max-width: 650px) { .camp-verification-note { align-items: flex-start; flex-direction: column; } .camp-record { grid-template-columns: 1fr; } .camp-record-media { width: 100%; height: 180px; } .camp-record dl { grid-column: 1; grid-template-columns: repeat(2, 1fr); } .camp-record > a { grid-column: 1; } }
body[data-page="camps"] .camp-results-head { margin-top: 8px; padding-right: 20px; padding-left: 20px; background: #f7fafb; }
body[data-page="camps"] .camp-record.sql-result-row { grid-template-columns: 230px minmax(360px, 1fr); align-items: start; min-height: 205px; padding: 24px 20px; border: 0; border-bottom: 1px solid var(--line); border-left: 4px solid #d4dde0; border-radius: 0; background: #fff; }
body[data-page="camps"] .camp-record.sql-result-row.location-checked { border-left-color: #1d9c73; }
body[data-page="camps"] .camp-record.sql-result-row.non-site-record { border-left-color: #bd7a28; background: #fffaf2; }
body[data-page="camps"] .camp-record .sql-result-country { align-self: start; }
body[data-page="camps"] .camp-record .sql-country img { width: 146px; height: 146px; }
body[data-page="camps"] .camp-record .sql-result-description > small { color: var(--blue); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
body[data-page="camps"] .camp-record .sql-result-description h2 { margin: 4px 0 10px; }
body[data-page="camps"] .camp-record .sql-country .detention-site-icon { object-fit: contain; background: transparent; }
body[data-page="camps"] .camp-record .sql-result-description h2 .detention-site-icon { width: 25px; height: 25px; margin-right: 8px; object-fit: contain; vertical-align: -5px; }
.worldsaid-leaflet-icon.detention-location-marker img { width: 100%; height: 100%; object-fit: contain; }
body[data-page="camps"] .worldsaid-crisis-geopin img{opacity:0!important}
body[data-page="camps"] .worldsaid-crisis-geopin::before{content:"";position:absolute;width:17px;height:17px;background:#fff;transform:rotate(45deg);-webkit-mask:url("imported-styles/geolocation-markers/camp.png") center/contain no-repeat;mask:url("imported-styles/geolocation-markers/camp.png") center/contain no-repeat}
body[data-page="camps"] .detention-location-marker .worldsaid-crisis-geopin::before{background:#ffd23f;-webkit-mask-image:url("imported-styles/detention-icons/detainment.png");mask-image:url("imported-styles/detention-icons/detainment.png")}
.camp-map-key{position:absolute;z-index:700;top:12px;right:12px;display:grid;gap:7px;min-width:190px;padding:10px 12px;border:1px solid rgba(23,50,63,.2);border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 7px 20px rgba(23,50,63,.18);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);pointer-events:none}
.camp-map-key>strong{color:#17323f;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.camp-map-key>span{display:flex;align-items:center;gap:9px;color:#324b56;font-size:10px;font-weight:800;line-height:1.25}
.camp-key-icon{display:grid;flex:0 0 25px;width:25px;height:25px;border:2px solid #fff;border-radius:50%;place-items:center;box-shadow:0 2px 5px rgba(0,31,47,.35)}.camp-key-icon img{width:14px;height:14px;object-fit:contain;filter:brightness(0) invert(1)}.camp-key-general{background:#18a17a}.camp-key-refugee{background:#7656c8}.camp-key-reception{background:#168bd2}.camp-key-detention{background:#283747}.camp-key-detention img{filter:brightness(0) saturate(100%) invert(88%) sepia(94%) saturate(1224%) hue-rotate(325deg) brightness(107%) contrast(104%)}
@media(max-width:560px){.camp-map-key{top:8px;right:8px;min-width:0;padding:7px 8px}.camp-map-key>strong{display:none}.camp-map-key>span{font-size:9px}.camp-key-icon{flex-basis:21px;width:21px;height:21px}.camp-key-icon img{width:12px;height:12px}}
.camp-breadcrumbs{position:relative;z-index:20;width:100%;margin:0;padding:8px clamp(12px,3vw,42px);border-top:1px solid #d9e4e7;border-bottom:1px solid #d9e4e7;background:#fff}
.camp-breadcrumbs ol{justify-content:flex-start;margin:0}
body[data-page="camps"] .camp-search-tools,body[data-page="camps"] .camp-search-tools label,body[data-page="camps"] .camp-search-tools input,body[data-page="camps"] .camp-search-tools select,body[data-page="camps"] .camp-search-tools strong,body[data-page="camps"] .camp-verification-note,body[data-page="camps"] .camp-results-head{font-family:"Open Sans",Arial,sans-serif;font-size:8px;font-weight:700;line-height:1.35;letter-spacing:.2px;text-transform:uppercase}
body[data-page="camps"] .camp-search-tools input::placeholder{color:#687d85;font:inherit;letter-spacing:inherit;text-transform:uppercase;opacity:1}
body[data-page="camps"] .camp-breadcrumbs{position:sticky;top:0;z-index:82;background:rgba(255,255,255,.94);box-shadow:0 6px 16px rgba(23,50,63,.07);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background-color .25s ease,box-shadow .25s ease}
body[data-page="camps"] .camp-search-tools{position:sticky;z-index:81;top:32px;grid-template-columns:auto minmax(220px,1fr) minmax(190px,.7fr) minmax(190px,.7fr);margin-bottom:18px;padding:10px 16px 8px;border-radius:0 0 8px 8px;background:rgba(255,255,255,.91);box-shadow:0 8px 20px rgba(23,50,63,.08);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);transition:background-color .25s ease,box-shadow .25s ease}
body[data-page="camps"] .portal-content{padding-top:0}
body[data-page="camps"] .camp-search-tools{justify-content:start;grid-template-columns:auto minmax(220px,360px) 240px 240px;margin-top:0}
body[data-page="camps"] #campSearchCount{grid-column:1/-1;justify-self:end;margin-top:-3px;color:#28758f;text-align:right}
@media(max-width:760px){body[data-page="camps"] .camp-search-tools{top:32px;grid-template-columns:1fr 1fr}body[data-page="camps"] .camp-search-tools label,body[data-page="camps"] #campSearch{grid-column:1/-1}body[data-page="camps"] #campSearchCount{grid-column:1/-1}}
body[data-page="camps"] .camp-sticky-controls{position:sticky;z-index:82;top:0;margin:0;background:rgba(255,255,255,.93);box-shadow:0 8px 20px rgba(23,50,63,.08);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
body[data-page="camps"] .camp-sticky-controls .camp-search-tools{position:static;top:auto;margin-bottom:0;border-bottom:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body[data-page="camps"] .camp-sticky-controls .camp-breadcrumbs{position:static;top:auto;display:flex;align-items:center;justify-content:flex-start;margin:0;padding-top:7px;padding-bottom:7px;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:left}
body[data-page="camps"] .camp-sticky-controls .camp-breadcrumbs ol{justify-content:flex-start;text-align:left}
body[data-page="camps"] .camp-results-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;width:100%;margin:0}
body[data-page="camps"] .camp-results-body{min-width:0}
body[data-page="camps"] .camp-aid-zone-menu{display:block;align-self:start;margin-top:0}
body[data-page="camps"] .camp-aid-zone-menu h2{margin:0;padding:12px 3px 9px;font-size:18px}
body[data-page="camps"] .camp-aid-zone-menu nav{display:grid}
body[data-page="camps"] .camp-aid-zone-menu a{display:flex;justify-content:space-between;padding:10px 3px;border-bottom:1px solid var(--line);font-size:12px}
body[data-page="camps"] .camp-aid-zone-menu a:hover,body[data-page="camps"] .camp-aid-zone-menu a:focus-visible{color:var(--blue);font-weight:800}
@media(max-width:800px){body[data-page="camps"] .camp-results-layout{grid-template-columns:minmax(0,1fr)}body[data-page="camps"] .camp-aid-zone-menu{display:none}}
body[data-page="camps"] .camp-sticky-controls .camp-breadcrumbs #campSearchCount{display:inline-flex;grid-column:auto;justify-self:auto;margin:0 0 0 14px;padding-left:14px;border-left:1px solid #cbd9dd;color:#28758f;text-align:left;white-space:nowrap}
@media(max-width:760px){body[data-page="camps"] .camp-sticky-controls .camp-breadcrumbs{flex-wrap:wrap}body[data-page="camps"] .camp-sticky-controls .camp-breadcrumbs #campSearchCount{margin-left:10px;padding-left:10px;white-space:normal}}
body[data-page="camps"] .camp-record .sql-result-description p { -webkit-line-clamp: 4; }
body[data-page="camps"] .camp-record .sql-result-description dl { grid-template-columns: repeat(5, minmax(90px, 1fr)); gap: 8px; margin-top: 14px; }
body[data-page="camps"] .camp-record .sql-result-description dl div { padding: 8px 10px; border: 0; border-radius: 4px; background: #f2f6f7; }
.camp-result-actions { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; }
.camp-result-actions a { color: var(--blue); font-size: 11px; font-weight: 800; }
@media (max-width: 1050px) { body[data-page="camps"] .camp-record.sql-result-row { grid-template-columns: 170px minmax(0,1fr); } body[data-page="camps"] .camp-record .sql-result-description dl { grid-template-columns: repeat(3,minmax(90px,1fr)); } }
@media (max-width: 720px) { body[data-page="camps"] .camp-record.sql-result-row { grid-template-columns: 122px minmax(0,1fr); gap: 15px; padding: 20px 8px; } body[data-page="camps"] .camp-record .sql-country img { width: 121px; height: 121px; } body[data-page="camps"] .camp-record .sql-result-description dl { grid-template-columns: 1fr; } }
