/* ── Reset & base ─────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
:root {
  --c-green:    #295319;
  --c-green2:   #84ca7f;
  --c-border:   #efefef;
  --c-border2:  #eee;
  --c-text:     #333;
  --c-muted:    #999;
  --c-bg:       #fff;
  --c-red:      #f00;
  --max-w:      1240px;
  --sidebar-w:  220px;
  --content-w:  1000px;
}
html { font-size: 16px; }
body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  background: #fff;
  color: var(--c-text);
  line-height: 1.7;
}
a { color: var(--c-green); text-decoration: none; }
a:hover { text-decoration: underline; color: var(--c-green); }
img { max-width: 100%; height: auto; }
ul, ol { padding: 0; margin: 0; list-style: none; }

/* ── Utility classes (original site compat) ───── */
.cf::after { content: "."; display: block; clear: both; height: 0; visibility: hidden; }
.cf { min-height: 1px; }
.mb5  { margin-bottom: 5px  !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.taC  { text-align: center; }
.fwB  { font-weight: bold; }
.dspI  { display: inline; }
.dspIb { display: inline-block; }
.dspB  { display: block; }
.nt   { }
.notice { color: var(--c-red); }
.sectionTitle { font-size: 26px; color: #939393; }

/* ── Layout ───────────────────────────────────── */
.container { max-width: var(--max-w); margin: 0 auto; padding: 0 10px; }
.site-wrap  { min-height: 100vh; }
.site-main  { padding: 20px 0 40px; }

/* ── Info band ────────────────────────────────── */
#informationBand {
  background: var(--c-green);
  font-size: 14px;
  color: #fff;
  padding: 5px 0;
  text-align: center;
}

/* ── Header ───────────────────────────────────── */
.site-header {
  border-bottom: 1px solid var(--c-border);
}
.site-header .inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 10px;
}
.site-branding {
  text-align: center;
  padding: 10px 0 5px;
}
.site-title {
  font-size: 0;
  line-height: 0;
}
.site-title a {
  display: inline-block;
  max-width: 500px;
}
.site-title a img {
  max-width: 100%;
  height: auto;
}
.site-logo-text {
  font-size: 24px;
  font-weight: bold;
  color: var(--c-green);
  text-decoration: none;
}

/* ── Navigation ───────────────────────────────── */
.site-nav {
  background: #fff;
  border-top: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
}
.site-nav .inner {
  max-width: var(--max-w);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}
.site-nav a {
  display: block;
  padding: 10px 20px;
  font-size: 14px;
  color: var(--c-text);
  border-right: 1px solid var(--c-border);
  text-decoration: none;
}
.site-nav a:hover { background: #f5f5f5; }
.site-nav .current-menu-item a,
.site-nav a.current { font-weight: bold; }

/* ── Breadcrumb ───────────────────────────────── */
.breadcrumb {
  font-size: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--c-muted);
  color: var(--c-muted);
  line-height: 1em;
  margin-bottom: 15px;
}
.breadcrumb a { color: var(--c-muted); }
.breadcrumb a:hover { color: var(--c-green); }
.breadcrumb .sep { margin: 0 5px; }

/* ── Page layout: sidebar + content ──────────── */
.page-with-sidebar {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.page-sidebar {
  width: var(--sidebar-w);
  flex-shrink: 0;
}
.page-content {
  flex: 1;
  min-width: 0;
}

/* ── Sidebar: beetle category ─────────────────── */
#beatleCategory {
  width: var(--sidebar-w);
  font-size: 14px;
  margin-bottom: 20px;
}
.beatleCategory__list__title {
  font-size: 14px;
  color: #fff;
  background: var(--c-green);
  padding: 3px 5px;
}
.beatleCategory__list__content,
.beatleName {
  padding: 0;
  list-style: none;
}
.beatleName > li {
  position: relative;
  padding: 2px 0 2px 1em;
  font-size: 14px;
  border-bottom: 1px dotted var(--c-border);
}
.beatleName > li::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border: 0.3em solid transparent;
  border-left: 0.4em solid var(--c-green2);
  content: "";
}
.beatleName > li a { color: var(--c-text); font-size: 14px; }
.beatleName > li a:hover { color: var(--c-green); text-decoration: none; }

