/* ===== Taimelamp.ee – Homepage Styles (scoped) ===== */

:root {
  --tl-primary: #6366f1;
  --tl-primary-600: #4f46e5;
  --tl-accent: #10b981;
  --tl-bg: #0f0f23;
  --tl-bg-soft: #141430;
  --tl-surface: #171a33;
  --tl-surface-2: #0d0f22;
  --tl-border: rgba(255,255,255,0.12);
  --tl-text: #ffffff;
  --tl-muted: #a1a1aa;
}

/* Container helper */
.taimelamp-home .container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Global text reset in this scope */
.taimelamp-home {
  color: var(--tl-text);
  background: var(--tl-bg);
}

/* Buttons */
.taimelamp-home .btn {
  display: inline-flex; align-items: center; gap: .5rem;
  font-weight: 600; text-decoration: none; cursor: pointer;
  padding: .85rem 1.25rem; border-radius: 12px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  border: 1px solid transparent;
}
.taimelamp-home .btn i { margin-right: .25rem; }
.taimelamp-home .btn.primary {
  background: linear-gradient(135deg, var(--tl-primary) 0%, var(--tl-accent) 100%);
  color: #fff;
  box-shadow: 0 12px 30px rgba(79,70,229,.35);
}
.taimelamp-home .btn.primary:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(79,70,229,.45); }
.taimelamp-home .btn.outline {
  background: transparent; color: #fff; border-color: var(--tl-border);
  backdrop-filter: blur(8px);
}
.taimelamp-home .btn.outline:hover { border-color: var(--tl-primary); color: #fff; background: rgba(99,102,241,.08); }
.taimelamp-home .btn.small { padding: .5rem .9rem; font-size: .9rem; background: linear-gradient(135deg, var(--tl-accent), #2dd4bf); color: #0b1220; border: none; }

/* HERO */
.taimelamp-home .tl-hero {
  position: relative;
  min-height: 68vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--tl-border);
}
.taimelamp-home .tl-hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1200px 600px at -10% -20%, rgba(99,102,241,.35), transparent 60%),
    radial-gradient(1200px 600px at 110% 120%, rgba(16,185,129,.25), transparent 60%),
    linear-gradient(135deg, var(--tl-bg) 0%, var(--tl-surface) 100%);
  filter: saturate(110%);
  animation: tl-float 12s ease-in-out infinite;
}
@keyframes tl-float { 0%,100%{transform: translateY(0)} 50%{transform: translateY(-10px)} }
.taimelamp-home .tl-hero__content{ position:relative; z-index:2; text-align:center; padding: 3rem 0; max-width: 780px; }
.taimelamp-home .tl-hero__content h1{ font-size: clamp(2rem, 5vw, 3.2rem); line-height:1.1; margin:0 0 1rem; }
.taimelamp-home .tl-hero__content p{ color:var(--tl-muted); font-size: 1.1rem; margin: 0 0 2rem; }
.taimelamp-home .tl-hero__cta{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.taimelamp-home .tl-hero__partners{ margin-top:1.25rem; display:flex; gap:1.5rem; justify-content:center; align-items:center; opacity:.85; }
.taimelamp-home .tl-hero__partners img{ height:36px; filter: grayscale(100%) brightness(1.1); transition: all .25s ease; }
.taimelamp-home .tl-hero__partners img:hover{ filter: grayscale(0%) brightness(1.15); transform: translateY(-2px); }

/* TRUST */
.taimelamp-home .tl-trust{ background: var(--tl-surface-2); border-top:1px solid var(--tl-border); border-bottom:1px solid var(--tl-border); }
.taimelamp-home .tl-trust__grid{
  display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; padding: 2rem 0;
}
.taimelamp-home .tl-trust__item{
  display:flex; gap:.9rem; align-items:flex-start; background: rgba(255,255,255,.04);
  border:1px solid var(--tl-border); border-radius:14px; padding:1rem 1rem;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.taimelamp-home .tl-trust__item i{ font-size:1.25rem; color: var(--tl-accent); margin-top:.2rem; }
.taimelamp-home .tl-trust__item strong{ display:block; font-weight:700; margin-bottom:.15rem; }
.taimelamp-home .tl-trust__item span{ color: var(--tl-muted); font-size:.95rem; }
.taimelamp-home .tl-trust__item:hover{ transform: translateY(-3px); border-color: var(--tl-primary); background: rgba(99,102,241,.07); }

/* Sections */
.taimelamp-home .tl-section{ padding: 3.5rem 0; }
.taimelamp-home .tl-section__title{ text-align:center; font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 2rem; background: linear-gradient(135deg, #fff 0%, #d1d5db 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.taimelamp-home .tl-section__lead{ text-align:center; color: var(--tl-muted); max-width:720px; margin: -1rem auto 2rem; }

/* Categories grid */
.taimelamp-home .categories-grid{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
  align-items:stretch;
}
@media (max-width: 1024px){ .taimelamp-home .categories-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){ .taimelamp-home .categories-grid{ grid-template-columns: 1fr; } }

.taimelamp-home .category-card{
  display:flex; flex-direction:column; height:100%;
  background: rgba(255,255,255,.04);
  border:1px solid var(--tl-border);
  border-radius:18px; overflow:hidden;
  text-decoration:none; color: inherit;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
  backdrop-filter: blur(8px);
}
.taimelamp-home .category-card:hover{ transform: translateY(-6px); border-color: var(--tl-primary); box-shadow: 0 16px 40px rgba(0,0,0,.25); background: rgba(99,102,241,.06); }
.taimelamp-home .category-image{ position:relative; aspect-ratio: 16/10; overflow:hidden; }
.taimelamp-home .category-image img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .35s ease; }
.taimelamp-home .category-card:hover .category-image img{ transform: scale(1.06); }
.taimelamp-home .img-fallback{ width:100%; height:100%; background: linear-gradient(135deg, var(--tl-primary), var(--tl-accent)); opacity:.25; }
.taimelamp-home .category-info{ padding: 1.1rem 1.25rem; display:flex; flex-direction:column; gap:.6rem; flex:1; }
.taimelamp-home .category-info h3{ margin:0; font-size:1.15rem; }
.taimelamp-home .category-info p{ margin:0; color: var(--tl-muted); line-height:1.55; }
.taimelamp-home .category-info .btn.small{ margin-top:auto; align-self:flex-start; }

/* Woo product grid container spacing */
.taimelamp-home .wc-grid ul.products{ margin-top: .5rem; }
.taimelamp-home .wc-grid ul.products li.product{ background: rgba(255,255,255,.035); border:1px solid var(--tl-border); border-radius: 14px; padding: .75rem; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.taimelamp-home .wc-grid ul.products li.product:hover{ transform: translateY(-4px); border-color: var(--tl-primary); background: rgba(99,102,241,.06); }
.taimelamp-home .tl-actions{ text-align:center; margin-top: 1.25rem; }

/* Upsell strip */
.taimelamp-home .tl-upsell .upsell-grid{
  display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(16px,2vw,24px);
}
@media (max-width: 900px){ .taimelamp-home .tl-upsell .upsell-grid{ grid-template-columns: 1fr; } }

/* Partners */
.taimelamp-home .tl-partners{ background: var(--tl-surface-2); border-top:1px solid var(--tl-border); border-bottom:1px solid var(--tl-border); }
.taimelamp-home .partner-logos{ display:flex; gap:2rem; justify-content:center; align-items:center; flex-wrap:wrap; margin-top: .75rem; }
.taimelamp-home .partner-logos img{ height:48px; filter: grayscale(100%) brightness(1.05); opacity:.85; transition: all .25s ease; }
.taimelamp-home .partner-logos img:hover{ filter: grayscale(0%) brightness(1.1); opacity:1; transform: translateY(-2px); }

/* Final CTA */
.taimelamp-home .tl-final-cta{
  text-align:center; padding: 4rem 0; position:relative; overflow:hidden;
  background: linear-gradient(135deg, rgba(99,102,241,.15), rgba(16,185,129,.15));
  border-top:1px solid var(--tl-border);
}
.taimelamp-home .tl-final-cta h2{ font-size: clamp(1.6rem, 3vw, 2.1rem); margin:0 0 .75rem; }
.taimelamp-home .tl-final-cta p{ color: var(--tl-muted); margin: 0 auto 1.25rem; max-width: 640px; }
.taimelamp-home .tl-cta-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* Reveal on scroll (used by JS) */
.taimelamp-home .reveal{ opacity:0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.taimelamp-home .reveal.in-view{ opacity:1; transform: translateY(0); }

/* Responsive hero adjustments */
@media (max-width: 760px){
  .taimelamp-home .tl-hero{ min-height: 60vh; }
  .taimelamp-home .tl-hero__cta{ flex-direction: column; }
}