/* ==========================================================================
   PEGORETH & ROAS — BIBLIOTECA DE COMPONENTES
   Camada 3 de 3.  tokens.css → base.css → components.css
   Convenção: .pr-<bloco>  /  .pr-<bloco>__<elemento>  /  .pr-<bloco>--<variante>
   ========================================================================== */

/* ==========================================================================
   NAVEGAÇÃO
   ========================================================================== */

.pr-header {
  position: sticky; top: 0; z-index: var(--z-sticky);
  background: color-mix(in srgb, var(--c-background-primary) 88%, transparent);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color var(--mo-base) var(--mo-ease);
}
.pr-header[data-scrolled="true"] { border-bottom-color: var(--c-border-subtle); }

.pr-header__inner {
  display: flex; align-items: center; gap: var(--sp-6);
  min-height: 76px;
}
.pr-header__brand { margin-right: auto; display: inline-flex; align-items: center; gap: var(--sp-3); text-decoration: none; }
.pr-header__actions { display: flex; align-items: center; gap: var(--sp-2); }

.pr-nav { display: flex; align-items: center; gap: var(--sp-6); }
.pr-nav__link {
  position: relative;
  display: inline-flex; align-items: center;
  min-height: var(--tap-min);   /* 44px — WCAG 2.5.5 (AAA), acima do mínimo AA */
  font-size: var(--t-body-sm-size); font-weight: 500;
  color: var(--c-text-secondary); text-decoration: none;
  transition: color var(--mo-fast) var(--mo-ease);
}
.pr-nav__link:hover { color: var(--c-text-primary); }
.pr-nav__link[aria-current="page"] { color: var(--c-text-primary); font-weight: 600; }
.pr-nav__link[aria-current="page"]::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px;
  height: var(--rule-w); background: var(--c-rule-accent);
}

/* Botão ícone — busca, tema, idioma, menu */
.pr-iconbtn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-1);
  min-width: var(--tap-min); min-height: var(--tap-min);
  border-radius: var(--r-sm);
  color: var(--c-text-secondary);
  transition: background var(--mo-fast) var(--mo-ease), color var(--mo-fast) var(--mo-ease);
}
.pr-iconbtn:hover { background: var(--c-surface-sunken); color: var(--c-text-primary); }
.pr-iconbtn svg { width: 20px; height: 20px; }

/* Seletor de idioma */
.pr-langselect {
  display: inline-flex; align-items: center; gap: var(--sp-1);
  min-height: var(--tap-min); padding-inline: var(--sp-3);
  border-radius: var(--r-sm);
  font-family: var(--f-mono); font-size: var(--t-caption-size);
  letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--c-text-secondary);
}
.pr-langselect:hover { background: var(--c-surface-sunken); color: var(--c-text-primary); }

/* Drawer mobile */
.pr-drawer {
  position: fixed; inset: 0; z-index: var(--z-modal);
  background: var(--c-background-primary);
  display: flex; flex-direction: column;
  padding: var(--sp-5) var(--layout-gutter) var(--sp-9);
  transform: translateX(100%);
  transition: transform var(--mo-slow) var(--mo-ease-out);
  overflow-y: auto;
}
.pr-drawer[data-open="true"] { transform: translateX(0); }
.pr-drawer__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--sp-8); }
.pr-drawer__nav { display: flex; flex-direction: column; }
.pr-drawer__link {
  font-family: var(--f-serif); font-size: 1.5rem; font-weight: 400;
  color: var(--c-text-primary); text-decoration: none;
  padding: var(--sp-4) 0; min-height: var(--tap-min);
  border-bottom: 1px solid var(--c-border-subtle);
}
.pr-drawer__footer { margin-top: auto; padding-top: var(--sp-8); }

/* Breadcrumb */
.pr-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); font-size: var(--t-caption-size); color: var(--c-text-muted); }
.pr-crumbs a { color: var(--c-text-secondary); text-decoration: none; }
.pr-crumbs a:hover { color: var(--c-text-primary); text-decoration: underline; }
.pr-crumbs li + li::before { content: "/"; margin-right: var(--sp-2); color: var(--c-text-muted); }
.pr-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--sp-2); list-style: none; margin: 0; padding: 0; }
.pr-crumbs li { display: flex; align-items: center; gap: var(--sp-2); }