/* sidebar login box */
.side-login { list-style: none; padding: 0; }
.loginbox {
  font-size: 14px !important;
  padding: 10px;
  border: solid 4px #333;
  background: #eee;
  margin-bottom: 10px;
}
.loginbox input { padding: 5px; }
.loginbox input[type=submit] { display: block; width: 100%; }
.joinBtn {
  display: block;
  color: #fff;
  background: #ff7800;
  text-decoration: none;
  padding: 8px;
  text-align: center;
  margin-top: 5px;
}
.asideBnr { list-style: none; padding: 0; }
.asideBnr li { margin-bottom: 5px; }
.asideBnr img { width: 100%; }

/* ── Beetle type icon grid (top page) ─────────── */
.beetleType {
  grid-template-columns: repeat(6, 1fr);
  display: grid;
  margin-bottom: 20px;
}
.beetleType__box {
  font-size: 14px;
  border: 1px solid var(--c-border2);
  margin: 0 2px 2px 0;
  text-align: center;
}
.beetleType__box a {
  display: block;
  padding: 5px;
  color: var(--c-text);
  text-decoration: none;
}
.beetleType__box a:hover { background: #f5f5f5; }
.beetleType__box dt {
  float: left;
  border-right: 1px solid var(--c-border2);
  padding: 2px;
}
.beetleType__box dd {
  float: left;
  line-height: 50px;
  padding: 0 5px;
}

/* ── News area (2 columns) ────────────────────── */
.newsArea { margin-bottom: 20px; }
.newsArea::after { content: ""; display: table; clear: both; }
.newsArea__box { width: 49%; float: right; }
.newsArea__box:nth-child(odd) { float: left; }
.newsArea__box__title {
  background: var(--c-green);
  padding: 5px 10px;
  font-size: 18px;
  color: #fff;
  margin: 0;
}
.newsArea__box__box {
  padding: 15px;
  border-left: 1px solid var(--c-border);
  border-right: 1px solid var(--c-border);
  border-bottom: 1px solid var(--c-border);
  height: 200px;
  font-size: 13px;
  overflow-y: auto;
}

/* ── News list ────────────────────────────────── */
.newsList { padding: 0; list-style: none; }
.newsList li {
  border-bottom: 1px dotted var(--c-border);
  padding-bottom: 5px;
  margin-bottom: 5px;
  font-size: 13px;
}
.newsList li a { color: var(--c-text); }
.newsList li a:hover { color: var(--c-green); }
.newsList__date { color: var(--c-muted); font-size: 12px; margin-right: 8px; }

/* ── Stock item horizontal scroll ─────────────── */
.stockItem {
  padding: 0;
  list-style: none;
  overflow-x: scroll;
  white-space: nowrap;
  margin-bottom: 20px;
}
.stockItem li {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px dotted var(--c-border);
  width: 125px;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  vertical-align: top;
  font-size: 12px;
}
.stockItem li img { width: 115px !important; height: 115px !important; object-fit: cover; }

/* ── Index item grid (4 columns) ──────────────── */
#indexItem { margin-bottom: 20px; }
#indexItem::after { content: ""; display: table; clear: both; }
.indexItem__list {
  width: 22%;
  float: left;
  margin-right: 4%;
  font-size: 14px;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}
.indexItem__list:nth-child(4n)   { margin-right: 0; }
.indexItem__list:nth-child(4n+1) { clear: both; }
.indexItem__list a { color: var(--c-text); text-decoration: none; }
.indexItem__list a:hover { opacity: .85; }
.indexItem__list__sold {
  font-size: 16px;
  position: absolute !important;
  color: #fff;
  background: var(--c-red);
  padding: 2px 20px;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -200%) rotate(-30deg);
  -webkit-transform: translate(-50%, -200%) rotate(-30deg);
}
.indexItem__list--member { opacity: 0.6; }
.indexItem__list__thumb { width: 100%; }
.indexItem__list__thumb img { width: 100%; height: auto; }

