/* ============================================================
   DU LADO DA GENTE — Landing Page Duarte
   Estilos da front-page (sobrescreve o tema doador)
   ============================================================ */

:root{
    --du-blue:    #0000FE;
    --du-blue-2:  #0a16d8;
    --du-orange:  #FFA800;
    --du-green:   #2FB455;
    --du-red:     #E53526;
    --du-dark:    #111418;
    --du-text:    #4b4b4b;
    --du-font-display: 'Boldonse', 'Montserrat', Arial, sans-serif;
    --du-font-slab:    'RosebaySlab', 'Georgia', serif;
    --du-font-body:    'Montserrat', Arial, sans-serif;
}

/* Esconde header/footer do tema doador (o mockup não os possui) */
.site-header,
.mobile-menu,
.site-footer{ display:none !important; }

.du-main{ overflow-x:hidden; background:#fff; }
.du-main *{ box-sizing:border-box; }

/* ============================================================
   SEÇÃO 1 — HERO
   ============================================================ */
.du-hero{
    position:relative;
    background:var(--du-blue);
    padding:26px clamp(16px,4vw,60px) 0;
    overflow:hidden;
}

/* SIGA NOSSOS CANAIS */
.du-channels{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    margin-bottom:18px;
}
.du-channels-label{
    background:var(--du-dark);
    color:#fff;
    font-family:var(--du-font-display);
    font-size:clamp(.7rem,1.1vw,.95rem);
    letter-spacing:.5px;
    padding:10px 18px;
    border-radius:8px;
    line-height:1;
}
.du-channels-icons{ display:flex; gap:8px; }
.du-ch{
    width:42px; height:42px;
    display:inline-flex; align-items:center; justify-content:center;
    background:#fff;
    border:2px solid var(--du-green);
    border-radius:8px;
    color:var(--du-blue);
    font-size:1.25rem;
    transition:transform .15s ease;
}
.du-ch:hover{ transform:translateY(-2px); }

/* GRID HERO */
.du-hero-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:clamp(20px,3vw,46px);
    align-items:stretch;
}

/* Coluna esquerda */
.du-hero-left{
    position:relative;
    min-height:600px;
    display:flex;
}
.du-hero-photo{
    position:absolute;
    left:-10px;
    bottom:0;
    height:100%;
    width:auto;
    max-width:38%;
    object-fit:contain;
    object-position:bottom left;
    z-index:2;
}
.du-hero-brand{
    margin-left:40%;
    width:60%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:26px;
    padding-top:6px;
}
.du-hero-logo{
    width:100%;
    max-width:560px;
    height:auto;
}
.du-hero-callout{
    background:var(--du-green);
    padding:22px 26px 26px;
    width:fit-content;
    max-width:100%;
}
.du-callout-text{
    display:block;
    font-family:var(--du-font-display);
    color:#fff;
    line-height:1.18;
    font-size:clamp(1.4rem,2.6vw,2.3rem);
    text-transform:uppercase;
}
.du-callout-badge{
    display:inline-block;
    margin-top:12px;
    background:var(--du-blue);
    color:#fff;
    font-family:var(--du-font-display);
    font-size:clamp(1.4rem,2.6vw,2.3rem);
    text-transform:uppercase;
    padding:6px 14px;
    line-height:1;
}

