/* =========================================================
   Studio Editorial — leggibilità elegante su tutte le pagine
   ========================================================= */

:root {
  --text-readable: #d8dbe8;
  --text-readable-strong: #f2f4fa;
  --text-readable-muted: #aeb3c5;
  --panel-border: rgba(212, 175, 55, 0.22);
  --panel-border-hover: rgba(212, 175, 55, 0.5);
  --section-pad-y: clamp(5.5rem, 9vw, 9rem);
  --fs-body: clamp(1.125rem, 0.4vw + 1.05rem, 1.25rem);
  --fs-lead: clamp(1.2rem, 0.5vw + 1.1rem, 1.4rem);
  --fs-h1: clamp(2.75rem, 5.5vw, 4.1rem);
  --fs-h2: clamp(2.2rem, 3.8vw, 3.15rem);
  --fs-h3: clamp(1.45rem, 1.5vw + 1.1rem, 1.75rem);
  --bg-deep: #080e28;
  --bg-soft: #0a1336;
  --bg-mid: #0b163f;
  --bg-lift: #101c4a;
}

/* ---------- Base readability ---------- */
body.luxa-theme {
  font-size: var(--fs-body);
  line-height: 1.8;
  color: var(--text-readable);
  letter-spacing: 0.01em;
}

body.luxa-theme p,
body.luxa-theme li,
body.luxa-theme .section-description,
body.luxa-theme .service-description,
body.luxa-theme .hero-description,
body.luxa-theme .member-description,
body.luxa-theme .description-text,
body.luxa-theme .article-content,
body.luxa-theme .content-text {
  color: var(--text-readable) !important;
  line-height: 1.85 !important;
  font-size: var(--fs-body) !important;
  font-weight: 300 !important;
  font-family: var(--font-body), 'Source Sans 3', sans-serif !important;
  letter-spacing: 0.01em !important;
  text-shadow: none !important;
}

body.luxa-theme .lead:not(.banner-content .lead),
body.luxa-theme .about-content .lead,
body.luxa-theme .description-text .lead {
  color: var(--text-readable) !important;
  line-height: 1.85 !important;
  font-size: clamp(1.25rem, 0.6vw + 1.15rem, 1.5rem) !important;
  font-weight: 300 !important;
  font-family: var(--font-body), 'Source Sans 3', sans-serif !important;
  letter-spacing: 0.01em !important;
  text-shadow: none !important;
  max-width: 48rem;
}

body.luxa-theme strong,
body.luxa-theme b {
  color: var(--text-readable-strong);
  font-weight: 600;
}

body.luxa-theme em {
  color: var(--primary-gold);
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif;
  font-style: italic;
  font-weight: 500;
}

/* ---------- Titles: calm serif ---------- */
body.luxa-theme h1,
body.luxa-theme h2,
body.luxa-theme h3,
body.luxa-theme .hero-title,
body.luxa-theme .section-title,
body.luxa-theme .cta-title,
body.luxa-theme .page-header h1,
body.luxa-theme .service-title,
body.luxa-theme .crime-title,
body.luxa-theme .step-title,
body.luxa-theme .framework-title,
body.luxa-theme .consequence-title,
body.luxa-theme .requirement-title,
body.luxa-theme .strategy-title {
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
  color: var(--text-readable-strong) !important;
}

body.luxa-theme .hero-title,
body.luxa-theme .page-header h1 {
  font-size: var(--fs-h1) !important;
  font-weight: 500 !important;
  margin-bottom: 1.25rem !important;
}

body.luxa-theme .section-title,
body.luxa-theme .cta-title {
  font-size: var(--fs-h2) !important;
  margin-bottom: 1.5rem !important;
}

body.luxa-theme h3,
body.luxa-theme .service-title,
body.luxa-theme .crime-title,
body.luxa-theme .step-title,
body.luxa-theme .framework-title,
body.luxa-theme .consequence-title,
body.luxa-theme .requirement-title,
body.luxa-theme .strategy-title {
  font-size: var(--fs-h3) !important;
}

