/* ============================================
   OFICINA MUDA - STYLESHEET
   ============================================ */

/* --- VARIABLES --- */
:root {
    --color-dark:#000;
    --color-dark-green: #E8B4A0;
    --color-forest: #3a4f3a;
    --color-light-green: #4a6741;
    --color-warm-yellow: #f5c842;
    --color-warm-orange: #e8943a;
    --color-warm-pink: #e8727a;
    --color-cream: #f9f6f1;
    --color-text-dark: #1a1a1a;
    --color-text-muted: #6c757d;
    --color-white: #ffffff;
    --font-color-foot:#57595B;
    --font-heading: 'Manrope', sans-serif;
    --font-body: 'Manrope', sans-serif;
    --bg-footer:#D3D5CF;
    --default-font-size:1.125rem;
    --section-title-font:2.2rem;
    --default-font-size-boxes:1.25rem;
    --text-novos-ciclos:4.375rem;
    --titulo-text-boxes:1.75rem;
    --tenyears-text:2.0rem;
    --onemillion-text:4.6875rem;
    --statuspatchwork-text:2.5rem;


    
}

/* --- GLOBAL --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.manrope {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
html{
    font-size: 100%;
}

body {
    font-family: var(--font-body);
    font-size:var(--default-font-size);
    color: var(--color-text-dark);
    line-height: 1.5rem;
    overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
}

img {
    max-width: 100%;
    height: auto;
}
    
.espaca-section{
    margin-top: 80px;
}
/* --- LOGO HEADER --- */
.logo-header {
    padding: 1.5rem 0;
}
.logo-header img{
    width:auto;
    height:100px;
}

.logo-container {
    display: flex;
    justify-content: center;
    height: 160px;
    align-items: center;
}

/*.logo-subtitle {
    display: block;
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 6px;
    color: var(--color-text-dark);
    margin-bottom: -5px;
}

.logo-title {
    font-family: var(--font-heading);
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--color-dark-green);
    letter-spacing: 8px;
    margin: 0;
}*/

/* --- HERO SECTION --- */
.hero-section {
    width: 100%;
    overflow: hidden;
    background-image: url('img/DSC01435.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 800px; /* ajuste conforme necessário */
    /*border-radius: 8px;*/
}

/*.hero-img {
    width: 100%;
    height: 70vh;
    min-height: 400px;
    object-fit: cover;
    display: block;
}*/

/* --- INTRO SECTION --- */
.intro-section {
    background: var(--color-white);
}

.intro-text {
    color: var(--color-text-dark);
    line-height: 1.8;
}

.intro-headline {
    font-family: var(--font-body);
    font-size: var(--section-title-font);
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--color-text-dark);
}

/* --- SECTION TITLES --- */
.section-title-dark {
    font-family: var(--font-heading);
    font-size: var(--section-title-font);
    font-weight: 700;
    color: var(--color-text-dark);
    line-height: 1.2;


}

.alinha-texto-direita{
    text-align:right;
    padding-right:70px;
    
}


.alinha-texto-direita p{
   width:90%;
   display:inline-block;
   align-text:right;
}

/* --- NOVOS CICLOS --- */
.novos-ciclos-section {
    background: var(--color-cream);
}

.novos-ciclos-background {
    position: relative;
    width: 90%;
    margin:0 auto;
    min-height: 500px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('img/DSC01538.jpg');
}

.novos-ciclos-background::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(45, 58, 46, 0.15);
    z-index: 1;
}

.novos-ciclos-background .row {
    position: relative;
    z-index: 2;
    height:660px;
}

.novos-ciclos-content {
    color: var(--color-white);
    min-height: 500px;
    display:flex;
    align-items:center;
    justify-content: center;
    text-align: center;
    /*margin-left:30px;*/
    height:100%;
}

.novos-ciclos-title {
    font-family: var(--font-body);
    font-size: var(--text-novos-ciclos);
    font-weight: 700;
    color: var(--color-white);
    line-height: 1.1;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.3);
    margin: 0;
}

.novos-ciclos-text {
    color: var(--color-white);
    text-shadow: 1px 1px 4px rgba(0,0,0,0.3);
    width: 545px;
    max-width: 100%;
    min-height: 500px;
    display:flex;
    align-items:center;
    justify-content: center;
    margin: 0 auto;
    height:100%;
    padding-top:5%;
}

.novos-ciclos-text p {
    font-size: var(--default-font-size-boxes);
    font-size: var(--default-font-size);
    line-height: 1.5;
    margin-bottom: 1.4rem;
    text-align: right;
    align-items:center;
    /*margin-left:25%;*/
    opacity: 0.95;
}

.novos-ciclos-text strong {
    font-weight: 700;
}

/* --- CADA VISITA --- */
.cada-visita-section {
    background: var(--color-white);
    height:787px;
    margin-bottom:30px;
    
}