/* Footer */
.pr-footer { background: var(--c-background-inverse); color: var(--c-text-inverse); padding-block: var(--sp-10) var(--sp-7); }
.pr-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: var(--sp-8); }
.pr-footer__title { font-family: var(--f-mono); font-size: var(--t-eyebrow-size); letter-spacing: var(--t-eyebrow-ls); text-transform: uppercase; color: var(--c-text-inverse-muted); margin-bottom: var(--sp-4); }
.pr-footer__list { display: flex; flex-direction: column; gap: var(--sp-3); }
.pr-footer__list a { color: var(--c-text-inverse); text-decoration: none; font-size: var(--t-body-sm-size); opacity: 0.85; }
.pr-footer__list a:hover { opacity: 1; text-decoration: underline; }
.pr-footer__bottom {
  margin-top: var(--sp-9); padding-top: var(--sp-5);
  border-top: 1px solid var(--c-border-inverse);
  display: flex; flex-wrap: wrap; gap: var(--sp-4); justify-content: space-between;
  font-size: var(--t-caption-size); color: var(--c-text-inverse-muted);
}
@media (max-width: 1023px) { .pr-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px)  { .pr-footer__grid { grid-template-columns: 1fr; gap: var(--sp-7); } }


/* ==========================================================================
   BOTÕES
   ========================================================================== */

.pr-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2);
  min-height: var(--tap-min);
  padding: var(--sp-3) var(--sp-6);
  border-radius: var(--r-sm);
  font-family: var(--f-sans);
  font-size: var(--t-button-size); font-weight: var(--t-button-weight);
  letter-spacing: var(--t-button-ls);
  text-decoration: none; text-align: center;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background var(--mo-base) var(--mo-ease),
              border-color var(--mo-base) var(--mo-ease),
              color var(--mo-base) var(--mo-ease),
              transform var(--mo-fast) var(--mo-ease);
}
.pr-btn:active { transform: translateY(1px); }
.pr-btn svg { width: 18px; height: 18px; flex: none; }

.pr-btn--primary {
  background: var(--c-action-primary);
  color: var(--c-action-primary-text);
}
.pr-btn--primary:hover { background: var(--c-action-primary-hover); }

.pr-btn--secondary {
  background: transparent;
  color: var(--c-text-primary);
  border-color: var(--c-action-secondary-border);
}
.pr-btn--secondary:hover { background: var(--c-action-secondary-hover); border-color: var(--c-text-primary); }

.pr-btn--accent {
  background: var(--c-action-accent);
  color: var(--c-text-on-accent);
}
.pr-btn--accent:hover { background: var(--c-action-accent-hover); }

.pr-btn--ghost { background: transparent; color: var(--c-text-secondary); padding-inline: var(--sp-4); }
.pr-btn--ghost:hover { background: var(--c-surface-sunken); color: var(--c-text-primary); }

.pr-btn--inverse { background: var(--c-surface-inverse); color: var(--c-text-inverse); }
.section--inverse .pr-btn--primary { background: var(--c-background-primary); color: var(--c-text-primary); }
.section--inverse .pr-btn--secondary { color: var(--c-text-inverse); border-color: var(--c-border-inverse); }
.section--inverse .pr-btn--secondary:hover { background: color-mix(in srgb, var(--c-text-inverse) 8%, transparent); border-color: var(--c-text-inverse); }

.pr-btn--sm { min-height: 36px; padding: var(--sp-2) var(--sp-4); font-size: var(--t-caption-size); }
.pr-btn--lg { min-height: 56px; padding: var(--sp-4) var(--sp-8); font-size: 1rem; }
.pr-btn--block { width: 100%; }

.pr-btn[disabled], .pr-btn[aria-disabled="true"] {
  background: var(--c-action-disabled);
  color: var(--c-action-disabled-text);
  border-color: transparent;
  cursor: not-allowed; pointer-events: none;
}
.pr-btn[data-loading="true"] { pointer-events: none; opacity: 0.75; }


