/* ============ IN TIME — design system ============ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --preto:        #14130F;
  --preto-suave:  #1D1C17;
  --carvao:       #2A2822;
  --latao:        #B8934A;
  --latao-claro:  #D8B876;
  --marfim:       #F6F2E8;
  --marfim-esc:   #EBE4D3;
  --cinza:        #8B887E;
  --sucesso:      #4C7A5C;
  --linha:        rgba(246,242,232,0.14);
  --sombra:       rgba(10,10,8,0.35);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--marfim);color:var(--preto);
  font-family:'Inter',sans-serif;font-weight:400;font-size:15px;
  overflow-x:hidden;line-height:1.6;
}
h1,h2,h3,.serif{font-family:'Playfair Display',serif;font-weight:600;}
a{color:inherit;text-decoration:none;}
img{display:block;width:100%;height:100%;object-fit:cover;}
ul{list-style:none;}
button{font-family:'Inter',sans-serif;cursor:pointer;}
.wrap{max-width:1280px;margin:0 auto;padding:0 5vw;}
.eyebrow{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.24em;color:var(--latao);font-weight:500;}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ============ TOPBAR + HEADER ============ */
.topbar{background:var(--preto);color:var(--marfim-esc);text-align:center;font-size:0.76rem;padding:9px 0;letter-spacing:0.04em;}
.topbar strong{color:var(--latao-claro);}

header.site-header{
  background:var(--marfim);border-bottom:1px solid rgba(20,19,15,0.08);
  position:sticky;top:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 5vw;
}
.logo{font-family:'Playfair Display',serif;font-size:1.5rem;letter-spacing:0.02em;}
.logo span{color:var(--latao);}
nav.main-nav ul{display:flex;gap:34px;align-items:center;}
nav.main-nav a{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.08em;position:relative;padding-bottom:3px;}
nav.main-nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--latao);transition:width .3s ease;}
nav.main-nav a:hover::after,nav.main-nav a.active::after{width:100%;}
nav.main-nav a.active{color:var(--latao);}

.header-actions{display:flex;align-items:center;gap:20px;}
.icon-btn{position:relative;background:none;border:none;color:var(--preto);display:flex;align-items:center;}
.icon-btn svg{width:21px;height:21px;stroke:var(--preto);fill:none;stroke-width:1.5;}
.cart-count{
  position:absolute;top:-8px;right:-9px;background:var(--latao);color:var(--preto);
  font-size:0.64rem;font-weight:600;width:17px;height:17px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.menu-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;}

@media(max-width:920px){
  nav.main-nav ul{
    position:fixed;top:0;right:-100%;height:100vh;width:80%;max-width:320px;
    background:var(--preto);flex-direction:column;justify-content:center;align-items:flex-start;
    padding:0 44px;gap:26px;transition:right .4s ease;z-index:300;
  }
  nav.main-nav ul.open{right:0;}
  nav.main-nav a{color:var(--marfim);}
  .menu-toggle{display:block;}
}

/* ============ HERO ============ */
.home-hero{position:relative;height:82vh;min-height:520px;display:flex;align-items:center;overflow:hidden;background:var(--preto);}
.home-hero .hero-img{position:absolute;inset:0;opacity:0.55;}
.home-hero .hero-img img{transform:scale(1.05);}
.home-hero .hero-content{position:relative;z-index:2;padding:0 5vw;max-width:640px;color:var(--marfim);}
.home-hero .eyebrow{color:var(--latao-claro);display:block;margin-bottom:18px;}
.home-hero h1{font-size:clamp(2.4rem,5.4vw,4.2rem);line-height:1.08;color:var(--marfim);}
.home-hero p{margin-top:22px;font-size:1.02rem;color:rgba(246,242,232,0.78);max-width:460px;}
.hero-actions{display:flex;gap:16px;margin-top:34px;flex-wrap:wrap;}

.page-hero{position:relative;height:38vh;min-height:280px;display:flex;align-items:flex-end;overflow:hidden;background:var(--preto);}
.page-hero .hero-img{position:absolute;inset:0;opacity:0.45;}
.page-hero .hero-text{position:relative;z-index:2;padding:0 5vw 44px;color:var(--marfim);}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem);}