/*.loja-img {
    max-height: 787px;
    object-fit: cover;
    width: 100%;
    left:0;
    margin:0;
}*/
.container-lojas{
    height: 787px;
    
}
.container-lojas-background {
    background-image: url('img/IMG_6311.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 787px; /* ajuste conforme necessário */
    /*border-radius: 8px;*/
}

.cada-visita-titulo{
    display:block;
    padding-top:0;
    margin-top:0;

}
.cada-visita-titulo h2{
    font-size: var(--section-title-font);
}
.bloco-enderecos-lojas{
    margin-top:30px;
}

.store-item {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
   /* border-bottom: 1px solid #eee;*/
    text-align: right;
}

.store-item:last-child {
    border-bottom: none;
    padding-bottom: none;
}

.store-name {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 1.4rem;
    margin-bottom: 0.2rem;
    color: var(--color-text-dark);
}

.store-address {
    font-size: 1rem;
    color: var(--color-text-muted);
    margin-bottom: 0.3rem;
}

.store-icons {
    display: flex;
    gap: 0.5rem;
    font-size: 1rem; 
    justify-content: flex-end;
}


/* --- MARCAS PARCEIRAS --- */
.marcas-section {
    background: var(--color-white);
}

.marca-card {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    height: 300px;
}

.marca-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.marca-card:hover .marca-img {
    transform: scale(1.05);
}

.marca-label {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0,0,0,0.7));
    color: white;
    padding: 1.5rem 0.5rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.marca-label img{
    width:auto;
    height:20px;
    margin-bottom:10px;
}

.marca-card-green {
    background: #A0B086;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
}

.marca-green-content {
    text-align: center;
    color: var(--color-dark-green);
}

.marca-green-text {
    display: block;
    margin-top:15px;
    margin-bottom:15px;
    /*font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;*/
}

.marca-green-text img{
    width:120px;
    height:auto;
    margin-bottom:10px;
}

.marca-green-sub {
    display: block;
    font-size: 0.8rem;
    margin-top: 0.5rem;
    font-style: italic;
    color:#000;
}

/* --- PROCESSO SECTION --- */
.processo-section {
    background: var(--color-white);
    height:488px;
}

.processo-img {
    height: 488px;
    object-fit: cover;
}

.processo-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.video-badge {
    background: rgba(255,255,255,0.9);
    padding: 0.5rem 1.5rem;
    border-radius: 30px;
    font-size: 0.85rem;
    color: var(--color-text-dark);
    font-weight: 500;
}

/* --- COMO ACONTECE --- */
.como-acontece-section {
    background: var(--color-white);
}

/* --- CIRCULAR & UPCYCLING --- */
.circular-upcycling-section {
    background: var(--color-white);
}
.circular-bg{
    display:flex;
    width: 50%;
    height: 740px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: linear-gradient(
    color-mix(in srgb, var(--color-dark-green) 20%, transparent)), url('img/_MG_8767.jpg');
    color: white;
    align-items: center;
    margin-bottom:100px;

}
.upcycling-bg{
    display:flex;
    width: 50%;
    height: 740px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: linear-gradient(
    color-mix(in srgb, var(--color-dark-green) 20%, transparent)), url('img/33.jpg');
    color: white;
    align-items: center;
    margin-bottom:100px;

}
.circular-img,
.upcycling-img {
    height: 450px;
    object-fit: cover;
}

.circular-overlay,
.upcycling-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
}

.circular-bg:hover .circular-overlay,
.upcycling-bg:hover .upcycling-overlay,
.espaco-oca:hover .circular-overlay,
.espaco-lab:hover .upcycling-overlay {
    opacity: 1;
}

.circular-overlay {
    background: linear-gradient(135deg, rgba(45, 58, 46, 0.5) 0%, rgba(45, 58, 46, 0.6) 100%);
    color: white;
}

.upcycling-overlay {
    background: linear-gradient(135deg, rgba(45, 58, 46, 0.5) 0%, rgba(45, 58, 46, 0.6) 100%);
    color: white;
}

.circular-title,
.upcycling-title {
    font-family: var(--font-body);
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.circular-text,
.upcycling-text {
    font-size: var(--default-font-size);
    line-height: 1.7;
    margin-bottom: 0.8rem;
    opacity: 0.9;
}

/* --- ECOSSISTEMA --- */
.ecossistema-section {
    background: var(--color-white);
}

.ecossistema-img-wrapper {
    overflow: hidden;
    border-radius: 12px;
    position: relative;
}

.ecossistema-img {
    max-height: 400px;
    object-fit: cover;
    width: 100%;
    transition: transform 0.5s ease-in-out;
}

.ecossistema-img-wrapper:hover .ecossistema-img {
    transform: scale(1.05);
}

.ecossistema-badge {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background: rgba(45, 58, 46, 0.9);
    color: white;
    padding: 1.2rem 1.5rem;
    border-radius: 12px;
    max-width: 280px;
    opacity: 0;
    transform: translateY(15px);
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    z-index: 5;
}

.ecossistema-img-wrapper:hover .ecossistema-badge {
    opacity: 1;
    transform: translateY(0);
}

/* Esconder os botões do carrossel por padrão e exibir apenas ao passar o mouse */
#ecossistemaCarousel .carousel-control-prev,
#ecossistemaCarousel .carousel-control-next {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

#ecossistemaCarousel:hover .carousel-control-prev,
#ecossistemaCarousel:hover .carousel-control-next {
    opacity: 0.7;
}

