/* Interacciones ligeras — Vetiagro 1.1.1 */
.veti-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.site-chrome-sticky { transition: box-shadow 220ms ease; }
.site-chrome-sticky.is-scrolled { box-shadow: 0 6px 22px rgba(21, 59, 39, .12); }
.veti-reading-progress {
  position: absolute;
  z-index: 41;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, var(--forest), var(--gold));
  transform: scaleX(0);
  transform-origin: left;
}

.mascot-orbit {
  transform: translate(var(--veti-pointer-x, 0px), var(--veti-pointer-y, 0px));
  transition: transform 380ms ease-out;
}
.mascot-stage::after {
  transform: translate(var(--veti-pointer-x, 0px), var(--veti-pointer-y, 0px));
  transition: transform 550ms ease-out;
}
.hero-glow-one { animation: veti-ambient-in 2.4s ease-out both; }
.hero-glow-two { animation: veti-ambient-in 2.8s ease-out both; }
@keyframes veti-ambient-in {
  from { opacity: .3; transform: translateY(18px) scale(.95); }
  to { opacity: 1; transform: none; }
}

.veti-intro-action {
  display: block;
  min-height: 40px;
  margin: 9px 0 -5px;
  padding: 0;
  border: 0;
  color: var(--forest-deep);
  background: none;
  font: 750 .76rem/1.3 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 5px;
}

.product-selector {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 25px;
}
.product-selector button {
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--forest-deep);
  background: var(--white);
  font: 700 .8rem/1.35 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.product-selector button:hover { background: var(--sage); }
.product-selector button[aria-pressed="true"] {
  border-color: var(--forest);
  background: var(--forest);
  color: var(--white);
  box-shadow: 0 4px 14px rgba(46, 98, 63, .15);
}
.product-selector-status { margin: 12px 0 0; color: var(--muted); font-size: .79rem; line-height: 1.5; }
.product-selector ~ .product-grid { margin-top: 18px; }
.product-explore-link {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
  border-top: 1px solid var(--line);
  padding-top: 12px;
  color: var(--forest);
  font-size: .8rem;
  font-weight: 750;
}
.product-explore-link > span[aria-hidden] { transition: transform 200ms ease; }
.product-card:focus-within { border-color: #aac5ae; box-shadow: var(--shadow); }
.product-card h3 { margin-top: 40px; }
.product-card-top a { min-width: 44px; min-height: 44px; }
.product-grid.is-filtered { grid-template-columns: minmax(0, 1fr); }
.product-grid.is-filtered .product-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 60px;
  min-height: 330px;
  padding: 34px 40px;
  background: linear-gradient(115deg, #fff 30%, #f1f6ed 100%);
}
.product-grid.is-filtered .product-card-top { grid-column: 1 / -1; }
.product-grid.is-filtered .product-card h3 { grid-column: 1; margin: 22px 0 12px; font-size: 2.6rem; }
.product-grid.is-filtered .product-card > p { grid-column: 1; min-height: 0; max-width: 440px; }
.product-grid.is-filtered .product-card ul {
  grid-column: 2;
  grid-row: 2 / 4;
  align-content: center;
  gap: 18px;
  border-top: 0;
  border-left: 1px solid var(--line);
  margin: 20px 0 0;
  padding: 5px 0 5px 32px;
}
.product-grid.is-filtered .product-card li { font-size: .94rem; }
.product-grid.is-filtered .product-explore-link { grid-column: 1 / -1; }

.trust-icon { transition: background 200ms ease, color 200ms ease, transform 200ms ease; }
.stats-grid article { transition: box-shadow 200ms ease, border-color 200ms ease; }
.stats-grid [data-veti-count] { display: inline-block; min-width: 1.1em; font-variant-numeric: tabular-nums; }
.veti-back-top {
  position: fixed;
  z-index: 42;
  left: 24px;
  bottom: max(24px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  color: var(--forest-deep);
  box-shadow: 0 6px 24px rgba(21, 59, 39, .12);
  font-size: .78rem;
  font-weight: 750;
  transition: background 180ms ease, transform 180ms ease;
}
.veti-back-top > span:first-child { font-size: 1.25rem; }
.veti-back-top:hover { background: var(--cream-soft); transform: translateY(-3px); }
.veti-motion-toggle {
  min-height: 44px;
  padding: 6px 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.veti-motion-toggle:disabled { cursor: default; text-decoration: none; }
.footer-bottom { flex-wrap: wrap; }
.veti-bot-panel { max-height: min(640px, calc(100dvh - 120px)); transform-origin: bottom right; }
.veti-bot-header, .veti-bot-footer { flex-shrink: 0; }
.veti-bot-body { min-height: 0; overscroll-behavior: contain; }
.veti-bot-header > button { min-width: 44px; min-height: 44px; }
.veti-options button { min-height: 44px; }
[data-bot-response] > .veti-message { animation: veti-message-in 240ms ease-out; }
@keyframes veti-message-in {
  from { opacity: .3; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

@media (hover: hover) and (pointer: fine) {
  .trust-feature:hover .trust-icon { background: var(--forest); color: var(--white); transform: rotate(-6deg); }
  .stats-grid article:hover { box-shadow: 0 8px 24px rgba(21, 59, 39, .08); border-color: #aac5ae; }
  .product-card:hover .product-explore-link > span[aria-hidden] { transform: translateX(5px); }
  .button:hover > span, .text-link:hover > span { transform: translateX(4px); }
  .button > span { display: inline-block; transition: transform 200ms ease; }
}

@media (max-width: 680px) {
  .product-selector { gap: 7px; }
  .product-selector button { padding: 10px 13px; font-size: .76rem; }
  .product-grid.is-filtered .product-card { display: block; min-height: 0; padding: 26px; }
  .product-grid.is-filtered .product-card h3 { font-size: 2rem; }
  .product-grid.is-filtered .product-card ul { padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .product-grid.is-filtered .product-card li { font-size: .85rem; }
  .veti-back-top { left: 14px; bottom: max(20px, env(safe-area-inset-bottom)); padding: 9px 13px; }
  .veti-intro-action { font-size: .63rem; min-height: 44px; margin-top: 3px; }
  .veti-bot-panel { max-height: calc(100dvh - 104px); }
  .footer-bottom { padding-bottom: 96px; }
}

html.veti-motion-paused,
.veti-motion-paused *, .veti-motion-paused *::before, .veti-motion-paused *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.veti-motion-paused .mascot-orbit, .veti-motion-paused .mascot-stage::after { transform: none !important; }
.veti-motion-paused .veti-mascot-blink { display: none; }
.veti-page-idle *, .veti-page-idle *::before, .veti-page-idle *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  .hero-glow, .mascot-orbit, .mascot-stage::after, [data-bot-response] > .veti-message { animation: none; transform: none; }
}
@media print {
  .veti-bot, .veti-back-top, .veti-reading-progress, .veti-motion-toggle, .product-selector, .product-selector-status, .veti-intro-action { display: none !important; }
  .site-chrome-sticky { position: static; }
  #product-lines .product-card[hidden] { display: block !important; }
}
