/* Grossman Gifts — Elegant, approachable boutique theme */
:root{
  --pink: #EFB7C6;
  --rose: #C05274;
  --blush: #f8e9ee;
  --ivory: #fffaf7;
  --charcoal:#222222;
  --muted:#6b6b6b;
  --gold: linear-gradient(90deg,#d9b37b, #b8915d 60%, #e9cba3);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--charcoal);
  background: var(--ivory);
  line-height: 1.6;
}

h1,h2,h3{
  font-family: "Playfair Display", Georgia, serif;
  letter-spacing: .2px;
  margin: 0 0 .5rem;
  color: var(--charcoal);
}

.container{
  width: min(1100px, 92vw);
  margin: 0 auto;
}

.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,250,247,.8);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding: .7rem 0;
}

.nav-links{
  display:flex; gap: 1rem; list-style:none; margin:0; padding:0;
}
.nav a{ text-decoration:none; color:var(--charcoal); font-weight:500; }
.nav .cta{ padding:.6rem .9rem; border-radius:999px; background:var(--charcoal); color:white; }
.nav-toggle{ display:none; font-size:1.4rem; background:none; border:none; }

/* Hero */
.hero{
  display:grid; grid-template-columns: 1.2fr .9fr; gap: 2rem; padding: 3rem 0 3.5rem;
}
.hero-text p{ color: var(--muted); max-width: 60ch; }
.hero h1{ font-size: clamp(2rem, 3.6vw, 3.2rem); }
.hero .accent{ background-image: var(--gold); -webkit-background-clip:text; background-clip:text; color: transparent; }
.hero-actions{ display:flex; gap:.8rem; margin:1rem 0 1.2rem; }
.btn{ background: var(--rose); color:#fff; border:none; padding:.75rem 1.05rem; border-radius:12px; font-weight:600; cursor:pointer; text-decoration:none; }
.btn-ghost{ background: transparent; color: var(--charcoal); border:1px solid rgba(0,0,0,.1); }
.trust{ color:var(--muted); font-size:.95rem; display:flex; align-items:center; gap:.6rem; }
.trust .dot{ width:.5rem; height:.5rem; border-radius:50%; background:var(--rose); display:inline-block; }

.hero-media img{ width:100%; border-radius:20px; box-shadow: 0 20px 60px rgba(0,0,0,.08); object-fit:cover; height:100%;}

/* Sections */
.section{ padding: 3rem 0; }
.section-head{ text-align:center; max-width:720px; margin: 0 auto 2rem; }
.section-head p{ color: var(--muted); }

.cards{ display:grid; grid-template-columns: repeat(3, 1fr); gap:1.2rem; }
.card{ background:white; border:1px solid rgba(0,0,0,.06); border-radius:18px; overflow:hidden; box-shadow: 0 10px 30px rgba(0,0,0,.04); }
.card img{ width:100%; height:220px; object-fit:cover; }
.card-body{ padding:1rem 1rem 1.2rem; }

.masonry{ columns: 3 260px; column-gap: 12px; }
.masonry img{ width:100%; margin:0 0 12px; border-radius:14px; display:block; }

/* About */
.about{ display:grid; grid-template-columns: .9fr 1.2fr; gap:2rem; }
.about-media img{ width:100%; border-radius:18px; box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.ticks{ list-style:none; padding:0; }
.ticks li{ padding-left:26px; position:relative; margin:.25rem 0; }
.ticks li::before{ content:'✔'; position:absolute; left:0; top:0; color:var(--rose); }

/* Contact */
.contact-form{
  background: white;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:1.2rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
}
.contact-form .grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap:.9rem; }
label{ display:flex; flex-direction:column; gap:.35rem; font-weight:600; }
input, textarea{
  font: inherit; padding:.75rem .8rem; border-radius:12px; border:1px solid rgba(0,0,0,.15); background:#fff;
}
input:focus, textarea:focus{ outline:2px solid #f3ccd7; border-color:#d3a0b0; }
.form-note{ color:var(--muted); font-size:.95rem; margin:.5rem 0 0; }

/* Footer */
.site-footer{ background:#faf4f6; margin-top:2.5rem; border-top:1px solid rgba(0,0,0,.06); }
.footer-inner{ display:flex; align-items:center; justify-content:space-between; padding:1.2rem 0; gap:1rem; }
.footer-brand{ display:flex; align-items:center; gap:.6rem; font-weight:700; }
.footer-nav{ display:flex; gap:1rem; }
.footer-nav a{ color:var(--charcoal); text-decoration:none; }
.copy{ color:var(--muted); font-size:.95rem; }

/* Responsive */
@media (max-width: 940px){
  .hero{ grid-template-columns:1fr; }
  .cards{ grid-template-columns: 1fr 1fr; }
  .about{ grid-template-columns: 1fr; }
}
@media (max-width: 640px){
  .nav-links{ display:none; position:absolute; right:4vw; top:58px; background:white; border:1px solid rgba(0,0,0,.08); border-radius:12px; padding:.6rem; box-shadow:0 12px 30px rgba(0,0,0,.12); }
  .nav-links.show{ display:flex; flex-direction:column; }
  .nav-toggle{ display:inline-block; }
  .cards{ grid-template-columns:1fr; }
  .contact-form .grid{ grid-template-columns:1fr; }
}
