/* Only the independent Portal document. Existing components and navigation keep their assets. */
body.afa-portal-shell {
	--afa-portal-color-primary: #2e5d5c;
	--afa-portal-color-on-primary: #ffffff;
	--afa-portal-color-action: #3fc2c4;
	--afa-portal-color-on-action: #ffffff;
	--afa-portal-color-background: #ffffff;
	--afa-portal-color-surface: #ffffff;
	--afa-portal-color-text: #222222;
	--afa-portal-color-muted: #666666;
	--afa-portal-color-border: #dce3df;
	--afa-portal-color-soft: #f7f8f9;
	--afa-portal-color-link: #2e5d5c;
	--afa-portal-radius: 5px;
	--afa-portal-space-1: 6px;
	--afa-portal-space-2: 10px;
	--afa-portal-space-3: 14px;
	--afa-portal-space-4: 20px;
	--afa-portal-space-5: 30px;
	margin: 0;
	padding: 0;
	background: var(--afa-portal-color-background);
	color: var(--afa-portal-color-text);
	font-family: Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
}
/* Desktop shell uses the window; touch tablets and the independent profile keep their width contract. */
@media (min-width: 1280px) and (hover: hover) and (pointer: fine) {
	body.afa-portal-shell:not(.afa-portal-profile-screen) {
		--afa-portal-main-max-width: none;
		--afa-portal-content-max-width: none;
	}
}
.afa-portal-shell .afa-portal {
	--afa-color-text: var(--afa-portal-color-text);
	--afa-color-muted: var(--afa-portal-color-muted);
	--afa-color-border: var(--afa-portal-color-border);
	--afa-color-surface: var(--afa-portal-color-surface);
	--afa-color-soft: var(--afa-portal-color-soft);
	--afa-color-primary: var(--afa-portal-color-primary);
	--afa-color-accent: var(--afa-portal-color-action);
	--afa-font-heading: Roboto, Arial, sans-serif;
	--afa-font-body: Arial, sans-serif;
	max-width: var(--afa-portal-content-max-width, 1140px);
}
.afa-portal-shell .afa-portal *,
.afa-portal-shell .afa-portal-shell__header,
.afa-portal-shell .afa-portal-shell__main { box-sizing: border-box; }
.afa-portal-shell .afa-portal input,
.afa-portal-shell .afa-portal select,
.afa-portal-shell .afa-portal textarea,
.afa-portal-shell .afa-portal button { font-family: inherit; }
.afa-portal-shell .afa-portal-shell__header,
.afa-portal-shell .afa-portal-shell__main { width: 100%; margin-inline: auto; padding-block-start: var(--afa-portal-main-padding-top, var(--afa-portal-main-padding, 16px)); padding-block-end: var(--afa-portal-main-padding, 16px); padding-inline: var(--afa-portal-main-inline-padding, var(--afa-portal-main-padding, 16px)); }
.afa-portal-shell .afa-portal-shell__main { max-width: var(--afa-portal-main-max-width, 1172px); }
.afa-portal-access-screen .afa-portal-shell__main { max-width: 760px; }
.afa-portal-shell .afa-portal-shell__main:has(.afa-events--agenda, .afa-events__event-detail, .afa-activity-detail, .afa-events__volunteer.afa-events__task-detail, .afa-volunteer-directory) { --afa-portal-main-padding-top: var(--afa-portal-space-2); }
.afa-portal-shell .afa-portal-shell__header { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; min-height: 80px; padding-block: 8px; background: var(--afa-portal-color-primary); color: var(--afa-portal-color-on-primary); margin-block: 0; }
.afa-portal-shell .afa-portal-shell__header .afa-portal__sidebar-toggle { display: none; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--afa-portal-radius); background: transparent; color: inherit; cursor: pointer; }
.afa-portal-shell .afa-portal__sidebar-toggle svg { width: 24px; height: 24px; }
.afa-portal-shell .afa-portal__sidebar-toggle[aria-expanded="false"] svg { transform: rotate(180deg); }
.afa-portal-shell .afa-portal__sidebar-toggle:focus-visible { outline: 2px solid var(--afa-portal-color-on-primary); outline-offset: 2px; }
@media (min-width: 900px) {
	.afa-portal-shell .afa-portal-shell__header .afa-portal__sidebar-toggle:not([hidden]) { display: inline-flex; }
}
.afa-portal-shell .afa-portal-shell__brand { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: 0 0 48px; background: var(--afa-portal-color-surface); border-radius: 6px; overflow: hidden; }
.afa-portal-shell .afa-portal-shell__brand .custom-logo-link { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; }
.afa-portal-shell .afa-portal-shell__brand img { display: block; width: 48px; height: 48px; object-fit: contain; flex-shrink: 0; }
.afa-portal-shell .afa-portal-shell__name { flex: 1; min-width: 0; color: inherit; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; font-size: inherit; line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.afa-portal-shell .afa-portal-shell__profile { color: inherit; min-width: 44px; min-height: 44px; display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; text-decoration: none; }
.afa-portal-shell .afa-portal-shell__profile .afa-portal__avatar,
.afa-portal-shell .afa-portal-shell__profile .afa-portal__avatar img,
.afa-portal-shell .afa-portal-shell__profile .afa-portal__avatar-placeholder { width: 44px; height: 44px; border-radius: 50%; }
.afa-portal-shell .afa-portal-shell__profile .afa-portal__avatar { display: flex; align-items: center; justify-content: center; flex: 0 0 44px; overflow: hidden; background: var(--afa-portal-color-soft); color: var(--afa-portal-color-link); }
.afa-portal-shell .afa-portal-shell__profile .afa-portal__avatar img { display: block; object-fit: cover; }
.afa-portal-shell .afa-portal-shell__preview { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; padding: 8px 16px; background: var(--afa-portal-color-soft); font-size: .85rem; }
.afa-portal-shell .afa-portal-shell__preview a { color: var(--afa-portal-color-link); }
.afa-portal-shell .afa-portal-shell__sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.afa-portal-shell .afa-portal-shell__skip { position: absolute; left: 12px; top: -100px; background: var(--afa-portal-color-surface); color: var(--afa-portal-color-text); padding: 12px; z-index: 100000; }
.afa-portal-shell .afa-portal-shell__skip:focus { top: calc(var(--wp-admin--admin-bar--height, 0px) + 8px); }
.afa-portal-shell .afa-portal-shell__header a:focus-visible { outline: 2px solid var(--afa-portal-color-on-primary); outline-offset: 2px; }
.afa-portal-shell .afa-portal-shell__preview a:focus-visible { outline: 2px solid var(--afa-portal-color-link); outline-offset: 3px; }

/* Accessible palette mapping only after configuration, or on a new installation. */
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal {
	--afa-color-primary: var(--afa-portal-color-link);
	--afa-radius: var(--afa-portal-radius);
	--afa-space-1: var(--afa-portal-space-1); --afa-space-2: var(--afa-portal-space-2); --afa-space-3: var(--afa-portal-space-3); --afa-space-4: var(--afa-portal-space-4); --afa-space-5: var(--afa-portal-space-5);
}
/* Shared action tokens: visited/focus retain normal ink; active follows hover. */
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__button:not(.afa-events__danger):not(.afa-portal__button--danger):not(:disabled):not([aria-disabled="true"]) {
	background: var(--afa-portal-color-action);
	border-color: var(--afa-portal-color-action);
	color: var(--afa-portal-color-on-action);
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-registration #wp-submit:not(:disabled):not([aria-disabled="true"]) {
	background: var(--afa-portal-color-action);
	border-color: var(--afa-portal-color-action);
	color: var(--afa-portal-color-on-action);
	transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__button:not(.afa-events__danger):not(.afa-portal__button--danger):not(:disabled):not([aria-disabled="true"]):is(:not(.afa-portal__button--secondary), [data-afa-visibility-open]):hover {
	background: var(--afa-portal-color-action-hover);
	border-color: var(--afa-portal-color-action-hover);
	color: var(--afa-portal-color-on-action);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-registration #wp-submit:not(:disabled):not([aria-disabled="true"]):hover {
	background: var(--afa-portal-color-action-hover);
	border-color: var(--afa-portal-color-action-hover);
	color: var(--afa-portal-color-on-action);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__button:not(.afa-events__danger):not(.afa-portal__button--danger):not(:disabled):not([aria-disabled="true"]):is(:not(.afa-portal__button--secondary), [data-afa-visibility-open]):active {
	background: var(--afa-portal-color-action-active);
	border-color: var(--afa-portal-color-action-active);
	color: var(--afa-portal-color-on-action);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-registration #wp-submit:not(:disabled):not([aria-disabled="true"]):active {
	background: var(--afa-portal-color-action-active);
	border-color: var(--afa-portal-color-action-active);
	color: var(--afa-portal-color-on-action);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__button:is(:disabled, [aria-disabled="true"]):not(.afa-events__danger):not(.afa-portal__button--danger) {
	background: var(--afa-portal-color-soft);
	border-color: var(--afa-portal-color-border);
	color: var(--afa-portal-color-muted);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-registration #wp-submit:is(:disabled, [aria-disabled="true"]) {
	background: var(--afa-portal-color-soft);
	border-color: var(--afa-portal-color-border);
	color: var(--afa-portal-color-muted);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__nav-link.is-active,
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__pagination a.is-active {
	background: var(--afa-portal-color-primary); color: var(--afa-portal-color-on-primary); border-color: var(--afa-portal-color-primary);
}
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal a:not([class]),
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal .afa-portal__privacy-footer a { color: var(--afa-portal-color-link); text-decoration: underline; }
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal :where(a) {
    color: var(--afa-portal-color-link);
}
body.afa-portal-shell .afa-portal :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--afa-portal-color-link); outline-offset: 3px; box-shadow: 0 0 0 2px var(--afa-portal-color-surface); }
body.afa-portal-shell .afa-portal :is(.afa-portal__button, .afa-portal__small-link),
body.afa-portal-shell .afa-portal :is(.afa-portal__button, .afa-portal__small-link):is(:hover, :focus, :focus-visible, :active) { text-decoration: none; }
/* WhatsApp keeps its accessible brand ink instead of the generic link color. */
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal a.afa-events__coordination-whatsapp,
body.afa-portal-shell.afa-portal-appearance-configured .afa-portal a.afa-events__coordination-whatsapp:is(:hover, :focus, :active) { color: var(--afa-whatsapp-foreground); }

/* Compact identity actions reuse the navigation icon style. */
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto;
	gap: 4px;
}
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-actions .afa-portal__small-link,
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-actions :is([data-afa-public-name-open], [data-afa-photo-open]) {
    background: transparent;
    color: var(--afa-portal-color-link);
    text-decoration: none;
    border: 0;
    flex: 1;
    min-height: var(--afa-portal-profile-touch-size);
	font-size: var(--afa-portal-profile-secondary-size);

    display: grid;
    grid-row: 1/span 2;
	grid-template-rows: subgrid;
    justify-items: center;
    align-content: center;
    gap: 4px;
    min-width: 0;
    padding: 4px 2px 0;
    text-align: center;
    line-height: 1.3;
}

.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-actions .afa-portal__small-link > span,
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-actions :is([data-afa-public-name-open], [data-afa-photo-open]) > span {
    grid-row: 2;
    align-self: center;
    text-align: center;
}
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-actions .afa-portal__small-link:hover { opacity: 0.8; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-actions svg { width: 20px; height: 20px; flex: 0 0 20px; }

/* Profile scale belongs to the independent document, in every appearance mode. */
.afa-portal-shell .afa-portal__profile-page {
	--afa-portal-profile-space: calc(var(--afa-portal-space-1) + var(--afa-portal-space-2));
	--afa-portal-profile-text-size: 15px;
	--afa-portal-profile-secondary-size: 13px;
	--afa-portal-profile-title-size: 18px;
	--afa-portal-profile-avatar-size: 48px;
	--afa-portal-profile-touch-size: 44px;
	font-size: var(--afa-portal-profile-text-size);
	line-height: 1.5;
	gap: var(--afa-portal-profile-space);
	align-items: start;
}
.afa-portal-shell .afa-portal__profile-page > .afa-portal__panel { padding: var(--afa-portal-profile-space); }
.afa-portal-shell .afa-portal__profile-page :is(h2, h3) { font-size: var(--afa-portal-profile-title-size); line-height: 1.3; }
.afa-portal-shell .afa-portal__profile-page :is(.afa-portal__profile-name, .afa-portal__visible-profile-name strong) { font-size: var(--afa-portal-profile-text-size); }
.afa-portal-shell .afa-portal__profile-page :is(.afa-portal__hint, .afa-portal__profile-email, .afa-portal__profile-username, .afa-portal__profile-data dt, .afa-portal__visible-profile-name span, .description, small) { font-size: var(--afa-portal-profile-secondary-size); }
.afa-portal-shell .afa-portal__profile-page p { margin-block: 0 var(--afa-portal-space-2); }
.afa-portal-shell .afa-portal__profile-page p:last-child { margin-bottom: 0; }
.afa-portal-shell .afa-portal__profile-page :is(.afa-portal__avatar, .afa-portal__avatar img, .afa-portal__avatar-placeholder) { width: var(--afa-portal-profile-avatar-size); height: var(--afa-portal-profile-avatar-size); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__avatar { flex-basis: var(--afa-portal-profile-avatar-size); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__avatar-placeholder { font-size: 24px; }
.afa-portal-shell .afa-portal__profile-page :is(button:not(.afa-portal__small-link), input:not([type="checkbox"]):not([type="radio"]), select, textarea, summary) {
    font-size: var(--afa-portal-profile-text-size);
    min-height: var(--afa-portal-profile-touch-size);
}
.afa-portal-shell .afa-portal__profile-page :is(button, .afa-portal__small-link, .afa-portal__button, .afa-portal__family-link, summary, .afa-portal__check) { min-height: var(--afa-portal-profile-touch-size); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__info-trigger { min-width: var(--afa-portal-profile-touch-size); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-families .afa-portal__family-link { display: flex; align-items: center; gap: var(--afa-portal-space-2); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-families .afa-portal__family-link > div { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__profile-families .afa-portal__family-chevron { flex: none; font-size: 24px; line-height: 1; }
/* Public profile: retain the existing forms, help popovers and native checkboxes. */
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile {
	--afa-portal-public-space-small: calc(var(--afa-portal-profile-space) / 2);
	--afa-portal-public-space-medium: calc(var(--afa-portal-space-1) * 2);
	display: grid;
	gap: var(--afa-portal-public-space-small);
	min-width: 0;
}
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile > .afa-portal__profile-head {
    position: relative;
    justify-content: flex-start;
    gap: 0;
    padding-right: 44px;
}

.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile > .afa-portal__profile-head .afa-portal__info-trigger {
    position: absolute;
    left: calc(100% - 44px);
    top: 50%;
    transform: translateY(-50%);
}
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile > .afa-portal__info-row h3 { font-size: var(--afa-portal-profile-title-size); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__info-trigger { width: var(--afa-portal-profile-touch-size); height: var(--afa-portal-profile-touch-size); padding: 0; border: 0; background: transparent; flex-shrink: 0; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__info-trigger > span[aria-hidden="true"] { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; font-size: 18px; line-height: 1; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile-layout { gap: var(--afa-portal-public-space-medium); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-preview { display: grid; grid-template-columns: var(--afa-portal-profile-avatar-size) minmax(0, 1fr); gap: var(--afa-portal-public-space-medium); align-items: center; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, calc(var(--afa-portal-profile-touch-size) * 3 + var(--afa-portal-public-space-medium))), 1fr)); width: 100%; margin: 0; gap: var(--afa-portal-public-space-small); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-action { gap: 0; min-width: 0; border: 0; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-actions .afa-portal__small-link:not([data-afa-public-name-open]):not([data-afa-photo-open]) { flex: 1; min-width: 0; justify-content: center; min-height: var(--afa-portal-profile-touch-size); padding: var(--afa-portal-public-space-small); border: 0; background: transparent; color: var(--afa-portal-color-link); font-size: var(--afa-portal-profile-secondary-size); border-radius: var(--afa-portal-radius); white-space: normal; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-actions .afa-portal__small-link:hover { opacity: 0.8; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__profile-edit-actions .afa-portal__small-link svg { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name { gap: var(--afa-portal-public-space-small); align-content: start; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name > p { margin: 0; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name [data-afa-details-errors]:empty { display: none; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name .afa-portal__visible-profile-form { gap: var(--afa-portal-public-space-small); margin: 0; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name input[type="text"] { height: var(--afa-portal-profile-touch-size); min-height: var(--afa-portal-profile-touch-size); padding: var(--afa-portal-public-space-small) var(--afa-portal-space-2); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name input[type="text"]:focus { outline: 2px solid var(--afa-portal-color-link); outline-offset: 2px; box-shadow: none; border-color: var(--afa-portal-color-border); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-display-name .afa-portal__profile-edit-buttons { gap: var(--afa-portal-public-space-small); margin: 0; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo { gap: var(--afa-portal-public-space-small); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo > p { margin: 0; color: var(--afa-portal-color-muted); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo [data-afa-details-errors]:empty { display: none; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__visible-profile-form { gap: var(--afa-portal-public-space-small); margin: 0; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-preview { display: grid; width: min(100%, 256px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; overflow: hidden; background: var(--afa-portal-color-soft); border: 1px solid var(--afa-portal-color-border); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo [data-afa-photo-current] { grid-area: 1 / 1; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; overflow: hidden; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo [data-afa-photo-current] :is(img, .afa-portal__avatar-placeholder) { width: 100%; height: 100%; object-fit: cover; font-size: calc(var(--afa-portal-profile-avatar-size) * 1.5); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-crop { grid-area: 1 / 1; display: block; width: 100%; height: 100%; aspect-ratio: 1; border-radius: 50%; touch-action: none; cursor: grab; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-crop[hidden],
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo [data-afa-photo-current][hidden] { display: none; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-preview:focus-within { outline: 2px solid var(--afa-portal-color-link); outline-offset: 3px; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-controls { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: var(--afa-portal-public-space-small); }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-selector { position: relative; min-width: 0; max-width: 100%; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-input { position: absolute; inset: 0; opacity: 0; height: 100%; min-height: 0; padding: 0; margin: 0; cursor: pointer; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__photo-selector:focus-within { outline: 2px solid var(--afa-portal-color-link); outline-offset: 3px; }
.afa-portal-shell .afa-portal__profile-page #afa-edit-profile-photo .afa-portal__profile-edit-buttons { justify-content: flex-end; gap: var(--afa-portal-public-space-small); margin: 0; padding-top: var(--afa-portal-public-space-medium); border-top: 1px solid var(--afa-portal-color-border); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility { margin-top: 0; padding-top: var(--afa-portal-public-space-medium); gap: var(--afa-portal-public-space-small); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility > .afa-portal__info-row h4 { margin: 0; font-size: 16px; line-height: 1.4; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__public-profile-audience { display: block; margin: 0; color: var(--afa-portal-color-muted); font-size: var(--afa-portal-profile-secondary-size); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form { grid-template-columns: minmax(0, 1fr); gap: var(--afa-portal-public-space-small); }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__check { display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: var(--afa-portal-public-space-medium); margin: 0; padding-block: var(--afa-portal-public-space-small); box-sizing: border-box; cursor: pointer; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__check > span { grid-column: 1; grid-row: 1; overflow-wrap: anywhere; }
/* Interruptor desactivat */
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__check > input[type="checkbox"] {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    appearance: none;
    width: 44px;
    height: 26px;
    min-height: 26px;
    margin: 0;
    padding: 0;
    border: 1px solid #aebdb8;
    border-radius: 999px;
    background-color: #cbd5d1;
    background-image: radial-gradient(circle, #ffffff 8px, transparent 8.5px);
    background-size: 20px 20px;
    background-position: 2px center;
    background-repeat: no-repeat;
    cursor: pointer;
}

/* Interruptor activat */
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__check > input[type="checkbox"]:checked {
    border-color: transparent;
    background-color: var(--afa-portal-color-action, #26b8b9);
    background-image: radial-gradient(circle, #ffffff 8px, transparent 8.5px);
    background-position: calc(100% - 2px) center;
}
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__check > input[type="checkbox"]:focus-visible { outline: 2px solid var(--afa-portal-color-link); outline-offset: 3px; }
.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__button {
    justify-self: start;
    width: auto;
    max-width: 100%;
    white-space: normal;

    font-size: var(--afa-portal-profile-text-size);
    font-weight: 600;

    padding: 10px 18px;
    min-height: 44px;

    background-color: var(--afa-portal-color-primary, #2e5d5c);
    color: var(--afa-portal-color-on-primary, #ffffff);

    border: none;
    border-radius: 8px;
}
@media (max-width: 760px) {
	.afa-portal-shell .afa-portal-shell__header { min-height: 60px; padding-block: var(--afa-portal-space-1); }
	.afa-portal-shell .afa-portal-shell__main { padding-block-start: var(--afa-portal-main-padding-top, 12px); }
}
@media (forced-colors: active) {
	.afa-portal-shell .afa-portal__profile-page .afa-portal__visible-profile .afa-portal__commission-visibility-form > .afa-portal__check > input[type="checkbox"] { appearance: auto; background: none; border: 0; }
}
