/* ============================================================
   ARCO FISCAL — IRS REGISTO
   css/pages/irs-registo.css
   ============================================================ */


/* ============================================================
   HERO
   ============================================================ */
.irs-hero {
  background: var(--black);
  padding-top: calc(var(--nav-height) + var(--section-sm));
  padding-bottom: var(--section-sm);
  position: relative;
  overflow: hidden;
}

.irs-hero::before {
  content: 'IRS';
  position: absolute;
  right: -0.05em;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-display);
  font-size: clamp(8rem, 22vw, 22rem);
  font-weight: var(--weight-regular);
  color: rgba(236, 227, 220, 0.03);
  letter-spacing: -0.02em;
  pointer-events: none;
  user-select: none;
  line-height: 1;
}

.irs-hero-inner {
  max-width: 700px;
  position: relative;
  z-index: 1;
}

.irs-hero .eyebrow {
  color: var(--taupe);
  opacity: 0.8;
  margin-bottom: var(--space-5);
}

.irs-hero h1 {
  color: var(--cream);
  font-size: clamp(3rem, 6vw, 7.5rem);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
}

.irs-hero h1 em {
  color: var(--taupe);
}

.irs-hero-lead {
  color: rgba(236, 227, 220, 0.6);
  font-size: var(--text-body-lg);
  line-height: var(--leading-relaxed);
  max-width: 560px;
  margin-top: var(--space-6);
  font-weight: var(--weight-light);
}

/* Data strip */
.irs-hero-dates {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid rgba(236, 227, 220, 0.08);
}

.irs-date-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.irs-date-value {
  font-family: var(--font-display);
  font-size: clamp(0.95rem, 1.5vw, 1.2rem);
  font-weight: var(--weight-regular);
  color: var(--cream);
  letter-spacing: 0.03em;
}

.irs-date-label {
  font-family: var(--font-mono);
  font-size: 0.44rem;
  letter-spacing: var(--tracking-ultra);
  text-transform: uppercase;
  color: rgba(236, 227, 220, 0.3);
}

.irs-hero-cta {
  margin-top: var(--space-10);
  /* btn-primary é preto sobre o hero preto — borda clara dá-lhe contorno */
  border-color: rgba(236, 227, 220, 0.35);
}

.irs-hero-cta:hover {
  border-color: rgba(236, 227, 220, 0.65);
}


/* ============================================================
   BENEFÍCIOS
   ============================================================ */
.irs-benefits {
  padding: var(--section-md) 0;
  background: var(--cream3);
}

.irs-benefits-header {
  max-width: 680px;
  margin-bottom: var(--space-10);
}

.irs-benefits-header h2 {
  margin-top: var(--space-4);
}

.irs-benefits-sub {
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
}

.irs-benefits-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

@media (min-width: 640px) {
  .irs-benefits-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .irs-benefits-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.irs-benefit-card {
  background: var(--cream);
  border: 1px solid var(--border-light);
  padding: var(--space-8) var(--space-6);
  position: relative;
}

.irs-benefit-num {
  font-family: var(--font-mono);
  font-size: var(--text-tag);
  letter-spacing: var(--tracking-ultra);
  text-transform: uppercase;
  color: var(--taupe);
  opacity: 0.45;
  margin-bottom: var(--space-5);
  display: block;
}

.irs-benefit-title {
  font-family: var(--font-serif);
  font-size: var(--text-h4);
  font-weight: var(--weight-light);
  color: var(--text-primary);
  line-height: var(--leading-snug);
  margin-bottom: var(--space-3);
}

.irs-benefit-desc {
  color: var(--text-secondary);
  font-size: var(--text-body-sm);
  line-height: var(--leading-relaxed);
  font-weight: var(--weight-light);
}


/* ============================================================
   QUEM DEVE ENTREGAR
   ============================================================ */
.irs-who {
  padding: var(--section-md) 0;
  background: var(--cream);
}

.irs-who-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
}

@media (min-width: 1024px) {
  .irs-who-inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-20);
    align-items: start;
  }
}

.irs-who-header .eyebrow {
  margin-bottom: var(--space-4);
}

.irs-who-header h2 {
  margin-top: var(--space-4);
}

.irs-who-header p {
  margin-top: var(--space-5);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
}

.irs-who-list {
  border-top: 1px solid var(--border-light);
}

.irs-who-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-5);
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--border-light);
}

