/* ================== BASE ================== */

.landing-wrapper {
  font-family: 'Georgia', 'Times New Roman', serif;
  color: #2b2b2b;
  background-color: #f9f4ec;
  line-height: 1.6;
}

/* ================== HERO ================== */
.lr-hero {
  background: linear-gradient(135deg, #f9d976, #f39f86);
  color: #fff;
  padding: 100px 20px;
  text-align: center;
}
.lr-hero h1 {
  font-size: 3rem;
  margin-bottom: 20px;
}
.lr-hero p {
  font-size: 1.2rem;
  max-width: 700px;
  margin: 0 auto 30px auto;
}

/* Общая кнопка */
.lr-btn {
  display: inline-block;
  background: #2b2b2b;
  color: #fff;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  transition: background .25s ease, transform .15s ease;
}
.lr-btn:hover { background:#444; transform: translateY(-1px); }
.lr-btn--light { background:#fff; color:#2b2b2b; }
.lr-btn--light:hover { background:#f1f1f1; }

/* ================== STORY ================== */
.lr-story {
  padding: 80px 20px;
  background-color: #fffaf3;
}
.lr-story h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 40px;
}

/* ================== GALLERY ================== */
.lr-gallery {
  padding: 80px 20px;
  background-color: #f0e9dc;
}
.lr-gallery h2 { text-align:center; margin-bottom:40px; }
.lr-gallery__grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
  gap:20px;
}
.lr-gallery__grid img {
  width:100%;
  border-radius:8px;
  box-shadow:0 4px 10px rgba(0,0,0,.1);
}

/* ================== VIDEO ================== */
.lr-video { padding:80px 20px; background:#fffaf3; text-align:center; }
.lr-video h2 { margin-bottom:20px; }
.lr-video__frame iframe {
  width:80%; height:450px; border-radius:8px;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
}

/* ================== PRODUCTS ================== */
.lr-products { padding:80px 20px; background:#fff; }
.lr-products h2 { text-align:center; margin-bottom:26px; font-size:2rem; }

/* ВАЖНО: не перекрашиваем все ссылки внутри .lr-products,
   чтобы не сбивать цвет кнопки */
.lr-products a:not(.product-card__btn) {
  text-decoration:none;
  color:#2b2b2b;
}
.lr-products a:not(.product-card__btn):hover { opacity:.9; }

.lr-products__grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px,1fr));
  gap:22px;
}

/* Карточка */
.product-card {
  background:#fff;
  border:1px solid #eee;
  border-radius:10px;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* Изображение */
.product-card__media {
  display:block; width:100%;
  aspect-ratio:1/1;
  background:#f3eee6;
  border-radius:8px;
  overflow:hidden;
}
.product-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.product-card__placeholder {
  width:100%; height:100%; display:grid; place-items:center;
  color:#a8a29e; font-size:14px;
}

/* Заголовок и цена */
.product-card__title { margin:6px 0 0; font-size:16px; line-height:1.35; font-weight:700; color:#2b2b2b; }
.product-card__title a {
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.price { margin:4px 0 8px; font-size:16px; font-weight:600; color:#2b2b2b; }

/* Кнопка «Купить» в карточке */

/* Кнопка «Купить» в карточке */
.product-card__btn {
  display: block;              /* чтобы центрировать через margin */
  width: 80%;                  /* аккуратная ширина */
  margin: 12px auto 0;         /* по центру */
  padding: 12px 20px;
  text-align: center;

  background: #2b2b2b;
  color: #fff !important;      /* белый текст всегда */
  border-radius: 8px;
  font-weight: 700;
  letter-spacing: .2px;
  text-decoration: none !important;

  box-shadow: 0 6px 14px rgba(0,0,0,.10);
  transition: background .2s, transform .15s, box-shadow .2s;
}
.product-card__btn:hover {
  background: #444;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0,0,0,.15);
}


/* ================== FINAL ================== */
.lr-final {
  background: linear-gradient(135deg, #f39f86, #f9d976);
  color:#fff; text-align:center; padding:100px 20px;
}
.lr-final h2 { font-size:2.5rem; margin-bottom:30px; }

/* ================== RESPONSIVE ================== */
@media (max-width: 768px) {
  .lr-hero h1 { font-size:2rem; }
  .lr-video__frame iframe { width:100%; height:250px; }
  .product-card__title { font-size:15px; }
  .price { font-size:15px; }
  .lr-products__grid { gap:16px; }
}