body.luxa-theme .subtitle,
body.luxa-theme .section-subtitle,
body.luxa-theme .hero-content .subtitle {
  font-family: var(--font-body), 'Source Sans 3', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(212, 175, 55, 0.92) !important;
  margin-bottom: 1rem !important;
}

body.luxa-theme .highlight {
  color: var(--primary-gold) !important;
  font-style: italic;
  font-weight: 600 !important;
}

body.luxa-theme .banner-content .main-heading .highlight {
  font-style: normal !important;
  background-image: linear-gradient(
    180deg,
    #fff6c8 0%,
    #f0d060 28%,
    #e4c04a 52%,
    #d4af37 78%,
    #f5e6a0 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: #e4c04a !important;
  filter: drop-shadow(0 1px 0 rgba(184, 134, 11, 0.35));
}

/* ---------- Heroes cinematic ---------- */
body.luxa-theme .specialty-hero-section,
body.luxa-theme .studio-hero-section,
body.luxa-theme .contact-hero-section,
body.luxa-theme .page-header,
body.luxa-theme .article-header,
body.luxa-theme .blog-hero {
  min-height: 58vh !important;
  padding: clamp(7rem, 12vw, 10rem) 0 clamp(4rem, 7vw, 6rem) !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  overflow: hidden !important;
}

body.luxa-theme .hero-overlay,
body.luxa-theme .header-overlay {
  background: linear-gradient(
    105deg,
    rgba(11, 22, 63, 0.92) 0%,
    rgba(11, 22, 63, 0.72) 48%,
    rgba(11, 22, 63, 0.45) 100%
  ) !important;
}

body.luxa-theme .hero-description,
body.luxa-theme .page-header .lead {
  max-width: 44rem !important;
  font-size: var(--fs-lead) !important;
  opacity: 0.95;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------- Section breathing room ---------- */
body.luxa-theme main section:not(.banner-slider):not(.specialty-hero-section):not(.studio-hero-section):not(.contact-hero-section):not(.page-header):not(.article-header) {
  padding-top: var(--section-pad-y) !important;
  padding-bottom: var(--section-pad-y) !important;
}

body.luxa-theme .section-header {
  margin-bottom: clamp(2.5rem, 5vw, 4rem) !important;
}

/* Soft gold rule under centered section headers only */
body.luxa-theme .section-header.text-center::after,
body.luxa-theme .text-center > .section-header::after,
body.luxa-theme .section-header:not(.text-left)::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: rgba(212, 175, 55, 0.65);
  margin: 1.25rem auto 0;
}

body.luxa-theme .section-header.text-left::after,
body.luxa-theme .section-header.no-rule::after {
  display: none;
}

/* ---------- Flat panels (no SaaS cards) ---------- */
body.luxa-theme .service-item,
body.luxa-theme .service-card,
body.luxa-theme .crime-card,
body.luxa-theme .info-card,
body.luxa-theme .team-member,
body.luxa-theme .team-card,
body.luxa-theme .team-card-inline,
body.luxa-theme .benefit-card,
body.luxa-theme .step-card,
body.luxa-theme .requirement-card,
body.luxa-theme .consequence-card,
body.luxa-theme .strategy-card,
body.luxa-theme .framework-card,
body.luxa-theme .highlight-box,
body.luxa-theme .cta-box,
body.luxa-theme .content-card,
body.luxa-theme .blog-card,
body.luxa-theme .article-card,
body.luxa-theme .contact-form-wrapper,
body.luxa-theme .form-container,
body.luxa-theme .emergency-box {
  background: transparent !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: border-color 0.3s ease, background 0.3s ease !important;
}

body.luxa-theme .service-item:hover,
body.luxa-theme .service-card:hover,
body.luxa-theme .crime-card:hover,
body.luxa-theme .info-card:hover,
body.luxa-theme .team-member:hover,
body.luxa-theme .team-card:hover,
body.luxa-theme .blog-card:hover,
body.luxa-theme .article-card:hover,
body.luxa-theme .step-card:hover,
body.luxa-theme .strategy-card:hover {
  border-color: var(--panel-border-hover) !important;
  background: rgba(11, 22, 63, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* ---------- Photo treatment ---------- */
body.luxa-theme .member-photo img,
body.luxa-theme .team-image img,
body.luxa-theme .team-image-inline img,
body.luxa-theme .image-container img,
body.luxa-theme .lawyer-photo img,
body.luxa-theme .profile-image img {
  filter: contrast(1.04) saturate(0.88) brightness(0.92);
  object-fit: cover;
}

/* ---------- Lists & benefits ---------- */
body.luxa-theme .site-footer {
  background: var(--header-navy, #0b163f) !important;
  border-top: 1px solid rgba(212, 175, 55, 0.14) !important;
}

body.luxa-theme .footer-list li,
body.luxa-theme .benefit-item span,
body.luxa-theme .expertise-list li,
body.luxa-theme .specialization-list li {
  color: var(--text-readable) !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
}

body.luxa-theme .benefit-item i {
  color: var(--primary-gold) !important;
}

/* ---------- Section rhythm — deep → soft → mid (hero e footer intatti) ---------- */
body.luxa-theme {
  background-color: var(--bg-deep) !important;
}

/*
  Solo sezioni di contenuto sotto l'hero.
  Ritmo fisso: #080e28 → #0a1336 → #0b163f → ripete.
  Hero e footer non entrano nel ciclo.
*/
body.luxa-theme main > section:not(.banner-slider):not(.sp-hero):not(.ba-hero):not(.le-hero):not(.rp-hero):not(.lawyer-hero-section):not(.areas-hero):not(.areas-hero-section):not(.blog-hero):not(.contact-hero-section):not(.studio-hero-section):not(.specialty-hero-section):not(.page-header):not(.article-header):not(.error-header):not(.thank-you-section):not(.le-utility):not(.contact-section--embedded) {
  background-image: none !important;
  border-top: 1px solid rgba(212, 175, 55, 0.1) !important;
  border-bottom: none !important;
}

/* Nested / embedded form shells never paint a second band */
body.luxa-theme main .contact-section--embedded,
body.luxa-theme main .contact-section--embedded .contact-form-wrapper,
body.luxa-theme main .contact-form-wrapper--bare {
  background: transparent !important;
  background-color: transparent !important;
  border-top: none !important;
}

/* 1ª, 4ª, 7ª… → deep (scuro) */
body.luxa-theme main > section:nth-child(3n + 1 of :not(.banner-slider):not(.sp-hero):not(.ba-hero):not(.le-hero):not(.rp-hero):not(.lawyer-hero-section):not(.areas-hero):not(.areas-hero-section):not(.blog-hero):not(.contact-hero-section):not(.studio-hero-section):not(.specialty-hero-section):not(.page-header):not(.article-header):not(.error-header):not(.thank-you-section):not(.le-utility):not(.contact-section--embedded)) {
  background-color: #080e28 !important;
}

/* 2ª, 5ª, 8ª… → soft (un filo più chiaro) */
body.luxa-theme main > section:nth-child(3n + 2 of :not(.banner-slider):not(.sp-hero):not(.ba-hero):not(.le-hero):not(.rp-hero):not(.lawyer-hero-section):not(.areas-hero):not(.areas-hero-section):not(.blog-hero):not(.contact-hero-section):not(.studio-hero-section):not(.specialty-hero-section):not(.page-header):not(.article-header):not(.error-header):not(.thank-you-section):not(.le-utility):not(.contact-section--embedded)) {
  background-color: #0a1336 !important;
}

/* 3ª, 6ª, 9ª… → mid */
body.luxa-theme main > section:nth-child(3n + 3 of :not(.banner-slider):not(.sp-hero):not(.ba-hero):not(.le-hero):not(.rp-hero):not(.lawyer-hero-section):not(.areas-hero):not(.areas-hero-section):not(.blog-hero):not(.contact-hero-section):not(.studio-hero-section):not(.specialty-hero-section):not(.page-header):not(.article-header):not(.error-header):not(.thank-you-section):not(.le-utility):not(.contact-section--embedded)) {
  background-color: #0b163f !important;
}

/* Prefer navy tones when pages used near-black fills */
body.luxa-theme [style*="background: #000"],
body.luxa-theme [style*="background:#000"] {
  background: var(--bg-deep) !important;
}

body.luxa-theme .cta-description {
  color: var(--text-readable) !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   Editorial pass — tutte le pagine (tranne home/studio già curate)
   ========================================================= */

/* Heroes: left cinematic, all page types */
body.luxa-theme .specialty-hero-section,
body.luxa-theme .lawyer-hero-section,
body.luxa-theme .areas-hero-section,
body.luxa-theme .contact-hero-section,
body.luxa-theme .page-header,
body.luxa-theme .article-header,
body.luxa-theme .blog-hero,
body.luxa-theme .thank-you-section {
  min-height: 62vh !important;
  padding: clamp(7.5rem, 14vw, 11rem) 0 clamp(4.5rem, 8vw, 6.5rem) !important;
  display: flex !important;
  align-items: flex-end !important;
  position: relative !important;
  overflow: hidden !important;
  background-color: #080e28 !important;
}

body.luxa-theme .specialty-hero-section .row.justify-content-center,
body.luxa-theme .lawyer-hero-section .row.justify-content-center,
body.luxa-theme .areas-hero-section .row.justify-content-center,
body.luxa-theme .contact-hero-section .row.justify-content-center,
body.luxa-theme .page-header .row.justify-content-center,
body.luxa-theme .blog-hero .row.justify-content-center {
  justify-content: flex-start !important;
}

body.luxa-theme .specialty-hero-section .text-center,
body.luxa-theme .lawyer-hero-section .text-center,
body.luxa-theme .areas-hero-section .text-center,
body.luxa-theme .contact-hero-section .text-center,
body.luxa-theme .page-header .text-center,
body.luxa-theme .blog-hero .text-center,
body.luxa-theme .specialty-hero-section .hero-content,
body.luxa-theme .lawyer-hero-section .hero-content,
body.luxa-theme .lawyer-hero-section .lawyer-intro,
body.luxa-theme .areas-hero-section .hero-content,
body.luxa-theme .contact-hero-section .hero-content {
  text-align: left !important;
}

body.luxa-theme .lawyer-hero-section .lawyer-name {
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif !important;
  font-size: var(--fs-h1) !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.05 !important;
  color: #f7f4ec !important;
  margin-bottom: 1rem !important;
}

body.luxa-theme .lawyer-hero-section .lawyer-title {
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(1.15rem, 1.3vw, 1.4rem) !important;
  color: rgba(230, 232, 240, 0.9) !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}

body.luxa-theme .hero-overlay,
body.luxa-theme .header-overlay {
  background:
    linear-gradient(
      100deg,
      rgba(8, 14, 40, 0.94) 0%,
      rgba(8, 14, 40, 0.78) 40%,
      rgba(8, 14, 40, 0.35) 100%
    ) !important;
}

body.luxa-theme .specialty-hero-section .hero-title,
body.luxa-theme .lawyer-hero-section .hero-title,
body.luxa-theme .areas-hero-section .hero-title,
body.luxa-theme .contact-hero-section .hero-title,
body.luxa-theme .page-header h1,
body.luxa-theme .blog-hero h1,
body.luxa-theme .article-header h1 {
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.05 !important;
  color: #f7f4ec !important;
  max-width: 18ch;
}

body.luxa-theme .specialty-hero-section .hero-description,
body.luxa-theme .lawyer-hero-section .hero-description,
body.luxa-theme .areas-hero-section .hero-description,
body.luxa-theme .contact-hero-section .hero-description,
body.luxa-theme .page-header .lead,
body.luxa-theme .blog-hero .lead {
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(1.15rem, 1.3vw, 1.4rem) !important;
  line-height: 1.6 !important;
  color: rgba(230, 232, 240, 0.9) !important;
  max-width: 34rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.luxa-theme .specialty-hero-section .subtitle,
body.luxa-theme .lawyer-hero-section .subtitle,
body.luxa-theme .areas-hero-section .subtitle,
body.luxa-theme .contact-hero-section .subtitle,
body.luxa-theme .page-header .subtitle {
  font-size: 0.7rem !important;
  letter-spacing: 0.22em !important;
  margin-bottom: 1.35rem !important;
}

/* Preserve hero photos — exclude from deep fill wipe (handled above) */
/* (lawyer / areas / page-header already excluded from deep wipe) */

/* Flat editorial panels — gold left rule */
body.luxa-theme .service-item,
body.luxa-theme .service-card,
body.luxa-theme .crime-card,
body.luxa-theme .info-card,
body.luxa-theme .benefit-card,
body.luxa-theme .step-card,
body.luxa-theme .requirement-card,
body.luxa-theme .consequence-card,
body.luxa-theme .strategy-card,
body.luxa-theme .framework-card,
body.luxa-theme .procedure-card,
body.luxa-theme .area-card,
body.luxa-theme .contact-card,
body.luxa-theme .content-card,
body.luxa-theme .blog-card,
body.luxa-theme .article-card,
body.luxa-theme .faq-item,
body.luxa-theme .timeline-content,
body.luxa-theme .alert-box,
body.luxa-theme .process-step,
body.luxa-theme .feature-card,
body.luxa-theme .specialty-card {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid rgba(212, 175, 55, 0.35) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 1.65rem !important;
  text-align: left !important;
  transform: none !important;
}

body.luxa-theme .service-item:hover,
body.luxa-theme .service-card:hover,
body.luxa-theme .crime-card:hover,
body.luxa-theme .info-card:hover,
body.luxa-theme .benefit-card:hover,
body.luxa-theme .step-card:hover,
body.luxa-theme .requirement-card:hover,
body.luxa-theme .consequence-card:hover,
body.luxa-theme .strategy-card:hover,
body.luxa-theme .framework-card:hover,
body.luxa-theme .procedure-card:hover,
body.luxa-theme .area-card:hover,
body.luxa-theme .contact-card:hover,
body.luxa-theme .content-card:hover,
body.luxa-theme .blog-card:hover,
body.luxa-theme .article-card:hover,
body.luxa-theme .feature-card:hover,
body.luxa-theme .specialty-card:hover {
  background: transparent !important;
  border-color: transparent !important;
  border-left-color: var(--primary-gold) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Demote SaaS icon circles → quiet gold marks */
body.luxa-theme .service-icon,
body.luxa-theme .framework-icon,
body.luxa-theme .crime-icon,
body.luxa-theme .step-icon,
body.luxa-theme .icon-circle,
body.luxa-theme .area-icon,
body.luxa-theme .feature-icon,
body.luxa-theme .contact-icon,
body.luxa-theme .process-icon,
body.luxa-theme .benefit-icon {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  color: rgba(212, 175, 55, 0.85) !important;
  font-size: 1.15rem !important;
  transform: none !important;
}

body.luxa-theme .service-icon i,
body.luxa-theme .framework-icon i,
body.luxa-theme .crime-icon i,
body.luxa-theme .step-icon i,
body.luxa-theme .icon-circle i,
body.luxa-theme .area-icon i,
body.luxa-theme .feature-icon i,
body.luxa-theme .contact-icon i {
  color: rgba(212, 175, 55, 0.85) !important;
  font-size: 1.15rem !important;
  margin: 0 !important;
}

/* Number badges → serif gold */
body.luxa-theme .service-number,
body.luxa-theme .step-number,
body.luxa-theme .process-number,
body.luxa-theme .framework-number {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  color: rgba(212, 175, 55, 0.75) !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
}

/* Buttons → outline gold, no pills */
body.luxa-theme .btn,
body.luxa-theme .btn-primary,
body.luxa-theme .btn-secondary,
body.luxa-theme .btn-outline-primary,
body.luxa-theme .btn-call,
body.luxa-theme a.btn {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: var(--font-body), 'Source Sans 3', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 1.5rem !important;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease !important;
  transform: none !important;
}

body.luxa-theme .btn-primary,
body.luxa-theme .btn:not(.btn-secondary):not(.btn-outline-primary):not(.btn-hero-ghost) {
  background: transparent !important;
  border: 1px solid rgba(212, 175, 55, 0.85) !important;
  color: var(--primary-gold) !important;
}

body.luxa-theme .btn-primary:hover,
body.luxa-theme .btn:not(.btn-secondary):not(.btn-outline-primary):hover {
  background: var(--primary-gold) !important;
  border-color: var(--primary-gold) !important;
  color: #0b163f !important;
  transform: none !important;
  box-shadow: none !important;
}

body.luxa-theme .btn-secondary,
body.luxa-theme .btn-outline-primary,
body.luxa-theme .btn-call {
  background: transparent !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  color: rgba(242, 244, 250, 0.92) !important;
}

body.luxa-theme .btn-secondary:hover,
body.luxa-theme .btn-outline-primary:hover,
body.luxa-theme .btn-call:hover {
  border-color: var(--primary-gold) !important;
  color: #0b163f !important;
  background: var(--primary-gold) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Kill leftover SaaS motion / radius */
body.luxa-theme .card,
body.luxa-theme [class*="-card"],
body.luxa-theme .rounded,
body.luxa-theme .rounded-pill,
body.luxa-theme .rounded-circle:not(img):not(.team-image img) {
  border-radius: 0 !important;
}

body.luxa-theme .team-section .container {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.luxa-theme .team-section .team-grid {
  width: min(920px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}

body.luxa-theme .team-member,
body.luxa-theme .lawyer-profile,
body.luxa-theme .profile-card {
  background: transparent !important;
  border: 1px solid rgba(212, 175, 55, 0.22) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.luxa-theme .lawyer-photo img,
body.luxa-theme .profile-image img,
body.luxa-theme .member-photo img {
  border-radius: 0 !important;
  border: 1px solid rgba(212, 175, 55, 0.28) !important;
}

/* Highlight / alert boxes */
body.luxa-theme .highlight-box,
body.luxa-theme .alert-box,
body.luxa-theme .info-box,
body.luxa-theme .cta-box,
body.luxa-theme .emergency-box {
  background: transparent !important;
  border: none !important;
  border-left: 1px solid rgba(212, 175, 55, 0.6) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0.5rem 0 0.5rem 1.5rem !important;
}

/* Contatti / particle chrome mute */
body.luxa-theme .particle,
body.luxa-theme .particles,
body.luxa-theme .hero-particles,
body.luxa-theme .floating-badge,
body.luxa-theme .contact-badge,
body.luxa-theme .glow,
body.luxa-theme .blur-orb {
  display: none !important;
}

body.luxa-theme .hero-badge {
  display: inline-flex !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 1.25rem !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}

body.luxa-theme .hero-badge span {
  font-size: 0.7rem !important;
  letter-spacing: 0.22em !important;
  font-weight: 500 !important;
}

body.luxa-theme .quick-contact-bar {
  background: var(--bg-deep) !important;
  border-top: 1px solid rgba(212, 175, 55, 0.12) !important;
  border-bottom: 1px solid rgba(212, 175, 55, 0.12) !important;
  box-shadow: none !important;
}

/* Section subtitles italic serif under headers */
body.luxa-theme .section-header .section-subtitle,
body.luxa-theme .section-subtitle {
  font-family: var(--font-display), 'Libre Baskerville', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  font-size: clamp(1.05rem, 0.4vw + 1rem, 1.25rem) !important;
  color: rgba(198, 204, 220, 0.9) !important;
}

body.luxa-theme .section-header .section-title {
  font-weight: 400 !important;
}

/* CTA bands inherit positional rhythm — no forced mid */
body.luxa-theme .cta-section,
body.luxa-theme .cta-band {
  border-top: 1px solid rgba(212, 175, 55, 0.12) !important;
  text-align: left !important;
}

body.luxa-theme .cta-section .text-center,
body.luxa-theme .cta-band .text-center {
  text-align: left !important;
}

body.luxa-theme .cta-description {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Forms / wrappers flat — inherit parent band (no second color) */
body.luxa-theme .contact-form-wrapper,
body.luxa-theme .form-container,
body.luxa-theme .contact-form-section {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Embedded forms inherit the parent band — no second background */
body.luxa-theme main .contact-section--embedded,
body.luxa-theme main .contact-section--embedded .contact-form-wrapper,
body.luxa-theme main .contact-section--embedded .contact-form-wrapper--bare,
body.luxa-theme .contact-form-wrapper--bare,
body.luxa-theme .form-band-shell .contact-form-wrapper,
body.luxa-theme .form-band-shell .contact-form-wrapper--bare,
body.luxa-theme .rp-contact .contact-section,
body.luxa-theme .rp-contact .contact-form-wrapper {
  background: transparent !important;
  background-color: transparent !important;
}

/* Mobile heroes */
@media (max-width: 768px) {
  body.luxa-theme .specialty-hero-section,
  body.luxa-theme .lawyer-hero-section,
  body.luxa-theme .areas-hero-section,
  body.luxa-theme .contact-hero-section,
  body.luxa-theme .page-header,
  body.luxa-theme .blog-hero {
    min-height: 58vh !important;
    align-items: center !important;
  }

  body.luxa-theme .specialty-hero-section .hero-title,
  body.luxa-theme .lawyer-hero-section .hero-title,
  body.luxa-theme .page-header h1 {
    max-width: none;
  }

  body.luxa-theme .hero-overlay,
  body.luxa-theme .header-overlay {
    background: linear-gradient(
      180deg,
      rgba(8, 14, 40, 0.72) 0%,
      rgba(8, 14, 40, 0.9) 55%,
      rgba(8, 14, 40, 0.96) 100%
    ) !important;
  }
}

/* ---------- Forms readable ---------- */
body.luxa-theme .form-control,
body.luxa-theme input,
body.luxa-theme textarea,
body.luxa-theme select {
  border-radius: 0 !important;
  background: rgba(11, 22, 63, 0.55) !important;
  border: 1px solid rgba(212, 175, 55, 0.22) !important;
  color: var(--text-readable-strong) !important;
  box-shadow: none !important;
  font-family: var(--font-body), 'Source Sans 3', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

body.luxa-theme .form-control:focus,
body.luxa-theme input:focus,
body.luxa-theme textarea:focus,
body.luxa-theme select:focus {
  border-color: var(--primary-gold) !important;
  box-shadow: none !important;
  outline: 1px solid rgba(212, 175, 55, 0.35) !important;
  outline-offset: 0;
}

body.luxa-theme label,
body.luxa-theme .form-group label {
  color: var(--text-readable-strong) !important;
  font-weight: 500 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.02em !important;
}

/* ---------- Blog / legal pages ---------- */
body.luxa-theme .article-content p,
body.luxa-theme .policy-content p,
body.luxa-theme .terms-content p,
body.luxa-theme .privacy-content p {
  font-size: var(--fs-lead) !important;
  line-height: 1.9 !important;
  color: var(--text-readable) !important;
  margin-bottom: 1.35rem !important;
}

body.luxa-theme .article-content h2,
body.luxa-theme .article-content h3,
body.luxa-theme .policy-content h2,
body.luxa-theme .policy-content h3 {
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}

body.luxa-theme .breadcrumb,
body.luxa-theme .custom-breadcrumb .breadcrumb {
  background: transparent !important;
  border: 1px solid rgba(212, 175, 55, 0.2) !important;
  border-radius: 0 !important;
}

/* ---------- Mobile readability ---------- */
@media (max-width: 768px) {
  body.luxa-theme {
    font-size: 1.1rem;
  }

  body.luxa-theme .hero-title,
  body.luxa-theme .page-header h1 {
    font-size: clamp(2.35rem, 9vw, 2.9rem) !important;
  }

  body.luxa-theme .hero-description,
  body.luxa-theme .section-description {
    font-size: 1.1rem !important;
  }

  body.luxa-theme main section:not(.banner-slider):not(.specialty-hero-section):not(.studio-hero-section):not(.contact-hero-section):not(.page-header) {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.luxa-theme * {
    animation: none !important;
    transition: none !important;
  }
}
