.rr-hero {
  padding: 34px 0 34px;
}

.rr-hero__card {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,252,.96));
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 28px;
  box-shadow: 0 24px 50px rgba(15, 23, 42, 0.08);
  padding: 34px 30px;
  text-align: center;
}

.rr-hero__check {
  width: 76px;
  height: 76px;
  border-radius: 999px;
  margin: 8px auto 16px;
  display: grid;
  place-items: center;
  font-size: 2rem;
  color: #16a34a;
  background: rgba(22, 163, 74, 0.08);
}

.rr-hero h1 {
  margin: 0 0 12px;
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1.08;
}

.rr-hero__lead {
  max-width: 850px;
  margin: 0 auto;
  font-size: 1.02rem;
  line-height: 1.75;
  color: #475569;
}

.rr-callout {
  margin: 24px auto 0;
  max-width: 420px;
  background: #0f172a;
  color: #fff;
  border-radius: 22px;
  padding: 14px 18px;
}

.rr-callout__label {
  display: block;
  font-size: .86rem;
  color: rgba(255,255,255,.78);
  margin-bottom: 6px;
}

.rr-callout__phone {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 900;
  text-decoration: none;
}

.rr-hero__actions {
  margin-top: 24px;
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

.rr-summary {
  padding-top: 18px;
  padding-bottom: 14px;
}

.rr-summary__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
}

.rr-mini-card,
.rr-card,
.rr-side-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 24px;
  box-shadow: 0 18px 38px rgba(15,23,42,.06);
}

.rr-mini-card {
  padding: 26px;
}

.rr-mini-card__icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
  font-size: 1.1rem;
  margin-bottom: 14px;
}

.rr-mini-card h2 {
  font-size: 1.06rem;
  margin: 0 0 10px;
}

.rr-mini-card p {
  margin: 0;
  color: #475569;
  line-height: 1.68;
}

.rr-content {
  padding-top: 20px;
  padding-bottom: 24px;
}

.rr-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .8fr);
  gap: 32px;
  align-items: start;
}

.rr-main,
.rr-side {
  display: grid;
  gap: 32px;
}

.rr-card,
.rr-side-card {
  padding: 30px;
}

.rr-card--soft,
.rr-side-card--muted {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.rr-docs,
.rr-steps {
  display: grid;
  gap: 0;
  margin-top: 10px;
}

.rr-doc,
.rr-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 0;
  border-top: 1px solid rgba(15,23,42,.08);
}

.rr-doc:first-child,
.rr-step:first-child {
  border-top: 0;
  padding-top: 0;
}

.rr-doc:last-child,
.rr-step:last-child {
  padding-bottom: 0;
}

.rr-doc__icon,
.rr-step__num {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(15, 23, 42, 0.05);
  color: #0f172a;
  font-weight: 900;
  flex-shrink: 0;
}

.rr-doc__text strong,
.rr-step strong {
  display: block;
  line-height: 1.35;
}

.rr-doc__text p,
.rr-step p,
.rr-side-card p {
  margin: 8px 0 0;
  color: #475569;
  line-height: 1.72;
}

.rr-side-card h3,
.rr-side-card h4 {
  margin: 0 0 12px;
}

.rr-side-card .btn-block + .btn-block {
  margin-top: 12px;
}

@media (min-width: 992px) {
  .rr-side {
    position: sticky;
    top: 96px;
    align-self: start;
  }
}

@media (max-width: 991.98px) {
  .rr-summary {
    padding-top: 14px;
    padding-bottom: 8px;
  }

  .rr-summary__grid,
  .rr-layout {
    grid-template-columns: 1fr;
  }

  .rr-hero__card,
  .rr-card,
  .rr-side-card,
  .rr-mini-card {
    border-radius: 22px;
  }

  .rr-summary__grid,
  .rr-main,
  .rr-side,
  .rr-layout {
    gap: 22px;
  }

  .rr-content {
    padding-top: 14px;
    padding-bottom: 18px;
  }
}

