.carousel-wrap { position: relative; width: 100%; max-width: 800px; margin: 1.5rem auto 0.5rem; }
  .carousel-container { position: relative; overflow: hidden; aspect-ratio: 4/3; cursor: pointer; border-radius: 2px; }
  .carousel-item { position: absolute; inset: 0; opacity: 0; transition: opacity 0.6s; display: flex; align-items: center; justify-content: center; }
  .carousel-item.active { opacity: 1; }
  .carousel-item img { max-width: 100%; max-height: 100%; object-fit: contain; }
  .carousel-item a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
  .zenith-wrap { text-align: center; margin: 0.5rem 0 1rem; }
  .zenith-btn { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.4rem 1.2rem; border: 1px solid #333; border-radius: 3px; font-size: 0.9rem; text-decoration: none; cursor: pointer; background: none; font-family: inherit; }
  .zenith-btn:hover { background: #333; color: #fff; }
  .zenith-btn svg { width: 16px; height: 16px; }
  .zenith-btn:hover svg { stroke: #fff; }

  /* basket */
  .basket-indicator { position: fixed; top: 0.5rem; right: 0.5rem; font-size: 0.8rem; z-index: 101; }
  .basket-indicator a { text-decoration: none; padding: 0.3rem 0.5rem; background: rgba(255,255,255,0.9); border-radius: 4px; border: 1px solid #ddd; }
  #basket-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.3); z-index: 99; }
  #basket-overlay.open { display: block; }
  #basket-panel { display: none; position: fixed; top: 2.5rem; right: 0.5rem; background: #fff; border: 1px solid #ddd; border-radius: 4px; padding: 1rem; min-width: 240px; z-index: 100; box-shadow: 0 2px 12px rgba(0,0,0,0.12); }
  #basket-panel.open { display: block; }
  #basket-panel h3 { margin: 0 0 0.5rem; font-size: 0.9rem; }
  #basket-items { list-style: none; padding: 0; margin: 0 0 0.5rem; }
  #basket-items li { font-size: 0.8rem; margin: 0.2rem 0; }
  #basket-items .remove { cursor: pointer; opacity: 0.5; margin-left: 0.5rem; }
  .basket-empty { font-size: 0.8rem; opacity: 0.5; }
  @media (prefers-color-scheme: dark) {
    .zenith-btn { border-color: #888; }
    .zenith-btn:hover { background: #888; color: #111; }
    .basket-indicator a { background: rgba(30,30,30,0.9); border-color: #444; }
    #basket-panel { background: #1a1a1a; border-color: #444; color: #ddd; }
    #basket-panel a, #basket-panel .remove { color: #ddd; }
  }

  .home-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.75rem; margin: 2rem 0; }
  .home-gallery a { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 2px; }
  .home-gallery img { width: 100%; height: 100%; object-fit: cover; }