/* ==========================================================================
   SUPERFÍCIES: CARD, BADGE, TAG
   ========================================================================== */

.pr-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-card);
  padding: var(--sp-6);
  transition: border-color var(--mo-base) var(--mo-ease), box-shadow var(--mo-base) var(--mo-ease), transform var(--mo-base) var(--mo-ease);
}
.pr-card--flat { background: transparent; border-color: var(--c-border-default); }
.pr-card--sunken { background: var(--c-surface-sunken); border-color: transparent; }
.pr-card--inverse { background: var(--c-surface-inverse); border-color: transparent; color: var(--c-text-inverse); }
.pr-card--pad-lg { padding: var(--sp-8); }

/* Card clicável inteiro. O <a> interno recebe o foco; o card recebe o realce. */
.pr-card--link { position: relative; cursor: pointer; }
.pr-card--link:hover { border-color: var(--c-border-strong); box-shadow: var(--sh-md); transform: translateY(-2px); }
.pr-card--link:focus-within { border-color: var(--c-focus-ring); box-shadow: var(--sh-focus); }
.pr-card--link a::after { content: ""; position: absolute; inset: 0; }
.pr-card--link a:focus-visible { outline: none; }

.pr-badge {
  display: inline-flex; align-items: center; gap: var(--sp-1);
  padding: var(--sp-1) var(--sp-3);
  border-radius: var(--r-pill);
  font-family: var(--f-mono); font-size: 0.6875rem;
  letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500;
  background: var(--c-surface-sunken); color: var(--c-text-secondary);
}
.pr-badge--accent  { background: var(--c-surface-accent-soft); color: var(--c-text-accent); }
.pr-badge--success { background: var(--c-success-bg); color: var(--c-success); }
.pr-badge--info    { background: var(--c-info-bg); color: var(--c-info); }
.pr-badge--free    { background: var(--c-success-bg); color: var(--c-success); }

.pr-tag {
  display: inline-flex; align-items: center;
  padding: var(--sp-1) var(--sp-3);
  border: 1px solid var(--c-border-default);
  border-radius: var(--r-sm);
  font-size: var(--t-caption-size); color: var(--c-text-secondary);
}


/* ==========================================================================
   FORMULÁRIOS
   ========================================================================== */

.pr-field { display: flex; flex-direction: column; gap: var(--sp-2); }
.pr-field__label { font-size: var(--t-label-size); font-weight: var(--t-label-weight); color: var(--c-text-primary); }
.pr-field__hint  { font-size: var(--t-caption-size); color: var(--c-text-muted); }
.pr-field__error { font-size: var(--t-caption-size); color: var(--c-error); display: flex; align-items: center; gap: var(--sp-1); }

.pr-input, .pr-textarea, .pr-select {
  width: 100%;
  min-height: var(--tap-min);
  padding: var(--sp-3) var(--sp-4);
  background: var(--c-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-sm);
  color: var(--c-text-primary);
  font-size: var(--t-body-size);
  transition: border-color var(--mo-fast) var(--mo-ease), box-shadow var(--mo-fast) var(--mo-ease);
}
.pr-input::placeholder, .pr-textarea::placeholder { color: var(--c-text-muted); }
.pr-input:hover, .pr-textarea:hover, .pr-select:hover { border-color: var(--c-text-muted); }
.pr-textarea { min-height: 140px; resize: vertical; line-height: 1.6; }
.pr-select { appearance: none; padding-right: var(--sp-8);
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 20px) center, calc(100% - 14px) center;
  background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; }

.pr-input[aria-invalid="true"], .pr-textarea[aria-invalid="true"] { border-color: var(--c-error); }
.pr-input[disabled], .pr-textarea[disabled], .pr-select[disabled] {
  background: var(--c-surface-sunken); color: var(--c-text-muted); cursor: not-allowed;
}

