/*!
 * Svenska Hjärtan – kurssidor, version 1.
 *
 * Stil för utbildningssidornas block i Umbraco (uSkinned "Code"-block). Läggs in en gång i sidhuvudet:
 *   <link rel="stylesheet" href="https://bokning.svenskahjartan.se/embed/v1/kurssida.css">
 * Varje block är ett <section class="sh-kurs …">. Alla klasser börjar med sh- så att uSkinneds egen stil
 * inte påverkar dem, och tvärtom. Rörelserna finns i kurssida.js.
 */

.sh-kurs {
  --sh-page: #080E22;
  --sh-surface: #0C1631;
  --sh-surface-2: #111D3F;
  --sh-ink: #FFFFFF;
  --sh-muted: #B9C2D8;
  --sh-line: rgba(255, 255, 255, .12);
  --sh-chip: rgba(255, 255, 255, .08);
  --sh-orange: #F35B04;
  --sh-orange-soft: #FF8A3D;
  --sh-blue: #4F78C8;
  --sh-blue-hover: #5D87D9;
  --sh-ok: #3CC48A;
  --sh-plate: #FFFFFF;
  --sh-r-s: 6px; --sh-r-m: 12px; --sh-r-l: 18px;
  --sh-ease: cubic-bezier(.2, .7, .3, 1);

  position: relative;
  box-sizing: border-box;
  background: var(--sh-page);
  color: var(--sh-ink);
  font-family: Hind, "Segoe UI", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.6;
  text-align: left;
  padding-block: 72px;
}
.sh-kurs *, .sh-kurs *::before, .sh-kurs *::after { box-sizing: border-box; }

/* Blocken ligger i uSkinneds innehållsbredd; sh-full går kant i kant med skärmen. */
/* 100vw räknar med rullningslisten; kurssida.js sätter --sh-sbw till dess bredd så att blocken inte blir för breda. */
.sh-kurs.sh-full { --sh-vw: calc(100vw - var(--sh-sbw, 0px)); width: var(--sh-vw); max-width: var(--sh-vw); margin-left: calc(50% - var(--sh-vw) / 2); margin-right: calc(50% - var(--sh-vw) / 2); }
body:has(.sh-kurs.sh-full) { overflow-x: clip; }
/* uSkinneds sidbakgrund är ljusgrå. Blocken har höjder med decimaler, och när ett kort lyfts vid hovring kan
   en hårfin glipa mellan två block avrundas så att bakgrunden lyser igenom som en vit remsa. På kurssidorna
   är bakgrunden därför mörk. */
body:has(.sh-kurs.sh-hero) { background-color: #080E22; }
/* uSkinned lägger varje Code-block i en egen sektion med 50 px luft och egen bakgrund. För våra block tas det
   bort, så att blocken ligger tätt och bokningsbandet kan överlappa bildytan. */
.usn_cmp_code:has(.sh-kurs) { padding-top: 0 !important; padding-bottom: 0 !important; background: transparent !important; }
/* På kurssidorna öppnas uSkinneds popup-formulär (t.ex. "Boka annat datum/egen kurs") från våra egna knappar.
   uSkinneds knappblock behövs ändå på sidan, eftersom det skapar formuläret, men själva knappen döljs. Formuläret
   lägger uSkinned direkt i body, så det påverkas inte. */
body:has(.sh-kurs.sh-hero) .usn_cmp_pods:not(:has(.sh-kurs)):has(a[data-toggle="modal"][href^="#modal_"]) { display: none !important; }
.sh-wrap { max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }

/* Nollställ det uSkinned annars sätter på rubriker, stycken, listor och länkar */
.sh-kurs h1, .sh-kurs h2, .sh-kurs h3, .sh-kurs p, .sh-kurs ul, .sh-kurs li, .sh-kurs figure, .sh-kurs blockquote, .sh-kurs dl, .sh-kurs dd {
  margin: 0; padding: 0; font-family: inherit; color: inherit; text-transform: none; letter-spacing: normal; background: none; border: 0;
}
.sh-kurs h1, .sh-kurs h2, .sh-kurs h3 { line-height: 1.15; text-wrap: balance; font-weight: 700; }
.sh-kurs h2 { font-size: clamp(28px, 3.4vw, 38px); }
.sh-kurs ul { list-style: none; }
.sh-kurs a { color: inherit; text-decoration: none; }
.sh-kurs img { max-width: 100%; height: auto; display: block; }
.sh-kurs :focus-visible { outline: 3px solid var(--sh-orange-soft); outline-offset: 3px; }
.sh-eyebrow { display: block; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--sh-orange-soft); margin-bottom: 6px; }
.sh-kurs .sh-lede { color: var(--sh-muted); max-width: 62ch; margin-top: 12px; }
/* Mindre luft överst för block som följer ett block med samma bakgrund. Aldrig noll: föregående block kan ha
   annan bakgrund eller vara ett av uSkinneds egna block utan luft i nederkanten. */
