/* 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}

/* byline: synlig forfattare (+ datum) pa varje object-move.
   Ett content-template ersatter GeneratePress standardmall, sa utan detta
   publiceras artikeln helt utan byline for lasaren (E-E-A-T-krav i CLAUDE.md). */
.atdt-byline{
  gap:.5rem;
  margin:.9rem 0 1.4rem;
  font-family:var(--atdt-font-mono);
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--atdt-muted);
}
.atdt-byline > *{margin:0}
.atdt-byline .wp-block-post-author-name{font-weight:600;color:var(--atdt-ink)}
.atdt-byline .wp-block-post-date a{color:inherit;text-decoration:none}
/* mittpunkt som avdelare mellan forfattare och datum (aldrig tankstreck) */
.atdt-byline .wp-block-post-date::before{content:"\00B7";margin-right:.5rem}

/* centered-editorial: bylinen centreras under rubriken */
.atdt-byline--center{justify-content:center;text-align:center}

/* mono-spec: bylinen ar en rad i faktabladets huvud, i linje med accentstapeln */
.atdt-byline--spec{margin:.7rem 0 0;padding-left:calc(6px + .7em)}

/* side-rail: bylinen ar ett objekt i railen, over datumet */
.alk-rail .atdt-byline--rail{
  margin:.6rem 0 .1rem;
  font-family:var(--atdt-font-mono);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:600;
  color:var(--atdt-ink);
}


/* ===== 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;
}

/* Sidmarginal for mallar som ersatter .inside-article (0.7.8).
   Inlaggs- och arkivmallarna ar GP Elements som skriver sitt innehall direkt under
   .site-main. De ersatter darmed .inside-article, som bar GeneratePress sidutfyllnad,
   och texten lag 0 px fran kanten upp till cirka 1050 px bredd. Uppmatt 2026-10-02:
   52 av 61 sajter med mallarna. Vardena foljer GP:s egna: 40 px, 30 px pa mobil.
   Undantaget galler ramvarianten, dar .alk-frame omsluter hela artikeln och sjalv
   bar utfyllnaden. :only-child ar avgorande: utvald bild bar ocksa klassen .alk-frame. */
.separate-containers .site-main > .dynamic-content-template:not(:has(> .alk-frame:only-child)),
.separate-containers .site-main > .wp-block-group,
.separate-containers .site-main > .wp-block-query{padding-left:40px;padding-right:40px;box-sizing:border-box}
@media (max-width:768px){.separate-containers .site-main > .dynamic-content-template:not(:has(> .alk-frame:only-child)),.separate-containers .site-main > .wp-block-group,.separate-containers .site-main > .wp-block-query{padding-left:30px;padding-right:30px}}

/* Miniatyren i arkivraden far fast bredd (0.7.8). Med flex:0 0 auto blev figuren lika
   bred som fotokreditens text pa en rad, och rubriken trycktes ut ur bild pa mobil
   (premiar.se: rubriken borjade 437 px in pa en 390 px bred skarm). */
.alk-edrow-thumb{flex:0 0 120px;width:120px;max-width:120px}
.alk-edrow-thumb figcaption,.alk-edrow-thumb .atdt-fotocred{font-size:.62rem;line-height:1.3;margin-top:.3rem;text-align:left;overflow-wrap:anywhere}
@media (max-width:600px){.alk-edrow-thumb{flex-basis:84px;width:84px;max-width:84px}}

/* Startsidans huvudkort pa smala skarmar (0.7.9). Rutnatet 2fr 1fr saknade mobillage:
   kortet fick tva tredjedelar av bredden och resten stod tom (206 px kort pa en 390 px
   skarm). Under 769 px tar kortet hela bredden. */
@media (max-width:768px){.alk-front > *:first-child{grid-template-columns:minmax(0,1fr)}}
/* Rutnatets poster far krympa (0.7.9). WordPress satter 1fr under 600 px, alltsa
   minmax(auto,1fr), och da tvingar en bred eller trasig bild upp hela kolumnen
   (hamnkrogen.se: 796 px bred startsida pa en 390 px skarm). */
.wp-block-post-template-is-layout-grid > .wp-block-post{min-width:0}
/* Paginering i flodes- och arkivmoves (0.7.10). Inget move bar wp:query-pagination,
   sa bara de tio senaste inlaggen gick att na fran flodet (banktjanst.nu 2026-10-13). */
.atdt-paginering{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--atdt-neutral);gap:1rem;font-family:var(--atdt-font-mono)}
.atdt-paginering a{color:var(--atdt-accent)}
.atdt-paginering .page-numbers.current{color:var(--atdt-ink);font-weight:700}

/* side-rail bredvid GeneratePress sidopanel (0.7.11). Mallen delar artikeln 66/34 med
   railen till hoger, men pa en sajt med GP:s sidopanel hamnar den uppdelningen inuti
   en redan smal innehallsyta. Brodtexten fick 472 px av 1200 och railen, som bara bar
   kategori, forfattare och datum, lamnade resten av hogerkolumnen tom
   (bostadformedlingen.se 2026-10-16; 21 av 23 sajter med mallen har sidopanel).
   Med sidopanel staplas kolumnerna och railen blir en metarad over texten. */
:is(.right-sidebar,.left-sidebar,.both-sidebars,.both-right,.both-left) .wp-block-columns:has(> .alk-rail){flex-direction:column;flex-wrap:nowrap;gap:0}
:is(.right-sidebar,.left-sidebar,.both-sidebars,.both-right,.both-left) .wp-block-columns:has(> .alk-rail) > .wp-block-column{flex-basis:auto!important;width:100%}
:is(.right-sidebar,.left-sidebar,.both-sidebars,.both-right,.both-left) .wp-block-columns > .alk-rail{order:-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.1rem;border-left:0;border-top:3px solid var(--atdt-accent);padding:.7rem 0 0;margin-bottom:1.6rem}
:is(.right-sidebar,.left-sidebar,.both-sidebars,.both-right,.both-left) .wp-block-columns > .alk-rail > *{margin:0}
