/* ==========================================================================
   Startsidan — säljsidan på /  (rapportens kapitel 06)
   Verktyget bor på /skapa. Följer _design/DESIGNSTANDARD.md (18/8):
   sidan öppnar i EN mörk zon (glas-topbar + aurora-hero med plaketthörn),
   plommon är yta och primär-CTA på ljust, sanden bär accenten (ögonbryn,
   markerad H1-fras, primär-CTA på mörkt), allt annat är ink — ink-800 är
   text och aldrig yta. Golven växlar canvas ↔ vitt, ton (ink-100) används
   EN gång (prisbandet); centrering finns bara i finalens CTA-spalt.

   Kanonkomponenterna kommer ur mallsidor.css: mv__topp (+ Logga in),
   mv__cta/--stor/--invert, mv__kort, mv__faq, mv__finale, mv__kolofon,
   mv__yrkechip. Här bor bara det startsidespecifika.
   ENDAST tokens ur tokens.css — en odefinierad var() nollar deklarationen.
   ========================================================================== */

.st-main { display: block; }
/* Flytande sektionsandning — aldrig fast 72px (standarden §1). */
.st-sektion { padding: clamp(48px, 7vw, 88px) 0; }
.st-sektion--vit { background: var(--white); }
/* Ton sparsamt: bara prisbandet. */
.st-sektion--ton { background: var(--ink-100); }
.st-rad { max-width: 1180px; margin: 0 auto; padding: 0 var(--s8); }
/* Smalspåret: FAQ läses i 760 px, inte i 1180. */
.st-rad--smal { max-width: 760px; }

/* Ingen avstavning i rubriker (granskningen 3/9): skalet slog på hyphens:auto
   under 560 px och gav "väns-ter", "spår-ning", "Se-dan" mitt i H2:orna.
   Balanserade rader i stället; overflow-wrap i skalet är kvar som nödutgång. */
.st-h2 { font-size: var(--t-xl); font-weight: 700; color: var(--plum-900); margin: 0 0 var(--s4); line-height: 1.3; -webkit-hyphens: manual !important; hyphens: manual !important; text-wrap: balance; }
/* Plommonmarkören: loggans mjuka form i miniatyr som sektionsankare. */
.st-h2::before {
  content: ""; display: block; width: 28px; height: 4px;
  border-radius: var(--r-pill); background: var(--plum-300);
  margin-bottom: var(--s3);
}
.st-ingress { font-size: var(--t-md); color: var(--ink-600); line-height: 1.65; max-width: 62ch; margin: 0 0 var(--s6); }

/* --- hero: aurora på plommon, plaketthörn nedre vänster (facit /foretag) -- */
.st-hero {
  background:
    radial-gradient(1100px 640px at 88% -12%, rgba(139,75,161,.5), transparent 62%),
    radial-gradient(760px 520px at -8% 108%, rgba(232,201,155,.14), transparent 55%),
    linear-gradient(175deg, var(--plum-850) 0%, var(--plum-800) 55%, var(--plum-700) 100%);
  color: var(--dark-text);
  padding: clamp(36px, 6vw, 68px) 0 clamp(44px, 7vw, 84px);
  border-radius: 0 0 0 clamp(40px, 8vw, 96px);
  overflow: hidden;
}
.st-hero .st-rad {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(32px, 5vw, 64px); align-items: center;
}
.st-ogonbryn {
  font-size: var(--t-xs); font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; color: var(--sand-300); margin: 0 0 var(--s4);
}
.st-h1 { font-size: var(--t-display); line-height: 1.12; color: var(--white); margin: 0 0 var(--s4); letter-spacing: -.01em; -webkit-hyphens: auto; hyphens: auto; }
.st-h1 .st-mark { color: var(--sand-300); }
.st-hero__under { font-size: var(--t-lg); color: var(--dark-muted); max-width: 46ch; margin: 0 0 var(--s6); }
.st-mikro { font-size: var(--t-sm); color: var(--dark-muted); margin-top: var(--s3); }
.st-sekundar { margin-top: var(--s5); font-size: var(--t-sm); color: var(--dark-muted); }
.st-sekundar a { color: var(--sand-300); font-weight: 600; }

