/*
  FILÓ RENDEIRA — CARD CANÔNICO DE PEÇA
  Padrão global para toda vitrine de roupa: home, portfólio, páginas internas e peças relacionadas.
  Objetivo: foto full-bleed no topo, sem moldura branca interna, corpo do card abaixo e botões consistentes.
*/
:root {
  --piece-card-radius: 1.9rem;
  --piece-card-bg: #fffdfb;
  --piece-card-body-bg: linear-gradient(180deg, #fffdfb 0%, #fff8fa 100%);
  --piece-card-border: rgba(216, 167, 177, .25);
  --piece-card-shadow: 0 18px 48px rgba(83, 51, 42, .08);
  --piece-card-shadow-hover: 0 22px 56px rgba(83, 51, 42, .11);
  --piece-card-title: #3b2a24;
  --piece-card-text: rgba(59, 42, 36, .72);
  --piece-card-muted: #a6786f;
  --piece-card-primary: #3b2a24;
  --piece-card-primary-hover: #4a322b;
  --piece-card-outline: rgba(201, 143, 155, .58);
  --piece-ratio: 4 / 4.75;
  --piece-pos: 50% 28%;
}

/* Card: uma única anatomia visual para qualquer roupa exibida como opção */
article.piece-card-unified,
article.fr-portfolio-card.piece-card-unified,
article.fr-portfolio-card-v9.piece-card-unified,
article.portfolio-card.piece-card-unified,
article.related-card.piece-card-unified,
article.piece-related-card,
.fr-portfolio-grid article,
.fr-portfolio-grid-v9 article.portfolio-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--piece-card-bg) !important;
  border: 1px solid var(--piece-card-border) !important;
  border-radius: var(--piece-card-radius) !important;
  box-shadow: var(--piece-card-shadow) !important;
  color: var(--piece-card-title) !important;
  isolation: isolate !important;
  position: relative !important;
  text-decoration: none !important;
  transform: translateZ(0) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}

article.piece-card-unified::before,
article.piece-card-unified::after,
article.fr-portfolio-card-v9::before,
article.fr-portfolio-card-v9::after,
article.related-card::before,
article.related-card::after,
article.piece-related-card::before,
article.piece-related-card::after {
  content: none !important;
  display: none !important;
}

article.piece-card-unified:hover,
article.fr-portfolio-card.piece-card-unified:hover,
article.fr-portfolio-card-v9.piece-card-unified:hover,
article.portfolio-card.piece-card-unified:hover,
article.related-card.piece-card-unified:hover,
article.piece-related-card:hover,
.fr-portfolio-grid article:hover,
.fr-portfolio-grid-v9 article.portfolio-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(216, 167, 177, .38) !important;
  box-shadow: var(--piece-card-shadow-hover) !important;
}

/* Mídia: foto colada no topo e preenchendo 100% da largura do card */
.piece-card-unified > .piece-card-media,
.piece-card-unified .piece-card-media,
.fr-card-image.piece-card-media,
.fr-portfolio-card-img.piece-card-media,
.fr-portfolio-card-img,
.fr-card-image,
.related-card .piece-card-media,
.piece-related-card .piece-card-media {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  aspect-ratio: var(--piece-ratio) !important;
  background: #f7eee9 !important;
  position: relative !important;
  line-height: 0 !important;
  flex: 0 0 auto !important;
}

