/* Com os Jovens — complementa caminho-mun.css (mesmos tokens e componentes .ccm-*) */
.ccj{--ok:#E9F5F4}
/* ritmo: 72 px entre secções no computador, 48 px no telemóvel (anula os style="padding-top" soltos do HTML) */
.ccj .ccm-sec{padding-top:0!important;padding-bottom:72px}
.ccj .ccj-cam{margin:0 0 72px}
@media (max-width:767px){.ccj .ccm-sec{padding-bottom:48px}.ccj .ccj-cam{margin-bottom:48px}}
.ccj [tabindex="-1"]:focus{outline:none}
.ccj>.ccm-sec[id]{scroll-margin-top:calc(var(--ccm-top,0px) + 88px)}
.ccj .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* o tema (kit Elementor) pinta <button> e <select>: repõe os nossos */
.ccm button.ccj-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.ccj-chip[aria-pressed=true]{background:var(--gd)!important;border-color:var(--gd)!important;color:#fff!important}
@media (hover:hover) and (pointer:fine){.ccm button.ccj-chip:not([aria-pressed=true]):hover{border-color:var(--t)!important;background:#F6FBFB!important}}
.ccm button.ccj-link-btn{background:transparent!important;color:var(--t)!important;border:0!important;box-shadow:none!important;padding:0!important;font:600 15px/1.2 Poppins,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;text-decoration:underline!important;text-underline-offset:3px;min-height:44px;cursor:pointer;transition:opacity .16s ease!important}
.ccm button.ccj-link-btn:active{opacity:.8}
.ccj-chip{display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:transform .16s var(--ease)}
.ccj-chip:active{transform:scale(.97)}
@media (max-width:600px){.ccm button.ccj-chip{padding:0 14px!important;font-size:14px!important}}
.ccj-chip .n{font-weight:500;opacity:.75}
@media (max-width:600px){.ccj-filters{gap:6px}.ccm button.ccj-chip{padding:0 13px!important;font-size:14px!important}}
.ccm .ccj-chip:focus-visible,.ccm .ccj-link-btn:focus-visible{outline:3px solid var(--gd);outline-offset:2px;border-radius:999px}

/* hero: intenções */
.ccj-intents{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;max-width:620px}
.ccj-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)}
.ccj-intents a:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.ccj-intents a:hover{background:var(--y2);border-color:var(--y)}}
.ccj-intents a svg{display:none}
.ccm .ccj-intents a:focus-visible{border-radius:999px}
.ccj .ccj-where{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:22px;font-size:15px;color:var(--tx2)}
.ccj-where b{color:var(--gd);font-weight:600}
@media (max-width:600px){.ccj-intents{gap:8px}.ccj-intents a{flex:1 1 calc(50% - 8px);justify-content:flex-start;gap:6px;padding:0 12px;font-size:14px;line-height:1.25}}

/* região */
.ccj-reg{background:#fff;border-radius:24px;padding:32px;margin-top:28px}
@media (max-width:767px){.ccj-reg{padding:22px 18px;border-radius:20px}}
.ccj-pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:end}
@media (max-width:860px){.ccj-pick{grid-template-columns:1fr}}
.ccj-f label{display:block;font-size:14px;font-weight:600;color:var(--gd);margin-bottom:6px}
.ccm .ccj-f select{appearance:none;-webkit-appearance:none;width:100%;min-height:52px;padding:0 44px 0 16px!important;border:1.5px solid #778C8A!important;border-radius:14px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230B3332' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center!important;font:500 16px Poppins,system-ui,sans-serif!important;color:var(--gd)!important;box-shadow:none!important;cursor:pointer}
.ccm .ccj-f select:disabled{opacity:1;color:var(--tx2)!important;background-color:#F2F7F7!important;border-color:var(--ln)!important;cursor:not-allowed}
.ccm .ccj-f select:focus-visible{outline:3px solid var(--gd);outline-offset:2px}
.ccj-loc-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin-top:14px;font-size:14px;color:var(--tx2)}
.ccj-loc-row svg{vertical-align:-3px}
.ccj-msg{font-size:14px;color:var(--tx2)}
.ccj-msg[data-k=err]{color:#9B2C1F}
.ccj-out{margin-top:26px}
.ccj [hidden]{display:none!important}
.ccj-out.is-in>*{animation:ccm-in .2s var(--ease)}
.ccj-out-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:14px}
.ccj-out-h h3{font-size:24px}
.ccj-out-h span{font-size:15px;color:var(--tx2)}
.ccj-badge{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:8px 14px;border-radius:12px;background:var(--y2);color:var(--gd);font-size:15px;font-weight:500}
.ccj-badge a{color:var(--gd)!important;font-weight:600;text-decoration:underline!important;text-underline-offset:3px}
.ccj-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.ccj-lk{display:flex;gap:14px;align-items:flex-start;min-height:88px;padding:16px 18px;border-radius:16px;background:var(--bg);text-decoration:none!important;color:var(--tx)!important;transition:background-color .16s ease,transform .16s var(--ease)}
.ccj-lk:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.ccj-lk:hover{background:#D5EAE8}.ccj-lk:hover .t{color:var(--t)}}
.ccj-lk .i{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#fff;color:var(--t)}
.ccj-lk .t{display:block;font-weight:600;font-size:16px;line-height:1.3;color:var(--gd);transition:color .16s ease}
.ccj-lk .s{display:block;margin-top:3px;font-size:14px;line-height:1.4;color:var(--tx2)}
.ccj-lk--soft{background:#F3F9F8}
.ccm .ccj-lk:focus-visible{border-radius:16px}
.ccj .ccj-note{margin-top:20px;font-size:13px;color:var(--tx2)}
/* quiz: o cabeçalho tem sempre a altura do botão "Anterior" (sem salto ao responder) */
.ccj .ccm-qhead{min-height:44px}
.ccj-ops~.ccj-note{margin-top:24px}


/* oportunidades */
.ccj-filters{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.ccj-fg{display:flex;flex-wrap:wrap;gap:8px}
.ccj .ccj-count{margin-top:16px;font-size:14px;color:var(--tx2)}
.ccj-ops{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:14px}
.ccj-op{display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px;border-radius:18px;background:#fff;text-decoration:none!important;color:var(--tx)!important;transition:transform .16s var(--ease)}
.ccj-op:active{transform:scale(.98)}
.ccj-op h3,.ccj-op h4{margin:0;font:700 18px/1.25 Poppins,system-ui,sans-serif;letter-spacing:0;color:var(--gd);transition:color .16s ease}
.ccj-op p{font-size:15px;color:var(--tx2)}
.ccj-op .ccm-more svg{transition:transform .2s var(--ease)}
@media (hover:hover) and (pointer:fine){.ccj-op:hover h3,.ccj-op:hover h4{color:var(--t)}.ccj-op:hover .ccm-more svg{transform:translate(2px,-2px)}}
.ccm .ccj-op:focus-visible{border-radius:18px}
.ccm-res .ccj-op{background:var(--bg);box-shadow:none}
.ccm-res .ccj-tags span:not(.eu){background:#fff}
.ccj-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ccj-top .k{display:none}
.ccj-tags{display:flex;flex-wrap:wrap}
.ccj-tags span{font-size:14px;font-weight:600;line-height:1.4;color:#7A4D0F}
.ccj-tags span+span::before{content:"·";margin:0 6px}
.ccj-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin:2px 0 0;padding:0;list-style:none;font-size:14px;color:var(--tx2)}
.ccj-meta li{display:inline-flex;align-items:flex-start;gap:6px}
.ccj-meta svg{flex:none;color:var(--t);margin-top:calc((1.6em - 15px)/2)}
.ccj-op .ccm-more{margin-top:auto}
.ccj-op .org{font-size:13px;color:var(--tx2)}
.ccj-more-row{grid-column:1/-1;display:flex;justify-content:center;margin-top:4px}
.ccj-empty{grid-column:1/-1;padding:28px;border-radius:18px;background:#fff;text-align:center;color:var(--tx2)}
.ccj-empty .ccm-btn{margin-top:14px}
.ccj-op.is-new{animation:ccm-in .2s var(--ease)}
.ccj .ccm-res.is-fwd{animation:ccm-qf .2s var(--ease)}

/* serviços para jovens */
.ccj-svs{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:24px}
.ccj-sv{display:flex;flex-direction:column;gap:8px;padding:20px 20px 18px;border-radius:18px;background:#fff;scroll-margin-top:calc(var(--ccm-top,0px) + 72px)}
.ccj-sv h3{margin:0;font:700 18px/1.25 Poppins,system-ui,sans-serif;letter-spacing:0;color:var(--gd)}
.ccj-sv p{font-size:15px;color:var(--tx2)}
.ccj-sv .org{font-size:13px;color:var(--tx2)}
.ccj-sv-h,.ccj-sv-b{display:flex;flex-direction:column;gap:8px}
.ccj-sv-b{flex:1}
@media (min-width:961px){.ccj .ccj-svs{grid-template-columns:1fr;gap:12px}.ccj-sv{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 40px;padding:24px 28px 18px}.ccj-sv-b p{max-width:68ch}}
.ccj-sv-a{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:auto;padding-top:8px}
.ccj-sv-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){.ccj-sv-a .ccm-btn:hover{background:var(--y2)}}
.ccj-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}
@media (hover:hover) and (pointer:fine){.ccj-ext:hover{text-decoration:underline!important;text-underline-offset:3px}}
.ccm .ccj-ext:focus-visible{border-radius:8px}
.ccj-ext:active{opacity:.8}
.ccj-help{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:20px;padding:20px 24px;border-radius:20px;background:var(--y2);color:var(--gd)}
@media (max-width:767px){.ccj-help{grid-template-columns:1fr}}
.ccj-help h3{font-size:20px}
.ccj-help p{font-size:15px;color:var(--tx);margin-top:4px}
.ccj-help .ccm-btn{background:var(--gd);color:#fff!important}
@media (hover:hover) and (pointer:fine){.ccj-help .ccm-btn:hover{background:var(--g)}}
/* SALTO */
.ccj-op .dl{font-weight:600;color:var(--gd)}
.ccj-op p[lang]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* agendas */
.ccj-ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:4px 48px;margin-top:20px}
.ccj-ag .ccj-lk{display:block;min-height:0;padding:14px 0;border-radius:0;background:transparent}
.ccj-ag .ccj-lk .i{display:none}
.ccj-ag .ccj-lk .t{font-size:18px;text-decoration:underline;text-decoration-color:#8FB9B6;text-underline-offset:4px;transition:none}
.ccj-ag .ccj-lk .s{margin-top:6px;font-size:15px;line-height:1.5;max-width:60ch}
.ccj-ag .ccj-lk:active{transform:none;opacity:.8}
@media (hover:hover) and (pointer:fine){.ccj-ag .ccj-lk:hover{background:transparent}.ccj-ag .ccj-lk:hover .t{text-decoration-color:currentColor}}
.ccm .ccj-ag .ccj-lk:focus-visible{border-radius:8px}

/* com a Caminho (bloco escuro, como o Impacto) */
.ccj>#caminho{scroll-margin-top:calc(var(--ccm-top,0px) + 72px)}
.ccj-cam .ccm-sub2{max-width:66ch}
.ccj-vagas{margin-top:26px}
.ccj-vagas .ccm-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.ccj-vagas .ccm-card .ccm-tag{display:block;background:none;padding:0;border-radius:0;letter-spacing:0;font-size:14px;font-weight:600;color:#7A4D0F}
.ccj-vazio{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 24px;border-radius:20px;background:rgba(255,255,255,.07)}
@media (max-width:767px){.ccj-vazio{grid-template-columns:1fr;gap:12px;padding:20px}}
.ccj-vazio .i{display:none}
.ccj-vazio h3{color:#fff;font-size:20px}
.ccj-vazio p{color:rgba(255,255,255,.82);font-size:15px;margin-top:4px;max-width:62ch;text-wrap:pretty}
.ccj-load{height:120px;border-radius:20px;background:rgba(255,255,255,.07)}
.ccj-sub-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:40px 0 14px;color:#fff}
.ccj-sub-h h3{color:#fff;font-size:20px}
.ccj-sub-h span{font-size:14px;color:rgba(255,255,255,.75)}
.ccj-proj{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
@media (min-width:961px){.ccj-proj:has(>:nth-child(5):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}.ccj-proj:has(>:nth-child(5):last-child)>*{grid-column:span 2}.ccj-proj:has(>:nth-child(5):last-child)>:nth-child(-n+2){grid-column:span 3}.ccj-proj:has(>:nth-child(5):last-child)>:nth-child(-n+2) img{height:240px}}
.ccj-proj>*{display:flex;flex-direction:column;background:#fff;color:var(--tx)!important;border-radius:18px;overflow:hidden;text-decoration:none!important}
.ccj-pj{transition:transform .16s var(--ease)}
.ccj-pj:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.ccj-pj:hover h4{color:var(--t)}.ccj-pj:hover .ccm-more svg{transform:translateX(3px)}.ccj-pj:hover img{transform:scale(1.03)}}
.ccj-pj .ccm-more svg{transition:transform .2s var(--ease)}
.ccj-pj img{transition:transform .3s var(--ease)}
.ccj-pj h4{transition:color .16s ease}
.ccj-cam .ccj-pj:focus-visible{border-radius:18px}
.ccj-proj img{display:block;width:100%;height:150px;object-fit:cover;background:var(--bg)}
.ccj-proj .b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.ccj-proj .ccm-tag{display:block;background:none;padding:0;border-radius:0;letter-spacing:0;font-size:14px;font-weight:600;color:#7A4D0F}
.ccj-proj h4{margin:0;font:700 18px/1.25 Poppins,system-ui,sans-serif;color:var(--gd);transition:color .16s ease}
.ccj-proj p{font-size:15px;color:var(--tx2)}
.ccj-online{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-top:16px;padding:20px 24px;border-radius:20px;background:rgba(255,255,255,.07);color:#fff}
@media (max-width:767px){.ccj-online{grid-template-columns:1fr}}
.ccj-online h3{font-size:20px;color:#fff}
.ccj-online p{font-size:15px;color:rgba(255,255,255,.82);margin-top:4px}
.ccj-online+.ccj-online{margin-top:12px}

/* para quem trabalha com jovens */
.ccj-also{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}
@media (max-width:860px){.ccj-also{grid-template-columns:1fr}}
.ccj-also .ccm-box h3{font-size:20px;margin-bottom:6px}
.ccj-also .ccm-box p{color:var(--tx2);margin-bottom:16px}
.ccj .ccm-btn{text-align:center}

@media (prefers-reduced-motion:reduce){.ccj-chip:active,.ccj-intents a:active,.ccj-lk:active,.ccj-op:active,.ccj-op:hover .ccm-more svg,.ccj-pj:active,.ccj-pj:hover img,.ccj-pj:hover .ccm-more svg{transform:none!important}}