/* ============ BOTÕES ============ */
.btn{display:inline-block;padding:14px 28px;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.12em;border-radius:2px;transition:all .3s ease;border:none;font-weight:500;}
.btn-latao{background:var(--latao);color:var(--preto);}
.btn-latao:hover{background:var(--latao-claro);}
.btn-outline-claro{border:1px solid rgba(246,242,232,0.5);color:var(--marfim);background:transparent;}
.btn-outline-claro:hover{border-color:var(--marfim);background:rgba(246,242,232,0.08);}
.btn-outline-escuro{border:1px solid rgba(20,19,15,0.3);color:var(--preto);background:transparent;}
.btn-outline-escuro:hover{border-color:var(--preto);background:rgba(20,19,15,0.05);}
.btn-full{width:100%;text-align:center;}
.btn:disabled{opacity:0.5;cursor:not-allowed;}

/* ============ SECÇÕES ============ */
section{padding:100px 5vw;}
.section-head{max-width:600px;margin-bottom:50px;}
.section-head .eyebrow{display:block;margin-bottom:14px;}
.section-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);}
.bg-escuro{background:var(--preto);color:var(--marfim);}
.bg-escuro .section-head p{color:rgba(246,242,232,0.7);}
.bg-marfim-esc{background:var(--marfim-esc);}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}

/* ============ GRELHA DE PRODUTOS ============ */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:760px){.product-grid{grid-template-columns:repeat(2,1fr);gap:16px;}}
@media(max-width:480px){.product-grid{grid-template-columns:1fr;}}

.product-card{background:var(--marfim);position:relative;display:flex;flex-direction:column;}
.product-card .thumb{position:relative;aspect-ratio:1/1;background:var(--marfim-esc);overflow:hidden;margin-bottom:14px;}
.product-card .thumb img{transition:transform .6s ease;}
.product-card:hover .thumb img{transform:scale(1.06);}
.product-card .badge{position:absolute;top:10px;left:10px;background:var(--preto);color:var(--latao-claro);font-size:0.66rem;text-transform:uppercase;letter-spacing:0.08em;padding:5px 10px;border-radius:2px;}
.product-card .quick-add{
  position:absolute;bottom:10px;left:10px;right:10px;
  background:var(--preto);color:var(--marfim);text-align:center;padding:11px;font-size:0.72rem;
  text-transform:uppercase;letter-spacing:0.1em;opacity:0;transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;border:none;
}
.product-card:hover .quick-add{opacity:1;transform:translateY(0);}
.product-card .brand{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--cinza);margin-bottom:4px;}
.product-card h3{font-size:1rem;font-family:'Inter',sans-serif;font-weight:500;margin-bottom:8px;}
.product-card .meta{display:flex;gap:12px;font-size:0.72rem;color:var(--cinza);margin-bottom:10px;flex-wrap:wrap;}
.product-card .preco{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:600;}

/* ============ TRUST STRIP ============ */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linha);}
@media(max-width:760px){.trust-strip{grid-template-columns:repeat(2,1fr);}}
.trust-item{background:var(--preto);padding:44px 26px;text-align:center;color:var(--marfim);}
.trust-item svg{width:28px;height:28px;stroke:var(--latao-claro);fill:none;stroke-width:1.4;margin-bottom:14px;}
.trust-item h4{font-family:'Inter',sans-serif;font-weight:500;font-size:0.92rem;margin-bottom:6px;}
.trust-item p{font-size:0.78rem;color:rgba(246,242,232,0.55);}

/* ============ FEATURE TILES ============ */
.tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:860px){.tile-grid{grid-template-columns:1fr;}}
.tile{position:relative;min-height:340px;display:flex;align-items:flex-end;overflow:hidden;border-radius:2px;}
.tile img{position:absolute;inset:0;transition:transform .7s ease;}
.tile:hover img{transform:scale(1.07);}
.tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,19,15,0.05) 30%,rgba(20,19,15,0.9) 100%);}
.tile .content{position:relative;z-index:2;padding:32px;color:var(--marfim);}
.tile h3{font-size:1.4rem;margin-bottom:10px;}
.tile p{font-size:0.86rem;color:rgba(246,242,232,0.75);margin-bottom:16px;}

