/* Sinapsi UI — base reset and document defaults */
*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--ui-font-family, system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  background: var(--theme-body-bg) !important;
  color: var(--theme-text) !important;
  font-weight: 300;
  font-size: var(--ui-font-size);
}

html[data-font-scale] {
  font-size: var(--ui-font-size);
}

html[data-font-scale] *:not(.material-symbols-outlined):not(.menu-icon):not(.font-scale-preview):not(.brand):not(.brand-link):not(.brand-copy):not(.brand-sinapsi):not(.brand-account) {
  font-size: var(--ui-font-size) !important;
  line-height: 1.45;
}

html[data-font-scale] :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .page-title,
  .section-title,
  .theme-choice-title,
  .photo-title,
  [class$='__title'],
  [class*='__title '],
  [class*='__title--']
):not(.material-symbols-outlined):not(.menu-icon):not(.font-scale-preview) {
  font-size: var(--ui-title-font-size, var(--ui-font-size)) !important;
}

.topbar .brand,
.topbar .brand-link,
.topbar .brand-copy,
.topbar .brand-sinapsi,
.topbar .brand-account,
html[data-font-scale] .topbar .brand,
html[data-font-scale] .topbar .brand-link,
html[data-font-scale] .topbar .brand-copy,
html[data-font-scale] .topbar .brand-sinapsi,
html[data-font-scale] .topbar .brand-account {
  font-size: 22px !important;
  line-height: 1.2;
}

.signup-newsletters-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}

.signup-newsletters-consent input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 3px 0 0;
}

.signup-newsletters-consent__text {
  display: block;
  font-size: 14px;
  line-height: 1.45;
  color: var(--sinapsi-black, rgb(20, 20, 20));
}

.signup-newsletters-consent__link {
  color: #1a73e8;
  font-weight: 600;
  text-decoration: none;
}

.signup-newsletters-consent__link:hover {
  text-decoration: underline;
}

.profile-field input:disabled,
.profile-field input[readonly][aria-disabled="true"] {
  background: #f1f3f4;
  color: #80868b;
  cursor: not-allowed;
}

.profile-field input:disabled + .field-note,
.profile-field--company-only input:disabled ~ .field-note {
  color: #80868b;
}

.signup-legal-box {
  margin: 0 0 24px;
}

.signup-legal-item + .signup-legal-item {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eceff3;
}

.signup-legal-item__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.signup-legal-item__title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--sinapsi-black, rgb(20, 20, 20));
}

.signup-legal-item__check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--sinapsi-black, rgb(20, 20, 20));
}

.signup-legal-item__label {
  flex: 1 1 auto;
  font-size: 14px;
  line-height: 1.45;
  color: var(--sinapsi-black, rgb(20, 20, 20));
}

.signup-legal-item__check input[type="checkbox"] {
  flex: 0 0 auto;
  margin: 2px 0 0;
}

.signup-legal-item__link {
  color: #1a73e8;
  text-decoration: none;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.4;
  white-space: nowrap;
}

.signup-legal-item__link:hover {
  text-decoration: underline;
}

.signup-legal-item__preview {
  display: block;
  max-height: 180px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 12px 14px;
  border: 1px solid #dadce0;
  border-radius: 10px;
  background: #f8fafd;
}

.signup-legal-item__preview-content {
  white-space: pre-wrap;
  font-size: 12px;
  line-height: 1.55;
  color: var(--sinapsi-black, rgb(20, 20, 20));
}

.signup-legal-item__scroll-hint {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: #80868b;
}

.signup-legal-item__scroll-hint[hidden] {
  display: none;
}

.signup-legal-item.is-scroll-pending .signup-legal-item__check {
  opacity: 0.72;
}

.signup-legal-item--newsletters {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #eceff3;
}

.account-summary-content-slot--standalone {
  width: 100%;
  min-width: 0;
}

.account-summary-page--complete-profile .complete-profile-shell {
  width: 100%;
  max-width: none;
  margin: 0;
}

.account-summary-page--complete-profile .complete-profile-shell .card {
  width: 100%;
  max-width: none;
}

@media (min-width: 1121px) {
  .account-summary-page--complete-profile .account-summary-content-slot--standalone > .content {
    grid-column: 2;
    width: 100%;
    max-width: var(--account-content-max-width, 1100px);
    justify-self: center;
  }
}

.account-summary-page--complete-profile .account-message-center {
  margin: 0 16px;
}

@media (max-width: 1120px) {
  .account-summary-page--complete-profile .mobile-menu-toggle {
    display: inline-flex !important;
  }
}

@media (min-width: 1121px) {
  .account-summary-page--complete-profile .mobile-menu-toggle {
    display: none !important;
  }
}

.complete-profile-shell input:invalid,
.complete-profile-shell select:invalid,
.complete-profile-shell textarea:invalid {
  border-color: var(--theme-border, #dadce0) !important;
  box-shadow: none !important;
  outline: none;
}

.complete-profile-shell .required-icon {
  display: none;
}
