/* =========================================================
   WEDORA - COUPLE DASHBOARD
========================================================= */

.wc-couple-dashboard {
	--wedora-bg: #f8f6f3;
	--wedora-card: #ffffff;
	--wedora-text: #292725;
	--wedora-muted: #8b8580;
	--wedora-border: #ebe6e1;
	--wedora-accent: #b88978;
	--wedora-accent-light: #f3e8e3;
	--wedora-success: #668b73;
	--wedora-warning: #b78a54;
	--wedora-danger: #b86b68;

	background: var(--wedora-bg);
	color: var(--wedora-text);
	min-height: 100vh;
}


/* =========================================================
   OVERVIEW
========================================================= */

.wc-couple-overview {
	max-width: 1380px;
	margin: 0 auto;
	padding: 42px 48px 70px;
}


/* =========================================================
   HERO
========================================================= */

.wc-couple-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;

	position: relative;
	overflow: hidden;

	margin-bottom: 42px;
	padding: 48px 54px;

	border-radius: 24px;

	background:
		linear-gradient(
			135deg,
			#fffdfb 0%,
			#f5ebe6 100%
		);

	border: 1px solid var(--wedora-border);
}


.wc-couple-hero__content {
	max-width: 700px;
	position: relative;
	z-index: 2;
}


.wc-couple-hero__eyebrow {
	display: block;

	margin-bottom: 12px;

	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;

	color: var(--wedora-accent);
}


.wc-couple-hero h1 {
	margin: 0 0 16px;

	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.08;
	font-weight: 500;
	letter-spacing: -1.5px;
}


.wc-couple-hero h1 span {
	color: var(--wedora-accent);
}


.wc-couple-hero p {
	max-width: 620px;

	margin: 0;

	font-size: 16px;
	line-height: 1.8;

	color: var(--wedora-muted);
}


.wc-couple-hero__heart {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 130px;
	height: 130px;

	flex: 0 0 130px;

	border-radius: 50%;

	background: rgba(255, 255, 255, .72);

	box-shadow:
		0 20px 50px rgba(60, 40, 30, .08);
}


.wc-couple-hero__heart span {
	font-size: 58px;
	color: var(--wedora-accent);
}


/* =========================================================
   SECTIONS
========================================================= */

.wc-couple-section {
	margin-bottom: 38px;
}


.wc-couple-section__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;

	margin-bottom: 18px;
}


.wc-couple-section__eyebrow {
	display: block;

	margin-bottom: 5px;

	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;

	color: var(--wedora-accent);
}


.wc-couple-section__heading h2 {
	margin: 0;

	font-size: 27px;
	font-weight: 500;
	letter-spacing: -.5px;
}


.wc-couple-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: var(--wedora-accent);

	font-size: 13px;
	font-weight: 600;

	text-decoration: none;

	transition: gap .2s ease;
}


.wc-couple-link:hover {
	gap: 12px;
	color: var(--wedora-text);
}


/* =========================================================
   WEDDING CARD
========================================================= */

.wc-couple-wedding-card {
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: 30px;

	padding: 30px;

	background: var(--wedora-card);

	border: 1px solid var(--wedora-border);
	border-radius: 20px;

	box-shadow:
		0 10px 35px rgba(50, 40, 30, .035);
}


.wc-couple-wedding-card__names {
	display: flex;
	align-items: center;
	gap: 18px;

	padding: 10px;
}


.wc-couple-ring {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 62px;
	height: 62px;

	flex: 0 0 62px;

	border-radius: 50%;

	background: var(--wedora-accent-light);

	color: var(--wedora-accent);

	font-size: 27px;
}


.wc-couple-wedding-card__names span,
.wc-couple-detail span {
	display: block;

	margin-bottom: 6px;

	font-size: 11px;
	font-weight: 600;
	letter-spacing: .7px;
	text-transform: uppercase;

	color: var(--wedora-muted);
}


.wc-couple-wedding-card__names h3 {
	margin: 0;

	font-size: 23px;
	font-weight: 500;
}


.wc-couple-wedding-card__details {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}


.wc-couple-detail {
	display: flex;
	align-items: center;
	gap: 12px;

	padding: 18px;

	border-radius: 14px;

	background: #faf8f6;
}


.wc-couple-detail__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 40px;
	height: 40px;

	flex: 0 0 40px;

	border-radius: 11px;

	background: #fff;

	font-size: 17px;
}


.wc-couple-detail strong {
	display: block;

	font-size: 14px;
	font-weight: 600;

	color: var(--wedora-text);
}


/* =========================================================
   STATS
========================================================= */

.wc-couple-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;

	margin-bottom: 42px;
}


.wc-couple-stat-card {
	display: flex;
	align-items: center;
	gap: 15px;

	padding: 22px;

	background: var(--wedora-card);

	border: 1px solid var(--wedora-border);
	border-radius: 18px;
}


.wc-couple-stat-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	flex: 0 0 46px;

	border-radius: 13px;

	background: var(--wedora-accent-light);

	color: var(--wedora-accent);

	font-size: 20px;
}


.wc-couple-stat-card strong {
	display: block;

	margin-bottom: 4px;

	font-size: 23px;
	font-weight: 600;
}


.wc-couple-stat-card span {
	display: block;

	font-size: 11px;

	color: var(--wedora-muted);
}


/* =========================================================
   EMPTY STATE
========================================================= */

.wc-couple-empty {
	padding: 55px 30px;

	text-align: center;

	background: var(--wedora-card);

	border: 1px solid var(--wedora-border);
	border-radius: 20px;
}


.wc-couple-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 62px;
	height: 62px;

	margin: 0 auto 18px;

	border-radius: 50%;

	background: var(--wedora-accent-light);

	color: var(--wedora-accent);

	font-size: 27px;
}


.wc-couple-empty h3 {
	margin: 0 0 8px;

	font-size: 20px;
	font-weight: 500;
}


.wc-couple-empty p {
	max-width: 480px;

	margin: 0 auto 24px;

	font-size: 14px;
	line-height: 1.7;

	color: var(--wedora-muted);
}


.wc-couple-primary-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	padding: 13px 21px;

	border-radius: 10px;

	background: var(--wedora-text);
	color: #fff;

	font-size: 13px;
	font-weight: 600;

	text-decoration: none;

	transition:
		transform .2s ease,
		background .2s ease;
}


.wc-couple-primary-button:hover {
	transform: translateY(-1px);

	background: var(--wedora-accent);

	color: #fff;
}


/* =========================================================
   BOOKINGS
========================================================= */

.wc-couple-bookings {
	overflow: hidden;

	background: var(--wedora-card);

	border: 1px solid var(--wedora-border);
	border-radius: 20px;
}


.wc-couple-booking {
	display: grid;
	grid-template-columns: 72px 1fr 150px 150px;
	align-items: center;
	gap: 20px;

	padding: 18px 22px;

	border-bottom: 1px solid var(--wedora-border);
}


.wc-couple-booking:last-child {
	border-bottom: 0;
}


.wc-couple-booking__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 54px;
	height: 54px;

	border-radius: 12px;

	background: var(--wedora-accent-light);

	color: var(--wedora-accent);
}


.wc-couple-booking__date span {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
}


.wc-couple-booking__date small {
	margin-top: 3px;

	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
}


.wc-couple-booking__info strong {
	display: block;

	margin-bottom: 4px;

	font-size: 14px;
	font-weight: 600;
}


.wc-couple-booking__info span,
.wc-couple-booking__amount span {
	font-size: 12px;
	color: var(--wedora-muted);
}


