/**
 * Peer-to-Peer Fundraising — frontend styles.
 *
 * Uses the existing --ldp-primary-color CSS variable set by the plugin
 * so the P2P UI inherits the site's theme color.
 */

.ldp-p2p { padding: 40px 0; }

/* Hero -------------------------------------------------------------- */
.ldp-p2p__banner {
	height: 320px;
	background-size: cover;
	background-position: center center;
	margin-bottom: 30px;
}
.ldp-p2p__hero {
	display: flex;
	gap: 24px;
	align-items: center;
	margin-bottom: 32px;
}
.ldp-p2p__hero--team { display: block; text-align: center; }
.ldp-p2p__photo img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	border-radius: 50%;
	border: 4px solid var(--ldp-primary-color, #2f88e4);
}
.ldp-p2p__title {
	margin: 0 0 6px;
	font-size: 32px;
	line-height: 1.2;
}
.ldp-p2p__byline {
	margin: 0 0 4px;
	color: #666;
	font-size: 15px;
}
.ldp-p2p__parent-link {
	color: var(--ldp-primary-color, #2f88e4);
	font-weight: 600;
	text-decoration: none;
}
.ldp-p2p__team-badge {
	margin: 6px 0 0;
	display: inline-block;
	padding: 4px 12px;
	background: #f3f5f8;
	border-radius: 20px;
	font-size: 13px;
}
.ldp-p2p__captain { margin-top: 8px; color: #555; }

/* Story / body ------------------------------------------------------ */
.ldp-p2p__story {
	font-size: 16px;
	line-height: 1.7;
	color: #333;
}
.ldp-p2p__section-title {
	margin: 36px 0 16px;
	font-size: 22px;
}
.ldp-p2p__empty {
	padding: 20px;
	background: #f9f9f9;
	border: 1px dashed #ddd;
	text-align: center;
	color: #777;
}

/* Aside / progress / donate ---------------------------------------- */
.ldp-p2p__aside {
	background: #fff;
	padding: 24px;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.ldp-p2p__disclaimer {
	margin-top: 14px;
	color: #666;
	font-size: 13px;
	line-height: 1.5;
}

/* Progress bar partial --------------------------------------------- */
.ldp-p2p-progress { margin-bottom: 20px; }
.ldp-p2p-progress__amounts {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.ldp-p2p-progress__amounts strong {
	display: block;
	font-size: 20px;
	color: #222;
}
.ldp-p2p-progress__amounts small {
	display: block;
	font-size: 12px;
	color: #777;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ldp-p2p-progress__goal { text-align: right; }
.ldp-p2p-progress__bar {
	position: relative;
	height: 10px;
	background: #eef1f4;
	border-radius: 8px;
	overflow: hidden;
}
.ldp-p2p-progress__fill {
	height: 100%;
	background: var(--ldp-primary-color, #2f88e4);
	transition: width 0.6s ease;
}
.ldp-p2p-progress__pct {
	margin-top: 6px;
	font-size: 12px;
	color: #666;
	text-align: right;
}

/* Donate button ---------------------------------------------------- */
.ldp-p2p-donate { margin-top: 16px; }
.ldp-p2p-donate__btn {
	display: block;
	width: 100%;
	padding: 14px 20px;
	background: var(--ldp-primary-color, #2f88e4);
	color: #fff !important;
	text-align: center;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none !important;
	transition: opacity 0.2s ease, transform 0.1s ease;
}
.ldp-p2p-donate__btn:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

/* Start Fundraising button on project ------------------------------ */
.ldp-p2p-start {
	margin: 30px 0;
	text-align: center;
}
.ldp-p2p-start__btn {
	display: inline-block;
	padding: 12px 28px;
	background: transparent;
	color: var(--ldp-primary-color, #2f88e4) !important;
	border: 2px solid var(--ldp-primary-color, #2f88e4);
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.2s ease, color 0.2s ease;
}
.ldp-p2p-start__btn:hover {
	background: var(--ldp-primary-color, #2f88e4);
	color: #fff !important;
}

/* Team members list ------------------------------------------------ */
.ldp-p2p__members {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 16px;
}
.ldp-p2p__member {
	display: flex;
	gap: 12px;
	padding: 14px;
	background: #fafbfc;
	border-radius: 8px;
	align-items: center;
}
.ldp-p2p__member-photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.ldp-p2p__member-body { flex: 1; min-width: 0; }
.ldp-p2p__member-name {
	display: block;
	font-weight: 600;
	color: #222;
	text-decoration: none;
	margin-bottom: 4px;
}
.ldp-p2p__member-amounts {
	font-size: 13px;
	color: #555;
	margin-bottom: 6px;
}
.ldp-p2p__member-bar { height: 6px; }

/* Leaderboard ------------------------------------------------------ */
.ldp-p2p-leaderboard {
	margin: 36px 0;
	padding: 24px;
	background: #f9fafc;
	border-radius: 8px;
}
.ldp-p2p-leaderboard__title {
	margin: 0 0 18px;
	font-size: 20px;
}
.ldp-p2p-leaderboard__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ldp-p2p-leaderboard__item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #eaeef2;
}
.ldp-p2p-leaderboard__item:last-child { border-bottom: none; }
.ldp-p2p-leaderboard__rank {
	width: 36px;
	font-weight: 700;
	color: var(--ldp-primary-color, #2f88e4);
}
.ldp-p2p-leaderboard__photo {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}
.ldp-p2p-leaderboard__info { flex: 1; }
.ldp-p2p-leaderboard__name {
	display: block;
	font-weight: 600;
	color: #222;
	text-decoration: none;
}
.ldp-p2p-leaderboard__amount { font-size: 13px; color: #555; }
.ldp-p2p-leaderboard__amount small { color: #999; }

/* Small viewports -------------------------------------------------- */
@media (max-width: 768px) {
	.ldp-p2p__hero { flex-direction: column; text-align: center; }
	.ldp-p2p__photo img { width: 130px; height: 130px; }
	.ldp-p2p__title { font-size: 26px; }
	.ldp-p2p__banner { height: 200px; }
}

/* Status banner ---------------------------------------------------- */
.ldp-p2p__status-banner {
	padding: 14px 18px;
	margin: 0 0 20px;
	border-radius: 6px;
	background: #fff8e1;
	border: 1px solid #f0d27e;
	color: #5b4a16;
	font-size: 14px;
}
.ldp-p2p__status-banner.status-draft { background: #f3f4f6; border-color: #d5d7db; color: #4b5563; }

/* Donor list ------------------------------------------------------- */
.ldp-p2p-donors {
	margin: 30px 0;
	padding: 20px;
	background: #fff;
	border: 1px solid #eaeef2;
	border-radius: 8px;
}
.ldp-p2p-donors__title { margin: 0 0 14px; font-size: 18px; }
.ldp-p2p-donors__list { list-style: none; margin: 0; padding: 0; }
.ldp-p2p-donors__item {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 4px 12px;
	padding: 10px 0;
	border-bottom: 1px solid #f1f3f6;
}
.ldp-p2p-donors__item:last-child { border-bottom: 0; }
.ldp-p2p-donors__name   { font-weight: 600; color: #222; }
.ldp-p2p-donors__amount { color: var(--ldp-primary-color, #2f88e4); font-weight: 600; }
.ldp-p2p-donors__msg    { grid-column: 1 / -1; margin: 4px 0 0; font-size: 13px; color: #555; }
.ldp-p2p-donors__date   { grid-column: 1 / -1; font-size: 12px; color: #999; }

/* Wizard form ------------------------------------------------------ */
.ldp-p2p-wizard {
	max-width: 720px;
	margin: 30px auto;
	padding: 30px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.06);
}
.ldp-p2p-wizard__title { margin: 0 0 8px; font-size: 26px; }
.ldp-p2p-wizard__notice {
	margin: 0 0 22px;
	padding: 12px 14px;
	background: #eef6ff;
	border: 1px solid #cfe2fa;
	border-radius: 6px;
	color: #1e3a5f;
	font-size: 14px;
}
.ldp-p2p-wizard__group {
	border: 0;
	padding: 0;
	margin: 0 0 28px;
}
.ldp-p2p-wizard__group legend {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	color: #222;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.ldp-p2p-wizard__form label {
	display: block;
	margin-bottom: 16px;
	font-size: 14px;
	color: #333;
}
.ldp-p2p-wizard__form input[type="text"],
.ldp-p2p-wizard__form input[type="email"],
.ldp-p2p-wizard__form input[type="number"],
.ldp-p2p-wizard__form input[type="file"],
.ldp-p2p-wizard__form select,
.ldp-p2p-wizard__form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 10px 12px;
	font-size: 15px;
	border: 1px solid #d5dbe1;
	border-radius: 6px;
	background: #fff;
	box-sizing: border-box;
}
.ldp-p2p-wizard__form textarea { font-family: inherit; resize: vertical; }
.ldp-p2p-wizard__form small {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: #777;
}
.ldp-p2p-wizard__check {
	display: flex !important;
	align-items: center;
	gap: 8px;
}
.ldp-p2p-wizard__check input { margin: 0 !important; width: auto !important; }
.ldp-p2p-wizard__submit {
	display: inline-block;
	padding: 12px 28px;
	background: var(--ldp-primary-color, #2f88e4);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.ldp-p2p-wizard__submit[disabled] { opacity: 0.6; cursor: wait; }
.ldp-p2p-wizard__feedback {
	margin-top: 16px;
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 14px;
	display: none;
}
.ldp-p2p-wizard__feedback.is-error,
.ldp-p2p-wizard__feedback.is-success {
	display: block;
}
.ldp-p2p-wizard__feedback.is-error   { background: #fdecec; border: 1px solid #f4b9b9; color: #8a1f1f; }
.ldp-p2p-wizard__feedback.is-success { background: #ecfdf3; border: 1px solid #b6e9ca; color: #166534; }

/* My Fundraisers / My Teams ---------------------------------------- */
.ldp-p2p-my { margin: 30px 0; }
.ldp-p2p-my__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}
.ldp-p2p-my__title { margin: 0; font-size: 22px; }
.ldp-p2p-my__create {
	display: inline-block;
	padding: 8px 18px;
	background: var(--ldp-primary-color, #2f88e4);
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	border-radius: 6px;
	text-decoration: none !important;
}
.ldp-p2p-my__create:hover { opacity: 0.92; }
.ldp-p2p-my__list  { list-style: none; margin: 0; padding: 0; }
.ldp-p2p-my__item {
	padding: 18px;
	margin-bottom: 14px;
	background: #fff;
	border: 1px solid #eaeef2;
	border-radius: 8px;
}
.ldp-p2p-my__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}
.ldp-p2p-my__name {
	font-weight: 600;
	font-size: 17px;
	color: #222;
	text-decoration: none;
}
.ldp-p2p-my__status {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 3px 10px;
	border-radius: 20px;
}
.ldp-p2p-my__status.status-publish { background: #d9f7e2; color: #166534; }
.ldp-p2p-my__status.status-pending { background: #fff3cd; color: #856404; }
.ldp-p2p-my__status.status-draft   { background: #e2e8f0; color: #475569; }
.ldp-p2p-my__parent { margin: 0 0 10px; font-size: 13px; color: #666; }
.ldp-p2p-my__amounts strong { font-size: 18px; color: #222; }
.ldp-p2p-my__amounts small  { color: #777; margin-left: 4px; }
.ldp-p2p-my__actions { margin-top: 10px; }
.ldp-p2p-my__actions a {
	font-size: 13px;
	color: var(--ldp-primary-color, #2f88e4);
	text-decoration: none;
}
.ldp-p2p-my__actions a:hover { text-decoration: underline; }

/* My-Account integration panel ------------------------------------- */
.ldp-p2p-account {
	--ldp-pa-primary: var(--ldp-primary-color, #2f88e4);
	--ldp-pa-bg:      #f8fafc;
	--ldp-pa-card:    #ffffff;
	--ldp-pa-border:  #e5e9f0;
	--ldp-pa-text:    #1f2937;
	--ldp-pa-muted:   #6b7280;

	color: var(--ldp-pa-text);
	font-size: 14px;
}
.ldp-p2p-account * { box-sizing: border-box; }

/* Standalone usage (appended after my-account, not a tab): wrap it in a card. */
.ldp-p2p-account:not(.ldp-p2p-account-tab *) {
	margin: 40px 0 0;
	background: var(--ldp-pa-bg);
	border: 1px solid var(--ldp-pa-border);
	border-radius: 14px;
	padding: 28px;
}

/* Inside a Vue tab pane: blend with the surrounding my-account styling. */
.ldp-p2p-account-tab .ldp-p2p-account { margin: 0; }

/* Hero header */
.ldp-p2p-account__hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	margin-bottom: 22px;
}
.ldp-p2p-account__hero-text h2 {
	margin: 0 0 4px;
	font-size: 22px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--ldp-pa-text);
}
.ldp-p2p-account__hero-text h2 .dashicons {
	color: var(--ldp-pa-primary);
	font-size: 22px;
	width: 22px;
	height: 22px;
}
.ldp-p2p-account__hero-text p { margin: 0; color: var(--ldp-pa-muted); font-size: 13px; }
.ldp-p2p-account__hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.ldp-p2p-account__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: opacity 0.15s ease, transform 0.1s ease;
}
.ldp-p2p-account__btn .dashicons { font-size: 16px; width: 16px; height: 16px; }
.ldp-p2p-account__btn--primary {
	background: var(--ldp-pa-primary);
	color: #fff !important;
}
.ldp-p2p-account__btn--primary:hover { opacity: 0.92; transform: translateY(-1px); }
.ldp-p2p-account__btn--ghost {
	background: transparent;
	color: var(--ldp-pa-primary) !important;
	border: 1px solid var(--ldp-pa-primary);
}
.ldp-p2p-account__btn--ghost:hover {
	background: var(--ldp-pa-primary);
	color: #fff !important;
}

/* Stat cards */
.ldp-p2p-account__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin-bottom: 28px;
}
.ldp-p2p-account__stat {
	background: var(--ldp-pa-card);
	border: 1px solid var(--ldp-pa-border);
	border-radius: 10px;
	padding: 14px 18px;
}
.ldp-p2p-account__stat small {
	display: block;
	font-size: 11px;
	color: var(--ldp-pa-muted);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-bottom: 4px;
}
.ldp-p2p-account__stat strong {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--ldp-pa-text);
}
.ldp-p2p-account__stat--warn { background: #fff8e1; border-color: #f0d27e; }
.ldp-p2p-account__stat--warn strong { color: #92400e; }

/* Sections */
.ldp-p2p-account__section { margin-bottom: 24px; }
.ldp-p2p-account__section:last-child { margin-bottom: 0; }
.ldp-p2p-account__section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.ldp-p2p-account__section-head h3 {
	margin: 0;
	font-size: 16px;
	color: var(--ldp-pa-text);
}
.ldp-p2p-account__section-link {
	font-size: 13px;
	color: var(--ldp-pa-primary);
	text-decoration: none;
	font-weight: 500;
}
.ldp-p2p-account__section-link:hover { text-decoration: underline; }

/* Rows */
.ldp-p2p-account__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.ldp-p2p-account__row {
	background: var(--ldp-pa-card);
	border: 1px solid var(--ldp-pa-border);
	border-radius: 10px;
	padding: 14px 18px;
	display: flex;
	gap: 14px;
	align-items: center;
}
.ldp-p2p-account__row-photo {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	object-fit: cover;
	flex-shrink: 0;
	background: #f3f4f6;
}
.ldp-p2p-account__row-photo--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
}
.ldp-p2p-account__row-photo--placeholder .dashicons {
	color: var(--ldp-pa-primary);
	font-size: 24px;
	width: 24px;
	height: 24px;
	opacity: 0.6;
}
.ldp-p2p-account__row-body  { flex: 1; min-width: 0; }
.ldp-p2p-account__row-head  { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 2px; }
.ldp-p2p-account__row-name  {
	font-weight: 600;
	font-size: 15px;
	color: var(--ldp-pa-text);
	text-decoration: none;
}
.ldp-p2p-account__row-name:hover { color: var(--ldp-pa-primary); }
.ldp-p2p-account__row-status {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 2px 8px;
	border-radius: 20px;
}
.ldp-p2p-account__row-status--publish { background: #d9f7e2; color: #166534; }
.ldp-p2p-account__row-status--pending { background: #fff3cd; color: #856404; }
.ldp-p2p-account__row-status--draft   { background: #e5e7eb; color: #4b5563; }
.ldp-p2p-account__badge {
	background: #fff3cd;
	color: #856404;
	padding: 2px 8px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
}
.ldp-p2p-account__row-parent { margin: 0 0 6px; color: var(--ldp-pa-muted); font-size: 12px; }
.ldp-p2p-account__row-amounts { font-size: 13px; margin-bottom: 6px; }
.ldp-p2p-account__row-amounts strong { font-size: 15px; color: var(--ldp-pa-text); }
.ldp-p2p-account__row-amounts small  { color: var(--ldp-pa-muted); }
.ldp-p2p-account__bar {
	height: 5px;
	background: #eef1f4;
	border-radius: 3px;
	overflow: hidden;
}
.ldp-p2p-account__bar-fill {
	height: 100%;
	background: var(--ldp-pa-primary);
	border-radius: 3px;
	transition: width 0.4s ease;
}

/* Row actions */
.ldp-p2p-account__row-actions {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex-shrink: 0;
	font-size: 12px;
}
.ldp-p2p-account__row-actions a {
	color: var(--ldp-pa-primary);
	text-decoration: none;
}
.ldp-p2p-account__row-actions a:hover { text-decoration: underline; }

/* Empty */
.ldp-p2p-account__empty {
	background: var(--ldp-pa-card);
	border: 1px dashed var(--ldp-pa-border);
	border-radius: 10px;
	padding: 28px 20px;
	text-align: center;
	color: var(--ldp-pa-muted);
}
.ldp-p2p-account__empty .dashicons {
	font-size: 28px;
	width: 28px;
	height: 28px;
	color: var(--ldp-pa-primary);
	opacity: 0.55;
	margin-bottom: 8px;
}
.ldp-p2p-account__empty p { margin: 0 0 14px; }

@media (max-width: 600px) {
	.ldp-p2p-account { padding: 18px; }
	.ldp-p2p-account__row { flex-wrap: wrap; }
	.ldp-p2p-account__row-actions { flex-direction: row; width: 100%; margin-top: 8px; gap: 12px; }
}

/* Single team page — Join card ------------------------------------- */
.ldp-p2p__join-card {
	margin-top: 18px;
	padding: 16px 18px;
	background: #f9fafc;
	border: 1px solid #eaeef2;
	border-radius: 8px;
	text-align: center;
}
.ldp-p2p__join-text {
	margin: 0 0 10px;
	font-size: 13px;
	color: #4b5563;
	line-height: 1.5;
}
.ldp-p2p__join-text .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	margin-right: 4px;
}
.ldp-p2p__join-text--ok      { color: #166534; }
.ldp-p2p__join-text--ok .dashicons      { color: #16a34a; }
.ldp-p2p__join-text--pending { color: #92400e; }
.ldp-p2p__join-text--pending .dashicons { color: #b45309; }
.ldp-p2p__join-text--full    { color: #4b5563; }
.ldp-p2p__join-text--full .dashicons    { color: #6b7280; }
.ldp-p2p__join-btn { display: inline-block !important; }
.ldp-p2p__join-note {
	display: block;
	margin-top: 6px;
	font-size: 11px;
	color: #6b7280;
}

/* Empty-state with action button (when team has 0 members) */
.ldp-p2p__empty--join {
	padding: 24px;
	background: #f9fafc;
	border: 1px dashed #d5dbe1;
	border-radius: 8px;
	text-align: center;
}
.ldp-p2p__empty--join p:first-child { margin-top: 0; }
.ldp-p2p__notice { margin: 0; color: #6b7280; font-size: 13px; }

/* ===================================================================
 * Single fundraiser page — modern crowdfunding layout
 * =================================================================== */
.ldp-fr {
	--ldp-fr-primary: var(--ldp-primary-color, #2f88e4);
	--ldp-fr-accent:  color-mix(in srgb, var(--ldp-fr-primary) 70%, #8b5cf6);
	--ldp-fr-bg:      #f8fafc;
	--ldp-fr-card:    #ffffff;
	--ldp-fr-border:  #e5e9f0;
	--ldp-fr-text:    #1f2937;
	--ldp-fr-muted:   #6b7280;
	--ldp-fr-soft:    #f3f4f6;

	background: var(--ldp-fr-bg);
	color: var(--ldp-fr-text);
	font-size: 15px;
	padding: 0 0 60px;
}
.ldp-fr * { box-sizing: border-box; }

.ldp-fr__container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
}

/* Status banner (pending visibility) */
.ldp-fr__status {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	margin: 24px 0;
	border-radius: 10px;
	background: #fff8e1;
	border: 1px solid #f0d27e;
	color: #5b4a16;
	font-size: 14px;
}
.ldp-fr__status .dashicons { color: #b45309; }
.ldp-fr__status.status-draft { background: #f3f4f6; border-color: #d5d7db; color: #4b5563; }

/* Hero --------------------------------------------------------------- */
.ldp-fr__hero {
	position: relative;
	margin-top: 24px;
	margin-bottom: 32px;
}
.ldp-fr__cover {
	height: 280px;
	border-radius: 16px;
	background-color: var(--ldp-fr-primary);
	background-image: linear-gradient(135deg, var(--ldp-fr-primary) 0%, var(--ldp-fr-accent) 100%);
	background-size: cover;
	background-position: center;
	position: relative;
}
.ldp-fr__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 16px;
	background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.35) 100%);
}
.ldp-fr__hero-inner {
	display: flex;
	align-items: flex-end;
	gap: 24px;
	margin-top: -95px;
	padding: 0 20px;
	position: relative;
	z-index: 1;
}
.ldp-fr--no-cover .ldp-fr__hero-inner { margin-top: 0; padding: 0; }

.ldp-fr__avatar {
	width: 140px;
	height: 140px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #fff;
	padding: 5px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}
.ldp-fr__avatar img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}
.ldp-fr__hero-text {
	flex: 1;
	padding-bottom: 60px;
	min-width: 0;
}
.ldp-fr__crumbs {
	margin: 0 0 6px;
	font-size: 13px;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.ldp-fr__crumbs a {
	color: #fff !important;
	text-decoration: underline;
	font-weight: 600;
}
.ldp-fr__title {
	margin: 0 0 6px;
	font-size: 32px;
	line-height: 1.15;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}
.ldp-fr__byline {
	margin: 0;
	font-size: 14px;
	color: #fff;
	text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.ldp-fr__byline strong { color: #fff; }
.ldp-fr__team-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 6px 14px;
	background: rgba(255,255,255,0.95);
	color: var(--ldp-fr-text) !important;
	border-radius: 999px;
	font-size: 13px;
	text-decoration: none;
	font-weight: 500;
}
.ldp-fr__team-badge:hover { background: #fff; }
.ldp-fr__team-badge .dashicons {
	color: var(--ldp-fr-primary);
	font-size: 16px;
	width: 16px;
	height: 16px;
}
.ldp-fr__team-badge strong { color: var(--ldp-fr-primary); }

/* Layout ------------------------------------------------------------- */
.ldp-fr__grid {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 32px;
	align-items: start;
}
@media (max-width: 960px) {
	.ldp-fr__grid { grid-template-columns: 1fr; }
}

.ldp-fr__main { min-width: 0; }
.ldp-fr__sidebar { position: sticky; top: 24px; }
@media (max-width: 960px) {
	.ldp-fr__sidebar { position: static; order: -1; }
}

/* Share buttons ------------------------------------------------------ */
.ldp-fr__share {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.ldp-fr__share-label {
	font-size: 13px;
	color: var(--ldp-fr-muted);
	margin-right: 4px;
}
.ldp-fr__share-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ldp-fr-border);
	background: var(--ldp-fr-card);
	color: var(--ldp-fr-muted);
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.1s ease, box-shadow 0.15s ease, color 0.15s ease, background 0.15s ease;
}
.ldp-fr__share-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,0.08); }
.ldp-fr__share-btn--fb:hover { background: #1877f2; color: #fff; border-color: #1877f2; }
.ldp-fr__share-btn--tw:hover { background: #1da1f2; color: #fff; border-color: #1da1f2; }
.ldp-fr__share-btn--wa:hover { background: #25d366; color: #fff; border-color: #25d366; }
.ldp-fr__share-btn--em:hover { background: #6b7280; color: #fff; border-color: #6b7280; }
.ldp-fr__share-btn--copy:hover { background: var(--ldp-fr-primary); color: #fff; border-color: var(--ldp-fr-primary); }
.ldp-fr__share-btn--copy.is-copied { background: #16a34a; color: #fff; border-color: #16a34a; }

/* Story -------------------------------------------------------------- */
.ldp-fr__story {
	background: var(--ldp-fr-card);
	border: 1px solid var(--ldp-fr-border);
	border-radius: 14px;
	padding: 28px 32px;
	margin-bottom: 24px;
	line-height: 1.7;
}
.ldp-fr__story p { margin: 0 0 14px; color: #374151; }
.ldp-fr__story p:last-child { margin-bottom: 0; }
.ldp-fr__story img { max-width: 100%; height: auto; border-radius: 8px; }
.ldp-fr__section-title {
	margin: 0 0 18px;
	font-size: 19px;
	color: var(--ldp-fr-text);
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.ldp-fr__supporter-count {
	font-size: 13px;
	color: var(--ldp-fr-muted);
	font-weight: 400;
}

/* Supporters card */
.ldp-fr__supporters {
	background: var(--ldp-fr-card);
	border: 1px solid var(--ldp-fr-border);
	border-radius: 14px;
	padding: 28px 32px;
}
.ldp-fr__supporters .ldp-p2p-donors {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}
.ldp-fr__supporters .ldp-p2p-donors__title { display: none; }

/* Donate card -------------------------------------------------------- */
.ldp-fr__card {
	background: var(--ldp-fr-card);
	border: 1px solid var(--ldp-fr-border);
	border-radius: 14px;
	padding: 24px;
	box-shadow: 0 6px 24px -8px rgba(0,0,0,0.08);
}
.ldp-fr__raised { margin-bottom: 14px; }
.ldp-fr__raised-amount {
	display: block;
	font-size: 32px;
	line-height: 1.1;
	color: var(--ldp-fr-text);
	font-weight: 700;
}
.ldp-fr__raised-label {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--ldp-fr-muted);
}
.ldp-fr__bar {
	height: 8px;
	background: var(--ldp-fr-soft);
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 6px;
}
.ldp-fr__bar-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--ldp-fr-primary), var(--ldp-fr-accent));
	border-radius: 6px;
	transition: width 0.6s ease;
}
.ldp-fr__pct {
	font-size: 12px;
	color: var(--ldp-fr-primary);
	font-weight: 600;
	text-align: right;
	margin-bottom: 16px;
}
.ldp-fr__donor-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	background: var(--ldp-fr-soft);
	border-radius: 999px;
	font-size: 13px;
	color: var(--ldp-fr-muted);
	margin-bottom: 16px;
}
.ldp-fr__donor-pill .dashicons {
	color: #ec4899;
	font-size: 14px;
	width: 14px;
	height: 14px;
}

/* The donate button is rendered inside ldp-p2p-donate / ldp-p2p-donate__btn
   already; we just upgrade its appearance here when inside the donate card. */
.ldp-fr__donate-card .ldp-p2p-donate { margin-top: 0; }
.ldp-fr__donate-card .ldp-p2p-donate__btn {
	padding: 16px 20px;
	font-size: 16px;
	background: linear-gradient(90deg, var(--ldp-fr-primary), var(--ldp-fr-accent));
	border-radius: 10px;
	box-shadow: 0 6px 16px -4px color-mix(in srgb, var(--ldp-fr-primary) 50%, transparent);
}

.ldp-fr__disclaimer {
	margin: 18px 0 0;
	padding: 12px 14px;
	background: color-mix(in srgb, var(--ldp-fr-primary) 8%, var(--ldp-fr-card));
	border-radius: 8px;
	font-size: 12px;
	color: var(--ldp-fr-text);
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
.ldp-fr__disclaimer .dashicons {
	color: var(--ldp-fr-primary);
	font-size: 16px;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

/* Mobile tweaks ------------------------------------------------------ */
@media (max-width: 720px) {
	.ldp-fr__cover { height: 180px; }
	.ldp-fr__hero-inner { flex-direction: column; align-items: center; text-align: center; margin-top: -95px; }
	.ldp-fr__hero-text { text-align: center; }
	.ldp-fr__avatar { width: 110px; height: 110px; }
	.ldp-fr__title { font-size: 24px; }
	.ldp-fr__story,
	.ldp-fr__supporters,
	.ldp-fr__card { padding: 20px; }
}

/* Login prompt ----------------------------------------------------- */
.ldp-p2p__login-prompt {
	padding: 14px 18px;
	background: #f9fafc;
	border-radius: 6px;
	text-align: center;
}

/* Donor list — Load more ------------------------------------------- */
.ldp-p2p-donors__load-more {
	display: block;
	margin: 16px auto 0;
	padding: 8px 22px;
	background: #fff;
	color: var(--ldp-primary-color, #2f88e4);
	border: 1px solid var(--ldp-primary-color, #2f88e4);
	border-radius: 6px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.ldp-p2p-donors__load-more:hover {
	background: var(--ldp-primary-color, #2f88e4);
	color: #fff;
}
.ldp-p2p-donors__load-more[disabled] { opacity: 0.6; cursor: wait; }

/* Manage team UI --------------------------------------------------- */
.ldp-p2p-manage {
	max-width: 820px;
	margin: 30px auto;
	padding: 28px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 6px 28px rgba(0, 0, 0, 0.06);
}
.ldp-p2p-manage__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.ldp-p2p-manage__title { margin: 0; font-size: 24px; }
.ldp-p2p-manage__sub   { margin: 4px 0 0; color: #666; font-size: 14px; }
.ldp-p2p-manage__head-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ldp-p2p-manage__link {
	font-size: 13px;
	color: var(--ldp-primary-color, #2f88e4);
	text-decoration: none;
}
.ldp-p2p-manage__link:hover { text-decoration: underline; }

.ldp-p2p-manage__section { margin-top: 28px; }
.ldp-p2p-manage__section h3 { margin: 0 0 14px; font-size: 16px; }
.ldp-p2p-manage__list { list-style: none; margin: 0; padding: 0; }
.ldp-p2p-manage__row {
	display: flex;
	gap: 14px;
	align-items: center;
	padding: 12px 14px;
	margin-bottom: 8px;
	background: #fafbfc;
	border: 1px solid #eef1f4;
	border-radius: 8px;
}
.ldp-p2p-manage__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
}
.ldp-p2p-manage__row-body  { flex: 1; min-width: 0; }
.ldp-p2p-manage__row-name  { display: block; font-weight: 600; color: #222; text-decoration: none; }
.ldp-p2p-manage__row-body small { color: #666; font-size: 12px; }
.ldp-p2p-manage__row-actions   { display: flex; gap: 8px; }
.ldp-p2p-manage__btn {
	padding: 6px 14px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	border: 1px solid transparent;
	cursor: pointer;
}
.ldp-p2p-manage__btn--approve { background: #16a34a; color: #fff; border-color: #16a34a; }
.ldp-p2p-manage__btn--reject  { background: transparent; color: #666; border-color: #d5d7db; }
.ldp-p2p-manage__btn--remove  { background: transparent; color: #b91c1c; border-color: #f4b9b9; }
.ldp-p2p-manage__btn:hover    { opacity: 0.92; }
.ldp-p2p-manage__btn[disabled]{ opacity: 0.5; cursor: wait; }

.ldp-p2p-manage__feedback {
	margin-top: 18px;
	padding: 10px 14px;
	border-radius: 6px;
	font-size: 14px;
	display: none;
}
.ldp-p2p-manage__feedback.is-error,
.ldp-p2p-manage__feedback.is-success { display: block; }
.ldp-p2p-manage__feedback.is-error   { background: #fdecec; border: 1px solid #f4b9b9; color: #8a1f1f; }
.ldp-p2p-manage__feedback.is-success { background: #ecfdf3; border: 1px solid #b6e9ca; color: #166534; }
