/* ============================
   AOMEL COLUMN
   ============================ */
.column-section { background: #fff; }
.column-section-lead { margin: -2rem 0 2.25rem; color: var(--color-muted); }
.column-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.column-card { overflow: hidden; background: #fff; border: 1px solid var(--color-border); border-radius: 10px; box-shadow: var(--shadow-soft); transition: transform .2s, border-color .2s; }
.column-card:hover { transform: translateY(-4px); border-color: var(--color-highlight); }
.column-card-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.column-thumb { aspect-ratio: 16 / 9; overflow: hidden; background: var(--flat-blue-pale, #e8f3fa); border-bottom: 2px solid var(--color-border); }
.column-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.column-thumb-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--color-muted); font-family: var(--font-display); font-weight: 700; letter-spacing: .12em; background: #f2f2f2; }
.column-card-body { padding: 1.25rem; }
.column-card-body time, .column-detail-date { display: block; margin: .45rem 0 .3rem; color: var(--color-muted); font-size: .72rem; }
.column-card-body h2, .column-card-body h3 { margin-bottom: .55rem; font-family: var(--font-display); font-size: 1.1rem; line-height: 1.5; }
.column-card-body p { color: var(--color-muted); font-size: .82rem; line-height: 1.7; }
.column-category { display: inline-block; padding: .18rem .55rem; border-radius: 999px; color: var(--flat-blue-dark, #18537f); background: var(--flat-blue-pale, #e8f3fa); font-size: .68rem; font-weight: 700; }
.column-page-hero { min-height: 280px; padding: 7rem 0 1.5rem; background: #fff; border-bottom: 0; }
.column-page .section { background: #fff; }
.column-page .pagination { margin-top: 2.5rem; }
.column-detail-hero { padding: 8rem 0 1.5rem; background: #fff; border-bottom: 0; }
.column-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 3rem; }
.column-detail-image { min-height: 340px; overflow: hidden; border: 1px solid var(--color-border); border-radius: 12px; background: var(--flat-blue-pale, #e8f3fa); }
.column-detail-image img, .column-detail-image .column-thumb-placeholder { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.column-detail-image img { display: block; }
.column-detail-image .column-thumb-placeholder { display: grid; place-items: center; }
.column-detail-summary .back-link { display: inline-block; margin-bottom: 1.25rem; color: var(--flat-green-dark, #1d6849); font-weight: 700; text-decoration: none; }
.column-detail-summary .section-label { margin-top: .7rem; }
.column-detail-summary .page-title { margin: .65rem 0 1rem; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.35; }
.column-detail-page > .section { padding-top: 2rem; background: #fff; }
.column-card-link:focus-visible, .column-detail-summary .back-link:focus-visible { outline: 3px solid var(--flat-blue, #226fa8); outline-offset: -3px; }

@media (min-width: 769px) {
    .column-detail-grid { grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); }
    .column-detail-summary { order: 1; }
    .column-detail-image { order: 2; }
}

@media (max-width: 960px) {
    .column-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .column-detail-grid { gap: 2rem; }
}

@media (max-width: 768px) {
    .column-grid { grid-template-columns: 1fr; }
    .column-section-lead { margin-top: -1.75rem; }
    .column-detail-hero { padding: 6rem 0 1.5rem; }
    .column-detail-grid { grid-template-columns: 1fr; }
    .column-detail-image, .column-detail-image img, .column-detail-image .column-thumb-placeholder { min-height: 220px; }
}
