/*
Theme Name: Dádiva Marcenaria
Theme URI: https://dadivamarcenaria.com.br/
Author: Gabriel Oliveira
Description: Tema institucional personalizado da Dádiva Marcenaria, desenvolvido a partir do site HTML original.
Version: 1.0.0
Text Domain: dadiva-marcenaria
*/

:root{
    --grafite:#2B2C2E;
    --grafite-2:#3A3B3E;
    --fendi:#EDEAE3;
    --branco:#FAF9F6;
    --madeira:#B5854B;
    --ambar:#E9A13B;
    --ambar-glow:#F5C57A;
    --texto:#3B3A37;
    --texto-suave:#6E6A63;
    --display:'Marcellus',serif;
    --body:'Figtree',sans-serif;
    --mono:'IBM Plex Mono',monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);color:var(--texto);background:var(--branco);line-height:1.6;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}

  /* ============ LED line — assinatura ============ */
  .led{position:relative}
  .led::before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px;
    background:linear-gradient(180deg,transparent 0%,var(--ambar-glow) 18%,var(--ambar) 50%,var(--ambar-glow) 82%,transparent 100%);
    box-shadow:0 0 18px 2px rgba(233,161,59,.45);
  }

  .cota{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--madeira)}
  .cota::before{content:"—— ";color:var(--ambar)}

  /* ============ Nav ============ */
  header{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:1rem clamp(1.25rem,5vw,4rem);
    background:rgba(43,44,46,.88);backdrop-filter:blur(12px);
    transition:padding .3s;
  }
  .logo{font-family:var(--display);font-size:1.45rem;color:var(--branco);letter-spacing:.06em;display:flex;align-items:baseline;gap:.55rem}
  .logo b{font-weight:400}
  .logo span{font-family:var(--mono);font-size:.6rem;letter-spacing:.3em;color:var(--ambar);text-transform:uppercase}
  nav{display:flex;gap:clamp(1rem,2.5vw,2.2rem);align-items:center}
  nav a{color:#D8D5CF;font-size:.9rem;font-weight:500;transition:color .2s}
  nav a:hover,nav a:focus-visible{color:var(--ambar)}
  .nav-cta{background:var(--ambar);color:var(--grafite)!important;padding:.55rem 1.15rem;border-radius:4px;font-weight:600;transition:background .2s}
  .nav-cta:hover{background:var(--ambar-glow)}
  .menu-btn{display:none;background:none;border:0;cursor:pointer;width:34px;height:34px;position:relative}
  .menu-btn span,.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:5px;right:5px;height:2px;background:var(--branco);transition:.25s}
  .menu-btn span{top:16px}
  .menu-btn span::before{top:-8px}
  .menu-btn span::after{top:8px}

  /* ============ Hero ============ */
  .hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:100svh;background:var(--grafite);color:var(--branco)}
  .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(6rem,12vh,9rem) clamp(1.5rem,5vw,4.5rem) clamp(3rem,7vh,5rem)}
  .hero-copy .led{padding-left:1.6rem}
  .hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4.6vw,3.9rem);line-height:1.12;margin:.9rem 0 1.2rem;color:#F4F1EA}
  .hero h1 em{font-style:normal;color:var(--ambar)}
  .hero p{color:#BBB7AF;font-size:clamp(1rem,1.3vw,1.15rem);max-width:34rem;font-weight:300}
  .hero-actions{display:flex;gap:1rem;margin-top:2.2rem;flex-wrap:wrap}
  .btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.7rem;border-radius:4px;font-weight:600;font-size:.98rem;transition:transform .2s,background .2s,box-shadow .2s}
  .btn:active{transform:scale(.97)}
  .btn-amber{background:var(--ambar);color:var(--grafite);box-shadow:0 6px 24px rgba(233,161,59,.35)}
  .btn-amber:hover{background:var(--ambar-glow)}
  .btn-ghost{border:1px solid #5A5B5E;color:#E8E5DF}
  .btn-ghost:hover{border-color:var(--ambar);color:var(--ambar)}
  .hero-meta{display:flex;gap:2.5rem;margin-top:3.2rem;flex-wrap:wrap}
  .hero-meta div strong{font-family:var(--display);font-size:1.7rem;color:#F4F1EA;display:block;font-weight:400}
  .hero-meta div small{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#9A968E}
  .hero-img{position:relative;overflow:hidden}
  .hero-img img{width:100%;height:100%;object-fit:cover;min-height:420px}
  .hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--grafite) 0%,transparent 22%)}
  .hero-tag{position:absolute;bottom:1.4rem;right:1.4rem;z-index:2;background:rgba(43,44,46,.82);backdrop-filter:blur(6px);padding:.6rem 1rem;border-left:3px solid var(--ambar);font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:#E8E5DF;text-transform:uppercase}

  /* ============ Sections base ============ */
  section{padding:clamp(4rem,9vw,7rem) clamp(1.5rem,5vw,4.5rem)}
  .section-head{max-width:46rem;margin-bottom:clamp(2.5rem,5vw,4rem)}
  .section-head h2{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.7rem);line-height:1.18;margin:.7rem 0 1rem;color:var(--grafite)}
  .section-head p{color:var(--texto-suave);font-size:1.05rem}

  /* ============ Ambientes ============ */
  .ambientes{background:var(--branco)}
  .amb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
  .amb-card{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/5;cursor:pointer;background:var(--grafite)}
  .amb-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .4s}
  .amb-card:hover img{transform:scale(1.05);opacity:.85}
  .amb-card .amb-info{position:absolute;left:0;right:0;bottom:0;padding:1.3rem;background:linear-gradient(180deg,transparent,rgba(33,34,36,.92) 55%);color:#F4F1EA}
  .amb-info h3{font-family:var(--display);font-weight:400;font-size:1.35rem;margin-bottom:.2rem}
  .amb-info span{font-family:var(--mono);font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ambar)}

  /* ============ Processo ============ */
  .processo{background:var(--grafite);color:#E8E5DF}
  .processo .section-head h2{color:#F4F1EA}
  .processo .section-head p{color:#A8A49C}
  .passos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;border-top:1px solid #46474A}
  .passo{padding:2.2rem 1.6rem 2.2rem 0;border-bottom:1px solid #46474A;position:relative}
  .passo + .passo{padding-left:1.6rem;border-left:1px solid #46474A}
  .passo .num{font-family:var(--mono);font-size:.75rem;color:var(--ambar);letter-spacing:.2em}
  .passo h3{font-family:var(--display);font-weight:400;font-size:1.3rem;margin:.8rem 0 .6rem;color:#F4F1EA}
  .passo p{font-size:.93rem;color:#A8A49C;font-weight:300}

  /* ============ Portfólio ============ */
  .portfolio{background:var(--fendi)}
  .galeria{columns:3;column-gap:1.2rem}
  .galeria figure{break-inside:avoid;margin-bottom:1.2rem;border-radius:6px;overflow:hidden;position:relative}
  .galeria img{width:100%;transition:transform .6s}
  .galeria figure:hover img{transform:scale(1.04)}
  .galeria figcaption{position:absolute;left:0;bottom:0;right:0;padding:.8rem 1rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:#F4F1EA;background:linear-gradient(180deg,transparent,rgba(33,34,36,.85));opacity:0;transition:opacity .3s}
  .galeria figure:hover figcaption{opacity:1}

  /* ============ Sobre ============ */
  .sobre{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;background:var(--branco)}
  .sobre-img{border-radius:6px;overflow:hidden;position:relative}
  .sobre-img img{width:100%;height:100%;object-fit:cover}
  .sobre-txt .led{padding-left:1.6rem}
  .sobre-txt h2{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3vw,2.5rem);margin:.7rem 0 1.2rem;color:var(--grafite)}
  .sobre-txt p{color:var(--texto-suave);margin-bottom:1rem}
  .selos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.8rem}
  .selo{border:1px solid #DDD8CE;border-radius:6px;padding:1rem 1.1rem}
  .selo strong{display:block;font-weight:600;color:var(--grafite);font-size:.95rem;margin-bottom:.15rem}
  .selo small{color:var(--texto-suave);font-size:.82rem}

  /* ============ Depoimentos ============ */
  .depo{background:var(--fendi)}
  .depo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
  .depo-card{background:var(--branco);border-radius:6px;padding:1.8rem;border-top:3px solid var(--ambar)}
  .depo-card p{font-size:.98rem;color:var(--texto);font-style:italic;margin-bottom:1.2rem}
  .depo-card footer{display:flex;align-items:center;gap:.7rem}
  .depo-card .avatar{width:38px;height:38px;border-radius:50%;background:var(--grafite);color:var(--ambar);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1rem}
  .depo-card footer div strong{font-size:.9rem;color:var(--grafite);display:block}
  .depo-card footer div small{font-family:var(--mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
  .stars{color:var(--ambar);letter-spacing:.15em;font-size:.85rem;margin-bottom:.8rem}

  /* ============ CTA final ============ */
  .cta-final{background:var(--grafite);color:#F4F1EA;text-align:center;position:relative;overflow:hidden}
  .cta-final::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,var(--ambar) 50%,transparent);opacity:.5;box-shadow:0 0 24px 4px rgba(233,161,59,.3)}
  .cta-final h2{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,3.6vw,3rem);max-width:42rem;margin:0 auto 1.1rem;position:relative;z-index:1}
  .cta-final p{color:#A8A49C;max-width:33rem;margin:0 auto 2.2rem;position:relative;z-index:1}
  .cta-final .btn{position:relative;z-index:1}

  /* ============ Footer ============ */
  footer.site{background:#222325;color:#9A968E;padding:3.5rem clamp(1.5rem,5vw,4.5rem) 2rem}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
  .foot-grid h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ambar);margin-bottom:1rem}
  .foot-grid p,.foot-grid a{font-size:.9rem;line-height:1.8;display:block;font-weight:300}
  .foot-grid a:hover{color:var(--ambar)}
  .foot-logo{font-family:var(--display);font-size:1.5rem;color:#F4F1EA;margin-bottom:.6rem}
  .foot-bottom{border-top:1px solid #3A3B3E;padding-top:1.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem}

  /* ============ WhatsApp flutuante ============ */
  .whats-float{position:fixed;right:1.3rem;bottom:1.3rem;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(0,0,0,.3);transition:transform .2s}
  .whats-float:hover{transform:scale(1.08)}
  .whats-float svg{width:30px;height:30px;fill:#fff}

  /* ============ Reveal ============ */
  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .amb-card img,.galeria img{transition:none}
  }

  /* ============ Responsivo ============ */
  @media(max-width:920px){
    .hero{grid-template-columns:1fr}
    .hero-img{order:-1;max-height:46svh}
    .hero-img::after{background:linear-gradient(0deg,var(--grafite) 0%,transparent 30%)}
    .hero-copy{padding-top:2.5rem}
    .sobre{grid-template-columns:1fr}
    .galeria{columns:2}
    .foot-grid{grid-template-columns:1fr 1fr}
    nav{position:fixed;inset:0;top:62px;background:rgba(33,34,36,.97);flex-direction:column;justify-content:flex-start;padding-top:3rem;gap:1.8rem;transform:translateX(100%);transition:transform .3s}
    nav.open{transform:none}
    nav a{font-size:1.15rem}
    .menu-btn{display:block}
  }
  @media(max-width:560px){
    .galeria{columns:1}
    .foot-grid{grid-template-columns:1fr}
    .selos{grid-template-columns:1fr}
    .passo + .passo{padding-left:0;border-left:0}
  }