.pr-check { display: flex; align-items: flex-start; gap: var(--sp-3); cursor: pointer; }
.pr-check input { width: 24px; height: 24px; margin-top: 0; flex: none; accent-color: var(--c-action-primary); }
.pr-check span { font-size: var(--t-body-sm-size); color: var(--c-text-secondary); }


/* ==========================================================================
   FEEDBACK: ALERT, CALLOUT, TOOLTIP, PROGRESS, ESTADOS
   ========================================================================== */

.pr-alert {
  display: flex; gap: var(--sp-4);
  padding: var(--sp-5);
  border-radius: var(--r-sm);
  border-left: 3px solid currentColor;
  background: var(--c-info-bg); color: var(--c-info);
}
.pr-alert__body { color: var(--c-text-primary); font-size: var(--t-body-sm-size); }
.pr-alert__title { font-weight: 600; margin-bottom: var(--sp-1); color: inherit; }
.pr-alert--success { background: var(--c-success-bg); color: var(--c-success); }
.pr-alert--warning { background: var(--c-warning-bg); color: var(--c-warning); }
.pr-alert--error   { background: var(--c-error-bg);   color: var(--c-error); }

/* Callout educacional — destaque dentro de conteúdo longo */
.pr-callout {
  border: 1px solid var(--c-border-default);
  border-left: 3px solid var(--c-rule-accent);
  border-radius: var(--r-sm);
  background: var(--c-surface);
  padding: var(--sp-5) var(--sp-6);
}
.pr-callout__label {
  font-family: var(--f-mono); font-size: var(--t-eyebrow-size);
  letter-spacing: var(--t-eyebrow-ls); text-transform: uppercase;
  color: var(--c-text-accent); margin-bottom: var(--sp-2);
}
/* Variante de segurança — para avisos de chave, seed e golpe.
   Usa cor E rótulo textual: a cor nunca é o único sinal. */
.pr-callout--security { border-left-color: var(--c-error); background: var(--c-error-bg); }
.pr-callout--security .pr-callout__label { color: var(--c-error); }

.pr-quote {
  border-left: 2px solid var(--c-rule-accent);
  padding-left: var(--sp-6);
  margin: var(--sp-7) 0;
}
.pr-quote cite { display: block; margin-top: var(--sp-3); font-style: normal; font-size: var(--t-caption-size); color: var(--c-text-muted); }

.pr-progress { display: flex; flex-direction: column; gap: var(--sp-2); }
.pr-progress__track { height: 6px; border-radius: var(--r-pill); background: var(--c-surface-sunken); overflow: hidden; }
.pr-progress__bar { height: 100%; background: var(--c-action-accent); border-radius: inherit; transition: width var(--mo-slow) var(--mo-ease); }
.pr-progress__meta { display: flex; justify-content: space-between; font-size: var(--t-caption-size); color: var(--c-text-muted); }

.pr-empty, .pr-errorstate {
  text-align: center; padding: var(--sp-10) var(--sp-5);
  border: 1px dashed var(--c-border-default); border-radius: var(--r-card);
  color: var(--c-text-muted);
}

.pr-skeleton {
  background: linear-gradient(90deg, var(--c-surface-sunken) 25%, var(--c-background-secondary) 50%, var(--c-surface-sunken) 75%);
  background-size: 200% 100%;
  animation: pr-shimmer 1.4s infinite linear;
  border-radius: var(--r-sm);
}
@keyframes pr-shimmer { to { background-position: -200% 0; } }


/* ==========================================================================
   DIVULGAÇÃO: ACCORDION / FAQ, TABS
   ========================================================================== */

.pr-accordion { border-top: 1px solid var(--c-border-subtle); }
.pr-accordion__item { border-bottom: 1px solid var(--c-border-subtle); }
.pr-accordion__trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--sp-5);
  padding: var(--sp-5) 0; min-height: var(--tap-min);
  text-align: left;
  font-family: var(--f-sans); font-size: var(--t-h4-size); font-weight: 600;
  color: var(--c-text-primary);
}
.pr-accordion__trigger:hover { color: var(--c-text-accent); }
.pr-accordion__icon { flex: none; width: 20px; height: 20px; transition: transform var(--mo-base) var(--mo-ease); color: var(--c-text-muted); }
.pr-accordion__item[open] .pr-accordion__icon { transform: rotate(45deg); }
.pr-accordion__panel { padding-bottom: var(--sp-5); color: var(--c-text-secondary); max-width: var(--layout-text-max); }
.pr-accordion__trigger::-webkit-details-marker { display: none; }