/* ============ BRANDS STRIP ============ */
.brands-strip{display:flex;flex-wrap:wrap;gap:14px;}
.brand-chip{border:1px solid rgba(20,19,15,0.15);padding:14px 26px;font-family:'Playfair Display',serif;font-size:1rem;border-radius:2px;transition:all .3s ease;}
.brand-chip:hover{border-color:var(--latao);color:var(--latao);}

/* ============ EQUIPA ============ */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
@media(max-width:860px){.team-grid{grid-template-columns:1fr;}}
.team-card .photo{aspect-ratio:4/5;overflow:hidden;margin-bottom:18px;}
.team-card h3{font-size:1.2rem;margin-bottom:4px;}
.team-card .cargo{font-size:0.76rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--latao);margin-bottom:12px;}
.team-card p{font-size:0.88rem;color:rgba(20,19,15,0.68);}

/* ============ STEPS (processo de autenticação) ============ */
.steps-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;}
@media(max-width:860px){.steps-row{grid-template-columns:repeat(2,1fr);}}
.step{position:relative;padding-top:44px;}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;top:0;left:0;font-family:'Playfair Display',serif;font-size:2rem;color:var(--latao);opacity:0.5;}
.step h4{font-size:1rem;margin-bottom:8px;}
.step p{font-size:0.85rem;color:rgba(20,19,15,0.65);}
.bg-escuro .step p{color:rgba(246,242,232,0.65);}

/* ============ FILTROS (catálogo) ============ */
.catalog-layout{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:flex-start;}
@media(max-width:900px){.catalog-layout{grid-template-columns:1fr;}}
.filters{position:sticky;top:100px;}
.filter-group{border-bottom:1px solid rgba(20,19,15,0.1);padding-bottom:22px;margin-bottom:22px;}
.filter-group h4{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:14px;}
.filter-group label{display:flex;align-items:center;gap:10px;font-size:0.88rem;margin-bottom:10px;cursor:pointer;}
.filter-group input[type=checkbox]{accent-color:var(--latao);width:15px;height:15px;}
.sort-select{border:1px solid rgba(20,19,15,0.25);background:var(--marfim);padding:10px 14px;font-family:'Inter',sans-serif;font-size:0.82rem;border-radius:2px;}
.results-count{font-size:0.82rem;color:var(--cinza);}
.mobile-filter-toggle{display:none;}
@media(max-width:900px){
  .mobile-filter-toggle{display:block;margin-bottom:20px;}
  .filters{display:none;position:static;}
  .filters.open{display:block;}
}

