/* ============================================================
   FOLC HOME COFFEE — CARDS
   Template: Tienda Nube / Río
   Archivo: folc-cards.css

   Estiliza las 3 grillas de productos del home (Destacados /
   Novedades / Ofertas, repurposadas como Cafés / Equipamiento /
   Combos) y la card custom snipplets/product/folc-card.tpl que
   reemplaza a la card genérica de Tiendanube en esas 3 secciones.
   ============================================================ */


/* ============================================================
   01. TÍTULO Y CONTENEDOR DE SECCIÓN
   ============================================================ */
.js-products-featured-container,
.js-products-new-container,
.js-products-sale-container {
  max-width: var(--max-width, 1440px);
  padding: var(--space-xl, 72px) var(--space-xl, 72px);
  margin: 0 auto;
}

.js-products-featured-title,
.js-products-new-title,
.js-products-sale-title {
  font-family: var(--font-display, 'Playfair Display', serif) !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  color: var(--folc-black, #1c1c1a) !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left !important;
  margin: 0 !important;
}

.folc-section-head {
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding-bottom: 20px;
  margin-bottom: 44px;
  border-bottom: 1px solid var(--folc-border, #dedad5);
}

.folc-section-num {
  font-family: var(--font-ui, 'Barlow Condensed', sans-serif);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--folc-wine, #7a1c1c);
}

/* FIX: Río le agrega a esta clase nativa un margin-bottom:70px propio
   (bundleado con .section-instafeed-home en el CSS async del theme), que se
   suma al padding de .js-products-featured-container y duplica el espacio
   entre las 3 secciones de producto respecto al mockup. Se neutraliza acá
   porque el espaciado ya lo controla folc-cards.css. */
.section-featured-home {
  margin-bottom: 0 !important;
}

.folc-section-cta {
  margin-left: auto;
  font-family: var(--font-ui, 'Barlow Condensed', sans-serif);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--folc-gray, #888);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.folc-section-cta:hover {
  color: var(--folc-black, #1c1c1a);
}

@media (max-width: 560px) {
  .folc-section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .folc-section-cta {
    margin-left: 0;
    white-space: normal;
  }
}


/* ============================================================
   02. GRILLAS — 3 columnas (cafés/combos), 4 columnas (equipamiento)
   ============================================================ */
.js-products-featured-grid,
.js-products-sale-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.js-products-new-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

@media (max-width: 900px) {
  .js-products-featured-grid,
  .js-products-sale-grid,
  .js-products-new-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .js-products-featured-grid,
  .js-products-sale-grid,
  .js-products-new-grid {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   03. CARD — base
   ============================================================ */
.folc-card {
  border: 1px solid var(--folc-border, #dedad5);
  background: var(--folc-white, #fff);
  overflow: hidden;
  transition: box-shadow 0.25s ease;
}

.folc-card:hover {
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.1);
}

.folc-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}


/* ============================================================
   04. HEADER DE COLOR (solo card_style == 'cafe')
   ============================================================ */
.folc-card-header {
  padding: 20px 22px 18px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  min-height: 90px;
}

.folc-card-brand {
  text-align: right;
  color: rgba(255, 255, 255, 0.9);
}

.folc-cb-folc {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-weight: 900;
  font-size: 15px;
  letter-spacing: 0.1em;
  display: block;
  line-height: 1;
}

.folc-cb-sub {
  font-family: var(--font-ui, 'Barlow Condensed', sans-serif);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display: block;
  color: rgba(255, 255, 255, 0.55);
  margin-top: 2px;
}


/* ============================================================
   05. IMAGEN
   ============================================================ */
.folc-card-img {
  position: relative;
  aspect-ratio: 1;
  background: var(--folc-cream, #f0ede8);
  overflow: hidden;
}

/* Nota: el mockup usaba height:200px (banner corto) para las cards con
   header de color, pero las fotos reales de producto son verticales
   (3024x4032) — a 200px de alto se recorta ~64% de la foto con
   object-fit:cover. Se mantiene cuadrada (1:1) para que las fotos reales
   se vean bien encuadradas. */

/* La imagen ahora se renderiza directa (product_image_url + img_tag,
   sin el componente nativo de lazy-load), así que no hace falta pelear
   contra clases nativas — es un <img> simple, hijo directo de .folc-card-img. */
.folc-card-img-tag {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.folc-card:hover .folc-card-img-tag {
  transform: scale(1.05);
}

.folc-card-img-ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.folc-card-img-ph img {
  width: 110px;
  height: auto;
  object-fit: contain;
  opacity: 0.15;
}

.folc-card-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  font-family: var(--font-ui, 'Barlow Condensed', sans-serif);
  font-weight: 700;
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 10px;
  background: var(--folc-white, #fff);
  color: var(--folc-gray, #888);
  border: 1px solid var(--folc-border, #dedad5);
}


/* ============================================================
   06. BODY / NOMBRE / FOOTER
   ============================================================ */
.folc-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: var(--folc-cream, #f0ede8);
}

.folc-card-name-row {
  padding: 14px 18px 12px;
  border-bottom: 1px solid var(--folc-cream2, #e8e3dc);
}

.folc-card-name {
  font-family: var(--font-ui, 'Barlow Condensed', sans-serif);
  font-weight: 800;
  font-size: 18px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--folc-black, #1c1c1a);
  line-height: 1.15;
}

.folc-card-footer {
  margin-top: auto;
  padding: 14px 18px;
  border-top: 1px solid var(--folc-cream2, #e8e3dc);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--folc-white, #fff);
}

.folc-card-price {
  font-family: var(--font-display, 'Playfair Display', serif);
  font-weight: 700;
  font-size: 20px;
  color: var(--folc-black, #1c1c1a);
}

.folc-card-price-compare {
  font-family: var(--font-body, 'Inter', sans-serif);
  font-weight: 400;
  font-size: 12px;
  color: var(--folc-gray, #888);
  text-decoration: line-through;
  margin-right: 6px;
}

.folc-card-brand-mini {
  font-family: var(--font-ui, 'Barlow Condensed', sans-serif);
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ccc;
  margin-top: 2px;
}

.folc-add-btn {
  width: 36px;
  height: 36px;
  border: 1.5px solid var(--folc-black, #1c1c1a);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: var(--folc-black, #1c1c1a);
  line-height: 1;
  flex-shrink: 0;
  transition: all 0.2s ease;
}

.folc-card:hover .folc-add-btn {
  background: var(--folc-black, #1c1c1a);
  color: var(--folc-white, #fff);
}


/* ============================================================
   FIN — folc-cards.css
   ============================================================ */
