/* kurs.css — solo clases nuevas de /kurs; style.css queda intocable */

/* secciones genéricas de la página larga */
.k-section { padding: clamp(58px, 9vh, 100px) clamp(20px, 6vw, 80px); }
.k-inner { max-width: 860px; margin: 0 auto; }
.k-inner-narrow { max-width: 680px; margin: 0 auto; }

/* hero de /kurs reutiliza .hero/.hero-card del style.css */

/* fases (chips en fila, versión estática de los chips del glasset) */
.k-fases { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-top: 40px; }
.k-fase { padding: 26px 28px; }
.k-fase h3 { font-family: var(--fraunces); font-weight: 600; font-size: 24px; margin-bottom: 8px; }
.k-fase .fase-num { font-family: var(--fraunces); font-style: italic; font-size: 15px; color: var(--violeta); display: block; margin-bottom: 4px; }
.k-fase p { font-size: 14.5px; font-weight: 400; line-height: 1.6; }

/* temario semana a semana */
.k-uker { display: grid; gap: 14px; margin-top: 40px; }
.k-uke {
  display: grid; grid-template-columns: 64px 1fr; gap: 18px; align-items: start;
  padding: 20px 24px;
}
.k-uke .uke-num {
  font-family: var(--fraunces); font-style: italic; font-weight: 600;
  font-size: 26px; color: var(--geranio); line-height: 1.1;
}
.k-uke h4 { font-family: var(--fraunces); font-weight: 600; font-size: 19px; margin-bottom: 4px; }
.k-uke .uke-escena { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--violeta); }
.k-uke p { font-size: 14px; font-weight: 400; line-height: 1.6; margin-top: 6px; }
.k-uke .uke-senal { font-size: 13.5px; font-style: italic; color: var(--ultramar); margin-top: 8px; }

/* cómo funciona (lista de hechos) */
.k-fakta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 36px; }
.k-fakta .fakt { padding: 22px 24px; }
.k-fakta .fakt strong { font-family: var(--fraunces); font-size: 20px; display: block; margin-bottom: 6px; }
.k-fakta .fakt span { font-size: 14px; font-weight: 400; line-height: 1.55; }

/* precio */
.k-pris-card { max-width: 560px; margin: 40px auto 0; padding: clamp(30px, 4.5vw, 52px); text-align: center; }
.k-pris { font-family: var(--fraunces); font-size: clamp(40px, 5.5vw, 60px); font-weight: 600; }
.k-pris small { font-size: .45em; font-weight: 500; opacity: .7; }
.k-pris-includes { text-align: left; margin: 24px auto; max-width: 40ch; font-size: 14.5px; font-weight: 400; line-height: 1.7; }
.k-pris-includes li { margin-bottom: 8px; list-style: none; padding-left: 26px; position: relative; }
.k-pris-includes li::before { content: '·'; position: absolute; left: 8px; color: var(--geranio); font-weight: 700; font-size: 22px; line-height: 1; }
.k-garanti { font-size: 14px; font-style: italic; line-height: 1.65; opacity: .85; max-width: 44ch; margin: 18px auto 0; }
.k-plasser { font-size: 13.5px; font-weight: 400; margin-top: 16px; opacity: .8; }

/* FAQ nativo */
.k-faq { max-width: 720px; margin: 36px auto 0; display: grid; gap: 10px; }
.k-faq details {
  background: rgba(255, 255, 255, .55); border: 1px solid rgba(42, 36, 64, .1);
  border-radius: 16px; padding: 18px 22px;
}
.k-faq summary { font-family: var(--poppins); font-weight: 500; font-size: 15.5px; cursor: pointer; }
.k-faq details p { font-size: 14.5px; font-weight: 300; line-height: 1.65; margin-top: 12px; }
.k-faq details[open] summary { color: var(--ultramar); }

/* fondos de sección con óleo + velo para contraste */
.k-oleo-bg { position: relative; overflow: hidden; }
.k-oleo-bg .bg-parallax, .k-oleo-bg .bg-parallax img {
  position: absolute; inset: -6% 0; width: 100%; height: 112%;
  object-fit: cover; z-index: 0;
}
.k-oleo-bg > :not(.bg-parallax) { position: relative; z-index: 1; }

@media (max-width: 768px) {
  .k-uke { grid-template-columns: 48px 1fr; padding: 16px 18px; }
  .k-uke .uke-num { font-size: 21px; }
  .k-fakta { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .k-fakta { grid-template-columns: 1fr; }
}

/* ---------- interactividad: hover + microtransiciones ---------- */
.k-fase, .k-uke, .k-fakta .fakt {
  transition: transform .4s cubic-bezier(.22, .61, .36, 1), box-shadow .4s ease, border-color .4s ease;
  will-change: transform;
}
.k-fase:hover, .k-fakta .fakt:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 56px -12px rgba(42, 36, 64, .32), inset 0 1px 0 rgba(255, 255, 255, .7);
  border-color: rgba(255, 255, 255, .85);
}
.k-uke:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px -14px rgba(42, 36, 64, .26), inset 0 1px 0 rgba(255, 255, 255, .65);
  border-color: rgba(255, 255, 255, .85);
}
.k-uke .uke-num { transition: transform .45s cubic-bezier(.34, 1.56, .64, 1); }
.k-uke:hover .uke-num { transform: scale(1.14); }
.k-faq details { transition: border-color .3s ease, background-color .3s ease; }
.k-faq details:hover { border-color: rgba(42, 36, 64, .24); }

@media (prefers-reduced-motion: reduce) {
  .k-fase, .k-uke, .k-fakta .fakt, .k-uke .uke-num { transition: none; }
  .k-fase:hover, .k-uke:hover, .k-fakta .fakt:hover, .k-uke:hover .uke-num { transform: none; }
}
