:root{
  --text:#222; --muted:#666; --gold:#d4af37; --border:rgba(0,0,0,.08); --card:#ffffff; --shadow:0 18px 50px rgba(0,0,0,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background: #fff url('assets/body_marble.jpg') center/cover fixed no-repeat;
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  line-height:1.6;
}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;margin:0 0 .75rem 0;color:#111}
.section{padding:64px 1rem}
.container{max-width:1120px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:start}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.2rem;box-shadow:var(--shadow)}

.site-header.marble{
  position:sticky;top:0;background:#fff url('assets/header_marble.jpg') center/cover no-repeat;
  border-bottom:1px solid var(--border);z-index:10;
}
.site-header .inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem}
.brand-logo{height:34px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:1rem}
.nav a{color:#111;text-decoration:none;padding:.35rem .5rem;border-radius:10px}
.nav a:hover{background:rgba(212,175,55,.14)}

.divider{height:10px;background:linear-gradient(90deg, rgba(212,175,55,.35), rgba(212,175,55,.1), rgba(212,175,55,.35))}
.divider.thin{height:2px;background:linear-gradient(90deg, rgba(212,175,55,.5), rgba(212,175,55,.2), rgba(212,175,55,.5))}

.hero.marble{background:#fff url('assets/hero_marble.jpg') center/cover no-repeat;border-bottom:1px solid var(--border)}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:1rem;align-items:center;max-width:1120px;margin:0 auto;padding:92px 1rem 420px}
.hero-bg{position:absolute;bottom:-120px;left:50%;transform:translateX(-50%);width:min(880px,90vw);border-radius:18px;box-shadow:var(--shadow);border:1px solid var(--border)}

.btn{border:1px solid var(--gold);background:transparent;color:#7a5f00;padding:.6rem 1rem;border-radius:12px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:transform .06s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(0,0,0,.15);background:rgba(212,175,55,.12)}
.btn-primary{background:linear-gradient(180deg,#f7e7a6,#d4af37 60%,#b38b00);color:#111;border-color:#b38b00}

.product{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:1rem}
.product img{width:100%;border-radius:12px}
.price{font-size:1.2rem;font-weight:800;color:#7a5f00}
.muted{color:var(--muted)}

.contact-card label{display:grid;gap:.3rem;margin:.4rem 0}
.contact-card input,.contact-card textarea{padding:.7rem;border:1px solid var(--border);border-radius:10px}

.site-footer.marble{background:#fff url('assets/footer_marble.jpg') center/cover no-repeat;border-top:1px solid var(--border)}
.footer-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}
.brand-mini{display:flex;align-items:center;gap:.5rem}

.cart{position:fixed;top:0;right:-420px;width:360px;max-width:90vw;height:100%;background:#fff;border-left:1px solid var(--border);box-shadow:var(--shadow);transition:right .25s ease;z-index:30}
.cart.open{right:0}
.cart-inner header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border)}
.cart .items{padding:1rem;flex:1;overflow:auto}
.cart .summary{padding:1rem;border-top:1px solid var(--border)}
.cart .row{display:flex;justify-content:space-between;margin:.4rem 0}
.cart .close{border:none;background:transparent;color:#111;font-size:1.6rem}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:20}
.overlay.show{opacity:1;pointer-events:all}

@media (max-width:920px){
  .two-col{grid-template-columns:1fr}
  .product{grid-template-columns:1fr}
  .brand-logo{height:28px}
  .hero-inner{padding:72px 1rem 400px}
  .hero-bg{width:min(92vw,720px)}
}
