/* Sistema visual compartilhado das páginas públicas internas */
body:not(.ccmi-home) { background: #f8f6f1; color: #5e6965; font-family: "Poppins", sans-serif; }
body:not(.ccmi-home) h1,
body:not(.ccmi-home) h2,
body:not(.ccmi-home) h3,
body:not(.ccmi-home) h4,
body:not(.ccmi-home) h5 { color: #182420; font-family: "League Spartan", sans-serif; letter-spacing: -.015em; }
body:not(.ccmi-home) p { color: #66716d; }
body:not(.ccmi-home) main,
body:not(.ccmi-home) .page-wrapper { overflow: hidden; }

/* Heróis */
body:not(.ccmi-home) .sector-hero,
body:not(.ccmi-home) .sector-hero-ev,
body:not(.ccmi-home) .sector-hero-gal,
body:not(.ccmi-home) .sector-hero-inf,
body:not(.ccmi-home) .market-header-banner {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 95px 0;
    color: #fff;
    background-color: #6f141d !important;
    background-position: center !important;
    background-size: cover !important;
    background-blend-mode: normal !important;
    isolation: isolate;
    overflow: hidden;
}

/* Aberturas editoriais que não utilizam imagem */
body:not(.ccmi-home) .news-header-area {
    position: relative;
    padding: 100px 0 104px !important;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(55, 7, 13, .92) 0%, rgba(134, 29, 39, .76) 54%, rgba(55, 7, 13, .46) 100%),
        url('../images/bg_informativo.jpg') center/cover !important;
    border: 0 !important;
    overflow: hidden;
}
body:not(.ccmi-home) .news-header-area::after {
    content: "";
    position: absolute;
    top: -120px;
    right: 7%;
    width: 390px;
    height: 390px;
    border: 1px solid rgba(216,189,135,.17);
    border-radius: 50%;
}
body:not(.ccmi-home) .news-header-area .container { position: relative; z-index: 1; }
body:not(.ccmi-home) .news-header-area .sec-title { margin: 0; color: #fff !important; font-size: clamp(46px, 5vw, 68px); }
body:not(.ccmi-home) .news-header-area .sec-text { margin-top: 9px; color: rgba(255,255,255,.62) !important; }
body:not(.ccmi-home) .sector-hero::after,
body:not(.ccmi-home) .sector-hero-ev::after,
body:not(.ccmi-home) .sector-hero-gal::after,
body:not(.ccmi-home) .sector-hero-inf::after,
body:not(.ccmi-home) .market-header-banner::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(54,7,12,.78) 0%, rgba(112,20,30,.55) 52%, rgba(112,20,30,.22) 100%),
        linear-gradient(0deg, rgba(20,8,10,.25), rgba(20,8,10,.08));
}
body:not(.ccmi-home) .sector-hero .container,
body:not(.ccmi-home) .sector-hero-ev .container,
body:not(.ccmi-home) .sector-hero-gal .container,
body:not(.ccmi-home) .sector-hero-inf .container,
body:not(.ccmi-home) .market-header-banner .container {
    position: relative;
    z-index: 1;
    text-align: left !important;
}
body:not(.ccmi-home) .sector-hero .container.text-center,
body:not(.ccmi-home) .sector-hero-ev .container.text-center,
body:not(.ccmi-home) .sector-hero-gal .container.text-center,
body:not(.ccmi-home) .sector-hero-inf .container.text-center {
    text-align: left !important;
}
body:not(.ccmi-home) .sector-hero h1,
body:not(.ccmi-home) .sector-hero-ev h1,
body:not(.ccmi-home) .sector-hero-gal h1,
body:not(.ccmi-home) .sector-hero-inf h1,
body:not(.ccmi-home) .market-header-banner h1 {
    max-width: 820px;
    margin: 0;
    color: #fff !important;
    font-size: clamp(44px, 5vw, 70px) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
    text-align: left !important;
    text-transform: none !important;
}
body:not(.ccmi-home) .sector-hero p,
body:not(.ccmi-home) .sector-hero-ev p,
body:not(.ccmi-home) .sector-hero-gal p,
body:not(.ccmi-home) .sector-hero-inf p,
body:not(.ccmi-home) .market-header-banner p {
    max-width: 620px;
    text-align: left !important;
}
body:not(.ccmi-home) .matrix-impact,
body:not(.ccmi-home) .market-header-banner .text-uppercase {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: #d8bd87 !important;
    font-size: 9px !important;
    font-weight: 700;
    letter-spacing: .15em !important;
}

/* Espaçamento e cabeçalhos de seção */
body:not(.ccmi-home) section.py-5,
body:not(.ccmi-home) section.space,
body:not(.ccmi-home) section.space-top { padding-top: 90px !important; padding-bottom: 90px !important; }
body:not(.ccmi-home) .sec-title,
body:not(.ccmi-home) .stat-main-title { color: #182420; font-size: clamp(35px, 4vw, 52px); font-weight: 600; line-height: 1.05; }
body:not(.ccmi-home) .sub-title { color: #861d27 !important; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
body:not(.ccmi-home) .sec-title2 { color: #182420; font-size: clamp(34px, 4vw, 50px); font-weight: 600; line-height: 1.08; }
body:not(.ccmi-home) .president-img-box,
body:not(.ccmi-home) .img-box-style2,
body:not(.ccmi-home) .contact-info-card,
body:not(.ccmi-home) .contact-form-premium {
    background: #fff;
    border: 1px solid #e4ded4;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:not(.ccmi-home) .president-img-box img,
body:not(.ccmi-home) .img-box-style2 img { border-radius: 0 !important; }
body:not(.ccmi-home) .contact-info-card,
body:not(.ccmi-home) .contact-form-premium { height: 100%; padding: clamp(28px, 4vw, 48px); }
body:not(.ccmi-home) .contact-info-icon { color: #7d1720 !important; background: #f2ece2 !important; }

/* Busca e filtros */
body:not(.ccmi-home) .market-search-card {
    margin-top: -52px !important;
    padding: 24px !important;
    background: #fff !important;
    border: 1px solid #e6e0d6 !important;
    border-radius: 0 !important;
    box-shadow: 0 20px 55px rgba(23,40,34,.1) !important;
}
body:not(.ccmi-home) .market-search-card input,
body:not(.ccmi-home) .market-search-card select,
body:not(.ccmi-home) .form-control,
body:not(.ccmi-home) .form-select {
    min-height: 50px;
    color: #26332f;
    background-color: #faf9f6 !important;
    border: 1px solid #ddd7cd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body:not(.ccmi-home) .market-search-card button,
body:not(.ccmi-home) .btn-search-market,
body:not(.ccmi-home) .btn-search-op {
    min-height: 50px;
    padding: 0 24px;
    color: #fff !important;
    background: #7d1720 !important;
    border: 1px solid #7d1720 !important;
    border-radius: 0 !important;
    font-size: 11px;
    font-weight: 700;
}

/* Cartões de diretório, marketplace, oportunidades e conteúdo */
body:not(.ccmi-home) .company-directory-card,
body:not(.ccmi-home) .market-prod-card,
body:not(.ccmi-home) .op-project-card,
body:not(.ccmi-home) .news-item-card,
body:not(.ccmi-home) .ccmi-ev-card,
body:not(.ccmi-home) .ccmi-inf-card,
body:not(.ccmi-home) .ccmi-gal-card {
    background: #fff !important;
    border: 1px solid #e4ded4 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
}
body:not(.ccmi-home) .company-directory-card:hover,
body:not(.ccmi-home) .market-prod-card:hover,
body:not(.ccmi-home) .op-project-card:hover,
body:not(.ccmi-home) .news-item-card:hover,
body:not(.ccmi-home) .ccmi-ev-card:hover,
body:not(.ccmi-home) .ccmi-inf-card:hover,
body:not(.ccmi-home) .ccmi-gal-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 22px 48px rgba(23,40,34,.1) !important;
}
body:not(.ccmi-home) .company-logo-frame { background: #faf8f3 !important; border: 1px solid #e4ded4 !important; border-radius: 0 !important; }
body:not(.ccmi-home) .company-logo-frame img.is-photo { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body:not(.ccmi-home) .company-logo-frame img.is-logo { object-fit: contain !important; }
body:not(.ccmi-home) .company-card-segment,
body:not(.ccmi-home) .market-prod-company,
body:not(.ccmi-home) .op-badge-sector { color: #8c6a35 !important; font-size: 9px !important; font-weight: 700 !important; letter-spacing: .1em; text-transform: uppercase; }
body:not(.ccmi-home) .company-card-title,
body:not(.ccmi-home) .market-prod-title,
body:not(.ccmi-home) .op-card-title { color: #182420 !important; font-weight: 600 !important; }
body:not(.ccmi-home) .btn-company-profile,
body:not(.ccmi-home) .btn-market-action,
body:not(.ccmi-home) .btn-op-action {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: #1c332b !important;
    border: 1px solid #1c332b !important;
    border-radius: 0 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}
body:not(.ccmi-home) .btn-company-profile:hover,
body:not(.ccmi-home) .btn-market-action:hover,
body:not(.ccmi-home) .btn-op-action:hover { background: #7d1720 !important; border-color: #7d1720 !important; }

/* Formulários */
body:not(.ccmi-home) form label { color: #26332f; font-size: 10px; font-weight: 700; letter-spacing: .04em; }
body:not(.ccmi-home) textarea.form-control { min-height: 120px; }
body:not(.ccmi-home) .th-btn,
body:not(.ccmi-home) button[type="submit"] { border-radius: 0 !important; }

/* Paginação */
body:not(.ccmi-home) .pagination { gap: 7px; }
body:not(.ccmi-home) .page-link,
body:not(.ccmi-home) .page-link-pill { min-width: 40px; height: 40px; display: grid; place-items: center; padding: 0 !important; color: #293530 !important; background: #fff !important; border: 1px solid #ddd7cd !important; border-radius: 0 !important; box-shadow: none !important; }
body:not(.ccmi-home) .page-item.active .page-link,
body:not(.ccmi-home) .page-link:hover { color: #fff !important; background: #7d1720 !important; border-color: #7d1720 !important; }

/* Banners CTA compartilhados */
.internal-cta { padding: 66px 0; background: #fff; }
.internal-cta-card { position: relative; min-height: 420px; display: flex; align-items: center; padding: 58px; color: #fff; overflow: hidden; }
.internal-cta-card > img { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; min-height: 100%; object-fit: cover; }
.internal-cta-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,34,28,.96), rgba(17,45,36,.7) 62%, rgba(17,45,36,.16)); }
.internal-cta-content { position: relative; z-index: 1; max-width: 660px; }
.internal-cta-content > span { display: block; margin-bottom: 13px; color: #d8bd87; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.internal-cta-content h2 { margin-bottom: 14px; color: #fff !important; font-size: clamp(36px, 4vw, 55px); font-weight: 600; line-height: 1.04; }
.internal-cta-content p { max-width: 560px; color: rgba(255,255,255,.68) !important; font-size: 12px; line-height: 1.75; }
.internal-cta-button { min-height: 52px; display: inline-flex; align-items: center; gap: 17px; margin-top: 12px; padding: 0 8px 0 22px; color: #68141c !important; background: #fff; font-size: 10px; font-weight: 700; box-shadow: 0 12px 28px rgba(7,20,16,.25); }
.internal-cta-button i { width: 36px; height: 36px; display: grid; place-items: center; color: #fff; background: #7d1720; }
.internal-cta-button:hover { color: #421014 !important; background: #d9bd83; transform: translateY(-2px); }

@media (max-width: 991px) {
    body:not(.ccmi-home) .sector-hero,
    body:not(.ccmi-home) .sector-hero-ev,
    body:not(.ccmi-home) .sector-hero-gal,
    body:not(.ccmi-home) .sector-hero-inf,
    body:not(.ccmi-home) .market-header-banner { min-height: 360px; padding: 75px 0; }
}

@media (max-width: 767px) {
    body:not(.ccmi-home) section.py-5,
    body:not(.ccmi-home) section.space,
    body:not(.ccmi-home) section.space-top { padding-top: 65px !important; padding-bottom: 65px !important; }
    body:not(.ccmi-home) .sector-hero h1,
    body:not(.ccmi-home) .sector-hero-ev h1,
    body:not(.ccmi-home) .sector-hero-gal h1,
    body:not(.ccmi-home) .sector-hero-inf h1,
    body:not(.ccmi-home) .market-header-banner h1 { font-size: 43px !important; }
    .internal-cta { padding: 50px 0; }
    .internal-cta-card { min-height: 430px; padding: 35px 27px; }
}