/* Coluna direita — formulário */
.du-hero-right{
    display:flex;
    align-items:flex-start;
    padding-top:4px;
}
.du-form-card{
    position:relative;
    width:100%;
    background:var(--du-red);
    border-radius:20px;
    padding:30px clamp(20px,2.4vw,36px) 78px;
    margin-bottom:64px;
}
.du-form-title{
    font-family:var(--du-font-slab);
    color:var(--du-orange);
    font-size:clamp(1.5rem,2.3vw,2.05rem);
    line-height:1.05;
    text-transform:uppercase;
    margin:0 0 14px;
}
.du-form-sub{
    font-family:var(--du-font-body);
    color:#fff;
    font-size:clamp(.9rem,1.1vw,1rem);
    line-height:1.45;
    margin:0 0 22px;
}
.du-form{ display:flex; flex-direction:column; gap:14px; }
.du-input,
.du-textarea{
    width:100%;
    border:none;
    border-radius:999px;
    background:#fff;
    color:#333;
    font-family:var(--du-font-body);
    font-size:1rem;
    padding:16px 22px;
    outline:none;
}
.du-textarea{
    border-radius:22px;
    min-height:130px;
    resize:vertical;
}
.du-input::placeholder,
.du-textarea::placeholder{ color:#555; font-weight:600; }

.du-form-submit{
    position:absolute;
    left:50%;
    bottom:-32px;
    transform:translateX(-50%);
    min-width:240px;
    background:var(--du-green);
    color:var(--du-blue);
    font-family:var(--du-font-display);
    font-size:clamp(1.3rem,1.9vw,1.7rem);
    text-transform:uppercase;
    border:none;
    border-radius:10px;
    padding:16px 40px;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
    transition:transform .15s ease, filter .15s ease;
}
.du-form-submit:hover{ transform:translateX(-50%) translateY(-2px); filter:brightness(1.05); }
.du-form-msg{
    position:absolute;
    left:0; right:0; bottom:-58px;
    text-align:center;
    color:#fff;
    font-family:var(--du-font-body);
    font-size:.95rem;
}

/* ============================================================
   SEÇÃO 2 — VÍDEO
   ============================================================ */
.du-video{ position:relative; background:#000; }
.du-video-stage{ position:relative; width:100%; aspect-ratio:16/7; min-height:320px; overflow:hidden; }
.du-video-cover{
    position:absolute; inset:0; z-index:3;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    background:
        linear-gradient(180deg, rgba(255,168,0,.25), rgba(0,0,0,.45)),
        url('../Images/img-video.png') center/cover no-repeat;
    cursor:pointer;
}
.du-video-cover.is-hidden{ display:none; }
.du-video-play{
    width:clamp(80px,7vw,120px);
    height:clamp(80px,7vw,120px);
    border-radius:50%;
    background:#fff;
    border:none;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    box-shadow:0 8px 30px rgba(0,0,0,.35);
    transition:transform .15s ease;
}
.du-video-play:hover{ transform:scale(1.06); }
.du-video-play svg{ width:42%; height:42%; fill:var(--du-blue); margin-left:6%; }
.du-video-text{
    margin-top:30px;
    text-align:center;
    font-family:var(--du-font-display);
    color:var(--du-orange);
    text-transform:uppercase;
    font-size:clamp(1.6rem,3.4vw,3rem);
    line-height:1.1;
    text-shadow:0 3px 14px rgba(0,0,0,.4);
}
.du-video-reel{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
    background:#000;
}

/* ============================================================
   SEÇÃO 3 — A MUDANÇA NÃO PODE ESPERAR
   ============================================================ */
.du-about{
    position:relative;
    background:#fff;
    padding:60px clamp(16px,5vw,80px) 80px;
    overflow:hidden;
}
.du-about-d{
    position:absolute;
    left:-9%;
    top:50%;
    transform:translateY(-50%);
    width:min(56%,720px);
    height:auto;
    z-index:1;
    pointer-events:none;
}
/* Vence a regra "#sobre *{transform:none!important}" herdada do tema antigo */
#sobre .du-about-d{ transform:translateY(-50%) !important; }
#sobre .du-fale{ transition:transform .15s ease, filter .15s ease !important; }
#sobre .du-fale:hover{ transform:translateY(-2px) !important; }
.du-about-content{
    position:relative;
    z-index:2;
    max-width:720px;
    margin-left:auto;
    text-align:center;
}

.du-about-title{
    font-family:var(--du-font-display);
    color:var(--du-blue);
    /* fonte acompanha a largura (vw) para caber sempre em UMA linha */
    font-size:clamp(15px,4.2vw,2.3rem);
    text-transform:uppercase;
    line-height:1.15;
    margin:0 0 28px;
    white-space:nowrap;
}
.du-about-text p{
    font-family:var(--du-font-body);
    color:var(--du-text);
    font-size:clamp(.95rem,1.15vw,1.05rem);
    line-height:1.6;
    margin:0 0 20px;
}
.du-fale{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:18px;
    white-space:nowrap;
    background:var(--du-blue);
    color:var(--du-orange);
    font-family:var(--du-font-slab);
    font-size:clamp(1.2rem,1.8vw,1.6rem);
    text-transform:uppercase;
    text-decoration:none;
    padding:16px 30px;
    border-radius:8px;
    transition:transform .15s ease, filter .15s ease;
}
.du-fale i{
    background:#fff;
    color:var(--du-green);
    width:1.6em; height:1.6em;
    border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:.9em;
}
.du-fale:hover{ transform:translateY(-2px); filter:brightness(1.05); }

/* ============================================================
   RESPONSIVO
   ============================================================ */
/* Faixa intermediária (tablet largo / notebook): o "D" diminui e
   recua para a esquerda para não invadir o texto centralizado */
@media (min-width:992px) and (max-width:1349px){
    .du-about-d{
        width:min(40%,420px);
        left:-14%;
        opacity:.9;
    }
    .du-about-content{
        margin-left:auto;
        margin-right:0;
    }
}
@media (max-width:991px){
    .du-hero-grid{ grid-template-columns:1fr; gap:34px; }
    .du-hero-left{ min-height:auto; flex-direction:column; align-items:center; padding-top:10px; }
    .du-hero-photo{ position:static; height:auto; max-width:64%; margin:0 auto; }
    .du-hero-brand{ margin-left:0; width:100%; align-items:center; text-align:center; gap:20px; }
    .du-hero-callout{ margin:0 auto; }
    .du-callout-text{ text-align:center; }
    .du-about-content{ margin:0 auto; }
    /* SÓ no mobile: o "D" sai do watermark e vai em fluxo, depois do botão */
    #sobre .du-about-d{
        position:static !important;
        transform:none !important;
        left:auto;
        top:auto;
        width:min(320px,70%);
        margin:32px auto 0;
        display:block;
        z-index:auto;
    }
}

@media (max-width:600px){
    .du-channels{ justify-content:center; flex-wrap:wrap; }
    .du-form-card{ padding-bottom:70px; }
    .du-video-stage{ aspect-ratio:auto; min-height:62vw; }
    .du-hero-photo{ max-width:80%; }
    /* mantém o botão em uma única linha mesmo nas telas estreitas */
    .du-fale{
        max-width:100%;
        font-size:clamp(.8rem,4.2vw,1.2rem);
        gap:10px;
        padding:14px clamp(12px,4vw,30px);
    }
}