/* live-förhandsvisningen: riktig mall, riktigt namn */
.st-live { position: relative; }
.st-live__ark {
  width: 100%; aspect-ratio: 794 / 1123; overflow: hidden;
  border-radius: var(--r-sm); box-shadow: var(--sh-4);
  background: var(--white);
}
.st-live__ark .cv { transform-origin: top left; pointer-events: none; }
.st-live__falt { margin-top: var(--s4); display: flex; gap: var(--s3); align-items: center; }
.st-live__falt input {
  flex: 1; padding: 12px 18px; font-size: var(--t-md); font-family: inherit;
  border: 1.5px solid var(--dark-line); border-radius: var(--r-pill);
  background: var(--white); color: var(--ink-800);
}
.st-live__falt input:focus { outline: 2px solid var(--sand-300); outline-offset: 1px; }
.st-live__not { font-size: var(--t-xs); color: var(--dark-muted); margin-top: var(--s2); }

/* --- trust-raden: strip på canvas, som bevis-strippen ---------------------- */
.st-trust { border-bottom: 1px solid var(--line-soft); padding: var(--s6) 0; }
.st-trust .st-rad { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s6); }
.st-trust h3 { font-size: var(--t-md); color: var(--ink-800); margin: 0 0 var(--s1); }
.st-trust p { font-size: var(--t-sm); color: var(--ink-500); margin: 0; }

/* --- "Varför": texten till vänster, jämförelsetabellen till höger ----------
   (granskningen 3/9: tabellen stod ensam i vänsterspalten med halva raden tom
   till höger och sektionen blev 900 px hög — som uppslag är den 500). */
.st-varfor {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 5vw, 64px); align-items: center;
}
.st-varfor .st-ingress:last-child { margin-bottom: 0; }
@media (max-width: 999px) { .st-varfor { grid-template-columns: minmax(0, 1fr); } }

/* --- jämförelsetabellen: plommonhuvud (ink-800 är text, aldrig yta) ------- */
.st-tabell {
  width: 100%; border-collapse: collapse; max-width: 720px;
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r-md); overflow: hidden; box-shadow: var(--sh-2);
}
.st-tabell th, .st-tabell td { text-align: left; padding: 12px 18px; font-size: var(--t-sm); border-bottom: 1px solid var(--line-soft); }
.st-tabell thead th { background: var(--plum-800); color: var(--white); font-weight: 700; }
/* Rubrikraden på en rad i uppslaget — på mobil måste "Typisk CV-sajt" få brytas. */
@media (min-width: 1000px) { .st-tabell thead th { white-space: nowrap; } }
.st-tabell tr:last-child td { border-bottom: 0; }
.st-tabell td:first-child { color: var(--ink-500); width: 42%; }
.st-ja { color: var(--ok); font-weight: 700; }
.st-nej { color: var(--danger); font-weight: 700; }

/* --- mallsektionen: korten är kanon (mv__kort), bara rastret är eget ------ */
.st-mallar .mv__rutnat { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s6); margin-top: var(--s6); }
.st-mallar .mv__korttext { padding: var(--s3) var(--s4) var(--s4); }
.st-mallar .mv__korttext h3 { font-size: var(--t-md); margin: 0; }
.st-mallar .mv__korttext h3 a { color: var(--ink-800); text-decoration: none; }
.st-mallar .mv__korttext h3 a:hover { text-decoration: underline; }
.st-alla { margin-top: var(--s6); font-size: var(--t-md); }
.st-alla a { color: var(--ink-700); font-weight: 700; }