.irs-who-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  color: var(--taupe);
}

.irs-who-text {
  font-family: var(--font-serif);
  font-size: var(--text-body);
  font-weight: var(--weight-light);
  color: var(--text-body);
  line-height: var(--leading-relaxed);
}


/* ============================================================
   FORMULÁRIO
   ============================================================ */
.irs-form-section {
  padding: var(--section-md) 0 var(--section-lg);
  background: var(--cream2);
}

.irs-form-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-12);
}

@media (min-width: 1024px) {
  .irs-form-wrap {
    grid-template-columns: 340px 1fr;
    gap: var(--space-16);
    align-items: start;
  }
}

/* Intro lateral */
.irs-form-intro {
  position: sticky;
  top: calc(var(--nav-height) + var(--space-8));
}

.irs-form-intro h2 {
  margin-top: var(--space-4);
}

.irs-form-intro-lead {
  margin-top: var(--space-5);
  color: var(--text-secondary);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
}

.irs-form-secure-note {
  margin-top: var(--space-8);
  padding: var(--space-5);
  border: 1px solid var(--border-light);
  background: var(--cream3);
}

.irs-form-secure-note-label {
  font-family: var(--font-mono);
  font-size: 0.44rem;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--taupe);
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}

.irs-form-secure-note p {
  font-size: var(--text-body-sm);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
}

/* Container do formulário */
.irs-form-container {
  background: var(--cream3);
  border: 1px solid var(--border-light);
  padding: var(--space-8) var(--space-6);
}

@media (min-width: 640px) {
  .irs-form-container {
    padding: var(--space-10) var(--space-10);
  }
}

/* Separador de secção dentro do formulário */
.irs-fsection {
  padding-top: var(--space-8);
  margin-top: var(--space-8);
  border-top: 1px solid var(--border-light);
}

.irs-fsection:first-child {
  padding-top: 0;
  margin-top: 0;
  border-top: none;
}

.irs-fsection-title {
  font-family: var(--font-mono);
  font-size: 0.44rem;
  letter-spacing: var(--tracking-ultra);
  text-transform: uppercase;
  color: var(--taupe);
  margin-bottom: var(--space-6);
  display: block;
}

/* Campo individual */
.irs-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
}

.irs-field:last-child {
  margin-bottom: 0;
}

.irs-label {
  font-family: var(--font-mono);
  font-size: 0.46rem;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--text-secondary);
  line-height: var(--leading-normal);
}

.irs-label-note {
  display: block;
  font-family: var(--font-serif);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-light);
  color: var(--text-secondary);
  font-style: italic;
  letter-spacing: 0;
  text-transform: none;
  margin-top: var(--space-1);
  opacity: 0.75;
}

.irs-input,
.irs-select {
  width: 100%;
  background: var(--cream);
  border: 1px solid var(--border-light);
  color: var(--text-primary);
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: var(--weight-light);
  padding: var(--space-3) var(--space-4);
  transition: border-color var(--transition-fast), background var(--transition-fast);
  appearance: none;
  -webkit-appearance: none;
}

.irs-input:focus,
.irs-select:focus {
  outline: none;
  border-color: var(--taupe);
  background: var(--cream3);
}

.irs-input.is-error,
.irs-select.is-error {
  border-color: #b85c38;
}

.irs-input::placeholder {
  color: rgba(89, 73, 60, 0.3);
}

/* Select custom arrow */
.irs-select-wrap {
  position: relative;
}

.irs-select-wrap::after {
  content: '';
  position: absolute;
  right: var(--space-4);
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid var(--taupe);
  pointer-events: none;
  opacity: 0.5;
}

.irs-select-wrap .irs-select {
  padding-right: var(--space-10);
  cursor: pointer;
}

/* 2 colunas */
.irs-fields-2col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

@media (min-width: 480px) {
  .irs-fields-2col {
    grid-template-columns: 1fr 1fr;
  }
}


/* ============================================================
   CHECKBOXES — RENDIMENTOS & DEDUÇÕES
   ============================================================ */
.irs-checks-label {
  font-family: var(--font-mono);
  font-size: 0.46rem;
  letter-spacing: var(--tracking-widest);
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: var(--space-4);
  display: block;
}

.irs-checks {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border-light);
  background: var(--cream);
}

.irs-check-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  border-bottom: 1px solid var(--border-light);
  transition: background var(--transition-fast);
  cursor: pointer;
}

