content-card.component.scss 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. @use '../../styles/card' as c;
  2. @use '../../styles/tokens' as t;
  3. :host {
  4. display: block;
  5. }
  6. .content-card {
  7. @include c.section-card(20px);
  8. display: flex;
  9. flex-direction: column;
  10. gap: 16px;
  11. min-width: 0;
  12. &.compact {
  13. gap: 12px;
  14. padding: 16px;
  15. }
  16. &.variant-muted {
  17. background: t.$color-surface-muted;
  18. }
  19. &.variant-dashed {
  20. border-style: dashed;
  21. box-shadow: none;
  22. }
  23. &.variant-elevated {
  24. @include c.surface-card(20px);
  25. box-shadow: t.$shadow-float;
  26. }
  27. &.tone-blue {
  28. border-top: 3px solid t.$color-blue;
  29. }
  30. &.tone-green {
  31. border-top: 3px solid t.$color-green;
  32. }
  33. &.tone-amber {
  34. border-top: 3px solid t.$color-amber;
  35. }
  36. &.tone-red {
  37. border-top: 3px solid t.$color-red;
  38. }
  39. &.tone-purple {
  40. border-top: 3px solid t.$color-purple;
  41. }
  42. &.visual-section {
  43. .content-card-copy h2 {
  44. font-size: 20px;
  45. font-weight: 700;
  46. letter-spacing: -0.02em;
  47. }
  48. }
  49. }
  50. .content-card-header {
  51. display: flex;
  52. align-items: flex-start;
  53. justify-content: space-between;
  54. gap: 16px;
  55. min-width: 0;
  56. padding-bottom: 14px;
  57. border-bottom: 1px solid t.$color-border;
  58. }
  59. .content-card-copy {
  60. min-width: 0;
  61. h2,
  62. h3 {
  63. @include c.card-title;
  64. }
  65. p {
  66. @include c.card-subtitle;
  67. margin-top: 4px;
  68. }
  69. }
  70. .content-card-actions {
  71. display: inline-flex;
  72. align-items: center;
  73. gap: 8px;
  74. flex-shrink: 0;
  75. }
  76. .content-card-body {
  77. min-width: 0;
  78. }
  79. @media (max-width: 768px) {
  80. .content-card-header {
  81. flex-direction: column;
  82. }
  83. }