@media (max-width: 575.98px) {
  .rr-hero {
    padding-top: 18px;
    padding-bottom: 14px;
  }

  .rr-hero__card,
  .rr-card,
  .rr-side-card,
  .rr-mini-card {
    padding: 22px;
    border-radius: 20px;
  }

  .rr-summary {
    padding-top: 10px;
  }

  .rr-summary__grid,
  .rr-main,
  .rr-side,
  .rr-layout {
    gap: 18px;
  }

  .rr-hero__actions {
    flex-direction: column;
  }

  .rr-callout__phone {
    font-size: 1.28rem;
  }

  .rr-doc,
  .rr-step {
    gap: 14px;
    padding: 18px 0;
  }
}


/* =========================================================
   RICHIESTA RICEVUTA - ALIGNMENT TO INDEX SHELL
   ========================================================= */
.page-richiestaricevuta{
  --rr-text:#26163c;
  --rr-muted:#6d7688;
  --rr-line:#ebdff7;
  --rr-soft:#fff8fc;
  --rr-soft-2:#eef5ff;
  --rr-brand-gradient:linear-gradient(135deg,#ff9a00 0%,#ff6b11 18%,#ff5a4f 36%,#ec1f9b 58%,#9333ea 80%,#1f6fff 100%);
}

.rr-hero{
  background:
    radial-gradient(circle at 8% 12%, rgba(255,154,0,.18), transparent 38%),
    radial-gradient(circle at 34% 4%, rgba(255,90,79,.16), transparent 30%),
    radial-gradient(circle at 62% 0%, rgba(236,31,155,.14), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(31,111,255,.16), transparent 38%),
    linear-gradient(180deg,#fff8f1 0%, #fff4fb 48%, #eef5ff 100%);
}

.rr-hero__card{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,249,252,.96));
  border:1px solid var(--rr-line);
  box-shadow:0 24px 50px rgba(79,70,229,.10);
}

.rr-hero__check{
  color:#16a34a;
  background:rgba(22,163,74,.08);
}

.rr-hero h1,
.rr-mini-card h2,
.rr-side-card h3,
.rr-side-card h4{
  color:var(--rr-text);
}

.rr-hero__lead,
.rr-mini-card p,
.rr-doc__text p,
.rr-step p,
.rr-side-card p{
  color:var(--rr-muted);
}

.rr-callout{
  background:linear-gradient(135deg,#25143a 0%, #5223a8 100%);
  box-shadow:0 18px 38px rgba(79,70,229,.18);
}

.rr-hero__actions .btn-v2-primary,
.rr-side-card .btn-v2-primary{
  background:var(--rr-brand-gradient) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(147,51,234,.20);
}

.rr-hero__actions .btn-v2-ghost,
.rr-side-card .btn-v2-ghost{
  background:#fff !important;
  color:#2d57d8 !important;
  border-color:var(--rr-line) !important;
}

.rr-hero__actions .btn-v2-ghost:hover,
.rr-hero__actions .btn-v2-ghost:focus,
.rr-side-card .btn-v2-ghost:hover,
.rr-side-card .btn-v2-ghost:focus{
  color:#1f3fa6 !important;
  border-color:#2d57d8 !important;
  box-shadow:0 10px 24px rgba(31,111,255,.10) !important;
}

.rr-summary{
  background:linear-gradient(180deg,#fff9fc 0%, #f8f5ff 52%, #eef5ff 100%);
}

.rr-mini-card,
.rr-card,
.rr-side-card{
  border:1px solid var(--rr-line);
  box-shadow:0 18px 38px rgba(79,70,229,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%, rgba(255,249,252,.98) 52%, rgba(242,247,255,.98) 100%);
}

.rr-mini-card__icon{
  background:linear-gradient(180deg,#fff2f5 0%, #f2ebff 54%, #eef5ff 100%);
  color:#e52d78;
}

.rr-content{
  background:linear-gradient(180deg,#fff9fc 0%, #f8f5ff 52%, #eef5ff 100%);
}

.rr-doc,
.rr-step{
  border-top:1px solid rgba(228,218,242,.95);
}

.rr-doc__icon,
.rr-step__num{
  background:linear-gradient(180deg,#fff2f5 0%, #f2ebff 54%, #eef5ff 100%);
  color:#e52d78;
}

.rr-card--soft,
.rr-side-card--muted{
  background:linear-gradient(180deg,rgba(255,255,255,.98) 0%, rgba(255,249,252,.98) 52%, rgba(242,247,255,.98) 100%);
}

@media (max-width: 575.98px){
  .rr-content{
    padding-bottom:calc(18px + var(--mbar-h) + var(--safe-b));
  }
}