/* --- tre steg: cirklarna i plommon, inte i bläck --------------------------- */
.st-steg { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s6); margin: var(--s6) 0; padding: 0; counter-reset: steg; }
.st-steg li {
  list-style: none; background: var(--white); border: 1px solid var(--line);
  border-radius: 18px; padding: var(--s5); position: relative; box-shadow: var(--sh-1);
}
.st-steg li::before {
  counter-increment: steg; content: counter(steg);
  display: inline-grid; place-items: center; width: 34px; height: 34px;
  border-radius: 50%; background: var(--plum-100); color: var(--plum-800);
  font-weight: 800; margin-bottom: var(--s3);
}
.st-steg h3 { font-size: var(--t-md); color: var(--ink-800); margin: 0 0 var(--s2); }
.st-steg p { font-size: var(--t-sm); color: var(--ink-500); margin: 0; }
/* Stegsektionen i tvåspalt (bildlyftet 27/8): stegen staplade till vänster,
   köksbordsfotot till höger — ljusa skalets kortskugga, samma som guidernas
   heroark. Fotot är dekor på smal skärm och lägger sig sist. */
.st-stegrad {
  display: grid; grid-template-columns: minmax(0, 1fr) 420px;
  gap: clamp(28px, 5vw, 64px); align-items: center;
}
/* Staplade blir stegen en vertikal stepper — nummer i vänsterspalt, text
   bredvid — i stället för skalets höga centrerade plattor (padding-
   !important därifrån kräver !important här; spalten 56px = skalets
   cirkelbredd, annars äts gapet upp). */
.st-stegrad .st-steg { grid-template-columns: 1fr; }
.st-stegrad .st-steg li {
  display: grid; grid-template-columns: 56px 1fr; column-gap: var(--s4);
  align-items: start; text-align: left; padding: 22px 26px !important;
}
.st-stegrad .st-steg li::before { grid-row: 1 / 3; }
.st-stegrad .st-steg h3, .st-stegrad .st-steg p { grid-column: 2; }
.st-foto { margin: 0; }
.st-foto img {
  width: 100%; height: auto; display: block;
  border-radius: 14px; box-shadow: 0 18px 44px rgba(86,13,112,.20);
}
@media (max-width: 980px) { .st-stegrad { grid-template-columns: minmax(0, 1fr); } }

/* --- yrkesvalet ----------------------------------------------------------- */
.st-yrken { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s5); }
.st-yrke {
  display: inline-block; padding: 9px 18px; border-radius: var(--r-pill);
  border: 1.5px solid var(--line); background: var(--white);
  color: var(--ink-700); font-size: var(--t-sm); font-weight: 600; text-decoration: none;
  transition: border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);
}
.st-yrke:hover { border-color: var(--plum-400); color: var(--plum-800); box-shadow: var(--sh-1); }
/* Två grupper (2/9): yrkespaket som öppnar CV-byggaren med sektionerna på
   plats, och färdiga exempel att läsa först. Etiketten skiljer dem åt —
   löftet i ingressen gäller bara paketen. */
.st-yrkelabel { margin: var(--s5) 0 0; font-size: var(--t-sm); font-weight: 700; color: var(--ink-700); }
.st-yrkelabel + .st-yrken { margin-top: var(--s3); }

/* --- yrkessektionens uppslag: text + chips till vänster, mallparaden till
   höger — fyra av de nya mallarna (Fasad, Skrå, Ribba, Bricka), renderade i
   appen med demoinnehållet. Arken är dekor (aria-hidden); namnraden under
   bär länkarna. Plommonskuggan som på startsidans hero-kort. ---------------- */
.st-yrkerad {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(32px, 5vw, 64px); align-items: center;
}
.st-parad { display: grid; gap: var(--s4); }
/* Arken fyller spalten (granskningen 3/9: 205 px breda ark i en 440 px hög
   yta såg utspridda ut — nu 16 vw och ytan skuren efter arkens höjd). */
