* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }

@keyframes floatpop { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes fadein { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes spin-slow { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes drift { 0%,100% { transform: translate(0,0); } 50% { transform: translate(10px,-14px); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes bobble { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-9px) rotate(3deg); } }
@keyframes heartbeat { 0%,100% { transform: scale(1); } 15% { transform: scale(1.25); } 30% { transform: scale(1); } 45% { transform: scale(1.18); } 60% { transform: scale(1); } }
@keyframes twinkle { 0%,100% { transform: scale(1) rotate(0); opacity:1; } 50% { transform: scale(1.3) rotate(18deg); opacity:.7; } }
@keyframes floatY { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes floatY2 { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-22px) rotate(8deg); } }
@keyframes popIn { 0% { opacity:0; transform: scale(.8) translateY(18px); } 60% { transform: scale(1.04) translateY(-2px); } 100% { opacity:1; transform: scale(1) translateY(0); } }
@keyframes wiggle { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-8deg); } 75% { transform: rotate(8deg); } }
@keyframes shimmer { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }
@keyframes popUp { 0% { opacity:0; transform: translateY(26px) scale(.95); } 100% { opacity:1; transform:none; } }
@keyframes drawerIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes badgePop { 0% { transform: scale(.4); } 60% { transform: scale(1.2); } 100% { transform: scale(1); } }

