/* ==========================================================================
   single.css — 投稿詳細 (single.php) ベーススタイル
   ========================================================================== */

/* ===== パンくずリスト ===== */
.breadcrumb {
  background: rgba(0,0,0,0.25);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 14px 0;
  margin-top: 64px;
}
.breadcrumb .container {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.82rem;
}
.breadcrumb-list li {
  color: rgba(255,255,255,0.5);
  white-space: nowrap;
}
.breadcrumb-list li:not(:last-child)::after {
  content: '›';
  margin: 0 6px;
  color: rgba(255,255,255,0.3);
}
.breadcrumb-list a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
  transition: color 0.2s;
}
.breadcrumb-list a:hover {
  color: #3b82f6;
}
.breadcrumb-list li[aria-current="page"] {
  color: rgba(255,255,255,0.9);
  font-weight: 500;
}
/* PC: フルタイトル表示、省略版を非表示 */
.breadcrumb-title-full { display: inline; }
.breadcrumb-title-short { display: none; }

/* ===== 記事コンテナ ===== */
.article-main {
  min-height: 60vh;
}
.article-main .container {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.article-container {
  padding: 40px 0 80px;
}

/* ===== 一覧に戻る ===== */
.back-to-news {
  margin-bottom: 32px;
}
.back-to-news-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: rgba(255,255,255,0.03);
  transition: all 0.2s;
}
.back-to-news-btn:hover {
  color: #fff;
  border-color: rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.06);
}
.back-to-news-btn svg {
  flex-shrink: 0;
}

