/* Shared account rhythm, membership status and aligned session controls. */
/* Text-field sizing must not expand native choice controls. */
.IFAccountPage input:is([type="radio"],[type="checkbox"]) { min-height: 0 !important; }
.IFAccountPage .IFSettingsCurrent > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
.IFAccountPage .IFSettingsCurrent dd { margin: 0 0 0 auto; text-align: right; max-width: 100%; overflow-wrap: anywhere; }
.IFAccountPage .IFBillingManagementPanel { grid-column: 1 / -1; }
@media (min-width: 981px) {
 .IFAccountPage .IFAccountGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .IFAccountPage .IFReceiptsPanel { grid-column: auto; }
 .IFAccountPage .IFFeedbackPanel { grid-column: 1; }
 .IFAccountPage .IFAccountGrid > .IFAccountLogout { grid-column: 2; }
}
@media (max-width: 980px) {
 body.IFAccountPage .IFAccountGrid { grid-template-columns: 1fr; }
 .IFAccountPage .IFAccountGrid > .IFAccountLogout,
 .IFAccountPage .IFFeedbackPanel,
 .IFAccountPage .IFReceiptsPanel { grid-column: 1; }
}

.IFAccountPage .IFAccountHero { align-items: end; }
.IFAccountPage .IFAccountHero > div > p:last-child { margin-bottom: 0; }
.IFAccountPage .IFSignedIn { gap: 6px; max-width: 100%; min-width: 0; }
.IFAccountPage .IFSignedIn strong { overflow-wrap: anywhere; }
.IFAccountPage .IFSignedIn .IFOutlineLink { margin-top: 6px; min-height: 44px; min-width: 180px; justify-self: end; }
.IFAccountPage .IFMembershipPanel,
.IFAccountPage .IFAccountSettingsPanel { align-self: stretch; }
.IFAccountPage .IFMembershipHeading { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: 16px 24px; margin-bottom: 24px; }
.IFAccountPage .IFMembershipHeading h2 { margin: 0; }
.IFAccountPage .IFMembershipSummary { margin: 0 0 0 auto; text-align: right; display: grid; gap: 4px; max-width: 100%; color: var(--if-text, #526b76); font-size: 14px; line-height: 1.4; }
.IFAccountPage .IFMembershipSummary strong { color: var(--if-ink, #19384b); font-size: 14px; font-weight: 550; }
.IFAccountPage .IFMembershipPanel .IFMembershipChoices { margin-top: 0; }
.IFAccountPage .IFMembershipPanel .IFTrialToolLink { margin: 18px 0 0; }
.IFAccountPage .IFInformationMailChoices { border: 0; padding: 0; margin: 24px 0 0; min-width: 0; }
.IFAccountPage .IFInformationMailChoices legend { padding: 0; margin: 0 0 16px; font-size: 16px; font-weight: 550; line-height: 1.5; }
.IFAccountPage .IFInformationMailChoices .IFCheckField { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; column-gap: 12px; margin: 0 0 16px; padding: 0; font-size: 15px; font-weight: 400; line-height: 1.5; }
.IFAccountPage .IFInformationMailChoices .IFCheckField input[type=radio] { display: block; width: 18px; height: 18px; min-height: 0; margin: 3px 0 0; padding: 0; align-self: start; accent-color: #507f79; }
.IFAccountPage .IFInformationMailChoices .IFCheckField span { margin: 0; min-width: 0; }
.IFAccountPage .IFInformationMailHelp { max-width: 62ch; font-size: 14px; line-height: 1.65; margin: 20px 0 0; }
.IFAccountPage .IFInformationMailPanel form > .IFPrimaryButton { margin-top: 24px; }
.IFAccountPage .IFAccountGrid > .IFAccountLogout { align-self: end; justify-self: end; margin: 0; padding: 0; }
.IFAccountPage .IFAccountGrid > .IFAccountLogout .IFOutlineLink { min-width: 180px; justify-content: center; }
.IFAccountPage .IFWithdrawalAction { margin: 20px 0 0; }
.IFAccountPage a { text-decoration: none; }
.IFAccountPage a:hover { text-decoration: none; }
.IFAccountPage a:focus-visible { outline: 2px solid #507f79; outline-offset: 3px; }
@media (max-width: 720px) {
 .IFAccountPage .IFMembershipHeading { gap: 12px; }
 .IFAccountPage .IFMembershipSummary { text-align: left; margin-left: 0; }
 .IFAccountPage .IFAccountGrid > .IFAccountLogout { justify-self: stretch; text-align: right; margin-top: 4px; }
 .IFAccountPage .IFAccountGrid > .IFAccountLogout .IFOutlineLink { justify-self: end; }
}

/* Same expandable account settings on every language site. */
body.IFAccountPage .IFSettingsBlock {
  margin-top: 14px;
  padding-top: 0;
  border: 1px solid #d5e1e6;
  border-radius: 8px;
  background: #f8fafb;
}

body.IFAccountPage .IFSettingsBlock > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  gap: 14px;
  align-items: center;
  min-height: 62px;
  padding: 11px 14px;
  color: #173342;
  cursor: pointer;
  list-style: none;
}

body.IFAccountPage .IFSettingsBlock > summary::-webkit-details-marker {
  display: none;
}

body.IFAccountPage .IFSettingsBlock > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  color: #225b67;
  border: 1px solid #aac0c8;
  border-radius: 50%;
  font-size: 17px;
  line-height: 1;
}

body.IFAccountPage .IFSettingsBlock[open] > summary::after {
  content: "−";
}

body.IFAccountPage .IFSettingsBlock > summary strong,
body.IFAccountPage .IFSettingsBlock > summary small {
  display: block;
}

body.IFAccountPage .IFSettingsBlock > summary strong {
  font-size: 16px;
  font-weight: 550;
}

body.IFAccountPage .IFSettingsBlock > summary small {
  margin-top: 2px;
  color: #657985;
  font-size: 12px;
  line-height: 1.4;
}

body.IFAccountPage .IFSettingsBody {
  padding: 18px 14px 14px;
  border-top: 1px solid #dbe5e9;
  background: #fff;
}

body.IFAccountPage .IFSettingsBody .IFFormField:last-of-type {
  margin-bottom: 16px;
}

body.IFAccountPage .IFAccountRemovalBlock {
  border-color: #dfd0cc;
  background: #fcf9f8;
}

body.IFAccountPage .IFAccountRemovalBlock > summary strong {
  color: #70443d;
}

body.IFAccountPage .IFAccountRemovalBlock > summary::after {
  color: #70443d;
  border-color: #cdb6b0;
}


body.IFAccountPage .IFMembershipChoiceButtonPrimary { background: #507f79; border-color: #507f79; color: #fff; }
body.IFAccountPage .IFMembershipChoiceButtonPrimary:hover { background: #406b66; border-color: #406b66; }