.sh-kurs.sh-tight { padding-top: 32px; }
.sh-kurs.sh-band-surface { background: var(--sh-surface); border-block: 1px solid var(--sh-line); }

/* ---- Knappar ---- */
.sh-btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 9px; padding: 13px 22px 11px;
  font-family: inherit; font-weight: 600; font-size: 16px; line-height: 1.1; text-decoration: none; border: 2px solid transparent; cursor: pointer; color: #fff;
  transition: transform .2s var(--sh-ease), box-shadow .25s, background-color .2s, border-color .2s; }
.sh-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent); transform: skewX(-20deg); opacity: 0; pointer-events: none; }
.sh-btn:hover { transform: translateY(-2px); }
/* uSkinned färgar länkar orange med högre prioritet än en enskild klass; knapparnas text ska vara vit. */
.sh-kurs a.sh-btn, .sh-kurs a.sh-btn:hover, .sh-kurs a.sh-btn:focus, .sh-kurs a.sh-btn:visited { color: #fff; text-decoration: none; }
.sh-kurs a.sh-btn-orange, .sh-kurs a.sh-btn-orange:hover, .sh-kurs a.sh-btn-orange:focus, .sh-kurs a.sh-btn-orange:visited { color: var(--sh-page); }
.sh-kurs a.sh-btn-ghost, .sh-kurs a.sh-btn-ghost:hover, .sh-kurs a.sh-btn-ghost:focus, .sh-kurs a.sh-btn-ghost:visited { color: var(--sh-orange-soft); }
.sh-btn:hover::after { animation: sh-shine .7s ease; }
.sh-btn:active { transform: translateY(0) scale(.98); }
@keyframes sh-shine { 0% { left: -60%; opacity: 1; } 100% { left: 130%; opacity: 1; } }
/* Orange knapp med texten i sidans mörka bakgrundsfärg, och spökknapp med orange text och vit ram. */
.sh-btn-orange { background: var(--sh-orange); border-color: var(--sh-orange); }
.sh-btn-orange:hover { background: #FF6A14; border-color: #FF6A14; box-shadow: 0 10px 28px rgba(243,91,4,.45), 0 0 0 3px rgba(243,91,4,.18); }
.sh-btn-ghost { border-color: rgba(255,255,255,.6); background: transparent; }
.sh-btn-ghost:hover { background: rgba(243,91,4,.14); border-color: #fff; box-shadow: 0 10px 24px rgba(243,91,4,.22); }
.sh-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* ---- Bildytan ---- */
/* Bildytan är ungefär 16:9 på datorn (högst 780 px), så att mindre av bilden beskärs än med en låg yta. */
.sh-kurs.sh-hero { padding: 0; overflow: hidden; color: #fff; background: radial-gradient(120% 90% at 78% 35%, #3A1606 0%, #1A0D10 32%, #080E22 70%);
  display: grid; align-items: center; min-height: clamp(560px, 50vw, 780px); }
/* Beskärningen styrs per bild med --sh-pos (t.ex. style="--sh-pos: 70% 0%" på sektionen); gnistorna följer med. */
/* .sh-kurs .sh-hero-media väger tyngre än den allmänna bildregeln (.sh-kurs img { height: auto }), annars fyller
   bilden inte ytan. På mobil gäller --sh-pos-mobile om den finns, t.ex. för att flytta motivet åt sidan. */
.sh-kurs .sh-hero-media { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: var(--sh-pos, 50% 62%); }
@media (max-width: 760px) { .sh-kurs .sh-hero-media { object-position: var(--sh-pos-mobile, var(--sh-pos, 50% 62%)); } }
.sh-kurs.sh-hero[data-flip="true"] .sh-hero-media { transform: scaleX(-1); }
.sh-hero canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; }
.sh-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(8,14,34,.94) 0%, rgba(8,14,34,.72) 42%, rgba(8,14,34,.2) 75%, rgba(8,14,34,.05) 100%), linear-gradient(0deg, rgba(8,14,34,.85) 0%, rgba(8,14,34,0) 35%); }
.sh-hero-inner { position: relative; z-index: 2; padding-block: 88px 140px; }
.sh-hero h1 { font-size: clamp(38px, 5.6vw, 66px); letter-spacing: -.01em; margin-top: 4px; }
.sh-hero h1 span { color: var(--sh-orange); }
.sh-hero .sh-lead { font-size: clamp(18px, 1.6vw, 21px); color: #DCE3F2; max-width: 46ch; margin-top: 18px; }
.sh-kurs .sh-facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.sh-facts li { background: rgba(255,255,255,.1); border: 1.5px solid rgba(255,255,255,.16); border-radius: 999px; padding: 5px 14px 3px; font-size: 15px; backdrop-filter: blur(4px);
  transition: border-color .25s, background-color .25s, transform .25s var(--sh-ease), box-shadow .25s; }
.sh-facts li:hover { border-color: var(--sh-orange); background: rgba(243,91,4,.22); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(243,91,4,.25); }
.sh-price { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.sh-price b { font-size: 30px; font-weight: 700; }
.sh-price span { color: #C9D2E6; font-size: 15px; }

/* Bokningsbandet över bildytans nederkant (komponenten data-layout="band") */
.sh-kurs.sh-bandwrap { background: linear-gradient(transparent 0 78px, var(--sh-page) 78px); padding: 0; z-index: 3; margin-top: -78px; }

/* ---- Förtroendemärken ---- */
.sh-kurs.sh-trust { padding-block: 44px; border-bottom: 1px solid var(--sh-line); }
.sh-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.sh-tile { position: relative; background: var(--sh-surface); border: 1.5px solid var(--sh-line); border-radius: var(--sh-r-m); padding: 18px 16px; min-height: 150px; min-width: 0; cursor: pointer;
  display: grid; align-content: center; justify-items: center; text-align: center;
  transition: border-color .25s, background-color .25s, transform .25s var(--sh-ease), box-shadow .25s; }
.sh-tile > :first-child { transition: transform .35s var(--sh-ease); }
.sh-tile small { display: block; color: var(--sh-muted); font-size: 13.5px; line-height: 1.35; max-height: 0; opacity: 0; overflow: hidden; transform: translateY(6px);
  transition: max-height .35s ease, opacity .25s ease, transform .35s var(--sh-ease), margin-top .35s; }
.sh-tile:hover, .sh-tile:focus-visible { border-color: var(--sh-orange); background: radial-gradient(120% 120% at 50% 0%, rgba(243,91,4,.18), var(--sh-surface) 70%); transform: translateY(-4px); box-shadow: 0 14px 34px rgba(243,91,4,.16); outline: none; }
.sh-tile:hover > :first-child, .sh-tile:focus-visible > :first-child { transform: scale(1.05); }
.sh-tile:hover small, .sh-tile:focus-visible small, .sh-tile.sh-show small { max-height: 80px; opacity: 1; transform: none; margin-top: 10px; }
.sh-plate { background: var(--sh-plate); border-radius: 8px; padding: 10px 12px; width: 100%; display: grid; place-items: center; }
.sh-langs { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; }
.sh-langs span { font-weight: 700; font-size: 15px; background: var(--sh-chip); border: 1px solid var(--sh-line); border-radius: 6px; padding: 4px 8px 2px; }
.sh-sweden { width: 44px; height: auto; margin: 0 auto; }
.sh-sweden path { fill: rgba(243,91,4,.16); stroke: var(--sh-orange); stroke-width: 1.6; stroke-linejoin: round; transition: fill .3s; }
.sh-tile:hover .sh-sweden path, .sh-tile:focus-visible .sh-sweden path, .sh-tile.sh-show .sh-sweden path { fill: rgba(243,91,4,.45); }
.sh-tile-label { font-weight: 700; font-size: 17px; line-height: 1.2; margin-top: 8px; }

/* ---- Om utbildningen ---- */
.sh-about { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 48px; align-items: start; }
.sh-about p { margin-top: 14px; color: var(--sh-muted); max-width: 62ch; }
.sh-about p strong { color: var(--sh-ink); font-weight: 600; }
.sh-includes { background: var(--sh-surface); border: 1px solid var(--sh-line); border-radius: var(--sh-r-l); padding: 26px; }
.sh-includes h3 { font-size: 20px; margin-bottom: 8px; }
.sh-includes ul { display: grid; gap: 10px; }
.sh-includes li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; }
.sh-includes li::before { content: ""; width: 18px; height: 18px; margin-top: 3px; border-radius: 50%;
  background: var(--sh-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
/* Om utbildningen, ny uppställning: rubrik till vänster och text till höger, sedan rollerna och vad som ingår. */
.sh-intro { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 20px 56px; align-items: start; }
.sh-intro p { color: var(--sh-muted); max-width: 62ch; }
.sh-intro p + p { margin-top: 1.5em; }
.sh-intro p strong { color: var(--sh-ink); font-weight: 600; }
/* "Det här ingår" som en ruta under rollerna, med samma bockar som tidigare men punkterna i tre kolumner. */
.sh-included { margin-top: 28px; background: var(--sh-surface); border: 1px solid var(--sh-line); border-radius: var(--sh-r-l); padding: 26px 28px; }
.sh-kurs .sh-included h3 { font-size: 20px; margin-bottom: 16px; }
.sh-included ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 32px; }
.sh-included li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; font-size: 16px; line-height: 1.45; }
.sh-included li::before { content: ""; width: 18px; height: 18px; margin-top: 2px; border-radius: 50%;
  background: var(--sh-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.6L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat; }
.sh-roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.sh-role { border-top: 3px solid var(--sh-orange); background: var(--sh-surface); border-radius: 0 0 var(--sh-r-m) var(--sh-r-m); padding: 20px 22px; transition: transform .25s var(--sh-ease), background-color .25s; }
.sh-role:hover { transform: translateY(-3px); background: var(--sh-surface-2); }
.sh-role h3 { font-size: 20px; }
.sh-role p { margin-top: 6px; color: var(--sh-muted); font-size: 16px; }

/* ---- Citat ---- */
.sh-quote { background: linear-gradient(135deg, var(--sh-surface) 0%, var(--sh-surface-2) 100%); border-block: 1px solid var(--sh-line); }
.sh-quote figure { margin: 0 auto; max-width: 860px; text-align: center; }
.sh-quote blockquote { font-size: clamp(24px, 3vw, 34px); line-height: 1.3; font-weight: 500; text-wrap: balance; }
.sh-quote blockquote::before { content: "\201D"; display: block; font-size: 80px; line-height: .6; color: var(--sh-orange); margin-bottom: 18px; }
.sh-quote figcaption { margin-top: 18px; color: var(--sh-muted); }
.sh-stars { color: #FFB020; letter-spacing: 2px; }

/* ---- Flikar ---- */
.sh-tablist { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 26px; border-bottom: 1px solid var(--sh-line); }
.sh-tablist button { background: none; border: 0; border-bottom: 3px solid transparent; color: var(--sh-muted); padding: 10px 14px 8px; cursor: pointer; font-family: inherit; font-weight: 600; font-size: 16px; line-height: 1.3; transition: color .2s, border-color .2s; }
.sh-tablist button:hover { color: var(--sh-ink); }
.sh-tablist button[aria-selected="true"] { color: var(--sh-ink); border-bottom-color: var(--sh-orange); }
.sh-tabpanel { padding-top: 24px; max-width: 72ch; color: var(--sh-muted); }
.sh-tabpanel[hidden] { display: none; }
.sh-tabpanel p { margin-bottom: 12px; }
.sh-tabpanel ul { margin-bottom: 12px; padding-left: 20px; columns: 2; column-gap: 32px; list-style: disc; }
.sh-tabpanel li { margin-bottom: 6px; break-inside: avoid; }
.sh-tabpanel strong { color: var(--sh-ink); }
.sh-tabpanel a { color: var(--sh-orange-soft); text-decoration: underline; text-underline-offset: 3px; }

/* ---- Omdömen ---- */
.sh-reviews-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; align-items: end; }
[data-sh-reviews] { display: grid; gap: 0; margin-top: 8px; }
[data-sh-reviews] > .sh-score { margin-top: 18px; }
.sh-rcard p { margin: 0; }
.sh-score { display: flex; gap: 28px; flex-wrap: wrap; }
.sh-score div { display: grid; }
.sh-score b { font-size: 36px; font-weight: 700; line-height: 1.1; }
.sh-score b small { font-size: 18px; color: var(--sh-muted); font-weight: 500; }
.sh-score span { color: var(--sh-muted); font-size: 14px; }
.sh-rcards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.sh-rcard { background: var(--sh-page); border: 1.5px solid var(--sh-line); border-radius: var(--sh-r-m); padding: 18px; display: grid; gap: 10px; align-content: start; transition: border-color .25s, transform .25s var(--sh-ease); }
.sh-rcard:hover { border-color: var(--sh-orange); transform: translateY(-3px); }
.sh-rcard .sh-who { color: var(--sh-muted); font-size: 14px; }
.sh-reco-foot { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; color: var(--sh-muted); font-size: 13.5px; }
.sh-reco-foot a { color: var(--sh-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.sh-reco-frame { margin-top: 24px; border-radius: var(--sh-r-m); overflow: hidden; border: 1px solid var(--sh-line); }
.sh-reco-frame iframe { display: block; width: 100%; border: 0; }

/* ---- Dekal ---- */
.sh-cert-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 48px; align-items: center; }
.sh-seal { display: block; width: 100%; max-width: 260px; height: auto; margin: 0 auto; filter: drop-shadow(0 18px 30px rgba(0,0,0,.35)); transition: transform .5s var(--sh-ease); }
.sh-seal:hover { transform: rotate(-6deg) scale(1.04); }

/* ---- Miljö ---- */
.sh-eco { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 40px; align-items: start; }
.sh-eco ul { display: grid; gap: 12px; }
.sh-eco li { background: var(--sh-surface); border: 1.5px solid var(--sh-line); border-radius: var(--sh-r-m); padding: 14px 18px; transition: border-color .25s; }
.sh-eco li:hover { border-color: var(--sh-ok); }

/* ---- Vanliga frågor ---- */
.sh-faq { margin-top: 26px; display: grid; gap: 10px; max-width: 900px; }
.sh-faq details { background: var(--sh-surface); border: 1.5px solid var(--sh-line); border-radius: var(--sh-r-m); overflow: hidden; transition: border-color .25s, background-color .25s, box-shadow .25s; }
.sh-faq details:hover { border-color: rgba(243,91,4,.6); }
.sh-faq details[open] { border-color: var(--sh-orange); background: var(--sh-surface-2); box-shadow: 0 12px 30px rgba(243,91,4,.12); }
.sh-faq summary { list-style: none; cursor: pointer; padding: 16px 56px 14px 20px; position: relative; }
.sh-faq summary::-webkit-details-marker { display: none; }
.sh-faq summary h3 { font-size: 18px; font-weight: 600; transition: color .2s; }
.sh-faq details:hover summary h3, .sh-faq details[open] summary h3 { color: var(--sh-orange-soft); }
.sh-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; display: grid; place-items: center;
  font-size: 22px; line-height: 1; color: var(--sh-orange); border: 1.5px solid var(--sh-orange); transition: transform .3s var(--sh-ease), background-color .25s, color .25s; }
.sh-faq details[open] summary::after { transform: rotate(45deg); background: var(--sh-orange); color: #fff; }
.sh-faq .sh-ans { padding: 0 20px 18px; color: var(--sh-muted); }
.sh-faq .sh-ans p { margin-bottom: 10px; }
.sh-faq .sh-ans a { color: var(--sh-orange-soft); text-decoration: underline; text-underline-offset: 3px; }

/* ---- Annat datum ---- */
.sh-cta { background: linear-gradient(120deg, #1A0D10, #3A1606 55%, #F35B04 160%); border-radius: var(--sh-r-l); padding: 40px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.sh-cta p { margin-top: 8px; color: #F2D9C9; max-width: 58ch; }

/* ---- Mobil och minskad rörelse ---- */
@media (max-width: 960px) {
  .sh-about, .sh-intro, .sh-eco, .sh-cert-grid, .sh-cta { grid-template-columns: 1fr; }
  .sh-included ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sh-tiles, .sh-rcards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sh-roles { grid-template-columns: 1fr; }
  .sh-seal { max-width: 220px; }
}
@media (max-width: 560px) {
  .sh-kurs { padding-block: 52px; }
  .sh-kurs.sh-tight { padding-top: 24px; }
  .sh-tiles, .sh-rcards, .sh-included ul { grid-template-columns: 1fr; }
  .sh-tabpanel ul { columns: 1; }
  .sh-cta { padding: 28px 22px; }
  .sh-hero-inner { padding-block: 64px 120px; }
}
@media (prefers-reduced-motion: reduce) {
  .sh-kurs *, .sh-kurs *::before, .sh-kurs *::after { transition: none !important; animation: none !important; }
  .sh-btn:hover, .sh-tile:hover, .sh-role:hover, .sh-rcard:hover, .sh-facts li:hover { transform: none; }
}
