/* hero.css — homepage hero + carousel controls
   (split from storefront.css, move-only). */

/* hero */
.hero { border-radius:var(--radius-lg); overflow:hidden; position:relative; min-height:440px;
  display:flex; align-items:center; margin:var(--gap) 0; }
.hero img.hero__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero__panel { position:relative; padding:2rem; max-width:560px; margin-left:6%;
  background:rgba(250,247,242,.86); border-radius:var(--radius); }
.hero__panel h1 { font-size:clamp(1.8rem,4vw,3rem); color:var(--green); }

/* hero slider crossfade */
.hero__bg { opacity:0; transition:opacity .8s ease; }
.hero__bg.on { opacity:1; }
@media (prefers-reduced-motion: reduce) { .hero__bg { transition:none; } }

/* hero carousel controls */
.hero__panel { z-index:2; }
.hero__nav { position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  border:0; border-radius:999px; cursor:pointer; color:var(--green); font-size:1.7rem;
  line-height:1; background:rgba(250,247,242,.82); box-shadow:var(--shadow); }
.hero__nav:hover { background:rgba(250,247,242,.97); }
.hero__nav--prev { left:12px; }
.hero__nav--next { right:12px; }
.hero__dots { position:absolute; z-index:3; left:0; right:0; bottom:14px;
  display:flex; gap:.5rem; justify-content:center; }
.hero__dot { width:11px; height:11px; padding:0; border:0; border-radius:999px; cursor:pointer;
  background:rgba(250,247,242,.55); box-shadow:0 0 0 1px rgba(0,0,0,.15); }
.hero__dot.on { background:var(--green); }
@media (max-width:800px) { .hero__nav { display:none; } }
@media (max-width:800px) { .hero__panel { margin:1rem; padding:1.25rem; } }