.piece-card-unified > .piece-card-media::after,
.piece-card-unified .piece-card-media::after,
.fr-portfolio-card-img::after,
.fr-card-image::after {
  content: "" !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 24% !important;
  background: linear-gradient(180deg, transparent, rgba(59, 42, 36, .045)) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.piece-card-unified .piece-card-media picture,
.piece-card-unified .piece-card-media img,
.fr-card-image picture,
.fr-card-image img,
.fr-portfolio-card-img picture,
.fr-portfolio-card-img img,
.related-card .piece-card-media picture,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media picture,
.piece-related-card .piece-card-media img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.piece-card-unified .piece-card-media img,
.fr-card-image img,
.fr-portfolio-card-img img,
.related-card .piece-card-media img,
.piece-related-card .piece-card-media img {
  object-fit: cover !important;
  object-position: var(--piece-pos) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Corpo: bloco inferior separado da foto, com o mesmo refinamento em todo o site */
.piece-card-body,
.fr-card-copy.piece-card-body,
.fr-portfolio-card-body.piece-card-body,
.fr-card-copy,
.fr-portfolio-card-body,
.related-card .piece-card-body,
.piece-related-card .piece-card-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: .74rem !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 1.32rem 1.32rem 1.42rem !important;
  background: var(--piece-card-body-bg) !important;
  border-top: 1px solid rgba(216, 167, 177, .18) !important;
  color: var(--piece-card-title) !important;
}

.piece-card-kicker,
.fr-portfolio-card-cat,
.fr-card-copy span.piece-card-kicker,
.fr-portfolio-card-body .piece-card-kicker,
.related-card .piece-card-kicker,
.piece-related-card .piece-card-kicker {
  margin: 0 !important;
  color: var(--piece-card-muted) !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: clamp(.82rem, .78rem + .16vw, .94rem) !important;
  font-weight: 650 !important;
  line-height: 1.22 !important;
  letter-spacing: .005em !important;
  text-transform: none !important;
}

.piece-card-title,
.fr-card-copy h3,
.fr-card-copy h3.piece-card-title,
.fr-portfolio-card-body h3,
.fr-portfolio-card-body h3.piece-card-title,
.related-card h3,
.related-card h3.piece-card-title,
.piece-related-card h3,
.piece-related-card h3.piece-card-title {
  margin: .12rem 0 0 !important;
  color: var(--piece-card-title) !important;
  font-family: var(--font-display, 'Playfair Display', Georgia, 'Times New Roman', serif) !important;
  font-size: clamp(1.42rem, 1.12rem + .95vw, 1.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

.piece-card-description,
.fr-portfolio-card-desc,
.fr-card-copy p.piece-card-description,
.fr-card-copy p:not(.piece-card-kicker),
.fr-portfolio-card-body p.fr-portfolio-card-desc,
.related-card .piece-card-description,
.piece-related-card .piece-card-description {
  margin: 0 !important;
  color: var(--piece-card-text) !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: clamp(.95rem, .90rem + .18vw, 1.04rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  min-height: 4.55rem !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Ações: dois botões consistentes, sem quebrar texto */
.piece-card-actions,
.fr-card-copy .piece-card-actions,
.fr-portfolio-card-actions,
.fr-portfolio-card-actions.piece-card-actions,
.related-card .piece-card-actions,
.piece-related-card .piece-card-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: .70rem !important;
  width: 100% !important;
  margin: .20rem 0 0 !important;
  padding: 0 !important;
}

.piece-card-actions a,
.fr-card-copy .piece-card-actions a,
.fr-portfolio-card-actions a,
.related-card .piece-card-actions a,
.piece-related-card .piece-card-actions a,
.fr-card-btn,
.card-action-btn,
.card-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.78rem !important;
  padding: .72rem .95rem !important;
  border-radius: 999px !important;
  font-family: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: .86rem !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-decoration: none !important;
  max-width: none !important;
  position: relative !important;
  z-index: 2 !important;
  transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.piece-card-actions a:first-child,
.fr-card-copy .piece-card-actions a:first-child,
.fr-portfolio-card-actions a:first-child,
.related-card .piece-card-actions a:first-child,
.piece-related-card .piece-card-actions a:first-child,
.fr-card-btn-primary,
.card-action-btn {
  flex: 1 1 46% !important;
  background: var(--piece-card-primary) !important;
  color: #fff !important;
  border: 1px solid var(--piece-card-primary) !important;
}

.piece-card-actions a:nth-child(n+2),
.fr-card-copy .piece-card-actions a:nth-child(n+2),
.fr-portfolio-card-actions a:nth-child(n+2),
.related-card .piece-card-actions a:nth-child(n+2),
.piece-related-card .piece-card-actions a:nth-child(n+2),
.fr-card-btn-secondary,
.card-link-btn {
  flex: 1 1 54% !important;
  background: rgba(255, 255, 255, .96) !important;
  color: var(--piece-card-primary) !important;
  border: 1px solid var(--piece-card-outline) !important;
}

.piece-card-actions a:hover,
.fr-card-copy .piece-card-actions a:hover,
.fr-portfolio-card-actions a:hover,
.related-card .piece-card-actions a:hover,
.piece-related-card .piece-card-actions a:hover,
.fr-card-btn:hover,
.card-action-btn:hover,
.card-link-btn:hover {
  transform: translateY(-1px) !important;
}

.piece-card-actions a:first-child:hover,
.fr-card-btn-primary:hover,
.card-action-btn:hover {
  background: var(--piece-card-primary-hover) !important;
}

/* Grids: cards da mesma altura e sem sobras estranhas */
.fr-portfolio-grid,
.fr-portfolio-grid-v9,
.related-grid,
.related-pieces-grid,
.pieces-grid,
.portfolio-grid {
  align-items: stretch !important;
}

.fr-portfolio-grid > *,
.fr-portfolio-grid-v9 > *,
.related-grid > *,
.related-pieces-grid > *,
.pieces-grid > *,
.portfolio-grid > * {
  min-width: 0 !important;
}

@media (max-width: 768px) {
  :root {
    --piece-card-radius: 1.55rem;
    --piece-ratio: 4 / 4.25;
    --piece-pos: 50% 26%;
  }

  article.piece-card-unified,
  article.fr-portfolio-card.piece-card-unified,
  article.fr-portfolio-card-v9.piece-card-unified,
  article.portfolio-card.piece-card-unified,
  article.related-card.piece-card-unified,
  article.piece-related-card {
    border-radius: var(--piece-card-radius) !important;
  }

  .piece-card-body,
  .fr-card-copy.piece-card-body,
  .fr-portfolio-card-body.piece-card-body,
  .fr-card-copy,
  .fr-portfolio-card-body,
  .related-card .piece-card-body,
  .piece-related-card .piece-card-body {
    padding: 1.28rem 1.25rem 1.35rem !important;
    gap: .76rem !important;
  }

  .piece-card-title,
  .fr-card-copy h3,
  .fr-portfolio-card-body h3,
  .related-card h3,
  .piece-related-card h3 {
    font-size: clamp(1.45rem, 6.4vw, 1.85rem) !important;
    line-height: 1.08 !important;
  }

  .piece-card-description,
  .fr-portfolio-card-desc,
  .fr-card-copy p.piece-card-description,
  .fr-card-copy p:not(.piece-card-kicker),
  .fr-portfolio-card-body p.fr-portfolio-card-desc,
  .related-card .piece-card-description,
  .piece-related-card .piece-card-description {
    font-size: .96rem !important;
    line-height: 1.56 !important;
    min-height: 4.55rem !important;
  }

  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    gap: .62rem !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn {
    min-height: 2.75rem !important;
    padding: .70rem .78rem !important;
    font-size: .84rem !important;
  }
}

@media (max-width: 380px) {
  .piece-card-actions,
  .fr-card-copy .piece-card-actions,
  .fr-portfolio-card-actions,
  .related-card .piece-card-actions,
  .piece-related-card .piece-card-actions {
    flex-direction: column !important;
  }

  .piece-card-actions a,
  .fr-card-copy .piece-card-actions a,
  .fr-portfolio-card-actions a,
  .related-card .piece-card-actions a,
  .piece-related-card .piece-card-actions a,
  .fr-card-btn,
  .card-action-btn,
  .card-link-btn {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
}
