/* Scoped DIC member-application visual system. */
.dic-member-portal,
.dic-member-directory,
.dic-member-messages,
.dic-member-login {
	--dic-green: #3f7f00;
	--dic-green-dark: #285500;
	--dic-orange: #dc3300;
	--dic-charcoal: #444;
	--dic-cream: #e3e1d2;
	--dic-surface: #fffefa;
	--dic-border: #c9c7b9;
	--dic-muted: #696963;
	color: var(--dic-charcoal);
}

.dic-member-portal {
	max-width: 1100px;
	margin: 2rem auto;
	background: #f7f6ef;
	border: 1px solid var(--dic-border);
}

/* The server adds this class only when the queried page contains the portal block. */
body.dic-member-portal-page,
body.dic-member-portal-page #wrapper,
body.dic-member-portal-page #inner-wrap {
	background: #f7f6ef;
}

body.dic-member-portal-page #inner-wrap,
body.dic-member-portal-page .content-area,
body.dic-member-portal-page .content-container.site-container,
body.dic-member-portal-page .site-main,
body.dic-member-portal-page .content-wrap,
body.dic-member-portal-page .entry-content,
body.dic-member-portal-page .entry-content-wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.dic-member-portal-page .entry.content-bg,
body.dic-member-portal-page .entry-content-wrap {
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.dic-member-portal-page .dic-member-portal {
	min-height: 100vh;
	max-width: none;
	margin: 0;
	border: 0;
}

.dic-member-portal__nav {
	display: flex;
	gap: .25rem;
	overflow-x: auto;
	padding: .65rem;
	background: var(--dic-green-dark);
}

.dic-member-portal__nav-link {
	flex: 0 0 auto;
	padding: .65rem .8rem;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	border: 1px solid transparent;
}

.dic-member-portal__nav-link:hover,
.dic-member-portal__nav-link:focus-visible {
	color: #fff;
	background: rgba(255,255,255,.14);
	outline: 2px solid #fff;
	outline-offset: -3px;
}

.dic-member-portal__nav-link--active { background: var(--dic-green); }
.dic-member-portal__dashboard,
.dic-member-portal__profile-wrap,
.dic-member-portal__section { padding: 1.25rem; }
.dic-member-portal__profile-wrap { border-top: 1px solid var(--dic-border); }
.dic-member-portal__heading { margin-bottom: 1.25rem; }
.dic-member-portal__eyebrow { margin: 0 0 .35rem; color: var(--dic-green-dark); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dic-member-portal h2,
.dic-member-portal h3,
.dic-member-portal h4 { color: var(--dic-charcoal); }
.dic-member-portal h2 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.45rem); }
.dic-member-portal h3 { margin: 0 0 1rem; font-size: 1.2rem; }
.dic-member-portal__overview { display: grid; gap: 1rem; }
.dic-member-portal__card,
.dic-member-profile__section,
.dic-member-profile__section--image { padding: 1.15rem; background: var(--dic-surface); border: 1px solid var(--dic-border); }
.dic-member-portal__account-summary,
.dic-member-portal__membership-summary { margin: 0; }
.dic-member-portal__account-summary dt,
.dic-member-portal__membership-summary dt { margin-top: .85rem; color: var(--dic-muted); font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.dic-member-portal__account-summary dt:first-child,
.dic-member-portal__membership-summary dt:first-child { margin-top: 0; }
.dic-member-portal__account-summary dd,
.dic-member-portal__membership-summary dd { margin: .2rem 0 0; font-weight: 700; }
.dic-member-portal__identity { display: flex; gap: 1rem; align-items: center; }
.dic-member-portal__avatar { display: grid; flex: 0 0 78px; width: 78px; height: 78px; place-items: center; overflow: hidden; color: #fff; font-size: 1.5rem; font-weight: 800; background: var(--dic-green-dark); border: 3px solid var(--dic-green); border-radius: 50%; }
.dic-member-portal__avatar-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.dic-member-portal__identity-label { margin: 0 0 .15rem; color: var(--dic-muted); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dic-member-portal__identity-name { margin: 0 0 .7rem; font-size: 1.2rem; font-weight: 800; }
.dic-member-portal__profile-action { font-size: .9rem; }

.dic-status { display: inline-block; padding: .28rem .58rem; font-size: .82rem; font-weight: 800; line-height: 1.35; border: 1px solid currentColor; }
.dic-status--active,
.dic-status--paid,
.dic-status--yes { color: #276300; background: #e8f3db; }
.dic-status--waived,
.dic-status--complimentary { color: #155f66; background: #def2f1; }
.dic-status--unknown,
.dic-status--no,
.dic-status--unpaid,
.dic-status--pending { color: #7c4700; background: #fff0cf; }

.dic-member-profile { max-width: 860px; }
.dic-member-profile > h3 { margin-top: 0; }
.dic-member-profile__form { display: grid; gap: 1rem; }
.dic-member-profile__section { min-width: 0; margin: 0; }
.dic-member-profile__section legend { padding: 0 .35rem; color: var(--dic-green-dark); font-weight: 800; }
.dic-member-profile__description { margin-top: 0; color: var(--dic-muted); }
.dic-member-profile-image { display: grid; gap: 1rem; }
.dic-member-profile-image__current { margin: 0; }
.dic-member-profile-image__preview { display: block; width: 112px; height: 112px; object-fit: cover; border: 3px solid var(--dic-green); }
.dic-form-field { margin: 0 0 1rem; }
.dic-form-field:last-child { margin-bottom: 0; }
.dic-form-field label { display: block; margin-bottom: .4rem; color: var(--dic-charcoal); font-weight: 800; }
.dic-form-field input:not([type="checkbox"]):not([type="file"]),
.dic-form-field textarea,
.dic-member-messages input:not([type="hidden"]),
.dic-member-messages select,
.dic-member-messages textarea { box-sizing: border-box; width: 100%; padding: .65rem .7rem; color: var(--dic-charcoal); background: #fff; border: 1px solid #8f8e85; border-radius: 0; }
.dic-form-field input:focus,
.dic-form-field textarea:focus,
.dic-member-messages input:focus,
.dic-member-messages select:focus,
.dic-member-messages textarea:focus { border-color: var(--dic-green); outline: 3px solid rgba(63,127,0,.22); outline-offset: 1px; }
.dic-form-field--checkbox label { display: flex; gap: .55rem; align-items: center; font-weight: 600; }
.dic-form-field--checkbox input { width: 1.1rem; height: 1.1rem; accent-color: var(--dic-green); }
.dic-form-actions { margin: 1rem 0 0; }
.dic-member-portal button,
.dic-member-portal .button,
.dic-member-messages button,
.dic-member-messages .button,
.dic-member-login .button { display: inline-block; padding: .68rem 1rem; color: #fff; font-weight: 800; text-decoration: none; background: var(--dic-green); border: 2px solid var(--dic-green); border-radius: 0; cursor: pointer; }
.dic-member-portal button:hover,
.dic-member-portal .button:hover,
.dic-member-messages button:hover,
.dic-member-messages .button:hover,
.dic-member-login .button:hover { color: #fff; background: var(--dic-green-dark); border-color: var(--dic-green-dark); }
.dic-member-profile-image__remove button { color: #fff; background: var(--dic-orange); border-color: var(--dic-orange); }
.dic-notice { margin: 0 0 1rem; padding: .85rem 1rem; border-left: 5px solid currentColor; font-weight: 650; }
.dic-notice--success { color: #245c00; background: #e7f2dc; }
.dic-notice--error { color: #962300; background: #ffe7df; }
.dic-notice--info { color: #164e56; background: #def1f1; }
.dic-member-portal__logout { margin: 0; padding: 0 1.25rem 1.25rem; }
.dic-member-portal__logout a { color: var(--dic-green-dark); font-weight: 800; }

@media (min-width: 700px) {
	.dic-member-portal__dashboard,
	.dic-member-portal__profile-wrap,
	.dic-member-portal__section { padding: 2rem; }
	.dic-member-portal__overview { grid-template-columns: minmax(220px, .8fr) minmax(220px, .8fr) minmax(0, 1.2fr); }
	.dic-member-profile-image { grid-template-columns: 130px minmax(0, 1fr); align-items: start; }
	.dic-member-profile__section--personal { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
	.dic-member-profile__section--personal legend,
	.dic-member-profile__section--personal .dic-form-field--bio { grid-column: 1 / -1; }
	.dic-member-profile__section--personal .dic-form-field { margin: 0; }
}

/* Member application header and shared view rhythm. */
.dic-member-portal__header { color: #fff; background: var(--dic-green-dark); }
.dic-member-portal__header-inner,
.dic-member-portal__nav-inner { display: flex; width: min(100% - 2.5rem, 1180px); margin: 0 auto; }
.dic-member-portal__header-inner { gap: 1rem; align-items: center; justify-content: space-between; padding: 1.1rem 0 .95rem; }
.dic-member-portal__brand p { margin: 0; }
.dic-member-portal__club-name { font-size: clamp(1.15rem, 2.5vw, 1.45rem); font-weight: 800; letter-spacing: .01em; }
.dic-member-portal__portal-name { margin-top: .1rem !important; color: rgba(255,255,255,.78); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.dic-member-portal__member-menu { display: flex; flex-wrap: wrap; gap: .25rem .65rem; align-items: baseline; justify-content: flex-end; font-size: .9rem; }
.dic-member-portal__signed-in { color: rgba(255,255,255,.75); }
.dic-member-portal__member-name { color: #fff; }
.dic-member-portal__logout-link { color: #fff; font-weight: 800; text-decoration: underline; text-underline-offset: .18em; }
.dic-member-portal__logout-link:hover,
.dic-member-portal__logout-link:focus-visible { color: #fff; outline: 2px solid #fff; outline-offset: 3px; }

.dic-member-portal__nav { padding: 0; border-top: 1px solid rgba(255,255,255,.2); }
.dic-member-portal__nav-inner { gap: .25rem; overflow-x: auto; }
.dic-member-portal__nav-link { padding: .8rem .95rem; }
.dic-member-portal__dashboard > *,
.dic-member-portal__section > .dic-member-directory,
.dic-member-portal__section > .dic-member-messages { width: min(100%, 1120px); margin-right: auto; margin-left: auto; }
.dic-member-portal__profile-wrap > .dic-member-profile { width: min(100%, 860px); margin-right: auto; margin-left: auto; }
.dic-member-portal__heading { max-width: 760px; }
.dic-member-portal__heading h2 { letter-spacing: -.025em; }
.dic-member-portal__card { box-shadow: 0 1px 0 rgba(40,85,0,.08); }
.dic-member-portal__identity { min-height: 126px; }
.dic-member-portal__profile-action { background: var(--dic-green) !important; border-color: var(--dic-green) !important; }
.dic-status { border-radius: 999px; }

/* Profile form refinements. */
.dic-member-profile__section--image { padding-block: 1rem; }
.dic-member-profile-image { grid-template-columns: minmax(0, 1fr); }
.dic-member-profile-image__current { display: flex; gap: 1rem; align-items: center; }
.dic-member-profile-image__preview { flex: 0 0 100px; width: 100px; height: 100px; }
.dic-member-profile-image__remove { margin-top: .65rem; }
.dic-member-profile-image__remove button,
.dic-member-messages .button-link-delete { color: #962300; background: transparent; border-color: #c7401a; }
.dic-member-profile-image__remove button:hover,
.dic-member-messages .button-link-delete:hover { color: #fff; background: #b52d09; border-color: #b52d09; }

/* Directory list and profile. */
.dic-member-directory__header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1.25rem; }
.dic-member-directory__header h2 { margin-bottom: .3rem; }
.dic-member-directory__header p { margin: 0; color: var(--dic-muted); }
.dic-member-directory__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .9rem; padding: 0; margin: 0; list-style: none; }
.dic-member-directory__member { margin: 0; }
.dic-member-directory__link { display: flex; min-height: 116px; gap: .85rem; align-items: center; height: 100%; padding: 1rem; color: var(--dic-charcoal); text-decoration: none; background: var(--dic-surface); border: 1px solid var(--dic-border); box-shadow: 0 1px 0 rgba(40,85,0,.08); }
.dic-member-directory__link:hover { color: var(--dic-charcoal); border-color: var(--dic-green); box-shadow: 0 4px 12px rgba(40,85,0,.12); transform: translateY(-1px); }
.dic-member-directory__link:focus-visible { outline: 3px solid rgba(63,127,0,.45); outline-offset: 2px; }
.dic-member-directory__image,
.dic-member-directory__image--placeholder { display: grid; flex: 0 0 58px; width: 58px; height: 58px; place-items: center; overflow: hidden; color: #fff; font-size: 1.1rem; font-weight: 800; background: var(--dic-green-dark); border: 2px solid var(--dic-green); border-radius: 50%; }
.dic-member-directory__image { object-fit: cover; }
.dic-member-directory__details { display: grid; gap: .2rem; min-width: 0; }
.dic-member-directory__name { font-size: 1.05rem; font-weight: 800; }
.dic-member-directory__company,
.dic-member-directory__job-title { color: var(--dic-muted); font-size: .9rem; }
.dic-member-directory__back { margin: 0 0 1rem; }
.dic-member-directory__back a,
.dic-member-messages > p > a { color: var(--dic-green-dark); font-weight: 800; text-decoration: none; }
.dic-member-directory__back a:hover,
.dic-member-directory__back a:focus-visible,
.dic-member-messages > p > a:hover,
.dic-member-messages > p > a:focus-visible { text-decoration: underline; }
.dic-member-directory-profile { padding: clamp(1rem, 3vw, 1.75rem); background: var(--dic-surface); border: 1px solid var(--dic-border); }
.dic-member-directory-profile__hero { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.25rem; }
.dic-member-directory-profile__hero h2 { margin: 0; }
.dic-member-directory-profile__eyebrow { margin: 0 0 .25rem; color: var(--dic-green-dark); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.dic-member-directory-profile__image,
.dic-member-directory-profile__image--placeholder { display: grid; flex: 0 0 104px; width: 104px; height: 104px; place-items: center; overflow: hidden; color: #fff; font-size: 1.45rem; font-weight: 800; background: var(--dic-green-dark); border: 3px solid var(--dic-green); border-radius: 50%; }
.dic-member-directory-profile__image { object-fit: cover; }
.dic-member-directory-profile__bio { max-width: 70ch; line-height: 1.65; }
.dic-member-directory-profile__details { display: grid; grid-template-columns: minmax(130px, .4fr) minmax(0, 1fr); gap: .7rem 1rem; max-width: 720px; padding-top: 1rem; margin: 1.25rem 0 0; border-top: 1px solid var(--dic-border); }
.dic-member-directory-profile__details dt { color: var(--dic-muted); font-weight: 800; }
.dic-member-directory-profile__details dd { margin: 0; }

/* Messaging list, thread, and actions. */
.dic-member-messages__header { margin-bottom: 1rem; }
.dic-member-messages__header h2 { margin: 0; }
.dic-member-messages > p { margin: 0 0 1rem; }
.dic-member-messages > p > .button + .button { margin-left: .55rem; }
.dic-member-messages .dic-member-messages__inbox,
.dic-member-messages h3 + ul { display: grid; gap: .75rem; padding: 0; margin: 1rem 0; list-style: none; }
.dic-member-messages__inbox li,
.dic-member-messages h3 + ul li { margin: 0; background: var(--dic-surface); border: 1px solid var(--dic-border); }
.dic-member-messages__inbox li.is-unread { border-left: 5px solid var(--dic-green); }
.dic-member-messages__inbox li > a,
.dic-member-messages h3 + ul li > a { display: block; padding: 1rem; color: var(--dic-charcoal); font-size: 1.02rem; font-weight: 800; text-decoration: none; }
.dic-member-messages__inbox li > a:hover,
.dic-member-messages h3 + ul li > a:hover { color: var(--dic-green-dark); background: #f1f6e9; }
.dic-member-messages__inbox li > a:focus-visible,
.dic-member-messages h3 + ul li > a:focus-visible { outline: 3px solid rgba(63,127,0,.45); outline-offset: -3px; }
.dic-member-messages__inbox li p { padding: 0 1rem 1rem; margin: 0; color: var(--dic-muted); }
.dic-member-messages__inbox li span { display: inline-block; margin: 0 1rem 1rem; padding: .15rem .45rem; color: #245c00; font-size: .78rem; font-weight: 800; background: #e8f3db; border-radius: 999px; }
.dic-member-messages h3 { margin-top: 1.5rem; }
.dic-member-messages__thread { display: grid; max-width: 780px; gap: .8rem; margin: 1rem 0 1.25rem; }
.dic-member-messages__message,
.dic-member-messages article { max-width: min(92%, 620px); padding: .9rem 1rem; background: var(--dic-surface); border: 1px solid var(--dic-border); }
.dic-member-messages__message.is-sent { justify-self: end; background: #edf5e3; border-color: #aac78d; }
.dic-member-messages__message strong,
.dic-member-messages article strong { display: block; margin-bottom: .35rem; }
.dic-member-messages__message div,
.dic-member-messages article div { line-height: 1.55; }
.dic-member-messages__message small { display: block; margin-top: .6rem; color: var(--dic-muted); }
.dic-member-messages form { max-width: 780px; padding: 1rem; margin: 1rem 0; background: rgba(255,254,250,.72); border: 1px solid var(--dic-border); }
.dic-member-messages textarea { min-height: 8rem; resize: vertical; }
.dic-member-messages .button:not(.button-primary) { color: var(--dic-green-dark); background: transparent; border-color: var(--dic-green); }
.dic-member-messages .button:not(.button-primary):hover { color: #fff; background: var(--dic-green-dark); }

@media (max-width: 699px) {
	.dic-member-portal__header-inner { align-items: flex-start; flex-direction: column; }
	.dic-member-portal__member-menu { justify-content: flex-start; }
	.dic-member-portal__header-inner,
	.dic-member-portal__nav-inner { width: min(100% - 1.5rem, 1180px); }
	.dic-member-directory-profile__details { grid-template-columns: 1fr; gap: .2rem; }
	.dic-member-directory-profile__details dd { margin-bottom: .55rem; }
}