/* ── Item tags ────────────────────────────────── */
.itemTag {
  display: inline-block;
  padding: 3px 5px;
  color: #fff;
  border-radius: 4px;
  line-height: 1em;
  font-size: 11px;
}
.itemTag__imago  { background: #00c2c2; }
.itemTag__larva  { background: #ff00de; }
.itemTag__pair   { background: #0060c0; }
.itemTag__male   { background: #0080ff; }
.itemTag__female { background: #ff60a0; }

/* ── Beetle archive layout ────────────────────── */
.archive-beetle-layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.archive-beetle-sidebar {
  width: var(--sidebar-w);
  flex-shrink: 0;
}
.archive-beetle-main {
  flex: 1;
  min-width: 0;
}

/* beetle archive filter */
.beetle-filter-form { font-size: 14px; margin-bottom: 15px; }
.beetle-filter-form select,
.beetle-filter-form input[type=text] {
  padding: 4px 6px;
  border: 1px solid #ccc;
  font-size: 14px;
  margin-right: 6px;
  margin-bottom: 6px;
}
.beetle-filter-form button {
  padding: 5px 14px;
  background: var(--c-green);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 14px;
}
.beetle-filter-form button:hover { background: #1e3d13; }

/* beetle grid */
.beetle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
.beetle-card {
  font-size: 13px;
  border: 1px solid var(--c-border2);
  overflow: hidden;
}
.beetle-card a { color: var(--c-text); text-decoration: none; display: block; }
.beetle-card a:hover { opacity: .85; }
.beetle-card__thumb img { width: 100%; height: 120px; object-fit: cover; display: block; }
.beetle-card__thumb .no-img {
  width: 100%; height: 120px;
  background: #f5f5f5;
  display: flex; align-items: center; justify-content: center;
  color: #bbb; font-size: 30px;
}
.beetle-card__body { padding: 6px 8px; }
.beetle-card__name { font-weight: bold; font-size: 13px; margin-bottom: 2px; white-space: normal; }
.beetle-card__sci  { font-size: 11px; color: var(--c-muted); font-style: italic; margin-bottom: 4px; }
.beetle-card__price { color: var(--c-red); font-size: 13px; font-weight: bold; }
.beetle-card__tags { margin-top: 4px; }

/* ── Single beetle ────────────────────────────── */
.single-beetle-layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.beetle-images { width: 500px; flex-shrink: 0; }
.beetle-info   { flex: 1; min-width: 0; font-size: 14px; }

.beetle-main-img { margin-bottom: 10px; }
.beetle-main-img img { width: 100%; height: auto; }
.beetle-sub-imgs { overflow: hidden; }
.beetle-sub-imgs img {
  width: auto !important;
  height: 50px !important;
  float: left;
  margin-right: 10px;
  cursor: pointer;
  border: 1px solid var(--c-border2);
}

.beetle-info h1 { font-size: 22px; margin-bottom: 10px; }
.beetle-info-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 15px; }
.beetle-info-table th {
  background: var(--c-green2);
  padding: 5px 10px;
  text-align: left;
  width: 120px;
  border: 1px solid #ccc;
}
.beetle-info-table td {
  padding: 5px 10px;
  border: 1px solid #ccc;
}

.beetle-care-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.beetle-care-table th {
  background: var(--c-green2);
  padding: 5px 10px;
  border: 1px solid #ccc;
  text-align: left;
}
.beetle-care-table td {
  padding: 5px 10px;
  border: 1px solid #ccc;
}

/* price history chart */
.price-chart-wrap {
  margin-top: 20px;
  padding: 15px;
  background: #f9f9f9;
  border: 1px solid var(--c-border);
}
.price-chart-wrap h3 { font-size: 16px; margin-bottom: 10px; }

/* ── Category/archive pages ───────────────────── */
.categoryTitle { font-weight: bold; font-size: 30px; margin-bottom: 10px; }
.archiveContent { font-size: 14px; }
.archiveContent__subtitle {
  background: var(--c-green);
  color: #fff;
  font-size: 22px;
  padding: 5px 10px;
  margin-bottom: 15px;
}

/* ── Shop archive ─────────────────────────────── */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.shop-card {
  border: 1px solid var(--c-border2);
  font-size: 14px;
  overflow: hidden;
}
.shop-card__thumb img { width: 100%; height: 160px; object-fit: cover; display: block; }
.shop-card__body { padding: 10px; }
.shop-card__name { font-weight: bold; font-size: 15px; margin-bottom: 5px; }
.shop-card__name a { color: var(--c-text); }
.shop-card__name a:hover { color: var(--c-green); }
.shop-card__addr { color: var(--c-muted); font-size: 13px; margin-bottom: 5px; }
.shop-card__pref { font-size: 12px; }

/* shop filter */
.shop-filter { font-size: 14px; margin-bottom: 15px; }
.shop-filter select { padding: 4px 6px; border: 1px solid #ccc; margin-right: 5px; }
.shop-filter button {
  padding: 4px 12px; background: var(--c-green); color: #fff; border: none; cursor: pointer;
}

/* ── Single shop ──────────────────────────────── */
.shop-detail-layout { font-size: 14px; }
.shop-detail-layout h1 { font-size: 24px; margin-bottom: 15px; border-bottom: 2px solid var(--c-green); padding-bottom: 5px; }
.shop-meta-table { width: 100%; border-collapse: collapse; margin-bottom: 15px; }
.shop-meta-table th {
  background: var(--c-green2);
  padding: 5px 10px;
  text-align: left;
  width: 130px;
  border: 1px solid #ccc;
}
.shop-meta-table td { padding: 5px 10px; border: 1px solid #ccc; }
.shop-map { margin-top: 15px; }
.shop-map iframe { width: 100%; height: 400px; border: 0; }

/* hours table */
.hours-table { border-collapse: collapse; font-size: 13px; }
.hours-table th, .hours-table td { padding: 4px 10px; border: 1px solid #ccc; }
.hours-table th { background: #f5f5f5; }
.hours-closed { color: var(--c-muted); }

/* ── Event archive ────────────────────────────── */
.event-list { font-size: 14px; }
.event-item {
  border-bottom: 1px solid var(--c-border);
  padding: 15px 0;
  display: flex;
  gap: 15px;
  align-items: flex-start;
}
.event-item__date {
  width: 80px;
  flex-shrink: 0;
  text-align: center;
  background: var(--c-green);
  color: #fff;
  padding: 8px 5px;
}
.event-item__date .month { font-size: 12px; }
.event-item__date .day   { font-size: 24px; font-weight: bold; line-height: 1; }
.event-item__date .year  { font-size: 11px; }
.event-item__body { flex: 1; }
.event-item__title { font-size: 16px; font-weight: bold; margin-bottom: 5px; }
.event-item__title a { color: var(--c-text); }
.event-item__title a:hover { color: var(--c-green); }
.event-item__meta { color: var(--c-muted); font-size: 13px; }

/* ── Single event ─────────────────────────────── */
.event-detail h1 { font-size: 24px; margin-bottom: 15px; border-bottom: 2px solid var(--c-green); padding-bottom: 5px; }
.event-meta-table { width: 100%; border-collapse: collapse; font-size: 14px; margin-bottom: 15px; }
.event-meta-table th {
  background: var(--c-green2);
  padding: 5px 10px;
  text-align: left;
  width: 130px;
  border: 1px solid #ccc;
}
.event-meta-table td { padding: 5px 10px; border: 1px solid #ccc; }

/* ── Column (article) ─────────────────────────── */
.column-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.column-card {
  border: 1px solid var(--c-border2);
  overflow: hidden;
  font-size: 14px;
}
.column-card__thumb img { width: 100%; height: 140px; object-fit: cover; display: block; }
.column-card__body { padding: 10px; }
.column-card__title { font-weight: bold; font-size: 15px; margin-bottom: 5px; }
.column-card__title a { color: var(--c-text); }
.column-card__title a:hover { color: var(--c-green); }
.column-card__date { color: var(--c-muted); font-size: 12px; }
.column-card__excerpt { font-size: 13px; color: #555; margin-top: 5px; }

/* single column */
.column-single h1 { font-size: 24px; margin-bottom: 10px; }
.column-single .entry-meta { font-size: 13px; color: var(--c-muted); margin-bottom: 20px; border-bottom: 1px solid var(--c-border); padding-bottom: 10px; }
.column-single .entry-content { font-size: 15px; line-height: 1.8; }
.column-single .entry-content h2 { font-size: 20px; margin: 25px 0 10px; padding: 5px 10px; border-left: 4px solid var(--c-green); }
.column-single .entry-content h3 { font-size: 17px; margin: 20px 0 8px; padding-bottom: 3px; border-bottom: 1px solid var(--c-border); }
.column-single .entry-content p  { margin-bottom: 15px; }

/* ── Archive movie list ───────────────────────── */
.archiveMovie__list { padding: 0; list-style: none; }
.archiveMovie__list__item,
.archiveMovie__list__item__title { margin: 0; }
.archiveMovie__list__item img { width: 100% !important; height: auto !important; }
.archiveMovie__list__item--spawn { box-shadow: 5px 5px 5px rgba(0,0,0,.6); }

/* ── Spawn (breeding guide) ───────────────────── */
.spawnTitle { font-size: 22px; }
.contentSpawn { font-size: 15px; }
.contentSpawn h2 {
  position: relative;
  font-size: 20px;
  padding: 1rem;
  border: 3px solid #d8d8d8;
  margin: 30px 0 20px;
  font-weight: bold;
  border-radius: 10px;
  background: #f9f9f9;
}
.contentSpawn h2::before {
  position: absolute; bottom: -14px; left: 1em;
  width: 0; height: 0; content: '';
  border-width: 14px 12px 0;
  border-style: solid;
  border-color: #d8d8d8 transparent transparent;
}
.contentSpawn h2::after {
  position: absolute; bottom: -10px; left: 1em;
  width: 0; height: 0; content: '';
  border-width: 14px 12px 0;
  border-style: solid;
  border-color: #f9f9f9 transparent transparent;
}
.contentSpawn table { margin: 15px 0; table-layout: fixed; max-width: 100%; }
.contentSpawn table img { max-width: 100%; }
.contentSpawn th {
  font-size: 14px;
  border-color: #666;
  background: var(--c-green);
  color: #fff;
}
.contentSpawn td { font-size: 13px; background: #fff; border-color: #666; }

/* ── Pagination ───────────────────────────────── */
.pagination { text-align: center; margin: 20px 0; font-size: 14px; }
.pagination a, .pagination span {
  display: inline-block;
  padding: 4px 10px;
  margin: 0 2px;
  border: 1px solid var(--c-border);
  color: var(--c-text);
}
.pagination a:hover { background: var(--c-green); color: #fff; border-color: var(--c-green); text-decoration: none; }
.pagination .current { background: var(--c-green); color: #fff; border-color: var(--c-green); }

/* ── Organic button ───────────────────────────── */
.organicBtn {
  display: inline-block;
  padding: 8px 20px;
  background: var(--c-green);
  color: #fff;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  font-size: 14px;
  text-decoration: none;
  transition: background .15s;
}
.organicBtn:hover { background: #1e3d13; color: #fff; text-decoration: none; }
.organicBtn:focus { outline: 2px solid var(--c-green); outline-offset: 2px; }
.organicBtn:disabled { opacity: .5; cursor: not-allowed; }

/* ── Footer ───────────────────────────────────── */
.site-footer {
  border-top: 3px solid #000;
  background: #fff;
  font-size: 14px;
  padding-top: 20px;
  padding-bottom: 20px;
}
#youtubeContent { font-size: 14px; margin-bottom: 20px; }
#youtubeContent h3 { font-size: 18px; margin-bottom: 10px; }
.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.footer-col h4 {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--c-border);
}
.footer-col ul { list-style: none; padding: 0; }
.footer-col li { margin-bottom: 5px; }
.footer-col a { color: var(--c-text); font-size: 14px; }
.footer-col a:hover { color: var(--c-green); }
.footer-bottom {
  border-top: 1px solid var(--c-border);
  padding-top: 15px;
  text-align: center;
  font-size: 13px;
  color: var(--c-muted);
}

/* footer nav */
.footerNav__content { padding: 0; margin: 0; font-size: 15px; }
.footerNav__content__list { padding-left: 1.5em !important; }
.footerNav__content__list li {
  list-style: disc !important;
  line-height: 1.5em !important;
  margin-bottom: 7px;
}
.footerNav__content__list li span { color: var(--c-red); font-size: 13px; }

/* shipping table */
.souryouTable { font-size: 10px; border-collapse: collapse; }
.souryouTable th,
.souryouTable td { padding: 5px 7px; border: 1px solid #ccc; }
.souryouTable th { background: #f5f5f5; }

/* ── Front page ───────────────────────────────── */
#indexContent { margin-bottom: 30px; }

/* ── Item detail table (single beetle, shop) ──── */
.itemDetail { font-size: 14px !important; }
.itemDetail td { padding: 5px 10px; border: 1px solid #ccc; }
.itemDetail thead { background: var(--c-green2); }
.itemDetail span { background: var(--c-red); color: #fff; }
.itemDetail__single { font-size: 15px; line-height: 1.5em; }

/* ── Difficulty indicator ─────────────────────── */
.difficulty-stars { display: inline-flex; gap: 3px; }
.difficulty-stars .star { color: #ccc; font-size: 16px; }
.difficulty-stars .star.on { color: #f5a623; }

/* ── No results ───────────────────────────────── */
.no-results { text-align: center; padding: 40px; color: var(--c-muted); font-size: 15px; }

/* ── Responsive ───────────────────────────────── */
@media screen and (max-width: 768px) {
  img { max-width: 100% !important; }

  .archive-beetle-layout,
  .single-beetle-layout,
  .page-with-sidebar { flex-direction: column; }

  .archive-beetle-sidebar,
  .page-sidebar,
  .beetle-images { width: 100% !important; }

  #beatleCategory { width: 100%; }

  .beetle-grid { grid-template-columns: repeat(2, 1fr); }
  .shop-grid   { grid-template-columns: repeat(2, 1fr); }
  .column-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }

  .beetleType { grid-template-columns: repeat(3, 1fr); }
  .beetleType__box dd { display: none; }

  .newsArea__box { width: 100% !important; float: none !important; margin-bottom: 15px; }

  .indexItem__list { width: 48%; margin-right: 0; }
  .indexItem__list:nth-child(even) { float: right; }
  .indexItem__list:nth-child(odd)  { float: left; }
  .indexItem__list:nth-child(4n+1) { clear: none; }

  .site-nav a { padding: 8px 12px; font-size: 13px; }

  .site-title a { max-width: 90%; }
}

@media screen and (max-width: 480px) {
  .beetle-grid { grid-template-columns: repeat(2, 1fr); }
  .shop-grid   { grid-template-columns: 1fr; }
  .column-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .beetleType  { grid-template-columns: repeat(2, 1fr); }
  .event-item  { flex-direction: column; }
}