.pr-tabs { display: flex; gap: var(--sp-5); border-bottom: 1px solid var(--c-border-subtle); }
.pr-tabs__tab {
  padding: var(--sp-3) 0; min-height: var(--tap-min);
  font-size: var(--t-body-sm-size); font-weight: 500;
  color: var(--c-text-muted); border-bottom: var(--rule-w) solid transparent;
}
.pr-tabs__tab[aria-selected="true"] { color: var(--c-text-primary); border-bottom-color: var(--c-rule-accent); font-weight: 600; }


/* ==========================================================================
   MODAL
   ========================================================================== */

.pr-modal { border: 0; padding: 0; background: transparent; max-width: 560px; width: calc(100% - 2 * var(--layout-gutter)); }
.pr-modal::backdrop { background: var(--c-scrim); backdrop-filter: blur(2px); }
.pr-modal__panel { background: var(--c-surface); border-radius: var(--r-lg); padding: var(--sp-8); box-shadow: var(--sh-lg); }
.pr-modal__head { display: flex; align-items: start; justify-content: space-between; gap: var(--sp-5); margin-bottom: var(--sp-5); }


/* ==========================================================================
   CONTEÚDO EDUCACIONAL
   ========================================================================== */

/* Card de trilha — numerado, editorial */
.pr-path {
  position: relative; display: flex; flex-direction: column;
  min-height: 300px;
  background: var(--c-surface);
  border: 1px solid var(--c-border-subtle);
  border-radius: var(--r-card);
  padding: var(--sp-6);
  overflow: hidden;
  transition: border-color var(--mo-base) var(--mo-ease), box-shadow var(--mo-base) var(--mo-ease), transform var(--mo-base) var(--mo-ease);
}
.pr-path:hover { border-color: var(--c-border-strong); box-shadow: var(--sh-md); transform: translateY(-2px); }
.pr-path:focus-within { border-color: var(--c-focus-ring); box-shadow: var(--sh-focus); }
.pr-path__num {
  font-family: var(--f-serif); font-size: 5rem; line-height: 1; font-weight: 300;
  color: var(--c-border-default);
  position: absolute; top: var(--sp-4); right: var(--sp-5);
  pointer-events: none;
}
.pr-path__eyebrow { margin-bottom: var(--sp-3); }
.pr-path__title { margin-bottom: var(--sp-3); }
.pr-path__desc { color: var(--c-text-secondary); font-size: var(--t-body-sm-size); }
.pr-path__foot { margin-top: auto; padding-top: var(--sp-6); display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); }
.pr-path__meta { font-family: var(--f-mono); font-size: var(--t-caption-size); color: var(--c-text-muted); }
.pr-path a::after { content: ""; position: absolute; inset: 0; }

/* Card de aula */
.pr-lesson { display: flex; gap: var(--sp-4); align-items: flex-start; padding: var(--sp-4) 0; border-bottom: 1px solid var(--c-border-subtle); }
.pr-lesson__idx { font-family: var(--f-mono); font-size: var(--t-caption-size); color: var(--c-text-muted); min-width: 2.5ch; padding-top: 2px; }
.pr-lesson__body { flex: 1; min-width: 0; }
.pr-lesson__title { font-weight: 600; font-size: var(--t-body-size); }
.pr-lesson__meta { font-family: var(--f-mono); font-size: var(--t-caption-size); color: var(--c-text-muted); margin-top: var(--sp-1); }
.pr-lesson__state { flex: none; }

