/*
  CSS especifico de pagina, extraido do bloco <style> inline de
  curso-cuidador-120h.html no prototipo.

  Ficava dentro do HTML e por isso quase escapou da conversao. Aqui
  vira folha propria, carregada so na tela que precisa dela
  (ver inc/setup.php).
*/

/* Course LP specific */
    .course-hero {
      padding: 160px 0 var(--space-8);
      position: relative;
      overflow: hidden;
      min-height: 80vh;
      display: flex;
      align-items: center;
    }
    .course-hero__bg {
      position: absolute; inset: 0; z-index: -2;
    }
    .course-hero__bg-image {
      position: absolute; inset: 0;
      background-image: url('../img/ext/unsplash-1559757175-5700dde675bc-w1920.jpg');
      background-size: cover;
      background-position: center;
      opacity: 0.4;
    }
    .course-hero__bg-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(110deg, var(--ava-azul) 0%, var(--ava-azul-90) 50%, rgba(2,41,73,0.5) 100%);
    }
    .course-hero__grid {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: var(--space-9);
      align-items: center;
      width: 100%;
    }
    @media (max-width: 900px) {
      .course-hero__grid { grid-template-columns: 1fr; gap: var(--space-7); }
    }
    .price-card {
      background: rgba(1, 26, 48, 0.85);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid var(--ava-dourado);
      padding: var(--space-7);
      position: relative;
    }
    .price-card::before {
      content: ''; position: absolute; inset: 10px;
      border: 1px solid var(--ava-dourado-20);
      pointer-events: none;
    }
    .price-card__label {
      font-size: 0.6875rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: var(--ava-dourado);
      margin-bottom: var(--space-3);
    }
    .price-card__price {
      display: flex;
      align-items: baseline;
      gap: var(--space-3);
      margin-bottom: var(--space-5);
    }
    .price-card__currency {
      font-family: var(--font-display);
      font-size: 1.5rem;
      color: var(--ava-creme);
    }
    .price-card__value {
      font-family: var(--font-display);
      font-size: clamp(2.5rem, 4vw, 3.5rem);
      color: var(--ava-creme);
      line-height: 1;
    }
    .price-card__decimal {
      font-family: var(--font-body);
      font-size: 1rem;
      color: var(--ava-cinza);
    }
    .price-card__installments {
      font-size: 0.875rem;
      color: var(--ava-cinza);
      margin-bottom: var(--space-5);
      padding-bottom: var(--space-5);
      border-bottom: 1px solid var(--ava-dourado-20);
    }
    .price-card__installments strong {
      color: var(--ava-branco);
      font-weight: 500;
    }
    .price-card__includes li {
      display: flex;
      gap: var(--space-3);
      align-items: flex-start;
      color: var(--ava-creme);
      font-size: 0.9375rem;
      margin-bottom: var(--space-3);
      line-height: 1.5;
    }
    .price-card__includes svg {
      width: 16px; height: 16px;
      stroke: var(--ava-dourado);
      stroke-width: 2;
      flex-shrink: 0;
      margin-top: 4px;
    }
    .countdown {
      display: flex;
      gap: var(--space-3);
      margin-top: var(--space-5);
      padding-top: var(--space-5);
      border-top: 1px solid var(--ava-dourado-20);
    }
    .countdown__box {
      flex: 1;
      text-align: center;
      padding: var(--space-3);
      border: 1px solid var(--ava-dourado-20);
    }
    .countdown__num {
      font-family: var(--font-display);
      font-size: 1.75rem;
      color: var(--ava-dourado);
      display: block;
      line-height: 1;
    }
    .countdown__label {
      font-size: 0.625rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--ava-cinza);
      margin-top: 4px;
      display: block;
    }
    /* Curriculum module */
    .module {
      border: 1px solid var(--ava-dourado-20);
      margin-bottom: var(--space-3);
      transition: border-color 0.3s;
    }
    .module:hover { border-color: var(--ava-dourado); }
    .module__btn {
      width: 100%;
      text-align: left;
      padding: var(--space-5) var(--space-6);
      display: flex;
      align-items: center;
      gap: var(--space-5);
      transition: background 0.3s;
    }
    .module__btn:hover { background: rgba(150, 121, 70, 0.05); }
    .module__num {
      font-family: var(--font-display);
      font-size: 1.5rem;
      color: var(--ava-dourado);
      min-width: 64px;
    }
    .module__title {
      flex: 1;
      font-family: var(--font-display);
      font-size: 1.125rem;
      color: var(--ava-branco);
      letter-spacing: 0.02em;
    }
    .module__hours {
      font-size: 0.6875rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--ava-dourado);
      padding: 6px 14px;
      border: 1px solid var(--ava-dourado);
    }
    .module__panel {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.5s var(--ease-smooth);
    }
    .module.is-open .module__panel { max-height: 400px; }
    .module__panel-inner {
      padding: 0 var(--space-6) var(--space-5) calc(var(--space-6) + 64px + var(--space-5));
      color: var(--ava-cinza);
      line-height: 1.7;
      font-size: 0.9375rem;
    }
    .module__topics {
      list-style: none;
      margin-top: var(--space-3);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-2) var(--space-5);
    }
    .module__topics li {
      position: relative;
      padding-left: var(--space-4);
      font-size: 0.875rem;
    }
    .module__topics li::before {
      content: '';
      position: absolute;
      left: 0;
      top: 9px;
      width: 6px;
      height: 6px;
      border: 1px solid var(--ava-dourado);
      transform: rotate(45deg);
    }
    @media (max-width: 700px) {
      .module__btn { flex-wrap: wrap; }
      .module__num { font-size: 1.25rem; min-width: auto; }
      .module__topics { grid-template-columns: 1fr; }
      .module__panel-inner { padding-left: var(--space-6); }
    }
    /* Bonus section */
    .bonus-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-5);
      margin-top: var(--space-7);
    }
    @media (max-width: 800px) { .bonus-grid { grid-template-columns: 1fr; } }
    .bonus {
      padding: var(--space-6);
      border: 1px solid var(--ava-dourado-20);
      background: rgba(255,255,255,0.02);
    }
    .bonus__tag {
      font-size: 0.625rem;
      letter-spacing: 0.32em;
      text-transform: uppercase;
      color: var(--ava-dourado);
      margin-bottom: var(--space-3);
      display: block;
    }
    .bonus__title {
      font-family: var(--font-display);
      font-size: 1.25rem;
      color: var(--ava-creme);
      margin-bottom: var(--space-3);
      line-height: 1.25;
    }
    .bonus__desc {
      color: var(--ava-cinza);
      font-size: 0.875rem;
      line-height: 1.6;
    }
    .bonus__value {
      margin-top: var(--space-4);
      padding-top: var(--space-3);
      border-top: 1px solid var(--ava-dourado-20);
      font-size: 0.75rem;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--ava-dourado);
    }
