/* Shared editorial cards: geometry and slots belong to the primitive, colors to the consumer. */
.gik25-editorial-grid { --gik25-card-grid-columns:3; display:grid; grid-template-columns:repeat(var(--gik25-card-grid-columns),minmax(0,1fr)); gap:var(--gik25-card-grid-gap,22px); }
.gik25-editorial-grid--two_columns { --gik25-card-grid-columns:2; }
.gik25-editorial-card { min-width:0; margin:0; padding:0; border:1px solid var(--gik25-card-line,var(--line,#e2e6e3)); border-radius:18px; overflow:hidden; background:var(--gik25-card-surface,#fff); color:var(--gik25-card-ink,var(--ink,#172e29)); transition:transform .18s ease,box-shadow .18s ease; }
.gik25-editorial-card__link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; border:0; }
.gik25-editorial-card__media { position:relative; overflow:hidden; aspect-ratio:16/10; margin:0; background:var(--mint,#e6f3ea); }
.gik25-editorial-card__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.gik25-editorial-card__body { display:flex; flex-direction:column; align-items:flex-start; flex:1; gap:10px; padding:20px 22px 22px; }
.gik25-editorial-card__label { color:var(--gik25-card-accent,var(--green,#1d5749)); font:750 10px/1.4 system-ui,sans-serif; letter-spacing:.11em; text-transform:uppercase; }
.gik25-editorial-card__title { margin:0; overflow-wrap:anywhere; color:inherit; font:650 19px/1.3 system-ui,sans-serif; letter-spacing:-.025em; }
.gik25-editorial-card__description { margin:0; overflow-wrap:anywhere; color:var(--gik25-card-muted,var(--muted,#576b62)); font-size:13px; line-height:1.55; }
.gik25-editorial-card__meta { color:var(--gik25-card-muted,var(--muted,#576b62)); font-size:12px; line-height:1.4; }
.gik25-editorial-card__cta { display:block; padding-top:6px; margin-top:auto; font-size:13px; line-height:1.45; font-weight:750; color:var(--gik25-card-accent,var(--green,#1d5749)); }
.gik25-editorial-card__warning { color:#69582f; background:#fbf5e8; border:1px solid #e7d5ae; border-radius:5px; padding:3px 7px; font-size:11px; }
.gik25-editorial-card--topic .gik25-editorial-card__title { font-size:22px; }
.gik25-editorial-card--compact .gik25-editorial-card__link { flex-direction:row; align-items:stretch; }
.gik25-editorial-card--compact .gik25-editorial-card__media { flex:0 0 30%; aspect-ratio:auto; max-width:150px; }
.gik25-editorial-card--compact .gik25-editorial-card__body { padding:var(--gik25-card-compact-padding,17px); }
.gik25-editorial-card--compact .gik25-editorial-card__title { font-size:17px; }
.gik25-editorial-card[data-has-media="false"] .gik25-editorial-card__body { border-top:4px solid var(--gik25-card-accent,var(--green,#1d5749)); }
@media(hover:hover) { .gik25-editorial-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px -18px #172e2945; } .gik25-editorial-card:hover img { transform:scale(1.035); } }
.gik25-editorial-card:focus-within { outline:3px solid var(--gik25-card-accent,var(--green,#1d5749)); outline-offset:3px; }
.gik25-editorial-card__link:is(:hover,:focus-visible) .gik25-editorial-card__cta { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:950px) { .gik25-editorial-grid { --gik25-card-grid-columns:2; --gik25-card-grid-gap:16px; } }
@media(max-width:600px) { .gik25-editorial-grid { --gik25-card-grid-columns:1; --gik25-card-grid-gap:18px; } .gik25-editorial-card__body { padding:18px; } .gik25-editorial-card--topic .gik25-editorial-card__media { aspect-ratio:2/1; } }
@media(prefers-reduced-motion:reduce) { .gik25-editorial-card, .gik25-editorial-card__media img { transition:none; } }
