/* Plugin blocks. Colors come from the theme's presets, with fallbacks for other themes. */
:root {
	--pc-bg: var(--wp--preset--color--card, #fff);
	--pc-surface: var(--wp--preset--color--surface, #e3eae6);
	--pc-hover: var(--wp--preset--color--base, #eef2f0);
	--pc-text: var(--wp--preset--color--contrast, #123329);
	--pc-body: var(--wp--preset--color--body, #3f4743);
	--pc-muted: var(--wp--preset--color--muted, #5c6460);
	--pc-border: var(--wp--preset--color--border, #d6e0db);
	--pc-border-strong: #b9c9c1;
	--pc-brand: var(--wp--preset--color--brand, #1f5d4e);
	--pc-brand-dark: var(--wp--preset--color--brand-dark, #123329);
	--pc-accent: var(--wp--preset--color--accent, #c55e43);
	--pc-accent-hover: var(--wp--preset--color--accent-hover, #a84b33);
	--pc-accent-soft: var(--wp--preset--color--accent-soft, #fbeae4);
	--pc-on-accent: var(--wp--preset--color--on-accent, #fff);
	--pc-warning: var(--wp--preset--color--warning, #78350f);
	--pc-warning-soft: var(--wp--preset--color--warning-soft, #fef3c7);
	--pc-serif: var(--wp--preset--font-family--serif, Georgia, serif);
	--pc-radius: 14px; /* cards on annamariarosu.ro */
	--pc-radius-sm: 4px; /* buttons and inputs */
	--pc-shadow: 0 1px 3px 0 rgb(18 51 41 / 0.08);
	--pc-shadow-lg: 0 12px 24px -8px rgb(18 51 41 / 0.18);
	--pc-shadow-button: 2px 2px 6px 0 rgb(0 0 0 / 0.2);
}

.pc-placeholder,
.pc-empty {
	padding: 1.25rem;
	border: 1px dashed var(--pc-border);
	border-radius: var(--pc-radius);
	color: var(--pc-muted);
	text-align: center;
}

.pc-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
	background: var(--pc-surface);
	color: var(--pc-text);
	font-size: 0.75rem;
	line-height: 1rem;
	white-space: nowrap;
}
.pc-badge--accent { background: var(--pc-accent-soft); color: var(--pc-accent-hover); }
.pc-badge--warning { background: var(--pc-warning-soft); color: var(--pc-warning); }

.pc-button {
	display: flex;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	border-radius: var(--pc-radius-sm);
	background: var(--pc-accent);
	color: var(--pc-on-accent) !important;
	box-shadow: var(--pc-shadow-button);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.25rem;
	text-decoration: none !important;
	transition: background-color 0.15s, color 0.15s;
}
/* Capitals only where the button sells (header, course page, locked lesson, pricing), like the webinar page.
   Everyday actions in the account and lessons stay in sentence case. */
.site-header .pc-button,
.pc-summary .pc-button,
.pc-locked .pc-button,
.pc-plan .pc-button {
	font-size: 0.8rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.pc-button:hover { background: var(--pc-accent-hover); }

/* Course grid */
.pc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: 1.5rem;
}
.pc-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--pc-shadow);
	transition: box-shadow 0.15s, border-color 0.15s;
}
.pc-card:hover { border-color: var(--pc-border-strong); box-shadow: var(--pc-shadow-lg); }
.pc-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--pc-brand), var(--pc-brand-dark));
}
.pc-card__media img { width: 100%; height: 100%; object-fit: cover; }
.pc-card__initial { color: rgb(255 255 255 / 85%); font-family: var(--pc-serif); font-size: 3.5rem; }
.pc-card__body { display: flex; flex: 1; flex-direction: column; gap: 0.5rem; padding: 1.5rem; }
.pc-card__badges { display: flex; flex-wrap: wrap; gap: 0.4rem; min-height: 1.4rem; }
.pc-card__title { margin: 0; color: var(--pc-text); font-family: var(--pc-serif); font-size: 1.5rem; font-weight: 400; line-height: 1.25; }
.pc-card__excerpt { margin: 0; color: var(--pc-body); font-size: 0.875rem; }
.pc-card__meta { margin: auto 0 0; padding-top: 0.5rem; color: var(--pc-muted); font-size: 0.875rem; }

/* Course summary */
.pc-summary {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1.5rem;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	box-shadow: var(--pc-shadow);
}
.pc-summary__media img { width: 100%; border-radius: var(--pc-radius-sm); }
.pc-summary__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)); gap: 0.75rem; margin: 0; }
.pc-summary__stats div { padding: 0.75rem; border-radius: var(--pc-radius-sm); background: var(--pc-hover); border: 1px solid var(--pc-border); }
.pc-summary__stats dt { color: var(--pc-muted); font-size: 0.75rem; }
.pc-summary__stats dd { margin: 0; font-weight: 600; }
.pc-summary__note { margin: 0; color: var(--pc-muted); font-size: 0.75rem; text-align: center; }

/* Curriculum */
.pc-curriculum { display: flex; flex-direction: column; gap: 1rem; }
.pc-module {
	overflow: hidden;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	box-shadow: var(--pc-shadow);
}
.pc-module__title {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	margin: 0;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--pc-border);
	background: var(--pc-hover);
	font-size: 0.875rem;
	font-weight: 600;
}
.pc-module__index { color: var(--pc-accent); font-variant-numeric: tabular-nums; }
.pc-lessons { margin: 0; padding: 0; list-style: none; }
.pc-lesson + .pc-lesson { border-top: 1px solid var(--pc-surface); }
.pc-lesson a {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	padding: 0.75rem 1rem;
	color: var(--pc-text);
	font-size: 0.875rem;
	text-decoration: none;
}
.pc-lesson a:hover { background: var(--pc-hover); }
.pc-lesson__icon {
	flex: none;
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background: var(--pc-accent-soft) center / 0.7rem no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 12'%3E%3Cpath fill='%234f46e5' d='M0 0v12l10-6z'/%3E%3C/svg%3E");
}
.pc-lesson__title { flex: 1; min-width: 0; }
.pc-lesson__duration { color: var(--pc-muted); font-size: 0.75rem; white-space: nowrap; }
.pc-lesson.is-current a { background: var(--pc-accent-soft); color: var(--pc-accent-hover); font-weight: 500; }
.pc-lesson.is-draft .pc-lesson__title { color: var(--pc-muted); }

/* Lesson page */
.pc-breadcrumb { display: flex; flex-wrap: wrap; gap: 0.5rem; color: var(--pc-muted); font-size: 0.875rem; }
.pc-breadcrumb a { color: var(--pc-accent); text-decoration: none; }
.pc-player__title { margin: 0.25rem 0 1rem; color: var(--pc-text); font-family: var(--pc-serif); font-size: 2rem; font-weight: 400; line-height: 1.2; }
.pc-notice { padding: 0.75rem 1rem; border-radius: var(--pc-radius-sm); background: var(--pc-warning-soft); color: var(--pc-warning); font-size: 0.875rem; }
.pc-video {
	position: relative;
	overflow: hidden;
	margin-bottom: 1.5rem;
	border-radius: var(--pc-radius);
	background: #020617;
	box-shadow: var(--pc-shadow);
	aspect-ratio: 16 / 9;
}
.pc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pc-player__content { color: var(--pc-body); line-height: 1.625; }
.pc-pager {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--pc-border);
}
.pc-pager__link {
	display: flex;
	flex-direction: column;
	padding: 0.75rem 1rem;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius-sm);
	background: var(--pc-bg);
	color: var(--pc-text);
	font-size: 0.875rem;
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.15s;
}
.pc-pager__link:hover { background: var(--pc-surface); color: var(--pc-text); }
.pc-pager__link small { color: var(--pc-muted); font-size: 0.75rem; font-weight: 400; }
.pc-pager__link--next { grid-column: 2; text-align: right; }

.pc-sidebar { display: flex; flex-direction: column; gap: 0.25rem; }
.pc-sidebar__course { color: var(--pc-text); font-family: var(--pc-serif); font-size: 1.375rem; text-decoration: none; }
.pc-sidebar__meta { margin: 0 0 0.75rem; color: var(--pc-muted); font-size: 0.875rem; }

@media (max-width: 600px) {
	.pc-pager { grid-template-columns: 1fr; }
	.pc-pager__link--next { grid-column: 1; }
}

/* Buttons: variants of btn-primary / btn-secondary */
.pc-button--inline { display: inline-flex; }
.pc-button--secondary {
	border: 1.5px solid var(--pc-brand-dark);
	background: transparent;
	box-shadow: none;
	color: var(--pc-brand-dark) !important;
}
.pc-button--secondary:hover { background: var(--pc-brand-dark); color: #fff !important; }
.pc-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pc-badge--success { background: #dcfce7; color: #166534; }
.pc-muted { color: var(--pc-muted); }

/* Forms: same as the webinar app's .input and .label */
.pc-form { display: flex; flex-direction: column; gap: 1rem; }
.pc-form__row { display: grid; gap: 1rem; }
@media (min-width: 640px) { .pc-form__row { grid-template-columns: 1fr 1fr; } }
.pc-label { display: block; margin-bottom: 0.25rem; color: var(--pc-body); font-size: 0.875rem; font-weight: 500; }
.pc-label-row { display: flex; align-items: baseline; justify-content: space-between; }
.pc-link-sm { font-size: 0.75rem; }
.pc-input {
	box-sizing: border-box;
	width: 100%;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--pc-border-strong);
	border-radius: var(--pc-radius-sm);
	outline: none;
	background: #fff;
	color: var(--pc-text);
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.pc-input:focus { border-color: var(--pc-brand); box-shadow: 0 0 0 3px rgb(31 93 78 / 0.18); }
.pc-hint { margin: 0.25rem 0 0; color: var(--pc-muted); font-size: 0.75rem; }
.pc-check { display: flex; gap: 0.5rem; align-items: center; color: var(--pc-body); font-size: 0.875rem; }
.pc-check input { accent-color: var(--pc-brand); }
.pc-check--consent { align-items: flex-start; margin-bottom: 0.75rem; font-size: 0.8125rem; line-height: 1.4; text-align: left; }
.pc-check--consent input { margin-top: 0.2rem; flex-shrink: 0; }
.pc-hp { position: absolute; left: -9999px; }
.pc-form .pc-button { width: 100%; border: 0; cursor: pointer; font-family: inherit; }

.pc-alert { margin-bottom: 1rem; padding: 0.75rem 1rem; border-radius: var(--pc-radius-sm); font-size: 0.875rem; }
.pc-alert--error { background: #fef2f2; color: #b91c1c; }
.pc-alert--success { background: #f0fdf4; color: #166534; }

/* Auth pages: centered card like the webinar join page (max-w-md) */
.pc-auth {
	box-sizing: border-box;
	width: 100%;
	max-width: 28rem;
	margin-inline: auto;
	padding: 1.5rem;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	box-shadow: var(--pc-shadow);
}
/* Doubled class: beats the constrained layout's content-size max-width. */
.pc-auth.pc-auth { max-width: 28rem; }
.pc-auth__title { margin: 0; color: var(--pc-text); font-family: var(--pc-serif); font-size: 2rem; font-weight: 400; line-height: 1.2; }
.pc-auth__subtitle { margin: 0.25rem 0 1rem; color: var(--pc-muted); font-size: 0.875rem; }
.pc-auth__footer { margin: 1rem 0 0; color: var(--pc-muted); font-size: 0.875rem; text-align: center; }

/* Account */
.pc-account { display: flex; flex-direction: column; gap: 1rem; }
.pc-panel {
	padding: 1.5rem;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	box-shadow: var(--pc-shadow);
}
.pc-panel > :last-child { margin-bottom: 0; }
.pc-panel__title { margin: 0 0 0.75rem; color: var(--pc-text); font-family: var(--pc-serif); font-size: 1.5rem; font-weight: 400; }
.pc-panel__subtitle { margin: 1.25rem 0 0.5rem; font-size: 0.875rem; font-weight: 600; }
.pc-panel p { font-size: 0.875rem; }
.pc-list { margin: 0; padding-left: 1.1rem; font-size: 0.875rem; }
.pc-dl { display: grid; gap: 0.75rem; margin: 0 0 1rem; font-size: 0.875rem; }
.pc-dl dt { color: var(--pc-muted); font-size: 0.75rem; }
.pc-dl dd { margin: 0; }

/* Header account link */
.pc-account-link { display: flex; gap: 1rem; align-items: center; font-size: 0.875rem; }
.pc-account-link__login { color: inherit; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.pc-account-link__login:hover { color: var(--pc-accent); }
/* In the dark header the secondary button is outlined in white, like "Mă înscriu". */
.site-header .pc-button--secondary { border-color: rgb(255 255 255 / 0.85); color: #fff !important; }
.site-header .pc-button--secondary:hover { background: #fff; color: var(--pc-brand-dark) !important; }

/* Locked lessons */
.pc-lesson.is-locked .pc-lesson__icon {
	background-color: var(--pc-surface);
	background-size: 0.75rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
}
.pc-lesson.is-locked .pc-lesson__title { color: var(--pc-muted); }

.pc-locked {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	padding: 2rem 1.5rem;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	box-shadow: var(--pc-shadow);
	text-align: center;
}
.pc-locked__icon {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--pc-accent-soft) center / 1.1rem no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E");
}
.pc-locked__title { margin: 0.25rem 0 0; font-size: 1.125rem; font-weight: 600; }
.pc-locked__text { max-width: 28rem; margin: 0 0 0.5rem; color: var(--pc-muted); font-size: 0.875rem; }

.pc-video__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	background: rgb(18 51 41 / 0.9);
	color: #fff;
	text-align: center;
}
.pc-video__overlay[hidden] { display: none; }
.pc-video__overlay p { margin: 0; font-weight: 600; }

/* Pricing */
.pc-plans { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.pc-plan {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.5rem;
	border: 1px solid var(--pc-border);
	border-radius: var(--pc-radius);
	background: var(--pc-bg);
	box-shadow: var(--pc-shadow);
}
.pc-plan--featured { border-color: var(--pc-accent); box-shadow: 0 0 0 1px var(--pc-accent), var(--pc-shadow-lg); }
.pc-plan__head { display: flex; gap: 0.5rem; align-items: center; justify-content: space-between; }
.pc-plan__title { margin: 0; color: var(--pc-text); font-family: var(--pc-serif); font-size: 1.5rem; font-weight: 400; }
.pc-plan__price { margin: 0.5rem 0 0; color: var(--pc-text); font-family: var(--pc-serif); font-size: 2.5rem; font-weight: 400; line-height: 1.1; }
.pc-plan__price span { color: var(--pc-muted); font-size: 0.875rem; font-weight: 400; }
.pc-plan__note { margin: 0; color: var(--pc-muted); font-size: 0.875rem; }
.pc-plan__features { flex: 1; margin: 1rem 0; padding: 0; list-style: none; font-size: 0.875rem; }
.pc-plan__features li { display: flex; gap: 0.5rem; padding: 0.3rem 0; color: var(--pc-body); }
.pc-plan__features li::before { content: "✓"; color: var(--pc-brand); font-weight: 600; }
.pc-plan form .pc-button,
.pc-plan .pc-button { width: 100%; box-sizing: border-box; border: 0; cursor: pointer; font-family: inherit; }
.pc-plan .pc-button.pc-button--secondary { border: 1.5px solid var(--pc-brand-dark); }
.pc-button.is-disabled { opacity: 0.5; cursor: not-allowed; }
.pc-plans__footer { margin-top: 1.5rem; color: var(--pc-muted); font-size: 0.75rem; text-align: center; }

/* Billing form */
.pc-details summary { display: flex; gap: 1rem; justify-content: space-between; cursor: pointer; font-size: 0.875rem; list-style: none; }
.pc-details summary::-webkit-details-marker { display: none; }
.pc-details__toggle { color: var(--pc-brand); white-space: nowrap; }
.pc-details[open] summary { margin-bottom: 1rem; }
.pc-form__full { grid-column: 1 / -1; }
.pc-account .pc-form .pc-button { width: auto; align-self: flex-start; }

/* Progress */
.pc-progress { display: flex; flex-direction: column; gap: 0.35rem; }
.pc-progress__label { display: flex; justify-content: space-between; color: var(--pc-muted); font-size: 0.75rem; }
.pc-progress__track { overflow: hidden; height: 0.375rem; border-radius: 999px; background: var(--pc-surface); }
.pc-progress__track span { display: block; height: 100%; border-radius: inherit; background: var(--pc-brand); }
.pc-card .pc-progress { margin-top: 0.25rem; }
.pc-sidebar .pc-progress { margin-bottom: 1rem; }

.pc-lesson.is-done .pc-lesson__icon {
	background-color: #dcfce7;
	background-size: 0.75rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");
}

.pc-complete {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: flex-end;
	margin-top: 2rem;
}
.pc-complete .pc-button { border: 0; cursor: pointer; font-family: inherit; }
.pc-complete .pc-button--secondary { border: 1.5px solid var(--pc-brand-dark); }
.pc-complete__status { color: #16a34a; font-size: 0.875rem; font-weight: 500; }
.pc-complete__status::before { content: "✓ "; }

/* Cursurile mele */
.pc-my-courses { margin: 0; padding: 0; list-style: none; }
.pc-my-course { display: flex; gap: 1rem; align-items: center; padding: 0.75rem 0; }
.pc-my-course + .pc-my-course { border-top: 1px solid var(--pc-border); }
.pc-my-course__info { display: flex; flex: 1; flex-direction: column; gap: 0.25rem; min-width: 0; font-size: 0.875rem; }
.pc-my-course__title { color: var(--pc-text); font-family: var(--pc-serif); font-size: 1.25rem; }
.pc-my-course .pc-progress { max-width: 20rem; margin-top: 0.25rem; }
.pc-lesson .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Voucher */
.pc-voucher { display: flex; gap: 0.5rem; max-width: 26rem; }
.pc-voucher .pc-input { text-transform: uppercase; letter-spacing: 0.05em; }
.pc-voucher .pc-button { flex: none; border: 0; cursor: pointer; font-family: inherit; }
.pc-panel .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Small screens: one compact button in the header (the login link is on the register page too). */
@media (max-width: 600px) {
	.site-header .pc-account-link__login { display: none; }
	.site-header .pc-button { padding: 0.5rem 0.75rem; font-size: 0.7rem; letter-spacing: 0.08em; white-space: nowrap; }
	.site-header .wp-block-site-title { font-size: 1.1rem; line-height: 1.2; }
}
