
/* BLOCO 8B.6.4 — Central Municípios do Amapá */
.kpmc-page,
.kpmc-page * { box-sizing: border-box; }

.kpmc-page {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 4% 18%, rgba(124, 58, 237, .07), transparent 28rem),
        radial-gradient(circle at 96% 38%, rgba(217, 76, 150, .08), transparent 30rem),
        var(--kp-background, #fffafd);
    color: var(--kp-ink, #25112a);
}

.kpmc-preview {
    padding: 10px 0;
    border-bottom: 1px solid rgba(75, 22, 76, .12);
    background: #fff6ce;
    color: #6b4f00;
}
.kpmc-preview .kp-container { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.kpmc-preview strong { font-size: 11px; letter-spacing: .08em; }
.kpmc-preview span { font-size: 12px; }

.kpmc-header {
    border-bottom: 1px solid rgba(255,255,255,.14);
    background: var(--kp-header-surface, linear-gradient(102deg,#32103d 0%,#531454 50%,#9f246f 100%));
    color: #fff;
}
.kpmc-header-inner { min-height: 76px; display:flex; align-items:center; gap:24px; }
.kpmc-brand { min-width:0; display:inline-flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.kpmc-brand span { width:42px; height:42px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.14); font:900 19px Georgia,serif; }
.kpmc-brand strong { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:15px; }
.kpmc-header nav { margin-left:auto; display:flex; gap:20px; align-items:center; }
.kpmc-header nav a { color:rgba(255,255,255,.82); font-size:12px; font-weight:850; text-decoration:none; }
.kpmc-header nav a:hover,
.kpmc-header nav a[aria-current="page"] { color:#fff; }

.kpmc-hero { padding: 58px 0 24px; }
.kpmc-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:44px; align-items:end; }
.kpmc-eyebrow { color:var(--kp-secondary,#a62d7b); font-size:11px; font-weight:950; letter-spacing:.12em; text-transform:uppercase; }
.kpmc-hero h1,
.kpmc-section-heading h2,
.kpmc-programmatic h2 { margin:8px 0 0; color:var(--kp-primary,#4b164c); font-family:Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
.kpmc-hero h1 { max-width:800px; font-size:clamp(42px,6vw,74px); line-height:.96; }
.kpmc-hero p { max-width:760px; margin:18px 0 0; color:#705e72; font-size:17px; line-height:1.65; }
.kpmc-hero aside { padding:22px; border:1px solid rgba(75,22,76,.12); border-radius:22px; background:rgba(255,255,255,.78); box-shadow:0 18px 50px rgba(62,17,66,.07); }
.kpmc-hero aside strong { display:block; color:var(--kp-primary,#4b164c); }
.kpmc-hero aside p { margin:8px 0 0; font-size:13px; }

.kpmc-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; padding-top:18px; padding-bottom:40px; }
.kpmc-stats article { min-width:0; padding:18px; border:1px solid rgba(75,22,76,.10); border-radius:18px; background:#fff; box-shadow:0 14px 35px rgba(49,18,54,.055); }
.kpmc-stats span { color:#806d80; font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.kpmc-stats strong { display:block; margin-top:8px; color:var(--kp-primary,#4b164c); font-size:22px; line-height:1.1; overflow-wrap:anywhere; }
.kpmc-stats small { display:block; margin-top:7px; color:#8b7c8c; font-size:10px; line-height:1.35; }

.kpmc-map-section,
.kpmc-directory,
.kpmc-programmatic,
.kpmc-sources { margin-bottom:32px; }
.kpmc-map-section,
.kpmc-directory { padding:28px; border:1px solid rgba(75,22,76,.12); border-radius:28px; background:rgba(255,255,255,.82); box-shadow:0 24px 60px rgba(62,17,66,.07); }
.kpmc-section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.55fr); gap:28px; align-items:end; margin-bottom:22px; }
.kpmc-section-heading h2 { font-size:clamp(30px,4vw,46px); line-height:1.02; }
.kpmc-section-heading p { margin:0; color:#756477; font-size:13px; line-height:1.55; }

.kpmc-map-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr); gap:20px; align-items:start; }
.kpmc-map-card { position:relative; min-height:610px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(124,58,237,.13); border-radius:24px; background:radial-gradient(circle at 48% 42%,rgba(124,58,237,.11),transparent 34%),linear-gradient(145deg,#f8f3ff,#eff7ff); }
.kpmc-map-card::before,
.kpmc-map-card::after { content:""; position:absolute; border:1px solid rgba(37,99,235,.08); border-radius:50%; pointer-events:none; }
.kpmc-map-card::before { width:62%; aspect-ratio:1; }
.kpmc-map-card::after { width:42%; aspect-ratio:1; }
.kpmc-map { position:relative; z-index:1; width:min(92%,620px); max-height:570px; overflow:visible; filter:drop-shadow(0 16px 24px rgba(75,22,76,.16)); }
.kpmc-shape { outline:none; fill:rgba(124,58,237,.54); stroke:#fff; stroke-width:1.8; vector-effect:non-scaling-stroke; cursor:pointer; transition:fill .18s ease,stroke-width .18s ease,filter .18s ease,opacity .18s ease; }
.kpmc-shape:hover { fill:var(--kp-secondary,#d94c96); stroke-width:2.6; }
.kpmc-shape.is-active { fill:var(--kp-primary,#4b164c); stroke-width:3.1; filter:drop-shadow(0 6px 7px rgba(75,22,76,.28)); }
.kpmc-shape:focus-visible { stroke:#f6c344; stroke-width:3.4; }
.kpmc-map-legend { position:absolute; right:16px; bottom:14px; z-index:2; padding:8px 11px; display:flex; gap:7px; align-items:center; border:1px solid rgba(75,22,76,.10); border-radius:999px; background:rgba(255,255,255,.9); color:#786779; font-size:10px; font-weight:850; }
.kpmc-map-legend span { width:10px; height:10px; border-radius:3px; background:rgba(124,58,237,.65); }

.kpmc-detail { padding:24px; border:1px solid rgba(75,22,76,.12); border-radius:24px; background:radial-gradient(circle at 100% 0%,rgba(217,76,150,.12),transparent 34%),#fff; }
.kpmc-detail-kicker { color:var(--kp-secondary,#a62d7b); font-size:10px; font-weight:950; letter-spacing:.1em; }
.kpmc-detail h3 { margin:8px 0 7px; color:var(--kp-primary,#4b164c); font:850 34px/1 Georgia,serif; letter-spacing:-.03em; }
.kpmc-detail > p { margin:0; color:#746375; font-size:13px; line-height:1.55; }
.kpmc-detail dl { margin:20px 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.kpmc-detail dl div { padding:13px; border:1px solid rgba(75,22,76,.09); border-radius:14px; background:#fffafd; }
.kpmc-detail dt { color:#8a798a; font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.kpmc-detail dd { margin:5px 0 0; color:#39223d; font-size:12px; font-weight:900; overflow-wrap:anywhere; }
.kpmc-detail-content { margin-top:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.kpmc-detail-content div { padding:12px; border-radius:14px; background:#f7f0f8; }
.kpmc-detail-content span { display:block; color:#806d80; font-size:9px; }
.kpmc-detail-content strong { display:block; margin-top:4px; color:var(--kp-primary,#4b164c); font-size:20px; }
.kpmc-detail-actions { margin-top:14px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.kpmc-detail-actions a { padding:11px 12px; border-radius:12px; text-align:center; text-decoration:none; font-size:11px; font-weight:900; background:#f7edf5; color:var(--kp-primary,#4b164c); }

.kpmc-directory-heading { margin-bottom:18px; }
.kpmc-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.55fr) auto; gap:12px; align-items:end; margin-bottom:18px; }
.kpmc-filters label { min-width:0; }
.kpmc-filters label span { display:block; margin-bottom:6px; color:#645165; font-size:10px; font-weight:900; }
.kpmc-filters input,
.kpmc-filters select { width:100%; min-height:44px; padding:0 13px; border:1px solid rgba(75,22,76,.14); border-radius:13px; background:#fff; color:#352236; font:inherit; }
.kpmc-filters > strong { min-height:44px; display:flex; align-items:center; justify-content:center; padding:0 14px; border-radius:13px; background:#f7edf5; color:var(--kp-primary,#4b164c); font-size:11px; white-space:nowrap; }

.kpmc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.kpmc-card { min-width:0; padding:17px; display:flex; flex-direction:column; border:1px solid rgba(75,22,76,.10); border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(48,18,52,.045); }
.kpmc-card[hidden] { display:none!important; }
.kpmc-card-head { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.kpmc-card-head > div { min-width:0; }
.kpmc-card-head span { color:#938293; font-size:9px; font-weight:850; }
.kpmc-card h3 { margin:4px 0 0; color:var(--kp-primary,#4b164c); font:800 21px/1.05 Georgia,serif; overflow-wrap:anywhere; }
.kpmc-card em { flex:0 0 auto; max-width:46%; padding:5px 7px; border-radius:999px; font-size:8px; font-style:normal; font-weight:900; line-height:1.15; text-align:center; }
.kpmc-card em.is-content { background:#f7e4f0; color:#8c1c64; }
.kpmc-card em.is-data { background:#edf3ff; color:#315a9b; }
.kpmc-card dl { margin:15px 0 0; display:grid; gap:7px; }
.kpmc-card dl div { display:flex; justify-content:space-between; gap:10px; padding-bottom:7px; border-bottom:1px solid rgba(75,22,76,.07); }
.kpmc-card dt { color:#7d6c7d; font-size:9px; }
.kpmc-card dd { margin:0; color:#3a273d; font-size:10px; font-weight:900; text-align:right; }
.kpmc-card-content { margin-top:12px; display:flex; gap:6px; flex-wrap:wrap; }
.kpmc-card-content span { padding:5px 7px; border-radius:999px; background:#faf3f8; color:#745474; font-size:8px; font-weight:850; }
.kpmc-card-actions { margin-top:auto; padding-top:12px; display:flex; justify-content:space-between; gap:10px; align-items:center; flex-wrap:wrap; }
.kpmc-card-actions button { padding:0; border:0; background:transparent; color:var(--kp-secondary,#a62d7b); font-family:inherit; font-size:10px; font-weight:900; text-align:left; cursor:pointer; }
.kpmc-card-actions a { color:var(--kp-primary,#4b164c); font-size:10px; font-weight:900; text-decoration:none; }
.kpmc-no-results { padding:26px; text-align:center; color:#756477; }

.kpmc-programmatic { padding:30px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:30px; align-items:center; border-radius:26px; background:linear-gradient(125deg,#4b164c,#7a1e66 62%,#b52f83); color:#fff; }
.kpmc-programmatic h2 { color:#fff; font-size:clamp(28px,3.6vw,45px); line-height:1.02; }
.kpmc-programmatic p { max-width:760px; margin:12px 0 0; color:rgba(255,255,255,.78); line-height:1.6; }
.kpmc-programmatic .kpmc-eyebrow { color:#ffd8ef; }
.kpmc-programmatic > a { min-height:46px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px; background:#fff; color:#5a184f; text-decoration:none; font-size:12px; font-weight:900; white-space:nowrap; }
.kpmc-sources { padding:0 4px 12px; text-align:center; color:#796879; font-size:11px; line-height:1.55; }
.kpmc-sources strong { color:var(--kp-primary,#4b164c); }
.kpmc-sources p { margin:6px auto 0; max-width:880px; }
.kpmc-empty { margin-top:30px; margin-bottom:60px; padding:26px; border:1px dashed rgba(75,22,76,.18); border-radius:20px; background:#fff; }
.kpmc-empty p { margin:6px 0 0; color:#746375; }

.kpmc-footer { margin-top:24px; padding:24px 0; background:var(--kp-footer-surface,#321236); color:#fff; }
.kpmc-footer .kp-container { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.kpmc-footer a { color:#fff; }

@media (max-width: 1120px) {
    .kpmc-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .kpmc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .kpmc-map-layout { grid-template-columns:1fr; }
    .kpmc-map-card { min-height:540px; }
}

@media (max-width: 860px) {
    .kpmc-header nav { display:none; }
    .kpmc-hero-grid,
    .kpmc-section-heading,
    .kpmc-programmatic { grid-template-columns:1fr; }
    .kpmc-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .kpmc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .kpmc-filters { grid-template-columns:1fr 1fr; }
    .kpmc-filters > strong { grid-column:1/-1; justify-content:flex-start; }
}

@media (max-width: 600px) {
    .kpmc-hero { padding-top:34px; }
    .kpmc-hero h1 { font-size:42px; }
    .kpmc-hero p { font-size:15px; }
    .kpmc-stats { grid-template-columns:1fr 1fr; gap:8px; }
    .kpmc-stats article { padding:14px; }
    .kpmc-stats strong { font-size:18px; }
    .kpmc-map-section,
    .kpmc-directory { padding:18px; border-radius:22px; }
    .kpmc-map-card { min-height:390px; border-radius:18px; }
    .kpmc-map { width:96%; max-height:370px; }
    .kpmc-detail { padding:18px; border-radius:18px; }
    .kpmc-detail dl,
    .kpmc-detail-content { grid-template-columns:1fr 1fr; }
    .kpmc-filters,
    .kpmc-grid { grid-template-columns:1fr; }
    .kpmc-card em { max-width:50%; }
    .kpmc-programmatic { padding:22px; border-radius:22px; }
    .kpmc-footer .kp-container { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 390px) {
    .kpmc-stats { grid-template-columns:1fr; }
    .kpmc-detail dl,
    .kpmc-detail-content,
    .kpmc-detail-actions { grid-template-columns:1fr; }
    .kpmc-map-card { min-height:340px; }
}

@media (prefers-reduced-motion: reduce) {
    .kpmc-shape { transition:none; }
}