.wc-couple-booking__amount {
	text-align: right;
}


.wc-couple-booking__amount strong {
	display: block;

	margin-bottom: 3px;

	font-size: 14px;
}


.wc-couple-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 7px 11px;

	border-radius: 30px;

	font-size: 10px;
	font-weight: 700;

	white-space: nowrap;
}


.wc-couple-status--pending {
	background: #f7eee2;
	color: var(--wedora-warning);
}


.wc-couple-status--confirmed {
	background: #e8f2eb;
	color: var(--wedora-success);
}


.wc-couple-status--completed {
	background: #e8f2eb;
	color: var(--wedora-success);
}


.wc-couple-status--cancelled,
.wc-couple-status--rejected {
	background: #f6e8e7;
	color: var(--wedora-danger);
}


/* =========================================================
   QUICK ACTIONS
========================================================= */

.wc-couple-actions {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}


.wc-couple-action {
	display: grid;
	grid-template-columns: 52px 1fr 25px;
	align-items: center;
	gap: 16px;

	padding: 23px;

	background: var(--wedora-card);

	border: 1px solid var(--wedora-border);
	border-radius: 18px;

	color: var(--wedora-text);
	text-decoration: none;

	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}


.wc-couple-action:hover {
	transform: translateY(-2px);

	border-color: #dfd1ca;

	box-shadow:
		0 12px 30px rgba(50, 40, 30, .06);

	color: var(--wedora-text);
}


.wc-couple-action__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 52px;
	height: 52px;

	border-radius: 14px;

	background: var(--wedora-accent-light);

	color: var(--wedora-accent);

	font-size: 22px;
}


.wc-couple-action strong {
	display: block;

	margin-bottom: 5px;

	font-size: 14px;
	font-weight: 600;
}


.wc-couple-action span {
	display: block;

	font-size: 12px;
	line-height: 1.5;

	color: var(--wedora-muted);
}


.wc-couple-action b {
	font-size: 18px;

	color: var(--wedora-accent);

	text-align: right;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

	.wc-couple-overview {
		padding: 32px;
	}

	.wc-couple-wedding-card {
		grid-template-columns: 1fr;
	}

	.wc-couple-stats {
		grid-template-columns: repeat(2, 1fr);
	}

}


@media (max-width: 760px) {

	.wc-couple-overview {
		padding: 22px 16px 50px;
	}

	.wc-couple-hero {
		padding: 32px 25px;
	}

	.wc-couple-hero__heart {
		display: none;
	}

	.wc-couple-hero h1 {
		font-size: 34px;
	}

	.wc-couple-section__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.wc-couple-wedding-card__details {
		grid-template-columns: 1fr;
	}

	.wc-couple-stats {
		grid-template-columns: 1fr 1fr;
	}

	.wc-couple-booking {
		grid-template-columns: 58px 1fr;
	}

	.wc-couple-booking__amount,
	.wc-couple-booking__status {
		grid-column: 2;
		text-align: left;
	}

	.wc-couple-actions {
		grid-template-columns: 1fr;
	}

}


@media (max-width: 480px) {

	.wc-couple-stats {
		grid-template-columns: 1fr;
	}

	.wc-couple-hero {
		border-radius: 18px;
	}

	.wc-couple-wedding-card {
		padding: 20px;
	}

	.wc-couple-wedding-card__names h3 {
		font-size: 19px;
	}

}

/* =========================================================
   COUPLE DASHBOARD - TOP HEADER
   Same structure as Professional Dashboard
========================================================= */

.wc-couple-sidebar + .wc-dashboard__main .wc-dashboard__header,
.wc-dashboard__main .wc-dashboard__header {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;
	min-height: 100px;
	height: 100px;

	padding: 0 32px;

	background: #ffffff;

	border-bottom: 1px solid #e6e6e6;

	box-sizing: border-box;

	position: relative;
	z-index: 20;
}


/* =========================================================
   LEFT SIDE
========================================================= */

.wc-dashboard__header-left {
	display: flex;
	align-items: center;

	min-width: 0;
}


/* Mobile toggle */

.wc-dashboard__mobile-toggle {
	display: none;
}


/* =========================================================
   SEARCH
========================================================= */

.wc-dashboard__search {
	display: flex;
	align-items: center;
}


.wc-dashboard__search input {
	width: 340px;
	height: 48px;

	padding: 0 18px;

	border: 1px solid #dfe3e8;
	border-radius: 24px;

	background: #f7f8fa;

	color: #26364a;

	font-family: inherit;
	font-size: 13px;

	outline: none;

	box-sizing: border-box;

	transition:
		border-color .2s ease,
		background .2s ease,
		box-shadow .2s ease;
}


.wc-dashboard__search input::placeholder {
	color: #8b94a0;
}


.wc-dashboard__search input:focus {
	background: #ffffff;

	border-color: #c8a05c;

	box-shadow: 0 0 0 3px rgba(200, 160, 92, .10);
}


/* =========================================================
   RIGHT SIDE
========================================================= */

.wc-dashboard__header-right {
	display: flex;
	align-items: center;

	gap: 28px;

	margin-left: auto;
}


/* =========================================================
   NOTIFICATIONS
========================================================= */

.wc-dashboard__notifications {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 24px;
	height: 40px;
}


.wc-dashboard__notification-dot {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 18px;
	height: 18px;

	border-radius: 50%;

	background: #df3030;
	color: #ffffff;

	font-size: 10px;
	font-weight: 700;

	line-height: 1;
}


/* =========================================================
   USER
========================================================= */

.wc-dashboard__user {
	display: flex;
	align-items: center;

	gap: 13px;

	min-width: 130px;
}


.wc-dashboard__user-avatar {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	flex: 0 0 46px;

	border-radius: 50%;

	background: #c19a5b;
	color: #ffffff;

	font-size: 15px;
	font-weight: 600;
}


.wc-dashboard__user-info {
	display: flex;
	flex-direction: column;

	gap: 3px;
}


.wc-dashboard__user-info strong {
	display: block;

	margin: 0;

	color: #182d46;

	font-size: 13px;
	font-weight: 600;

	line-height: 1.2;
}


.wc-dashboard__user-info span {
	display: block;

	color: #8b94a0;

	font-size: 11px;

	line-height: 1.2;
}


/* =========================================================
   COUPLE DASHBOARD MAIN
========================================================= */

.wc-couple-dashboard-page {
	width: 100%;
}


.wc-dashboard__main {
	min-width: 0;
}


/* =========================================================
   CONTENT
========================================================= */

.wc-dashboard__content {
	min-width: 0;
}


/* =========================================================
   DESKTOP
========================================================= */

@media (min-width: 1101px) {

	.wc-dashboard__header {
		margin-left: 0;
	}

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

	.wc-dashboard__header {
		padding: 0 22px;
	}

	.wc-dashboard__search input {
		width: 260px;
	}

	.wc-dashboard__header-right {
		gap: 18px;
	}

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

	.wc-dashboard__header {
		height: 76px;
		min-height: 76px;

		padding: 0 18px;
	}

	.wc-dashboard__search {
		display: none;
	}

	.wc-dashboard__mobile-toggle {
		display: block;
	}

	.wc-dashboard__menu-toggle {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 4px;

		width: 40px;
		height: 40px;

		padding: 8px;

		border: 0;
		border-radius: 8px;

		background: transparent;

		cursor: pointer;
	}

	.wc-dashboard__menu-toggle span {
		display: block;

		width: 22px;
		height: 2px;

		background: #26364a;
		border-radius: 2px;
	}

	.wc-dashboard__header-right {
		gap: 14px;
	}

	.wc-dashboard__user-info {
		display: none;
	}

	.wc-dashboard__user-avatar {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

}
/* =========================================================
   MY WEDDING
========================================================= */

.wc-couple-wedding-page {
	max-width: 1380px;
	margin: 0 auto;
	padding: 42px 48px 70px;
}

.wc-couple-wedding-page__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 28px;
}

