/**
 * Education discount request form — bound to the child theme's M3 tokens
 * (with safe fallbacks). Loaded on the /education-discount/ page via the
 * shortcode markup; intentionally minimal so it inherits the theme's form styling.
 */
.pc-edu-form {
	max-width: 560px;
	margin: var(--space-4, 16px) 0;
}
.pc-edu-form .pc-edu-field {
	margin: 0 0 var(--space-4, 16px);
}
.pc-edu-form label {
	display: block;
	font-weight: 600;
	color: var(--md-sys-color-on-surface, #1a1c1d);
}
.pc-edu-form input[type="text"],
.pc-edu-form input[type="email"],
.pc-edu-form select,
.pc-edu-form textarea {
	width: 100%;
	margin-top: 4px;
	padding: 10px 12px;
	border: 1px solid var(--md-sys-color-outline, #71787b);
	border-radius: var(--radius-small, 8px);
	font: inherit;
	background: var(--md-sys-color-surface, #fff);
	color: var(--md-sys-color-on-surface, #1a1c1d);
}
.pc-edu-form small {
	display: block;
	margin-top: 4px;
	color: var(--md-sys-color-on-surface-variant, #41484b);
	font-weight: 400;
}
.pc-edu-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.pc-edu-msg.is-success { color: var(--md-sys-color-primary, #125e7a); font-weight: 600; }
.pc-edu-msg.is-error   { color: var(--md-sys-color-error, #ba1a1a); font-weight: 600; }

.pc-edu-form--verified,
.pc-edu-form--pending {
	padding: var(--space-4, 16px);
	border-radius: var(--radius-medium, 12px);
	background: var(--md-sys-color-surface-container-low, #f3f6f7);
	border: 1px solid var(--md-sys-color-outline-variant, #d5dee0);
}

/* ==========================================================================
   v3.25.0 — intro, banners, proof block, product line, cart notice, account card.
   Theme tokens with fallbacks (theme: variables.css).
   ========================================================================== */
.pc-edu-intro { max-width: 680px; margin: 0 0 24px; }
.pc-edu-intro__lede { font-size: 17px; line-height: 1.55; color: var(--fg1, #1a1f22); margin: 0 0 16px; }
.pc-edu-steps { margin: 0; padding-left: 22px; display: grid; gap: 8px; color: var(--fg2, #3f484b); }
.pc-edu-steps li { padding-left: 4px; }
.pc-edu-steps strong { color: var(--fg1, #1a1f22); }

.pc-edu-banner { max-width: 560px; margin: 0 0 16px; padding: 12px 16px; border-radius: 12px; font-weight: 500; }
.pc-edu-banner--ok   { background: var(--color-success-container, #dcfce7); color: #14532d; }
.pc-edu-banner--warn { background: var(--color-warning-container, #ffedd5); color: #7c2d12; }
.pc-edu-banner--info { background: var(--color-primary-container, #c9dee6); color: var(--color-on-primary-container, #0a2933); }

.pc-edu-form select { appearance: auto; }
.pc-edu-form input[type="file"] { margin-top: 6px; font: inherit; }
.pc-edu-proof {
	margin: 0 0 16px;
	padding: 12px 16px 4px;
	border: 1px dashed var(--color-outline-variant, #b7bdc0);
	border-radius: 12px;
}
.pc-edu-proof legend { padding: 0 6px; font-weight: 600; color: var(--fg2, #3f484b); }
.pc-edu-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.pc-edu-form .button {
	background: var(--color-primary, #2c6e84);
	color: var(--color-on-primary, #fff);
	border-radius: 999px;
	padding: 10px 24px;
}

/* Product page line (under the buy box) */
.pc-edu-line {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 12px 0 0;
	font-size: 14px;
	color: var(--fg2, #3f484b);
}
.pc-edu-line .material-symbols-outlined { font-size: 20px; color: var(--color-primary, #2c6e84); }
.pc-edu-line a { color: var(--color-primary, #2c6e84); font-weight: 600; text-decoration: none; }
.pc-edu-line a:hover { text-decoration: underline; }
.pc-edu-line--active { color: var(--color-on-primary-container, #0a2933); font-weight: 600; }

/* Cart notice */
.pc-edu-cart-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	padding: 12px 16px;
	border-radius: 12px;
	background: var(--color-primary-container, #c9dee6);
	color: var(--color-on-primary-container, #0a2933);
	font-size: 14px;
}
.pc-edu-cart-notice .material-symbols-outlined { color: var(--color-primary, #2c6e84); }
.pc-edu-cart-notice a { color: var(--color-primary-dark, #1f4e5e); font-weight: 600; }

/* My Account dashboard card */
.pc-edu-account-promo {
	margin-top: 24px;
	padding: 16px 20px;
	border: 1px solid var(--color-outline-variant, #d5dee0);
	border-radius: 12px;
	background: var(--color-surface-container-low, #f3f6f7);
}
.pc-edu-account-promo p { margin: 0 0 8px; color: var(--fg2, #3f484b); }
.pc-edu-account-promo p:last-child { margin-bottom: 0; }
.pc-edu-account-promo strong { color: var(--fg1, #1a1f22); }

/* ==========================================================================
   v3.25.1 — mobile fix + checkout / sign-up / banner mentions
   ========================================================================== */
/* Fieldsets default to min-width:min-content, which pushed the proof box and
   its textarea past the viewport on phones. */
.pc-edu-proof { min-width: 0; max-width: 100%; box-sizing: border-box; }
.pc-edu-proof legend { white-space: normal; max-width: 100%; }
.pc-edu-form input,
.pc-edu-form select,
.pc-edu-form textarea { box-sizing: border-box; max-width: 100%; }

/* Checkout notice reuses the cart-notice look. */
.pc-edu-cart-notice--checkout { margin-bottom: 24px; }

/* Sign-up form note */
.pc-edu-register-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 12px 0 4px;
	font-size: 13px;
	line-height: 1.45;
	color: var(--fg3, #5a6266);
}
.pc-edu-register-note .material-symbols-outlined { font-size: 18px; color: var(--color-primary, #2c6e84); }
.pc-edu-register-note a { color: var(--color-primary, #2c6e84); font-weight: 600; }

/* Slim promo banner (docs hub, contact page) */
.pc-edu-banner-promo {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-radius: 14px;
	background: var(--color-primary-container, #c9dee6);
	color: var(--color-on-primary-container, #0a2933);
	font-size: 15px;
	line-height: 1.45;
}
.pc-edu-banner-promo .material-symbols-outlined { color: var(--color-primary, #2c6e84); font-size: 24px; flex: 0 0 auto; }
.pc-edu-banner-promo__text { flex: 1 1 auto; color: var(--color-on-primary-container, #0a2933); }
.pc-edu-banner-promo__cta {
	flex: 0 0 auto;
	padding: 8px 18px;
	border-radius: 999px;
	background: var(--color-primary, #2c6e84);
	color: var(--color-on-primary, #fff) !important;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	white-space: nowrap;
}
.pc-edu-banner-promo__cta:hover { background: var(--color-primary-dark, #1f4e5e); }
.pc-edu-banner-promo--docs { max-width: 1120px; margin: 24px auto 0; }
@media (max-width: 600px) {
	.pc-edu-banner-promo { flex-wrap: wrap; }
	.pc-edu-banner-promo__cta { margin-left: 36px; }
}

.pc-docs-edu-promo { padding: 0 16px; }

/* ==========================================================================
   v3.25.2 — form restyle (also used inside the Education hub card)
   ========================================================================== */
.pc-edu-hub .pc-edu-form { max-width: none; margin: 0; }
.pc-edu-form .pc-edu-field { margin: 0 0 18px; }
.pc-edu-form label { font-weight: 600; font-size: 14px; color: var(--fg1, #1a1f22); }
.pc-edu-form input[type="text"],
.pc-edu-form input[type="email"],
.pc-edu-form select,
.pc-edu-form textarea {
	min-height: 44px;
	border-radius: 10px;
	border: 1px solid var(--color-outline-variant, #b7bdc0);
	background: var(--color-surface, #fff);
	font-weight: 400;
	font-size: 15px;
}
.pc-edu-form input:focus,
.pc-edu-form select:focus,
.pc-edu-form textarea:focus {
	outline: none;
	border-color: var(--color-primary, #2c6e84);
	box-shadow: 0 0 0 3px rgba(44, 110, 132, .18);
}
.pc-edu-form small { font-size: 12.5px; color: var(--fg3, #5a6266); }

/* Proof block: a proper card with the heading inside it. */
.pc-edu-proof {
	position: relative;
	margin: 6px 0 20px;
	padding: 44px 18px 6px;
	border: 1px solid var(--color-outline-variant, #b7bdc0);
	border-radius: 14px;
	background: var(--color-surface-container-low, #f7f8f9);
}
.pc-edu-proof legend {
	position: absolute;
	top: 14px;
	left: 18px;
	right: 18px;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--fg1, #1a1f22);
}
.pc-edu-form input[type="file"] {
	width: 100%;
	padding: 14px;
	border: 2px dashed var(--color-outline-variant, #b7bdc0);
	border-radius: 12px;
	background: var(--color-surface, #fff);
	font-size: 14px;
	color: var(--fg2, #3f484b);
	cursor: pointer;
}
.pc-edu-form input[type="file"]:hover { border-color: var(--color-primary, #2c6e84); }
.pc-edu-form input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 16px;
	border: 0;
	border-radius: 999px;
	background: var(--color-primary-container, #c9dee6);
	color: var(--color-on-primary-container, #0a2933);
	font-weight: 600;
	cursor: pointer;
}

/* Status cards */
.pc-edu-form--verified,
.pc-edu-form--pending,
.pc-edu-form--guest {
	padding: 18px 20px;
	border-radius: 14px;
	border: 1px solid var(--color-outline-variant, #d5dee0);
	background: var(--color-surface-container-low, #f3f6f7);
}
.pc-edu-form--verified { background: var(--color-success-container, #dcfce7); border-color: transparent; }
.pc-edu-form--verified p { color: #14532d; font-weight: 500; }
.pc-edu-form--guest p { margin: 0 0 12px; color: var(--fg2, #3f484b); }
.pc-edu-guest-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 0 !important; }
.pc-edu-btn,
.pc-edu-form .pc-edu-btn {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 24px !important;
	border-radius: 999px;
	background: var(--color-primary, #2c6e84) !important;
	color: var(--color-on-primary, #fff) !important;
	font-weight: 600;
	text-decoration: none;
}
.pc-edu-btn-secondary { color: var(--color-primary, #2c6e84); font-weight: 600; text-decoration: none; }
.pc-edu-btn-secondary:hover { text-decoration: underline; }

/* v3.25.3 — the proof group is a plain div now (a fieldset legend can't be
   positioned reliably in Chrome and overlapped the first field on phones). */
.pc-edu-proof { padding: 16px 18px 6px; }
.pc-edu-proof__title {
	margin: 0 0 14px !important;
	font-size: 14px;
	font-weight: 600;
	color: var(--fg1, #1a1f22) !important;
}
