/* Para organizações — complementa caminho-mun.css (mesmos tokens e componentes .ccm-*) */
/* ritmo: 72 px entre secções no computador, 48 px no telemóvel */
.cco .ccm-sec{padding-top:0!important;padding-bottom:72px}
.cco>#caminho{margin-bottom:72px;scroll-margin-top:calc(var(--ccm-top,0px) + 72px)}
@media (max-width:767px){.cco .ccm-sec{padding-bottom:48px}.cco>#caminho{margin-bottom:48px}}
.cco [tabindex="-1"]:focus{outline:none}
.cco>.ccm-sec[id],.cco #candidaturas,.cco [id^=gerir-],.cco #formacao-mais,.cco #projetos,.cco .cco-op{scroll-margin-top:calc(var(--ccm-top,0px) + 88px)}
.cco #prazos{scroll-margin-top:calc(var(--ccm-top,0px) + 24px)}
#contacto{scroll-margin-top:var(--ccm-top,0px)}
.cco .cco-anc{display:block;height:0;scroll-margin-top:calc(var(--ccm-top,0px) + 88px)}
.cco .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cco [hidden]{display:none!important}
.cco .ccm-btn{text-align:center}

/* hero: texto + prazos */
.cco-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
@media (max-width:960px){.cco-hero{grid-template-columns:1fr;gap:28px}}
.cco-intents{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;max-width:640px}
.cco-intents a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;background:#fff;border:1.5px solid var(--ln);color:var(--gd)!important;font-weight:600;font-size:16px;text-decoration:none!important;transition:border-color .16s ease,background-color .16s ease,transform .16s var(--ease)}
.cco-intents a:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.cco-intents a:hover{background:var(--y2);border-color:var(--y)}}
.cco-intents a svg{display:none}
.ccm .cco-intents a:focus-visible{border-radius:999px}
@media (max-width:600px){.cco-intents{gap:8px}.cco-intents a{flex:1 1 100%;gap:6px;padding:0 18px;font-size:15px;line-height:1.25}}