.wc-couple-wedding-page__header h1 {
	margin: 0 0 8px;
	font-size: 36px;
	font-weight: 500;
	letter-spacing: -1px;
}

.wc-couple-wedding-page__header p {
	margin: 0;
	max-width: 650px;
	font-size: 14px;
	line-height: 1.7;
	color: var(--wedora-muted);
}

.wc-couple-wedding-page__badge {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: #fff;
	border: 1px solid var(--wedora-border);
	border-radius: 14px;
}

.wc-couple-wedding-page__badge > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--wedora-accent-light);
	color: var(--wedora-accent);
	font-size: 18px;
}

.wc-couple-wedding-page__badge strong,
.wc-couple-wedding-page__badge small {
	display: block;
}

.wc-couple-wedding-page__badge strong {
	font-size: 13px;
	font-weight: 600;
}

.wc-couple-wedding-page__badge small {
	margin-top: 3px;
	font-size: 10px;
	color: var(--wedora-muted);
}

.wc-couple-wedding-notice {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
	padding: 14px 17px;
	background: #edf5ef;
	border: 1px solid #dce9df;
	border-radius: 12px;
	color: var(--wedora-success);
	font-size: 13px;
	font-weight: 600;
}

.wc-couple-wedding-notice span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #dcebe0;
}

.wc-couple-wedding-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(280px, .75fr);
	gap: 20px;
}

.wc-couple-wedding-card,
.wc-couple-countdown-card,
.wc-couple-info-card {
	background: #fff;
	border: 1px solid var(--wedora-border);
	border-radius: 20px;
	box-shadow: 0 10px 35px rgba(50, 40, 30, .035);
}

.wc-couple-wedding-card--main {
	padding: 30px;
}

.wc-couple-wedding-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.wc-couple-card-eyebrow {
	display: block;
	margin-bottom: 6px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--wedora-accent);
}

.wc-couple-wedding-card__top h2 {
	margin: 0;
	font-size: 24px;
	font-weight: 500;
}

.wc-couple-wedding-card__heart {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--wedora-accent-light);
	color: var(--wedora-accent);
	font-size: 18px;
}

.wc-couple-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.wc-couple-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.wc-couple-field--full {
	grid-column: 1 / -1;
}

.wc-couple-field label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .4px;
	color: var(--wedora-text);
}

.wc-couple-field input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--wedora-border);
	border-radius: 11px;
	background: #faf8f6;
	color: var(--wedora-text);
	font-family: inherit;
	font-size: 13px;
	box-sizing: border-box;
	outline: none;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.wc-couple-field input:focus {
	background: #fff;
	border-color: #d8b9ac;
	box-shadow: 0 0 0 3px rgba(184, 137, 120, .10);
}

.wc-couple-form-actions {
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--wedora-border);
}

.wc-couple-save-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 20px;
	border: 0;
	border-radius: 10px;
	background: var(--wedora-text);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}

.wc-couple-save-button:hover {
	background: var(--wedora-accent);
	transform: translateY(-1px);
}

.wc-couple-wedding-side {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.wc-couple-countdown-card {
	padding: 28px;
	text-align: center;
	background: linear-gradient(145deg, #fffdfb 0%, #f4e8e2 100%);
}

.wc-couple-countdown-card .wc-couple-card-eyebrow {
	margin-bottom: 12px;
}

.wc-couple-countdown-card__date {
	display: block;
	font-size: 18px;
	font-weight: 600;
}

.wc-couple-countdown-number {
	margin-top: 18px;
	font-size: 58px;
	line-height: 1;
	font-weight: 500;
	letter-spacing: -2px;
	color: var(--wedora-accent);
}

.wc-couple-countdown-number--past {
	font-size: 44px;
}

.wc-couple-countdown-label {
	display: block;
	margin-top: 8px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--wedora-muted);
}

.wc-couple-info-card {
	padding: 24px;
}

.wc-couple-info-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 16px;
	border-radius: 12px;
	background: var(--wedora-accent-light);
	color: var(--wedora-accent);
	font-size: 18px;
}

.wc-couple-info-card h3 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 600;
}

.wc-couple-info-card p {
	margin: 0;
	font-size: 12px;
	line-height: 1.7;
	color: var(--wedora-muted);
}

@media (max-width: 900px) {
	.wc-couple-wedding-page {
		padding: 32px;
	}

	.wc-couple-wedding-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 650px) {
	.wc-couple-wedding-page {
		padding: 24px 16px 50px;
	}

	.wc-couple-wedding-page__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.wc-couple-wedding-page__header h1 {
		font-size: 30px;
	}

	.wc-couple-form-grid {
		grid-template-columns: 1fr;
	}

	.wc-couple-field--full {
		grid-column: auto;
	}

	.wc-couple-wedding-card--main {
		padding: 22px;
	}

	.wc-couple-form-actions {
		justify-content: stretch;
	}

	.wc-couple-save-button {
		justify-content: center;
		width: 100%;
	}
}

