/* components.css */

header {
  background-color: #ffe0ec;
  padding: 1em;
  text-align: center;
  border-bottom: 2px solid #f5c3d8;
}

header h1 {
  margin: 0;
  font-size: 1.8em;
}

.breadcrumb {
  font-size: 0.9em;
  margin: 1em;
  color: #666;
}

.breadcrumb a {
  color: #d63384;
}

.filter-tabs {
  display: flex;
  justify-content: center;
  gap: 1em;
  margin-bottom: 1.5em;
}

.filter-tabs button {
  padding: 8px 16px;
  font-size: 14px;
}

.filter-tabs button.active {
  background-color: #d63384;
  color: white;
}

.coord-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  padding: 0 1em 2em;
}

.coord-card {
  width: 320px;
  background: white;
  border: 1px solid #f3c1d5;
  border-radius: 12px;
  padding: 1em;
  box-shadow: 2px 2px 10px rgba(214, 51, 132, 0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.coord-card h3 {
  font-size: 1.1em;
  margin: 0 0 0.5em;
  color: #d63384;
}

.coord-card p {
  font-size: 0.9em;
  margin: 0;
}

.coord-card iframe,
.coord-card blockquote {
  max-width: 100%;
  margin: auto;
  display: block;
}

.item-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.9em;
  margin-top: 0.5em;
}

.item-links a {
  background: #ffe0ec;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #f3c1d5;
}

/* ランキングのTwitter埋め込みカード */
#rankingList .card {
  flex: 0 0 auto;
  width: 100%;
  max-width: 550px; /* Twitter埋め込み推奨幅 */
  box-sizing: border-box;
}

/* Twitter埋め込みの blockquote がはみ出さないように */
#rankingList blockquote.twitter-tweet {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

/* カード全体の調整（横幅を強制） */
.card {
  width: 320px;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* Instagram 埋め込みの調整 */
.instagram-media {
  width: 100% !important;
  min-width: 300px !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border: none !important;
}