/* ============================================================
   TARJETA DE VIAJE (.vce-vcard) · Dirección C
   Foto cuadrada (los flyers de la clienta son 1:1) con degradado, chips arriba, cuerpo hueso, pie con
   precio en bronce y flecha. Se carga en todo el sitio (grid del
   catálogo, taxonomías, relacionados).
   ============================================================ */
.vce-vcard { position: relative; display: flex; flex-direction: column; border-radius: 26px; background: var(--vce-blanco); overflow: hidden; box-shadow: 0 1px 0 rgba(0,48,117,.06); transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s; }
.vce-vcard:hover { transform: translateY(-6px); box-shadow: 0 24px 48px rgba(0,48,117,.14); }
.vce-vcard:focus-within { outline: 3px solid var(--vce-picton); outline-offset: 3px; }

.vce-vcard__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: linear-gradient(160deg, var(--vce-columbia) 0%, #8FB3C6 100%); }
.vce-vcard--sin-foto:nth-child(3n+2) .vce-vcard__media { background: linear-gradient(160deg, var(--vce-yale) 0%, var(--vce-indigo) 100%); }
.vce-vcard--sin-foto:nth-child(3n) .vce-vcard__media { background: linear-gradient(120deg, var(--vce-columbia), var(--vce-hueso) 60%, #E9D9B8); }
.vce-vcard__img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.vce-vcard:hover .vce-vcard__img { transform: scale(1.05); }
.vce-vcard__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,24,58,.18) 0%, rgba(0,24,58,0) 35%, rgba(0,24,58,0) 60%, rgba(0,24,58,.45) 100%); pointer-events: none; }

.vce-vcard__chip { position: absolute; top: 1rem; z-index: 1; display: inline-flex; align-items: center; min-height: 32px; padding: 0 .9rem; border-radius: 999px; font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(8px); }
.vce-vcard__chip--cat { left: 1rem; background: rgba(247,247,242,.9); color: var(--vce-yale); }
.vce-vcard__sale { margin: 0; font-family: var(--vce-font-display); font-size: .8125rem; font-weight: 600; color: var(--vce-bronce-tinta); }

.vce-vcard__body { display: flex; flex-direction: column; gap: .5rem; padding: 1.25rem 1.4rem 1.4rem; flex: 1; }
.vce-vcard__meta { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin: 0; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--vce-bronce-tinta); font-weight: 600; }
.vce-vcard__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--vce-bronce); display: inline-block; }
.vce-vcard__title { margin: 0; font-family: var(--vce-font-display); font-weight: 600; font-size: 1.3rem; line-height: 1.15; letter-spacing: -.02em; color: var(--vce-yale); text-wrap: balance; }
.vce-vcard__title a { color: inherit; text-decoration: none; }
.vce-vcard__title a::after { content: ""; position: absolute; inset: 0; } /* toda la tarjeta es clicable */
.vce-vcard__title a:focus-visible { outline: none; }

.vce-vcard__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--vce-color-border); }
.vce-vcard__price { margin: 0; display: flex; flex-direction: column; line-height: 1.1; }
.vce-vcard__price-label { font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--vce-gris-medio); }
.vce-vcard__price-value { font-family: var(--vce-font-display); font-size: 1.25rem; font-weight: 600; color: var(--vce-yale); }
.vce-vcard__price--consultar .vce-vcard__price-value { font-size: .95rem; font-weight: 500; color: var(--vce-bronce-tinta); }
.vce-vcard__go { display: inline-flex; align-items: center; gap: .4rem; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--vce-indigo); white-space: nowrap; transition: gap .25s; }
.vce-vcard:hover .vce-vcard__go { gap: .7rem; }

@media (prefers-reduced-motion: reduce) {
  .vce-vcard, .vce-vcard__img, .vce-vcard__go { transition: none; }
  .vce-vcard:hover { transform: none; }
  .vce-vcard:hover .vce-vcard__img { transform: none; }
}