/* ============ PÁGINA DE PRODUTO ============ */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:flex-start;}
@media(max-width:860px){.product-detail{grid-template-columns:1fr;gap:34px;}}
.pd-gallery .main-img{aspect-ratio:1/1;background:var(--marfim-esc);margin-bottom:14px;overflow:hidden;}
.pd-thumbs{display:flex;gap:10px;}
.pd-thumbs img{width:74px;height:74px;object-fit:cover;border:1px solid transparent;cursor:pointer;opacity:0.6;transition:all .2s ease;}
.pd-thumbs img.active{opacity:1;border-color:var(--latao);}
.pd-info .brand{font-size:0.82rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--cinza);margin-bottom:8px;}
.pd-info h1{font-size:1.9rem;margin-bottom:14px;}
.pd-info .preco{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--preto);margin-bottom:20px;}
.pd-badges{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;}
.pd-badges span{background:var(--marfim-esc);font-size:0.72rem;padding:7px 12px;border-radius:2px;text-transform:uppercase;letter-spacing:0.06em;}
.pd-info p.desc{font-size:0.92rem;color:rgba(20,19,15,0.72);margin-bottom:26px;line-height:1.8;}
.spec-table{width:100%;border-collapse:collapse;margin-bottom:28px;}
.spec-table tr{border-bottom:1px solid rgba(20,19,15,0.1);}
.spec-table td{padding:11px 0;font-size:0.88rem;}
.spec-table td:first-child{color:var(--cinza);width:40%;}
.qty-row{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.qty-control{display:flex;align-items:center;border:1px solid rgba(20,19,15,0.25);border-radius:2px;}
.qty-control button{background:none;border:none;width:36px;height:40px;font-size:1rem;}
.qty-control input{width:40px;text-align:center;border:none;font-family:'Inter',sans-serif;font-size:0.9rem;background:transparent;}
.pd-trust{display:flex;flex-direction:column;gap:10px;margin-top:24px;font-size:0.82rem;color:var(--cinza);}
.pd-trust span{display:flex;align-items:center;gap:8px;}
.pd-trust svg{width:16px;height:16px;stroke:var(--sucesso);fill:none;stroke-width:1.6;flex-shrink:0;}

/* ============ CARRINHO ============ */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:50px;align-items:flex-start;}
@media(max-width:860px){.cart-layout{grid-template-columns:1fr;}}
.cart-item{display:grid;grid-template-columns:90px 1fr auto auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(20,19,15,0.1);}
@media(max-width:520px){.cart-item{grid-template-columns:70px 1fr;grid-template-areas:"img info" "img qty";row-gap:10px;}}
.cart-item .thumb{width:90px;height:90px;background:var(--marfim-esc);overflow:hidden;}
.cart-item h4{font-size:0.96rem;margin-bottom:4px;}
.cart-item .brand{font-size:0.74rem;color:var(--cinza);text-transform:uppercase;letter-spacing:0.06em;}
.cart-item .remove{font-size:0.76rem;color:var(--cinza);text-decoration:underline;margin-top:6px;background:none;border:none;cursor:pointer;}
.cart-item .preco{font-family:'Playfair Display',serif;font-weight:600;}
.summary-box{background:var(--marfim-esc);padding:32px;border-radius:2px;}
.summary-box h3{font-size:1.2rem;margin-bottom:20px;}
.summary-row{display:flex;justify-content:space-between;font-size:0.9rem;margin-bottom:12px;color:rgba(20,19,15,0.7);}
.summary-row.total{font-size:1.1rem;font-weight:600;color:var(--preto);border-top:1px solid rgba(20,19,15,0.15);padding-top:14px;margin-top:14px;}
.empty-cart{text-align:center;padding:80px 20px;}
.empty-cart svg{width:56px;height:56px;stroke:var(--cinza);fill:none;stroke-width:1;margin-bottom:20px;}

/* ============ FORMULÁRIOS ============ */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.field label{font-size:0.74rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--cinza);}
.field input,.field select,.field textarea{
  border:1px solid rgba(20,19,15,0.22);background:var(--marfim);padding:12px 14px;
  font-family:'Inter',sans-serif;font-size:0.9rem;color:var(--preto);outline:none;border-radius:2px;transition:border-color .3s ease;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--latao);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:520px){.form-row{grid-template-columns:1fr;}}
.confirm-msg{display:none;align-items:center;gap:10px;background:rgba(76,122,92,0.12);color:var(--sucesso);padding:14px 16px;border-radius:2px;font-size:0.85rem;margin-top:16px;}
.confirm-msg.show{display:flex;}

/* ============ TOAST (adicionar ao carrinho) ============ */
.toast{
  position:fixed;bottom:26px;right:26px;background:var(--preto);color:var(--marfim);
  padding:16px 22px;border-radius:2px;font-size:0.85rem;display:flex;align-items:center;gap:12px;
  transform:translateY(120%);opacity:0;transition:all .35s ease;z-index:1000;
}
.toast.show{transform:translateY(0);opacity:1;}
.toast svg{width:18px;height:18px;stroke:var(--latao-claro);fill:none;stroke-width:2;}

/* ============ FOOTER ============ */
footer.site-footer{background:var(--preto);color:rgba(246,242,232,0.65);padding:70px 5vw 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;padding-bottom:46px;border-bottom:1px solid rgba(246,242,232,0.1);}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h5{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--latao-claro);margin-bottom:18px;}
.footer-grid p,.footer-grid a{display:block;font-size:0.85rem;line-height:2;color:rgba(246,242,232,0.6);}
.footer-grid a:hover{color:var(--marfim);}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--marfim);margin-bottom:14px;}
.footer-logo span{color:var(--latao-claro);}
.footer-desc{max-width:280px;font-size:0.85rem;color:rgba(246,242,232,0.5);}
.footer-bottom{padding-top:22px;display:flex;justify-content:space-between;font-size:0.72rem;color:rgba(246,242,232,0.4);flex-wrap:wrap;gap:10px;}

@media(max-width:600px){
  section{padding:70px 5vw;}
}