.st-solfjader { position: relative; height: clamp(300px, 26vw, 380px); }
.st-dok {
  position: absolute; width: clamp(150px, 16.5vw, 240px); height: auto;
  aspect-ratio: 794 / 1123;
  background: var(--white); border-radius: 10px;
  box-shadow: 0 18px 44px rgba(86,13,112,.20);
}
.st-dok--1 { left: 0;   top: 10%; transform: rotate(-8deg); z-index: 1; }
.st-dok--2 { left: 18%; top: 3%;  transform: rotate(-3deg); z-index: 2; }
.st-dok--3 { left: 36%; top: 0;   transform: rotate(2deg);  z-index: 3; }
.st-dok--4 { left: 54%; top: 7%;  transform: rotate(6deg);  z-index: 4; }
.st-parad__namn { margin: 0; font-size: var(--t-sm); color: var(--ink-600); }
.st-parad__namn a { color: var(--ink-700); font-weight: 700; }
@media (max-width: 980px) {
  .st-yrkerad { grid-template-columns: minmax(0, 1fr); }
  .st-solfjader {
    width: 100%; max-width: 620px; margin-top: var(--s6);
    height: clamp(240px, 52vw, 380px);
  }
  .st-dok { width: clamp(120px, 24vw, 190px); }
}

/* --- integritet ----------------------------------------------------------- */
.st-varning {
  max-width: 720px; margin-top: var(--s6);
  border-left: 4px solid var(--sand-600); background: var(--warn-100);
  padding: var(--s4) var(--s5); border-radius: 0 var(--r-sm) var(--r-sm) 0;
  font-size: var(--t-sm); color: var(--ink-700);
}

/* --- pris ----------------------------------------------------------------- */
.st-pris { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s6); margin-top: var(--s6); max-width: 860px; }
.st-priskort { background: var(--white); border: 1px solid var(--line-soft); border-radius: 18px; padding: var(--s6); box-shadow: var(--sh-1); }
.st-priskort h3 { font-size: var(--t-lg); color: var(--ink-800); margin: 0 0 var(--s2); }
.st-priskort ul { margin: var(--s3) 0 var(--s5); padding-left: 20px; color: var(--ink-500); font-size: var(--t-sm); line-height: 1.8; }
/* Sekundärknapp på ljust enligt standarden: 1px line, ink-700, plommonhover. */
.st-prisknapp {
  display: inline-block; padding: 9px 18px; border-radius: var(--r-pill);
  border: 1px solid var(--line); color: var(--ink-700);
  font-weight: 700; font-size: var(--t-sm); text-decoration: none;
  transition: border-color var(--fast) var(--ease), color var(--fast) var(--ease);
}
.st-prisknapp:hover { border-color: var(--plum-400); color: var(--plum-800); }
.st-foretagsrad { margin-top: var(--s5); font-size: var(--t-sm); color: var(--ink-500); }
.st-foretagsrad a { color: var(--ink-700); font-weight: 600; }

/* FAQ, finale och kolofon är kanon ur mallsidor.css:
   mv__faq (plus-rotationen), mv__finale (mörka slutbandet) och mv__kolofon
   (en rad på canvas). Inget eget här. */

/* --- "Så ser det ut": riktiga skärmdumpar av CV-byggaren ------------------
   Datorvyn 1440 px bär uppslaget, telefonen står bredvid i sin egen bredd.
   Skärmdumparna är ark på ljus yta → lilaskuggan (standardens undantag). */
/* Telefonens bredd följer skärmen (granskningen 3/9: fast 220 px gjorde
   telefonen högre än datorbilden på 768–1024 och lämnade ett hål ovanför). */