.irs-check-item:last-child {
  border-bottom: none;
}

.irs-check-item:hover {
  background: var(--cream2);
}

.irs-check-item input[type="checkbox"] {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin-top: 3px;
  accent-color: var(--brown);
  cursor: pointer;
}

.irs-check-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.irs-check-cat {
  font-family: var(--font-mono);
  font-size: 0.42rem;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--taupe);
}

.irs-check-label {
  font-family: var(--font-serif);
  font-size: var(--text-body);
  font-weight: var(--weight-light);
  color: var(--text-body);
  line-height: var(--leading-relaxed);
  cursor: pointer;
}


/* ============================================================
   CONSENTIMENTO
   ============================================================ */
.irs-consent {
  background: rgba(89, 73, 60, 0.04);
  border: 1px solid var(--border-light);
  margin-top: var(--space-2);
}

.irs-consent-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-5);
  padding: var(--space-6);
  border-bottom: 1px solid var(--border-light);
}

.irs-consent-item:last-child {
  border-bottom: none;
}

.irs-consent-item input[type="checkbox"] {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin-top: 4px;
  accent-color: var(--brown);
  cursor: pointer;
}

.irs-consent-text {
  font-family: var(--font-serif);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-light);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  cursor: pointer;
}

/* Caixa de aviso (informacional) */
.irs-info-box {
  background: rgba(155, 138, 120, 0.07);
  border-left: 2px solid var(--taupe);
  padding: var(--space-5) var(--space-6);
  margin-top: var(--space-6);
}

.irs-info-box-title {
  font-family: var(--font-mono);
  font-size: 0.44rem;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--taupe);
  margin-bottom: var(--space-3);
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.irs-info-box p {
  font-family: var(--font-serif);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-light);
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
  margin-bottom: var(--space-3);
}

.irs-info-box p:last-child {
  margin-bottom: 0;
}


/* ============================================================
   SUBMISSÃO
   ============================================================ */
.irs-submit-wrap {
  margin-top: var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid var(--border-light);
}

.irs-submit {
  width: 100%;
  background: var(--black);
  color: var(--cream);
  border: none;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  padding: var(--space-4) var(--space-8);
  cursor: pointer;
  min-height: 54px;
  transition: background var(--transition-base);
}

.irs-submit:hover {
  background: var(--brown);
}

.irs-submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.irs-form-msg {
  display: none;
  padding: var(--space-4) var(--space-5);
  font-family: var(--font-mono);
  font-size: 0.48rem;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  margin-top: var(--space-4);
}

.irs-form-msg.is-error {
  display: block;
  background: rgba(184, 92, 56, 0.08);
  border: 1px solid rgba(184, 92, 56, 0.25);
  color: #b85c38;
}

.irs-form-msg.is-success {
  display: block;
  background: rgba(90, 140, 90, 0.08);
  border: 1px solid rgba(90, 140, 90, 0.25);
  color: #5a8c5a;
}

/* Estado de sucesso — substitui o form */
.irs-success-state {
  display: none;
  text-align: center;
  padding: var(--space-16) var(--space-8);
}

.irs-success-state.is-visible {
  display: block;
}

.irs-success-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--space-6);
  color: var(--taupe);
}

.irs-success-title {
  font-family: var(--font-serif);
  font-size: var(--text-h3);
  font-weight: var(--weight-light);
  color: var(--text-primary);
  margin-bottom: var(--space-4);
}

.irs-success-sub {
  color: var(--text-secondary);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  max-width: 440px;
  margin: 0 auto;
}


/* ============================================================
   CTA FINAL
   ============================================================ */
.irs-cta-final {
  background: var(--black);
  padding: var(--section-sm) 0;
  text-align: center;
}

.irs-cta-final h2 {
  color: var(--cream);
  margin-bottom: var(--space-6);
}

.irs-cta-final h2 em {
  color: var(--taupe);
}


/* ============================================================
   RESPONSIVIDADE
   ============================================================ */
@media (max-width: 1023px) {
  .irs-form-intro {
    position: static;
  }
}

@media (max-width: 639px) {
  .irs-hero-dates {
    gap: var(--space-6);
    flex-direction: column;
  }

  .irs-form-container {
    padding: var(--space-6) var(--space-5);
  }

  .irs-benefits-grid {
    gap: var(--space-3);
  }
}
