:root {
  --pink:#f7d9da;
  --accent:#ffdfe2;
  --text:#222;
  --muted:#666;
  --card-radius:14px;
  --container:1100px;
}

* {
  box-sizing:border-box;
  font-family:Inter, Arial, Helvetica, sans-serif;
}

body {
  margin:0;
  color:var(--text);
  background:#fff;
  line-height:1.4;
}

.header {
  background:#fff;
  border-bottom:1px solid #f2dede;
  position:sticky;
  top:0;
  z-index:10;
}

.nav {
  max-width:var(--container);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 20px;
}

.nav .links {
  display:flex;
  gap:18px;
  align-items:center;
}

.logo {
  font-size:30px;
  font-weight:700;
  letter-spacing:1px;
}

.hero {
  background:var(--pink);
  padding:40px 20px;
  text-align:center;
}

.hero img {
  max-width:100%;
  height:260px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  margin:10px auto;
}

.container {
  max-width:var(--container);
  margin:30px auto;
  padding:0 20px;
}

.section-title {
  text-align:center;
  font-size:22px;
  margin-bottom:18px;
}

.cards {
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  justify-content:center;
}

.card {
  background:var(--accent);
  padding:16px;
  border-radius:14px;
  width:220px;
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
  text-align:center;
}

.card img {
  width:140px;
  height:140px;
  object-fit:cover;
  border-radius:10px;
  background:#eee;
  margin:0 auto;
}

.btn {
  display:inline-block;
  margin-top:10px;
  padding:8px 14px;
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  color:var(--text);
  font-weight:600;
  border:1px solid #f3c9cc;
}

.sidebar {
  background:var(--accent);
  padding:18px;
  border-radius:10px;
  width:220px;
}

.layout {
  display:flex;
  gap:24px;
  align-items:flex-start;
}

footer {
  background:#f7d7d8;
  padding:18px;
  margin-top:40px;
}

.product-photo {
  max-width:360px;
  border-radius:12px;
  overflow:hidden;
}

.product-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:start;
}

.table {
  width:100%;
  border-collapse:collapse;
}

.table th,
.table td {
  padding:8px;
  border:1px solid #f2d2d3;
  text-align:left;
}

.reviews {
  background:#fff;
  padding:12px;
  border-radius:10px;
  max-height:200px;
  overflow:auto;
  border:1px solid #f0d6d7;
}

@media (max-width:900px) {
  .product-grid { grid-template-columns:1fr;
  align-items:center;
}

.layout {
  flex-direction:column;
}

.sidebar {
  width:100%;
}

} /* LUTIC branding */ .header .logo {
  font-family: 'Georgia', serif;
  color:#b3003b;
  letter-spacing:2px;
  font-size:28px;
}

.header .links a {
  color: #333;
  text-decoration:none;
  padding:6px 10px;
  border-radius:8px;
  transition:background .18s;
}

.header .links a:hover {
  background:rgba(179,0,59,0.06);
}

.why-card {
  background:linear-gradient(180deg, #fff0f2, #fff6f7);
  padding:22px;
  border-radius:18px;
  box-shadow:0 8px 30px rgba(179,0,59,0.06);
  max-width:900px;
  margin:0 auto;
  text-align:left;
}

.footer-grid {
  display:flex;
  gap:20px;
  align-items:flex-start;
  justify-content:space-between;
  max-width:1100px;
  margin:0 auto;
  padding:18px 20px;
}

.footer-logo img {
  height:44px;
  width:44px;
  border-radius:8px;
  object-fit:cover;
}

.filter-box {
  background:linear-gradient(180deg,#fff4f6,#fff);
  padding:16px;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,0.04);
  width:240px;
}

.category-list button {
  display:block;
  width:100%;
  text-align:left;
  padding:8px 10px;
  margin:6px 0;
  border-radius:999px;
  border:1px solid #f4c9cc;
  background:#fff;
  font-weight:600;
}

.color-swatch {
  display:inline-block;
  width:26px;
  height:26px;
  border-radius:50%;
  margin-right:6px;
  border:2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,0.08);
}

.product-grid .product-photo {
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(179,0,59,0.06);
}

.account-profile {
  background:#fff;
  padding:14px;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,0.04);
}

.container {
    text-align: center;
}

    .container > p,
    .container > .lead {
        max-width: 1000px;
        margin: 0 auto 26px;
        text-align: center;
    }

.promo-cards {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    margin: 30px auto 0;
}

.promo-card {
    width: 250px;
    background: var(--accent);
    border-radius: 20px;
    padding: 18px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

    .promo-card img {
        width: 100%;
        height: 220px;
        object-fit: cover;
        border-radius: 16px;
        display: block;
        margin: 0 auto 18px;
    }

    .promo-card .btn {
        display: inline-flex;
        justify-content: center;
        margin: 14px auto 0;
    }