:root {
  --tasu-banner-height: 70px;
}

/* ===============================
   Softrヘッダーは潰す（ページ内 header は除外）
=============================== */
header:not(.page-subheader):not(.page-header):not(.section__head):not(.job-header):not(.post-header):not(.job-block__head):not(.top-header):not(.shop-market-header):not(.shop-detail-header):not(.tasu-mobile-page-head):not(.tasu-mobile-shell-head):not(.chat-mobile-head):not(.chat-hub-head):not(.tasful-market-header):not(.tasful-market-mall-header):not(.tasful-market-pc-shelf__head):not(.market-header):not([data-tasful-market-header]) {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* ===============================
   余白リセット
=============================== */
html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

/* ===============================
   黒バー (宇宙背景を隠す設定)
=============================== */
.tasu-banner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--tasu-banner-height);
  display: flex;
  align-items: center;
  background: #020617 !important;
  overflow: hidden;
  z-index: 10000 !important;
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.25),
    inset 0 -1px 0 rgba(255, 255, 255, 0.06);
}

.tasu-banner::after,
.tasu-banner::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, #22c55e, #06b6d4, #3b82f6, #8b5cf6, #ec4899, #f59e0b, #22c55e);
  background-size: 200%;
  animation: rainbow-flow 6s linear infinite;
  z-index: 10001;
}

.tasu-banner::after {
  top: 0;
}

.tasu-banner::before {
  bottom: 0;
}

.tasu-text {
  white-space: nowrap;
  display: inline-block;
  padding-left: 100%;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #e5e7eb;
  animation: tasu-scroll 25s linear infinite;
}

.logo {
  font-weight: 900;
  background: linear-gradient(90deg, #22c55e, #06b6d4, #3b82f6, #8b5cf6, #ec4899, #f59e0b, #22c55e);
  background-size: 300%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: rainbow-text 6s linear infinite;
}

.link {
  margin: 0 10px;
  padding: 8px 18px;
  border-radius: 999px;
  color: #fff !important;
  text-decoration: none;
  font-weight: 800;
  background: linear-gradient(90deg, #22c55e, #3b82f6);
  box-shadow: 0 0 15px rgba(34, 197, 94, 0.4);
  transition: 0.25s;
  display: inline-block;
}

.link.accent {
  background: linear-gradient(90deg, #ec4899, #8b5cf6);
  box-shadow: 0 0 15px rgba(236, 72, 153, 0.4);
}

@keyframes tasu-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

@keyframes rainbow-text {
  0% {
    background-position: 0%;
  }

  100% {
    background-position: 300%;
  }
}

@keyframes rainbow-flow {
  0% {
    background-position: 0%;
  }

  100% {
    background-position: 200%;
  }
}

.tasu-banner:hover .tasu-text {
  animation-play-state: paused;
}

body {
  padding-top: var(--tasu-banner-height) !important;
}

/* ショップ詳細のみ：黒バナー余白を解除（修理・清掃・建設には影響なし） */
body.shop-detail-page,
body.biz-detail-page--store-shop,
body.tasful-market-page {
  padding-top: 0 !important;
}

body.shop-detail-page .tasu-banner,
body.biz-detail-page--store-shop .tasu-banner,
body.shop-detail-page [data-biz-detail-simple-banner],
body.biz-detail-page--store-shop [data-biz-detail-simple-banner] {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .tasu-text,
  .tasu-banner::after,
  .tasu-banner::before,
  .logo {
    animation: none;
  }
}

[data-block-id="custom-code9"] {
  background: #020617 !important;
}