/* ===== 記事ヘッダー ===== */
.article-header {
  margin-bottom: 32px;
}
.article-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.article-date {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.5);
  font-weight: 400;
}
.article-category {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 3px 12px;
  border-radius: 20px;
  background: rgba(59,130,246,0.1);
  border: 1px solid rgba(59,130,246,0.25);
  color: #3b82f6;
}
/* カテゴリ別アクセントカラー */
.article-category.category-web { color:#3B82F6; background:rgba(59,130,246,0.1); border-color:rgba(59,130,246,0.25); }
.article-category.category-dx { color:#7B61FF; background:rgba(123,97,255,0.1); border-color:rgba(123,97,255,0.25); }
.article-category.category-ai-chat-bot { color:#F97316; background:rgba(249,115,22,0.1); border-color:rgba(249,115,22,0.25); }
.article-category.category-line { color:#34D399; background:rgba(52,211,153,0.1); border-color:rgba(52,211,153,0.25); }
.article-category.category-ai-system { color:#00D1FF; background:rgba(0,209,255,0.1); border-color:rgba(0,209,255,0.25); }
.article-category.category-sns { color:#D55FFF; background:rgba(213,95,255,0.1); border-color:rgba(213,95,255,0.25); }
.article-title {
  font-size: clamp(1.5rem, 3.5vw, 2rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0 0 16px;
}
.article-author {
  font-size: 0.85rem;
  color: rgba(255,255,255,0.5);
}
.article-author span:last-child {
  color: rgba(255,255,255,0.7);
  font-weight: 500;
}

/* ===== アイキャッチ画像 ===== */
.article-featured-image {
  margin-bottom: 40px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}
.article-featured-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* ===== 記事本文 ===== */
.article-content {
  margin-bottom: 48px;
  line-height: 1.9;
  color: rgba(255,255,255,0.78);
}
.article-content h2 {
  font-size: 1.35rem;
  font-weight: 700;
  color: #fff;
  border-left: 4px solid #3b82f6;
  padding-left: 14px;
  margin: 48px 0 20px;
  line-height: 1.45;
}
/* h2 border-left — カテゴリ別 */
body.category-dx .article-content h2 { border-left-color: #7B61FF; }
body.category-ai-chat-bot .article-content h2 { border-left-color: #F97316; }
body.category-line .article-content h2 { border-left-color: #34D399; }
body.category-ai-system .article-content h2 { border-left-color: #00D1FF; }
body.category-sns .article-content h2 { border-left-color: #D55FFF; }

.article-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  margin: 32px 0 14px;
}
.article-content p {
  font-size: 0.95rem;
  line-height: 1.9;
  color: rgba(255,255,255,0.72);
  margin-bottom: 16px;
}
.article-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.article-content figure {
  margin: 24px 0;
}
.article-content figcaption {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.4);
  text-align: center;
  margin-top: 8px;
}
.article-content ul,
.article-content ol {
  padding-left: 20px;
  margin-bottom: 20px;
}
.article-content li {
  font-size: 0.93rem;
  line-height: 1.85;
  color: rgba(255,255,255,0.72);
  margin-bottom: 6px;
}
.article-content strong {
  color: rgba(255,255,255,0.92);
  font-weight: 700;
}
.article-content a {
  color: #3b82f6;
  text-decoration: none;
  border-bottom: 1px solid rgba(59,130,246,0.3);
  transition: border-color 0.2s;
}
.article-content a:hover {
  border-color: #3b82f6;
}
.article-content blockquote {
  border-left: 3px solid rgba(59,130,246,0.4);
  padding: 16px 20px;
  margin: 24px 0;
  background: rgba(255,255,255,0.02);
  border-radius: 0 8px 8px 0;
}
.article-content blockquote p {
  color: rgba(255,255,255,0.65);
  font-style: italic;
}

/* 目次ブロック（投稿内） */
.article-content > div[style*="background:#f8f9fa"],
.article-content > div[style*="background: #f8f9fa"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.8);
}
.article-content > div[style*="background:#f8f9fa"] p,
.article-content > div[style*="background: #f8f9fa"] p {
  color: rgba(255,255,255,0.9) !important;
}
.article-content > div[style*="background:#f8f9fa"] a,
.article-content > div[style*="background: #f8f9fa"] a {
  color: #60a5fa !important;
  border-bottom: none;
}
/* 目次リンク — カテゴリ別アクセントカラー */
body.category-dx .article-content > div[style*="background:#f8f9fa"] a { color: #a78bfa !important; }
body.category-ai-chat-bot .article-content > div[style*="background:#f8f9fa"] a { color: #fb923c !important; }
body.category-line .article-content > div[style*="background:#f8f9fa"] a { color: #34d399 !important; }
body.category-ai-system .article-content > div[style*="background:#f8f9fa"] a { color: #22d3ee !important; }
body.category-sns .article-content > div[style*="background:#f8f9fa"] a { color: #d55fff !important; }
.article-content > div[style*="background:#f8f9fa"] ol,
.article-content > div[style*="background: #f8f9fa"] ol {
  color: rgba(255,255,255,0.7);
}

/* FAQブロック（投稿内） */
.article-content .tenani-faq,
.article-content > div[style*="background:#f9f9f9"] {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.1) !important;
}
.article-content .tenani-faq h3,
.article-content > div[style*="background:#f9f9f9"] h3 {
  color: rgba(255,255,255,0.9) !important;
  border-bottom-color: #3b82f6 !important;
}
/* FAQ h3 border — カテゴリ別 */
body.category-dx .article-content .tenani-faq h3 { border-bottom-color: #7B61FF !important; }
body.category-ai-chat-bot .article-content .tenani-faq h3 { border-bottom-color: #F97316 !important; }
body.category-line .article-content .tenani-faq h3 { border-bottom-color: #34D399 !important; }
body.category-ai-system .article-content .tenani-faq h3 { border-bottom-color: #00D1FF !important; }
body.category-sns .article-content .tenani-faq h3 { border-bottom-color: #D55FFF !important; }

.article-content .tenani-faq .faq-item p,
.article-content > div[style*="background:#f9f9f9"] .faq-item p {
  color: rgba(255,255,255,0.72) !important;
}
.article-content > div[style*="background:#f9f9f9"] .faq-item {
  border-bottom-color: rgba(255,255,255,0.08) !important;
}

/* CTAブロック（投稿内） */
.article-content > p[style*="background:#f0f7ff"] {
  background: rgba(59,130,246,0.08) !important;
  border-color: rgba(59,130,246,0.2) !important;
}
.article-content > p[style*="background:#f0f7ff"] strong {
  color: #60a5fa !important;
}

/* サービス導線ブロック（投稿内 — 青/web系） */
.article-content .tenani-service-nav,
.article-content > div[style*="border:2px solid #0367D3"] {
  background: rgba(59,130,246,0.05) !important;
  border-color: rgba(59,130,246,0.3) !important;
}
.article-content > div[style*="border:2px solid #0367D3"] p {
  color: rgba(255,255,255,0.8) !important;
}
.article-content > div[style*="border:2px solid #0367D3"] a[style*="background:#0367D3"] {
  background: #3b82f6 !important;
}
/* サービス導線ブロック（投稿内 — 紫/DX系） */
.article-content > div[style*="border:2px solid #7B61FF"] {
  background: rgba(123,97,255,0.06) !important;
  border-color: rgba(123,97,255,0.35) !important;
}
.article-content > div[style*="border:2px solid #7B61FF"] p {
  color: rgba(255,255,255,0.8) !important;
}
.article-content > div[style*="border:2px solid #7B61FF"] a[style*="background:#7B61FF"] {
  background: #7B61FF !important;
}
/* CTAブロック（紫系） */
.article-content > p[style*="background:rgba(123,97,255"] {
  background: rgba(123,97,255,0.08) !important;
  border-color: rgba(123,97,255,0.2) !important;
}
.article-content > p[style*="background:rgba(123,97,255"] strong {
  color: #a78bfa !important;
}
/* h2 border-left 紫系 */
.article-content h2[style*="border-left:4px solid #7B61FF"] {
  border-left-color: #7B61FF !important;
}
/* サービス導線ブロック（投稿内 — オレンジ/chat-bot系） */
.article-content > div[style*="border:2px solid #F97316"] {
  background: rgba(249,115,22,0.05) !important;
  border-color: rgba(249,115,22,0.3) !important;
}
.article-content > div[style*="border:2px solid #F97316"] p {
  color: rgba(255,255,255,0.8) !important;
}
.article-content > div[style*="border:2px solid #F97316"] a[style*="background:#F97316"] {
  background: #F97316 !important;
}
/* CTAブロック（オレンジ系） */
.article-content > p[style*="background:rgba(249,115,22"] {
  background: rgba(249,115,22,0.06) !important;
  border-color: rgba(249,115,22,0.2) !important;
}
.article-content > p[style*="background:rgba(249,115,22"] strong {
  color: #fb923c !important;
}
/* サービス導線ブロック（投稿内 — 緑/LINE系 #34D399） */
.article-content > div[style*="border:2px solid #34D399"] {
  background: rgba(52,211,153,0.05) !important;
  border-color: rgba(52,211,153,0.3) !important;
}
.article-content > div[style*="border:2px solid #34D399"] p { color: rgba(255,255,255,0.8) !important; }
.article-content > div[style*="border:2px solid #34D399"] a[style*="background:#34D399"] { background: #34D399 !important; }
/* サービス導線ブロック（投稿内 — シアン/AI系 #00D1FF） */
.article-content > div[style*="border:2px solid #00D1FF"] {
  background: rgba(0,209,255,0.05) !important;
  border-color: rgba(0,209,255,0.3) !important;
}
.article-content > div[style*="border:2px solid #00D1FF"] p { color: rgba(255,255,255,0.8) !important; }
.article-content > div[style*="border:2px solid #00D1FF"] a[style*="background:#00D1FF"] { background: #00D1FF !important; color: #000 !important; }
/* サービス導線ブロック（投稿内 — ピンク/SNS系 #D55FFF） */
.article-content > div[style*="border:2px solid #D55FFF"] {
  background: rgba(213,95,255,0.05) !important;
  border-color: rgba(213,95,255,0.3) !important;
}
.article-content > div[style*="border:2px solid #D55FFF"] p { color: rgba(255,255,255,0.8) !important; }
.article-content > div[style*="border:2px solid #D55FFF"] a[style*="background:#D55FFF"] { background: #D55FFF !important; }

/* サービス導線・CTA — WPがスペースを挿入する場合の追加セレクタ */
.article-content > div[style*="border: 2px solid #0367D3"] { background:rgba(59,130,246,0.05)!important;border-color:rgba(59,130,246,0.3)!important }
.article-content > div[style*="border: 2px solid #7B61FF"] { background:rgba(123,97,255,0.06)!important;border-color:rgba(123,97,255,0.35)!important }
.article-content > div[style*="border: 2px solid #F97316"] { background:rgba(249,115,22,0.05)!important;border-color:rgba(249,115,22,0.3)!important }
.article-content > div[style*="border: 2px solid #34D399"] { background:rgba(52,211,153,0.05)!important;border-color:rgba(52,211,153,0.3)!important }
.article-content > div[style*="border: 2px solid #00D1FF"] { background:rgba(0,209,255,0.05)!important;border-color:rgba(0,209,255,0.3)!important }
.article-content > div[style*="border: 2px solid #D55FFF"] { background:rgba(213,95,255,0.05)!important;border-color:rgba(213,95,255,0.3)!important }
.article-content > div[style*="border: 2px solid"] p { color:rgba(255,255,255,0.8)!important }
.article-content > div[style*="border: 2px solid"] a[style*="background:"] { color:#fff!important }
/* FAQ border-bottom スペース付き対応 */
.article-content > div[style*="background: #f9f9f9"] { background:rgba(255,255,255,0.04)!important;border-color:rgba(255,255,255,0.1)!important }
.article-content > div[style*="background: #f9f9f9"] h3 { color:rgba(255,255,255,0.9)!important }
.article-content > div[style*="background: #f9f9f9"] .faq-item p { color:rgba(255,255,255,0.72)!important }
.article-content > div[style*="background: #f9f9f9"] .faq-item { border-bottom-color:rgba(255,255,255,0.08)!important }
/* 目次ブロック スペース付き対応 */
.article-content > div[style*="background: #f8f9fa"] { background:rgba(255,255,255,0.04)!important;border-color:rgba(255,255,255,0.1)!important }
.article-content > div[style*="background: #f8f9fa"] p { color:rgba(255,255,255,0.9)!important }
.article-content > div[style*="background: #f8f9fa"] ol { color:rgba(255,255,255,0.7) }

/* インラインスタイルのダークテーマ上書き（スペース有無両対応） */
.article-content [style*="color:#1a1a1a"],
.article-content [style*="color: #1a1a1a"] {
  color: rgba(255,255,255,0.95) !important;
}
.article-content [style*="color:#333"],
.article-content [style*="color: #333"] {
  color: rgba(255,255,255,0.72) !important;
}
.article-content [style*="color:#555"],
.article-content [style*="color: #555"] {
  color: rgba(255,255,255,0.6) !important;
}
.article-content [style*="color:#666"],
.article-content [style*="color: #666"] {
  color: rgba(255,255,255,0.55) !important;
}

/* ===== タグ ===== */
.article-tags {
  margin-bottom: 40px;
  padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.article-tags h3 {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.tags-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-item {
  display: inline-block;
  font-size: 0.82rem;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  padding: 5px 14px;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 20px;
  background: rgba(255,255,255,0.03);
  transition: all 0.2s;
}
.tag-item:hover {
  color: #3b82f6;
  border-color: rgba(59,130,246,0.3);
  background: rgba(59,130,246,0.06);
}

/* ===== SNSシェア ===== */
.article-share {
  margin-bottom: 48px;
}
.article-share h3 {
  font-size: 0.85rem;
  font-weight: 700;
  color: rgba(255,255,255,0.5);
  margin-bottom: 16px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.share-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.share-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 8px;
  font-size: 0.85rem;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  transition: all 0.2s;
}
.share-btn:hover {
  border-color: rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.06);
  color: #fff;
}
.share-x:hover { border-color: rgba(255,255,255,0.3); }
.share-facebook:hover { border-color: #1877f2; color: #1877f2; }
.share-line:hover { border-color: #06c755; color: #06c755; }
.share-copy:hover { border-color: rgba(59,130,246,0.4); color: #3b82f6; }

/* ===== 関連記事 ===== */
.related-articles {
  margin-bottom: 48px;
}
.related-articles h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 24px;
}
.related-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.related-article-item {
  display: block;
  text-decoration: none;
  padding: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  transition: all 0.3s;
}
.related-article-item:hover {
  border-color: rgba(59,130,246,0.3);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}
.related-article-image {
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 12px;
  aspect-ratio: 16/9;
}
.related-article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.related-article-date {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.4);
  margin-bottom: 6px;
}
.related-article-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  margin-bottom: 8px;
}
.related-article-category {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 20px;
  background: rgba(59,130,246,0.1);
  border: 1px solid rgba(59,130,246,0.2);
  color: #3b82f6;
}
/* 関連記事カテゴリ別カラー */
.related-article-category.category-web { color:#3B82F6; background:rgba(59,130,246,0.1); border-color:rgba(59,130,246,0.2); }
.related-article-category.category-dx { color:#7B61FF; background:rgba(123,97,255,0.1); border-color:rgba(123,97,255,0.2); }
.related-article-category.category-ai-chat-bot { color:#F97316; background:rgba(249,115,22,0.1); border-color:rgba(249,115,22,0.2); }
.related-article-category.category-line { color:#34D399; background:rgba(52,211,153,0.1); border-color:rgba(52,211,153,0.2); }
.related-article-category.category-ai-system { color:#00D1FF; background:rgba(0,209,255,0.1); border-color:rgba(0,209,255,0.2); }
.related-article-category.category-sns { color:#D55FFF; background:rgba(213,95,255,0.1); border-color:rgba(213,95,255,0.2); }

/* ===== 記事下CTA ===== */
.article-cta {
  background: linear-gradient(135deg, rgba(59,130,246,0.1) 0%, rgba(59,130,246,0.04) 100%);
  border: 1px solid rgba(59,130,246,0.2);
  border-radius: 16px;
  padding: 40px 32px;
  text-align: center;
}
.article-cta h3 {
  font-size: 1.3rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px;
}
.article-cta p {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.65);
  margin-bottom: 24px;
  line-height: 1.7;
}
.cta-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.article-cta .btn-primary {
  display: inline-block;
  background: #3b82f6;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 14px 32px;
  border-radius: 8px;
  text-decoration: none;
  transition: all 0.2s;
}
.article-cta .btn-primary:hover {
  background: #2563eb;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(59,130,246,0.3);
}
.article-cta .btn-secondary {
  display: inline-block;
  color: rgba(255,255,255,0.7);
  font-weight: 600;
  font-size: 0.9rem;
  padding: 14px 32px;
  border-radius: 8px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.03);
  transition: all 0.2s;
}
.article-cta .btn-secondary:hover {
  color: #fff;
  border-color: rgba(255,255,255,0.3);
  background: rgba(255,255,255,0.06);
}

/* ===== ページリンク ===== */
.page-links {
  margin-top: 32px;
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.6);
  font-size: 0.88rem;
}
.page-links a {
  color: #3b82f6;
  text-decoration: none;
  padding: 4px 10px;
  border-radius: 4px;
  border: 1px solid rgba(59,130,246,0.2);
  margin: 0 4px;
}
.page-links a:hover {
  background: rgba(59,130,246,0.1);
}

/* ===== AOS表示保証（AOSが未初期化でも要素を表示） ===== */
body.single-post [data-aos^="fade"],
body.single-post [data-aos^="zoom"],
body.single-post [data-aos^="slide"],
body.single-post [data-aos^="flip"] {
  opacity: 1 !important;
  transform: none !important;
}
body.single-post [data-aos^="fade"].aos-animate,
body.single-post [data-aos^="zoom"].aos-animate,
body.single-post [data-aos^="slide"].aos-animate {
  opacity: 1 !important;
  transform: translateZ(0) !important;
}

/* ===== レスポンシブ ===== */
@media (max-width: 768px) {
  .breadcrumb {
    margin-top: 56px;
    padding: 10px 0;
  }
  .breadcrumb .container,
  .article-main .container {
    padding: 0 16px;
  }
  .breadcrumb-list {
    font-size: 0.75rem;
  }
  .breadcrumb-title-full { display: none; }
  .breadcrumb-title-short { display: inline; }
  .article-container {
    padding: 24px 0 60px;
  }
  .article-title {
    font-size: 1.3rem;
  }
  .article-content h2 {
    font-size: 1.15rem;
    margin-top: 36px;
  }
  .related-articles-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .article-cta {
    padding: 28px 20px;
  }
  .cta-buttons {
    flex-direction: column;
    align-items: center;
  }
  .share-btn {
    flex: 1 1 calc(50% - 5px);
    min-width: 120px;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .share-btn {
    flex: 1 1 100%;
  }
}