/* =========================================================
   COUPLE - PROFESSIONALS
========================================================= */
.wc-couple-page{max-width:1380px;margin:0 auto;padding:42px 48px 70px}.wc-couple-page-header{margin-bottom:28px}.wc-couple-page-header h1{margin:0 0 12px;font-size:clamp(32px,4vw,48px);line-height:1.1;font-weight:500;letter-spacing:-1px}.wc-couple-page-header h1 span{color:var(--wedora-accent,#b88978)}.wc-couple-page-header p{max-width:720px;margin:0;color:var(--wedora-muted,#8b8580);font-size:15px;line-height:1.75}.wc-couple-professionals-search{display:flex;align-items:center;gap:12px;margin-bottom:22px}.wc-couple-professionals-search__field{display:flex;align-items:center;gap:10px;flex:1;max-width:620px;height:50px;padding:0 16px;background:#fff;border:1px solid var(--wedora-border,#ebe6e1);border-radius:12px;box-sizing:border-box}.wc-couple-professionals-search__field span{color:var(--wedora-accent,#b88978);font-size:22px}.wc-couple-professionals-search__field input{width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;font:inherit;color:var(--wedora-text,#292725)}.wc-couple-professionals-search button{height:50px;padding:0 22px;border:0;border-radius:12px;background:var(--wedora-text,#292725);color:#fff;font-size:13px;font-weight:600;cursor:pointer}.wc-couple-professionals-search>a{font-size:12px;color:var(--wedora-accent,#b88978);text-decoration:none}.wc-couple-professionals-context,.wc-couple-professionals-notice{display:flex;align-items:center;gap:12px;margin-bottom:25px;padding:14px 18px;border:1px solid var(--wedora-border,#ebe6e1);border-radius:14px;background:#fff;font-size:12px}.wc-couple-professionals-context span{color:var(--wedora-muted,#8b8580)}.wc-couple-professionals-context strong{color:var(--wedora-text,#292725);font-weight:600}.wc-couple-professionals-context__region{margin-left:auto}.wc-couple-professionals-notice{align-items:flex-start;flex-wrap:wrap;background:#fbf5f1;border-color:#eadbd3}.wc-couple-professionals-notice strong{width:100%;font-size:13px;font-weight:600}.wc-couple-professionals-notice span{color:var(--wedora-muted,#8b8580)}.wc-couple-professionals-notice a{margin-left:auto;color:var(--wedora-accent,#b88978);font-weight:600;text-decoration:none}.wc-couple-professionals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.wc-couple-professional-card{overflow:hidden;background:#fff;border:1px solid var(--wedora-border,#ebe6e1);border-radius:18px;box-shadow:0 8px 30px rgba(50,40,30,.035);transition:transform .2s ease,box-shadow .2s ease}.wc-couple-professional-card:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(50,40,30,.08)}.wc-couple-professional-card__image{position:relative;display:block;height:230px;overflow:hidden;background:#f4eeea;text-decoration:none}.wc-couple-professional-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.wc-couple-professional-card:hover .wc-couple-professional-card__image img{transform:scale(1.035)}.wc-couple-professional-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#f8f1ed,#eee4de)}.wc-couple-professional-card__placeholder span{color:var(--wedora-accent,#b88978);font-size:45px}.wc-couple-professional-card__availability{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:30px;background:rgba(255,255,255,.94);font-size:10px;font-weight:700}.wc-couple-professional-card__availability>span{width:6px;height:6px;border-radius:50%;background:#aaa}.wc-couple-professional-card__availability--available{color:#668b73}.wc-couple-professional-card__availability--available>span{background:#668b73}.wc-couple-professional-card__availability--blocked{color:#b86b68}.wc-couple-professional-card__availability--blocked>span{background:#b86b68}.wc-couple-professional-card__body{padding:20px}.wc-couple-professional-card__type{display:block;margin-bottom:5px;color:var(--wedora-accent,#b88978);font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.wc-couple-professional-card h2{margin:0;font-size:20px;font-weight:600}.wc-couple-professional-card h2 a{color:var(--wedora-text,#292725);text-decoration:none}.wc-couple-professional-card__description{min-height:42px;margin:12px 0 15px;color:var(--wedora-muted,#8b8580);font-size:12px;line-height:1.65}.wc-couple-professional-card__meta{display:flex;flex-wrap:wrap;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--wedora-border,#ebe6e1);color:var(--wedora-muted,#8b8580);font-size:11px}.wc-couple-professional-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:16px}.wc-couple-professional-card__price small,.wc-couple-professional-card__price strong{display:block}.wc-couple-professional-card__price small{margin-bottom:2px;color:var(--wedora-muted,#8b8580);font-size:10px}.wc-couple-professional-card__price strong{color:var(--wedora-text,#292725);font-size:20px;font-weight:600}.wc-couple-professional-card__button{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #e1d5cf;border-radius:9px;color:var(--wedora-accent,#b88978);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.wc-couple-professional-card__button:hover{background:var(--wedora-accent-light,#f3e8e3);color:var(--wedora-text,#292725)}@media(max-width:1050px){.wc-couple-professionals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.wc-couple-page{padding:30px 20px 55px}.wc-couple-professionals-search{flex-wrap:wrap}.wc-couple-professionals-search__field{max-width:none;width:100%}.wc-couple-professionals-grid{grid-template-columns:1fr}.wc-couple-professionals-context{align-items:flex-start;flex-direction:column}.wc-couple-professionals-context__region{margin-left:0}}


/* =========================================================
   MY BOOKINGS
========================================================= */

.wc-couple-bookings-page{
	max-width:1380px;
	margin:0 auto;
	padding:42px 48px 70px;
}

.wc-couple-bookings-header{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:30px;
	margin-bottom:26px;
}

.wc-couple-bookings-header h1{
	margin:0 0 10px;
	font-size:clamp(32px,4vw,48px);
	font-weight:500;
	letter-spacing:-1.2px;
}

.wc-couple-bookings-header h1 span{
	color:var(--wedora-accent);
}

.wc-couple-bookings-header p{
	max-width:680px;
	margin:0;
	color:var(--wedora-muted);
	font-size:15px;
	line-height:1.7;
}

.wc-couple-booking-alert{
	margin-bottom:22px;
	padding:17px 20px;
	border-radius:14px;
	border:1px solid var(--wedora-border);
	background:#fff;
	font-size:14px;
	line-height:1.6;
}

.wc-couple-booking-alert--success{
	background:#f1f8f3;
	border-color:#d8e9dc;
	color:#477055;
}

.wc-couple-booking-alert--error{
	background:#fff3f2;
	border-color:#efd5d2;
	color:#9b4f4b;
}

.wc-couple-booking-summary{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:14px;
	margin-bottom:28px;
}

.wc-couple-booking-summary__item{
	padding:20px 22px;
	background:var(--wedora-card);
	border:1px solid var(--wedora-border);
	border-radius:16px;
}

.wc-couple-booking-summary__item span{
	display:block;
	margin-bottom:7px;
	color:var(--wedora-muted);
	font-size:11px;
	font-weight:700;
	letter-spacing:.7px;
	text-transform:uppercase;
}

.wc-couple-booking-summary__item strong{
	font-size:28px;
	font-weight:500;
}

.wc-couple-booking-summary__item--pending strong{
	color:var(--wedora-warning);
}

.wc-couple-booking-summary__item--confirmed strong{
	color:var(--wedora-success);
}

.wc-couple-bookings-list{
	display:flex;
	flex-direction:column;
	gap:16px;
}

.wc-couple-booking-card{
	padding:24px;
	background:var(--wedora-card);
	border:1px solid var(--wedora-border);
	border-radius:20px;
	box-shadow:0 10px 30px rgba(50,40,30,.035);
}

.wc-couple-booking-card__top{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:20px;
	padding-bottom:20px;
	border-bottom:1px solid var(--wedora-border);
}

.wc-couple-booking-card__identity{
	display:flex;
	align-items:center;
	gap:15px;
}

.wc-couple-booking-card__professional-mark{
	display:flex;
	align-items:center;
	justify-content:center;
	width:52px;
	height:52px;
	flex:0 0 52px;
	border-radius:50%;
	background:var(--wedora-accent-light);
	color:var(--wedora-accent);
	font-size:18px;
	font-weight:700;
}

.wc-couple-booking-card__number{
	display:block;
	margin-bottom:5px;
	color:var(--wedora-muted);
	font-size:10px;
	font-weight:700;
	letter-spacing:1px;
	text-transform:uppercase;
}

.wc-couple-booking-card__identity h3{
	margin:0 0 4px;
	font-size:20px;
	font-weight:600;
}

.wc-couple-booking-card__identity p{
	margin:0;
	color:var(--wedora-muted);
	font-size:13px;
}

.wc-couple-status{
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:8px 12px;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
	white-space:nowrap;
}

.wc-couple-status__icon{
	font-size:13px;
	font-weight:700;
}

.wc-couple-status--pending{
	background:#fff6e6;
	color:#9b6b22;
}

.wc-couple-status--confirmed{
	background:#edf7f0;
	color:#4f7e5c;
}

.wc-couple-status--completed{
	background:#eef4ff;
	color:#466a9d;
}

.wc-couple-status--cancelled,
.wc-couple-status--rejected{
	background:#fff0ef;
	color:#a25b56;
}

.wc-couple-booking-card__details{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px;
	padding:20px 0;
}

.wc-couple-booking-detail{
	display:flex;
	align-items:center;
	gap:12px;
	padding:14px;
	border-radius:13px;
	background:#faf8f6;
}

.wc-couple-booking-detail__icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:38px;
	height:38px;
	flex:0 0 38px;
	border-radius:10px;
	background:#fff;
	color:var(--wedora-accent);
	font-weight:700;
}

.wc-couple-booking-detail small{
	display:block;
	margin-bottom:4px;
	color:var(--wedora-muted);
	font-size:10px;
	font-weight:600;
	letter-spacing:.5px;
	text-transform:uppercase;
}

.wc-couple-booking-detail strong{
	display:block;
	font-size:14px;
	font-weight:600;
}

.wc-couple-booking-card__footer{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	padding-top:17px;
	border-top:1px solid var(--wedora-border);
}

.wc-couple-booking-card__message{
	display:flex;
	flex-direction:column;
	gap:4px;
}

.wc-couple-booking-card__message strong{
	font-size:13px;
	font-weight:700;
}

.wc-couple-booking-card__message span{
	color:var(--wedora-muted);
	font-size:12px;
	line-height:1.5;
}

.wc-couple-booking-card__confirmed,
.wc-couple-booking-card__pending{
	font-size:12px;
	font-weight:600;
}

.wc-couple-booking-card__confirmed{
	color:var(--wedora-success);
}

.wc-couple-booking-card__confirmed span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:20px;
	height:20px;
	margin-right:5px;
	border-radius:50%;
	background:#e8f3eb;
}

