/* ============================================================
   RR AUDIOCAR PRO — Home (front-page fallback)
   ============================================================ */

.rrac-hero {
  background: linear-gradient(135deg, var(--rrac-ink-900) 0%, var(--rrac-ink-700) 100%);
  color: #fff;
  border-radius: var(--rrac-radius-3xl);
  overflow: hidden;
  margin: var(--rrac-space-6) var(--rrac-gutter-mobile) 0;
  position: relative;
}
@media (min-width: 768px) { .rrac-hero { margin: var(--rrac-space-8) var(--rrac-gutter-tablet) 0; } }
@media (min-width: 1024px) { .rrac-hero { margin: var(--rrac-space-10) auto 0; max-width: var(--rrac-container); } }

.rrac-hero::before {
  content: "";
  position: absolute;
  top: -50%; right: -10%;
  width: 60%; height: 200%;
  background: radial-gradient(circle, rgba(230, 57, 70, .35), transparent 60%);
  pointer-events: none;
}

.rrac-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  gap: var(--rrac-space-8);
  padding: var(--rrac-space-10) var(--rrac-space-6);
}
@media (min-width: 768px) {
  .rrac-hero__grid {
    grid-template-columns: 1fr 1fr;
    padding: var(--rrac-space-16) var(--rrac-space-10);
  }
}

.rrac-hero__eyebrow {
  display: inline-block;
  background: rgba(255, 255, 255, .1);
  padding: 6px 14px;
  border-radius: var(--rrac-radius-full);
  font-size: var(--rrac-text-xs);
  font-weight: var(--rrac-weight-semibold);
  letter-spacing: var(--rrac-tracking-wide);
  margin-bottom: var(--rrac-space-4);
}

.rrac-hero__title {
  margin: 0 0 var(--rrac-space-4);
  font-size: clamp(var(--rrac-text-5xl), 5vw, var(--rrac-text-8xl));
  font-weight: var(--rrac-weight-black);
  line-height: 1;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.rrac-hero__desc {
  margin: 0 0 var(--rrac-space-6);
  font-size: var(--rrac-text-lg);
  color: rgba(255, 255, 255, .75);
  max-width: 480px;
  line-height: var(--rrac-leading-relaxed);
}
.rrac-hero__cta {
  display: flex;
  gap: var(--rrac-space-3);
  flex-wrap: wrap;
}
.rrac-hero__cta .rrac-btn--ghost {
  color: #fff;
  background: rgba(255, 255, 255, .08);
}
.rrac-hero__cta .rrac-btn--ghost:hover {
  background: rgba(255, 255, 255, .16);
  color: #fff;
}

.rrac-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 24px 60px rgba(230, 57, 70, .4));
}
.rrac-hero__visual-icon {
  font-size: clamp(140px, 18vw, 240px);
  line-height: 1;
}

/* Categorías bubble grid */
.rrac-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--rrac-space-5);
}
.rrac-cat-bubble {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--rrac-space-2);
  color: var(--rrac-text-soft);
  text-decoration: none;
  font-size: var(--rrac-text-sm);
  font-weight: var(--rrac-weight-semibold);
  transition: transform var(--rrac-dur-base) var(--rrac-ease-smooth);
}
.rrac-cat-bubble:hover { transform: translateY(-4px); }
.rrac-cat-bubble__circle {
  width: 88px; height: 88px;
  border-radius: var(--rrac-radius-full);
  background: var(--rrac-surface);
  border: 1px solid var(--rrac-border);
  display: flex;
  align-items: center; justify-content: center;
  overflow: hidden;
  padding: var(--rrac-space-3);
  box-shadow: var(--rrac-shadow-sm);
  font-size: 36px;
  transition: box-shadow var(--rrac-dur-base) var(--rrac-ease-smooth);
}
.rrac-cat-bubble:hover .rrac-cat-bubble__circle {
  box-shadow: var(--rrac-shadow-lg);
}
.rrac-cat-bubble__circle img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* Shortcode products grid (Woo nativo) — adaptar al estilo */
.rrac-section ul.products {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rrac-space-3);
}
@media (min-width: 768px) {
  .rrac-section ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rrac-space-4); }
}
@media (min-width: 1024px) {
  .rrac-section ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