.st-vy__bilder {
  display: grid; grid-template-columns: minmax(0, 1fr) clamp(150px, 15.5vw, 220px);
  gap: clamp(20px, 3vw, 40px); align-items: end; margin-top: var(--s6);
}
.st-vy__dator, .st-vy__mobil { margin: 0; }
.st-vy__dator img {
  width: 100%; height: auto; display: block;
  border-radius: 14px; box-shadow: 0 18px 44px rgba(86,13,112,.20);
}
.st-vy__mobil img {
  width: 100%; height: auto; display: block;
  border-radius: 26px; box-shadow: 0 18px 44px rgba(86,13,112,.20);
}
.st-funklista {
  display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5);
  margin: var(--s6) 0 0; padding: 0; list-style: none;
  font-size: var(--t-sm); font-weight: 600; color: var(--ink-700);
}
.st-funklista li { position: relative; padding-left: 16px; }
.st-funklista li::before {
  content: ""; position: absolute; left: 0; top: .55em;
  width: 8px; height: 8px; border-radius: 50%; background: var(--plum-300);
}
@media (max-width: 760px) {
  .st-vy__bilder { grid-template-columns: minmax(0, 1fr); }
  .st-vy__mobil { max-width: 220px; }
  /* Funktionslistan som jämn tvåspalt i stället för ojämn flex-wrap. */
  .st-funklista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s2) var(--s4); }
}
@media (max-width: 420px) { .st-funklista { grid-template-columns: minmax(0, 1fr); } }

/* --- Grunden: tre små vyer ur appen + tre rader text ---------------------- */
.st-grund__rad { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); margin-top: var(--s6); }
.st-grund__kort {
  background: var(--white); border-radius: 20px; overflow: hidden;
  box-shadow: 0 2px 18px rgba(44,5,56,.06), 0 0 0 1px rgba(86,13,112,.06);
}
.st-grund__kort img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 3;
  object-fit: cover; object-position: left top;
  border-bottom: 1px solid var(--line-soft);
}
.st-grund__kort h3 { font-size: var(--t-md); color: var(--ink-800); margin: var(--s4) var(--s5) var(--s2); }
.st-grund__kort p { font-size: var(--t-sm); color: var(--ink-600); margin: 0 var(--s5) var(--s5); line-height: 1.6; }
.st-grund__extra {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5) var(--s6);
  margin: var(--s8) 0 0; padding-top: var(--s5); border-top: 1px solid var(--line-soft);
}
.st-grund__extra dt { font-size: var(--t-sm); font-weight: 700; color: var(--ink-800); margin: 0 0 var(--s1); }
.st-grund__extra dd { font-size: var(--t-sm); color: var(--ink-600); margin: 0; line-height: 1.6; }
@media (max-width: 900px) {
  .st-grund__rad, .st-grund__extra { grid-template-columns: minmax(0, 1fr); }
}

/* --- Ingen AI, ingen spårning, inget konto: tre delar med stroke-ikon ------ */
.st-paket__rad { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s6); margin-top: var(--s6); }
.st-paket__del { background: var(--plum-050); border-radius: 20px; padding: var(--s5) var(--s5) var(--s6); }
.st-paket__ikon {
  display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
  background: var(--plum-100); color: var(--plum-800); margin-bottom: var(--s4);
}
.st-paket__ikon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.st-paket__del h3 { font-size: var(--t-md); color: var(--ink-800); margin: 0 0 var(--s2); }
.st-paket__del p { font-size: var(--t-sm); color: var(--ink-600); margin: 0; line-height: 1.6; }
@media (max-width: 900px) { .st-paket__rad { grid-template-columns: minmax(0, 1fr); } }

/* ATS-märke på galleriets kort — samma ord som i galleriet och mallväljaren */
.st-ats {
  display: inline-block; vertical-align: middle; margin-left: var(--s2);
  padding: 2px 8px; border-radius: var(--r-pill);
  font-size: var(--t-xs); font-weight: 700; letter-spacing: .04em;
  background: var(--ok-100); color: var(--ok);
}

/* --- mobil ---------------------------------------------------------------- */
@media (max-width: 900px) {
  /* minmax(0,1fr), inte 1fr: spårets auto-min ärver annars CV-arkets fasta
     794px (transform-skalan påverkar inte layoutbredden) och heron klipps
     på mobil — buggen satt i produktion till 20/8. */
  .st-hero .st-rad { grid-template-columns: minmax(0, 1fr); }
  .st-trust .st-rad { grid-template-columns: 1fr 1fr; }
  .st-mallar .mv__rutnat { grid-template-columns: 1fr 1fr; }
  .st-steg { grid-template-columns: 1fr; }
  .st-pris { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .st-rad { padding: 0 var(--s5); }
}
