/* assets/layout-kit.css — move/pattern styling, tokens only. */
/* Namespaced classes the moves add via GenerateBlocks "Additional CSS class(es)". */
.alk-masthead{border-bottom:3px solid var(--atdt-ink);font-family:var(--atdt-font-display)}
.alk-lead-title{font-family:var(--atdt-font-display);color:var(--atdt-ink)}
.alk-rule-double{border-top:1px solid var(--atdt-ink);box-shadow:0 3px 0 var(--atdt-ink);height:0}
/* The post-template (direct parent of the post items) is the grid, not the query wrapper. */
.alk-grid .wp-block-post-template.is-layout-grid{gap:1px;background:var(--atdt-neutral);border:1px solid var(--atdt-neutral)}
.alk-card{background:var(--atdt-surface,#fff);padding:1rem 1.1rem;margin:0}
.alk-card a{color:var(--atdt-ink);text-decoration:none}
.alk-card .wp-block-post-title{font-family:var(--atdt-font-display);margin:.2em 0 .3em;font-size:1.15rem}
.alk-rail{border-left:3px solid var(--atdt-accent);padding-left:1rem;color:var(--atdt-muted)}
.alk-eyebrow{font-family:var(--atdt-font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--atdt-accent);font-size:.72rem}

/* Front move (masthead-lead): masthead band + first item as the big lead. */
.alk-masthead-band{border-bottom:3px solid var(--atdt-ink);margin-bottom:0;padding-bottom:.3rem}
.alk-front.wp-block-post-template.is-layout-grid{gap:1px;background:var(--atdt-neutral);border:1px solid var(--atdt-neutral)}
.alk-front > *:first-child{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr;gap:1.2rem;align-items:center}
.alk-front > *:first-child .wp-block-post-featured-image{grid-row:1/3}
.alk-front > *:first-child .wp-block-post-title{font-family:var(--atdt-font-display);font-size:2rem;line-height:1.05}

/* C-Lekfullt moves: rounded filled chips, mosaic, gallery tiles, framed object. */
/* Token-driven: roundness/fill come from each theme's --atdt-* tokens, so the
   same markup reads playful on a lekfullt theme and calm on a sober one. */
.alk-chip{background:var(--atdt-surface,#fff);border-radius:var(--atdt-radius,16px);padding:.9rem 1rem;margin:0;box-shadow:0 2px 0 var(--atdt-neutral)}
.alk-chip a{color:var(--atdt-ink);text-decoration:none}
.alk-chip .wp-block-post-title{font-family:var(--atdt-font-display);font-size:1.1rem;margin:.4em 0 .2em}
.alk-chip .wp-block-post-featured-image img{border-radius:var(--atdt-radius,16px)}
.alk-mosaic.wp-block-post-template.is-layout-grid{gap:1rem}
.alk-mosaic > *:first-child{grid-column:1/-1}
.alk-mosaic > *:first-child .wp-block-post-title{font-size:1.7rem}
.alk-gallery.wp-block-post-template.is-layout-grid{gap:1rem}
.alk-gallery .alk-chip .wp-block-post-title{font-size:1rem}
.alk-frame{border:2px solid var(--atdt-accent);border-radius:var(--atdt-radius,16px);padding:1.4rem 1.6rem}
.alk-frame .wp-block-post-title{font-family:var(--atdt-font-display)}
.alk-chiprow{display:flex;gap:.5rem;justify-content:center;padding:.6rem 0}
.alk-chiprow span{width:14px;height:14px;border-radius:50%;background:var(--atdt-accent);opacity:.6}
.alk-chiprow span:nth-child(2){background:var(--atdt-ink);opacity:.35}

/* ===== Phase 2 / front ===== */
/* ===== stacked-features: editorial magazine stack, generous full-width rows ===== */
.alk-stackfeat{display:flex;flex-direction:column;gap:3.4rem}
.alk-stackfeat-row{padding:0 0 3.2rem;border-bottom:1px solid var(--atdt-neutral)}
.alk-stackfeat-row:last-child{border-bottom:0}
.alk-stackfeat-cols{gap:2.6rem!important}
.alk-stackfeat-media img{width:100%;height:auto;display:block;border-radius:var(--atdt-radius)}
.alk-stackfeat-body .alk-lead-title{font-family:var(--atdt-font-display);font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.12;margin:.35em 0 .45em}
.alk-stackfeat-body .alk-lead-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-stackfeat-body .alk-lead-title a:hover{color:var(--atdt-accent)}
.alk-stackfeat-body .wp-block-post-excerpt{font-size:1.08rem;line-height:1.7;color:var(--atdt-muted)}
.alk-stackfeat-body .wp-block-post-excerpt__more-link{display:inline-block;margin-top:.6em;font-family:var(--atdt-font-display);color:var(--atdt-accent);text-decoration:none}
@media (max-width:781px){.alk-stackfeat-cols{gap:1.4rem!important}.alk-stackfeat-row{padding-bottom:2.4rem}}

/* ===== poster-grid: bold image-forward poster tiles, big display type, tight gap ===== */
.alk-poster{gap:.75rem!important}
.alk-poster-tile{position:relative;overflow:hidden;border-radius:var(--atdt-radius);background:var(--atdt-surface);height:100%}
.alk-poster-media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.alk-poster-tile .alk-chip{position:absolute;top:1rem;left:1rem;margin:0;z-index:2;background:var(--atdt-accent);color:var(--atdt-on-accent);font-family:var(--atdt-font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.2em .7em;border-radius:999px}
.alk-poster-tile .alk-chip a{color:inherit;text-decoration:none}
.alk-poster-title{font-family:var(--atdt-font-display);font-weight:800;letter-spacing:-.02em;line-height:1.04;font-size:clamp(1.5rem,3vw,2.3rem);margin:1rem 1.1rem 1.2rem}
.alk-poster-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-poster-title a:hover{color:var(--atdt-accent)}
@media (max-width:600px){.alk-poster{grid-template-columns:1fr!important}}

/* ===== index-list: calm scannable rows, no big images, high readability ===== */
.alk-index{display:flex;flex-direction:column}
.alk-index-row{padding:1.4rem 0;border-bottom:1px solid var(--atdt-neutral)}
.alk-index-row:first-child{padding-top:0}
.alk-index-meta{align-items:baseline;gap:.9rem;margin-bottom:.35rem}
.alk-index-meta .alk-eyebrow{margin:0}
.alk-index-date{font-family:var(--atdt-font-mono);font-size:.78rem;color:var(--atdt-muted)}
.alk-index-title{font-family:var(--atdt-font-display);font-weight:600;font-size:1.35rem;line-height:1.25;margin:0 0 .25rem}
.alk-index-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-index-title a:hover{color:var(--atdt-accent)}
.alk-index-row .wp-block-post-excerpt{font-size:.98rem;line-height:1.55;color:var(--atdt-muted);margin:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}

/* ===== hero-split: first post wide split feature spanning full grid, rest in grid below ===== */
.alk-herosplit{align-items:stretch}
.alk-herosplit > .alk-herosplit-card:first-child{grid-column:1 / -1}
.alk-herosplit > .alk-herosplit-card:first-child .alk-herosplit-cols{gap:2.4rem!important;display:flex}
.alk-herosplit > .alk-herosplit-card:first-child .alk-herosplit-media img{width:100%;height:auto;display:block;border-radius:var(--atdt-radius)}
.alk-herosplit > .alk-herosplit-card:first-child .alk-lead-title{font-family:var(--atdt-font-display);font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.1;margin:.3em 0 .4em}
.alk-herosplit > .alk-herosplit-card:first-child .alk-lead-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-herosplit > .alk-herosplit-card:first-child .alk-lead-title a:hover{color:var(--atdt-accent)}
.alk-herosplit > .alk-herosplit-card:first-child .wp-block-post-excerpt{font-size:1.08rem;line-height:1.65;color:var(--atdt-muted)}
.alk-herosplit-card:not(:first-child){padding:1.3rem}
.alk-herosplit-card:not(:first-child) .alk-herosplit-cols{flex-direction:column;gap:.9rem!important}
.alk-herosplit-card:not(:first-child) .alk-herosplit-cols > .wp-block-column{flex-basis:100%!important}
.alk-herosplit-card:not(:first-child) .alk-herosplit-media img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;border-radius:var(--atdt-radius)}
.alk-herosplit-card:not(:first-child) .alk-lead-title{font-size:1.2rem;line-height:1.25;margin:.2em 0 .3em}
.alk-herosplit-card:not(:first-child) .alk-lead-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-herosplit-card:not(:first-child) .wp-block-post-excerpt{font-size:.95rem;color:var(--atdt-muted)}
.alk-herosplit .wp-block-post-excerpt__more-link{display:inline-block;margin-top:.5em;font-family:var(--atdt-font-display);color:var(--atdt-accent);text-decoration:none}
@media (max-width:781px){.alk-herosplit > .alk-herosplit-card:first-child .alk-herosplit-cols{flex-direction:column;gap:1.2rem!important}}


/* ===== Phase 2 / list ===== */
/* ===== editorial-rows: hairline-separated horizontal rows, serif, minimal ===== */
.alk-edrows{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--atdt-ink)}
.alk-edrow{display:flex;align-items:flex-start;gap:1.4rem;padding:1.3rem 0;border-bottom:1px solid var(--atdt-neutral)}
.alk-edrow-thumb{flex:0 0 auto}
.alk-edrow-thumb img{width:120px;height:90px;object-fit:cover;border-radius:var(--atdt-radius);display:block}
.alk-edrow-body{flex:1 1 auto;min-width:0}
.alk-edrow-title{font-family:var(--atdt-font-display);font-weight:700;font-size:1.32rem;line-height:1.18;margin:0 0 .35rem}
.alk-edrow-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-edrow-title a:hover{color:var(--atdt-accent)}
.alk-edrow-body .wp-block-post-excerpt{color:var(--atdt-muted);font-size:.98rem;line-height:1.55;margin:0}
.alk-edrow-arrow{flex:0 0 auto;align-self:center;font-size:1.5rem;line-height:1;color:var(--atdt-accent);opacity:.55;transition:opacity .15s,transform .15s}
.alk-edrow:hover .alk-edrow-arrow{opacity:1;transform:translateX(3px)}
@media (max-width:600px){.alk-edrow{gap:1rem}.alk-edrow-thumb img{width:84px;height:64px}.alk-edrow-arrow{display:none}}

/* ===== ranked-list: numbered ranked list via CSS counter, bold numeral ===== */
.alk-ranked{counter-reset:alk-rank;display:flex;flex-direction:column;gap:0}
.alk-ranked-item{position:relative;counter-increment:alk-rank;display:flex;align-items:center;gap:1.5rem;padding:1.2rem 0 1.2rem 0;border-bottom:1px solid var(--atdt-neutral)}
.alk-ranked-item::before{content:counter(alk-rank);flex:0 0 auto;font-family:var(--atdt-font-display);font-weight:700;font-size:2.6rem;line-height:1;letter-spacing:-.03em;color:var(--atdt-accent);min-width:2.2ch;text-align:right;font-variant-numeric:tabular-nums}
.alk-ranked-body{flex:1 1 auto;min-width:0}
.alk-ranked-body .wp-block-post-terms.alk-eyebrow{margin:0 0 .25rem}
.alk-ranked-title{font-family:var(--atdt-font-display);font-weight:700;font-size:1.28rem;line-height:1.2;margin:0 0 .3rem}
.alk-ranked-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-ranked-title a:hover{color:var(--atdt-accent)}
.alk-ranked-body .wp-block-post-excerpt{color:var(--atdt-muted);font-size:.96rem;line-height:1.5;margin:0}
@media (max-width:600px){.alk-ranked-item{gap:1rem}.alk-ranked-item::before{font-size:2rem;min-width:1.8ch}}

/* ===== two-col-cards: clean 2-col cards with LEFT accent edge, calm ===== */
.alk-twocol-card{background:var(--atdt-surface);border:1px solid var(--atdt-neutral);border-left:4px solid var(--atdt-accent);border-radius:var(--atdt-radius);padding:1.3rem 1.4rem;height:100%}
.alk-twocol-card .wp-block-post-terms.alk-eyebrow{margin:0 0 .4rem}
.alk-twocol-title{font-family:var(--atdt-font-display);font-weight:700;font-size:1.2rem;line-height:1.25;margin:0 0 .45rem}
.alk-twocol-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-twocol-title a:hover{color:var(--atdt-accent)}
.alk-twocol-card .wp-block-post-excerpt{color:var(--atdt-muted);font-size:.98rem;line-height:1.6;margin:0}
@media (max-width:680px){.alk-twocol{grid-template-columns:1fr !important}}

/* ===== sidebar-filter: app-like directory listing, dense scannable cards ===== */
.alk-dircard{background:var(--atdt-surface);border:1px solid var(--atdt-neutral);border-radius:var(--atdt-radius);padding:0 0 .9rem;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:border-color .15s,box-shadow .15s}
.alk-dircard:hover{border-color:var(--atdt-accent);box-shadow:0 8px 22px -16px rgba(0,0,0,.4)}
.alk-dircard-thumb{margin:0}
.alk-dircard-thumb img{width:100%;height:110px;object-fit:cover;display:block}
.alk-dircard-title{font-family:var(--atdt-font-display);font-weight:700;font-size:1.02rem;line-height:1.2;margin:.7rem .9rem .5rem}
.alk-dircard-title a{text-decoration:none;color:var(--atdt-ink)}
.alk-dircard-title a:hover{color:var(--atdt-accent)}
.alk-dircard-chip{margin:0 .9rem;align-self:flex-start}
.alk-dircard-chip a{text-decoration:none;color:inherit}
@media (max-width:780px){.alk-dirlist{grid-template-columns:repeat(2,1fr) !important}}
@media (max-width:480px){.alk-dirlist{grid-template-columns:1fr !important}}


/* ===== Phase 2 / object ===== */
/* mono-spec: utilitarian field-manual title with accent bar */
.alk-spechead{margin-bottom:1.6rem}
.alk-spec-title{border-left:6px solid var(--atdt-accent);padding-left:.7em;line-height:1.08}
.alk-spechead .alk-eyebrow{font-family:var(--atdt-font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--atdt-muted);margin-bottom:.4rem}

/* centered-editorial: centered narrow reading column with drop-cap flourish */
.alk-editorial-title{text-align:center;max-width:18ch;margin-left:auto;margin-right:auto}
.alk-readcol{max-width:42rem;margin-left:auto;margin-right:auto}
.alk-readcol > p:first-of-type::first-letter{font-family:var(--atdt-font-display);font-size:3.2rem;line-height:.78;float:left;padding:.04em .12em 0 0;color:var(--atdt-accent);font-weight:700}

/* overlay-title: H1 positioned over the featured image */
.alk-overlay{position:relative;margin-bottom:2rem}
.alk-overlay .alk-overlay-media img{display:block;width:100%;height:auto;border-radius:var(--atdt-radius)}
.alk-overlay-title{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1.4rem 1.6rem;color:var(--atdt-surface);background:linear-gradient(to top,color-mix(in srgb,var(--atdt-ink) 88%,transparent),transparent);border-radius:0 0 var(--atdt-radius) var(--atdt-radius);line-height:1.06}
@media (max-width:600px){.alk-overlay-title{padding:1rem 1.1rem;font-size:1.5rem}}

/* wide-hero: full-bleed listing hero image */
.alk-widehero img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover}


/* ===== Phase 2 / flourish-a ===== */
.alk-rule-ticks{
  border:0;
  height:14px;
  margin:1.6rem 0;
  background:
    linear-gradient(var(--atdt-ink),var(--atdt-ink)) left center / 100% 2px no-repeat,
    repeating-linear-gradient(90deg,var(--atdt-ink) 0 2px,transparent 2px 22px) left bottom / 100% 8px no-repeat;
  background-position:left center, left bottom;
}


/* ===== Phase 2 / flourish-b ===== */
.alk-top-stripe {
  width: 100%;
  height: 4px;
  background: var(--atdt-accent);
}

.alk-rule-soft {
  width: 120px;
  height: 0;
  margin: 1.6rem auto;
  border: 0;
  border-top: 1px solid var(--atdt-muted);
  opacity: .55;
}

.alk-cta-chip {
  display: flex;
  justify-content: center;
  margin: 1.2rem auto;
}

.alk-cta-chip span {
  display: inline-block;
  padding: .5em 1.4em;
  background: var(--atdt-accent);
  color: var(--atdt-on-accent);
  border-radius: var(--atdt-radius);
  font-family: var(--atdt-font-display);
  font-weight: 600;
  font-size: .9rem;
  letter-spacing: .02em;
}
