:root{--cc-primary:#0057B8;--cc-primary-dark:#004A9C;--cc-secondary:#FDB913;--cc-secondary-soft:#FFF4CF;--cc-text:#102033;--cc-muted:#5d6b7a;--cc-bg:#F3F6FB;--cc-card:#fff;--cc-border:#dce4ef;--cc-footer:#0d1b2a;--cc-shadow:0 18px 45px rgba(0,34,85,.08)}*{box-sizing:border-box}body.cc-body{margin:0;background:var(--cc-bg);color:var(--cc-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;font-size:16px}.cc-container{width:min(1180px,92vw);margin:0 auto}.cc-site-header{background:var(--cc-primary);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0;z-index:40;box-shadow:0 8px 25px rgba(0,34,85,.12)}body.admin-bar .cc-site-header{top:32px}.cc-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px}.cc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;min-width:max-content}.cc-brand-mark{width:44px;height:44px;border-radius:14px;background:var(--cc-secondary);color:#0f2742;display:inline-flex;align-items:center;justify-content:center;font-size:1.7rem;font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.15)}.cc-brand-text{display:flex;flex-direction:column;line-height:1.12}.cc-brand-text strong{font-size:1.18rem;font-weight:900;letter-spacing:-.02em}.cc-brand-text small{font-size:.72rem;color:#e8f2ff;font-weight:700;margin-top:3px}.cc-nav{flex:1;display:flex;justify-content:flex-end}.cc-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.cc-nav a{text-decoration:none;color:#fff;font-weight:800;font-size:.96rem}.cc-nav a:hover{color:var(--cc-secondary)}.cc-header-cta{background:var(--cc-secondary);color:#102033;text-decoration:none;font-weight:900;border-radius:14px;padding:11px 16px;white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.14)}.cc-site-main{min-height:62vh}.cc-hero{padding:70px 0 58px;background:linear-gradient(180deg,#eef4ff 0%,#f6f8fc 100%)}.cc-hero-home{border-bottom:1px solid var(--cc-border)}.cc-hero-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:28px;align-items:stretch}.cc-hero-copy,.cc-hero-panel,.cc-panel,.cc-empty,.cc-card-public,.cc-feature,.cc-form,.cc-legal{background:var(--cc-card);border:1px solid var(--cc-border);border-radius:26px;box-shadow:var(--cc-shadow)}.cc-hero-copy{padding:46px}.cc-hero-panel{padding:28px;display:grid;align-content:center;gap:14px}.cc-kicker{display:inline-flex;background:var(--cc-secondary-soft);color:#775100;border:1px solid #ffe08a;border-radius:999px;padding:6px 12px;font-weight:900;text-transform:uppercase;font-size:.72rem;letter-spacing:.05em}.cc-hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1.05;margin:20px 0 16px;letter-spacing:-.045em}.cc-hero p{font-size:1.1rem;max-width:760px;color:#405166}.cc-search{display:flex;gap:10px;margin-top:28px;max-width:830px}.cc-search input,.cc-form input,.cc-form textarea,.cc-form select{width:100%;border:1px solid var(--cc-border);border-radius:14px;padding:14px 16px;font:inherit;background:#fff;min-height:52px}.cc-search input:focus,.cc-form input:focus,.cc-form textarea:focus,.cc-form select:focus{outline:3px solid rgba(0,87,184,.15);border-color:var(--cc-primary)}.cc-search button,.cc-button,.cc-form button{border:0;border-radius:14px;padding:14px 20px;background:var(--cc-primary);color:#fff;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:50px}.cc-search button:hover,.cc-button:hover,.cc-form button:hover{background:var(--cc-primary-dark);color:#fff}.cc-button-secondary{background:#eaf2ff;color:var(--cc-primary)}.cc-button-secondary:hover{background:#dceaff;color:var(--cc-primary)}.cc-button-dark{background:#102033;color:#fff}.cc-button-dark:hover{background:#233b58}.cc-hero-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.cc-stat{background:#f7faff;border:1px solid var(--cc-border);border-radius:18px;padding:18px}.cc-stat strong{display:block;font-size:1.05rem}.cc-stat span{display:block;color:var(--cc-muted);font-size:.94rem;margin-top:3px}.cc-section{padding:54px 0}.cc-section-tight{padding-top:34px}.cc-section h1{font-size:clamp(1.9rem,3vw,2.6rem);letter-spacing:-.035em;margin:0 0 18px}.cc-section h2{letter-spacing:-.025em}.cc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.cc-card-public,.cc-feature,.cc-panel,.cc-empty{padding:26px}.cc-card-public h3,.cc-feature h2{margin-top:0}
.cc-card-public{overflow:hidden;word-break:break-word;overflow-wrap:break-word}.cc-card-public{transition:transform .16s ease,box-shadow .16s ease}.cc-card-public:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(0,34,85,.11)}.cc-feature-icon{width:34px;height:34px;border-radius:12px;background:var(--cc-secondary);display:inline-flex;align-items:center;justify-content:center;font-weight:900;margin-bottom:14px}.cc-muted{color:var(--cc-muted)}.cc-link{color:var(--cc-primary);font-weight:800}.cc-empty{font-weight:700;color:#24384d}.cc-form{padding:28px}.cc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cc-form label{font-weight:800}.cc-form input,.cc-form textarea,.cc-form select{margin-top:6px}.cc-commercial-strip{background:#fff7df;border-top:1px solid #ffe2a0;border-bottom:1px solid #ffe2a0}.cc-commercial-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cc-commercial-inner h2{font-size:2rem;margin:.55rem 0 .35rem}.cc-site-footer{background:var(--cc-footer);color:#dce4ef;padding:34px 0;margin-top:0}.cc-footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.cc-footer-inner p{margin:0}.cc-footer-inner ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}.cc-footer-inner a{color:#fff;text-decoration:none}.cc-legal{padding:34px}.cc-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#eaf2ff;color:var(--cc-primary);font-weight:900;font-size:.78rem}.cc-price{font-size:1.25rem;color:var(--cc-primary);font-weight:900}@media(max-width:1020px){.cc-header-inner{gap:14px}.cc-nav ul{gap:14px}.cc-header-cta{display:none}.cc-hero-layout{grid-template-columns:1fr}.cc-hero-panel{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){body.admin-bar .cc-site-header{top:0}.cc-header-inner,.cc-footer-inner,.cc-commercial-inner{flex-direction:column;align-items:flex-start;padding:16px 0}.cc-nav{width:100%;justify-content:flex-start;overflow-x:auto}.cc-nav ul{flex-wrap:nowrap;white-space:nowrap}.cc-grid-3,.cc-form-grid,.cc-hero-panel{grid-template-columns:1fr}.cc-search{flex-direction:column}.cc-hero{padding:38px 0}.cc-hero-copy{padding:28px}.cc-section{padding:38px 0}}

/* v26.0.2 visual refinement and homepage correction */
body.cc-body{font-family:"Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;background:linear-gradient(180deg,#f3f7fc 0%,#eef4fb 100%);letter-spacing:-.006em}.cc-site-header{background:linear-gradient(90deg,#0054ad 0%,#0067cf 100%)}.cc-header-inner{min-height:72px}.cc-nav a{font-size:.94rem;line-height:1.25}.cc-brand-mark{border-radius:13px}.cc-home-landing{padding:64px 0 52px;background:radial-gradient(circle at top right,rgba(253,185,19,.18),transparent 32%),linear-gradient(180deg,#eaf3ff 0%,#f7faff 100%)}.cc-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px;align-items:stretch}.cc-home-copy{padding:48px 0}.cc-home-copy h1{font-size:clamp(1.76rem,3.68vw,3.52rem);max-width:920px;margin:18px 0 16px;letter-spacing:-.055em;line-height:1.08}.cc-lead{font-size:1.14rem;color:#3d5168;max-width:790px}.cc-home-decision-card{background:#fff;border:1px solid var(--cc-border);border-radius:30px;padding:34px;box-shadow:0 22px 60px rgba(0,46,110,.12);align-self:center;position:relative;overflow:hidden}.cc-home-decision-card:before{display:none}.cc-home-decision-card h2{font-size:1.75rem;line-height:1.12;margin:16px 0 12px}.cc-card-label{display:inline-flex;background:#edf5ff;color:#0057B8;border-radius:999px;padding:7px 12px;font-weight:900;font-size:.8rem}.cc-mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.cc-mini-stats div{background:#f6f9fd;border:1px solid var(--cc-border);border-radius:18px;padding:16px}.cc-mini-stats strong{display:block;font-size:2rem;color:#0057B8;line-height:1}.cc-mini-stats span{display:block;color:#5d6b7a;font-weight:800;margin-top:6px}.cc-button-yellow{background:var(--cc-secondary);color:#102033}.cc-button-yellow:hover{background:#e8a600;color:#102033}.cc-button-ghost{background:#fff;color:#0057B8;border:1px solid #cfe0f5}.cc-button-ghost:hover{background:#eef6ff;color:#0057B8}.cc-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:22px}.cc-section-head h2{font-size:clamp(1.7rem,2.6vw,2.45rem);margin:.6rem 0 .25rem;letter-spacing:-.04em}.cc-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cc-sponsored-preview{background:#fff7e3;border-top:1px solid #ffe1a0;border-bottom:1px solid #ffe1a0}.cc-sponsored-card{background:#fffaf0;border:1px dashed #f5bf41;border-radius:22px;padding:22px;min-height:190px}.cc-sponsored-card span{text-transform:uppercase;font-size:.72rem;font-weight:900;color:#825600;background:#ffe7a6;border-radius:999px;padding:5px 9px}.cc-sponsored-card h3{font-size:1.25rem;margin:16px 0 10px}.cc-sponsored-card p{color:#45586f}.cc-sponsored-card strong{display:block;color:#0057B8;font-size:1.25rem;margin-top:12px}.cc-section-soft{background:#f8fbff;border-top:1px solid var(--cc-border);border-bottom:1px solid var(--cc-border)}.cc-action-card{text-decoration:none;color:var(--cc-text);background:#fff;border:1px solid var(--cc-border);border-radius:24px;padding:28px;box-shadow:var(--cc-shadow);transition:transform .16s ease,box-shadow .16s ease}.cc-action-card:hover{transform:translateY(-3px);box-shadow:0 24px 55px rgba(0,34,85,.12)}.cc-action-card span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:13px;background:var(--cc-secondary);font-weight:900;margin-bottom:14px}.cc-action-card h3{margin:0 0 10px;font-size:1.35rem}.cc-action-card p{color:#4b5f76}.cc-action-card strong{color:#0057B8}.cc-course-preview-card .cc-card-meta{font-weight:800;color:#607085;margin:14px 0}.cc-form input[type="checkbox"],.cc-form input[type="radio"]{width:auto;min-height:0;height:auto;margin:0 10px 0 0;vertical-align:middle;padding:0}.cc-form label.cc-check,.cc-check{display:flex;align-items:flex-start;gap:10px;font-weight:800}.cc-form label.cc-check input,.cc-check input{margin-top:3px;flex:0 0 auto}@media(max-width:1100px){.cc-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-home-hero-grid{grid-template-columns:1fr}.cc-home-copy{padding:24px 0 0}.cc-section-head{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.cc-grid-4{grid-template-columns:1fr}.cc-home-decision-card{padding:26px}.cc-mini-stats{grid-template-columns:1fr}}

/* v26.1.0 operational forms */
.cc-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:34px;align-items:start}
.cc-feature-list{display:grid;gap:14px;margin:24px 0}
.cc-feature-list div{background:#fff;border:1px solid rgba(16,32,51,.10);border-radius:18px;padding:18px;box-shadow:0 18px 40px rgba(11,31,55,.05)}
.cc-feature-list strong{display:block;color:#071b33;margin-bottom:4px}
.cc-feature-list span{display:block;color:#5f6f82;font-size:.95rem;line-height:1.45}
.cc-compact-form,.cc-request-form{background:#fff;border:1px solid rgba(16,32,51,.12);border-radius:24px;padding:28px;box-shadow:0 24px 65px rgba(11,31,55,.08)}
.cc-request-form{margin-top:42px;max-width:980px}
.cc-form h2{margin-top:0}
.cc-form label{display:block;font-weight:700;color:#081e38;margin-bottom:8px}
.cc-form input,.cc-form textarea,.cc-form select{width:100%;border:1px solid #d7e3f2;border-radius:14px;padding:14px 16px;background:#fff;color:#102033;font:inherit;box-sizing:border-box;outline:none;transition:border-color .18s ease, box-shadow .18s ease}
.cc-form input:focus,.cc-form textarea:focus,.cc-form select:focus{border-color:#0057B8;box-shadow:0 0 0 4px rgba(0,87,184,.12)}
.cc-form .cc-check label{display:flex;align-items:flex-start;gap:12px;font-weight:600;line-height:1.35}
.cc-form .cc-check input{width:18px;height:18px;min-width:18px;margin-top:2px;box-shadow:none;padding:0;border-radius:4px}
.cc-pricing-grid{margin-top:24px;overflow:visible;padding-top:20px}
.cc-price-card{position:relative;transition:transform .18s ease, box-shadow .18s ease}
.cc-price-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(11,31,55,.10)}
@media(max-width:900px){.cc-page-grid{grid-template-columns:1fr}.cc-form-grid{grid-template-columns:1fr}.cc-compact-form,.cc-request-form{padding:22px}}

/* v26.2.0 institutional backoffice */
.cc-auth-stack{display:grid;gap:20px}.cc-institution-shell{display:grid;gap:24px}.cc-institution-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.cc-institution-topbar h1{margin:.35rem 0}.cc-institution-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid var(--cc-border);border-radius:20px;padding:10px;box-shadow:0 18px 45px rgba(11,31,55,.06)}.cc-institution-tabs a{text-decoration:none;color:#102033;font-weight:900;border-radius:14px;padding:10px 14px}.cc-institution-tabs a.active,.cc-institution-tabs a:hover{background:#0057B8;color:#fff}.cc-dashboard-grid .cc-card-public strong{display:block;color:#0057B8;font-size:2rem;line-height:1}.cc-dashboard-grid .cc-card-public span{display:block;color:#5f6f82;font-weight:800;margin-top:6px}.cc-panel-warning{background:#fff7df;border:1px solid #ffe0a0;border-radius:20px}.cc-panel-success{background:#ecfdf3;border:1px solid #b7efcf;border-radius:20px;color:#14532d}.cc-panel-info{background:#eef6ff;border:1px solid #cfe0f5;border-radius:20px;margin-bottom:20px}.cc-alert{border-radius:16px;padding:14px 16px;margin:0 0 16px;font-weight:800}.cc-alert-success{background:#ecfdf3;border:1px solid #b7efcf;color:#14532d}.cc-alert-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.cc-alert-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.cc-institution-list{display:grid;gap:18px}.cc-course-admin-card details{margin-top:14px}.cc-course-admin-card summary{cursor:pointer;color:#0057B8;font-weight:900}.cc-inline-form{margin-top:18px;background:#f8fbff;border:1px solid #dbe8f5;border-radius:18px;padding:20px}.cc-front-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--cc-border);border-radius:18px;overflow:hidden;box-shadow:0 18px 45px rgba(11,31,55,.06)}.cc-front-table th,.cc-front-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #e6eef7;vertical-align:top}.cc-front-table th{background:#f4f8fd;font-weight:900}.cc-front-table tr:last-child td{border-bottom:0}@media(max-width:900px){
.cc-institution-topbar{flex-direction:column}
.cc-institution-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;overflow:visible;flex-wrap:wrap}
.cc-institution-tabs a{text-align:center;padding:10px 8px;font-size:.82rem;white-space:normal}
.cc-front-table{display:block;overflow-x:auto}
}
@media(max-width:540px){
.cc-institution-tabs{grid-template-columns:repeat(2,1fr)}
}

/* v26.6.3 API key actions */
.cc-button-small{min-height:32px;padding:7px 11px;border-radius:10px;font-size:.86rem}.cc-button-danger{background:#b42318;color:#fff}.cc-button-danger:hover{background:#8f1d15;color:#fff}.cc-inline-action{display:inline;margin:0}.cc-copy-link{border:0;background:#eaf2ff;color:#0057B8;border-radius:10px;padding:5px 9px;font-weight:900;cursor:pointer}.cc-copy-link:hover{background:#dceaff}


/* v26.6.4 commercial access and elegant menu refinement */
.cc-site-header{background:linear-gradient(90deg,#0057B8 0%,#0062c9 100%)}
.cc-header-inner{min-height:64px;gap:18px}
.cc-brand{gap:10px}
.cc-brand-mark{width:38px;height:38px;border-radius:12px;font-size:1.35rem;font-weight:800}
.cc-brand-text strong{font-size:1rem;font-weight:750;letter-spacing:-.015em}
.cc-brand-text small{font-size:.66rem;font-weight:600;opacity:.92}
.cc-nav{min-width:0;justify-content:center}
.cc-nav ul{gap:20px;flex-wrap:nowrap;align-items:center}
.cc-nav li{display:flex;align-items:center}
.cc-nav a{font-weight:650;font-size:.88rem;line-height:1.15;letter-spacing:0;white-space:nowrap;text-decoration:none}
.cc-header-cta{font-weight:750;border-radius:13px;padding:10px 15px;box-shadow:none}
.cc-access-note{display:flex;gap:8px;align-items:flex-start;background:#fff8df;border:1px solid #ffe1a0;border-radius:18px;padding:15px 18px;margin:20px 0 24px;color:#4a3b12}
.cc-access-note strong{color:#102033}
.cc-price-locked{background:#f6f9fd;border:1px solid #dce8f6;border-radius:16px;padding:14px 16px;margin:18px 0}
.cc-price-locked strong{display:block;color:#0057B8;font-size:1.08rem}
.cc-price-locked span{display:block;color:#5d6b7a;font-weight:700;font-size:.92rem;margin-top:4px}
.cc-locked-card{position:relative;overflow:hidden}
.cc-locked-card:after{content:'Acesso mediante registo';position:absolute;right:16px;top:16px;background:#fff4cf;border:1px solid #ffe08a;border-radius:999px;padding:5px 9px;font-size:.68rem;font-weight:850;color:#775100;text-transform:uppercase;letter-spacing:.02em}
.cc-legal-consents{display:grid;gap:8px;margin:18px 0 22px;padding:16px;background:#f8fbff;border:1px solid #dce8f6;border-radius:18px}
.cc-legal-consents a{color:#0057B8;font-weight:850}
#cc-sensitive-notice{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#102033;color:#fff;border-radius:16px;padding:14px 18px;box-shadow:0 24px 60px rgba(0,0,0,.22);z-index:99999;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;max-width:min(620px,92vw);font-weight:750;text-align:center}
#cc-sensitive-notice.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
@media print{.cc-sensitive-area .cc-pricing-grid,.cc-sensitive-area .cc-sponsored-grid,.cc-sensitive-area .cc-request-form,.cc-sponsored-preview{display:none!important}.cc-sensitive-area:before{content:'Informação comercial disponível apenas mediante registo e aceitação dos documentos legais.';display:block;padding:24px;border:1px solid #999;font-weight:700}.cc-site-header,.cc-site-footer{display:none!important}}
@media(max-width:1180px){.cc-nav ul{gap:14px}.cc-nav a{font-size:.82rem}.cc-header-cta{padding:9px 12px}.cc-brand-text small{display:none}}
@media(max-width:900px){.cc-header-inner{min-height:auto}.cc-nav{justify-content:flex-start}.cc-nav ul{gap:16px;overflow-x:auto;max-width:100%;padding-bottom:4px}.cc-brand-text small{display:block}}


/* v26.6.5 - rodapé completo e formulários públicos mais compactos */
.cc-site-footer{background:#071827;color:#dce8f5;padding:54px 0 24px;border-top:1px solid rgba(255,255,255,.08);margin-top:0}
.cc-footer-grid{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(3,minmax(150px,.75fr));gap:34px;align-items:start}
.cc-footer-logo{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;margin-bottom:16px}
.cc-footer-mark{width:42px;height:42px;border-radius:13px;background:var(--cc-secondary);color:#102033;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:850}
.cc-footer-logo strong{display:block;font-size:1.08rem;font-weight:780;letter-spacing:-.02em;line-height:1.1}
.cc-footer-logo small{display:block;color:#d6e7fb;font-size:.72rem;font-weight:650;margin-top:3px}
.cc-footer-brand p{max-width:430px;color:#b8c7d8;margin:0;line-height:1.65;font-size:.94rem}
.cc-footer-col h2{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:2px 0 14px;font-weight:780}
.cc-footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.cc-footer-col a{color:#c8d8ea;text-decoration:none;font-weight:560;font-size:.94rem}
.cc-footer-col a:hover{color:var(--cc-secondary)}
.cc-footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.10);margin-top:38px;padding-top:20px;color:#9fb1c5;font-size:.86rem}
.cc-footer-bottom p{margin:0;max-width:620px}
.cc-contact-form,.cc-public-request-form{max-width:70%;padding:20px 22px;border-radius:22px}
.cc-public-request-form{margin-top:30px}
.cc-contact-form .cc-form-grid,.cc-public-request-form .cc-form-grid{gap:13px 14px}
.cc-contact-form p,.cc-public-request-form p{margin-top:10px;margin-bottom:10px}
.cc-contact-form label,.cc-public-request-form label{font-size:.92rem;font-weight:740}
.cc-contact-form input,.cc-contact-form textarea,.cc-contact-form select,.cc-public-request-form input,.cc-public-request-form textarea,.cc-public-request-form select{min-height:42px;padding:10px 12px;border-radius:12px;font-size:.94rem}
.cc-contact-form textarea,.cc-public-request-form textarea{min-height:110px}
.cc-contact-form .cc-legal-consents,.cc-public-request-form .cc-legal-consents{padding:13px 14px;border-radius:16px;gap:6px;margin:14px 0 18px}
.cc-contact-form .cc-button,.cc-contact-form button,.cc-public-request-form .cc-button,.cc-public-request-form button{min-height:42px;padding:10px 16px;border-radius:12px;font-size:.92rem}
@media(max-width:980px){.cc-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-contact-form,.cc-public-request-form{max-width:100%}}
@media(max-width:720px){.cc-footer-grid{grid-template-columns:1fr;gap:24px}.cc-footer-bottom{flex-direction:column}.cc-site-footer{padding:42px 0 22px}.cc-contact-form,.cc-public-request-form{padding:18px}.cc-contact-form .cc-form-grid,.cc-public-request-form .cc-form-grid{grid-template-columns:1fr}}


/* v26.6.6 - formulários públicos centrados e tipografia mais leve */
.cc-contact-form,
.cc-public-request-form{
    width:100%;
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
    font-size:.88rem;
}
.cc-public-request-form{
    margin-top:30px;
}
.cc-contact-form h2,
.cc-public-request-form h2{
    font-size:1.45rem;
    line-height:1.2;
}
.cc-contact-form p,
.cc-public-request-form p{
    font-size:.88rem;
}
.cc-contact-form label,
.cc-public-request-form label{
    font-size:.84rem;
    font-weight:680;
}
.cc-contact-form input,
.cc-contact-form textarea,
.cc-contact-form select,
.cc-public-request-form input,
.cc-public-request-form textarea,
.cc-public-request-form select{
    font-size:.86rem;
    line-height:1.35;
}
.cc-contact-form .cc-legal-consents,
.cc-public-request-form .cc-legal-consents{
    font-size:.83rem;
}
.cc-contact-form .cc-button,
.cc-contact-form button,
.cc-public-request-form .cc-button,
.cc-public-request-form button{
    font-size:.86rem;
}
@media(max-width:980px){
    .cc-contact-form,
    .cc-public-request-form{
        max-width:100%;
        margin-left:0;
        margin-right:0;
    }
}


/* v26.6.7 - contacto mais compacto e primeira camada compliance */
.cc-contact-form{
    font-size:.78rem;
}
.cc-contact-form h2{
    font-size:1.22rem;
    line-height:1.18;
    margin-bottom:.45rem;
}
.cc-contact-form p{
    font-size:.76rem;
    line-height:1.35;
    margin-top:7px;
    margin-bottom:7px;
}
.cc-contact-form label{
    font-size:.74rem;
    line-height:1.3;
    font-weight:650;
}
.cc-contact-form input,
.cc-contact-form textarea,
.cc-contact-form select{
    font-size:.76rem;
    line-height:1.3;
    min-height:38px;
    padding:8px 10px;
}
.cc-contact-form textarea{
    min-height:92px;
}
.cc-contact-form .cc-check,
.cc-contact-form .cc-legal-consents{
    font-size:.72rem;
    line-height:1.32;
}
.cc-contact-form .cc-button,
.cc-contact-form button{
    font-size:.76rem;
    min-height:38px;
    padding:8px 14px;
}
.cc-legal-notice-inline{
    background:#f7fbff;
    border:1px solid var(--cc-border);
    border-radius:16px;
    padding:12px 14px;
    color:#405166;
    font-size:.86rem;
    line-height:1.45;
    margin:16px 0;
}
.cc-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 12px;
}
.cc-badge-soft{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:4px 9px;
    background:#eef6ff;
    border:1px solid #cfe0f5;
    color:#0057B8;
    font-size:.72rem;
    font-weight:800;
}
.cc-badge-paid{
    background:#fff4cf;
    border-color:#ffe08a;
    color:#775100;
}
.cc-card-public .cc-card-note{
    margin-top:14px;
    color:#5d6b7a;
    font-size:.82rem;
    line-height:1.45;
}
.cc-source-row{
    margin-top:10px;
    font-size:.78rem;
    color:#6c7b8c;
}
.cc-source-row a{
    font-weight:800;
}

/* v26.6.8 - remoção da prioridade e contacto ainda mais discreto */
.cc-contact-form{
    font-size:.58rem;
}
.cc-contact-form h2{
    font-size:1.02rem;
    line-height:1.16;
    margin-bottom:.35rem;
}
.cc-contact-form p{
    font-size:.54rem;
    line-height:1.28;
    margin-top:5px;
    margin-bottom:5px;
}
.cc-contact-form label{
    font-size:.52rem;
    line-height:1.24;
    font-weight:620;
}
.cc-contact-form input,
.cc-contact-form textarea,
.cc-contact-form select{
    font-size:.56rem;
    line-height:1.24;
    min-height:32px;
    padding:6px 8px;
    border-radius:10px;
}
.cc-contact-form textarea{
    min-height:78px;
}
.cc-contact-form .cc-check,
.cc-contact-form .cc-legal-consents{
    font-size:.51rem;
    line-height:1.26;
}
.cc-contact-form .cc-button,
.cc-contact-form button{
    font-size:.56rem;
    min-height:32px;
    padding:6px 12px;
    border-radius:10px;
}
@media(max-width:720px){
    .cc-contact-form,
    .cc-contact-form p,
    .cc-contact-form label,
    .cc-contact-form input,
    .cc-contact-form textarea,
    .cc-contact-form select,
    .cc-contact-form .cc-check{
        font-size:.78rem;
    }
    .cc-contact-form input,
    .cc-contact-form textarea,
    .cc-contact-form select{
        min-height:40px;
        padding:9px 11px;
    }
}


/* v26.6.9 - formulários mais compactos, mantendo leitura equilibrada */
.cc-contact-form,
.cc-public-request-form{
    max-width:760px;
    margin-left:auto;
    margin-right:auto;
}
.cc-contact-form{
    font-size:.88rem;
}
.cc-contact-form h2{
    font-size:1.45rem;
    line-height:1.2;
    margin-top:0;
    margin-bottom:.38rem;
}
.cc-contact-form p{
    font-size:.88rem;
    line-height:1.32;
}
.cc-contact-form label{
    font-size:.84rem;
    line-height:1.25;
    font-weight:680;
}
.cc-contact-form input,
.cc-contact-form textarea,
.cc-contact-form select{
    font-size:.86rem;
    line-height:1.28;
    min-height:38px;
    padding:7px 10px;
    border-radius:10px;
}
.cc-contact-form textarea{
    min-height:88px;
}
.cc-contact-form .cc-check,
.cc-contact-form .cc-legal-consents{
    font-size:.83rem;
    line-height:1.28;
}
.cc-contact-form .cc-button,
.cc-contact-form button{
    font-size:.86rem;
    min-height:38px;
    padding:8px 14px;
    border-radius:10px;
}
.cc-contact-form .cc-form-grid,
.cc-public-request-form .cc-form-grid{
    gap:6px 8px;
}
.cc-contact-form p,
.cc-public-request-form p{
    margin-top:4px;
    margin-bottom:4px;
}
.cc-contact-form input,
.cc-contact-form textarea,
.cc-contact-form select,
.cc-public-request-form input,
.cc-public-request-form textarea,
.cc-public-request-form select{
    margin-top:3px;
}
.cc-public-request-form .cc-legal-consents{
    padding:7px 9px;
    margin:6px 0 9px;
    gap:3px;
    border-radius:12px;
}
.cc-public-request-form .cc-legal-consents p,
.cc-public-request-form .cc-check{
    margin-top:2px;
    margin-bottom:2px;
    line-height:1.25;
}
.cc-public-request-form input,
.cc-public-request-form textarea,
.cc-public-request-form select{
    min-height:38px;
    padding:7px 10px;
}
.cc-public-request-form textarea{
    min-height:88px;
}
.cc-public-request-form .cc-button,
.cc-public-request-form button{
    min-height:38px;
    padding:8px 14px;
}
@media(max-width:720px){
    .cc-contact-form,
    .cc-public-request-form{
        max-width:100%;
        padding:16px;
        font-size:.88rem;
    }
    .cc-contact-form p,
    .cc-contact-form label,
    .cc-contact-form input,
    .cc-contact-form textarea,
    .cc-contact-form select,
    .cc-contact-form .cc-check{
        font-size:.86rem;
    }
    .cc-contact-form input,
    .cc-contact-form textarea,
    .cc-contact-form select,
    .cc-public-request-form input,
    .cc-public-request-form textarea,
    .cc-public-request-form select{
        min-height:40px;
        padding:8px 10px;
    }
}

/* v26.7.0 - Visibilidade configurável de preços */
.cc-access-note-public {
    border-color: rgba(12, 77, 162, .18);
    background: rgba(12, 77, 162, .055);
}
.cc-public-price-card {
    border-color: rgba(12, 77, 162, .16);
}
.cc-price-public {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 14px 0 16px;
}
.cc-price-public strong {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
}
.cc-price-public span {
    font-size: .84rem;
    color: var(--cc-muted, #637083);
}

/* v26.7.1 - documentos legais com HTML formatado */
.cc-legal{
    max-width:1060px;
    padding:44px 48px;
    border-radius:28px;
}
.cc-legal h1{
    margin:0 0 26px;
    font-size:clamp(2rem,3.2vw,3rem);
    line-height:1.08;
}
.cc-legal h2{
    margin:34px 0 12px;
    font-size:1.55rem;
    line-height:1.2;
}
.cc-legal h3{
    margin:26px 0 10px;
    font-size:1.18rem;
}
.cc-legal p{
    margin:0 0 14px;
    line-height:1.75;
}
.cc-legal ul,
.cc-legal ol{
    margin:0 0 18px 1.4rem;
    padding:0;
    line-height:1.7;
}
.cc-legal li{margin:0 0 7px;}
.cc-legal table{
    width:100%;
    border-collapse:collapse;
    margin:22px 0;
}
.cc-legal th,
.cc-legal td{
    border:1px solid var(--cc-border);
    padding:10px 12px;
    text-align:left;
    vertical-align:top;
}
.cc-legal blockquote{
    margin:22px 0;
    padding:16px 20px;
    border-left:4px solid var(--cc-primary);
    background:#f5f9ff;
    border-radius:12px;
}
@media(max-width:720px){.cc-legal{padding:28px 22px;border-radius:22px}}


/* v26.7.5 - justificação dos documentos legais em HTML */
.cc-legal{
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}
.cc-legal p,
.cc-legal li{
    text-align: justify;
    text-justify: inter-word;
    text-align-last: left;
}
.cc-legal h1,
.cc-legal h2,
.cc-legal h3,
.cc-legal h4,
.cc-legal h5,
.cc-legal h6,
.cc-legal table,
.cc-legal th,
.cc-legal td,
.cc-legal blockquote{
    text-align: left;
    hyphens: none;
}
.cc-legal .cc-legal-meta,
.cc-legal .cc-legal-version,
.cc-legal .cc-legal-change-log{
    text-align: left;
}
@media(max-width:720px){
    .cc-legal,
    .cc-legal p,
    .cc-legal li{
        text-align:left;
        hyphens:none;
    }
}


/* v26.7.6 - documentos legais: renderização mais fiel ao HTML colado */
.cc-legal-section{
    padding-top:46px;
}
.cc-legal-document{
    width:min(1160px,94vw);
    max-width:1160px;
    padding:50px 58px;
    font-size:16px;
    line-height:1.65;
    letter-spacing:0;
    overflow-wrap:break-word;
}
.cc-legal-document h1:first-child{
    margin-top:0;
}
.cc-legal-document h1{
    font-size:clamp(1.9rem,2.35vw,2.45rem);
    line-height:1.12;
    margin:0 0 34px;
    padding-bottom:16px;
    border-bottom:2px solid rgba(0,87,184,.65);
    letter-spacing:-.025em;
    text-align:left;
    hyphens:none;
}
.cc-legal-document h2{
    margin:36px 0 16px;
    font-size:1.5rem;
    line-height:1.25;
    text-align:left;
    hyphens:none;
}
.cc-legal-document h3,
.cc-legal-document h4{
    text-align:left;
    hyphens:none;
}
.cc-legal-document p{
    margin:0 0 18px;
    line-height:1.65;
    text-align:justify;
    text-justify:inter-word;
    text-align-last:left;
}
.cc-legal-document ul,
.cc-legal-document ol{
    margin:0 0 20px 2.15rem;
    padding-left:1.35rem;
    line-height:1.65;
}
.cc-legal-document li{
    margin:0 0 10px;
    padding-left:.45rem;
    text-align:justify;
    text-align-last:left;
}
.cc-legal-document li::marker{
    font-weight:400;
}
.cc-legal-document p.MsoNormal,
.cc-legal-document p.MsoListParagraph,
.cc-legal-document p.MsoListParagraphCxSpFirst,
.cc-legal-document p.MsoListParagraphCxSpMiddle,
.cc-legal-document p.MsoListParagraphCxSpLast{
    margin-bottom:14px;
    line-height:1.65;
}
.cc-legal-document p.MsoListParagraph,
.cc-legal-document p.MsoListParagraphCxSpFirst,
.cc-legal-document p.MsoListParagraphCxSpMiddle,
.cc-legal-document p.MsoListParagraphCxSpLast{
    margin-left:2.2rem;
}
.cc-legal-document span{
    max-width:100%;
}
.cc-legal-document table{
    width:100%;
    max-width:100%;
    border-collapse:collapse;
    margin:24px 0;
    text-align:left;
}
.cc-legal-document th,
.cc-legal-document td{
    text-align:left;
    vertical-align:top;
}
@media(max-width:720px){
    .cc-legal-document{
        width:min(94vw,100%);
        padding:30px 22px;
        font-size:15px;
        line-height:1.58;
    }
    .cc-legal-document h1{
        font-size:1.8rem;
    }
    .cc-legal-document p,
    .cc-legal-document li{
        text-align:left;
        hyphens:none;
    }
}

/* v26.8.0 - consentimentos por formulário e blocos legais mais compactos */
.cc-contact-form .cc-check,
.cc-public-request-form .cc-check{
    margin:0 0 5px !important;
    line-height:1.34 !important;
}
.cc-contact-form .cc-check label,
.cc-public-request-form .cc-check label{
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr);
    gap:8px;
    align-items:start;
    font-size:.84rem !important;
    font-weight:650 !important;
}
.cc-contact-form .cc-check input[type="checkbox"],
.cc-public-request-form .cc-check input[type="checkbox"]{
    width:16px;
    height:16px;
    min-height:16px;
    margin:1px 0 0 !important;
    padding:0 !important;
}
.cc-contact-form .cc-legal-consents,
.cc-public-request-form .cc-legal-consents{
    gap:4px !important;
    padding:9px 10px !important;
    margin:8px 0 12px !important;
    border-radius:12px !important;
}
.cc-public-request-form .cc-legal-consents p,
.cc-contact-form .cc-legal-consents p{
    margin:0 0 5px !important;
}


/* v26.8.1 - consentimentos HTML inline */
.cc-contact-form .cc-check label,
.cc-public-request-form .cc-check label,
.cc-institution-shell .cc-check label{
    display:flex !important;
    align-items:flex-start !important;
    gap:8px !important;
    width:100% !important;
}
.cc-contact-form .cc-check input[type="checkbox"],
.cc-public-request-form .cc-check input[type="checkbox"],
.cc-institution-shell .cc-check input[type="checkbox"]{
    flex:0 0 16px !important;
    margin-top:2px !important;
}
.cc-check .cc-check-text{
    display:inline !important;
    min-width:0 !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    white-space:normal !important;
}
.cc-check .cc-check-text a,
.cc-legal-consents a,
.cc-contact-form .cc-check a,
.cc-public-request-form .cc-check a{
    display:inline !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
}
.cc-contact-form .cc-check,
.cc-public-request-form .cc-check{
    width:100% !important;
}

.cc-buy-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0 10px}.cc-buy-actions .cc-button{margin:0}.cc-access-note-public + .cc-access-note-public{margin-top:10px}


/* ===== Migrado de style.css (v27.9.1): estilos que não eram carregados ===== */
/* Publicidade: cartão patrocinado com imagem */
.cc-sponsored-img{width:100%;height:140px;object-fit:cover;border-radius:10px;margin-bottom:10px;display:block}
/* Backoffice: lista de campanhas */
.cc-ad-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:16px}
.cc-ad-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.cc-ad-state{font-size:.78rem;padding:3px 10px;border-radius:999px;background:#eef1f7;color:#33415c;white-space:nowrap}
.cc-ad-state-active{background:#e4f5ea;color:#1c7a43}
.cc-ad-state-paid_pending_content,.cc-ad-state-paid_pending_review,.cc-ad-state-pending{background:#fff4e0;color:#9a6a12}
.cc-ad-state-expired,.cc-ad-state-cancelled{background:#fdeaea;color:#a02525}
.cc-ad-meta{font-size:.85rem;margin:6px 0}
.cc-ad-thumb{max-width:100%;height:auto;border-radius:8px;margin:6px 0}
.cc-ad-form label{display:block;margin:8px 0;font-size:.9rem}
.cc-ad-form input[type=text],.cc-ad-form input[type=url],.cc-ad-form textarea{width:100%}

/* ===== v27.9.0: Packs em linha, menu móvel e correções de UI ===== */

/* Cartões de packs: alinhamento perfeito com flex (botões sempre no fundo) */
.cc-packs-grid{align-items:stretch}
.cc-pack-card{display:flex;flex-direction:column;position:relative;padding-top:28px}
.cc-pack-image{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:16px;margin-bottom:14px;background:#fff}
.cc-pack-desc{color:#45586f;min-height:0}
.cc-pack-features{list-style:none;margin:10px 0 14px;padding:0}
.cc-pack-features li{position:relative;padding:5px 0 5px 26px;border-bottom:1px solid #eef2f8;font-size:.92rem;font-weight:600;color:#2c3e55}
.cc-pack-features li:last-child{border-bottom:0}
.cc-pack-features li:before{content:"✓";position:absolute;left:0;top:4px;width:18px;height:18px;border-radius:50%;background:var(--cc-secondary);color:#102033;font-size:.7rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center}
.cc-pack-card .cc-price-public,.cc-pack-card .cc-price-locked{margin-top:auto}
.cc-buy-actions-compact{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cc-button-compact{padding:9px 14px;min-height:40px;font-size:.88rem;border-radius:11px;flex:1}
.cc-pack-recommended{border:2px solid var(--cc-secondary);box-shadow:0 22px 55px rgba(253,185,19,.18);overflow:visible !important}
.cc-pack-flag{position:absolute;top:-16px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--cc-secondary);color:#102033;font-weight:900;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:6px 14px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:10}
.cc-pack-recommended .cc-kicker{margin-top:10px}
@media(max-width:1180px){.cc-packs-grid.cc-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.cc-packs-grid.cc-grid-4{grid-template-columns:1fr}}

/* Menu móvel: hambúrguer em vez de scroll horizontal */
/* ===== Menu mobile — drawer lateral ===== */
.cc-nav-toggle{display:none;background:transparent;border:0;cursor:pointer;padding:10px;margin-left:auto;z-index:201;position:relative}
.cc-nav-toggle span{display:block;width:24px;height:2.5px;background:#fff;border-radius:3px;margin:5px 0;transition:transform .22s ease,opacity .18s ease}
body.cc-nav-open .cc-nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.cc-nav-open .cc-nav-toggle span:nth-child(2){opacity:0;transform:scaleX(0)}
body.cc-nav-open .cc-nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.cc-nav-cta-mobile{display:none}
/* Drawer-head oculto globalmente, visível apenas no drawer mobile */
.cc-nav-drawer-head{display:none !important}
/* Overlay escurecido */
.cc-nav-overlay{display:none;position:fixed;inset:0;background:rgba(10,20,40,.52);z-index:198;backdrop-filter:blur(2px)}
body.cc-nav-open .cc-nav-overlay{display:block}
@media(max-width:900px){
    .cc-header-inner{flex-direction:row;align-items:center;padding:12px 0;min-height:auto;gap:10px}
    .cc-nav-toggle{display:flex;flex-direction:column;justify-content:center;z-index:201;position:relative}
    .cc-header-cta{display:none}
    /* No drawer aberto, ocultar o hamburger — o X está dentro do drawer */
    body.cc-nav-open .cc-nav-toggle{opacity:0;pointer-events:none}
    /* Drawer: painel lateral da direita */
    .cc-nav{
        position:fixed;top:0;right:0;bottom:0;
        width:min(320px,88vw);
        background:var(--cc-primary);
        z-index:200;
        display:flex;flex-direction:column;
        transform:translateX(100%);
        transition:transform .28s cubic-bezier(.4,0,.2,1);
        box-shadow:-8px 0 40px rgba(0,0,0,.22);
        overflow-y:auto;
        padding:0;
    }
    body.cc-nav-open .cc-nav{transform:translateX(0)}
    /* Cabeçalho do drawer */
    .cc-nav-drawer-head{display:flex !important;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(255,255,255,.14)}
    .cc-nav-drawer-brand{font-size:1rem;font-weight:900;color:#fff}
    .cc-nav-drawer-close{background:transparent;border:0;color:#fff;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;opacity:.8}
    .cc-nav-drawer-close:hover{opacity:1;background:rgba(255,255,255,.15)}
    /* Lista de links */
    .cc-nav ul{flex-direction:column;align-items:stretch;gap:0;list-style:none;margin:0;padding:10px 0 12px;overflow:visible;white-space:normal}
    .cc-nav li{display:block}
    .cc-nav a{display:flex;align-items:center;padding:14px 22px;font-size:.98rem;font-weight:700;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08);transition:background .15s}
    .cc-nav a:hover,.cc-nav a:focus{background:rgba(255,255,255,.10);color:var(--cc-secondary)}
    .cc-nav li:last-child a{border-bottom:0}
    /* CTA Área institucional no fundo do drawer */
    .cc-nav-cta-mobile{display:block;margin:16px 20px 24px;background:var(--cc-secondary);color:#102033!important;border-radius:14px;text-align:center;font-weight:900;font-size:.96rem;padding:14px 20px!important;text-decoration:none;border-bottom:0!important;box-shadow:0 4px 14px rgba(0,0,0,.18);flex-shrink:0}
    .cc-nav-cta-mobile:hover{background:#e8a600}
}

/* Correções do relatório: quebra de palavras e overflow em mobile */
.cc-section h1,.cc-section h2,.cc-section h3,.cc-hero h1,.cc-home-copy h1,.cc-card-public h3,.cc-button{overflow-wrap:break-word;word-break:normal;min-width:0}
.cc-card-public,.cc-panel,.cc-form{min-width:0;max-width:100%}
@media(max-width:720px){
    .cc-button{white-space:normal;text-align:center}
    .cc-container{width:min(1180px,94vw)}
    body{overflow-x:hidden}
}
/* Rodapé: nota de confirmação */
.cc-footer-disclaimer{font-size:.85rem;color:#9fb0c3;margin-top:10px}

/* ===== v27.10.0: reforço do menu desktop e imagem de pack ===== */
/* Desktop: o menu pode quebrar linha em larguras médias em vez de transbordar para trás do botão */
.cc-header-inner{flex-wrap:nowrap}
.cc-nav{min-width:0}
.cc-nav ul{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}
.cc-header-cta{flex-shrink:0}
.cc-brand{flex-shrink:0}
/* Imagem do pack contida e proporcional ao cartão */
.cc-pack-image{width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:16px;margin:0 0 14px;background:#fff;display:block}
@media(min-width:901px){.cc-nav-toggle,.cc-nav-cta-mobile{display:none!important}}

/* ===== v27.11.0: variações em botões ===== */
.cc-variation-pills{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0}
.cc-variation-pill{border:2px solid #cfe0f5;background:#fff;color:#0057B8;font-weight:800;border-radius:12px;padding:10px 18px;cursor:pointer;font-size:.95rem;transition:all .15s ease}
.cc-variation-pill:hover{border-color:#0057B8;background:#eef6ff}
.cc-variation-pill.is-active{background:#0057B8;border-color:#0057B8;color:#fff}

/* ===== v27.12.0: botão de compra do produto em amarelo ===== */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart button.button,
.single-product .single_add_to_cart_button{background:var(--cc-secondary)!important;color:#102033!important;font-weight:900;border:0;border-radius:12px;padding:13px 22px}
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:hover{background:#e8a600!important;color:#102033!important}
.woocommerce div.product form.cart .single_add_to_cart_button.disabled{opacity:.55}

/* ===== v27.15.0: tabs de autenticação institucional ===== */
.cc-auth-tabs{display:flex;gap:8px;margin-bottom:14px}
.cc-auth-tab{flex:1;border:2px solid #cfe0f5;background:#fff;color:#0057B8;font-weight:800;border-radius:12px;padding:12px 10px;cursor:pointer;font-size:.92rem;transition:all .15s ease}
.cc-auth-tab:hover{border-color:#0057B8;background:#eef6ff}
.cc-auth-tab.is-active{background:#0057B8;border-color:#0057B8;color:#fff}
.cc-auth-panel{display:none}
.cc-auth-panel.is-active{display:block}

/* ===== v27.16.0: pedido institucional a toda a largura + campos condicionais ===== */
.cc-request-fullwidth{margin-top:26px}
.cc-request-fullwidth .cc-public-request-form{max-width:100%}
.cc-profile-entity[hidden]{display:none}
.cc-profile-entity{margin-top:-6px}

/* ===== v28.5.0: ficha individual de curso ===== */
.cc-breadcrumb{font-size:.85rem;color:var(--cc-muted);margin-bottom:20px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cc-breadcrumb a{color:var(--cc-primary);text-decoration:none}
.cc-breadcrumb a:hover{text-decoration:underline}
.cc-course-single-layout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start}
@media(max-width:768px){.cc-course-single-layout{grid-template-columns:1fr}}
.cc-course-title{font-size:1.8rem;line-height:1.2;margin-bottom:8px}
.cc-course-description{margin:16px 0}
.cc-course-details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:20px 0;padding:20px;background:var(--cc-surface,#f8fafc);border-radius:12px}
.cc-detail-item{display:flex;flex-direction:column;gap:2px}
.cc-detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--cc-muted);font-weight:700}
.cc-course-section{margin:24px 0}
.cc-course-section h2{font-size:1.1rem;margin-bottom:8px}
.cc-course-single-aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
.cc-institution-aside img{border-radius:8px}
.cc-grid-3{align-items:stretch}
.cc-card-comparable.cc-card-public{display:flex;flex-direction:column;height:100%}
.cc-card-comparable.cc-card-public .cc-card-footer{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px}
.cc-card-footer .cc-card-source-link{display:inline-block;font-size:.75rem;font-weight:700;color:var(--cc-primary);text-decoration:none}
.cc-card-footer .cc-card-source-link:hover{text-decoration:underline}
.cc-card-actions{display:flex;gap:8px;flex-wrap:wrap}
.cc-card-actions .cc-button{padding:5px 10px;font-size:.72rem;min-height:28px;border-radius:8px;font-weight:800}
.cc-card-title-link{color:inherit;text-decoration:none}
.cc-card-title-link:hover{color:var(--cc-primary)}

/* ===== v28.6.0: comparador de cursos ===== */
/* Checkbox de comparação no card */
.cc-card-comparable{position:relative}
.cc-compare-checkbox-label{position:absolute;top:12px;right:12px;z-index:2;cursor:pointer;display:flex;align-items:center;gap:6px}
.cc-compare-checkbox{position:absolute;opacity:0;width:0;height:0}
.cc-compare-checkbox-ui{display:block;width:22px;height:22px;border:2px solid #cfe0f5;border-radius:6px;background:#fff;transition:all .15s ease;flex-shrink:0}
.cc-compare-checkbox:checked + .cc-compare-checkbox-ui{background:var(--cc-primary,#0057B8);border-color:var(--cc-primary,#0057B8)}
.cc-compare-checkbox:checked + .cc-compare-checkbox-ui::after{content:'✓';display:block;color:#fff;font-size:14px;font-weight:900;text-align:center;line-height:18px}
.cc-card-selected{outline:2px solid var(--cc-primary,#0057B8);outline-offset:2px}

/* Barra flutuante */
.cc-compare-bar{position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--cc-primary,#0057B8);color:#fff;padding:14px 20px;box-shadow:0 -4px 16px rgba(0,0,0,.18)}
.cc-compare-bar-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.cc-compare-count{font-weight:800;font-size:.95rem;white-space:nowrap}
.cc-compare-names{display:flex;gap:8px;flex-wrap:wrap;flex:1}
.cc-compare-name-pill{background:rgba(255,255,255,.2);border-radius:20px;padding:3px 10px;font-size:.82rem}
.cc-compare-bar-actions{display:flex;gap:8px;flex-wrap:wrap}
.cc-compare-bar .cc-button{background:#fff;color:var(--cc-primary,#0057B8);font-weight:800}
.cc-compare-bar .cc-button:hover{background:#eef6ff}
.cc-compare-bar .cc-button-secondary{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.4)}
.cc-compare-bar .cc-button-secondary:hover{background:rgba(255,255,255,.25)}

/* Tabela de comparação */
.cc-compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cc-compare-table{width:100%;border-collapse:collapse;min-width:500px}
.cc-compare-table th,.cc-compare-table td{padding:12px 14px;border:1px solid #e2ecf7;vertical-align:top;font-size:.9rem}
.cc-compare-th-label{background:#f0f6ff;font-weight:700;width:160px;min-width:120px}
.cc-compare-th-course{background:#f0f6ff;font-weight:700;text-align:center;min-width:180px}
.cc-compare-th-course a{display:block;font-size:.95rem;color:var(--cc-primary,#0057B8);text-decoration:none;margin-bottom:4px}
.cc-compare-institution{display:block;font-size:.78rem;font-weight:400;color:#666}
.cc-compare-label{background:#f8fafc;font-weight:600;color:#444;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}
.cc-compare-value{text-align:center;color:#222}
.cc-compare-table tr:hover td{background:#f5faff}
/* Comparador desktop */
.cc-compare-table{table-layout:fixed;width:100%;border-collapse:collapse;min-width:480px}
.cc-compare-th-label{width:180px;min-width:150px;background:#f0f6ff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#3d5168;padding:12px 14px;vertical-align:top;word-break:break-word;overflow-wrap:break-word;white-space:normal}
.cc-compare-th-course{background:#f0f6ff;font-weight:700;text-align:center;padding:12px 14px;vertical-align:top;width:calc((100% - 130px) / var(--cc-compare-cols, 4))}
.cc-compare-th-course a{display:block;font-size:.92rem;color:var(--cc-primary);text-decoration:none;margin-bottom:4px;font-weight:800}
.cc-compare-institution{display:block;font-size:.75rem;font-weight:500;color:var(--cc-muted)}
.cc-compare-label-cell{background:#f8fafc;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#607085;padding:10px 14px;vertical-align:middle;white-space:normal;word-break:break-word;overflow-wrap:break-word;width:160px;min-width:140px}
.cc-compare-table td,.cc-compare-table th{border:1px solid #e2ecf7;vertical-align:top}
.cc-compare-value{padding:10px 12px;font-size:.88rem;text-align:center;color:#1e293b}
.cc-compare-table tr:hover td{background:#f5faff}
/* Botões */
.cc-compare-actions-row td{background:#f0f6ff !important;padding:12px 10px;vertical-align:bottom}
.cc-compare-actions-cell{vertical-align:bottom;text-align:center}
.cc-compare-course-name{display:block;font-size:.82rem;font-weight:800;color:var(--cc-text);margin-bottom:3px;text-align:center}
.cc-compare-inst-name{display:block;font-size:.72rem;color:var(--cc-muted);font-weight:600;margin-bottom:8px;text-align:center}
.cc-compare-btn-group{display:flex;flex-direction:column;gap:6px;align-items:center}
.cc-compare-btn{padding:7px 12px !important;font-size:.78rem !important;min-height:32px !important;border-radius:10px !important;white-space:nowrap;width:100%}

/* Comparador mobile — scroll horizontal simples */
@media(max-width:700px){
    .cc-compare-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;border:1px solid var(--cc-border)}
    .cc-compare-table{min-width:480px;table-layout:auto}
    .cc-compare-th-label{min-width:90px;font-size:.72rem;padding:8px 10px}
    .cc-compare-th-course{min-width:130px;font-size:.78rem;padding:8px 10px}
    .cc-compare-th-course a{font-size:.82rem}
    .cc-compare-label-cell{font-size:.7rem;padding:7px 10px;min-width:110px;width:120px}
    .cc-compare-value{font-size:.8rem;padding:7px 10px}
    .cc-compare-btn{font-size:.72rem !important;padding:6px 8px !important;min-height:28px !important}
    .cc-compare-actions-row td{padding:8px 6px}
}

/* ===== v28.7.0: correções visuais ===== */
/* Bloco de código da API — evitar overflow fora do contentor */
.cc-code-block{background:#1e2d3d;color:#e8f0fa;border-radius:14px;padding:18px 20px;overflow-x:auto;font-size:.82rem;line-height:1.6;white-space:pre;word-break:normal;max-width:100%;display:block;margin:12px 0}
.cc-code-block code{background:none;color:inherit;font-size:inherit;white-space:pre}

/* ===== v28.9.3 / v28.9.4: toggle grelha/lista ===== */
.cc-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.cc-list-header h1{margin:0 0 4px}
.cc-list-header p{margin:0}
.cc-view-toggle{display:flex;gap:4px;background:#f0f4fa;border:1px solid var(--cc-border);border-radius:12px;padding:4px}
.cc-view-btn{background:transparent;border:0;border-radius:9px;padding:7px 10px;cursor:pointer;color:var(--cc-muted);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.cc-view-btn:hover{background:#e2eaf7;color:var(--cc-primary)}
.cc-view-btn.active{background:#fff;color:var(--cc-primary);box-shadow:0 1px 4px rgba(0,34,85,.10)}

/* Grelha — card body ocupa o espaço disponível */
.cc-card-body{flex:1}

/* ---- MODO LISTA ---- */
.cc-view-list.cc-grid-3{grid-template-columns:1fr;gap:10px}

/* Card vira coluna: badges | body (nome+área+desc+preço) | rodapé (links+botões) */
.cc-view-list .cc-card-public{
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:0 20px;
    padding:16px 22px;
    height:auto !important;
}
/* Linha 1: badges — ocupa col 1 a 3 */
.cc-view-list .cc-card-public .cc-card-meta{grid-column:1/-1;grid-row:1;display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.cc-view-list .cc-card-public .cc-card-top-row{grid-column:1/-1;grid-row:1;margin-bottom:6px}
/* Linha 2 col 1: checkbox */
.cc-view-list .cc-card-public .cc-compare-checkbox-label{grid-column:1;grid-row:2;position:static}
/* Linha 2 col 2: body (nome + metadados + desc + preço) */
.cc-view-list .cc-card-public .cc-card-body{grid-column:2;grid-row:2}
.cc-view-list .cc-card-public .cc-card-body h3{margin:0 0 2px;font-size:1rem;white-space:normal;word-break:normal}
.cc-view-list .cc-card-public .cc-card-body .cc-muted{margin:0 0 2px;font-size:.85rem}
.cc-view-list .cc-card-public .cc-card-body .cc-card-desc{margin:0 0 2px;font-size:.85rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-view-list .cc-card-public .cc-card-body .cc-card-price{margin:0;font-size:.9rem}
/* Linha 2 col 3: rodapé (fonte + botões em coluna) */
.cc-view-list .cc-card-public .cc-card-footer{grid-column:3;grid-row:2;margin-top:0;padding-top:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.cc-view-list .cc-card-public .cc-card-footer .cc-card-actions{flex-direction:row;gap:8px}
/* Ocultar campos desnecessários no modo lista */
.cc-view-list .cc-card-public .cc-card-note{display:none}
.cc-view-list .cc-card-public .cc-source-row{display:none}
@media(max-width:700px){
    .cc-view-list .cc-card-public{grid-template-columns:auto 1fr;grid-template-rows:auto auto auto}
    .cc-view-list .cc-card-public .cc-card-meta{grid-column:1/-1;grid-row:1}
    .cc-view-list .cc-card-public .cc-compare-checkbox-label{grid-column:1;grid-row:2;align-self:start;margin-top:4px}
    .cc-view-list .cc-card-public .cc-card-body{grid-column:2;grid-row:2}
    .cc-view-list .cc-card-public .cc-card-footer{grid-column:1/-1;grid-row:3;align-items:flex-start;flex-direction:row;flex-wrap:wrap}
}

/* ===== v28.10.0: placeholders publicitários ===== */
.cc-ad-placeholder{background:repeating-linear-gradient(45deg,#f8fafd,#f8fafd 8px,#eef2f9 8px,#eef2f9 16px);border:2px dashed #c8d6ea;opacity:.92}
.cc-ad-placeholder-label{display:inline-block;background:#e8f0fb;color:#3a5fa0;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.cc-ad-placeholder-icon{font-size:2rem;margin-bottom:8px}
.cc-ad-placeholder h3{color:#4a6080;margin:0 0 6px}
.cc-ad-placeholder p{color:#6a82a0;font-size:.88rem}
.cc-sponsored-img{width:100%;height:120px;object-fit:cover;border-radius:12px;margin-bottom:10px}

/* ===== v28.12.0: anúncios em cursos/instituições e popup ===== */
.cc-sponsored-section{margin-bottom:8px}
.cc-sponsored-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.cc-kicker-sm{font-size:.68rem;padding:4px 10px}
.cc-sponsored-label{display:inline-block;background:#fff7df;color:#92400e;border:1px solid #fde68a;border-radius:999px;padding:2px 8px;font-size:.7rem;font-weight:800;text-transform:uppercase;margin-bottom:6px}
.cc-sponsored-card-sm{padding:16px;font-size:.88rem}
.cc-sponsored-card-sm strong{display:block;margin-bottom:4px}

/* Popup */
.cc-popup-overlay{position:fixed;inset:0;background:rgba(10,20,40,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.cc-popup-overlay[hidden]{display:none}
.cc-popup-box{background:#fff;border-radius:22px;padding:32px;max-width:480px;width:100%;position:relative;box-shadow:0 24px 60px rgba(0,34,85,.18)}
.cc-popup-close{position:absolute;top:14px;right:16px;background:transparent;border:0;font-size:1.2rem;cursor:pointer;color:var(--cc-muted);line-height:1;padding:4px 8px}
.cc-popup-close:hover{color:var(--cc-text)}
.cc-popup-img{width:100%;border-radius:12px;margin-bottom:14px;max-height:200px;object-fit:cover}
.cc-popup-box h3{margin:0 0 8px;font-size:1.1rem}
.cc-popup-box p{margin:0 0 14px;font-size:.92rem;color:var(--cc-muted)}
@media(max-width:500px){.cc-popup-box{padding:22px}}

/* ===== v28.13.0: ajustes visuais ===== */
.cc-button-sm{padding:6px 12px !important;font-size:.76rem !important;min-height:30px !important;border-radius:9px !important;font-weight:700}
.cc-search .cc-button-sm{min-width:auto}
.cc-card-inst-name{font-size:.98rem;margin:0 0 4px}

/* ===== v28.14.0: simuladores ===== */
/* Ecrã inicial */
.cc-sim-modes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:8px}
.cc-sim-mode-card{background:#fff;border:1px solid var(--cc-border);border-radius:20px;padding:28px;text-decoration:none;color:var(--cc-text);display:flex;flex-direction:column;gap:10px;transition:box-shadow .18s,border-color .18s}
.cc-sim-mode-card:hover{box-shadow:0 8px 32px rgba(0,34,85,.10);border-color:var(--cc-primary)}
.cc-sim-mode-icon{font-size:2rem;line-height:1}
.cc-sim-mode-card h2{margin:0;font-size:1.05rem}
.cc-sim-mode-card p{margin:0;font-size:.88rem;color:var(--cc-muted);flex:1}
.cc-sim-mode-card .cc-button{align-self:flex-start;margin-top:6px}
/* Topbar */
.cc-sim-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.cc-sim-topbar h1,.cc-sim-topbar h2{margin:0}
.cc-sim-back{font-size:.8rem;padding:6px 12px;min-height:0;border-radius:10px;background:#fff;color:var(--cc-primary);border:1px solid #cfe0f5;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:background .15s,color .15s}
.cc-sim-back:hover{background:#eef6ff;color:var(--cc-primary)}
/* Form */
.cc-simulator-form{padding:24px;margin-bottom:0}
.cc-sim-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cc-sim-field{display:flex;flex-direction:column;gap:6px}
.cc-sim-field select,.cc-sim-field input[type="number"]{width:100%;border:1px solid var(--cc-border);border-radius:12px;padding:10px 14px;font:inherit;background:#fff;min-height:44px}
.cc-sim-field select:focus,.cc-sim-field input:focus{outline:3px solid rgba(0,87,184,.15);border-color:var(--cc-primary)}
.cc-sim-field small{font-size:.78rem}
/* Wizard */
.cc-wizard-panel{padding:32px}
.cc-wizard-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.cc-wizard-option{background:#f4f8fd;border:2px solid var(--cc-border);border-radius:14px;padding:12px 20px;font:inherit;font-size:.92rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:left}
.cc-wizard-option:hover:not(:disabled){background:#e2eaf7;border-color:var(--cc-primary);color:var(--cc-primary)}
.cc-wizard-option-skip{background:#f0f0f0;font-style:italic}
.cc-wizard-option-selected{background:#e2eaf7;border-color:var(--cc-primary);color:var(--cc-primary);font-weight:600}
.cc-wizard-option-empty{background:#f5f5f5;border-color:#e0e0e0;color:#bdbdbd;cursor:not-allowed;opacity:.6}
.cc-wiz-count{font-size:.8rem;font-weight:400;opacity:.7;margin-left:4px}
.cc-wizard-input{width:100%;max-width:280px;border:1px solid var(--cc-border);border-radius:12px;padding:12px 16px;font:inherit;font-size:1.1rem;margin-top:8px}
/* Progresso wizard */
.cc-sim-progress{display:flex;align-items:center;gap:8px}
.cc-sim-progress-dot{width:10px;height:10px;border-radius:50%;background:#dde3ef;transition:background .2s}
.cc-sim-progress-dot.active{background:var(--cc-primary)}
.cc-sim-progress-dot.done{background:#22c55e}
/* Calculadora */
.cc-nota-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:.83rem;margin-bottom:4px}
.cc-nota-dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.cc-nota-dot.cc-nota-green{background:#22c55e}
.cc-nota-dot.cc-nota-yellow{background:#f59e0b}
.cc-nota-dot.cc-nota-red{background:#ef4444}
.cc-nota-dot.cc-nota-unknown{background:#94a3b8}
.cc-nota-card{position:relative;display:flex;flex-direction:column;border-top:4px solid #e2e8f0}
.cc-nota-card-green{border-top-color:#22c55e}
.cc-nota-card-yellow{border-top-color:#f59e0b}
.cc-nota-card-red{border-top-color:#ef4444}
.cc-nota-badge{display:inline-block;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:800;margin-bottom:8px}
.cc-nota-badge-green{background:#dcfce7;color:#166534}
.cc-nota-badge-yellow{background:#fef3c7;color:#92400e}
.cc-nota-badge-red{background:#fee2e2;color:#991b1b}
@media(max-width:800px){.cc-sim-modes-grid{grid-template-columns:1fr}.cc-sim-grid{grid-template-columns:1fr}}

/* ===== v28.15.1: formulário de correção de curso expandido ===== */
.cc-ccf-section{margin-top:20px;padding-top:14px;border-top:1px solid var(--cc-border)}
.cc-ccf-section-label{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;user-select:none;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:10px}
.cc-ccf-section-label::after{content:"\25BE";font-size:.85em;color:#94a3b8;transition:transform .2s ease;margin-left:auto}
.cc-ccf-section.cc-ccf-collapsed .cc-ccf-section-label{margin-bottom:0}
.cc-ccf-section.cc-ccf-collapsed .cc-ccf-section-label::after{transform:rotate(-90deg)}
.cc-ccf-section.cc-ccf-collapsed .cc-ccf-grid,.cc-ccf-section.cc-ccf-collapsed .cc-ccf-checks{display:none}
.cc-ccf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.cc-ccf-field{display:flex;flex-direction:column;gap:4px;font-size:.82rem;font-weight:600;color:var(--cc-text)}
.cc-ccf-field .cc-ccf-note-inline{margin-top:3px}
.cc-ccf-field-full{grid-column:1/-1}
.cc-ccf-field input,.cc-ccf-field textarea,.cc-ccf-field select{font:inherit;font-size:.84rem;font-weight:400;border:1px solid var(--cc-border);border-radius:10px;padding:6px 11px;width:100%;background:#fff}
.cc-ccf-field input:focus,.cc-ccf-field textarea:focus{outline:3px solid rgba(0,87,184,.12);border-color:var(--cc-primary)}
.cc-ccf-note{font-size:.72rem;color:#dc2626;font-weight:400;font-style:normal;margin-left:4px}
.cc-ccf-checks{display:flex;flex-wrap:wrap;gap:12px 24px;padding:4px 0}
@media(max-width:700px){.cc-ccf-grid{grid-template-columns:1fr}}
/* v28.16.1: nota inline nos labels dos campos */
.cc-ccf-note-inline{display:block;font-size:.7rem;font-weight:400;color:var(--cc-muted);margin-top:3px;font-style:normal}

/* ===== v28.17.1: histórico de importações CSV ===== */
.cc-import-entry{background:#fff;border:1px solid var(--cc-border);border-radius:16px;padding:16px 18px;margin-bottom:12px}
.cc-import-entry-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.cc-import-filename{font-weight:800;font-size:.88rem;word-break:break-all}
.cc-import-meta{font-size:.8rem;color:var(--cc-muted);text-align:right}
.cc-import-stat{font-weight:700;border-radius:999px;padding:2px 8px;font-size:.75rem;display:inline-block}
.cc-import-stat.cc-ok{background:#dcfce7;color:#166534}
.cc-import-stat.cc-warn{background:#fef3c7;color:#92400e}
.cc-import-stat.cc-err{background:#fee2e2;color:#991b1b}
.cc-import-row-warn{border-left:4px solid #f59e0b}
.cc-import-row-ok{border-left:4px solid #22c55e}
.cc-import-report-table{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:8px}
.cc-import-report-table th{background:#f8fafc;font-weight:700;padding:7px 10px;text-align:left;border-bottom:1px solid var(--cc-border)}
.cc-import-report-table td{padding:6px 10px;border-bottom:1px solid #f0f4fa;vertical-align:top}
.cc-import-report-table tr:last-child td{border-bottom:0}
.cc-import-rejected td{color:#991b1b}
.cc-import-review td{color:#92400e}
@media(max-width:600px){.cc-import-entry-head{flex-direction:column}.cc-import-meta{text-align:left}}

/* ===== v28.17.18: card de curso — nome da instituição e badges de candidatura ===== */
.cc-card-inst-line{font-size:.78rem;font-weight:700;color:var(--cc-primary);margin:0 0 3px;text-transform:uppercase;letter-spacing:.03em}
.cc-badge-app-open{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}
.cc-badge-app-soon{background:#fef3c7;color:#92400e;border:1px solid #fde68a}
.cc-badge-app-closed{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}
.cc-badge-app-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}
.cc-badge-app-info-long{display:block;border-radius:10px;padding:6px 10px;font-size:.78rem;line-height:1.4;white-space:normal}

/* ===== v28.17.20: card instituição — logo, badges em baixo, descrição centrada ===== */
.cc-inst-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:2px}
.cc-inst-card-title-wrap{flex:1;min-width:0;overflow:hidden}
.cc-inst-logo-wrap{flex-shrink:0;width:60px;height:48px;display:flex;align-items:flex-start;justify-content:flex-end;overflow:hidden}
.cc-inst-logo{width:60px;height:48px;object-fit:contain;object-position:top right;border-radius:4px}
.cc-inst-meta{font-size:.82rem;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-inst-description{font-size:.86rem;text-align:justify;color:var(--cc-text);margin:10px 0;line-height:1.55;word-break:normal;overflow-wrap:break-word;max-width:100%}
.cc-inst-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
/* Badge de candidaturas — dentro do rodapé, acima do confirmar na fonte */
.cc-card-app-status{margin:0 0 8px}

/* ===== v28.17.24/25: pesquisa avançada na página de cursos ===== */
.cc-advanced-search{background:#fff;border:1px solid var(--cc-border);border-radius:16px;padding:0;margin-top:12px;overflow:hidden}
/* Remover seta nativa do details/summary em todos os browsers */
.cc-advanced-search>summary{list-style:none}
.cc-advanced-search>summary::-webkit-details-marker{display:none}
.cc-advanced-search>summary::marker{display:none;content:''}
.cc-advanced-search-toggle{display:flex;align-items:center;gap:6px;padding:12px 18px;cursor:pointer;font-weight:700;font-size:.9rem;color:var(--cc-primary);user-select:none}
.cc-advanced-search-toggle .cc-adv-arrow{display:inline-block;font-size:.75rem;transition:transform .2s;line-height:1}
details.cc-advanced-search[open] .cc-adv-arrow{transform:rotate(90deg)}
details.cc-advanced-search[open] .cc-advanced-search-toggle{border-bottom:1px solid var(--cc-border)}
/* Formulário e grelha */
.cc-advanced-form{padding:16px 18px 16px;display:block !important}
.cc-adv-grid{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px;align-items:end}
.cc-adv-field{display:flex;flex-direction:column;gap:4px}
.cc-adv-label{font-size:.8rem;font-weight:700;color:var(--cc-text)}
.cc-adv-select{width:100% !important;height:38px !important;border:1px solid var(--cc-border);border-radius:10px;padding:0 10px;font:inherit;font-size:.84rem;background:#fff;box-sizing:border-box;min-height:unset}
.cc-adv-select:focus{outline:3px solid rgba(0,87,184,.15);border-color:var(--cc-primary)}
.cc-adv-actions{display:flex;gap:8px;align-items:center;padding-top:4px}
.cc-button-sm-adv{padding:7px 14px !important;font-size:.78rem !important;min-height:32px !important;border-radius:10px !important;line-height:1.2}
@media(max-width:900px){.cc-adv-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:600px){.cc-adv-grid{grid-template-columns:1fr !important}}

/* ===== v28.17.28/29: homepage ajustes ===== */
/* Card da direita no hero — sem border-radius */
.cc-home-decision-card--flat{border-radius:0 !important}
/* Secção comercial mais compacta */
.cc-commercial-strip--compact{padding-top:22px !important;padding-bottom:22px !important}
.cc-commercial-strip--compact h2{font-size:1.15rem !important;letter-spacing:-.02em}
/* Botões da secção comercial — mais pequenos e elegantes */
.cc-commercial-strip .cc-button{padding:8px 16px !important;font-size:.8rem !important;min-height:32px !important;border-radius:999px !important;letter-spacing:.01em}
/* Quadrados de funcionalidades — menores */
.cc-action-card{padding:22px 20px !important;display:flex;flex-direction:column}
.cc-action-card h3{font-size:1.15rem !important;margin:0 0 8px}
.cc-action-card p{font-size:.92rem !important;line-height:1.55;flex:1;margin-bottom:16px}
.cc-action-card strong{font-size:.88rem !important;margin-top:auto;align-self:flex-start}

/* ===== v28.17.28: contactos — formulário 30% menor ===== */
.cc-contact-form{font-size:.84rem}
.cc-contact-form input,.cc-contact-form select,.cc-contact-form textarea{font-size:.82rem !important;padding:6px 9px !important;min-height:unset}
.cc-contact-form textarea{min-height:90px !important}
.cc-contact-form .cc-button{padding:8px 18px !important;font-size:.84rem !important;min-height:34px !important}
.cc-contact-form .cc-check{margin:6px 0}
.cc-contact-form .cc-check-text{font-size:.78rem}
.cc-contact-form .cc-form-grid{gap:8px}

/* ===== v28.17.29: stats do painel institucional — compactos ===== */
.cc-dashboard-stats{gap:10px !important}
.cc-stat-box{background:#f6f9fd;border:1px solid var(--cc-border);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:2px}
.cc-stat-box strong{font-size:1.5rem;color:#0057B8;line-height:1.1;font-weight:900}
.cc-stat-box span{font-size:.72rem;color:#5d6b7a;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.cc-stat-box--accent{background:#edf5ff;border-color:#bfdbfe}
.cc-stat-box--accent strong{font-size:.95rem;line-height:1.3}

/* ===== v28.17.35: WooCommerce minha-conta — CSS limpo ===== */
.cc-account-layout{display:grid;grid-template-columns:minmax(200px,max-content) 1fr;gap:20px;align-items:start}
/* Nav com visual de cc-panel mas sem padding — para linhas e destaque chegarem às bordas */
.cc-account-nav{background:var(--cc-card);border:1px solid var(--cc-border);border-radius:26px;box-shadow:var(--cc-shadow);overflow:hidden;padding:0}
.cc-account-nav-label{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--cc-muted);margin:0;padding:18px 20px 10px;display:block}
/* Navegação WooCommerce */
.cc-account-nav nav.woocommerce-MyAccount-navigation,.cc-account-nav .woocommerce-MyAccount-navigation{display:block;margin:0 !important;padding:0 !important;width:100% !important;float:none !important}
.cc-account-nav .woocommerce-MyAccount-navigation ul{margin:0 !important;padding:0 !important;list-style:none;width:100% !important}
.cc-account-nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link{border-bottom:1px solid var(--cc-border);border-left:3px solid transparent;margin:0 !important;display:block;width:100% !important;box-sizing:border-box}
.cc-account-nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link:last-child{border-bottom:none}
.cc-account-nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link.is-active{border-left-color:var(--cc-primary) !important}
.cc-account-nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link a{display:block;padding:13px 18px;color:var(--cc-text);font-size:.94rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s;width:100%;box-sizing:border-box}
.cc-account-nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link a:hover{background:#edf5ff !important;color:var(--cc-primary) !important}
.cc-account-nav .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link.is-active a{background:#edf5ff !important;color:var(--cc-primary) !important;font-weight:700}
@media(max-width:700px){.cc-account-layout{grid-template-columns:1fr}}
@media(max-width:700px){.cc-account-layout{grid-template-columns:1fr}}
/* Conteúdo */
.cc-account-content{padding:22px !important}
/* Títulos de secção — 60% menores */
.cc-account-content h1{font-size:1.1rem !important;margin-bottom:14px}
.cc-account-content h2{font-size:.95rem !important;margin-bottom:12px;font-weight:700}
.cc-account-content h3{font-size:.88rem !important;margin-bottom:10px}
/* Título "Encomendas" e "A minha conta" como h2 do WooCommerce */
.woocommerce-orders-page h1,.woocommerce-account h1{font-size:1rem !important}
.cc-account-content .woocommerce-table{width:100%;border-collapse:collapse;font-size:.82rem}
.cc-account-content .woocommerce-table th{background:#f0f4fa;padding:7px 10px;text-align:left;font-weight:700;font-size:.78rem}
.cc-account-content .woocommerce-table td{padding:7px 10px;border-bottom:1px solid var(--cc-border)}
/* Suprimir H1 duplicado do WooCommerce dentro do painel */
.cc-account-content .woocommerce > h1:first-child{display:none}
@media(max-width:700px){.cc-account-layout{grid-template-columns:1fr}}

/* ===== BANNER TOPO ===== */
.cc-banner-topo {
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
    padding: 12px 0;
    position: relative;
}

.cc-banner-topo-inner {
    max-width: var(--cc-max-width, 1200px);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    position: relative;
}

.cc-banner-topo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.cc-banner-topo-img {
    max-width: 960px;
    max-height: 120px;
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

.cc-banner-topo-text {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--cc-text, #1a1a1a);
    text-align: center;
}

.cc-banner-topo .cc-ad-label {
    position: absolute;
    bottom: 4px;
    right: 28px;
    font-size: 10px;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: .04em;
    pointer-events: none;
}

/* Placeholder */
.cc-banner-topo-placeholder {
    background: repeating-linear-gradient(
        45deg,
        #fafafa,
        #fafafa 10px,
        #f2f2f2 10px,
        #f2f2f2 20px
    );
    border: 2px dashed #d0d0d0;
}

.cc-banner-topo-placeholder .cc-banner-topo-inner {
    flex-direction: column;
    gap: 6px;
    text-align: center;
}

.cc-banner-placeholder-text {
    font-size: .88rem;
    color: #777;
    margin: 0;
}

@media (max-width: 768px) {
    .cc-banner-topo-inner {
        min-height: 60px;
        padding: 0 16px;
    }
    .cc-banner-topo-img {
        max-height: 80px;
    }
}

/* Paginação */
.cc-pagination{margin-top:32px}
.cc-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border:1px solid var(--cc-border);border-radius:8px;font-size:.88rem;color:var(--cc-text);text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.cc-page-btn:hover{background:var(--cc-primary);border-color:var(--cc-primary);color:#fff}
.cc-page-btn.active{background:var(--cc-primary);border-color:var(--cc-primary);color:#fff;font-weight:700;pointer-events:none}
.cc-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:var(--cc-muted);font-size:.88rem}
/* v28.17.60 — botões hero mobile e tabela comparação mobile */
@media(max-width:640px){
.cc-hero-actions{flex-direction:column;gap:10px}
.cc-hero-actions .cc-button{width:100%;justify-content:center;text-align:center;box-sizing:border-box}
.cc-compare-th-label,.cc-compare-label-cell{white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;-ms-hyphens:auto;font-size:.7rem;min-width:100px;width:120px;padding:7px 8px}
}
/* Homepage — grid de 6 cards patrocinados/destaque */
.cc-home-courses-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cc-course-preview-card--sm{padding:16px !important}
.cc-course-preview-card--sm h3{font-size:.92rem;margin:6px 0 6px;line-height:1.3}
.cc-course-preview-card--sm p{font-size:.8rem;margin:0 0 8px;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.cc-course-preview-card--sm .cc-badge{font-size:.68rem;padding:3px 8px}
.cc-course-preview-card--sm .cc-card-meta{font-size:.78rem;margin:6px 0}
.cc-course-preview-card--sm .cc-link{font-size:.8rem}
@media(max-width:900px){.cc-home-courses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cc-home-courses-grid{grid-template-columns:1fr}}
/* ===== v28.17.74 — redesign cards cursos ===== */

/* Topo do card: destaque + ciclo à esquerda, candidaturas à direita */
.cc-card-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.cc-card-top-left{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.cc-badge-app-top{white-space:nowrap;flex-shrink:0}

/* Label de verificação — texto simples, não badge */
.cc-card-verify-label{font-size:.72rem;color:var(--cc-muted);font-weight:600}

/* Linha de links ✓ Ver curso | ✓ Solicitar — lado a lado */
.cc-card-links-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.cc-card-links-row .cc-card-source-link{font-size:.75rem;font-weight:700;color:var(--cc-primary);text-decoration:none;white-space:nowrap}
.cc-card-links-row .cc-card-source-link:hover{text-decoration:underline}

/* Fundo do rodapé: verificação esquerda, botão direita */
.cc-card-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px}
.cc-btn-info{padding:5px 10px !important;font-size:.72rem !important;min-height:28px !important;border-radius:8px !important;font-weight:800 !important;white-space:nowrap}

/* Reduzir grelha em 30% — padding e fonte */
.cc-card-comparable.cc-card-public{padding:16px !important}
.cc-card-comparable .cc-card-body h3{font-size:.88rem}
.cc-card-comparable .cc-card-desc{font-size:.78rem}
.cc-card-comparable .cc-card-meta-line{font-size:.74rem}
.cc-card-comparable .cc-card-inst-line{font-size:.72rem}

/* Vista lista — ciclo/grau junto aos badges */
.cc-view-list .cc-card-public .cc-card-top-row{grid-column:1/-1;grid-row:1;margin-bottom:6px}
.cc-view-list .cc-card-public .cc-card-footer-bottom{align-items:flex-end;flex-direction:column}
.cc-view-list .cc-card-public .cc-card-links-row{flex-direction:column;gap:4px;align-items:flex-end}

/* Homepage — badge destaque no canto superior direito */
.cc-course-preview-card--sm{position:relative}
.cc-home-card-featured-badge{position:absolute;top:10px;right:10px;font-size:.68rem !important;padding:3px 8px !important}
.cc-home-card-city{font-size:.78rem;color:var(--cc-muted);font-weight:600;margin:4px 0 8px}
.cc-home-card-footer{margin-top:auto;padding-top:8px}
.cc-home-card-info-link{font-size:.78rem;font-weight:800}
/* ===== v28.17.76 — correcções sobreposição checkbox e candidaturas ===== */

/* Checkbox — manter position:absolute mas com z-index alto para não sobrepor badges */
.cc-card-comparable .cc-compare-checkbox-label{position:absolute;top:10px;right:10px;z-index:4}

/* Margem direita no card para o checkbox não sobrepor o badge de candidaturas */
.cc-card-comparable.cc-card-public{padding-right:42px}

/* Badge de candidaturas — texto curto, sem overflow */
.cc-badge-app-top{white-space:nowrap;max-width:none;font-size:.7rem !important}

/* Vista lista — top-row na linha 1, col 1 a fim */
.cc-view-list .cc-card-public .cc-card-top-row{grid-column:1/-1;grid-row:1;margin-bottom:6px;flex-wrap:wrap}
.cc-view-list .cc-card-public .cc-compare-checkbox-label{position:static;grid-column:1;grid-row:2}

/* ===== v28.17.90 — ficha de curso redesenhada ===== */

/* Hero */
.cc-course-hero{background:#fff;border-bottom:2px solid #e8eef6;padding:32px 0 28px;position:relative}
.cc-course-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cc-primary) 0%,#0070e0 100%)}
.cc-course-hero .cc-breadcrumb{color:#64748b;font-size:.8rem;margin-bottom:18px;display:flex;align-items:center;gap:6px}
.cc-course-hero .cc-breadcrumb a{color:var(--cc-primary);text-decoration:none;font-weight:500}
.cc-course-hero .cc-breadcrumb a:hover{text-decoration:underline}
.cc-course-hero-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.cc-course-hero-badges .cc-badge{background:#eef6ff;color:var(--cc-primary);border:1.5px solid #cfe0f5;font-weight:700}
.cc-course-hero-badges .cc-badge-soft{background:#f8fafc;color:#475569;border-color:#e2e8f0}
.cc-course-hero-badges .cc-badge-paid{background:#fff8e1;color:#92400e;border-color:#fbbf24;font-weight:800}
.cc-course-hero-badges .cc-badge-verified{background:#f0fdf4;color:#15803d;border-color:#86efac}
.cc-course-hero-title{font-size:clamp(1.6rem,3vw,2.6rem);font-weight:800;margin:0 0 16px;line-height:1.12;letter-spacing:-.04em;color:#0f172a}
.cc-course-hero-inst{display:flex;align-items:center;gap:10px;font-size:.9rem;color:#475569;margin:0;font-weight:500}
.cc-course-hero-inst strong{color:#1e293b;font-weight:700}
.cc-course-hero-inst-logo{width:36px;height:36px;object-fit:contain;border-radius:8px;background:#f8fafc;padding:4px;border:1px solid #e2e8f0;flex-shrink:0}

/* Layout */
.cc-course-single-layout{display:grid;grid-template-columns:1fr 340px;gap:36px;align-items:start;margin-top:36px}
.cc-course-single-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px}

/* Acordeão */
.cc-accordion{border:1.5px solid #e2e8f0;border-radius:16px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.cc-acc-item{border-bottom:1px solid #e8eef6}
.cc-acc-item:last-child{border-bottom:none}
.cc-acc-header{width:100%;display:flex;align-items:center;gap:16px;padding:18px 22px;background:#fff;border:none;border-left:3px solid transparent;cursor:pointer;font:inherit;font-size:.95rem;font-weight:600;color:#1e293b;text-align:left;transition:background .15s,color .15s,border-color .15s;letter-spacing:-.01em}
.cc-acc-header:hover{background:#f8fafc}
.cc-acc-item.is-open .cc-acc-header{background:#eff6ff;color:var(--cc-primary);border-left-color:var(--cc-primary)}
.cc-acc-num{font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;color:#94a3b8;letter-spacing:.04em;min-width:20px;flex-shrink:0;transition:color .15s}
.cc-acc-item.is-open .cc-acc-num{color:var(--cc-primary)}
.cc-acc-title{flex:1}
.cc-acc-caret{width:18px;height:18px;flex-shrink:0;border:1.5px solid #cbd5e1;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s;position:relative}
.cc-acc-caret::after{content:'';display:block;width:5px;height:5px;border-right:1.5px solid #64748b;border-bottom:1.5px solid #64748b;transform:rotate(-45deg) translate(-1px,1px);transition:transform .25s,border-color .25s}
.cc-acc-item.is-open .cc-acc-caret{background:var(--cc-primary);border-color:var(--cc-primary)}
.cc-acc-item.is-open .cc-acc-caret::after{border-color:#fff;transform:rotate(45deg) translate(-1px,-1px)}
.cc-acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.cc-acc-item.is-open .cc-acc-body{max-height:3000px}
.cc-acc-body-inner{padding:24px 28px 32px 56px}
.cc-acc-subhead{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:#94a3b8;margin:28px 0 12px;padding-bottom:8px;border-bottom:1px solid #e8eef6}
.cc-acc-subhead:first-child{margin-top:0}
.cc-course-desc-text{font-size:.97rem;line-height:1.8;color:#374151;margin-bottom:24px}
.cc-course-legal-note{font-size:.78rem;color:#94a3b8;margin-top:24px;padding:12px 16px;background:#f8fafc;border-radius:8px;line-height:1.5;border-left:3px solid #e2e8f0}

/* Cards de detalhe — borda esquerda azul */
.cc-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 20px;list-style:none;padding:0}
.cc-detail-item{background:#fff;border:1.5px solid #e2e8f0;border-left:3px solid var(--cc-primary);border-radius:0 10px 10px 0;padding:12px 16px;transition:box-shadow .15s}
.cc-detail-item:hover{box-shadow:0 2px 8px rgba(0,87,184,.08)}
.cc-detail-item dt{font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin-bottom:5px}
.cc-detail-item dd{font-size:.97rem;font-weight:700;color:#0f172a;margin:0;line-height:1.3}

/* Sidebar — informação rápida */
.cc-course-quick-panel{padding:0;overflow:hidden;border-radius:16px;border:1.5px solid #e2e8f0;box-shadow:0 1px 4px rgba(0,0,0,.04)}
.cc-quick-panel-header{background:var(--cc-primary);padding:14px 20px}
.cc-quick-panel-title{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.8);margin:0}
.cc-quick-list{margin:0;padding:8px 20px;display:flex;flex-direction:column;background:#fff}
.cc-quick-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f1f5f9}
.cc-quick-item:last-child{border-bottom:none}
.cc-quick-item dt{font-size:.78rem;font-weight:600;color:#64748b;flex-shrink:0}
.cc-quick-item dd{font-size:.88rem;font-weight:700;color:#1e293b;margin:0;text-align:right}
.cc-quick-fee{margin:0;padding:14px 20px;background:#eff6ff;border-top:1px solid #dbeafe;display:flex;justify-content:space-between;align-items:center}
.cc-quick-fee-label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#3b82f6}
.cc-quick-fee-value{font-size:1.35rem;font-weight:800;color:var(--cc-primary);letter-spacing:-.02em}
.cc-quick-app-status{padding:10px 20px;font-size:.82rem;font-weight:700;text-align:center}
.cc-app-open{background:#f0fdf4;color:#15803d}
.cc-app-soon{background:#fffbeb;color:#92400e}
.cc-app-closed{background:#fef2f2;color:#b91c1c}
.cc-app-info{background:#eff6ff;color:#1d4ed8}

/* Sidebar — CTAs maiores */
.cc-course-cta-panel{padding:16px;display:flex;flex-direction:column;gap:10px}
.cc-course-cta-panel .cc-button{padding:14px 20px !important;font-size:.95rem !important;font-weight:800 !important;justify-content:center;width:100%;border-radius:12px !important;letter-spacing:-.01em}
.cc-course-cta-panel .cc-button-ghost{border:2px solid var(--cc-primary) !important}

/* Sidebar — instituição */
.cc-inst-aside-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#64748b;margin:0 0 14px;padding-bottom:8px;border-bottom:1.5px solid #e8eef6}
.cc-inst-aside-logo{max-width:90px;max-height:54px;object-fit:contain;margin-bottom:12px;display:block}
.cc-inst-aside-name{font-weight:800;font-size:.95rem;margin:0 0 4px;color:#0f172a}

/* Partilhar — grelha 3×2 com ícones Tabler */
.cc-share-panel{padding:16px}
.cc-share-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:#64748b;margin:0 0 12px;text-align:center}
.cc-share-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cc-share-link{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-radius:var(--border-radius-md,8px);border:0.5px solid #e2e8f0;text-decoration:none;background:#f8fafc;transition:background .15s,transform .15s;cursor:pointer}
.cc-share-link:hover{background:#f1f5f9;transform:translateY(-1px)}
.cc-share-link span{font-size:.7rem;font-weight:600;color:#475569}
.cc-share-icon{font-size:20px;line-height:1}
.cc-share-icon--whatsapp{color:#25D366}
.cc-share-icon--instagram{color:#E1306C}
.cc-share-icon--facebook{color:#1877F2}
.cc-share-icon--linkedin{color:#0A66C2}
.cc-share-icon--twitter{color:#1a1a1a}
.cc-share-icon--email{color:#64748b}

/* Responsive */
@media(max-width:960px){
    .cc-course-single-layout{grid-template-columns:1fr}
    .cc-course-single-aside{position:static}
    .cc-detail-grid{grid-template-columns:1fr}
    .cc-acc-body-inner{padding:18px 18px 24px 24px}
}
@media(max-width:600px){
    .cc-course-hero{padding:24px 0 20px}
    .cc-course-hero-title{font-size:1.5rem}
    .cc-share-links{grid-template-columns:1fr}
    .cc-share-link.cc-share-email{grid-column:1}
}

/* ===== v28.17.93 — correcções PDF ===== */
/* Login institucional — line-height do título */
.cc-page-grid h1{line-height:1.15;letter-spacing:-.03em}

/* v28.17.99 — espaçamento homepage entre cursos e secção de acção */
.cc-section.cc-section-courses-home{padding-bottom:28px}

/* ===== v28.18.0 — Sistema de Notícias ===== */

/* Arquivo */
.cc-news-page-header{margin-bottom:32px}
.cc-news-page-header h1{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;margin:8px 0 10px;letter-spacing:-.03em}
.cc-news-legal-notice{background:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:0 10px 10px 0;padding:12px 16px;font-size:.82rem;color:#92400e;margin-bottom:24px;line-height:1.5}
.cc-news-cat-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.cc-news-cat-btn{display:inline-block;padding:6px 14px;border-radius:999px;border:1.5px solid #e2e8f0;font-size:.8rem;font-weight:600;text-decoration:none;color:#475569;background:#fff;transition:all .15s}
.cc-news-cat-btn:hover,.cc-news-cat-btn.is-active{background:var(--cc-primary);border-color:var(--cc-primary);color:#fff}
.cc-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}
.cc-news-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}
.cc-news-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.cc-news-card-cat{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--cc-primary)}
.cc-news-card-title{font-size:1rem;font-weight:700;margin:0;line-height:1.35;flex:1}
.cc-news-card-title a{color:var(--cc-text);text-decoration:none}
.cc-news-card-title a:hover{color:var(--cc-primary)}
.cc-news-card-excerpt{font-size:.85rem;color:#475569;line-height:1.55;margin:0}
.cc-news-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#94a3b8;margin-top:auto}
.cc-news-card-footer{display:flex;gap:14px;align-items:center;padding-top:10px;border-top:1px solid #f1f5f9;margin-top:4px}
.cc-news-source-link{font-size:.78rem;color:#94a3b8}
.cc-news-pagination ul{display:flex;gap:6px;list-style:none;padding:0;margin:0}
.cc-news-pagination .page-numbers{display:inline-block;padding:6px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:.82rem;font-weight:600;text-decoration:none;color:#475569}
.cc-news-pagination .page-numbers.current{background:var(--cc-primary);border-color:var(--cc-primary);color:#fff}

/* Artigo individual */
.cc-news-single-hero{background:#fff;border-bottom:2px solid #e8eef6;padding:28px 0 24px;position:relative}
.cc-news-single-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--cc-primary),#0070e0)}
.cc-news-hero-cat{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-primary);display:block;margin-bottom:10px}
.cc-news-hero-title{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:800;margin:0 0 14px;line-height:1.15;letter-spacing:-.03em;color:#0f172a}
.cc-news-hero-meta{display:flex;align-items:center;gap:10px;font-size:.82rem;color:#64748b;flex-wrap:wrap}
.cc-news-ai-badge{background:#eff6ff;color:var(--cc-primary);border:1px solid #dbeafe;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700}
.cc-news-single-section{background:#f8fafc}
.cc-news-single-layout{display:grid;grid-template-columns:1fr 300px;gap:32px;align-items:start}
.cc-news-single-content{background:#fff;border:1.5px solid #e2e8f0;border-radius:16px;padding:32px}
.cc-news-editorial-notice{background:#f0f9ff;border-left:3px solid var(--cc-primary);padding:12px 16px;border-radius:0 10px 10px 0;font-size:.82rem;color:#0c4a6e;margin-bottom:24px;line-height:1.5}
.cc-news-body{font-size:.97rem;line-height:1.8;color:#374151}
.cc-news-body p{margin-bottom:18px}
.cc-news-source-block{margin-top:32px;padding-top:24px;border-top:1.5px solid #e2e8f0}
.cc-news-source-block h3{font-size:.9rem;font-weight:800;margin:0 0 8px}
.cc-news-legal-footer{margin-top:32px;padding:14px 16px;background:#f8fafc;border-radius:8px;font-size:.75rem;color:#94a3b8;line-height:1.6;border-left:3px solid #e2e8f0}
.cc-news-single-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px}

/* Bloco homepage */
.cc-news-home-block{margin-top:12px}
.cc-news-home-list{display:flex;flex-direction:column;gap:10px}
/* cc-news-home-item v1 removido */

/* Responsive */
@media(max-width:960px){
    .cc-news-grid{grid-template-columns:repeat(2,1fr)}
    .cc-news-single-layout{grid-template-columns:1fr}
    .cc-news-single-aside{position:static}
}
@media(max-width:600px){
    .cc-news-grid{grid-template-columns:1fr}
}

/* ===== v28.18.6 — Notícias redesign ===== */
/* Homepage — bloco de notícias */
.cc-news-home-section{padding-bottom:36px}
.cc-news-home-list{display:flex;flex-direction:column;gap:0;border:1.5px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}
/* cc-news-home-item v2 removido */
.cc-news-home-cat{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-primary)}
/* cc-news-home-item v2b removido */

/* Arquivo — cards redesenhados */
.cc-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}
.cc-news-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s}
.cc-news-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.08);transform:translateY(-2px)}
.cc-news-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cc-news-card-cat{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-primary);background:#eff6ff;padding:3px 8px;border-radius:999px}
.cc-news-cat-internal{color:#15803d;background:#f0fdf4}
.cc-news-card-date{font-size:.72rem;color:#94a3b8;flex-shrink:0}
.cc-news-card-title{font-size:.97rem;font-weight:700;margin:0;line-height:1.35;flex:1}
.cc-news-card-title a{color:#1e293b;text-decoration:none}
.cc-news-card-title a:hover{color:var(--cc-primary)}
.cc-news-card-excerpt{font-size:.83rem;color:#64748b;line-height:1.55;margin:0}
.cc-news-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;border-top:1px solid #f1f5f9;gap:10px;flex-wrap:wrap}
.cc-news-read-link{font-size:.8rem;font-weight:700;color:var(--cc-primary);text-decoration:none}
.cc-news-read-link:hover{text-decoration:underline}
.cc-news-source-link{font-size:.75rem;color:#94a3b8;text-decoration:none}
.cc-news-source-link:hover{color:#475569}
.cc-news-empty{text-align:center;padding:48px 24px;color:#64748b}
@media(max-width:900px){.cc-news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cc-news-grid{grid-template-columns:1fr}}

/* ===== v28.18.8 — notícias fonte inline ===== */
.cc-news-card-source-line{font-size:.75rem;color:#64748b;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cc-news-source-label{font-weight:700;color:#94a3b8}
.cc-news-source-name{font-weight:600;color:#475569}
.cc-news-source-link{color:var(--cc-primary);text-decoration:none;font-weight:600}
.cc-news-source-link:hover{text-decoration:underline}

/* ===== v28.18.13 — notícias homepage e artigo ===== */

/* Homepage — bloco de notícias compacto */
.cc-news-home-list{display:flex;flex-direction:column;gap:0;border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden;background:#fff}
.cc-news-home-item{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;gap:12px;padding:10px 16px;border-bottom:1px solid #f1f5f9;transition:background .12s;text-align:left}
.cc-news-home-item:last-child{border-bottom:none}
.cc-news-home-item:hover{background:#f8fafc}
.cc-news-home-title{font-size:.88rem;font-weight:700;color:#1e293b;text-decoration:none;line-height:1.35;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.cc-news-home-title:hover{color:var(--cc-primary)}
.cc-news-home-item-meta{display:flex;align-items:center;gap:4px;font-size:.72rem;color:#94a3b8;white-space:nowrap;flex-shrink:0}
.cc-news-home-sep{color:#cbd5e1}
.cc-news-home-source{color:#64748b;font-weight:600}
.cc-news-home-legal{font-size:.72rem;color:#94a3b8;margin-top:10px;line-height:1.5}
.cc-news-home-legal a{color:#64748b;text-decoration:underline}

/* Artigo individual — reformular aviso editorial */
.cc-news-editorial-notice{background:#f8fafc;border-left:3px solid #64748b;padding:12px 16px;border-radius:0 8px 8px 0;font-size:.82rem;color:#475569;margin-bottom:24px;line-height:1.6}
.cc-news-editorial-notice strong{color:#374151}

/* Rodapé legal — mais destaque */
.cc-news-legal-footer{margin-top:32px;padding:16px 18px;background:#f8fafc;border-radius:10px;font-size:.78rem;color:#64748b;line-height:1.65;border:1px solid #e2e8f0}
.cc-news-legal-footer strong{color:#374151;display:block;margin-bottom:4px}

/* ===== v28.19.0 — leads quota ===== */
.cc-leads-unavailable-notice{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:12px 14px;font-size:.82rem;color:#64748b;text-align:center;margin-bottom:10px;line-height:1.5}

/* ===== v28.20.5 — Pack de Lançamento faixa ===== */
.cc-launch-banner{background:linear-gradient(135deg,#0057B8 0%,#003d82 60%,#002a5c 100%);border-radius:16px;padding:28px 32px;margin-bottom:32px;color:#fff;position:relative;overflow:hidden}
.cc-launch-banner::before{content:'';position:absolute;top:-40px;right:-40px;width:200px;height:200px;background:rgba(255,255,255,.05);border-radius:50%}
.cc-launch-banner-inner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;position:relative;z-index:1}
.cc-launch-badge{position:absolute;top:-28px;left:32px;background:#f59e0b;color:#1e293b;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 12px;border-radius:999px}
.cc-launch-content h3{font-size:1.3rem;font-weight:800;margin:0 0 6px;color:#fff}
.cc-launch-content p{font-size:.88rem;color:rgba(255,255,255,.8);margin:0 0 12px;line-height:1.5}
.cc-launch-features{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 20px}
.cc-launch-features li{font-size:.82rem;color:rgba(255,255,255,.9);white-space:nowrap}
.cc-launch-cta{text-align:center;flex-shrink:0;min-width:200px}
.cc-launch-price{margin:0 0 12px}
.cc-launch-price strong{display:block;font-size:1.5rem;font-weight:800;color:#fff}
.cc-launch-price span{font-size:.75rem;color:rgba(255,255,255,.7);display:block;margin-top:2px}
@media(max-width:700px){.cc-launch-banner-inner{grid-template-columns:1fr}.cc-launch-cta{text-align:left}}

/* ===== v28.20.7 — Pack Lançamento redesign + textos ===== */
.cc-launch-banner{background:linear-gradient(135deg,#001f5c 0%,#0057B8 45%,#0070e0 100%);border-radius:20px;padding:36px 40px;margin-bottom:36px;color:#fff;position:relative;overflow:hidden;box-shadow:0 8px 32px rgba(0,87,184,.25)}
.cc-launch-banner::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:rgba(255,255,255,.06);border-radius:50%}
.cc-launch-banner::after{content:'';position:absolute;bottom:-80px;left:20%;width:200px;height:200px;background:rgba(255,255,255,.04);border-radius:50%}
.cc-launch-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px;position:relative;z-index:1}
.cc-launch-badge-pill{background:#f59e0b;color:#1e293b;font-size:0.864rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:5px 14px;border-radius:999px;flex-shrink:0}
.cc-launch-deadline{font-size:0.936rem;color:rgba(255,255,255,.7);font-weight:500}
.cc-launch-banner-inner{display:grid;grid-template-columns:1fr 260px;gap:32px;align-items:center;position:relative;z-index:1}
.cc-launch-content h3{font-size:1.92rem;font-weight:800;margin:0 0 10px;color:#fff;letter-spacing:-.02em}
.cc-launch-tagline{font-size:1.104rem;color:rgba(255,255,255,.85);margin:0 0 20px;line-height:1.6;max-width:580px}
.cc-launch-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.cc-launch-feature-item{display:flex;align-items:flex-start;gap:8px;font-size:0.996rem;color:rgba(255,255,255,.9)}
.cc-launch-check{color:#f59e0b;font-weight:800;flex-shrink:0;margin-top:1px}
.cc-launch-cta-block{background:rgba(255,255,255,.1);border-radius:14px;padding:24px;text-align:center;border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px)}
.cc-launch-price-display{margin-bottom:16px}
.cc-launch-price-value{display:block;font-size:2.4rem;font-weight:800;color:#f59e0b;line-height:1}
.cc-launch-price-note{display:block;font-size:0.864rem;color:rgba(255,255,255,.65);margin-top:6px;line-height:1.5}
.cc-launch-btn{width:100%;justify-content:center;display:flex;font-size:1.08rem;padding:13px 20px}
.cc-launch-disclaimer{font-size:0.816rem;color:rgba(255,255,255,.5);margin-top:8px;line-height:1.5}
@media(max-width:780px){
  .cc-launch-banner{padding:28px 24px}
  .cc-launch-banner-inner{grid-template-columns:1fr}
  .cc-launch-features-grid{grid-template-columns:1fr}
  .cc-launch-cta-block{text-align:left}
}

/* ===== v28.20.9 — notícias toggle grelha/lista + paginação centrada ===== */
.cc-news-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.cc-news-cat-filter{display:flex;flex-wrap:wrap;gap:6px;flex:1}

/* Contentor principal */
.cc-news-archive-container{display:grid;gap:18px}

/* Grelha: 2 colunas, 5 notícias */
.cc-news-view-grid{grid-template-columns:repeat(2,1fr)}
.cc-news-view-grid .cc-news-card{display:flex;flex-direction:column}

/* Lista: 1 coluna (redesenho v28.20.13) */
.cc-news-view-list{grid-template-columns:1fr;gap:0}

/* Paginação centrada */
.cc-news-pagination{display:flex;justify-content:center;margin-top:32px}
.cc-news-pagination .page-numbers{display:flex;gap:4px;list-style:none;padding:0;margin:0;align-items:center;flex-wrap:wrap;justify-content:center}
.cc-news-pagination .page-numbers li a,.cc-news-pagination .page-numbers li span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:8px;font-size:.84rem;font-weight:500;color:var(--cc-primary);border:1px solid var(--cc-border);background:#fff;text-decoration:none;transition:background .12s,color .12s}
.cc-news-pagination .page-numbers li .current{background:var(--cc-primary);color:#fff;border-color:var(--cc-primary);font-weight:700}
.cc-news-pagination .page-numbers li a:hover{background:#f0f4fa}

@media(max-width:640px){.cc-news-view-grid{grid-template-columns:1fr}}

/* ===== v28.20.13 — Notícias: vista em lista redesenhada ===== */
/* Contentor único tipo cartao, coerente com a linha do tema */
.cc-news-view-list{border:1.5px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.04)}

/* Cada noticia passa a ser uma linha estruturada */
.cc-news-view-list .cc-news-card{display:grid;grid-template-columns:1fr;gap:7px;padding:18px 22px;border:0;border-bottom:1px solid #eef2f7;border-radius:0;background:#fff;box-shadow:none;transform:none;transition:background .14s ease,box-shadow .14s ease}
.cc-news-view-list .cc-news-card:last-child{border-bottom:0}
.cc-news-view-list .cc-news-card:hover{background:#f8fafc;box-shadow:inset 3px 0 0 var(--cc-primary);transform:none}

/* Topo: categoria em pill a esquerda, data a direita */
.cc-news-view-list .cc-news-card-top{align-items:center}
.cc-news-view-list .cc-news-card-cat{background:#eff6ff;color:var(--cc-primary);padding:3px 10px;border-radius:999px;font-size:.64rem}
.cc-news-view-list .cc-news-card-cat.cc-news-cat-internal{color:#15803d;background:#f0fdf4}
.cc-news-view-list .cc-news-card-date{font-size:.74rem;color:#94a3b8;flex-shrink:0}

/* Titulo com mais presenca */
.cc-news-view-list .cc-news-card-title{font-size:1.04rem;font-weight:700;line-height:1.3;margin:1px 0 0}

/* Linha de fonte discreta */
.cc-news-view-list .cc-news-card-source-line{margin-top:0}

/* Resumo a uma linha: densidade de feed, sem poluir */
.cc-news-view-list .cc-news-card-excerpt{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:.84rem;color:#64748b;line-height:1.5;margin:0}

/* Footer "Ler resumo" oculto: o titulo da linha ja conduz ao artigo */
.cc-news-view-list .cc-news-card-footer{display:none}

@media(max-width:640px){
    .cc-news-view-list .cc-news-card{padding:14px 16px}
    .cc-news-view-list .cc-news-card-title{font-size:.98rem}
}

/* ===== v28.20.14 — Faixa Pack de Lançamento: etiqueta maior ===== */
/* Aumento da etiqueta "Oferta de lançamento" (~1.5x: 0.864rem -> 1.3rem) */
.cc-launch-badge-pill{font-size:1.3rem;padding:7px 18px;letter-spacing:.06em}
@media(max-width:780px){.cc-launch-badge-pill{font-size:1.1rem;padding:6px 14px}}

/* ===== v28.21.1 — Cartoes de curso na area institucional ===== */
/* Altura reduzida ~30% (padding 26px -> 18px vert.) + espaco para os cantos */
.cc-course-admin-card{position:relative;padding:18px 22px 34px;padding-right:200px;border-radius:18px}
.cc-course-admin-card h3{font-size:1.02rem;line-height:1.25;margin:0 0 4px}
.cc-course-admin-card>.cc-muted{font-size:.78rem;margin:0 0 4px}
.cc-cac-campus{font-size:.78rem;color:#475569;margin:0 0 10px}

/* Botao "Solicitar correccao" mais baixo */
.cc-course-admin-card .cc-course-correction-btn{margin-top:6px;padding:4px 13px;font-size:.78rem;line-height:1.2}

/* Bloco de estados: canto superior direito */
.cc-course-admin-card .cc-cac-status{position:absolute;top:14px;right:16px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;max-width:185px;text-align:right}
.cc-cac-locked{font-size:.66rem;color:#64748b;cursor:help}
.cc-cac-badge{display:inline-block;font-size:.66rem;font-weight:700;line-height:1.35;padding:2px 9px;border-radius:999px;white-space:nowrap}
.cc-cac-badge.is-on{background:#f0fdf4;color:#15803d}
.cc-cac-badge.is-off{background:#fef2f2;color:#dc2626}

/* External ID (nao editavel): canto inferior esquerdo */
.cc-cac-extid{position:absolute;bottom:10px;left:22px;font-size:.68rem;color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* Ecra estreito: estados e codigo passam ao fluxo normal */
@media(max-width:680px){
    .cc-course-admin-card{padding:16px 18px}
    .cc-course-admin-card .cc-cac-status{position:static;align-items:flex-start;text-align:left;max-width:none;margin-bottom:8px}
    .cc-cac-extid{position:static;display:block;margin-top:10px}
}

/* ===== v28.22.0 — Resumo de leads na area institucional ===== */
.cc-leads-summary{background:#f8fbff;border:1px solid #dbe8f5;border-radius:14px;padding:14px 18px;margin:10px 0 0}
.cc-leads-summary p{margin:0 0 6px;font-size:.86rem;color:#475569;line-height:1.5}
.cc-leads-summary p:last-child{margin-bottom:0}

/* ===== v28.23.0 — Compra de leads na area institucional ===== */
.cc-lead-buy{background:#fff;border:1px solid var(--cc-border);border-radius:14px;padding:16px 18px;margin:10px 0 0;display:flex;flex-direction:column;gap:12px}
.cc-lead-buy-head strong{display:block;font-size:1rem;margin-bottom:2px}
.cc-lead-buy-head span{font-size:.84rem;color:#64748b;line-height:1.45}
.cc-lead-buy-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cc-lead-buy-chips{display:flex;gap:6px}
.cc-chip{border:1px solid #cbd5e1;background:#f8fafc;color:#334155;border-radius:999px;padding:5px 14px;font-weight:700;font-size:.85rem;cursor:pointer;line-height:1.2}
.cc-chip:hover{border-color:#0057B8;color:#0057B8}
.cc-chip.is-on{background:#0057B8;border-color:#0057B8;color:#fff}
.cc-lead-qty-input{width:84px;padding:7px 10px;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem}
.cc-lead-buy-go{white-space:nowrap;padding:7px 16px !important;min-height:0 !important;font-size:.85rem !important}

/* ===== Editor de candidaturas (regimes + fases) — area institucional ===== */
.cc-adm-editor { width: 100%; }
.cc-adm-back-btn { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 16px; padding: 8px 14px; background: #fff; border: 1px solid var(--cc-border); border-radius: 10px; color: var(--cc-primary); font-weight: 700; font-size: .86rem; text-decoration: none; transition: background .12s, border-color .12s; }
.cc-adm-back-btn:hover { background: #eef6ff; border-color: #cfe0f5; }
.cc-adm-course-name { margin: 4px 0 10px; font-size: 1.02rem; line-height: 1.45; }
.cc-adm-editor .cc-adm-override { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0 22px; padding: 13px 15px; background: var(--cc-surface, #f7f8fa); border: 1px solid var(--cc-border); border-radius: 10px; font-size: .9rem; font-weight: 600; cursor: pointer; }
.cc-adm-editor .cc-adm-override input { margin-top: 3px; }

/* Campos com titulo por cima — compactos e a ocupar a coluna toda */
.cc-adm-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.cc-adm-label { font-size: .72rem; font-weight: 700; letter-spacing: .02em; color: var(--cc-muted, #5d6b7a); text-transform: uppercase; }
.cc-adm-editor .cc-adm-input { width: 100%; box-sizing: border-box; margin: 0; min-height: 0; padding: 9px 11px; border: 1px solid var(--cc-border); border-radius: 9px; font-size: .9rem; background: #fff; }
.cc-adm-editor .cc-adm-input:focus { outline: none; border-color: var(--cc-primary); box-shadow: 0 0 0 3px rgba(0,87,184,.1); }

/* Bloco de regime — leve, sem sombra */
.cc-adm-route { border: 1px solid var(--cc-border); border-radius: 12px; padding: 18px; margin-bottom: 16px; background: #fff; }
.cc-adm-route-top { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.cc-adm-phases-wrap { margin-top: 18px; padding-top: 16px; border-top: 1px dashed var(--cc-border); }
.cc-adm-phases-head { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--cc-muted, #5d6b7a); margin-bottom: 10px; }
.cc-adm-phases { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.cc-adm-phase { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 12px; background: var(--cc-surface, #f7f8fa); border-radius: 10px; }

/* Botoes discretos (vencem .cc-form button) */
.cc-adm-editor .cc-adm-btn-danger,
.cc-adm-editor .cc-adm-btn-danger-sm { background: none; border: 0; color: #b1283c; font-weight: 600; cursor: pointer; padding: 0 4px; min-height: 0; border-radius: 0; box-shadow: none; align-self: center; white-space: nowrap; }
.cc-adm-editor .cc-adm-btn-danger { font-size: .82rem; }
.cc-adm-editor .cc-adm-btn-danger-sm { font-size: .8rem; height: auto; }
.cc-adm-editor .cc-adm-btn-danger:hover,
.cc-adm-editor .cc-adm-btn-danger-sm:hover { color: #8c1d2d; text-decoration: underline; background: none; }
.cc-adm-route-top .cc-adm-btn-danger { padding-bottom: 9px; }

.cc-adm-editor .cc-adm-add-phase,
.cc-adm-editor .cc-adm-add-route-btn { background: none; border: 1px dashed var(--cc-border); color: var(--cc-primary); font-weight: 600; cursor: pointer; border-radius: 9px; min-height: 0; box-shadow: none; }
.cc-adm-editor .cc-adm-add-phase { padding: 7px 13px; font-size: .82rem; }
.cc-adm-editor .cc-adm-add-route-btn { padding: 10px 16px; font-size: .88rem; margin-top: 4px; }
.cc-adm-editor .cc-adm-add-phase:hover,
.cc-adm-editor .cc-adm-add-route-btn:hover { background: #f4f8ff; border-color: var(--cc-primary); color: var(--cc-primary); }

.cc-adm-actions { display: flex; gap: 10px; align-items: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--cc-border); }
.cc-adm-editor .cc-adm-actions .cc-button { min-height: 0; padding: 11px 20px; }
.cc-course-adm-btn { margin-left: 6px; }

@media (max-width: 720px) {
  .cc-adm-route-top { grid-template-columns: 1fr; }
  .cc-adm-route-top .cc-adm-btn-danger { justify-self: start; padding-bottom: 0; }
  .cc-adm-phase { grid-template-columns: 1fr 1fr; }
  .cc-adm-phase .cc-adm-field:first-child { grid-column: 1 / -1; }
  .cc-adm-phase .cc-adm-btn-danger-sm { grid-column: 1 / -1; justify-self: start; }
}

/* ===== Candidaturas na ficha do curso (vista publica) ===== */
.cc-adm-view-state { margin: 0 0 16px; }
.cc-adm-route-view { margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--cc-border); }
.cc-adm-route-view:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.cc-adm-route-title { font-size: 1rem; margin: 0 0 10px; color: var(--cc-text); }
.cc-adm-phase-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cc-adm-phase-view { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 9px 12px; background: #f7f9fc; border: 1px solid var(--cc-border); border-radius: 10px; }
.cc-adm-phase-name { font-weight: 700; font-size: .92rem; min-width: 92px; }
.cc-adm-phase-dates { color: var(--cc-muted); font-size: .9rem; flex: 1; min-width: 160px; }
.cc-adm-phase-state { font-size: .76rem; font-weight: 800; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.cc-phase-aberta { background: #dcfce7; color: #166534; }
.cc-phase-prevista { background: #fef9c3; color: #854d0e; }
.cc-phase-encerrada { background: #f1f5f9; color: #475569; }
.cc-phase-cancelada { background: #fee2e2; color: #991b1b; }
.cc-phase-sem_datas { background: #e0f2fe; color: #075985; }

/* ===== Area de subscricao: entrelinha e tabela mais compactas ===== */
.cc-subscription-area p { margin-top: .5em; margin-bottom: .5em; }
.cc-subscription-area .cc-card-public p { margin-top: .4em; margin-bottom: .4em; }
.cc-subscription-area .cc-front-table,
.cc-subscription-area .cc-front-table th,
.cc-subscription-area .cc-front-table td { font-size: .75rem; }
.cc-subscription-area .cc-front-table th,
.cc-subscription-area .cc-front-table td { padding: 10px 12px; }
/* Bloco de candidaturas no formulario de correcao */
.cc-ccf-adm-note { background: #f4f8fd; border: 1px solid var(--cc-border); border-radius: 10px; padding: 12px 14px; }
.cc-ccf-adm-note strong { display: block; font-size: .9rem; margin-bottom: 4px; }
.cc-ccf-adm-note p { font-size: .84rem; margin: 0 0 10px; }

/* ===== Area institucional: espacamento compacto abaixo do menu ===== */
.cc-institution-shell { gap: 8px; }
.cc-institution-topbar { margin-bottom: 8px; }

/* ===== Subscricao de novidades (faixa horizontal a toda a largura) ===== */
.cc-newsletter{width:100%}
.cc-newsletter-form{margin:0;padding:0}
.cc-newsletter-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cc-newsletter-title{flex:0 0 auto;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#0057B8;white-space:nowrap;margin:0}
.cc-newsletter-field{flex:1 1 240px;min-width:200px}
.cc-newsletter-field input[type=email]{width:100%;padding:12px 14px;border:1px solid var(--cc-border);border-radius:10px;font-size:.95rem;background:#fff;box-sizing:border-box}
.cc-newsletter-btn{flex:0 0 auto;white-space:nowrap}
.cc-newsletter-consent{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:.72rem;line-height:1.45;color:#5a6b82;text-align:justify;font-weight:400}
.cc-newsletter-consent input{margin-top:3px;flex-shrink:0}
.cc-newsletter--inline{background:linear-gradient(135deg,#eef6ff,#f7fbff);border:1px solid #cfe0f5;border-radius:14px;padding:18px 20px;margin:20px 0}
.cc-newsletter--footer{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 20px;margin:8px 0 26px}
.cc-newsletter--footer .cc-newsletter-title{color:#9cc6ff}
.cc-newsletter--footer .cc-newsletter-consent{color:#aebfd2}
.cc-newsletter--footer .cc-newsletter-field input[type=email]{background:#fff;border-color:rgba(255,255,255,.2)}

/* ===== Eliminar curso (area institucional) ===== */
.cc-cac-delete{margin-top:12px;text-align:right}
.cc-cac-del-trigger{color:#b3261e;border-color:#f3c2bd}
.cc-cac-del-trigger:hover{background:#fdecea}
.cc-cac-del-yes{background:#b3261e;border-color:#b3261e;color:#fff}
.cc-cac-del-yes:hover{background:#8c1d17;color:#fff}
/* Modal de confirmacao */
.cc-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center}
.cc-modal[hidden]{display:none}
.cc-modal-backdrop{position:absolute;inset:0;background:rgba(7,24,39,.55)}
.cc-modal-box{position:relative;background:#fff;border-radius:14px;padding:24px 24px 20px;max-width:440px;width:calc(100% - 40px);box-shadow:0 24px 60px rgba(0,0,0,.32)}
.cc-modal-title{font-size:1.1rem;font-weight:800;margin:0 0 8px;color:#102033}
.cc-modal-text{font-size:.9rem;line-height:1.5;color:#42526b;margin:0 0 18px}
.cc-modal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}

/* ===== Seleccao e accoes em lote de cursos ===== */
.cc-bulkbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;background:#f4f7fb;border:1px solid #e1e8f0;border-radius:10px}
.cc-bulk-all{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#2a3950;cursor:pointer}
.cc-bulk-count{font-size:.82rem;color:#5a6b82}
.cc-bulk-actions{display:inline-flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.cc-bulk-delete{background:#b3261e !important;color:#fff !important;border-color:#b3261e}
.cc-bulk-delete:hover:not(:disabled){background:#8c1d17 !important;color:#fff !important}
.cc-bulkbar .cc-button:disabled{opacity:.5;cursor:not-allowed}
.cc-cac-check{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:#2a3950;cursor:pointer;margin-bottom:8px}
.cc-cac-check input{width:16px;height:16px;cursor:pointer}
.cc-course-admin-card:has(.cc-course-select:checked){outline:2px solid #1b4fd6;outline-offset:2px;border-radius:14px}

/* Tabela de leads com a mesma dimensao de letra do historico de compras */
.cc-leads-table,.cc-leads-table th,.cc-leads-table td{font-size:.75rem}
.cc-leads-table th,.cc-leads-table td{padding:10px 12px}
/* Importar CSV: blocos mais juntos */
.cc-csv-import-intro{padding:18px}
.cc-csv-import-intro p{margin:8px 0}
.cc-csv-import-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.cc-csv-import-actions .cc-button{margin:0}

/* ===== Reducoes de tamanho de botoes especificos ===== */
/* Botao "Area institucional" no cabecalho: -20% */
.cc-header-cta{padding:8px 12px !important;font-size:.8rem !important}
/* Utilitarios de reducao a partir do botao base (.cc-button) */
.cc-btn-r20{padding:11px 16px !important;min-height:40px !important;font-size:.82rem !important}
.cc-btn-r30{padding:10px 14px !important;min-height:36px !important;font-size:.72rem !important}
.cc-btn-r50{padding:7px 10px !important;min-height:26px !important;font-size:.64rem !important}

/* Noticias na home: em mobile, data e fonte passam para a linha abaixo do titulo */
@media(max-width:640px){
  .cc-news-home-item{flex-direction:column;align-items:flex-start;gap:3px}
  .cc-news-home-item-meta{flex-shrink:1;white-space:normal}
  .cc-news-card-top{flex-direction:column;align-items:flex-start;gap:4px}
}

/* ===== Cards de instituicao: tamanho uniforme e rodape alinhado em baixo ===== */
.cc-inst-card{display:flex;flex-direction:column;height:100%}
.cc-inst-card-footer{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid #eef2f7}
.cc-inst-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cc-inst-courses-btn{flex-shrink:0}
.cc-inst-website-link{font-size:.82rem;white-space:nowrap;color:var(--cc-primary);text-decoration:none;font-weight:700}
.cc-inst-website-link:hover{text-decoration:underline}

/* ===== Simulador de reserva de espaco publicitario ===== */
.cc-ad-simulator{border:1px solid #e1e8f0;border-radius:12px;padding:18px;background:#fff}
.cc-ad-sim-row{margin:12px 0}
.cc-ad-sim-row label{display:inline-flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#2a3950}
.cc-ad-space-select{padding:8px 10px;border:1px solid #cfd8e3;border-radius:8px;font-size:.9rem;min-width:260px}
.cc-ad-calendar-wrap{max-width:360px;margin:8px 0 4px}
.cc-ad-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cc-ad-cal-title{font-weight:800;color:#102033;font-size:.95rem}
.cc-ad-cal-prev,.cc-ad-cal-next{width:32px;height:32px;border:1px solid #cfd8e3;background:#f4f7fb;border-radius:8px;cursor:pointer;font-size:1.1rem;line-height:1}
.cc-ad-cal-prev:hover,.cc-ad-cal-next:hover{background:#e7eef6}
.cc-ad-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cc-ad-cal-wd{text-align:center;font-size:.7rem;font-weight:700;color:#7a8aa0;padding:2px 0}
.cc-ad-cal-empty{aspect-ratio:1}
.cc-ad-cal-day{aspect-ratio:1;border:1px solid #e1e8f0;background:#fff;border-radius:6px;cursor:pointer;font-size:.8rem;color:#1e2a3a;display:flex;align-items:center;justify-content:center}
.cc-ad-cal-day:hover:not(:disabled){background:#eef4ff;border-color:#1b4fd6}
.cc-ad-cal-day.is-selected{background:#1b4fd6;border-color:#1b4fd6;color:#fff;font-weight:700}
.cc-ad-cal-day.is-taken{background:#f3d6d3;border-color:#e7b4ae;color:#a23b30;cursor:not-allowed}
.cc-ad-cal-day.is-pre{background:#ffe6c2;border-color:#f5c98a;color:#9a5b12;cursor:not-allowed}
.cc-ad-cal-day.is-disabled{background:#f4f6f9;color:#c2ccd8;cursor:not-allowed}
.cc-ad-cal-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:.75rem;color:#5a6b82}
.cc-ad-cal-legend .cc-leg{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:middle;border:1px solid #cfd8e3}
.cc-leg-free{background:#fff}
.cc-leg-pre{background:#ffe6c2;border-color:#f5c98a}
.cc-leg-taken{background:#f3d6d3;border-color:#e7b4ae}
.cc-leg-sel{background:#1b4fd6;border-color:#1b4fd6}
.cc-ad-sim-summary{margin-top:14px;font-size:.9rem;display:flex;flex-direction:column;gap:4px}
.cc-ad-sim-msg{margin:6px 0 0;font-size:.85rem;font-weight:600}
.cc-ad-msg-ok{color:#1c7c3a}
.cc-ad-msg-err{color:#b3261e}

/* Simulador: 3 colunas (calendario, resumo ao centro, pre-visualizacao a direita) */
.cc-ad-sim-cols{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.cc-ad-sim-cols .cc-ad-calendar-wrap{flex:0 0 auto;margin:0}
.cc-ad-sim-summary{flex:1 1 200px;min-width:200px;margin-top:0;background:#f8fafc;border:1px solid #e6edf5;border-radius:10px;padding:16px;align-self:stretch}
.cc-ad-sim-line{font-size:.9rem;padding:6px 0;border-bottom:1px dashed #e1e8f0}
.cc-ad-sim-value{border-bottom:0}
.cc-ad-sim-value .cc-ad-sim-price{font-size:1.15rem;color:#102033}
.cc-ad-preview{flex:1 1 320px;min-width:280px;max-width:420px;margin-left:auto}
.cc-ad-min-note{margin:0 0 10px;font-size:.82rem;font-weight:700;color:#9a5b12;background:#fff4e2;border:1px solid #f5d9a8;border-radius:8px;padding:8px 12px}
.cc-ad-preview-photo{width:100%;border-radius:10px;border:1px solid #e1e8f0;display:block}
.cc-ad-preview-mock{border:1px solid #e1e8f0;border-radius:12px;padding:14px;background:#fff}
.cc-ad-mock-label{display:block;font-size:.72rem;font-weight:700;color:#7a8aa0;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}
.cc-ad-mock-page{background:#eef3fb;border:1px solid #dce6f2;border-radius:8px;padding:10px}
.cc-ad-mock-nav{display:block;height:14px;background:#1b4fd6;border-radius:4px;margin-bottom:10px}
.cc-ad-mock-hero{display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid #e6edf5;border-radius:6px;padding:10px;margin-bottom:10px}
.cc-ad-mock-hero-bar{display:block;height:8px;border-radius:4px;background:#c9d6ea}
.cc-ad-mock-hero-bar-lg{width:80%}
.cc-ad-mock-hero-bar-md{width:55%}
.cc-ad-mock-hero-bar-sm{width:35%;background:#f2b84b}
.cc-ad-mock-section-label{display:block;font-size:.66rem;font-weight:700;color:#9a5b12;background:#fdf1d8;border-radius:4px;padding:3px 6px;margin-bottom:6px;text-align:center}
.cc-ad-mock-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.cc-ad-mock-cell{height:70px;border:1px dashed #cfd8e3;border-radius:6px;background:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:6px}
.cc-ad-mock-cell i{display:block;height:5px;border-radius:3px;background:#e1e8f0}
.cc-ad-mock-cell i:first-child{width:70%}
.cc-ad-mock-cell i:last-child{width:45%}
.cc-ad-mock-cell.is-active{background:#1b4fd6;border-style:solid;border-color:#1b4fd6;box-shadow:0 4px 12px rgba(27,79,214,.35)}
.cc-ad-mock-cell.is-active i{background:rgba(255,255,255,.7)}
.cc-ad-preview-desc{margin-top:12px;font-size:.84rem;line-height:1.45}

/* Painel de detalhes do add-on de criacao de imagem */
.cc-ad-addon-toggle{font-weight:600;text-decoration:underline}
.cc-ad-addon-details{margin-top:8px;padding:12px 14px;border:1px solid #e1e8f0;border-radius:8px;background:#f8fafc;font-size:.82rem;line-height:1.5}
.cc-ad-addon-details p{margin:0 0 8px}
.cc-ad-addon-details p:last-child{margin-bottom:0}

/* Editor de criativo (fase 4A) */
.cc-ad-editor{margin-top:22px;border:1px solid #e1e8f0;border-radius:12px;padding:18px;background:#fff}
.cc-ad-editor-grid{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}
.cc-ad-editor-fields{flex:1 1 340px;min-width:300px}
.cc-ad-editor-fields label{display:block;font-size:.85rem;font-weight:600;color:#2a3950;margin-bottom:10px}
.cc-ad-editor-fields input[type=text],.cc-ad-editor-fields textarea,.cc-ad-editor-fields select{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #cfd8e3;border-radius:8px;font-size:.9rem;font-weight:400}
.cc-ad-editor-row{display:flex;gap:12px;flex-wrap:wrap}
.cc-ad-editor-row label{flex:1 1 120px}
.cc-ad-editor-row input[type=color]{width:48px;height:34px;padding:2px;border:1px solid #cfd8e3;border-radius:8px;vertical-align:middle;margin-left:6px}
.cc-check-inline{display:inline-flex!important;align-items:center;gap:6px;flex:0 0 auto!important}
.cc-check-inline input{width:auto!important;margin:0!important}
.cc-ad-editor-preview{flex:0 0 auto;width:260px}
.cc-ad-preview-card{width:100%;aspect-ratio:3/4;border:1px solid #e1e8f0;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;box-shadow:0 6px 18px rgba(0,34,85,.08);overflow:hidden}
.cc-ad-pc-title{font-weight:700;line-height:1.2;word-break:break-word}
.cc-ad-pc-text{line-height:1.35;word-break:break-word;flex:1}
.cc-ad-pc-link{margin-top:auto;align-self:flex-start;background:#fdb913;color:#102033;font-weight:700;font-size:.8rem;padding:7px 12px;border-radius:8px;text-decoration:none}

/* Mensagem de submissao do criativo em destaque */
.cc-ad-submit-ok{display:block;margin-top:10px;padding:10px 12px;border:1px solid #b7e0c0;background:#eafaef;color:#1c6b39;border-radius:8px;font-weight:600;font-size:.9rem}

/* Alerta no editor quando o conteudo ja foi submetido */
.cc-ad-editor-alert{margin:0 0 12px;padding:10px 12px;border:1px solid #e2b4b4;background:#fcecec;color:#b32d2e;border-radius:8px;font-size:.9rem;font-weight:600}

/* Anuncio publicado (reserva ativa) nos Destaques patrocinados */
.cc-sponsored-ad{display:flex;flex-direction:column;gap:8px}
.cc-sponsored-ad h3{margin:0;line-height:1.2;word-break:break-word}
.cc-sponsored-ad p{margin:0;line-height:1.35;word-break:break-word;flex:1}
.cc-sponsored-ad .cc-sponsored-cta{margin-top:auto;align-self:flex-start;background:#fdb913;color:#102033;font-weight:700;font-size:.82rem;padding:7px 12px;border-radius:8px;text-decoration:none}

/* Indicador de estado de verificacao editorial nas noticias */
.cc-news-verif{background:#eef3fb;color:#2a3950;border:1px solid #dce6f2;border-radius:6px;padding:2px 8px;font-size:.82rem;font-weight:600}

/* Imagem de fallback do espaco publicitario (sem reserva ativa) */
.cc-sponsored-fallback{padding:0;overflow:hidden}
.cc-sponsored-fallback img{display:block;width:100%;height:100%;object-fit:cover}
.cc-sponsored-fallback-link{display:block;width:100%;height:100%}

/* Efeito de destaque ao passar o rato (anuncios ativos e imagem de fallback) */
.cc-sponsored-ad,
.cc-sponsored-fallback{transition:transform .2s ease, box-shadow .2s ease;transform-origin:center}
.cc-sponsored-ad:hover,
.cc-sponsored-fallback:hover{transform:scale(1.5);box-shadow:0 22px 50px rgba(0,34,85,.28);z-index:4;position:relative}

/* Anuncio em formato imagem */
.cc-sponsored-image{padding:0;overflow:hidden;position:relative}
.cc-sponsored-image .cc-sponsored-label{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2}
.cc-sponsored-image img{display:block;width:100%;height:100%;object-fit:cover}
.cc-sponsored-image-link{display:block;width:100%;height:100%}
/* Imagem na pre-visualizacao do editor */
.cc-ad-pc-image{display:block;width:100%;border-radius:8px;object-fit:cover}

/* Painel de envio de material (montagem) */
.cc-ad-material{margin-top:22px;border:1px solid #e1e8f0;border-radius:12px;padding:18px;background:#fff}
.cc-ad-material-fields label{display:block;font-size:.85rem;font-weight:600;color:#2a3950;margin-bottom:10px}
.cc-ad-material-fields input[type=text],.cc-ad-material-fields textarea,.cc-ad-material-fields select{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid #cfd8e3;border-radius:8px;font-size:.9rem;font-weight:400}
.cc-ad-material-fields input[type=file]{display:block;margin-top:6px;font-size:.85rem;font-weight:400}
.cc-ad-material .cc-ad-editor-row{display:flex;gap:14px;flex-wrap:wrap}
.cc-ad-material .cc-ad-editor-row label{flex:1 1 220px}
.cc-ad-material-alert{margin:0 0 12px;padding:10px 12px;border:1px solid #f5c26b;background:#fff4e0;color:#8a5300;border-radius:8px;font-size:.85rem;font-weight:600}
.cc-mat-ref{margin:6px 0}

/* Painel da proposta de imagem (montagem) */
.cc-ad-proposal{margin-top:22px;border:1px solid #e1e8f0;border-radius:12px;padding:18px;background:#fff}
.cc-ad-proposal textarea{padding:8px 10px;border:1px solid #cfd8e3;border-radius:8px;font-size:.9rem;font-weight:400}
.cc-prop-confirm{margin-top:14px;padding:14px 16px;border:1px solid #f5d9a8;background:#fff8ec;border-radius:10px}
.cc-prop-exhausted{display:block;margin-top:6px;color:#b32d2e;font-weight:600}

/* Anuncio em formato imagem com texto sobreposto */
.cc-sponsored-imagetext{background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;flex-direction:column;position:relative;overflow:hidden}
.cc-sponsored-imagetext .cc-sponsored-band{position:relative;z-index:2}
.cc-sponsored-imagetext h3{margin:0 0 6px;line-height:1.2}
.cc-sponsored-imagetext p{margin:0 0 8px;line-height:1.35}
/* Sobreposicao do texto na pre-visualizacao do editor */
.cc-ad-pc-overlay{position:relative}

/* Biblioteca de imagens aprovadas da instituicao */
.cc-ad-library{margin-top:14px;border-top:1px solid #e1e8f0;padding-top:12px}
.cc-ad-library-title{font-weight:600;font-size:.9rem;margin:0 0 2px}
.cc-ad-library-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.cc-ad-library-item{position:relative;padding:0;border:2px solid #e1e8f0;border-radius:8px;background:none;cursor:pointer;overflow:hidden;line-height:0}
.cc-ad-library-item img{width:78px;height:104px;object-fit:cover;display:block}
.cc-ad-library-item:hover{border-color:#0057B8}
.cc-ad-library-item.is-selected{border-color:#fdb913;box-shadow:0 0 0 2px rgba(253,185,19,.35)}
.cc-ad-library-badge{position:absolute;left:0;right:0;bottom:0;background:rgba(16,32,51,.78);color:#fff;font-size:9px;line-height:1.6;letter-spacing:.02em}

/* Aviso do prazo de 48 horas no simulador */
.cc-ad-hold-notice{margin:12px 0;padding:12px 14px;border-left:4px solid #c26c00;background:#fff6e8;border-radius:8px;font-size:.85rem;line-height:1.55;color:#102033}

/* Cores de estado nas linhas das reservas */
.cc-res-row td{border-left:none}
.cc-res-row td:first-child{border-left:4px solid transparent}
.cc-res-live td:first-child{border-left-color:#1e7b34}
.cc-res-waiting td:first-child{border-left-color:#0057B8}
.cc-res-action td:first-child{border-left-color:#b32d2e}
.cc-res-closed td:first-child{border-left-color:#9aa5b1}
.cc-res-live{background:#f4fbf6}
.cc-res-waiting{background:#f5f9fd}
.cc-res-action{background:#fdf6f6}
.cc-res-closed{background:#f6f7f9;color:#6b7a90}
.cc-res-closed td{color:#6b7a90}

/* Pedido de suspensao ou anulacao */
.cc-ad-request-link{background:none;border:none;padding:4px 0 0;margin:0;font-size:.75rem;color:#5a6b82;text-decoration:underline;cursor:pointer}
.cc-ad-request-link:hover{color:#b32d2e}
.cc-ad-request{margin-top:22px;border:1px solid #e1e8f0;border-radius:12px;padding:18px;background:#fff}
.cc-ad-request textarea,.cc-ad-request select{padding:8px 10px;border:1px solid #cfd8e3;border-radius:8px;font-size:.9rem}
.cc-req-warn{margin-top:14px;padding:12px 14px;border-left:4px solid #c26c00;background:#fff6e8;border-radius:8px}
.cc-res-susp td:first-child{border-left-color:#c26c00}
.cc-res-susp{background:#fff9f0}
.cc-info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;border-radius:50%;background:#0057B8;color:#fff;font-size:11px;font-style:italic;font-weight:700;cursor:help;vertical-align:middle}
.cc-info-tip:hover,.cc-info-tip:focus{background:#b32d2e}
.cc-info-tip:focus{outline:2px solid #b32d2e;outline-offset:2px}
.cc-zoomable{cursor:zoom-in}
.cc-zoom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(0,20,45,.45);pointer-events:none}
.cc-info-tip-bubble{display:none;position:absolute;right:24px;top:50%;transform:translateY(-50%);width:260px;max-width:72vw;background:#fff;border:1px solid #b32d2e;color:#b32d2e;font-size:.95rem;font-style:normal;font-weight:600;line-height:1.4;text-align:left;padding:8px 10px;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:30}
.cc-info-tip:hover .cc-info-tip-bubble,.cc-info-tip:focus .cc-info-tip-bubble,.cc-info-tip:focus-within .cc-info-tip-bubble{display:block}

/* Marca de água do logótipo da instituição no card do curso (grelha e lista) */
.cc-card-public{position:relative;overflow:hidden;}
.cc-card-watermark{position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:auto 62%;opacity:.05;pointer-events:none;z-index:0;}
.cc-card-body,.cc-card-top-row,.cc-card-footer{position:relative;z-index:1;}
.cc-compare-checkbox-label{z-index:2;}

/* Ficha do curso: título à esquerda e ficha da instituição à direita, na mesma linha */
.cc-course-hero-row{display:flex;gap:28px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.cc-course-hero-main{flex:1 1 440px;min-width:0;}
.cc-course-hero-inst-card{flex:0 0 300px;max-width:320px;align-self:flex-start;margin:0;background:#f7fafd;border:1px solid #e3ecf6;}
.cc-course-hero-inst-card .cc-inst-aside-logo{max-height:70px;width:auto;}
@media (max-width:820px){
    .cc-course-hero-inst-card{flex-basis:100%;max-width:none;margin-top:16px;}
}
/* Links de partilha em linha, centrados (mantendo-se em baixo) */
.cc-share-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
