/* GT – Producto destacado ([gt_producto_destacado]). Colores en variables (--gtd-*) que pone el plugin. */
.gt-pd { position: relative; overflow: hidden; padding: 64px 0; font-family: Inter, sans-serif; color: #fff;
  background: radial-gradient(55% 75% at 16% 38%, var(--gtd-glow) 0%, transparent 70%), radial-gradient(40% 60% at 92% 100%, rgba(77,117,153,.22) 0%, transparent 70%), linear-gradient(155deg, var(--gtd-deep) 0%, var(--gtd-mid) 55%, var(--gtd-base) 100%); }
.gt-pd *, .gt-pd *::before, .gt-pd *::after { box-sizing: border-box; }
.gt-pd-in { width: min(1140px, calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 56px; align-items: center; }
.gt-pd--novideo .gt-pd-in { grid-template-columns: minmax(0, 1fr); }

/* Vídeo */
.gt-pd-video { aspect-ratio: 1 / 1; overflow: hidden; box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.gt-pd-video video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Producto: foto + texto */
.gt-pd-prod { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.gt-pd--novideo .gt-pd-prod { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 88px; }
.gt-pd-media { position: relative; width: 100%; }
.gt-pd--novideo .gt-pd-media { max-width: 460px; justify-self: end; }
.gt-pd-frame { position: absolute; z-index: 0; inset: 14px -14px -14px 14px; border: 1px solid var(--gtd-line); }
.gt-pd--novideo .gt-pd-frame { inset: 24px -24px -24px 24px; }
.gt-pd .gt-pd-img { position: relative; z-index: 1; display: block; aspect-ratio: 4 / 5; overflow: hidden; box-shadow: 0 34px 70px rgba(0,0,0,.45); }
.gt-pd-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s ease; }
.gt-pd-img:hover img { transform: scale(1.035); }
.gt-pd-badge { position: absolute; z-index: 2; top: 16px; right: -26px; width: 70px; height: 70px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; background: linear-gradient(135deg, var(--gtd-acc-l) 0%, var(--gtd-acc-d) 100%); color: var(--gtd-on); font: 800 10px/1.15 'Work Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; transform: rotate(-12deg); box-shadow: 0 12px 26px rgba(0,0,0,.35); }
.gt-pd--novideo .gt-pd-badge { top: 30px; right: -38px; width: 92px; height: 92px; font-size: 12px; }

.gt-pd-body { position: relative; }
.gt-pd-body::before { content: attr(data-wm); position: absolute; z-index: 0; right: -10px; top: 50%; transform: translateY(-58%); font: 800 190px/1 'Work Sans', sans-serif; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.07); pointer-events: none; white-space: nowrap; }
.gt-pd--novideo .gt-pd-body::before { font-size: 300px; }
.gt-pd-body > * { position: relative; z-index: 1; }
.gt-pd .gt-pd-eyebrow { display: flex; align-items: center; gap: 14px; margin: 0 0 14px !important; padding: 0 !important; font: 700 12px/1 'Work Sans', sans-serif !important; letter-spacing: .2em; text-transform: uppercase; color: var(--gtd-acc) !important; }
.gt-pd-eyebrow::before { content: ""; width: 36px; height: 1px; background: var(--gtd-acc); flex: 0 0 auto; }
.gt-pd .gt-pd-title { margin: 0 !important; padding: 0 !important; font-family: 'Work Sans', sans-serif !important; font-weight: 800 !important; font-size: 40px !important; line-height: .95 !important; letter-spacing: -.015em; text-transform: uppercase; color: #fff !important; }
.gt-pd--novideo .gt-pd-title { font-size: 64px !important; }
.gt-pd-title > span { display: block; }
.gt-pd .gt-pd-flavor { font-weight: 300 !important; letter-spacing: .04em; color: #DCE7EA; }
.gt-pd-ratio { display: flex; align-items: center; gap: 14px; margin: 20px 0 18px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); max-width: 440px; }
.gt-pd-num { font: 800 42px/1 'Work Sans', sans-serif; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1.5px var(--gtd-acc); white-space: nowrap; }
.gt-pd--novideo .gt-pd-num { font-size: 58px; }
.gt-pd-lab { font: 600 11px/1.4 'Work Sans', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #CFDDE1; }
.gt-pd .gt-pd-chips { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.gt-pd .gt-pd-chips li { margin: 0 !important; padding: 6px 12px 6px 10px !important; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; font-size: 12px; line-height: 1.2; color: #E8EEF0; background: rgba(255,255,255,.04); list-style: none !important; }
.gt-pd-chips li::before { content: "\2713"; color: var(--gtd-acc); font-weight: 700; margin-right: 7px; }
.gt-pd-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.gt-pd .gt-pd-btn { flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 20px; border-radius: 999px; font: 700 12px/1 'Work Sans', sans-serif; letter-spacing: .1em; text-transform: uppercase; text-decoration: none !important; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, gap .2s ease; }
.gt-pd--novideo .gt-pd-btn { flex: 0 1 auto; padding: 17px 28px; font-size: 13px; }
.gt-pd .gt-pd-btn--pri { background: linear-gradient(135deg, var(--gtd-acc-l) 0%, var(--gtd-acc-d) 100%); color: var(--gtd-on) !important; box-shadow: 0 12px 28px var(--gtd-shad); }
.gt-pd .gt-pd-btn--pri:hover { transform: translateY(-2px); gap: 14px; }
.gt-pd .gt-pd-btn--sec { border: 1px solid rgba(255,255,255,.55); color: #fff !important; background: transparent; }
.gt-pd .gt-pd-btn--sec:hover { background: #fff; color: var(--gtd-deep) !important; }

@media (max-width: 980px) {
  .gt-pd-in { grid-template-columns: 1fr; gap: 48px; }
  .gt-pd-video { max-width: 560px; width: 100%; justify-self: center; }
  .gt-pd--novideo .gt-pd-prod { gap: 56px; }
  .gt-pd--novideo .gt-pd-title { font-size: 46px !important; }
  .gt-pd--novideo .gt-pd-body::before { font-size: 220px; }
}
@media (max-width: 767px) {
  .gt-pd { padding: 56px 0; background: radial-gradient(90% 45% at 30% 22%, var(--gtd-glow) 0%, transparent 70%), linear-gradient(170deg, var(--gtd-deep) 0%, var(--gtd-mid) 55%, var(--gtd-base) 100%); }
  .gt-pd-in { width: calc(100% - 32px); gap: 40px; }
  .gt-pd-prod, .gt-pd--novideo .gt-pd-prod { grid-template-columns: 1fr; gap: 40px; }
  .gt-pd-media, .gt-pd--novideo .gt-pd-media { max-width: none; justify-self: stretch; width: calc(100% - 14px); }
  .gt-pd--novideo .gt-pd-frame { inset: 14px -14px -14px 14px; }
  .gt-pd-badge, .gt-pd--novideo .gt-pd-badge { top: 18px; right: -6px; width: 74px; height: 74px; font-size: 10px; }
  .gt-pd .gt-pd-title, .gt-pd--novideo .gt-pd-title { font-size: 38px !important; }
  .gt-pd-body::before, .gt-pd--novideo .gt-pd-body::before { font-size: 170px; top: 0; right: -6px; transform: none; }
  .gt-pd-num, .gt-pd--novideo .gt-pd-num { font-size: 46px; }
  .gt-pd-lab { font-size: 12px; }
  .gt-pd-ctas { margin-top: 28px; }
  .gt-pd .gt-pd-btn, .gt-pd--novideo .gt-pd-btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .gt-pd-img img, .gt-pd .gt-pd-btn { transition: none; } }

/* Admin: vista previa de medios */
.gtd-prev img, .gtd-prev video { display: block; max-width: 220px; max-height: 260px; margin: 0 0 8px; }