.wc-couple-booking-card__pending{
	color:var(--wedora-warning);
}

@media (max-width:900px){
	.wc-couple-bookings-page{
		padding:32px 24px 55px;
	}

	.wc-couple-booking-summary{
		grid-template-columns:repeat(2,1fr);
	}

	.wc-couple-booking-card__details{
		grid-template-columns:1fr;
	}
}

@media (max-width:700px){
	.wc-couple-bookings-page{
		padding:24px 18px 45px;
	}

	.wc-couple-bookings-header{
		flex-direction:column;
		align-items:flex-start;
	}

	.wc-couple-bookings-header .wc-couple-primary-button{
		width:100%;
		justify-content:center;
	}

	.wc-couple-booking-summary{
		grid-template-columns:1fr 1fr;
	}

	.wc-couple-booking-card{
		padding:18px;
	}

	.wc-couple-booking-card__top{
		flex-direction:column;
	}

	.wc-couple-booking-card__status{
		align-self:flex-start;
	}

	.wc-couple-booking-card__footer{
		flex-direction:column;
		align-items:flex-start;
	}
}


/* =========================================================
   AUDIT FIXES - MY BOOKINGS
========================================================= */

.wc-couple-booking-card{
	display:block;
	min-width:0;
}

.wc-couple-booking-card__top{
	min-width:0;
}

.wc-couple-booking-card__identity{
	min-width:0;
}

.wc-couple-booking-card__identity > div:last-child{
	min-width:0;
}

.wc-couple-booking-card__identity h3{
	overflow-wrap:anywhere;
}

.wc-couple-booking-card__status{
	flex:0 0 auto;
}

@media (max-width:700px){
	.wc-couple-booking-card__identity{
		width:100%;
	}

	.wc-couple-booking-card__status{
		width:100%;
	}

	.wc-couple-status{
		white-space:normal;
	}
}


/* =========================================================
   MODULE PLACEHOLDER
========================================================= */

