/**
 * Family Sharing — access message cards.
 *
 * One centered card, used for every gate the plugin can put in front of a parent
 * or student. Heritage palette (navy / gold / warm paper), Lora headings, Lato
 * body, 16px base with a hard 13px floor.
 *
 * The authorship mark is the short gold rule under the heading — the "ruled
 * ledger" motif, not a decorative tick bar.
 *
 * Selectors are deliberately scoped under .mycc-fs-message and set explicit
 * font/color values, because BuddyBoss resets h2/p aggressively inside the
 * LearnDash content well.
 */

.mycc-fs-message {
	--mycc-fs-navy: #1e2f52;
	--mycc-fs-navy-deep: #16233e;
	--mycc-fs-gold: #c08e3f;
	--mycc-fs-paper: #fdfaf5;
	--mycc-fs-text: #1e293b;
	--mycc-fs-muted: #64748b;
	--mycc-fs-border: #e2e8f0;

	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 48px 20px;
	background: var(--mycc-fs-paper);
	border-radius: 10px;
}

.mycc-fs-message *,
.mycc-fs-message *::before,
.mycc-fs-message *::after {
	box-sizing: border-box;
}

/* Page mode: the message IS the page, so give it real vertical presence.
   Bounded by min-height rather than 100vh — inside BuddyBoss the card sits in
   the content well, and a viewport-height rule would fight the theme chrome. */
.mycc-fs-message--page {
	min-height: 420px;
}

/* Notice mode: sits above existing content, so it stays compact and left-aligned
   with the page rather than commanding the whole well. */
.mycc-fs-message--notice {
	padding: 0;
	margin: 0 0 24px;
	background: transparent;
	justify-content: flex-start;
}

.mycc-fs-message .mycc-fs-message__card {
	width: 100%;
	max-width: 560px;
	padding: 44px 44px 48px;
	text-align: center;
	background: #ffffff;
	border: 1px solid var(--mycc-fs-border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(30, 47, 82, 0.04), 0 12px 32px -12px rgba(30, 47, 82, 0.16);
}

.mycc-fs-message--notice .mycc-fs-message__card {
	max-width: none;
	padding: 20px 24px;
	text-align: left;
	border-left: 3px solid var(--mycc-fs-gold);
	box-shadow: none;
}

.mycc-fs-message .mycc-fs-message__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 22px;
	color: var(--mycc-fs-navy);
	background: rgba(30, 47, 82, 0.07);
	border-radius: 50%;
}

.mycc-fs-message .mycc-fs-message__icon svg {
	width: 26px;
	height: 26px;
	display: block;
}

.mycc-fs-message--notice .mycc-fs-message__icon {
	width: 34px;
	height: 34px;
	margin: 0 0 12px;
}

.mycc-fs-message--notice .mycc-fs-message__icon svg {
	width: 18px;
	height: 18px;
}

.mycc-fs-message .mycc-fs-message__heading {
	margin: 0;
	padding: 0;
	font-family: Lora, Georgia, "Times New Roman", serif;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.28;
	color: var(--mycc-fs-navy);
	letter-spacing: -0.01em;
}

.mycc-fs-message--notice .mycc-fs-message__heading {
	font-size: 19px;
}

/* The authorship mark: a short ruled line in Heritage gold, the way a ledger
   rules off a heading. Deliberately narrow and centered under the title. */
.mycc-fs-message .mycc-fs-message__rule {
	display: block;
	width: 44px;
	height: 2px;
	margin: 18px auto 20px;
	background: var(--mycc-fs-gold);
	border-radius: 2px;
}

.mycc-fs-message--notice .mycc-fs-message__rule {
	margin: 12px 0 12px;
}

.mycc-fs-message .mycc-fs-message__body {
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.62;
	color: var(--mycc-fs-muted);
}

.mycc-fs-message .mycc-fs-message__body p {
	margin: 0 0 12px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.mycc-fs-message .mycc-fs-message__body p:last-child {
	margin-bottom: 0;
}

.mycc-fs-message .mycc-fs-message__body a {
	color: var(--mycc-fs-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.mycc-fs-message .mycc-fs-message__button {
	display: inline-block;
	margin-top: 28px;
	padding: 13px 28px;
	font-family: Lato, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	color: #ffffff;
	text-decoration: none;
	background: var(--mycc-fs-navy);
	border: 0;
	border-radius: 6px;
	transition: background-color 0.15s ease;
}

.mycc-fs-message .mycc-fs-message__button:hover,
.mycc-fs-message .mycc-fs-message__button:focus {
	color: #ffffff;
	background: var(--mycc-fs-navy-deep);
	text-decoration: none;
}

/* Focus ring uses navy, not gold: gold on white is 2.80:1, below the 3:1 minimum
   WCAG 2.2 SC 1.4.11 requires of a focus indicator. The button always sits on the
   white card, so a gold ring would fail every time. */
.mycc-fs-message .mycc-fs-message__button:focus-visible {
	outline: 3px solid var(--mycc-fs-navy);
	outline-offset: 2px;
}

.mycc-fs-message--notice .mycc-fs-message__button {
	margin-top: 16px;
	padding: 10px 20px;
}

@media (max-width: 600px) {
	.mycc-fs-message {
		padding: 28px 12px;
	}

	.mycc-fs-message__card {
		padding: 32px 24px 36px;
	}

	.mycc-fs-message__heading {
		font-size: 22px;
	}

	.mycc-fs-message__body {
		font-size: 16px;
	}
}