/* Card de curso */
.pr-course { display: flex; flex-direction: column; height: 100%; }
.pr-course__media { aspect-ratio: 16 / 10; background: var(--c-surface-sunken); border-radius: var(--r-sm); overflow: hidden; margin-bottom: var(--sp-5); }
.pr-course__media img { width: 100%; height: 100%; object-fit: cover; }
.pr-course__foot { margin-top: auto; padding-top: var(--sp-5); display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); }
.pr-course__price { font-family: var(--f-serif); font-size: var(--t-h3-size); }

/* Entrada de glossário */
.pr-glossary { border-bottom: 1px solid var(--c-border-subtle); padding: var(--sp-5) 0; }
.pr-glossary__term { font-family: var(--f-serif); font-size: var(--t-h3-size); font-weight: 400; }
.pr-glossary__pron { font-family: var(--f-mono); font-size: var(--t-caption-size); color: var(--c-text-muted); margin-left: var(--sp-3); }
.pr-glossary__def { color: var(--c-text-secondary); margin-top: var(--sp-2); max-width: var(--layout-text-max); }

/* Verificação de conhecimento */
.pr-check-know { background: var(--c-surface-sunken); border-radius: var(--r-card); padding: var(--sp-6); }
.pr-check-know__q { font-weight: 600; margin-bottom: var(--sp-4); }
.pr-check-know__opts { display: flex; flex-direction: column; gap: var(--sp-3); }
.pr-check-know__opt {
  display: flex; align-items: center; gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4); min-height: var(--tap-min);
  background: var(--c-surface); border: 1px solid var(--c-border-default);
  border-radius: var(--r-sm); cursor: pointer;
  transition: border-color var(--mo-fast) var(--mo-ease);
}
.pr-check-know__opt:hover { border-color: var(--c-border-strong); }

/* Recurso para download */
.pr-resource { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); border: 1px solid var(--c-border-default); border-radius: var(--r-sm); background: var(--c-surface); }
.pr-resource__icon { flex: none; width: 40px; height: 40px; display: grid; place-items: center; background: var(--c-surface-accent-soft); color: var(--c-text-accent); border-radius: var(--r-sm); }
.pr-resource__meta { font-family: var(--f-mono); font-size: var(--t-caption-size); color: var(--c-text-muted); }

/* Barra de progresso de leitura fixa no topo */
.pr-readbar { position: fixed; top: 0; left: 0; height: 3px; background: var(--c-action-accent); z-index: var(--z-toast); width: 0; }


/* ==========================================================================
   CONVERSÃO
   ========================================================================== */

/* Captura do e-book — o produto gratuito de entrada */
.pr-capture { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-9); align-items: center; }
.pr-capture__form { display: flex; flex-direction: column; gap: var(--sp-4); max-width: 420px; }
.pr-capture__row { display: flex; gap: var(--sp-3); }
.pr-capture__row .pr-input { flex: 1; }
.pr-capture__legal { font-size: var(--t-caption-size); color: var(--c-text-muted); }
.pr-capture__cover {
  aspect-ratio: 3 / 4; max-width: 340px;
  background: var(--c-surface-inverse);
  border-radius: var(--r-sm);
  box-shadow: var(--sh-lg);
  padding: var(--sp-7);
  display: flex; flex-direction: column;
  color: var(--c-text-inverse);
}
@media (max-width: 900px) { .pr-capture { grid-template-columns: 1fr; gap: var(--sp-7); } .pr-capture__cover { order: -1; } }

/* Card de preço */
.pr-price { display: flex; flex-direction: column; height: 100%; }
.pr-price--featured { border-color: var(--c-border-strong); box-shadow: var(--sh-md); }
.pr-price__amount { font-family: var(--f-serif); font-size: var(--t-h1-size); line-height: 1; margin-block: var(--sp-4); }
.pr-price__list { display: flex; flex-direction: column; gap: var(--sp-3); margin-block: var(--sp-5); }
.pr-price__list li { display: flex; gap: var(--sp-3); font-size: var(--t-body-sm-size); color: var(--c-text-secondary); }
.pr-price__cta { margin-top: auto; }

/* Bloco de CTA */
.pr-cta { text-align: center; max-width: 720px; margin-inline: auto; }

