:root{
  --bg: #fffbe5;
  --pink: #ff9aa3;
  --soft: #ffe2e2;
  --detail: #9e625d;
  --dark: #42261d;

  --max-width: 1100px;
  --card-radius: 14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: 'Nunito', sans-serif;
  background:var(--bg);
  color:var(--dark);
  line-height:1.5;
  margin:0;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  letter-spacing:0.96px; /* interletrado 0.96px */
}

/* Container */
.container-narrow{
  max-width:var(--max-width);
  margin:0 auto;
  padding:2rem;
}

/* Navbar custom */
.navbar-brand img{ height:54px; }
.navbar{
  background:transparent;
  padding:1rem 1rem;
}
.navbar-nav .nav-link{
  color:var(--dark) !important;
  font-weight:600;
}
.navbar-nav .nav-link:hover{
  color:var(--pink) !important;
}

/* Hero */
.hero{
  background: linear-gradient(180deg, rgba(255,154,163,0.06) 0%, rgba(255,242,229,0.5) 100%);
  padding:3.5rem 1rem;
  border-radius:18px;
  margin-bottom:2rem;
  display:flex;
  gap:2rem;
  align-items:center;
}
.hero .hero-left{flex:1}
.hero h1{
  font-size:2.25rem;
  color:var(--dark);
  margin-bottom:.6rem;
}
.hero p.lead{
  color:var(--detail);
  margin-bottom:1rem;
  font-size:1.05rem;
}
.cta-btn{
  background:var(--pink);
  color:white;
  border:0;
  padding:.65rem 1.05rem;
  border-radius:10px;
  font-weight:700;
  box-shadow: 0 6px 18px rgba(161,46,90,0.06);
}
.hero-right img{
  max-width:380px;
  width:100%;
  border-radius:14px;
  box-shadow: 0 10px 30px rgba(66,38,29,0.08);
}

/* Cards grid */
.card-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
  gap:1rem;
  margin-top:1rem;
}
.product-card{
  background:white;
  border-radius:var(--card-radius);
  padding:1rem;
  border: 1px solid rgba(66,38,29,0.06);
}
.product-card img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:.6rem;
}

/* Footer */
.site-footer{
  margin-top:3rem;
  padding:2rem 1rem;
  background: linear-gradient(0deg, rgba(255,226,226,0.15), transparent);
  border-radius:12px;
  color:var(--dark);
}
.site-footer a{ color: var(--dark); font-weight:600; }

/* Testimonials / newsletter */
.testimonials{
  background:var(--soft);
  padding:1.2rem;
  border-radius:12px;
}
.newsletter input[type="email"]{
  border-radius:10px;
  border:1px solid rgba(66,38,29,0.08);
  padding:.6rem .9rem;
}

/* Contact form */
.form-card{
  background:white;
  padding:1rem;
  border-radius:12px;
  border:1px solid rgba(66,38,29,0.06);
}

/* Captions for carousel images */
.carousel-caption{
  left:10%;
  right:10%;
  bottom:12%;
  background: rgba(255,255,255,0.85);
  color:var(--dark);
  padding:.6rem .8rem;
  border-radius:8px;
  text-align:left;
  border:1px solid rgba(66,38,29,0.04);
}

/* Responsive tweaks */
@media (max-width:767px){
  .hero{flex-direction:column}
  .hero-right img{max-width:100%}
  .navbar-brand img{height:46px}
}

/* Small helpers */
.muted{ color:var(--detail); }
.small{ font-size:.9rem }