/* ===== resources/views/site/impact-project/view.blade.php ===== */
/* ====== PÁGINA DE PROJETO DE IMPACTO ====== */

        .btn-visit-website-overlay {
            position: absolute;
            top: 2rem;
            right: 2rem;
            background-color: var(--sulsul-purple);
            color: var(--sulsul-light-gray);
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            font-size: 0.9rem;
            padding: 0.8rem 1.5rem;
            border: 2px solid var(--sulsul-title-gray);
            text-decoration: none;
            transition: all 0.2s ease;
        }
        .btn-visit-website-overlay:hover {
            background-color: var(--sulsul-title-gray);
            color: var(--sulsul-purple);
        }

        .project-title-section {
            background-color: var(--sulsul-purple);
            padding: 2.5rem 1rem;
            color: var(--sulsul-light-gray);
        }
        .project-title-section h1 {
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            font-size: 3rem;
            text-transform: uppercase;
            letter-spacing: 2px;
        }

        .container-narrow-project {
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
            padding-right: var(--bs-gutter-x, 0.75rem);
            padding-left: var(--bs-gutter-x, 0.75rem);
            border-bottom: 2px solid var(--sulsul-purple);
        }

        .container-narrow-project-no-border {
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
            padding-right: var(--bs-gutter-x, 0.75rem);
            padding-left: var(--bs-gutter-x, 0.75rem);
        }

        .project-cta-section {
            padding: 2.5rem 0;
        }
        .cta-box {
            padding-bottom: 10px;
            text-align: start;
        }
        .cta-box h2 {
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            font-size: 2rem;
            text-transform: uppercase;
            color: var(--sulsul-light-gray);
        }
        .create-event-link {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--sulsul-light-gray);
            text-decoration: none;
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
        }
        .create-event-link:hover {
            color: var(--sulsul-green);
        }

        .content-title {
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            font-size: 1.5rem;
            text-transform: uppercase;
            color: var(--sulsul-light-gray);
            letter-spacing: 1px;
        }
        .content-text {
            font-family: 'Montserrat', sans-serif;
            color: var(--sulsul-light-gray);
            line-height: 1.7;
        }
        .edit-icon {
            color: var(--sulsul-purple);
            font-size: 1.5rem;
        }

        .video-placeholder {
            width: 100%;
            aspect-ratio: 16 / 9;
            background-color: var(--sulsul-purple);
            margin-top: 1rem;
        }

        .campaign-active-date {
            font-family: 'Oswald', sans-serif;
            color: var(--sulsul-light-gray);
            font-size: 0.9rem;
            margin-top: 3rem;
        }

        /* --- Estatísticas de Impacto --- */
        .stats-header {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            font-family: 'Oswald', sans-serif;
            text-transform: uppercase;
            color: var(--sulsul-light-gray);
            font-weight: 700;
        }
        .stats-header a {
            color: var(--sulsul-gray);
            text-decoration: none;
            font-size: 0.9rem;
        }
        .stats-header a:hover {
            color: #fff;
        }

        .stat-item-project {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .stat-number-project {
            font-family: 'Oswald', sans-serif;
            font-size: 6rem;
            font-weight: 700;
            color: var(--sulsul-green);
            line-height: 1;
        }
        .stat-label-project {
            font-family: 'Oswald', sans-serif;
            font-size: 1rem;
            text-transform: uppercase;
            color: var(--sulsul-green);
            letter-spacing: 2px;
            margin-top: 0.5rem;
        }

        /* --- Seção de Fotos --- */
        .photo-placeholder {
            width: 100%;
            aspect-ratio: 4 / 3;
            background-color: var(--sulsul-gray);
        }
        .edit-icon-overlay {
            position: absolute;
            bottom: 1rem;
            right: 1rem;
            color: var(--sulsul-purple);
            font-size: 1.5rem;
            text-decoration: none;
        }

        .btn-impact-icon {
            width: 35px;
            height: 35px;
            border-radius: 10%;
            background-color: var(--sulsul-gray);
            color: #000000;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            padding: 0;
            transition: transform .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
        }

        /* --- Responsividade --- */
        @media (max-width: 767px) {
            .project-title-section h1 { font-size: 2rem; }
            .cta-box h2 { font-size: 1.5rem; }
            .stat-number-project { font-size: 4rem; }
            .stat-item-project { margin-bottom: 2rem; }
        }

/* ===== resources/views/site/impact-project/index.blade.php ===== */
/* ====== PÁGINA DE LISTAGEM DE PROJETOS DE IMPACTO ====== */

        /* Garante que o card ocupe toda a largura do contêiner estreito nesta página */
        .impact-projects-page .impact-card {
            width: 100%;
        }

        /* Garante que o card inteiro seja clicável, usando um utilitário do Bootstrap */
        /* O link dentro do card-body precisa da classe .stretched-link */
        .project-list-item {
            position: relative;
        }

        .container-narrow-impact-projects {
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
            padding-right: var(--bs-gutter-x, 0.75rem);
            padding-left: var(--bs-gutter-x, 0.75rem);
        }


        .card-body {
            background-color: var(--sulsul-gray);
        }

        /* Botão de carregar mais */
        .btn-load-more {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            border: 2px solid var(--sulsul-green);
            background-color: transparent;
            color: var(--sulsul-green);
            font-size: 60px;
            line-height: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }
        .btn-load-more:hover {
            background-color: var(--sulsul-purple);
            color: #fff;
            transform: scale(1.1);
        }

        .impact-card .card-img-top {
            border-radius: 8px 8px 0px 0; /* Bordas levemente arredondadas na imagem */
        }

        .impact-card .card-body {
            border-radius: 0 0 8px 8px; /* Bordas levemente arredondadas na imagem */
        }

/* ===== resources/views/site/impact-project/producer.blade.php ===== */
/* ====== PRODUCER (alinhado ao modelo da Campanha) ====== */

        /* Botão sobreposto no banner — mesmo padrão da campanha */
        .btn-visit-website-overlay{
            position: absolute;
            top: 2rem;
            right: 2rem;
            background-color: var(--sulsul-purple);
            color: var(--sulsul-light-gray);
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            text-transform: uppercase;
            font-size: 0.9rem;
            padding: 0.8rem 1.5rem;
            border: 2px solid var(--sulsul-title-gray);
            text-decoration: none;
            transition: all .2s ease;
            z-index: 3;
        }
        .btn-visit-website-overlay:hover{
            background-color: var(--sulsul-title-gray);
            color: var(--sulsul-purple);
        }

        /* Banner (full-width) */
        .producer-hero-image{
            position: relative;
            min-height: 240px;
            height: 400px; /* Defina a altura fixa que desejar aqui (ex: 450px) */
            position: relative; /* Mantido para os elementos flutuantes */
            overflow: hidden; /* Esconde qualquer parte da imagem que exceda a altura fixa */
        }
        .producer-hero-image > img{
            display: block;
            width: 100%;
            height: auto;
        }

        /* Faixa de título abaixo do banner, com largura limitada */
        .producer-title-section{
            /* background-color: var(--sulsul-purple); */
            color: var(--sulsul-light-gray);
            padding: 2.5rem 1rem;
            /* border-bottom: 2px solid var(--sulsul-purple); */
        }

        /* Contêiner estreito (800px) para o título e metadados */
        .container-narrow-producer{
            max-width: 800px;
            margin-left: auto;
            margin-right: auto;
            width: 100%;
            padding-right: var(--bs-gutter-x, 0.75rem);
            padding-left: var(--bs-gutter-x, 0.75rem);
        }

        /* Tipografia do título/subtítulo/local */
        .producer-name{
            font-family: 'Oswald', sans-serif;
            font-weight: 700;
            font-size: 3rem;
            line-height: 1.05;
            letter-spacing: 2px;
            color: var(--sulsul-title-gray);
            margin-bottom: .25rem;
        }
        .producer-subtitle{
            font-family: 'Oswald', sans-serif;
            font-size: 1.1rem;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--sulsul-purple);
            margin-bottom: .25rem;
        }
        .producer-location{
            font-family: 'Oswald', sans-serif;
            /* font-weight: 700; */
            color: var(--sulsul-light-gray);
            margin: 0;
        }

        /* Elementos flutuantes ancorados ao banner e invadindo a faixa de título */
        .producer-logo-float,
        .btn-plus-float{
            position: absolute;
            z-index: 4;
        }
        .producer-logo-float{
            bottom: -40px;           /* invade a faixa */
            right: 10%;
            width: 150px; height:150px;
            border-radius: 50%;
            border: 4px solid #000;
            object-fit: cover;
            background: #000;
        }
        .btn-plus-float{
            bottom: -10px;           /* acompanha a borda do logo */
            right: calc(10% + 125px);
            transform: translateY(50%);
            width: 50px; height: 50px;
            border-radius: 50%;
            background-color: var(--sulsul-red);
            color: #fff;
            border: 2px solid #000;
            font-size: 2rem; line-height: 1;
            display: flex; align-items: center; justify-content: center;
        }

        /* ====== Seções já existentes (ajustadas para conviver com o novo hero) ====== */

        .producer-stats{
            padding-top: 100px; /* respiro por causa do logo flutuante */
        }

        .upcoming-events-list{

        }

        .stat-item-producer{
            display: flex; align-items: flex-end; gap: 1rem;
        }
        .stat-prefix{
            font-family: 'Oswald', sans-serif;
            font-size: 1.5rem; font-weight: 700;
            color: var(--sulsul-title-gray);
            text-align: end;
        }
        .stat-number-producer{
            font-family: 'Oswald', sans-serif;
            font-size: 6rem; font-weight: 700;
            color: var(--sulsul-green); line-height: 1;
        }
        .stat-label-producer{
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem; color: var(--sulsul-title-gray);
            text-transform: uppercase;
            line-height: 1.2;
        }

        .section-title-small{
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem;
            color: var(--sulsul-green);
            text-transform: uppercase;
            letter-spacing: 2px;
            font-weight: 700;
            padding-bottom: .5rem;
        }

        .upcoming-event-item{
            display: flex;
            align-items: center;
            gap: 1.5rem;
            border: 2px solid var(--sulsul-purple);
        }
        .date-box{
            background-color: var(--sulsul-purple); color:#fff;
            font-family:'Oswald',sans-serif; text-align:center; padding:.5rem; min-width:70px;
        }
        .date-box .day{ display:block; font-size:2.5rem; font-weight:700; line-height:1; }
        .date-box .month{ display:block; font-size:1rem; font-weight:700; text-transform:uppercase; }
        .upcoming-event-item .info h3{
            font-family:'Oswald',sans-serif; font-size:1.5rem; font-weight:700; color:var(--sulsul-title-gray); margin:0;
        }
        .upcoming-event-item .info p{
            font-family:'Montserrat',sans-serif;
            color:var(--sulsul-light-gray);
            margin:0;
        }


        .events-conducted-carousel .caption{
            font-family:'Oswald',sans-serif;
            color:var(--sulsul-light-gray);
            margin-top:1rem; font-weight:700;
        }

        .connections-list{ display:flex; flex-wrap:wrap; gap:1rem; }
        .connections-list img{ width:80px; height:80px; border:3px solid var(--sulsul-gray); }

        /* Utilitário geral (se não existir): container estreito padrão */
        .container-narrow{
            max-width: 800px;
            margin-left: auto; margin-right: auto;
            width: 100%;
            padding-right: var(--bs-gutter-x, .75rem);
            padding-left: var(--bs-gutter-x, .75rem);
        }

        .hr-section-sep{
            display:block;
            height: 2px;
            background-color: var(--sulsul-purple);
            border: 0;
            opacity: 1;
            margin: 60px 0 0;  /* 2rem de espaço ACIMA do hr */
        }

        /* Responsivo */
        @media (max-width: 767px){
            .producer-name{ font-size: 2rem; }
            .producer-subtitle{ font-size: 1rem; }
            .producer-logo-float{ width:100px; height:100px; bottom:-30px; right:6%; }
            .btn-plus-float{ right: calc(6% + 80px); width:40px; height:40px; font-size:1.6rem; }
            .stat-number-producer{ font-size: 4rem; }
            .stat-item-producer{ justify-content:center; flex-direction:column; align-items:center; text-align:center; }
            .stat-label-producer{ padding-bottom:0; }
        }

