/* ===== Tierra Viva — estilos compartidos ===== */
:root { --ink:#161513; --paper:#FBFAF7; --sage:#7C8471; --clay:#B0644B; }
html { scroll-behavior: smooth; }
body { background:#fff; }
::selection { background:#161513; color:#fff; }

/* reveal on scroll */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .5s ease, transform .5s ease; }
.reveal.in { opacity:1; transform:none; }
.fade { opacity:0; transform:translateY(16px); transition:opacity .45s cubic-bezier(.16,1,.3,1), transform .45s cubic-bezier(.16,1,.3,1); }
.fade.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .reveal, .fade { transition:none; opacity:1; transform:none; } }

/* headline word reveal */
@keyframes wordReveal { from { opacity:0; transform:translateY(100%); filter:blur(4px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
.word { display:inline-block; overflow:hidden; vertical-align:bottom; }
.word > span { display:inline-block; animation:wordReveal .8s cubic-bezier(.16,1,.3,1) both; }

/* btn-primary (shine) */
.btn-primary { position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease; }
.btn-primary::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg, transparent 0%, rgba(0,0,0,0.05) 50%, transparent 100%); transform:translateX(-100%); transition:transform .5s ease; }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 6px 20px rgba(0,0,0,0.15); }
.btn-primary:hover::before { transform:translateX(100%); }
.btn-primary:active { transform:translateY(0); box-shadow:0 2px 8px rgba(0,0,0,0.1); }

.card-media { transition:transform .7s cubic-bezier(.16,1,.3,1); }

/* botón favorito */
.tv-fav-btn.on { color:#B0644B; }
.tv-fav-btn.on svg { fill:#B0644B; }
#tv-fav-btn.on { color:#B0644B; }
#tv-fav-btn.on svg { fill:#B0644B; }
.no-scrollbar::-webkit-scrollbar { display:none; }
.no-scrollbar { -ms-overflow-style:none; scrollbar-width:none; }

/* ===== color & vida ===== */
.bg-sage-soft  { background:#EDF1E9; }
.bg-blush-soft { background:#F7ECE7; }
.bg-honey-soft { background:#FBF2E1; }
.bg-mist-soft  { background:#EAF0F0; }
.grad-honey  { background:linear-gradient(135deg,#FBF2E1 0%,#F7ECE7 100%); }
.grad-nature { background:linear-gradient(135deg,#EDF1E9 0%,#EAF0F0 100%); }
.text-grad { background:linear-gradient(100deg,#B0644B,#7C8471); -webkit-background-clip:text; background-clip:text; color:transparent; }

/* etiqueta / cartelito (estilo editorial, no "IA") */
.eyebrow { font-family:'Fraunces', serif; font-style:italic; font-weight:400; letter-spacing:0; text-transform:none; color:#B0644B; font-size:1.05rem; line-height:1.2; display:inline-flex; align-items:center; gap:.5rem; }
.eyebrow--muted { color:#7C8471; }

/* Ken Burns lento para fotos lifestyle */
@keyframes kenburns { 0%{transform:scale(1)} 100%{transform:scale(1.08)} }
.kenburns { animation:kenburns 16s ease-in-out infinite alternate; }

/* halos decorativos */
.blob { position:absolute; border-radius:9999px; filter:blur(60px); opacity:.5; z-index:0; pointer-events:none; }

/* marquee */
.marquee-track { display:inline-flex; white-space:nowrap; animation:marquee 30s linear infinite; }
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* cart drawer */
.drawer { transition:transform .4s cubic-bezier(.16,1,.3,1); }
.drawer.closed { transform:translateX(100%); }
.drawer-mask { transition:opacity .3s ease; }