/* --- IMPACTO --- */
.impacto-section {
    /*position: relative;*/
    display:flex;
    width: 100%;
    margin:0 auto;
    height: 550px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: linear-gradient(
    color-mix(in srgb, var(--color-dark-green) 20%, transparent)), url('img/arvores.jpg');
    color: white;
    align-items: center;
    margin-bottom:100px;
}

.impacto-title {
    font-family: var(--font-heading);
    font-size: var(--section-title-font);
    font-weight: 700;
}

.impacto-text {
    /*font-size: 0.9rem;*/
    opacity: 0.85;
    line-height: 1.3;
}
.impacto-text-distac{
    font-size:var(--tenyears-text);
    line-height: 2.5rem;
}

.impacto-number {
    font-family: var(--font-body);
    font-size: var(--onemillion-text);
    line-height: 5rem;
    font-weight: 700;
    margin: 0.5rem 0 0;
}

.impacto-subtitle {
    font-size: 1.8rem;
    opacity: 0.8;
}

.impacto-link {
    font-size: var(--default-font-size);
    opacity: 0.9;
}

.impacto-link a {
    color: white;
    text-decoration: underline;
}

.impacto-text-small {
    font-size: var(--default-font-size);
    opacity: 0.7;
    margin-top: 1rem;
}

.cert-badge img{
    width: 100px;
    height: 108px;
    /*border-radius: 50%;
    display: flex;*/
    align-items: center;
    justify-content: center;

}

.cert-b {
    background: transparent;
    font-size: 1.5rem;
    font-family: var(--font-heading);
}

.cert-reciclo {
    flex-direction: column;
    font-size: 0.6rem;
    gap: 2px;
}

.cert-reciclo i {
    font-size: 1.2rem;
}

.cert-bbb {
    font-size: 0.7rem;
    letter-spacing: 1px;
}

.sdg-icon {
    width: 46px;
    height: 46px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: white;
}

/*.sdg-1 { background: #e5243b; }
.sdg-5 { background: #ff3a21; }
.sdg-8 { background: #a21942; }
.sdg-9 { background: #fd6925; }
.sdg-10 { background: #dd1367; }
.sdg-12 { background: #bf8b2e; }
.sdg-13 { background: #3f7e44; }
.sdg-17 { background: #19486a; }*/

/* --- RETALHOS --- */
.retalhos-section {
    display: flex;
    width: 100%;
    margin: 0 auto;
    height: auto;
    min-height: 580px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('img/prancheta1.jpg');
    color: white;
    align-items: center;
    margin-top: 100px;
    padding: 60px 0;
}

.retalhos-section-title {
    color: white;
    font-size: 2.5rem;
    font-weight: 300;
}

.retalhos-section-title strong {
    font-weight: 700;
}

.retalhos-section p {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}

.retalhos-section p strong {
    color: white;
}

.retalhos-stats {
    background: transparent;
    padding: 0;
}

.retalhos-stats .stat-item {
    text-align: left;
}

.retalhos-stats .stat-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 0.2rem;
}

.retalhos-stats .stat-number {
    font-family: var(--font-body);
    font-size: 2.2rem;
    font-weight: 700;
    color: white;
    margin-bottom: 0;
    line-height: 1.1;
}

.retalhos-stats .stat-icon-custom {
    display: inline-flex;
    align-items: center;
    color: white;
}

.retalhos-stats .stat-label {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}
.icone-text-retalhos{
    width: 40px;
}

.sdg-icons-retalhos .sdg-icon {
    width: 32px;
    height: 32px;
}

.sdg-icons-retalhos .sdg-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* --- ESPAÇOS --- */
.espacos-section {
    background: var(--color-white);
}
.logo-oca{
    width:150px;
    margin-bottom:30px;
}