.wc-module-placeholder{
	max-width:900px;
	padding:42px;
	background:#fff;
	border:1px solid var(--wedora-border,#ebe6e1);
	border-radius:22px;
	box-shadow:0 10px 35px rgba(50,40,30,.035);
}

.wc-module-placeholder__eyebrow{
	margin-bottom:9px;
	color:#b88978;
	font-size:10px;
	font-weight:700;
	letter-spacing:2.5px;
}

.wc-module-placeholder h1{
	margin:0 0 12px;
	color:#292725;
	font-size:32px;
	font-weight:500;
}

.wc-module-placeholder p{
	max-width:680px;
	margin:0 0 22px;
	color:#8b8580;
	font-size:14px;
	line-height:1.75;
}

.wc-module-placeholder__badge{
	display:inline-flex;
	padding:8px 12px;
	border-radius:999px;
	background:#f3e8e3;
	color:#9b6b5a;
	font-size:11px;
	font-weight:700;
}

@media(max-width:700px){
	.wc-module-placeholder{
		padding:28px 22px;
	}
}

/* =========================================================
   COUPLE CALENDAR
========================================================= */
.wc-couple-calendar-page{display:grid;gap:24px}
.wc-couple-calendar-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:30px 34px;background:linear-gradient(135deg,#fffaf7,#f8f1ed);border:1px solid var(--wedora-border,#ebe6e1);border-radius:24px}
.wc-couple-calendar-eyebrow{display:block;margin-bottom:8px;color:#b88978;font-size:10px;font-weight:700;letter-spacing:2.5px}
.wc-couple-calendar-hero h1{margin:0 0 8px;color:#292725;font-size:32px;font-weight:500}
.wc-couple-calendar-hero p{margin:0;color:#8b8580;font-size:14px}
.wc-couple-calendar-wedding-date{min-width:220px;padding:16px 18px;background:#fff;border:1px solid #eadfd8;border-radius:16px}
.wc-couple-calendar-wedding-date span{display:block;margin-bottom:5px;color:#9b928c;font-size:11px}
.wc-couple-calendar-wedding-date strong{color:#8e6558;font-size:15px}
.wc-couple-calendar-card{padding:24px;background:#fff;border:1px solid var(--wedora-border,#ebe6e1);border-radius:22px;box-shadow:0 10px 35px rgba(50,40,30,.035)}
.wc-couple-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.wc-couple-calendar-nav{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #ebe4df;border-radius:12px;color:#6f655f;text-decoration:none;font-size:20px;transition:.2s}
.wc-couple-calendar-nav:hover{background:#faf5f2;color:#a67564}
.wc-couple-calendar-month{text-align:center}
.wc-couple-calendar-month strong{display:block;color:#292725;font-size:19px;font-weight:600}
.wc-couple-calendar-month a{display:inline-block;margin-top:5px;color:#a67564;font-size:11px;text-decoration:none}
.wc-couple-calendar-weekdays,.wc-couple-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.wc-couple-calendar-weekdays{margin-bottom:8px}
.wc-couple-calendar-weekdays span{text-align:center;color:#aaa09a;font-size:10px;font-weight:700;letter-spacing:.5px}
.wc-couple-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-height:68px;border:1px solid #f0ebe7;border-radius:14px;background:#fff;color:#4f4945;text-decoration:none;transition:.18s}
.wc-couple-calendar-day:hover{border-color:#d9c5bc;background:#fffaf7;transform:translateY(-1px)}
.wc-couple-calendar-day.is-empty{border-color:transparent;background:transparent}
.wc-couple-calendar-day.is-today{box-shadow:inset 0 0 0 2px #caa495}
.wc-couple-calendar-day.is-wedding{background:#fbf1ed;border-color:#ead1c8;color:#8d5f52}
.wc-couple-calendar-day.is-selected{box-shadow:inset 0 0 0 2px #a67564;background:#f8eee9}
.wc-couple-calendar-day-number{font-size:14px;font-weight:600}
.wc-couple-calendar-dot{position:absolute;bottom:9px;width:5px;height:5px;border-radius:50%;background:#a67564}
.wc-couple-calendar-heart{position:absolute;top:7px;right:8px;color:#b98778;font-size:11px}
.wc-couple-calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #f0ebe7;color:#8b8580;font-size:11px}
.wc-couple-calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.wc-couple-calendar-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ddd}
.wc-couple-calendar-legend i.is-wedding{background:#c99584}
.wc-couple-calendar-legend i.has-booking{background:#a67564}
.wc-couple-calendar-legend i.is-today{background:#e0c3b7}
.wc-couple-calendar-details,.wc-couple-calendar-upcoming{padding:26px 28px;background:#fff;border:1px solid var(--wedora-border,#ebe6e1);border-radius:22px}
.wc-couple-calendar-details-heading,.wc-couple-calendar-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}
.wc-couple-calendar-details-heading span,.wc-couple-calendar-section-heading span{display:block;margin-bottom:6px;color:#b88978;font-size:9px;font-weight:700;letter-spacing:2px}
.wc-couple-calendar-details-heading h2,.wc-couple-calendar-section-heading h2{margin:0;color:#292725;font-size:22px;font-weight:500}
.wc-couple-calendar-wedding-badge{padding:8px 12px;border-radius:999px;background:#f6e8e3;color:#956a5c;font-size:11px}
.wc-couple-calendar-empty-day{display:flex;align-items:center;gap:14px;padding:18px;border-radius:16px;background:#faf8f6;border:1px solid #eee8e3}
.wc-couple-calendar-empty-day>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#f2e8e3;color:#a67564;font-size:16px}
.wc-couple-calendar-empty-day strong{color:#403b37;font-size:13px}
.wc-couple-calendar-empty-day p{margin:4px 0 0;color:#958c86;font-size:12px}
.wc-couple-calendar-events{display:grid;gap:10px}
.wc-couple-calendar-event{display:flex;align-items:center;gap:15px;padding:16px;border:1px solid #eee8e3;border-radius:16px;background:#fffdfc}
.wc-couple-calendar-event-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#f6e8e3;color:#a67564}
.wc-couple-calendar-event-main{min-width:0;flex:1}
.wc-couple-calendar-event-main>span{display:block;color:#a49a94;font-size:10px}
.wc-couple-calendar-event-main h3{margin:3px 0 2px;color:#35312e;font-size:14px}
.wc-couple-calendar-event-main p{margin:0;color:#8d8580;font-size:12px}
.wc-couple-calendar-event-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.wc-couple-calendar-event-meta>strong{color:#403a36;font-size:14px}
.wc-couple-calendar-event-meta .wc-couple-status{font-size:10px}
.wc-couple-calendar-section-heading>a{color:#a67564;font-size:12px;text-decoration:none}
.wc-couple-calendar-upcoming-list{display:grid;gap:8px}
.wc-couple-calendar-upcoming-item{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #eee8e3;border-radius:14px;text-decoration:none;color:inherit;transition:.18s}
.wc-couple-calendar-upcoming-item:hover{background:#fffaf7;border-color:#e1d0c8}
.wc-couple-calendar-upcoming-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#f7eee9;color:#966b5c}
.wc-couple-calendar-upcoming-date strong{font-size:16px;line-height:1}
.wc-couple-calendar-upcoming-date span{margin-top:3px;font-size:9px;text-transform:uppercase}
.wc-couple-calendar-upcoming-item>div:nth-child(2){flex:1;min-width:0}
.wc-couple-calendar-upcoming-item>div:nth-child(2) strong{display:block;color:#403a36;font-size:13px}
.wc-couple-calendar-upcoming-item>div:nth-child(2) span{display:block;margin-top:3px;color:#9a918b;font-size:11px}
.wc-couple-calendar-arrow{color:#b38b7d;font-size:18px}
@media(max-width:760px){
 .wc-couple-calendar-hero{flex-direction:column;align-items:stretch;padding:24px}
 .wc-couple-calendar-wedding-date{min-width:0}
 .wc-couple-calendar-card{padding:14px}
 .wc-couple-calendar-weekdays,.wc-couple-calendar-grid{gap:4px}
 .wc-couple-calendar-day{min-height:48px;border-radius:10px}
 .wc-couple-calendar-day-number{font-size:12px}
 .wc-couple-calendar-details,.wc-couple-calendar-upcoming{padding:20px}
 .wc-couple-calendar-details-heading,.wc-couple-calendar-section-heading{align-items:flex-start;flex-direction:column}
 .wc-couple-calendar-event{align-items:flex-start}
 .wc-couple-calendar-event-meta{align-items:flex-start}
}

/* =========================================================
   WEDORA MESSAGES
========================================================= */
.wc-messages-page{width:100%}.wc-messages-page .wc-page-header{margin-bottom:24px}.wc-messages-page .wc-page-header h1{margin:0 0 6px}.wc-messages-page .wc-page-header p{margin:0;opacity:.68}.wc-messages-layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:560px;background:#fff;border:1px solid rgba(30,30,30,.08);border-radius:22px;overflow:hidden;box-shadow:0 12px 35px rgba(0,0,0,.05)}.wc-message-conversations{border-right:1px solid rgba(30,30,30,.08);background:#faf9f7}.wc-message-list-title{padding:20px 20px 12px;font-weight:700}.wc-message-conversation{display:flex;align-items:center;gap:11px;padding:14px 16px;color:inherit;text-decoration:none;border-left:3px solid transparent}.wc-message-conversation:hover{background:#f1efec}.wc-message-conversation.is-active{background:#eeeae5;border-left-color:#8e7563}.wc-message-conversation>span:nth-child(2){min-width:0;flex:1}.wc-message-conversation strong,.wc-message-conversation small{display:block}.wc-message-conversation small{margin-top:4px;opacity:.6}.wc-message-conversation__content em{display:block;min-width:0;height:auto;margin:0;padding:0;border-radius:0;background:transparent;color:#7c8188;font-size:11px;font-style:normal;font-weight:400;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.wc-message-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;background:#e9e1da;color:#8e7563}.wc-message-thread{display:flex;flex-direction:column;min-width:0}.wc-message-thread-head{padding:20px 24px;border-bottom:1px solid rgba(30,30,30,.08);display:flex;justify-content:space-between}.wc-message-thread-body{flex:1;padding:24px;overflow:auto;background:#fff}.wc-message-thread-empty,.wc-message-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;text-align:center;opacity:.65}.wc-message-bubble{max-width:72%;margin:0 0 14px;padding:12px 15px;border-radius:16px;line-height:1.5}.wc-message-bubble.is-mine{margin-left:auto;background:#8e7563;color:#fff;border-bottom-right-radius:5px}.wc-message-bubble.is-theirs{background:#f1efec;border-bottom-left-radius:5px}.wc-message-bubble small{display:block;margin-top:5px;font-size:11px;opacity:.7}.wc-message-compose{display:flex;gap:12px;padding:16px;border-top:1px solid rgba(30,30,30,.08);background:#faf9f7}.wc-message-compose textarea{flex:1;resize:vertical;min-height:52px;border:1px solid rgba(30,30,30,.12);border-radius:13px;padding:12px;font:inherit;background:#fff}.wc-message-compose button{align-self:flex-end;border:0;border-radius:12px;padding:12px 20px;background:#8e7563;color:#fff;font-weight:700;cursor:pointer}.wc-message-compose button:hover{opacity:.9}@media(max-width:800px){.wc-messages-layout{grid-template-columns:1fr;min-height:0}.wc-message-conversations{border-right:0;border-bottom:1px solid rgba(30,30,30,.08);max-height:240px;overflow:auto}.wc-message-thread{min-height:500px}.wc-message-bubble{max-width:88%}}

/* v0.4.28 Couple Dashboard completion */
.wc-couple-hero__actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.wc-couple-secondary-button{display:inline-flex;align-items:center;padding:13px 18px;border:1px solid #dfd6d0;border-radius:10px;color:#292725;background:#fff;text-decoration:none;font-size:13px;font-weight:600}.wc-couple-hero__heart span{font-size:58px}.wc-couple-wedding-card__avatar{width:62px;height:62px;border-radius:50%;object-fit:cover;border:3px solid #f3e8e3}.wc-couple-days{display:block;margin-top:5px;color:#b88978;font-size:11px;font-weight:600}.wc-couple-detail__icon svg,.wc-couple-stat-card__icon svg,.wc-couple-action__icon svg{width:20px;height:20px}.wc-couple-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);gap:24px;align-items:start}.wc-couple-dashboard-grid .wc-couple-section{margin-bottom:0}.wc-couple-dashboard-grid__side{display:grid;gap:16px}.wc-couple-mini-card{padding:22px;background:#fff;border:1px solid var(--wedora-border);border-radius:18px}.wc-couple-mini-card__head{display:flex;align-items:center;gap:11px;padding-bottom:15px;margin-bottom:7px;border-bottom:1px solid var(--wedora-border)}.wc-couple-mini-card__head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--wedora-accent-light);color:var(--wedora-accent)}.wc-couple-mini-card__head svg{width:18px}.wc-couple-mini-card__head div>span{display:block;font-size:9px;letter-spacing:1.5px;font-weight:800;color:var(--wedora-accent)}.wc-couple-mini-card h3{margin:3px 0 0;font-size:15px;font-weight:600}.wc-couple-mini-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;font-size:12px;color:var(--wedora-muted);border-bottom:1px solid #f0ece8}.wc-couple-mini-row strong{color:var(--wedora-text);font-size:13px}.wc-couple-mini-card>a:not(.wc-couple-mini-action){display:block;margin-top:14px;color:var(--wedora-accent);text-decoration:none;font-size:11px;font-weight:700}.wc-couple-mini-action{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #f0ece8;color:var(--wedora-text);text-decoration:none;font-size:12px}.wc-couple-mini-action:last-child{border-bottom:0}.wc-couple-mini-action svg{width:16px;color:var(--wedora-accent)}.wc-couple-mini-action b{margin-left:auto;color:var(--wedora-accent)}.wc-couple-booking{text-decoration:none;color:inherit}.wc-couple-booking:hover{background:#fcfaf8}.wc-couple-action__icon svg{width:21px;height:21px}
@media(max-width:1000px){.wc-couple-dashboard-grid{grid-template-columns:1fr}.wc-couple-dashboard-grid__side{grid-template-columns:1fr 1fr}}@media(max-width:700px){.wc-couple-dashboard-grid__side{grid-template-columns:1fr}.wc-couple-overview{padding:30px 22px 55px}.wc-couple-hero{padding:32px 27px}.wc-couple-wedding-card{grid-template-columns:1fr}.wc-couple-wedding-card__details{grid-template-columns:1fr}.wc-couple-stats{grid-template-columns:1fr 1fr}}



/* =========================================================
   WEDORA COUPLE DASHBOARD — POLISHED UI v0.5.7
   Unified sizing, spacing, typography, sidebar, header and cards.
========================================================= */

.wc-couple-dashboard{
    --couple-navy:#173854;
    --couple-accent:#b88978;
    --couple-accent-dark:#a77564;
    --couple-accent-soft:#f4e9e5;
    --couple-bg:#f7f8fa;
    --couple-card:#ffffff;
    --couple-border:#e9e4dd;
    --couple-muted:#7f8993;
    --couple-text:#33485c;
    --couple-shadow:0 8px 28px rgba(16,47,77,.045);
    background:var(--couple-bg);
    color:var(--couple-text);
}

/* Main shell */
.wc-couple-dashboard .wc-dashboard__content{
    padding:0;
    background:var(--couple-bg);
}

.wc-couple-dashboard .wc-dashboard__main{
    min-width:0;
    background:var(--couple-bg);
}

/* Sidebar */
.wc-couple-dashboard .wc-couple-sidebar{
    width:255px;
    flex:0 0 255px;
    background:#fff;
    border-right:1px solid var(--couple-border);
}

.wc-couple-dashboard .wc-sidebar__header{
    min-height:82px;
    padding:20px 24px!important;
    border-bottom:1px solid #f0ece8;
}

.wc-couple-dashboard .wc-sidebar__brand h2{
    margin:0;
    color:var(--couple-navy);
    font-size:27px!important;
    line-height:1;
    font-weight:700!important;
}

.wc-couple-dashboard .wc-sidebar__brand span{
    display:block;
    margin-top:5px;
    color:var(--couple-navy);
    font-size:14px!important;
    line-height:1.2;
    font-weight:600;
}

.wc-couple-dashboard .wc-sidebar__nav{
    padding:16px 12px!important;
}

.wc-couple-dashboard .wc-sidebar__link{
    min-height:45px;
    padding:11px 14px!important;
    border-radius:11px;
    gap:12px;
    color:#68737d;
    font-size:13px;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}

.wc-couple-dashboard .wc-sidebar__link:hover{
    background:#f7f1ee;
    color:var(--couple-navy);
}

.wc-couple-dashboard .wc-sidebar__item--active .wc-sidebar__link{
    background:var(--couple-accent);
    color:#fff;
    box-shadow:0 6px 16px rgba(184,137,120,.18);
}

.wc-couple-dashboard .wc-sidebar__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    flex:0 0 20px;
}

.wc-couple-dashboard .wc-sidebar__icon svg{
    width:18px;
    height:18px;
    stroke-width:1.8;
}

.wc-couple-dashboard .wc-sidebar__item--active .wc-sidebar__icon svg{
    stroke:#fff;
}

.wc-couple-dashboard .wc-sidebar__footer{
    padding:18px 14px!important;
    border-top:1px solid var(--couple-border);
}

.wc-couple-dashboard .wc-sidebar__avatar,
.wc-couple-dashboard .wc-dashboard__user-avatar{
    background:var(--couple-accent);
}

.wc-couple-dashboard .wc-sidebar__user strong,
.wc-couple-dashboard .wc-dashboard__user-info strong{
    color:var(--couple-navy);
    font-size:13px;
}

.wc-couple-dashboard .wc-sidebar__user span,
.wc-couple-dashboard .wc-dashboard__user-info span{
    color:#8b949d;
    font-size:11px;
}

.wc-couple-dashboard .wc-sidebar__logout{
    color:#68737d;
    font-size:12px;
}

.wc-couple-dashboard .wc-sidebar__logout:hover{
    background:#fbf4f0;
    color:#a25e52;
}

/* Header */
.wc-couple-dashboard .wc-dashboard__header{
    min-height:72px;
    height:72px;
    padding:0 30px;
    background:#fff;
    border-bottom:1px solid var(--couple-border);
}

.wc-couple-dashboard .wc-dashboard__search input{
    width:325px;
    height:46px;
    border:1px solid #e1ddd8;
    border-radius:23px;
    background:#f7f8fa;
    color:var(--couple-navy);
    font-size:12px;
}

.wc-couple-dashboard .wc-dashboard__search input:focus{
    border-color:var(--couple-accent);
    box-shadow:0 0 0 3px rgba(184,137,120,.11);
    background:#fff;
}

.wc-couple-dashboard .wc-dashboard__header-right{
    gap:22px;
}

.wc-couple-dashboard .wc-dashboard__user-avatar{
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:14px;
}

/* Page rhythm */
.wc-couple-dashboard .wc-couple-overview,
.wc-couple-dashboard .wc-couple-wedding-page,
.wc-couple-dashboard .wc-couple-professionals-page,
.wc-couple-dashboard .wc-couple-bookings-page,
.wc-couple-dashboard .wc-couple-payments-page,
.wc-couple-dashboard .wc-couple-calendar-page,
.wc-couple-dashboard .wc-couple-messages-page,
.wc-couple-dashboard .wc-couple-profile-page{
    max-width:1480px;
    margin:0 auto;
}

.wc-couple-dashboard .wc-couple-overview{
    padding:34px 38px 54px;
}

.wc-couple-dashboard .wc-couple-hero{
    margin-bottom:28px;
    padding:34px 38px;
    border-radius:18px;
    box-shadow:var(--couple-shadow);
}

.wc-couple-dashboard .wc-couple-hero h1{
    color:var(--couple-navy);
    font-size:36px;
    line-height:1.15;
    letter-spacing:-.7px;
    font-weight:600;
}

.wc-couple-dashboard .wc-couple-hero h1 span{
    color:var(--couple-accent);
}

.wc-couple-dashboard .wc-couple-hero p{
    max-width:700px;
    font-size:13px;
    line-height:1.65;
}

.wc-couple-dashboard .wc-couple-hero__eyebrow,
.wc-couple-dashboard .wc-couple-section__eyebrow{
    color:var(--couple-accent);
}

.wc-couple-dashboard .wc-couple-section{
    margin-bottom:26px;
}

.wc-couple-dashboard .wc-couple-section__heading{
    margin-bottom:14px;
}

.wc-couple-dashboard .wc-couple-section__heading h2{
    color:var(--couple-navy);
    font-size:22px;
    line-height:1.25;
    font-weight:700;
}

.wc-couple-dashboard .wc-couple-link{
    color:var(--couple-accent);
    font-size:12px;
}

/* Wedding card */
.wc-couple-dashboard .wc-couple-wedding-card{
    gap:22px;
    padding:22px;
    border-radius:18px;
    border-color:var(--couple-border);
    box-shadow:var(--couple-shadow);
}

.wc-couple-dashboard .wc-couple-ring,
.wc-couple-dashboard .wc-couple-detail__icon,
.wc-couple-dashboard .wc-couple-stat-card__icon,
.wc-couple-dashboard .wc-couple-action__icon{
    background:var(--couple-accent-soft);
    color:var(--couple-accent);
}

.wc-couple-dashboard .wc-couple-wedding-card__names h3{
    color:var(--couple-navy);
    font-size:21px;
    font-weight:700;
}

.wc-couple-dashboard .wc-couple-detail{
    padding:15px;
    border-radius:13px;
}

.wc-couple-dashboard .wc-couple-detail strong{
    color:var(--couple-navy);
    font-size:13px;
}

/* Stats */
.wc-couple-dashboard .wc-couple-stats{
    gap:16px;
    margin-bottom:26px;
}

.wc-couple-dashboard .wc-couple-stat-card{
    min-height:92px;
    padding:18px;
    border-radius:17px;
    box-shadow:var(--couple-shadow);
}

.wc-couple-dashboard .wc-couple-stat-card strong{
    color:var(--couple-navy);
    font-size:25px;
}

/* Booking list */
.wc-couple-dashboard .wc-couple-bookings,
.wc-couple-dashboard .wc-couple-mini-card,
.wc-couple-dashboard .wc-couple-action{
    border-color:var(--couple-border);
    box-shadow:var(--couple-shadow);
}

.wc-couple-dashboard .wc-couple-booking{
    min-height:82px;
    padding:16px 18px;
    transition:background .18s ease;
}

.wc-couple-dashboard .wc-couple-booking__info strong,
.wc-couple-dashboard .wc-couple-booking__amount strong{
    color:var(--couple-navy);
}

.wc-couple-dashboard .wc-couple-booking__date{
    background:var(--couple-accent-soft);
    color:var(--couple-accent);
}

/* Side cards */
.wc-couple-dashboard .wc-couple-mini-card{
    padding:19px;
    border-radius:17px;
}

.wc-couple-dashboard .wc-couple-mini-card h3{
    color:var(--couple-navy);
    font-size:14px;
}

.wc-couple-dashboard .wc-couple-mini-action:hover{
    color:var(--couple-accent-dark);
}

/* Quick actions */
.wc-couple-dashboard .wc-couple-actions{
    gap:16px;
}

.wc-couple-dashboard .wc-couple-action{
    padding:20px;
    border-radius:17px;
}

.wc-couple-dashboard .wc-couple-action strong{
    color:var(--couple-navy);
}

.wc-couple-dashboard .wc-couple-primary-button{
    background:var(--couple-navy);
    border-radius:10px;
}

.wc-couple-dashboard .wc-couple-primary-button:hover{
    background:var(--couple-accent);
}

/* Statuses */
.wc-couple-dashboard .wc-couple-status{
    font-size:10px;
    padding:6px 10px;
}

/* Forms / common controls */
.wc-couple-dashboard input,
.wc-couple-dashboard select,
.wc-couple-dashboard textarea{
    border-color:#ddd8d1;
    border-radius:10px;
}

.wc-couple-dashboard input:focus,
.wc-couple-dashboard select:focus,
.wc-couple-dashboard textarea:focus{
    border-color:var(--couple-accent);
    box-shadow:0 0 0 3px rgba(184,137,120,.10);
    outline:none;
}

/* Consistent responsive behaviour */
@media(max-width:1100px){
    .wc-couple-dashboard .wc-couple-overview{
        padding:28px 24px 48px;
    }
    .wc-couple-dashboard .wc-couple-sidebar{
        width:230px;
        flex-basis:230px;
    }
}

@media(max-width:700px){
    .wc-couple-dashboard .wc-dashboard__header{
        height:76px;
        min-height:76px;
        padding:0 18px;
    }
    .wc-couple-dashboard .wc-couple-overview{
        padding:22px 16px 42px;
    }
    .wc-couple-dashboard .wc-couple-hero{
        padding:28px 24px;
        border-radius:16px;
    }
    .wc-couple-dashboard .wc-couple-hero h1{
        font-size:30px;
    }
}



/* v0.5.8 — prevent long couple names from clipping the dashboard */
.wc-couple-dashboard .wc-couple-hero__content{
    min-width:0;
    max-width:760px;
}

.wc-couple-dashboard .wc-couple-hero h1{
    overflow-wrap:anywhere;
    word-break:normal;
}

.wc-couple-dashboard .wc-couple-hero__actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin-top:22px;
}

.wc-couple-dashboard .wc-couple-secondary-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    border:1px solid #ddd5cf;
    border-radius:10px;
    background:#fff;
    color:#173854;
    font-size:13px;
    font-weight:600;
    text-decoration:none;
    white-space:nowrap;
}

.wc-couple-dashboard .wc-couple-secondary-button:hover{
    border-color:#b88978;
    color:#a77564;
    background:#fffaf8;
}

@media(max-width:700px){
    .wc-couple-dashboard .wc-couple-hero h1{
        font-size:29px;
    }
    .wc-couple-dashboard .wc-couple-hero__actions{
        align-items:stretch;
        flex-direction:column;
    }
    .wc-couple-dashboard .wc-couple-primary-button,
    .wc-couple-dashboard .wc-couple-secondary-button{
        width:100%;
        box-sizing:border-box;
    }
}
