/* Homepage panels match .feature-row on the Leela product page. */
.store-hero,
.store-section,
.catalog-card,
.store-principles article {
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 40px;
  background: linear-gradient(to bottom right, #f4e9ff, #fff4eb 50%, #fae1d5);
  box-shadow: 0 35px 90px rgba(112, 74, 82, 0.12);
}

.store-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 32px;
  margin: 36px 0 48px;
  padding: 64px 48px;
  overflow: hidden;
}

.store-hero > div { min-width: 0; }
.store-hero h1 { font-size: clamp(36px, 4vw, 57px); }
.store-hero .hero-description { margin-bottom: 14px; font-size: 17px; line-height: 1.68; }
.hero-platform-copy { max-width: 590px; margin: 0 0 16px; color: #756a7c; font-size: 15px; line-height: 1.7; }
.hero-final { margin: 0 0 25px; color: #35285f; font-size: 15px; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.hero-actions .store-button.secondary { border: 1px solid rgba(55, 42, 95, 0.12); background: rgba(255, 255, 255, 0.58); }

.store-section {
  margin-bottom: 40px;
  padding: 48px 36px;
}

.section-heading { align-items: start; }
.section-heading > div { min-width: 0; }
.section-heading > p { flex-shrink: 0; }
.section-heading h2 { font-size: clamp(28px, 3vw, 38px); }

.catalog-card {
  border-radius: 32px;
  box-shadow: 0 18px 48px rgba(112, 74, 82, 0.1);
}

.catalog-art { background: rgba(255, 255, 255, 0.35); }
.catalog-placeholder { background: transparent; }
.catalog-card-body { padding: 28px; }

/* A single product uses a horizontal panel instead of leaving half the catalog empty. */
.catalog-card:only-child {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
}
.catalog-card:only-child .catalog-art { height: 100%; min-height: 300px; aspect-ratio: auto; }
.catalog-card:only-child .catalog-card-body { display: flex; flex-direction: column; justify-content: center; }

.store-principles {
  gap: 22px;
  padding: 0;
  border: 0;
  margin-bottom: 50px;
}

.store-principles article {
  min-width: 0;
  padding: 30px;
  border-radius: 32px;
  box-shadow: 0 24px 70px rgba(112, 74, 82, 0.1);
}

.store-principles article:last-child { border: 1px solid rgba(255, 255, 255, 0.72); }
.store-principles article p { margin-bottom: 0; }

@media (max-width: 1000px) {
  .section-heading { flex-direction: column; gap: 16px; }
  .section-heading > p { margin: 0; }
  .store-principles article { padding: 24px; }
}

@media (max-width: 800px) {
  .store-hero { grid-template-columns: minmax(0, 1fr); padding: 40px 28px; }
  .store-section { padding: 36px 24px; }
  .catalog-grid { grid-template-columns: minmax(0, 1fr); }
  .catalog-card:only-child { display: block; }
  .catalog-card:only-child .catalog-art { height: auto; min-height: 0; aspect-ratio: 16 / 10; }
  .store-principles { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 520px) {
  .store-hero { margin: 24px 0 28px; padding: 34px 22px; gap: 20px; border-radius: 28px; }
  .store-hero h1 { font-size: 32px; hyphens: auto; overflow-wrap: anywhere; }
  .store-hero .hero-description { font-size: 15px; }
  .hero-platform-copy, .hero-final { font-size: 14px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .store-button { width: 100%; }
  .store-hero .store-eyebrow { font-size: 10px; letter-spacing: 0.11em; line-height: 1.7; }
  .store-hero .hero-composition { height: 290px; }
  .store-section { padding: 28px 18px; margin-bottom: 28px; border-radius: 28px; }
  .section-heading { margin-bottom: 26px; }
  .catalog-card { border-radius: 24px; }
  .catalog-card-body { padding: 20px; }
  .catalog-card-title { gap: 12px; }
  .catalog-card-title .app-icon { width: 48px; height: 48px; }
  .catalog-card-title h2 { font-size: 26px; }
  .catalog-card-title small { line-height: 1.6; }
  .catalog-card-bottom { flex-wrap: wrap; gap: 14px; }
  .store-principles { gap: 18px; margin-bottom: 30px; }
  .store-principles article { padding: 24px; border-radius: 28px; }
}