.cco-prazos{background:#fff;border-radius:24px;padding:24px 24px 20px}
.cco .ccm-quiz{box-shadow:none}
.cco-prazos h2{font:700 20px/1.25 Poppins,system-ui,sans-serif;color:var(--gd);margin:0 0 10px}
.cco-prazos ul{list-style:none;margin:0;padding:0}
.cco-prazos li+li{border-top:1px solid var(--ln)}
.cco-prazos li a{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 0;color:var(--tx)!important;text-decoration:none!important;transition:transform .16s var(--ease)}
.cco-prazos li a:active{transform:scale(.98)}
.cco-prazos .d{flex:none;display:grid;place-items:center;align-content:center;width:52px;height:52px;border-radius:14px;background:var(--y2);color:#7A4D0F;font-size:12px;font-weight:600;line-height:1.1;text-transform:uppercase}
.cco-prazos .d b{display:block;font-size:20px;color:var(--gd)}
.cco-prazos .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.cco-prazos .t b{font-weight:600;font-size:15px;line-height:1.3;color:var(--gd);transition:color .16s ease}
.cco-prazos .t span{font-size:13px;color:var(--tx2)}
@media (hover:hover) and (pointer:fine){.cco-prazos li a:hover .t b{color:var(--t);text-decoration:underline;text-underline-offset:3px}}
.ccm .cco-prazos li a:focus-visible{border-radius:12px;outline-offset:2px}
.cco-pz-load{height:320px;border-radius:14px;background:var(--bg)}
.cco #cco-qbody:empty{min-height:174px}
@media (max-width:600px){.cco #cco-qbody:empty{min-height:390px}}
.cco-pz-v{padding:12px 0;font-size:15px;color:var(--tx2)}
.cco .cco-pz-n{margin-top:12px;padding-top:12px;border-top:1px solid var(--ln);font-size:13px;line-height:1.45;color:var(--tx2)}

/* quiz: o cabeçalho tem sempre a altura do botão "Anterior" */
.cco .ccm-qhead{min-height:44px}
.cco .ccm-opts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.cco .ccm-res.is-fwd{animation:ccm-qf .2s var(--ease)}

/* filtros (o tema pinta <button>: repõe os nossos) */
.ccm button.cco-chip{background:#fff!important;color:var(--gd)!important;border:1.5px solid var(--ln)!important;border-radius:999px!important;box-shadow:none!important;padding:0 18px!important;font:600 15px/1.2 Poppins,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;min-height:44px}
.ccm button.cco-chip[aria-pressed=true]{background:var(--gd)!important;border-color:var(--gd)!important;color:#fff!important}
@media (hover:hover) and (pointer:fine){.ccm button.cco-chip:not([aria-pressed=true]):hover{border-color:var(--t)!important;background:#F6FBFB!important}}
.cco-chip{display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:transform .16s var(--ease)}
.cco-chip:active{transform:scale(.97)}
.cco-chip .n{font-weight:500;opacity:.75}
.ccm .cco-chip:focus-visible{outline:3px solid var(--gd);outline-offset:2px;border-radius:999px}
/* telemóvel: cada grupo de filtros numa linha que desliza (em vez de 5 linhas de botões) */
@media (max-width:600px){.cco .cco-fg{gap:6px;flex-wrap:nowrap;overflow-x:auto;margin:-4px -16px -2px;padding:6px 16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.cco-fg::-webkit-scrollbar{display:none}.ccm button.cco-chip{flex:none;padding:0 13px!important;font-size:14px!important;white-space:nowrap}}
.cco-filters{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.cco-fg{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cco-fl{flex:none;width:64px;font-size:14px;font-weight:600;color:var(--tx2)}
@media (max-width:600px){.cco-fl{width:auto;margin-right:4px}}
.cco .cco-count{margin-top:20px;font-size:14px;color:var(--tx2)}
.cco .cco-note{margin-top:28px;font-size:13px;color:var(--tx2)}

/* cartões de apoios */
.cco-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:14px}
.cco-op{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 20px 14px;border-radius:18px;background:#fff;color:var(--tx)}
.cco-op-h,.cco-op-b{display:flex;flex-direction:column;gap:8px}
.cco-op-b{flex:1}
@media (min-width:961px){.cco .cco-ops{grid-template-columns:1fr;gap:12px}.cco-op{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 40px;padding:24px 28px 18px}.cco-op-b p{max-width:68ch}}
.cco-op::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 3px var(--y);opacity:0;pointer-events:none;transition:opacity .3s var(--ease)}
.cco-op h3,.cco-op h4{margin:0;font:700 18px/1.25 Poppins,system-ui,sans-serif;letter-spacing:0;color:var(--gd)}
.cco-op p{font-size:15px;color:var(--tx2)}
.cco-op .org{font-size:13px;color:var(--tx2)}
.cco-op.is-new{animation:ccm-in .2s var(--ease)}
.cco-op.is-hl::after{opacity:1;transition-duration:.15s}
/* cartões que recebem foco por script ("Ver os 18 apoios", prazos): com o teclado o anel tem de se ver (.cco [tabindex="-1"]:focus apagava-o) */
.cco .cco-op:focus-visible{outline:3px solid var(--gd);outline-offset:3px;border-radius:18px}
.ccm-res .cco-op{background:var(--bg);box-shadow:none}
.cco-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0}
.cco-tags span{font-size:14px;font-weight:600;line-height:1.4;color:#7A4D0F}
.cco-tags .st{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:13px;background:var(--bg);color:var(--gd)}
.cco-tags .st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.cco-tags .st-aberto{background:#DDF1E4;color:#1B5E36}
.cco-tags .st-abre-em{background:var(--y2);color:#7A4D0F}
.cco-tags .st-fechado{background:#EEF2F2;color:var(--tx2)}
.ccm-res .cco-tags .st{background:#fff}
.cco-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:2px 0 0;padding:0;list-style:none;font-size:14px;color:var(--tx2)}
.cco-meta li{display:inline-flex;align-items:flex-start;gap:6px}
.cco-meta svg{flex:none;color:var(--t);margin-top:calc((1.6em - 15px)/2)}
.cco-a{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:auto;padding-top:8px}
.cco-a .ccm-btn{min-height:44px;padding:10px 18px;font-size:15px;background:transparent;border:1.5px solid currentColor}
@media (hover:hover) and (pointer:fine){.cco-a .ccm-btn:hover{background:var(--y2)}}
.cco-ext{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;font-size:15px;color:var(--t)!important;text-decoration:none!important}
.cco-ext svg{transition:transform .2s var(--ease)}
.cco-ext:active{opacity:.8}.cco-ext:active svg{transform:translate(2px,-2px)}
@media (hover:hover) and (pointer:fine){.cco-ext:hover{text-decoration:underline!important;text-underline-offset:3px}.cco-ext:hover svg{transform:translate(2px,-2px)}}
.ccm .cco-ext:focus-visible{border-radius:8px}
.cco-more-row{grid-column:1/-1;display:flex;justify-content:center;margin-top:4px}
.cco-empty{grid-column:1/-1;padding:28px;border-radius:18px;background:#fff;text-align:center;color:var(--tx2)}
.cco-empty .ccm-btn{margin-top:14px}

/* com a Caminho (bloco escuro) */
.cco-cam .ccm-sub2{max-width:66ch}
.cco-svs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:28px}
.cco-sv{padding:22px;border-radius:20px;background:rgba(255,255,255,.07)}
.cco-sv h3{color:#fff;font-size:18px;line-height:1.3}
.cco-sv p{color:rgba(255,255,255,.82);font-size:15px;margin-top:8px}
.cco-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;margin-top:20px;padding:22px 24px;border-radius:20px;background:var(--y2);color:var(--gd)}
@media (max-width:767px){.cco-cta{grid-template-columns:1fr;padding:20px}}
.cco-cta h3{font-size:20px;color:var(--gd)}
.cco-cta p{font-size:15px;color:var(--tx);margin-top:4px}
.cco-cta .ccm-btn{background:var(--gd);color:#fff!important}
@media (hover:hover) and (pointer:fine){.cco-cta .ccm-btn:hover{background:var(--g)}}
.ccm-imp .cco-cta a:focus-visible{outline-color:var(--gd)!important}
.cco-sub-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:40px 0 14px}
.cco-proj+.cco-cta{margin-top:40px}
.cco-sub-h h3{color:#fff;font-size:20px}
.cco-sub-h span{font-size:14px;color:rgba(255,255,255,.75)}
.cco-proj{display:grid;grid-template-columns:1fr;gap:28px 40px;margin-top:20px}
@media (min-width:600px){.cco-proj{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.cco-proj{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cco-proj article{display:flex;flex-direction:column;gap:4px;color:#fff}
.cco-proj .t{font-size:14px;font-weight:600;color:var(--y)}
.cco-proj h4{margin:0;font:700 18px/1.25 Poppins,system-ui,sans-serif;color:#fff;text-wrap:balance}
.cco-proj .o{font-size:14px;font-weight:600;color:var(--y2)}
.cco-proj p{font-size:15px;color:rgba(255,255,255,.82)}

/* formação */
.cco-mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px 40px;margin:32px 0 8px;padding:0;list-style:none}
.cco-mods li{padding:0}
.cco-mods h3{font-size:19px;line-height:1.3;color:var(--gd);text-wrap:balance}
.cco-mods p{font-size:15px;color:var(--tx2);margin-top:6px}
.cco-tip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center;margin-top:20px;padding:20px 24px;border-radius:20px;background:var(--y2);color:var(--gd)}
@media (max-width:767px){.cco-tip{grid-template-columns:1fr;padding:20px}}
.cco-tip p{font-size:15px;color:var(--tx)}
.cco-tip b{color:var(--gd)}
.cco-tip .ccm-btn{background:var(--gd);color:#fff!important}
@media (hover:hover) and (pointer:fine){.cco-tip .ccm-btn:hover{background:var(--g)}}
.cco .cco-h3{margin:44px 0 0;font-size:22px;color:var(--gd)}

/* gerir */
.cco-gerir{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px}
.cco-gcol{padding:22px 22px 10px;border-radius:20px;background:#fff}
.cco-gcol h3{font-size:19px;color:var(--gd);margin-bottom:6px}
@media (min-width:961px){.cco-gcol h3{margin:10px 0 0}}
.cco-gcol ul{list-style:none;margin:0;padding:0}
.cco-gcol li{display:flex;gap:12px;padding:6px 0 12px}
.cco-gcol li+li{border-top:1px solid var(--ln)}
@media (min-width:961px){.cco-gcol{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 40px;padding:28px 28px 16px}.cco-gcol ul{display:block;columns:2;column-gap:40px}.cco-gcol li{break-inside:avoid}.cco .cco-gcol li+li{border-top:0}.cco-gcol li{padding:0 0 12px}}
.cco-gcol .i{display:none}
.cco-gcol a{display:inline-flex;align-items:center;min-height:44px;padding:12px 0 8px;font-weight:600;font-size:16px;line-height:1.3;color:var(--gd)!important;text-decoration:underline!important;text-decoration-color:var(--ln)!important;text-underline-offset:4px;transition:color .16s ease,text-decoration-color .16s ease}
@media (hover:hover) and (pointer:fine){.cco-gcol a:hover{color:var(--t)!important;text-decoration-color:currentColor!important}}
.ccm .cco-gcol a:focus-visible{border-radius:6px}
.cco-gcol a:active{opacity:.8}
.cco-gcol p{font-size:15px;line-height:1.5;color:var(--tx2);margin-top:2px}
.cco-gcol p.m{font-weight:600;color:var(--gd)}

/* redes */
.cco-lks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:4px 48px;margin-top:20px}
.cco-lk{display:block;padding:14px 0;text-decoration:none!important;color:var(--tx)!important;transition:opacity .16s ease}
.cco-lk:active{opacity:.8}
@media (hover:hover) and (pointer:fine){.cco-lk:hover .t{color:var(--t);text-decoration-color:currentColor}}
.cco-lk .i{display:none}
.cco-lk .t{display:block;font-weight:600;font-size:18px;line-height:1.3;color:var(--gd);text-decoration:underline;text-decoration-color:#8FB9B6;text-underline-offset:4px}
.cco-lk .s{display:block;margin-top:6px;font-size:15px;line-height:1.5;color:var(--tx2);max-width:60ch}
.ccm .cco-lk:focus-visible{border-radius:8px}

@media (prefers-reduced-motion:reduce){.cco-chip:active,.cco-intents a:active,.cco-lk:active,.cco-ext:hover svg,.cco-ext:active svg,.cco-prazos li a:active{transform:none!important}.cco-op.is-new,.cco .ccm-res.is-fwd{animation:none!important}}