/* Depoimento — só renderiza com conteúdo real. Ver estado vazio. */
.pr-testimonial { display: flex; flex-direction: column; gap: var(--sp-4); }
.pr-testimonial__who { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--t-caption-size); color: var(--c-text-muted); }
.pr-testimonial__avatar { width: 36px; height: 36px; border-radius: var(--r-pill); background: var(--c-surface-sunken); flex: none; }


/* ==========================================================================
   HERO E COMPOSIÇÕES
   ========================================================================== */

.pr-hero { padding-block: clamp(2.5rem, 1rem + 5vw, 5.5rem) var(--sp-section); }
.pr-hero__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.pr-hero__copy { max-width: 42ch; }
.pr-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-4); margin-top: var(--sp-7); }
.pr-hero__note { margin-top: var(--sp-6); font-size: var(--t-caption-size); color: var(--c-text-muted); max-width: 46ch; }

.pr-hero__media { position: relative; border-radius: var(--r-md); overflow: hidden; background: var(--c-surface-sunken); aspect-ratio: 4 / 3.4; }
.pr-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.pr-hero__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,20,40,0.42) 0%, rgba(11,20,40,0.12) 38%, rgba(11,20,40,0.72) 100%); }
.pr-hero__tag { position: absolute; top: var(--sp-6); left: var(--sp-6); right: var(--sp-6); display: flex; justify-content: space-between; gap: var(--sp-5); color: var(--c-text-inverse); }
.pr-hero__aside { max-width: 22ch; border-left: 1px solid var(--c-border-inverse); padding-left: var(--sp-4); font-family: var(--f-mono); font-size: 0.6875rem; line-height: 1.7; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-text-inverse); }

@media (max-width: 1023px) {
  .pr-hero__grid { grid-template-columns: 1fr; }
  .pr-hero__media { aspect-ratio: 16 / 10; }
  .pr-hero__copy { max-width: 100%; }
}

/* Faixa de provas/atributos sob o hero */
.pr-strip { border-block: 1px solid var(--c-border-subtle); background: var(--c-background-secondary); }
.pr-strip__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.pr-strip__item { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-6) var(--sp-5); }
.pr-strip__item + .pr-strip__item { border-left: 1px solid var(--c-border-subtle); }
.pr-strip__icon { flex: none; width: 28px; height: 28px; color: var(--c-text-accent); }
.pr-strip__k { font-family: var(--f-serif); font-size: var(--t-h4-size); }
.pr-strip__v { font-size: var(--t-caption-size); color: var(--c-text-muted); }
@media (max-width: 1023px) {
  .pr-strip__grid { grid-template-columns: 1fr 1fr; }
  .pr-strip__item:nth-child(odd) { border-left: 0; }
  .pr-strip__item:nth-child(n+3) { border-top: 1px solid var(--c-border-subtle); }
}
@media (max-width: 560px) {
  .pr-strip__grid { grid-template-columns: 1fr; }
  .pr-strip__item + .pr-strip__item { border-left: 0; border-top: 1px solid var(--c-border-subtle); }
}


/* ==========================================================================
   MARCA
   ========================================================================== */

.pr-logo { display: inline-flex; align-items: center; gap: var(--sp-3); text-decoration: none; color: var(--c-text-primary); }
.pr-logo__mark { flex: none; width: 34px; height: 34px; }
.pr-logo__word { font-family: var(--f-serif); font-size: 1.28rem; font-weight: 400; letter-spacing: -0.015em; line-height: 1; white-space: nowrap; }
.pr-logo__amp { color: var(--c-text-accent-large); }
.pr-logo--inverse { color: var(--c-text-inverse); }
.pr-logo--sm .pr-logo__mark { width: 26px; height: 26px; }
.pr-logo--sm .pr-logo__word { font-size: 1.05rem; }
.pr-logo--lg .pr-logo__mark { width: 52px; height: 52px; }
.pr-logo--lg .pr-logo__word { font-size: 2rem; }
.pr-logo--stack { flex-direction: column; gap: var(--sp-3); text-align: center; }