.logo-muda-lab{
    width:250px;
    margin-bottom:30px;
}
.links-oca a{
    text-decoration: none;
    color: #fff;
    margin-bottom:20px;
}
.links-oca a:hover{
    text-decoration: none;
    color: #fff;

}
.espaco-oca{
    display:flex;
    width: 50%;
    height: 640px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: linear-gradient(
    color-mix(in srgb, var(--color-dark) 20%, transparent)), url('img/DSC00939.jpg');
    color: white;
    align-items: center;
    margin-top:100px;
}
.espaco-lab{
    display:flex;
    width: 50%;
    height: 640px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-image: linear-gradient(
    color-mix(in srgb, var(--color-dark) 20%, transparent)), url('img/DSC08968.jpg');
    color: white;
    align-items: center;
    margin-top:100px;
}

.espaco-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 400px;
}

.espaco-img {
    height: 100%;
    object-fit: cover;
}

.espaco-overlay-oca {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(45, 58, 46, 0.2) 0%, rgba(45, 58, 46, 0.85) 100%);
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: white;
}

.oca-logo {
    margin-bottom: 1rem;
}

.oca-feira {
    font-size: 0.7rem;
    letter-spacing: 3px;
    font-weight: 500;
}

.oca-name {
    font-family: var(--font-heading);
    font-size: 3rem;
    font-weight: 700;
    margin: 0;
    line-height: 1;
}

.oca-text {
    font-size: 0.85rem;
    opacity: 0.9;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.oca-link {
    color: white;
    font-size: 0.85rem;
    text-decoration: none;
    display: block;
    margin-bottom: 0.3rem;
    transition: opacity 0.3s;
}

.oca-link:hover {
    opacity: 0.7;
    text-decoration: underline;
}

.espaco-overlay-lab {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(45, 58, 46, 0.3) 0%, rgba(45, 58, 46, 0.85) 100%);
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: white;
}

.lab-title {
    font-family: var(--font-body);
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: 4px;
    margin-bottom: 0.5rem;
}

.lab-bracket {
    font-weight: 300;
    opacity: 0.7;
}

.lab-breve {
    font-size: 0.75rem;
    letter-spacing: 3px;
    font-weight: 600;
    margin-bottom: 1rem;
    opacity: 0.8;
}

.lab-text {
    font-size: 0.85rem;
    opacity: 0.85;
    line-height: 1.6;
}

/* --- REDES --- */
.redes-section {
    background: var(--color-white);
}

.rede-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 450px;
    width:300px;
    cursor: pointer;
}

.rede-img {
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.rede-card:hover .rede-img {
    transform: scale(1.05);
}

.rede-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(45, 58, 46, 0.8);
    padding: 1.5rem;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.rede-card:hover .rede-overlay {
    opacity: 1;
}

.rede-overlay span {
    font-size: 0.95rem;
}

/* --- FOOTER --- */
.footer-section {
    background: var(--bg-footer);
    color:var(--font-color-foot)!important;
}

.footer-title {
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: -2%;
  
    margin-bottom: 1rem;
}

.footer-social a {
    color: var(--color-text-dark);
    transition: color 0.3s;
}

.footer-social a:hover {
    color: var(--color-light-green);
}

.footer-cert-badge {
    background: var(--color-white);
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.75rem;
    color: var(--color-text-dark);
    border: 1px solid #ddd;
}

.footer-contact {
    font-size: 0.8rem;
    color: var(--color-text-muted);
    margin-bottom: 0;
}

/* --- RESPONSIVE --- */
@media (max-width: 991px) {
    .novos-ciclos-title {
        font-size: 2.2rem;
    }

    .novos-ciclos-img {
        height: 350px;
    }

    .circular-img,
    .upcycling-img {
        height: 350px;
    }

    .impacto-number {
        font-size: 2.5rem;
    }

    .espaco-card {
        height: 350px;
    }
}

@media (max-width: 767px) {
    .logo-title {
        font-size: 2rem;
        letter-spacing: 5px;
    }

    .hero-img {
        height: 50vh;
        min-height: 300px;
    }

    .novos-ciclos-title {
        font-size: 1.8rem;
    }

    .novos-ciclos-overlay {
        padding: 1.5rem;
    }

    .section-title-dark {
        font-size: var(--section-title-font);
    }

    .circular-img,
    .upcycling-img {
        height: 300px;
    }

    .circular-overlay,
    .upcycling-overlay {
        padding: 1.5rem;
    }

    .circular-title,
    .upcycling-title {
        font-size: 1.4rem;
    }

    .impacto-title {
        font-size: 1.6rem;
    }

    .impacto-number {
        font-size: 2rem;
    }

    .espaco-card {
        height: 300px;
    }

    .oca-name {
        font-size: 2rem;
    }

    .lab-title {
        font-size: 1.8rem;
    }

    .stat-number {
        font-size: 1rem;
    }

    .rede-card {
        height: 250px;
    }
}

@media (max-width: 575px) {
    .novos-ciclos-img {
        height: 280px;
    }

    .processo-img {
        height: 250px;
    }

    .marca-card {
        height: 160px;
    }

    .marca-card-green {
        height: 160px;
    }
}