.cc-podcast { padding-bottom: 96px; } .cc-podcast__gap { height: 138px; flex-shrink: 0; pointer-events: none; } .cc-podcast__body { max-width: 1280px; margin-inline: auto; padding: 0 var(--page-gutter); } .podcast-hero { display: flex; align-items: flex-start; gap: var(--space-6); } .podcast-hero__img { width: 340px; max-width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-lg); flex-shrink: 0; background: var(--color-surface); } .podcast-hero__img--video { display: block; pointer-events: none; } .podcast-hero__body { min-width: 0; flex: 1; } .podcast-hero__title { margin: 0; font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.1; color: var(--color-text-dark); } .podcast-hero__subtitle { margin: var(--space-4) 0 0; font-size: clamp(0.95rem, 1.2vw, 1.1rem); line-height: 1.55; color: var(--color-text-muted); max-width: 42rem; } .podcast-hero__type { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-5) 0 0; font-size: 0.95rem; color: var(--color-text); } .podcast-hero__type span { font-weight: var(--fw-semibold); } .podcast-share { margin-top: var(--space-5); } .podcast-share__label { display: block; font-weight: var(--fw-semibold); font-size: 0.9rem; margin-bottom: var(--space-2); } .podcast-share__trigger { display: inline-flex; align-items: center; gap: 0.35rem; font-family: var(--font-body); font-weight: var(--fw-medium); font-size: 0.875rem; color: var(--color-canon-red); text-decoration: underline; text-underline-offset: 3px; } .podcast-share__trigger:hover { color: var(--color-canon-red-hover); text-decoration: none; } .podcast-share__menu { width: 248px; right: auto; left: 0; padding: var(--space-2); } .podcast-tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-6); } .podcast-tabs__tab { padding: 0.5rem 1.1rem; border: 1px solid var(--color-border-strong); border-radius: var(--radius-full); background: var(--color-surface); color: var(--color-text); font-family: var(--font-body); font-weight: var(--fw-medium); font-size: 0.9rem; cursor: pointer; transition: all var(--duration-fast) var(--ease-out); } .podcast-tabs__tab:hover { border-color: var(--color-canon-red); color: var(--color-canon-red); } .podcast-tabs__tab.is-active { background: var(--color-canon-red); border-color: var(--color-canon-red); color: var(--color-white); } .podcast-panels { margin-top: clamp(var(--space-8), 3vw, var(--space-12)); } .podcast-empty, .podcast-notfound { display: flex; flex-direction: column; align-items: center; text-align: center; padding: clamp(var(--space-8), 6vw, var(--space-16)) var(--space-4); } .podcast-empty__icon, .podcast-notfound__icon { font-size: 3rem; color: var(--color-text-muted); } .podcast-empty__text, .podcast-notfound__text { margin: var(--space-3) 0 0; color: var(--color-text-muted); max-width: 36ch; } .podcast-notfound__title { margin: var(--space-4) 0 0; font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 1.5rem; color: var(--color-text-dark); } .podcast-notfound__link { margin-top: var(--space-5); color: var(--color-canon-red); font-weight: var(--fw-semibold); } .podcast-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(var(--space-4), 1.8vw, var(--space-6)); } .pc { display: flex; flex-direction: column; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out); } .pc:hover { box-shadow: var(--shadow-lg); transform: translateY(-3px); } .pc__media { position: relative; aspect-ratio: 16 / 10; background: var(--color-border); } .pc__media[data-podcast-play] { cursor: pointer; } .pc__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; } .pc__img--video { pointer-events: none; } .pc__badge { position: absolute; top: var(--space-3); left: var(--space-3); padding: 4px 12px; border-radius: var(--radius-full); background: var(--color-canon-red); color: var(--color-white); font-size: 0.68rem; font-weight: var(--fw-semibold); letter-spacing: 0.04em; text-transform: uppercase; } .pc__body { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); flex: 1; } .pc__date { display: inline-flex; align-items: center; gap: 4px; margin: 0; font-size: 0.74rem; color: var(--color-text-muted); } .pc__tags { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; } .pc__tags li { padding: 2px 8px; border-radius: var(--radius-full); background: var(--color-canon-red-soft); color: var(--color-canon-red); font-size: 0.68rem; font-weight: var(--fw-semibold); letter-spacing: 0.03em; text-transform: uppercase; } .pc__title { margin: 0; font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 1.125rem; line-height: 1.3; color: var(--color-text-dark); } .pc__excerpt { margin: 0; font-size: 0.9rem; line-height: 1.5; color: var(--color-text-muted); flex: 1; } .pc__foot { padding: 0 var(--space-5) var(--space-5); } .pc__play { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0; border: 0; background: none; color: var(--color-canon-red); font-family: var(--font-body); font-weight: var(--fw-semibold); font-size: 0.9rem; cursor: pointer; } .pc__play:hover { color: var(--color-canon-red-hover); } .pc__play .uil { font-size: 1.35rem; } .podcast-about__title { margin: 0 0 var(--space-5); font-family: var(--font-heading); font-weight: var(--fw-bold); font-size: clamp(1.4rem, 2vw, 1.875rem); color: var(--color-text-dark); } .podcast-about__html { color: var(--color-text); line-height: 1.65; max-width: 48rem; } .podcast-about__html p { margin: 0 0 var(--space-4); } .podcast-player { width: min(960px, calc(100vw - 32px)); padding: 0; border: 0; background: transparent; } .podcast-player::backdrop { background: rgba(0, 0, 0, 0.72); } .podcast-player__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); color: var(--color-white); } .podcast-player__title { margin: 0; font-family: var(--font-heading); font-weight: var(--fw-semibold); font-size: 1.05rem; } .podcast-player__close { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; border-radius: var(--radius-full); background: rgba(255, 255, 255, 0.12); color: var(--color-white); font-size: 1.25rem; cursor: pointer; } .podcast-player__close:hover { background: rgba(255, 255, 255, 0.22); } .podcast-player__video { display: block; width: 100%; max-height: 80vh; background: #000; } @media (max-width: 980px) { .podcast-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 767.98px) { .podcast-hero { flex-direction: column; } .podcast-hero__img { width: 100%; } .podcast-grid { grid-template-columns: 1fr; } }