.lp-marquee { display:inline-flex; white-space:nowrap; animation: marquee 22s linear infinite; }
.lp-logo { transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
.lp-logo:hover { animation: wiggle .5s ease; }
.lp-pop:hover { transform: translateY(-6px) scale(1.015) !important; }
.lp-lift { transition: transform .28s cubic-bezier(.34,1.56,.64,1), box-shadow .28s ease; }
.lp-lift:hover { transform: translateY(-7px); box-shadow: 0 18px 36px rgba(120,90,50,.16); }
.lp-btn { transition: transform .22s cubic-bezier(.34,1.56,.64,1), box-shadow .22s ease, filter .22s ease; }
.lp-btn:hover { transform: translateY(-3px) scale(1.03); filter: brightness(1.04); }
.lp-btn:active { transform: translateY(-1px) scale(.99); }
.lp-prod-img { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.lp-prod:hover { transform: translateY(-6px); box-shadow: 0 18px 36px rgba(120,90,50,.14); }
.lp-prod:hover .lp-prod-img { transform: scale(1.07); }
.lp-prod:hover .lp-prod-heart { animation: heartbeat 1.3s ease infinite; color:#F8262F !important; }
.lp-igtile .lp-igover { opacity:0; transition: opacity .25s ease; }
.lp-igtile:hover .lp-igover { opacity:1; }
.lp-igtile:hover { transform: scale(1.04); }
.lp-libro img { transition: transform .2s ease, box-shadow .2s ease; }
.lp-libro:hover img { transform: scale(1.04); box-shadow: 0 8px 20px rgba(0,0,0,.28); }

.lp-catgrid > div { animation: popUp .55s cubic-bezier(.34,1.56,.64,1) both; }
.lp-catgrid > div:nth-child(2){ animation-delay:.07s; }
.lp-catgrid > div:nth-child(3){ animation-delay:.14s; }
.lp-catgrid > div:nth-child(4){ animation-delay:.21s; }
.lp-catgrid > div:nth-child(5){ animation-delay:.28s; }
.lp-catgrid > div:nth-child(6){ animation-delay:.35s; }
.lp-catgrid > div:nth-child(7){ animation-delay:.42s; }
#lp-root[data-anim="off"] .lp-catgrid > div { animation: none !important; }

.lp-card-icon { transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
.lp-svc:hover > span:first-child { animation: wiggle .55s ease; }
.lp-modal-x { display:none; }

.lp-cart-btn { position:relative; display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; border:2px solid #E5D6BE; background:#FFF; cursor:pointer; color:#233246; flex:none; transition:transform .2s ease, box-shadow .2s ease; }
.lp-cart-btn:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,.10); }

.lp-floaty { animation: floatY 6s ease-in-out infinite; }
.lp-floaty2 { animation: floatY2 7.5s ease-in-out infinite; }
.lp-heart { animation: heartbeat 2.4s ease-in-out infinite; }
.lp-twinkle { animation: twinkle 3s ease-in-out infinite; }
.lp-bobble { animation: bobble 4s ease-in-out infinite; }

#lp-root[data-anim="off"] .lp-anim, #lp-root[data-anim="off"] .lp-marquee,
#lp-root[data-anim="off"] .lp-floaty, #lp-root[data-anim="off"] .lp-floaty2,
#lp-root[data-anim="off"] .lp-heart, #lp-root[data-anim="off"] .lp-twinkle,
#lp-root[data-anim="off"] .lp-bobble { animation: none !important; }
#lp-root[data-anim="off"] .lp-decor { display: none !important; }

.lp-prod { cursor:pointer; transition:transform .18s ease, box-shadow .18s ease; }

/* ===== Responsive: tablet & down ===== */
@media (max-width: 1000px) {
  #lp-root #lp-header > div { flex-wrap:nowrap !important; }
  #lp-root #lp-header nav { flex-wrap:nowrap !important; min-width:0 !important; }
  #lp-root .lp-navlinks { display:none !important; }
  #lp-root .lp-burger { display:flex !important; }
  #lp-root #lp-header nav > a.lp-btn { display:none !important; }
  #lp-root #lp-header > div:first-child { padding:6px 14px !important; }
  #lp-root #lp-header .lp-logo { height:62px !important; }
  #lp-root section.lp-hero { grid-template-columns:1fr !important; gap:30px !important; padding:36px 20px 24px !important; }
  #lp-root section.lp-hero h1 { font-size:36px !important; line-height:1.12 !important; }
  #lp-root .lp-2 { grid-template-columns:1fr !important; gap:28px !important; }
  #lp-root .lp-3, #lp-root .lp-4, #lp-root .lp-trust { grid-template-columns:repeat(2,1fr) !important; }
  #lp-root .lp-gal { grid-template-columns:repeat(3,1fr) !important; }
  #lp-root .lp-foot { grid-template-columns:repeat(2,1fr) !important; row-gap:28px !important; }
  #lp-root h2 { font-size:28px !important; }
  #lp-root .lp-sec { padding-top:48px !important; padding-bottom:48px !important; padding-left:20px !important; padding-right:20px !important; }
  #lp-root .lp-pad { padding:48px 20px !important; }
}
/* ===== Responsive: phone ===== */
@media (max-width: 560px) {
  #lp-root section.lp-hero h1 { font-size:30px !important; }
  #lp-root section.lp-hero p { font-size:16px !important; }
  #lp-root .lp-3, #lp-root .lp-4, #lp-root .lp-trust, #lp-root .lp-foot { grid-template-columns:1fr !important; }
  #lp-root .lp-gal { grid-template-columns:repeat(2,1fr) !important; }
  #lp-root h2 { font-size:25px !important; }
  #lp-root .lp-anc { font-size:12.5px !important; padding:8px 14px !important; }
  #lp-root .lp-modalwrap { padding:0 !important; }
  #lp-root .lp-modalgrid { grid-template-columns:1fr !important; max-height:100dvh !important; height:100dvh !important; border-radius:0 !important; }
  #lp-root .lp-modal-x { display:flex !important; }
  #lp-root .lp-modalimg { min-height:240px !important; max-height:38vh !important; }
  #lp-root .lp-combo { padding:32px 22px !important; gap:22px !important; }
  #lp-root .lp-libro-row { flex-direction:column !important; align-items:flex-start !important; gap:16px !important; }
  #lp-root #lp-header nav { gap:12px !important; }
  #lp-root #lp-header > div { gap:10px !important; }
  #lp-root #tallas .lp-lift { padding:20px 18px !important; }
  #lp-root #tallas .lp-lift [style*="repeat"], #lp-root #tallas .lp-lift > div[style*="1fr 1fr 1fr 1fr"] { font-size:13px !important; }
}
@media (max-width: 380px) {
  #lp-root #lp-header .lp-logo { height:54px !important; }
  #lp-root .lp-cart-btn { width:42px !important; height:42px !important; }
}
