/* =============================================== */
/* === DISPATCH VERTICAL STYLING === */
/* =============================================== */

/* Category-specific post content background */
body.category-dispatch .patch-post-content {
    background-color: var(--theme-content-alt-bg);
    transition: background-color 0.3s ease;
  }
  
  /* ======================== */
  /* === DISPATCH BUTTONS === */
  /* ======================== */
  
  .dispatch-btn {
    font-family: var(--font-mono) !important;
    font-size: .85rem !important;
    background-color: var(--theme-accent) !important;
    color: var(--theme-text) !important;
    border: 2px solid var(--theme-border) !important;
    padding: 20px !important;
    text-align: center !important;
    display: inline-block !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: var(--theme-shadow) !important;
    transition: all 0.3s ease !important;
  }
  
  .dispatch-btn:hover {
    background-color: var(--theme-content-bg) !important;
    color: var(--theme-text) !important;
    box-shadow: var(--theme-shadow) !important;
    transform: translateY(-2px) !important;
  }
  
  /* ======================== */
  /* === DISPATCH TABLES === */
  /* ======================== */
  
  .wp-block-table td {
    word-break: break-word;
    vertical-align: middle;
    padding: .5em;
    color: var(--theme-text);
    transition: color 0.3s ease;
  }
  
  .wp-block-table th {
    padding: 1rem;
    color: var(--theme-text);
    transition: color 0.3s ease;
  }
  
  .wp-block-table {
    table-layout: auto;
    width: 100%;
  }
  
  .wp-block-table td:first-child {
    width: 10%;
    white-space: nowrap;
  }
  
  .wp-block-table td:nth-child(2) {
    width: 25%;
  }
  
  .wp-block-table td:nth-child(3) {
    width: 55%;
  }
  
  /* ======================== */
  /* === DISPATCH ARTICLES === */
  /* ======================== */
  
  .dispatch-article a.elementor-button {
    text-decoration: none !important;
  }
  
  .dispatch-article {
    font-family: 'Noto Sans KR', sans-serif !important;
    line-height: 1 !important;
    font-size: 1rem !important;
    color: var(--theme-text) !important;
    transition: color 0.3s ease;
  }
  
  /* Headings */
  .dispatch-article h1,
  .dispatch-article h2,
  .dispatch-article h3,
  .dispatch-article h4,
  .dispatch-article h5,
  .dispatch-article h6 {
    font-family: 'Noto Sans KR', sans-serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: var(--theme-text) !important;
    transition: color 0.3s ease;
  }
  
  .dispatch-article h1 { font-size: 2rem !important; }
  .dispatch-article h2 { font-size: 1.25rem !important; }
  .dispatch-article h3 { font-size: 1.75rem !important; }
  .dispatch-article h4 { font-size: 1.25rem !important; line-height: 1.5rem !important; }
  .dispatch-article h5 { font-size: 1.125rem !important; }
  .dispatch-article h6 { font-size: 1rem !important; font-weight: 600 !important; }
  
  /* Paragraphs */
  .dispatch-article p {
    margin-bottom: 1.25rem !important;
    font-size: 1rem !important;
    color: var(--theme-text) !important;
    transition: color 0.3s ease;
  }

  /* PATCH DISPATCH: Normalize headings & spacing to prevent block/Elementor bleed */
  body:is(.category-dispatch, .single-dispatch) .dispatch-article :is(h1, h2, h3, h4, h5, h6, .wp-block-heading) {
    font-family: 'Noto Sans KR', sans-serif !important;
    font-weight: 700 !important;
    color: var(--theme-text) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-top: 0 !important;
    margin-bottom: 0.8em !important;
    line-height: 1.35 !important;
    font-size: inherit !important;
  }

  /* Ensure any Gutenberg heading variations are normalized */
  body:is(.category-dispatch, .single-dispatch) .dispatch-article [class*="wp-block-heading"] {
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-top: 0 !important;
    margin-bottom: .8em !important;
    font-family: 'Noto Sans KR', sans-serif !important;
  }

  /* Paragraphs in Dispatch contexts */
  body:is(.category-dispatch, .single-dispatch) .dispatch-article p {
    font-family: 'Noto Sans KR', sans-serif !important;
    color: var(--theme-text) !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 1.25em !important;
    margin-top: 0 !important;
  }
  
  /* Table of Contents */
  .dispatch-article .elementor-toc__list {
    text-indent: -1px !important;
  }
  
  .dispatch-article .elementor-toc__list-item-text {
    font-family: 'Noto Sans KR', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    text-decoration: none !important;
    text-transform: capitalize !important;
    color: var(--theme-text) !important;
    transition: color 0.3s ease;
  }
  
  /* Links */
  .dispatch-article a {
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    color: var(--theme-primary) !important;
  }
  
  .dispatch-article a:hover {
    color: var(--theme-secondary) !important;
  }
  
  /* Block Groups */
  .dispatch-article .wp-block-group {
    border: 1px none var(--theme-border);
    justify-self: center;
  }
  
  /* Images */
    .dispatch-article .wp-block-image img:not(.emoji):not(.wp-smiley),
  .dispatch-article .elementor-widget-container img:not(.emoji):not(.wp-smiley) {
    max-width: 100% !important;
    height: auto !important;
  }

  
  .dispatch-article img:not(.emoji):not(.wp-smiley) {
    max-width: 100% !important;
    height: auto !important;
  }

  body:is(.category-dispatch, .single-dispatch) .dispatch-article .wp-block-image img.emoji,
  body:is(.category-dispatch, .single-dispatch) .dispatch-article .wp-block-image img.wp-smiley,
  body:is(.category-dispatch, .single-dispatch) .dispatch-article .wp-block-image img.emoji[class],
  body:is(.category-dispatch, .single-dispatch) .dispatch-article .wp-block-image img.wp-smiley[class] {
    /* nuke all previous rules */
    all: unset;
    display: inline !important;
    margin: 0 .1em !important;
    width: 1em !important;
    height: 1em !important;
    max-width: none !important;
    border-radius: 0 !important;
    vertical-align: -0.15em !important;
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-user-drag: none !important;
    box-sizing: border-box !important;
  }

  body:is(.category-dispatch, .single-dispatch) .dispatch-article :is(h1, h2, h3, h4, h5, h6, .wp-block-heading) img.emoji,
  body:is(.category-dispatch, .single-dispatch) .dispatch-article :is(h1, h2, h3, h4, h5, h6, .wp-block-heading) img.wp-smiley {
    all: unset;
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 .1em !important;
    vertical-align: -0.15em !important;
    -webkit-user-drag: none !important;
  }
  
  /* Lists */
  .dispatch-article ul,
  .dispatch-article ol {
    padding-left: 0rem !important;
    margin-bottom: 0rem !important;
  }
  
  .dispatch-article li {
    margin-bottom: 0.5rem !important;
    color: var(--theme-text) !important;
    transition: color 0.3s ease;
  }
  
  /* Blockquotes */
  .dispatch-article blockquote {
    border-left: 4px solid var(--theme-border) !important;
    padding-left: 1rem !important;
    font-style: italic !important;
    margin: 1.5rem 0 !important;
    color: var(--theme-text) !important;
    transition: all 0.3s ease;
  }
  
  /* Code blocks */
  .dispatch-article pre,
  .dispatch-article code {
    font-family: 'Source Code Pro', monospace;
    background: #f5f5f5;
    padding: 0.5rem;
    border-radius: 4px;
    overflow-x: auto;
  }
  
  /* Captions */
  .dispatch-article figcaption {
    font-size: 0.9rem !important;
    text-align: center !important;
    margin-top: 0.5rem !important;
    color: var(--theme-text-muted) !important;
    transition: color 0.3s ease;
  }
  
  /* ======================== */
  /* === KIMCHI READER LINKS === */
  /* ======================== */
  
  a.kimchi-reader-link {
    color: var(--e-global-color-faa4e3c); /* Preserving your original Elementor color #E66A05 */
    text-decoration: none !important;
    text-transform: none !important;
    font-size: 1.1rem;
    line-height: 0px !important;
    transition: color 0.3s ease;
  }
  
  a.kimchi-reader-link:hover {
    opacity: 0.9;
  }

  /* ======================== */
  /* === DISPATCH CARDS    === */
  /* ======================== */
  /*
    Mirrors the email "card" look: 10px radius, #b9b9b9 border, white background,
    optional header strip with #ffdd1c and rounded top corners.
    Use either a custom class or the Gutenberg block style alias.
  */
  .dispatch-article .dispatch-card,
  .dispatch-article .wp-block-group.is-style-dispatch-card {
    border: 1px solid #b9b9b9 !important;
    border-radius: 10px !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
    margin: 1rem 0 !important;
  }

  .dispatch-article .dispatch-card__body,
  .dispatch-article .wp-block-group.is-style-dispatch-card > .wp-block-group__inner-container {
    padding: 15px !important;
  }

  /* Optional colored header strip */
  .dispatch-article .dispatch-card__header,
  .dispatch-article .wp-block-group.is-style-dispatch-card .dispatch-card__header {
    background-color: #ffdd1c !important;
    padding: 10px !important;
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
  }

  /* Card header images */
  .dispatch-article .dispatch-card img:first-child,
  .dispatch-article .wp-block-group.is-style-dispatch-card img:first-child {
    width: 100% !important;
    height: auto !important;
  }

  /* STANDALONE dispatch-card (without .dispatch-article wrapper) */
  .wp-block-group.dispatch-card {
    border: 1px solid #b9b9b9 !important;
    border-radius: 10px !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
    margin: 1rem 0 !important;
    padding: 15px !important;
  }

  /* Handle any wp-block-group that looks like an email card */
  .dispatch-article .wp-block-group[style*="border-width:1px"] {
    border: 1px solid #b9b9b9 !important;
    background-color: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin: 1rem 0 !important;
  }

  /* DEBUG: Make ANY dispatch-card super obvious */
  .dispatch-card {
    background: lime !important;
    border: 5px solid red !important;
    color: blue !important;
  }

  /* Target Elementor widget with dispatch-card class */
  .elementor-widget.dispatch-card .wp-block-group[style*="border-width:1px"],
  .dispatch-card .wp-block-group[style*="border-width:1px"],
  .wp-block-group.dispatch-card[style*="border-width:1px"] {
    border: 1px solid #000000 !important;
    background-color: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin: 1rem 0 !important;
  }

  /* Ensure padding on content inside cards */
  .dispatch-article .wp-block-group[style*="border-width:1px"] .wp-block-group[style*="padding"] {
    padding: 15px !important;
  }


  /* Header strip for standalone cards */
  .wp-block-group.dispatch-card .dispatch-card__header {
    background-color: #ffdd1c !important;
    padding: 10px !important;
    margin: -15px -15px 15px -15px !important; /* Extend to edges */
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
  }

  .dispatch-article .wp-block-image img.emoji,
.dispatch-article .wp-block-image img.wp-smiley {
    display: inline !important;
    max-width: none !important;
    width: 1em !important;
    height: 1em !important;
    border-radius: 0 !important;
    margin: 0 .1em !important;
    vertical-align: -0.15em !important;
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

