/* Premium Stylesheet: Christina Dodd Member Area */

:root {
	/* Explicit brand colors - guaranteed to always use #5c0403 regardless of the active theme */
	--cd-plum:       #5c0403;
	--cd-plum-light: #771211;
	--cd-gold:       #5c0403;
	--cd-gold-hover: #771211;
	--cd-cream:      #fbf9f6;
	--cd-cream-dark: #f5f0e6;
	--cd-onyx:       #1e1d1b;
	--cd-text:       #334155;
	--cd-text-light: #64748b;
	--cd-white:      #ffffff;

	/* Typography — inherit theme font stacks if available */
	--cd-font-primary:   var(--wp--preset--font-family--system-font,  'Outfit', sans-serif);
	--cd-font-editorial: var(--wp--preset--font-family--heading,      'Playfair Display', Georgia, serif);

	--cd-radius: 12px;
	--cd-shadow: 0 10px 30px -10px rgba(92, 4, 3, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.03);
	--cd-shadow-hover: 0 20px 40px -15px rgba(92, 4, 3, 0.15), 0 8px 12px -4px rgba(0, 0, 0, 0.05);

	--cd-transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Base Styles & Utilities */
.cd-locked-warning, .cd-auth-container, .cd-stories-grid, .cd-gallery-wrapper, .cd-excerpts-container, .cd-contests-container, .cd-dashboard-wrapper {
	font-family: var(--cd-font-primary);
	color: var(--cd-text);
	box-sizing: border-box;
	line-height: 1.6;
}

.cd-locked-warning *, .cd-auth-container *, .cd-stories-grid *, .cd-gallery-wrapper *, .cd-excerpts-container *, .cd-contests-container *, .cd-dashboard-wrapper * {
	box-sizing: border-box;
}

.text-center { text-align: center; }
.mt-20 { margin-top: 20px; }

/* Locked Block Styling */
.cd-locked-warning {
	background: var(--cd-cream);
	border: 1px solid var(--cd-cream-dark);
	border-radius: var(--cd-radius);
	padding: 40px 30px;
	text-align: center;
	box-shadow: var(--cd-shadow);
	max-width: 500px;
	margin: 30px auto;
	transition: var(--cd-transition);
}

.cd-locked-warning:hover {
	box-shadow: var(--cd-shadow-hover);
}

.cd-locked-icon {
	width: 70px;
	height: 70px;
	background: rgba(92, 4, 3, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px auto;
}

.cd-locked-icon .fa, .cd-locked-icon .fas {
	font-size: 32px;
	color: var(--cd-gold);
}

.cd-locked-warning h3 {
	font-family: var(--cd-font-editorial);
	font-size: 22px;
	color: var(--cd-plum);
	margin-top: 0;
	margin-bottom: 10px;
}

.cd-locked-warning p {
	color: var(--cd-text-light);
	font-size: 15px;
	margin-bottom: 25px;
}

/* Premium Buttons */
.cd-gold-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--cd-gold);
	color: var(--cd-white) !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 12px 28px;
	border-radius: 30px;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(92, 4, 3, 0.25);
	transition: var(--cd-transition);
}

.cd-gold-btn:hover {
	background: var(--cd-gold-hover);
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(92, 4, 3, 0.35);
}

.cd-outline-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--cd-plum) !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 11px 26px;
	border-radius: 30px;
	border: 2px solid var(--cd-plum);
	cursor: pointer;
	transition: var(--cd-transition);
}

.cd-outline-btn:hover {
	background: var(--cd-plum);
	color: var(--cd-white) !important;
	transform: translateY(-2px);
}

/* Forms & Authentication Container */
.cd-auth-container {
	padding: 40px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.cd-auth-box {
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(74, 21, 75, 0.08);
	box-shadow: var(--cd-shadow);
	padding: 40px;
	width: 100%;
	max-width: 480px;
	transition: var(--cd-transition);
}

.cd-auth-box:hover {
	box-shadow: var(--cd-shadow-hover);
}

.cd-auth-box h3 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 24px;
	margin-top: 0;
	margin-bottom: 12px;
}

.cd-auth-header {
	text-align: center;
	margin-bottom: 30px;
}

.cd-auth-header h2 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 26px;
	margin-top: 0;
	margin-bottom: 8px;
}

.cd-auth-header p {
	color: var(--cd-text-light);
	font-size: 14px;
	margin: 0;
}

.cd-form-group {
	margin-bottom: 20px;
}

.cd-form-group label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--cd-text);
	margin-bottom: 6px;
}

.cd-input-wrapper {
	position: relative;
	width: 100%;
}

.cd-input-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--cd-text-light);
	font-size: 16px;
}

.cd-input-wrapper input {
	width: 100%;
	padding: 12px 14px 12px 42px !important;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-size: 15px;
	color: var(--cd-onyx);
	background: var(--cd-white);
	transition: var(--cd-transition);
}

.cd-input-wrapper input:focus {
	outline: none;
	border-color: var(--cd-plum);
	box-shadow: 0 0 0 3px rgba(74, 21, 75, 0.1);
}

.cd-form-row {
	display: flex;
	gap: 15px;
}

.cd-form-group.half {
	flex: 1;
}

.cd-form-group.half input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-size: 15px;
}

.cd-checkbox-group {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.cd-checkbox-group input[type="checkbox"] {
	margin-top: 4px;
	cursor: pointer;
}

.cd-checkbox-group label {
	font-weight: 500;
	font-size: 13px;
	color: var(--cd-text-light);
	line-height: 1.4;
	cursor: pointer;
}

.cd-btn-group {
	display: flex;
	gap: 15px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 25px;
}

.cd-remember-me {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 20px;
}

.cd-remember-me input[type="checkbox"] {
	margin: 0;
	cursor: pointer;
}

.cd-remember-me label {
	margin-bottom: 0;
	cursor: pointer;
	font-size: 13px;
	font-weight: 500;
	color: var(--cd-text-light);
	line-height: 1;
}

.cd-submit-btn {
	width: 100%;
	background: var(--cd-plum);
	color: var(--cd-white);
	border: none;
	border-radius: 8px;
	padding: 14px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: var(--cd-transition);
}

.cd-submit-btn:hover {
	background: var(--cd-plum-light);
	transform: translateY(-1px);
}

.cd-submit-btn.gold {
	background: var(--cd-gold);
}

.cd-submit-btn.gold:hover {
	background: var(--cd-gold-hover);
}

.cd-auth-feedback, .cd-contest-feedback {
	margin-top: 15px;
	padding: 10px;
	border-radius: 6px;
	font-size: 15px;
	text-align: center;
	font-weight: 600;
}

.cd-auth-feedback.success, .cd-contest-feedback.success {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.cd-auth-feedback.error, .cd-contest-feedback.error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

.cd-auth-footer {
	text-align: center;
	margin-top: 25px;
	border-top: 1px solid #f1f5f9;
	padding-top: 15px;
}

.cd-auth-footer p {
	margin: 0;
	font-size: 14px;
	color: var(--cd-text-light);
}

.cd-auth-footer a {
	color: var(--cd-plum);
	text-decoration: none;
	font-weight: 600;
}

/* Dashboard Wrapper Styles */
.cd-dashboard-wrapper {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 24px;
}

.cd-dashboard-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--cd-cream);
	border-radius: var(--cd-radius);
	padding: 25px 35px;
	border: 1px solid var(--cd-cream-dark);
	margin-bottom: 35px;
}

.cd-user-profile-summary {
	display: flex;
	align-items: center;
	gap: 20px;
}

.cd-avatar-placeholder {
	font-size: 55px;
	color: var(--cd-plum);
	line-height: 1;
}

.cd-user-meta-info h2 {
	margin: 0 0 2px 0;
	font-family: var(--cd-font-editorial);
	font-size: 24px;
	color: var(--cd-plum);
}

.cd-dashboard-badge {
	font-size: 11px;
	font-weight: 700;
	color: var(--cd-gold);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.cd-user-sub-since {
	margin: 0;
	font-size: 13px;
	color: var(--cd-text-light);
}

.cd-dashboard-hub-tabs {
	display: flex;
	gap: 10px;
	border-bottom: 2px solid var(--cd-cream-dark);
	margin-bottom: 30px;
	padding-bottom: 2px;
	overflow-x: auto;
}

.cd-hub-tab-btn {
	background: transparent;
	border: none;
	padding: 12px 24px;
	cursor: pointer;
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 15px;
	color: var(--cd-text-light);
	border-bottom: 3px solid transparent;
	display: flex;
	align-items: center;
	gap: 8px;
	transition: var(--cd-transition);
	white-space: nowrap;
}

.cd-hub-tab-btn:hover {
	color: var(--cd-plum);
}

.cd-hub-tab-btn.active {
	color: var(--cd-plum);
	border-bottom-color: var(--cd-plum);
}

.cd-hub-tab-content {
	display: none;
}

.cd-hub-tab-content.active {
	display: block;
	animation: fadeIn 0.4s ease;
}

.cd-hub-tab-intro {
	margin-bottom: 30px;
}

.cd-hub-tab-intro h3 {
	font-family: var(--cd-font-editorial);
	font-size: 24px;
	color: var(--cd-plum);
	margin-top: 0;
	margin-bottom: 6px;
}

.cd-hub-tab-intro p {
	color: var(--cd-text-light);
	font-size: 15px;
	margin: 0;
	max-width: 800px;
}

/* Stories Cards Grid */
.cd-stories-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 25px;
}

.cd-story-card {
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(74, 21, 75, 0.05);
	overflow: hidden;
	box-shadow: var(--cd-shadow);
	display: flex;
	flex-direction: column;
	transition: var(--cd-transition);
}

.cd-story-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--cd-shadow-hover);
}

.cd-story-image-wrap {
	position: relative;
	overflow: hidden;
	background: var(--cd-cream-dark);
	height: 280px;
}

.cd-story-image-wrap a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.cd-story-image-wrap img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.5s ease;
}

.cd-story-card:hover .cd-story-image-wrap img {
	transform: scale(1.05);
}

.cd-story-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(74, 21, 75, 0.4);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: var(--cd-transition);
}

.cd-story-card:hover .cd-story-overlay {
	opacity: 1;
}

.cd-story-read-icon {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--cd-white);
	color: var(--cd-plum);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	transform: scale(0.9);
	transition: var(--cd-transition);
}

.cd-story-card:hover .cd-story-read-icon {
	transform: scale(1);
}

.cd-story-content {
	padding: 25px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.cd-story-meta {
	font-size: 12px;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--cd-gold);
	letter-spacing: 0.5px;
	margin-bottom: 8px;
}

.cd-story-title {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 20px;
	margin: 0 0 10px 0;
}

.cd-story-excerpt {
	color: var(--cd-text-light);
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 20px 0;
	flex-grow: 1;
}

.cd-story-read-btn {
	background: transparent;
	border: none;
	color: var(--cd-plum);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	padding: 0;
	text-align: left;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: flex-start;
	transition: var(--cd-transition);
}

.cd-story-read-btn:hover {
	color: var(--cd-gold);
}

.cd-story-read-btn .fa, .cd-story-read-btn .fas {
	transition: transform 0.25s ease;
}

.cd-story-read-btn:hover .fa, .cd-story-read-btn:hover .fas {
	transform: translateX(4px);
}


/* Excerpts Block styling */
.cd-excerpts-container {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.cd-excerpt-card {
	display: flex;
	background: var(--cd-white);
	border: 1px solid rgba(74, 21, 75, 0.05);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow);
	overflow: hidden;
	transition: var(--cd-transition);
}

.cd-excerpt-card:hover {
	box-shadow: var(--cd-shadow-hover);
}

.cd-excerpt-book-art {
	width: 260px;
	flex-shrink: 0;
	background: var(--cd-cream-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
}

.cd-excerpt-book-art img {
	width: 100%;
	max-height: 300px;
	object-fit: contain;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
	border-radius: 4px;
}

.cd-excerpt-details {
	padding: 40px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.cd-excerpt-tag {
	font-size: 11px;
	font-weight: 700;
	color: var(--cd-gold);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 5px;
}

.cd-excerpt-book-title {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 24px;
	margin: 0 0 15px 0;
}

.cd-teaser-intro {
	font-size: 15px;
	color: var(--cd-text);
	margin-bottom: 25px;
	font-style: italic;
}

.cd-excerpt-divider {
	text-align: center;
	margin: 20px 0;
	color: var(--cd-gold);
	font-size: 18px;
}

.cd-excerpt-full-text {
	font-family: var(--cd-font-editorial);
	font-size: 16px;
	line-height: 1.7;
	color: var(--cd-text);
	max-height: 400px;
	overflow-y: auto;
	border-top: 1px solid var(--cd-cream-dark);
	padding-top: 20px;
}

/* Locked Excerpt Overlay styling */
.cd-excerpt-lock-overlay {
	position: relative;
	background: var(--cd-cream);
	border-radius: 8px;
	padding: 25px;
	border: 1px dashed var(--cd-gold);
	overflow: hidden;
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cd-excerpt-blur-block {
	filter: blur(4px);
	opacity: 0.25;
	font-family: var(--cd-font-editorial);
	font-size: 15px;
	user-select: none;
}

.cd-excerpt-lock-cta {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px;
	background: rgba(251, 249, 246, 0.85);
}

.cd-lock-gold-icon {
	font-size: 28px;
	color: var(--cd-gold);
	margin-bottom: 10px;
}

.cd-excerpt-lock-cta h4 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 18px;
	margin: 0 0 5px 0;
}

.cd-excerpt-lock-cta p {
	font-size: 13px;
	color: var(--cd-text-light);
	margin: 0 0 15px 0;
	max-width: 320px;
}

.cd-excerpt-lock-cta .cd-gold-btn {
	padding: 10px 22px;
	font-size: 13px;
}

/* Contests Modules */
.cd-contests-container {
	display: flex;
	flex-direction: column;
	gap: 35px;
}

.cd-contest-card {
	display: flex;
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(74, 21, 75, 0.05);
	box-shadow: var(--cd-shadow);
	overflow: hidden;
}

.cd-contest-art {
	width: 240px;
	flex-shrink: 0;
	overflow: hidden;
}

.cd-contest-art img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
}

.cd-contest-details {
	padding: 35px;
	flex-grow: 1;
}

.cd-contest-header {
	margin-bottom: 15px;
}

.cd-contest-badge {
	font-size: 11px;
	font-weight: 700;
	color: var(--cd-white);
	background: var(--cd-plum);
	padding: 4px 10px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.cd-contest-title {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 22px;
	margin: 0 0 8px 0;
}

.cd-contest-deadline-label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	color: var(--cd-gold);
	background: rgba(92, 4, 3, 0.08);
	padding: 4px 10px;
	border-radius: 6px;
}

.cd-contest-deadline-label.expired {
	color: #991b1b;
	background: #fef2f2;
}

.cd-contest-description {
	font-size: 14px;
	color: var(--cd-text-light);
	margin-bottom: 25px;
}

.cd-contest-closed-box {
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 15px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #475569;
}

.cd-contest-closed-box .fa, .cd-contest-closed-box .fas {
	font-size: 24px;
	color: #94a3b8;
}

.cd-contest-closed-box p, .cd-contest-submitted-box p {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
}

.cd-contest-submitted-box {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: 8px;
	padding: 15px 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	color: #065f46;
}

.cd-contest-submitted-box .fa, .cd-contest-submitted-box .fas {
	font-size: 24px;
	color: #10b981;
}

.cd-contest-form {
	background: var(--cd-cream);
	border: 1px solid var(--cd-cream-dark);
	border-radius: 8px;
	padding: 25px;
}

.cd-form-subtitle {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 16px;
	margin-top: 0;
	margin-bottom: 15px;
	border-bottom: 1px solid var(--cd-cream-dark);
	padding-bottom: 8px;
}

.cd-contest-form label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	color: var(--cd-text);
	margin-bottom: 5px;
	text-transform: uppercase;
}

.cd-contest-form input[type="text"],
.cd-contest-form input[type="email"],
.cd-contest-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: var(--cd-white);
	font-family: var(--cd-font-primary);
	font-size: 14px;
	transition: var(--cd-transition);
}

.cd-contest-form input[type="text"]:focus,
.cd-contest-form input[type="email"]:focus,
.cd-contest-form textarea:focus {
	outline: none;
	border-color: var(--cd-gold);
}

.cd-contest-form textarea {
	resize: vertical;
}

.cd-contest-form .cd-submit-btn {
	padding: 11px;
	margin-top: 15px;
}

/* Portfolio Gallery Module */
.cd-gallery-wrapper {
	width: 100%;
}

.cd-gallery-filter {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-bottom: 30px;
}

.cd-filter-btn {
	background: var(--cd-white);
	border: 1px solid var(--cd-cream-dark);
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 14px;
	color: var(--cd-text-light);
	padding: 8px 20px;
	border-radius: 20px;
	cursor: pointer;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
	transition: var(--cd-transition);
}

.cd-filter-btn:hover {
	color: var(--cd-plum);
	border-color: rgba(74, 21, 75, 0.2);
}

.cd-filter-btn.active {
	background: var(--cd-plum);
	color: var(--cd-white);
	border-color: var(--cd-plum);
	box-shadow: 0 4px 10px rgba(74, 21, 75, 0.2);
}

.cd-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 25px;
}

.cd-gallery-card {
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(74, 21, 75, 0.04);
	box-shadow: var(--cd-shadow);
	overflow: hidden;
	cursor: pointer;
	transition: var(--cd-transition);
}

.cd-gallery-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--cd-shadow-hover);
}

.cd-media-image-box {
	position: relative;
	overflow: hidden;
	background: var(--cd-cream-dark);
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cd-media-image-box img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.4s ease;
}

.cd-gallery-card:hover .cd-media-image-box img {
	transform: scale(1.04);
}

.cd-media-hover-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(30, 29, 27, 0.45);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: var(--cd-transition);
}

.cd-gallery-card:hover .cd-media-hover-overlay {
	opacity: 1;
}

.cd-media-zoom-icon, .cd-media-play-icon {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--cd-white);
	color: var(--cd-onyx);
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	transform: scale(0.9);
	transition: var(--cd-transition);
}

.cd-media-play-icon {
	color: var(--cd-plum);
}

.cd-gallery-card:hover .cd-media-zoom-icon,
.cd-gallery-card:hover .cd-media-play-icon {
	transform: scale(1);
}

.cd-media-info {
	padding: 15px 20px;
}

.cd-media-info h4 {
	margin: 0 0 5px 0;
	font-size: 16px;
	font-weight: 700;
	color: var(--cd-plum);
}

.cd-media-info p {
	margin: 0;
	font-size: 12px;
	color: var(--cd-text-light);
}

/* Gallery card as link — reset anchor defaults */
a.cd-gallery-card {
	text-decoration: none;
	color: inherit;
	display: block;
}


/* Public Resources Grid Cards */
.cd-dashboard-public-footers {
	margin-top: 50px;
	border-top: 2px solid var(--cd-cream-dark);
	padding-top: 40px;
	margin-bottom: 30px;
}

.cd-footer-title {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 20px;
	margin-top: 0;
	margin-bottom: 20px;
}

.cd-footers-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 20px;
}

.cd-footer-link-card {
	display: flex;
	align-items: center;
	background: var(--cd-cream);
	border: 1px solid var(--cd-cream-dark);
	padding: 20px 25px;
	border-radius: var(--cd-radius);
	text-decoration: none !important;
	position: relative;
	transition: var(--cd-transition);
}

.cd-footer-link-card:hover {
	background: var(--cd-white);
	border-color: rgba(74, 21, 75, 0.2);
	transform: translateY(-2px);
	box-shadow: var(--cd-shadow);
}

.cd-footer-card-icon {
	font-size: 28px;
	color: var(--cd-gold);
	margin-right: 20px;
	flex-shrink: 0;
}

.cd-footer-card-meta {
	flex-grow: 1;
	padding-right: 15px;
}

.cd-footer-card-meta h5 {
	margin: 0 0 4px 0;
	color: var(--cd-plum);
	font-size: 14px;
	font-weight: 700;
}

.cd-footer-card-meta p {
	margin: 0;
	font-size: 12px;
	color: var(--cd-text-light);
	line-height: 1.4;
}

.cd-card-link-indicator {
	font-size: 12px;
	color: var(--cd-text-light);
	opacity: 0.5;
	transition: var(--cd-transition);
}

.cd-footer-link-card:hover .cd-card-link-indicator {
	color: var(--cd-gold);
	opacity: 1;
	transform: translate(2px, -2px);
}

/* Animations */
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(4px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes slideUp {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes zoomIn {
	from { opacity: 0; transform: scale(0.95); }
	to { opacity: 1; transform: scale(1); }
}

/* Responsiveness Media Queries */
@media (max-width: 768px) {
	.cd-form-row {
		flex-direction: column;
		gap: 15px;
	}
	.cd-dashboard-header {
		flex-direction: column;
		gap: 20px;
		text-align: center;
		padding: 25px;
	}
	.cd-user-profile-summary {
		flex-direction: column;
		gap: 10px;
	}
	.cd-story-modal-container {
		max-height: 95vh;
	}
	.cd-story-modal-header {
		padding: 25px 25px 12px 25px;
	}
	.cd-story-modal-body {
		padding: 20px 25px;
	}
	.cd-excerpt-card {
		flex-direction: column;
	}
	.cd-excerpt-book-art {
		width: 100%;
		padding: 30px;
	}
	.cd-excerpt-details {
		padding: 25px;
	}
	.cd-contest-card {
		flex-direction: column;
	}
	.cd-contest-art {
		width: 100%;
		height: 200px;
	}
	.cd-contest-details {
		padding: 25px;
	}
	.cd-gallery-filter {
		flex-wrap: wrap;
	}
}

/* Singular Post Navigation & Pagination */
.cd-story-single-nav {
	margin-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
	box-sizing: border-box;
}

.cd-story-single-nav-footer {
	margin-top: 40px;
	padding-top: 30px;
	padding-left: 20px;
	padding-right: 20px;
	border-top: 1px solid rgba(92, 4, 3, 0.08);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.cd-story-pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.cd-story-pagination a.cd-outline-btn {
	font-size: 13px;
	padding: 8px 18px;
	min-width: 120px;
}

/* Responsiveness for Navigation & Pagination */
@media (max-width: 768px) {
	.cd-story-pagination {
		flex-direction: column;
		align-items: stretch;
	}
	.cd-story-pagination a.cd-outline-btn {
		width: 100%;
		text-align: center;
		justify-content: center;
	}
	.cd-story-pagination div:empty {
		display: none;
	}
}

/* Premium Tab Content Pagination */
.cd-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 40px auto 20px auto;
	flex-wrap: wrap;
}

.cd-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 6px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 600;
	color: var(--cd-plum);
	border: 1px solid var(--cd-cream-dark);
	background: var(--cd-cream);
	text-decoration: none;
	transition: var(--cd-transition);
	cursor: pointer;
}

.cd-pagination a.page-numbers:hover {
	background: var(--cd-plum);
	color: var(--cd-white);
	border-color: var(--cd-plum);
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(92, 4, 3, 0.15);
}

.cd-pagination .page-numbers.current {
	background: var(--cd-gold);
	color: var(--cd-plum);
	border-color: var(--cd-gold);
	cursor: default;
	pointer-events: none;
	box-shadow: 0 4px 10px rgba(221, 169, 87, 0.25);
}

.cd-pagination .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	color: var(--cd-text-light);
	cursor: default;
}

/* ============================================================
   Book Club Guides — Premium 3-Column Readers' Guide Layout
   Col 1: Book Cover  |  Col 2: Buy Now  |  Col 3: Guide Content
   ============================================================ */

.cd-book-club-guides-wrapper {
	max-width: 1100px;
	margin: 0 auto 40px auto;
}

.cd-book-club-list {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* ── Outer card ── */
.cd-book-club-card {
	display: flex;
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(92, 4, 3, 0.06);
	box-shadow: var(--cd-shadow);
	overflow: hidden;
	transition: var(--cd-transition);
}

.cd-book-club-card:hover {
	box-shadow: var(--cd-shadow-hover);
	transform: translateY(-3px);
}

/* ── Col 1: Book cover ── */
.cd-book-club-cover-panel {
	flex: 0 0 210px;
	background: var(--cd-cream);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 35px 22px;
	border-right: 1px solid var(--cd-cream-dark);
}

.cd-book-club-cover-img {
	width: 100%;
	max-height: 340px;
	object-fit: contain;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
	border-radius: 4px;
	transition: transform 0.4s ease;
}

.cd-book-club-card:hover .cd-book-club-cover-img {
	transform: scale(1.03);
}

/* ── Col 2: Buy Now panel ── */
.cd-book-club-buy-panel {
	flex: 0 0 195px;
	background: var(--cd-cream);
	border-right: 1px solid var(--cd-cream-dark);
	padding: 30px 20px;
	display: flex;
	flex-direction: column;
}

.cd-buy-panel-heading {
	font-family: var(--cd-font-primary);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--cd-onyx);
	margin: 0 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--cd-plum);
	display: flex;
	align-items: center;
	gap: 7px;
}

.cd-buy-panel-heading .fas {
	color: var(--cd-gold);
	font-size: 12px;
}

/* Each format group (Hardcover, eBook, etc.) */
.cd-buy-group {
	margin-bottom: 18px;
}

.cd-buy-group:last-child {
	margin-bottom: 0;
}

.cd-buy-group-heading {
	font-family: var(--cd-font-primary);
	font-size: 11px;
	font-weight: 700;
	color: var(--cd-text);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0 0 6px 0;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(92, 4, 3, 0.12);
}

.cd-buy-links-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.cd-buy-link {
	display: block;
	text-align: center;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 13px !important;
	color: var(--cd-plum) !important;
	background: var(--cd-cream) !important;
	border: 1px solid var(--cd-cream-dark) !important;
	padding: 8px 14px !important;
	border-radius: 20px !important;
	line-height: 1.4 !important;
	transition: var(--cd-transition) !important;
	margin-bottom: 4px;
	box-shadow: none !important;
}

.cd-buy-link:hover {
	background: var(--cd-plum) !important;
	color: var(--cd-white) !important;
	border-color: var(--cd-plum) !important;
	text-decoration: none !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 10px rgba(92, 4, 3, 0.15) !important;
}

/* ── Col 3: Guide content panel ── */
.cd-book-club-content-panel {
	flex: 1;
	padding: 35px 38px;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Guide header notice block */
.cd-book-club-guide-header {
	background: rgba(92, 4, 3, 0.04);
	border-left: 4px solid var(--cd-plum);
	border-radius: 0 6px 6px 0;
	padding: 14px 18px;
	margin-bottom: 20px;
}

.cd-book-club-guide-label {
	display: block;
	font-size: 12px;
	font-weight: 800;
	color: var(--cd-plum);
	text-transform: uppercase;
	letter-spacing: 0.8px;
	margin-bottom: 8px;
}

.cd-book-club-guide-label .fas {
	margin-right: 7px;
	color: var(--cd-gold);
}

.cd-book-club-spoiler-notice {
	font-size: 13px;
	color: var(--cd-text-light);
	margin: 0;
	font-style: italic;
	line-height: 1.5;
}

.cd-book-club-spoiler-warning {
	color: var(--cd-plum);
	font-style: normal;
	margin-left: 4px;
}

/* Book title */
.cd-book-club-title {
	font-family: var(--cd-font-editorial);
	font-size: 26px;
	color: var(--cd-plum);
	margin: 0 0 18px 0;
	line-height: 1.25;
}

/* Discussion questions from WP editor content */
.cd-book-club-questions {
	flex-grow: 1;
	color: var(--cd-text);
	font-size: 15px;
	line-height: 1.75;
	margin-bottom: 28px;
}

.cd-book-club-questions p {
	margin: 0 0 14px 0;
	color: var(--cd-text);
}

/* Ordered list with elegant custom counters */
.cd-book-club-questions ol {
	padding-left: 0;
	list-style: none;
	counter-reset: guide-q;
}

.cd-book-club-questions ol li {
	counter-increment: guide-q;
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin-bottom: 16px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--cd-text);
}

.cd-book-club-questions ol li::before {
	content: counter(guide-q) ".";
	flex-shrink: 0;
	width: 24px;
	font-weight: 700;
	color: var(--cd-plum);
	font-family: var(--cd-font-editorial);
	font-size: 16px;
	padding-top: 2px;
}

/* Inline links within guide text */
.cd-book-club-questions a {
	color: var(--cd-plum);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cd-book-club-questions a:hover {
	color: var(--cd-gold);
}

/* PDF download action */
.cd-book-club-actions {
	margin-top: auto;
}

.cd-book-club-actions .cd-view-pdf-btn {
	width: auto;
	padding: 13px 28px;
	font-size: 14px;
	font-weight: 600;
	gap: 9px;
}

.cd-book-club-actions .cd-view-pdf-btn[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}

/* ── Responsive: compact tablet ── */
@media (max-width: 1024px) {
	.cd-book-club-card .cd-book-club-cover-panel {
		flex: 0 0 175px;
		padding: 25px 16px;
	}

	.cd-book-club-card .cd-book-club-buy-panel {
		flex: 0 0 165px;
		padding: 24px 16px;
	}

	.cd-book-club-card .cd-book-club-content-panel {
		padding: 28px 26px 32px;
	}
}

/* ── Responsive: mobile stacks vertically ── */
@media (max-width: 768px) {
	.cd-book-club-card {
		flex-direction: column;
	}

	.cd-book-club-card .cd-book-club-cover-panel {
		flex: none;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid var(--cd-cream-dark);
		padding: 28px 40px;
		max-height: 260px;
	}

	.cd-book-club-card .cd-book-club-cover-img {
		max-height: 200px;
	}

	/* Buy panel becomes a horizontal wrap of groups on mobile */
	.cd-book-club-card .cd-book-club-buy-panel {
		flex: none;
		width: 100%;
		border-right: none;
		border-bottom: 1px solid var(--cd-cream-dark);
		padding: 20px 22px;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 18px;
		align-items: flex-start;
	}

	.cd-book-club-card .cd-buy-panel-heading {
		width: 100%;
		margin-bottom: 2px;
		padding-bottom: 8px;
	}

	.cd-book-club-card .cd-buy-group {
		min-width: 110px;
		margin-bottom: 0;
	}

	.cd-book-club-card .cd-book-club-content-panel {
		padding: 24px 22px 28px;
	}

	.cd-book-club-card .cd-book-club-title {
		font-size: 22px;
	}
}


@media (max-width: 480px) {
	.cd-book-club-content-panel {
		padding: 20px;
	}

	.cd-book-club-guide-header {
		padding: 12px 14px;
	}
}



/* Dashboard Hub 7-Card Grid Showcase */
.cd-hub-intro {
	margin-bottom: 40px;
}

.cd-hub-intro h2 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 30px;
	margin-top: 0;
	margin-bottom: 12px;
}

.cd-hub-intro p {
	color: var(--cd-text-light);
	font-size: 16px;
	max-width: 700px;
	margin: 0 auto;
}

.cd-hub-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 25px;
	margin-bottom: 50px;
}

.cd-hub-card {
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(92, 4, 3, 0.05);
	box-shadow: var(--cd-shadow);
	padding: 35px 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	transition: var(--cd-transition);
}

.cd-hub-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--cd-shadow-hover);
	border-color: rgba(92, 4, 3, 0.12);
}

.cd-hub-card-icon {
	width: 65px;
	height: 65px;
	border-radius: 50%;
	background: rgba(92, 4, 3, 0.07);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	transition: var(--cd-transition);
}

.cd-hub-card:hover .cd-hub-card-icon {
	background: var(--cd-gold);
}

.cd-hub-card-icon .fas, .cd-hub-card-icon .far {
	font-size: 24px;
	color: var(--cd-gold);
	transition: var(--cd-transition);
}

.cd-hub-card:hover .cd-hub-card-icon .fas,
.cd-hub-card:hover .cd-hub-card-icon .far {
	color: var(--cd-white);
	transform: scale(1.1);
}

.cd-hub-card h3 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 20px;
	margin: 0 0 12px 0;
	line-height: 1.3;
}

.cd-hub-card p {
	color: var(--cd-text-light);
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 25px 0;
	flex-grow: 1;
}

.cd-access-hub-btn {
	margin-top: auto;
	width: 100%;
	padding: 11px 24px;
	font-size: 14px;
}

/* Inner Page Styles with Back Navigation */
.cd-page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 2px solid var(--cd-cream-dark);
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	margin-bottom: 40px;
	gap: 20px;
	box-sizing: border-box;
}

.cd-back-to-hub-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cd-text-light);
	text-decoration: none !important;
	font-weight: 600;
	font-size: 14px;
	transition: var(--cd-transition);
}

.cd-back-to-hub-btn:hover {
	color: var(--cd-plum);
	transform: translateX(-3px);
}

.cd-page-title {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 26px;
	margin: 0;
}

/* Series Book List custom styling */
.cd-series-list-content {
	background: var(--cd-white);
	border: 1px solid rgba(92, 4, 3, 0.05);
	box-shadow: var(--cd-shadow);
	border-radius: var(--cd-radius);
	padding: 45px;
	color: var(--cd-text);
}

.cd-series-list-content h1,
.cd-series-list-content h2,
.cd-series-list-content h3 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	margin-top: 0;
}

.cd-series-list-content h2 {
	font-size: 24px;
	border-bottom: 1px solid var(--cd-cream-dark);
	padding-bottom: 10px;
	margin-bottom: 20px;
}

.cd-series-list-content ul,
.cd-series-list-content ol {
	padding-left: 20px;
	margin-bottom: 25px;
}

.cd-series-list-content li {
	margin-bottom: 10px;
	line-height: 1.6;
}

.cd-series-list-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	display: block;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.cd-series-list-content th,
.cd-series-list-content td {
	padding: 12px;
	border-bottom: 1px solid var(--cd-cream-dark);
	text-align: left;
}

.cd-series-list-content th {
	background: var(--cd-cream);
	font-weight: 700;
	color: var(--cd-plum);
}

/* Mailing List Lounge Showcase */
.cd-mailing-lounge-wrapper {
	max-width: 960px;
	margin: 0 auto;
}

.cd-mailing-header {
	text-align: center;
	margin-bottom: 45px;
}

.cd-mailing-icon {
	width: 75px;
	height: 75px;
	border-radius: 50%;
	background: rgba(92, 4, 3, 0.08);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px auto;
}

.cd-mailing-icon .fas {
	font-size: 32px;
	color: var(--cd-gold);
}

.cd-mailing-header h2 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 28px;
	margin: 0 0 10px 0;
}

.cd-mailing-header p {
	color: var(--cd-text-light);
	font-size: 15px;
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.5;
}

.cd-mailing-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-bottom: 40px;
}

.cd-mailing-card {
	background: var(--cd-white);
	border: 1px solid rgba(92, 4, 3, 0.05);
	box-shadow: var(--cd-shadow);
	border-radius: var(--cd-radius);
	padding: 40px;
	transition: var(--cd-transition);
}

.cd-mailing-card:hover {
	box-shadow: var(--cd-shadow-hover);
}

.cd-mailing-card h3 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 20px;
	margin-top: 0;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.cd-mailing-card h3 .fas {
	color: var(--cd-gold);
	font-size: 18px;
}

.cd-card-subtitle {
	color: var(--cd-text-light);
	font-size: 13.5px;
	margin: 0 0 25px 0;
	line-height: 1.45;
}

/* Styled Auth forms for Mailing Lounge */
.cd-auth-form-styled .cd-form-group {
	margin-bottom: 22px;
}

.cd-auth-form-styled label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--cd-text);
	margin-bottom: 6px;
}

.cd-auth-form-styled input[type="text"],
.cd-auth-form-styled input[type="email"] {
	width: 100%;
	padding: 12px 14px 12px 42px !important;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-size: 14.5px;
	transition: var(--cd-transition);
}

.cd-auth-form-styled input[type="text"]:focus,
.cd-auth-form-styled input[type="email"]:focus {
	outline: none;
	border-color: var(--cd-plum);
	box-shadow: 0 0 0 3px rgba(92, 4, 3, 0.1);
}

.cd-auth-form-styled .cd-submit-btn {
	margin-top: 25px;
	font-size: 14px;
	font-weight: 600;
	padding: 13px;
}

/* Responsiveness media queries for Lounge */
@media (max-width: 900px) {
	.cd-mailing-columns {
		grid-template-columns: 1fr;
		gap: 25px;
	}
}

@media (max-width: 768px) {
	.cd-page-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
	
	.cd-page-title {
		font-size: 22px;
	}
	
	.cd-hub-intro h2 {
		font-size: 26px;
	}
	
	.cd-series-list-content {
		padding: 25px;
	}
	
	.cd-mailing-card {
		padding: 25px;
	}
}

/* ==========================================================================
   ADMIN / MODERATOR CONTENT HUB — Frontend Dashboard
   ========================================================================== */

/* Admin Hub header button */
.cd-admin-hub-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: linear-gradient(135deg, #5c0403, #8b1a1a);
	color: #fff !important;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none !important;
	padding: 10px 20px;
	border-radius: 30px;
	border: none;
	cursor: pointer;
	transition: var(--cd-transition);
	box-shadow: 0 4px 12px rgba(92,4,3,0.3);
	letter-spacing: 0.3px;
}
.cd-admin-hub-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(92,4,3,0.4);
}

/* Admin hub card (8th card in the grid) */
.cd-hub-card-admin {
	background: linear-gradient(135deg, #5c0403 0%, #8b1a1a 100%) !important;
	border-color: rgba(255,255,255,0.12) !important;
}
.cd-hub-card-admin h3,
.cd-hub-card-admin p,
.cd-hub-card-admin .cd-hub-card-icon span {
	color: #fff !important;
}
.cd-hub-card-admin .cd-gold-btn {
	background: rgba(255,255,255,0.2);
	border: 1px solid rgba(255,255,255,0.35);
	backdrop-filter: blur(4px);
}
.cd-hub-card-admin .cd-gold-btn:hover {
	background: rgba(255,255,255,0.35);
}

/* ---- Main Hub Wrapper ---- */
.cd-admin-hub-wrapper {
	font-family: var(--cd-font-primary);
	color: var(--cd-text);
	max-width: 1000px;
	margin: 0 auto;
}
.cd-admin-hub-wrapper * { box-sizing: border-box; }

/* ---- Tabs Navigation ---- */
.cd-admin-tabs {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	background: var(--cd-cream);
	border: 1px solid var(--cd-cream-dark);
	border-radius: var(--cd-radius);
	padding: 10px;
	margin-bottom: 24px;
}
.cd-admin-tab-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: transparent;
	border: none;
	padding: 10px 18px;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--cd-text-light);
	cursor: pointer;
	transition: var(--cd-transition);
	white-space: nowrap;
}
.cd-admin-tab-btn:hover {
	background: var(--cd-cream-dark);
	color: var(--cd-plum);
}
.cd-admin-tab-btn.active {
	background: var(--cd-plum);
	color: #fff;
	box-shadow: 0 3px 8px rgba(92,4,3,0.25);
}

/* ---- Tab Panel ---- */
.cd-admin-tab-panel { display: none; }
.cd-admin-tab-panel.active { display: block; animation: cd-fade-in 0.3s ease; }
@keyframes cd-fade-in { from { opacity:0; transform: translateY(6px); } to { opacity:1; transform: translateY(0); } }

/* ---- Panel Header ---- */
.cd-admin-panel-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--cd-cream-dark);
}
.cd-admin-panel-header h3 {
	font-family: var(--cd-font-editorial);
	font-size: 20px;
	color: var(--cd-plum);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* ---- Add / Action Buttons ---- */
.cd-admin-add-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--cd-plum);
	color: #fff;
	border: none;
	padding: 10px 20px;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 13.5px;
	cursor: pointer;
	transition: var(--cd-transition);
}
.cd-admin-add-btn:hover {
	background: var(--cd-plum-light);
	transform: translateY(-1px);
}
.cd-admin-submit-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--cd-plum);
	color: #fff;
	border: none;
	padding: 11px 24px;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: var(--cd-transition);
}
.cd-admin-submit-btn:hover {
	background: var(--cd-plum-light);
	transform: translateY(-1px);
}
.cd-admin-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}
.cd-admin-cancel-btn {
	display: inline-flex;
	align-items: center;
	background: transparent;
	color: var(--cd-text-light);
	border: 1px solid #dde1e7;
	padding: 10px 20px;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 14px;
	cursor: pointer;
	transition: var(--cd-transition);
}
.cd-admin-cancel-btn:hover {
	border-color: var(--cd-plum);
	color: var(--cd-plum);
}

/* ---- Add Form Panel ---- */
.cd-admin-add-form {
	background: #fff;
	border: 1px solid var(--cd-cream-dark);
	border-left: 4px solid var(--cd-plum);
	border-radius: 10px;
	padding: 28px 32px;
	margin-bottom: 28px;
	box-shadow: var(--cd-shadow);
	animation: cd-fade-in 0.25s ease;
}
.cd-admin-add-form h4 {
	font-family: var(--cd-font-editorial);
	font-size: 18px;
	color: var(--cd-plum);
	margin: 0 0 22px 0;
}
.cd-admin-form-group {
	margin-bottom: 18px;
}
.cd-admin-form-group label {
	display: block;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--cd-text);
	margin-bottom: 6px;
}
.cd-admin-form-group input[type="text"],
.cd-admin-form-group input[type="url"],
.cd-admin-form-group input[type="datetime-local"],
.cd-admin-form-group textarea,
.cd-admin-form-group select {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #dde1e7;
	border-radius: 8px;
	font-family: var(--cd-font-primary);
	font-size: 14px;
	color: var(--cd-onyx);
	background: #fff;
	transition: border-color 0.2s ease;
	resize: vertical;
}
.cd-admin-form-group input:focus,
.cd-admin-form-group textarea:focus,
.cd-admin-form-group select:focus {
	outline: none;
	border-color: var(--cd-plum);
	box-shadow: 0 0 0 3px rgba(92,4,3,0.08);
}
.cd-admin-form-group input[type="file"] {
	display: block;
	width: 100%;
	padding: 9px 12px;
	border: 1px dashed #c9d0db;
	border-radius: 8px;
	font-size: 13px;
	color: var(--cd-text-light);
	background: var(--cd-cream);
	cursor: pointer;
	transition: border-color 0.2s;
}
.cd-admin-form-group input[type="file"]:hover {
	border-color: var(--cd-plum);
}
.cd-admin-hint {
	font-size: 12px;
	color: var(--cd-text-light);
	margin: 5px 0 0 0;
}
.cd-admin-form-actions {
	display: flex;
	gap: 12px;
	margin-top: 22px;
	flex-wrap: wrap;
}
.cd-admin-form-feedback {
	margin-top: 14px;
	padding: 10px 14px;
	border-radius: 7px;
	font-size: 13.5px;
	font-weight: 600;
}
.cd-admin-form-feedback.success {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}
.cd-admin-form-feedback.error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

/* ---- Items List ---- */
.cd-admin-items-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.cd-admin-empty {
	font-size: 14px;
	color: var(--cd-text-light);
	padding: 20px;
	background: var(--cd-cream);
	border-radius: 8px;
	text-align: center;
}
.cd-admin-item-row {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid var(--cd-cream-dark);
	border-radius: 10px;
	padding: 12px 16px;
	transition: var(--cd-transition);
}
.cd-admin-item-row:hover {
	border-color: rgba(92,4,3,0.2);
	box-shadow: 0 3px 12px rgba(92,4,3,0.07);
}
.cd-admin-item-thumb {
	width: 52px;
	height: 52px;
	object-fit: cover;
	border-radius: 7px;
	flex-shrink: 0;
}
.cd-admin-item-thumb-placeholder {
	width: 52px;
	height: 52px;
	border-radius: 7px;
	background: var(--cd-cream-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cd-text-light);
	font-size: 20px;
	flex-shrink: 0;
}
.cd-admin-item-info {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.cd-admin-item-info strong {
	font-size: 14.5px;
	color: var(--cd-onyx);
}
.cd-admin-item-date {
	font-size: 12px;
	color: var(--cd-text-light);
	display: flex;
	align-items: center;
	gap: 5px;
}
.cd-admin-item-tag {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 20px;
	text-transform: uppercase;
	letter-spacing: 0.4px;
}
.tag-video { background: #e0f2fe; color: #0369a1; }
.tag-photo { background: #f0fdf4; color: #16a34a; }
.tag-pdf   { background: #fef3c7; color: #b45309; }
.tag-no-pdf{ background: #f1f5f9; color: #94a3b8; }

.cd-admin-item-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}
.cd-admin-view-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 7px;
	background: var(--cd-cream);
	color: var(--cd-text-light);
	text-decoration: none;
	transition: var(--cd-transition);
	font-size: 14px;
}
.cd-admin-view-link:hover {
	background: var(--cd-plum);
	color: #fff;
}
.cd-admin-delete-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 7px;
	border: none;
	background: #fef2f2;
	color: #ef4444;
	cursor: pointer;
	transition: var(--cd-transition);
	font-size: 14px;
}
.cd-admin-delete-btn:hover {
	background: #ef4444;
	color: #fff;
	transform: scale(1.08);
}

/* ---- Series Editor ---- */
.cd-admin-series-editor {
	background: #fff;
	border: 1px solid var(--cd-cream-dark);
	border-radius: 10px;
	padding: 24px 28px;
	box-shadow: var(--cd-shadow);
}

/* ---- Delete Confirmation Overlay ---- */
.cd-admin-confirm-overlay {
	position: fixed;
	inset: 0;
	background: rgba(30,29,27,0.55);
	backdrop-filter: blur(4px);
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	animation: cd-fade-in 0.2s ease;
}
.cd-admin-confirm-box {
	background: #fff;
	border-radius: 14px;
	padding: 36px 40px;
	text-align: center;
	max-width: 380px;
	width: 90%;
	box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}
.cd-admin-confirm-icon {
	font-size: 34px;
	color: #f59e0b;
	display: block;
	margin-bottom: 14px;
}
.cd-admin-confirm-box h4 {
	font-family: var(--cd-font-editorial);
	font-size: 20px;
	color: var(--cd-plum);
	margin: 0 0 8px 0;
}
.cd-admin-confirm-box p {
	font-size: 14px;
	color: var(--cd-text-light);
	margin: 0 0 22px 0;
}
.cd-admin-confirm-actions {
	display: flex;
	gap: 10px;
	justify-content: center;
}

/* ---- Page Header Back Button ---- */
.cd-page-header {
	margin-bottom: 28px;
}
.cd-back-to-hub-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cd-plum);
	text-decoration: none;
	font-weight: 600;
	font-size: 14px;
	transition: var(--cd-transition);
	margin-bottom: 10px;
}
.cd-back-to-hub-btn:hover {
	color: var(--cd-gold-hover);
}
.cd-page-title {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 26px;
	margin: 0;
}

/* ---- Responsive ---- */
@media ( max-width: 640px ) {
	.cd-admin-tabs {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 6px;
		padding: 8px;
	}
	.cd-admin-tab-btn {
		flex: 0 0 auto;
		white-space: nowrap;
		font-size: 12px;
		padding: 8px 12px;
	}
	.cd-admin-add-form { padding: 20px; }
	.cd-admin-panel-header { flex-direction: column; align-items: flex-start; gap: 12px; }
	.cd-admin-confirm-box { padding: 24px 20px; }
}

/* ==========================================================================
   BOOK CLUB GUIDES — Premium Grid & 3-Column Detail View
   ========================================================================== */

/* Grid and Cards Layout */
.cd-book-club-grid-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 10px 0;
}

.cd-book-club-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 30px;
}

.cd-book-cover-card {
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	color: inherit;
	cursor: pointer;
	transition: var(--cd-transition);
}

.cd-book-cover-art {
	width: 100%;
	aspect-ratio: 2/3;
	border-radius: var(--cd-radius);
	overflow: hidden;
	position: relative;
	box-shadow: var(--cd-shadow);
	background: var(--cd-cream-dark);
	transition: var(--cd-transition);
}

.cd-book-cover-art img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.cd-book-cover-overlay {
	position: absolute;
	inset: 0;
	background: rgba(92, 4, 3, 0.88);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	opacity: 0;
	transition: var(--cd-transition);
	backdrop-filter: blur(3px);
}

.cd-book-cover-overlay span:first-child {
	font-size: 24px;
}

.cd-book-cover-overlay span:last-child {
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.cd-book-cover-title {
	font-family: var(--cd-font-editorial);
	font-size: 16.5px;
	font-weight: 700;
	color: var(--cd-plum);
	margin: 14px 0 0 0;
	text-align: center;
	line-height: 1.4;
	transition: var(--cd-transition);
}

/* Hover effects */
.cd-book-cover-card:hover .cd-book-cover-art {
	transform: translateY(-8px);
	box-shadow: var(--cd-shadow-hover);
}

.cd-book-cover-card:hover .cd-book-cover-overlay {
	opacity: 1;
}

.cd-book-cover-card:hover .cd-book-cover-art img {
	transform: scale(1.1);
}

.cd-book-cover-card:hover .cd-book-cover-title {
	color: var(--cd-plum-light);
}

/* 3-Column Detail View Layout */
.cd-book-club-detail {
	max-width: 1100px;
	margin: 0 auto;
	animation: cd-fade-in 0.35s ease;
}

.cd-book-club-detail-card {
	display: grid;
	grid-template-columns: 270px 220px 1fr;
	gap: 40px;
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow);
	padding: 40px;
	border: 1px solid rgba(92, 4, 3, 0.05);
	margin-top: 15px;
	transition: var(--cd-transition);
}

.cd-book-club-detail-card:not(:has(.cd-book-club-buy-panel)) {
	grid-template-columns: 270px 1fr;
}

/* Cover Panel */
.cd-book-club-cover-panel {
	display: flex;
	flex-direction: column;
	position: sticky;
	top: 30px;
	align-self: start;
}

.cd-book-club-cover-img {
	width: 100%;
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow);
	border: 1px solid rgba(0, 0, 0, 0.06);
	aspect-ratio: 2/3;
	object-fit: cover;
}

/* Buy Links Panel */
.cd-book-club-buy-panel {
	background: transparent;
	border: none;
	padding: 0;
	height: fit-content;
	position: sticky;
	top: 30px;
	align-self: start;
}

.cd-buy-panel-heading {
	font-size: 13.5px;
	font-weight: 700;
	color: #64748b;
	border-bottom: 2px solid #cbd5e1;
	padding-bottom: 6px;
	margin: 0 0 20px 0;
	letter-spacing: 0.8px;
}

.cd-buy-group {
	margin-bottom: 22px;
}

.cd-buy-group:last-child {
	margin-bottom: 0;
}

.cd-buy-group-heading {
	font-size: 13px;
	font-weight: 700;
	color: #1e1d1b;
	text-transform: none;
	letter-spacing: normal;
	margin: 0 0 8px 0;
}

.cd-buy-links-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.cd-buy-links-list li {
	margin: 0 !important;
	padding: 0 !important;
}
/* .cd-buy-link inherits global premium checkout pill button styles */

/* Autographed Copies Group Box */
.cd-buy-group-autographed {
	background: var(--cd-white);
	border: 1px solid #dde1e7;
	border-radius: 6px;
	padding: 16px;
	margin-bottom: 25px;
}

.cd-buy-group-autographed .cd-buy-group-heading {
	font-size: 13.5px;
	font-weight: 700;
	color: #1e1d1b;
	margin-bottom: 8px;
}

.cd-buy-group-autographed .cd-buy-link {
	font-size: 14px;
	text-decoration: underline !important;
}

/* Content Panel & Guide Questions */
.cd-book-club-content-panel {
	display: flex;
	flex-direction: column;
}

.cd-book-club-guide-header {
	border-bottom: 1px solid var(--cd-cream-dark);
	padding-bottom: 18px;
	margin-bottom: 24px;
}

.cd-book-club-guide-label {
	font-size: 11px;
	font-weight: 700;
	color: var(--cd-plum-light);
	letter-spacing: 0.8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.cd-book-club-spoiler-notice {
	font-size: 13px;
	color: var(--cd-text-light);
	line-height: 1.5;
	margin: 0;
}

.cd-book-club-spoiler-warning {
	color: #c0392b;
	font-weight: 700;
	display: block;
	margin-top: 4px;
}

.cd-book-club-title {
	font-family: var(--cd-font-editorial);
	font-size: 30px;
	color: var(--cd-plum);
	margin: 0 0 20px 0;
	font-weight: 700;
	line-height: 1.25;
}

.cd-book-club-questions {
	font-size: 15px;
	color: var(--cd-text);
	line-height: 1.75;
}

.cd-book-club-questions p {
	margin-bottom: 16px;
}

.cd-book-club-questions ol, 
.cd-book-club-questions ul {
	padding-left: 20px !important;
	margin-bottom: 22px !important;
}

.cd-book-club-questions li {
	margin-bottom: 12px !important;
	line-height: 1.7;
}

/* Pagination Control */
.cd-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
}

.cd-pagination a, 
.cd-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 14px;
	border-radius: 50%;
	background: var(--cd-white);
	border: 1px solid #dde1e7;
	color: var(--cd-text);
	font-weight: 600;
	font-size: 13.5px;
	text-decoration: none;
	transition: var(--cd-transition);
}

.cd-pagination a:hover {
	border-color: var(--cd-plum);
	color: var(--cd-plum);
	background: var(--cd-cream);
}

.cd-pagination span.current {
	background: var(--cd-plum);
	border-color: var(--cd-plum);
	color: #fff;
	box-shadow: 0 3px 8px rgba(92, 4, 3, 0.2);
}

/* Responsive Overrides */
@media (max-width: 900px) {
	.cd-book-club-detail-card {
		grid-template-columns: 1fr !important;
		gap: 30px;
		padding: 30px 24px;
	}
	.cd-book-club-cover-panel {
		max-width: 220px;
		margin: 0 auto;
		position: static !important;
		align-self: auto !important;
	}
	.cd-book-club-buy-panel {
		width: 100%;
		position: static !important;
		align-self: auto !important;
	}
	/* Ensure buy groups are block layout on smaller screens to prevent tight squishing */
	.cd-buy-group {
		display: block !important;
		width: 100% !important;
		margin-bottom: 24px !important;
	}
	.cd-buy-group:last-child {
		margin-bottom: 0 !important;
	}
	/* Lay out store buttons in a neat, responsive grid on smaller viewports */
	.cd-buy-links-list {
		display: grid !important;
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
		gap: 8px !important;
	}
}

/* ==========================================================================
   Center and Constrain Layout on Member Area Pages to prevent being in the corner
   ========================================================================== */
.cd-member-dashboard-page .site-content,
.cd-member-dashboard-page .content-area,
.cd-member-dashboard-page #primary,
.cd-member-dashboard-page main,
.cd-member-dashboard-page .wrap,
.cd-member-dashboard-page article,
.cd-member-login-page .site-content,
.cd-member-login-page .content-area,
.cd-member-login-page #primary,
.cd-member-login-page main,
.cd-member-login-page .wrap,
.cd-member-login-page article,
.cd-member-single-page .site-content,
.cd-member-single-page .content-area,
.cd-member-single-page #primary,
.cd-member-single-page main,
.cd-member-single-page .wrap,
.cd-member-single-page article {
	max-width: 1148px !important; /* 1100px + 24px padding on both sides */
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}

/* Reset sub-elements' max-widths so they don't multiply collapse */
.cd-member-dashboard-page .site-content *,
.cd-member-dashboard-page .content-area *,
.cd-member-dashboard-page #primary *,
.cd-member-dashboard-page main *,
.cd-member-dashboard-page article *,
.cd-member-login-page .site-content *,
.cd-member-login-page .content-area *,
.cd-member-login-page #primary *,
.cd-member-login-page main *,
.cd-member-login-page article *,
.cd-member-single-page .site-content *,
.cd-member-single-page .content-area *,
.cd-member-single-page #primary *,
.cd-member-single-page main *,
.cd-member-single-page article * {
	max-width: none;
}

/* Hide page header title of the theme on Member Area Dashboard and Login Pages */
.cd-member-dashboard-page h1,
.cd-member-dashboard-page .entry-header,
.cd-member-dashboard-page .page-header,
.cd-member-dashboard-page .entry-title,
.cd-member-dashboard-page .page-title,
.cd-member-dashboard-page .page-title-wrap,
.cd-member-dashboard-page .title-bar,
.cd-member-dashboard-page .page-title-container,
.cd-member-login-page h1,
.cd-member-login-page .entry-header,
.cd-member-login-page .page-header,
.cd-member-login-page .entry-title,
.cd-member-login-page .page-title,
.cd-member-login-page .page-title-wrap,
.cd-member-login-page .title-bar,
.cd-member-login-page .page-title-container {
	display: none !important;
}

/* Align page header title of the theme with the layout grid on singular CPT pages */
.cd-member-single-page h1,
.cd-member-single-page .entry-header,
.cd-member-single-page .page-header,
.cd-member-single-page .entry-title,
.cd-member-single-page .page-title,
.cd-member-single-page .page-title-wrap,
.cd-member-single-page .title-bar,
.cd-member-single-page .page-title-container {
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 20px !important;
	margin-bottom: 30px !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
	display: block !important;
}

/* Prevent double padding when nested under our centered site layout */
.cd-member-dashboard-page .cd-dashboard-wrapper,
.cd-member-login-page .cd-auth-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ==========================================================================
   Single Post & Short Story Reader Styles
   ========================================================================== */
.cd-single-post-wrapper {
	background: var(--cd-white);
	border-radius: var(--cd-radius);
	border: 1px solid rgba(92, 4, 3, 0.08);
	box-shadow: var(--cd-shadow);
	padding: 40px 45px;
	margin-top: 10px;
	margin-bottom: 40px;
	box-sizing: border-box;
}

.cd-story-content-full,
.cd-excerpt-content-full,
.cd-media-description-full,
.cd-contest-content-full {
	font-family: var(--cd-font-primary);
	font-size: 16.5px;
	line-height: 1.8;
	color: var(--cd-text);
}

.cd-story-content-full p,
.cd-excerpt-content-full p,
.cd-media-description-full p,
.cd-contest-content-full p {
	margin-top: 0;
	margin-bottom: 20px;
}

/* Elegant editorial styling for reading short stories */
.cd-story-content-full {
	font-size: 17.5px;
	line-height: 1.85;
	color: var(--cd-onyx);
	max-width: 760px;
	margin: 0 auto;
}

/* ==========================================================================
   Book Club Guide Metadata & Tabbed Content Redesign
   ========================================================================== */

/* Metadata block below the cover image */
.cd-book-club-metadata {
	margin-top: 25px;
	text-align: center;
	font-size: 13px;
	line-height: 1.6;
	color: #475569;
	font-family: var(--cd-font-primary);
}

.cd-meta-row {
	margin-bottom: 5px;
}

.cd-meta-subtitle {
	color: #1e1d1b;
	font-size: 14.5px;
}

/* Tab Navigation styling */
.cd-book-club-tab-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	border-bottom: 1.5px solid #cbd5e1;
	margin-bottom: 25px;
	padding-bottom: 0px;
}

.cd-book-club-tab-btn {
	background: #f1f5f9;
	border: none;
	padding: 10px 20px;
	cursor: pointer;
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 14px;
	color: #475569;
	border-radius: 4px 4px 0 0;
	transition: all 0.2s ease;
	outline: none !important;
}

.cd-book-club-tab-btn:hover {
	background: #e2e8f0;
	color: #1e293b;
}

.cd-book-club-tab-btn.active {
	background: #1e293b; /* Dark slate background matching the design */
	color: #ffffff;      /* White text */
}

/* Tab Panels styling */
.cd-book-club-tab-panels {
	position: relative;
}

.cd-book-club-tab-panel {
	display: none;
}

.cd-book-club-tab-panel.active {
	display: block;
	animation: cd-tab-fade-in 0.3s ease;
}

@keyframes cd-tab-fade-in {
	from { opacity: 0; transform: translateY(3px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Responsive video embed wrapper */
.cd-responsive-video-wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
	height: 0;
	overflow: hidden;
	max-width: 100%;
	margin-bottom: 18px;
	border-radius: 8px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}
.cd-responsive-video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ==========================================================================
   Antigravity Premium Mobile Responsiveness Upgrades
   ========================================================================== */

/* Target tablet and general mobile viewports (<= 768px) */
@media (max-width: 768px) {
	/* Grid improvements for compact viewports */
	.cd-hub-grid {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
		gap: 20px !important;
	}
	.cd-stories-grid {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
		gap: 20px !important;
	}
	.cd-footers-grid {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
		gap: 16px !important;
	}
	.cd-gallery-grid {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
		gap: 20px !important;
	}

	/* Compact profile and dashboard header */
	.cd-dashboard-header {
		padding: 20px 15px !important;
		margin-bottom: 25px !important;
	}
	.cd-user-profile-summary {
		gap: 12px !important;
	}
	.cd-avatar-placeholder {
		font-size: 48px !important;
	}
	.cd-user-meta-info h2 {
		font-size: 20px !important;
	}

	/* Centered actions layout in header */
	.cd-dashboard-actions {
		display: flex !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		width: 100% !important;
		margin-top: 5px !important;
	}
	.cd-dashboard-actions a {
		flex: 1 1 auto !important;
		min-width: 120px !important;
		text-align: center !important;
		justify-content: center !important;
		font-size: 13px !important;
		padding: 10px 20px !important;
	}

	/* Auth card container & locked block margins and paddings */
	.cd-auth-container {
		padding: 20px 16px !important;
	}
	.cd-auth-box {
		padding: 25px 20px !important;
	}
	.cd-auth-header {
		margin-bottom: 20px !important;
	}
	.cd-auth-header h2 {
		font-size: 22px !important;
	}
	.cd-locked-warning {
		padding: 30px 20px !important;
		margin: 20px auto !important;
		width: calc(100% - 32px) !important;
	}

	/* Scrollable horizontally instead of breaking columns or wrapping */
	.cd-book-club-tab-nav,
	.cd-admin-tabs {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding-bottom: 6px !important;
		gap: 8px !important;
	}
	.cd-book-club-tab-nav {
		border-bottom: 2px solid #cbd5e1 !important;
	}
	.cd-book-club-tab-btn,
	.cd-admin-tab-btn {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		padding: 8px 16px !important;
		font-size: 13.5px !important;
	}
	.cd-book-club-tab-btn {
		border-radius: 4px 4px 0 0 !important;
	}
	.cd-admin-tab-btn {
		border-radius: 8px !important;
	}

	/* Single Book Club Guide Detail Card mobile scaling overrides */
	.cd-book-club-detail-card {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
		padding: 25px 20px !important;
	}
	.cd-book-club-detail-card .cd-book-club-cover-panel {
		max-width: 220px !important;
		margin: 0 auto !important;
		position: static !important;
		align-self: auto !important;
		background: transparent !important;
		border-right: none !important;
		padding: 0 !important;
	}
	.cd-book-club-detail-card .cd-book-club-buy-panel {
		width: 100% !important;
		position: static !important;
		align-self: auto !important;
		background: transparent !important;
		border-right: none !important;
		padding: 0 !important;
	}
	.cd-book-club-detail-card .cd-book-club-content-panel {
		padding: 0 !important;
	}
}

/* Target smaller mobile viewports (<= 580px) */
@media (max-width: 580px) {
	/* Admin items list rows stacked vertically */
	.cd-admin-item-row {
		flex-direction: column !important;
		align-items: stretch !important;
		padding: 16px !important;
		gap: 12px !important;
	}
	.cd-admin-item-thumb,
	.cd-admin-item-thumb-placeholder {
		width: 64px !important;
		height: 64px !important;
		align-self: center !important;
	}
	.cd-admin-item-info {
		width: 100% !important;
		text-align: center !important;
		align-items: center !important;
	}
	.cd-admin-item-actions {
		justify-content: center !important;
		border-top: 1px solid var(--cd-cream-dark) !important;
		padding-top: 12px !important;
		width: 100% !important;
		gap: 12px !important;
	}
	.cd-admin-view-link,
	.cd-admin-delete-btn {
		width: 40px !important;
		height: 40px !important;
		font-size: 16px !important;
	}
}

/* Target narrow phone viewports (<= 480px) */
@media (max-width: 480px) {
	.cd-dashboard-wrapper {
		padding: 0 14px !important;
	}

	/* Force single-column block layout for grids */
	.cd-hub-grid, 
	.cd-stories-grid, 
	.cd-footers-grid, 
	.cd-gallery-grid {
		grid-template-columns: 1fr !important;
		gap: 15px !important;
	}

	/* Stack dashboard actions vertically */
	.cd-dashboard-actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.cd-dashboard-actions a {
		width: 100% !important;
	}

	/* Mailing list lounge columns and cards spacing */
	.cd-mailing-columns {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}
	.cd-mailing-card {
		padding: 24px 20px !important;
	}
	.cd-mailing-header h2 {
		font-size: 24px !important;
	}

	/* Book Club Guide Detail buy links spacing */
	.cd-buy-links-list {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)) !important;
		gap: 6px !important;
	}
}

/* ============================================================
   Shared Admin WYSIWYG Rich Text Editor Styles
   ============================================================ */
.cd-wysiwyg-editor-wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.cd-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	background: #f1f5f9;
	border: 1px solid #dde1e7;
	border-bottom: none;
	border-radius: 6px 6px 0 0;
	padding: 8px 10px;
	align-items: center;
}

.cd-tb-btn {
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	padding: 4px 8px;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	transition: all 0.2s ease;
	line-height: 1;
	height: 28px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.cd-tb-btn:hover {
	background: #f8fafc;
	border-color: var(--cd-plum);
	color: var(--cd-plum);
}

.cd-tb-btn .fas, .cd-tb-btn .fab {
	font-size: 13px;
}

.cd-editor-editable {
	width: 100%;
	min-height: 180px;
	max-height: 450px;
	overflow-y: auto;
	border: 1px solid #dde1e7;
	border-top: none;
	border-radius: 0 0 8px 8px !important;
	padding: 12px 14px;
	font-family: var(--cd-font-primary);
	font-size: 14.5px;
	line-height: 1.6;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	display: flow-root;
}

.cd-editor-editable:focus {
	border-color: var(--cd-plum);
	box-shadow: 0 0 0 3px rgba(92, 4, 3, 0.08);
}

.cd-editor-editable:empty::before {
	content: attr(placeholder);
	color: #94a3b8;
	cursor: text;
}

.cd-editor-editable img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
	margin: 10px 0;
}

.cd-editor-editable video {
	max-width: 100%;
	border-radius: 6px;
	display: block;
	margin: 10px 0;
	background: #000;
}

/* ============================================================
   Admin Contest Entries Table & Pagination Styles
   ============================================================ */
.cd-admin-entries-table-wrap {
	border-radius: 8px;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03);
}

.cd-admin-entries-table th {
	background-color: var(--cd-cream);
	color: var(--cd-plum);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0.05em;
	border-bottom: 2px solid var(--cd-cream-dark);
}

.cd-admin-entries-table tr:hover {
	background-color: #fafaf9;
}

.cd-admin-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 600;
	color: #64748b;
	text-decoration: none;
	transition: all 0.2s ease;
	border: 1px solid #cbd5e1;
	background: #fff;
}

.cd-admin-pagination .page-numbers:hover {
	border-color: var(--cd-plum);
	color: var(--cd-plum);
	background: var(--cd-cream);
}

.cd-admin-pagination .page-numbers.current {
	background: var(--cd-plum);
	border-color: var(--cd-plum);
	color: #fff;
}

.cd-admin-pagination .page-numbers.dots {
	border: none;
	background: transparent;
}

/* ==========================================================================
   Login FAQs Accordion Styles
   ========================================================================== */
.cd-login-faqs-wrapper {
	width: 100%;
	max-width: 480px;
	margin-top: 30px;
}

.cd-login-faqs-wrapper h3 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 22px;
	margin-top: 0;
	margin-bottom: 20px;
	text-align: center;
}

.cd-faqs-accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cd-faq-item {
	background: var(--cd-white);
	border: 1px solid rgba(74, 21, 75, 0.08);
	border-radius: var(--cd-radius);
	box-shadow: var(--cd-shadow);
	overflow: hidden;
	transition: var(--cd-transition);
}

.cd-faq-item:hover {
	box-shadow: var(--cd-shadow-hover);
}

.cd-faq-trigger {
	width: 100%;
	background: transparent;
	border: none;
	padding: 18px 24px;
	text-align: left;
	font-family: var(--cd-font-primary);
	font-weight: 600;
	font-size: 15px;
	color: var(--cd-plum);
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	transition: var(--cd-transition);
}

.cd-faq-trigger:focus {
	outline: none;
}

.cd-faq-icon {
	font-size: 14px;
	color: var(--cd-text-light);
	transition: transform 0.3s ease, color 0.3s ease;
}

.cd-faq-item.active .cd-faq-icon {
	transform: rotate(45deg);
	color: var(--cd-plum);
}

.cd-faq-content {
	display: none;
}

.cd-faq-content-inner {
	padding: 0 24px 18px 24px;
	font-size: 14.5px;
	color: var(--cd-text);
	line-height: 1.6;
}

.cd-faq-content-inner p:first-child {
	margin-top: 0;
}

.cd-faq-content-inner p:last-child {
	margin-bottom: 0;
}

/* Custom header layout on login page */
.cd-auth-header-custom {
	text-align: center;
	margin-bottom: 30px;
}
.cd-auth-header-custom h2 {
	font-family: var(--cd-font-editorial);
	color: var(--cd-plum);
	font-size: 26px;
	margin-top: 0;
	margin-bottom: 12px;
}
.cd-auth-header-custom p {
	color: var(--cd-text-light);
	font-size: 14.5px;
	line-height: 1.6;
	margin: 0;
}

/* Lobby Welcome Section and Compact Profile Widget */
.cd-lobby-top-container {
	display: block;
	width: 100%;
	margin-bottom: 40px;
}

.cd-lobby-welcome-section {
	background: var(--cd-cream);
	border: 1px solid var(--cd-cream-dark);
	border-radius: var(--cd-radius);
	padding: 35px;
	box-shadow: var(--cd-shadow);
	position: relative;
}

.cd-lobby-welcome-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.cd-lobby-welcome-header h2 {
	font-family: var(--cd-font-editorial);
	font-size: 32px;
	color: var(--cd-plum);
	margin: 0 !important;
}

.cd-lobby-profile-container {
	position: relative;
	display: inline-block;
}

.cd-lobby-profile-trigger {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	color: var(--cd-plum);
	font-size: 38px;
	cursor: pointer;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--cd-transition);
	outline: none;
}

.cd-lobby-profile-trigger:hover,
.cd-lobby-profile-trigger:focus {
	color: var(--cd-plum-light);
	transform: scale(1.08);
}

.cd-lobby-profile-dropdown {
	display: none;
	position: absolute;
	right: 0;
	top: calc(100% + 12px);
	z-index: 1000;
}

.cd-lobby-profile-container.open .cd-lobby-profile-dropdown {
	display: block;
	animation: cdFadeInDown 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes cdFadeInDown {
	0% {
		opacity: 0;
		transform: translateY(-10px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.cd-lobby-profile-dropdown .cd-lobby-profile-widget {
	width: 300px;
	box-sizing: border-box;
	background: var(--cd-white);
	border: 1px solid rgba(74, 21, 75, 0.12);
	border-radius: var(--cd-radius);
	padding: 25px;
	box-shadow: 0 10px 30px rgba(74, 21, 75, 0.15);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: var(--cd-transition);
}

.cd-lobby-profile-widget:hover {
	box-shadow: var(--cd-shadow-hover);
}

.cd-lobby-welcome-text {
	font-size: 15.5px;
	color: var(--cd-text);
	line-height: 1.65;
	display: flow-root;
}

.cd-lobby-welcome-text p:last-child {
	margin-bottom: 0;
}

/* WordPress Standard Image Alignment Styles inside the Lounge */
.cd-lobby-welcome-text .alignleft,
.cd-editor-editable .alignleft {
	float: left;
	margin: 5px 20px 20px 0;
	display: inline;
}

.cd-lobby-welcome-text .alignright,
.cd-editor-editable .alignright {
	float: right;
	margin: 5px 0 20px 20px;
	display: inline;
}

.cd-lobby-welcome-text .aligncenter,
.cd-editor-editable .aligncenter {
	display: block;
	margin: 10px auto 20px auto;
	float: none;
}

.cd-lobby-welcome-text .alignnone,
.cd-editor-editable .alignnone {
	margin: 5px 20px 20px 0;
}

.cd-lobby-profile-widget {
	background: var(--cd-white);
	border: 1px solid rgba(74, 21, 75, 0.08);
	border-radius: var(--cd-radius);
	padding: 30px;
	box-shadow: var(--cd-shadow);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: var(--cd-transition);
}

.cd-lobby-profile-widget .cd-avatar-placeholder {
	font-size: 60px;
	color: var(--cd-plum);
	margin-bottom: 12px;
	line-height: 1;
}

.cd-lobby-profile-widget .cd-user-meta-info {
	margin-bottom: 20px;
	width: 100%;
}

.cd-lobby-profile-widget .cd-user-meta-info h3 {
	margin: 5px 0 8px 0;
	font-family: var(--cd-font-editorial);
	font-size: 22px;
	color: var(--cd-plum);
	word-wrap: break-word;
}

.cd-lobby-profile-widget .cd-user-sub-since {
	margin: 0;
	font-size: 13px;
	color: var(--cd-text-light);
	line-height: 1.4;
	word-wrap: break-word;
}

.cd-lobby-profile-widget .cd-dashboard-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.cd-lobby-profile-widget .cd-dashboard-actions a {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

.cd-lobby-profile-widget .cd-admin-hub-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--cd-plum);
	color: var(--cd-white) !important;
	font-weight: 600;
	text-decoration: none !important;
	padding: 10px 20px;
	border-radius: 30px;
	border: none;
	cursor: pointer;
	transition: var(--cd-transition);
}

.cd-lobby-profile-widget .cd-admin-hub-btn:hover {
	background: var(--cd-plum-light);
	transform: translateY(-2px);
}

/* Responsive top container layout overrides */
@media (max-width: 768px) {
	.cd-lobby-welcome-section {
		padding: 25px;
	}
	.cd-lobby-welcome-header h2 {
		font-size: 26px;
	}
}

@media (max-width: 576px) {
	.cd-lobby-profile-container.open::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(41, 15, 42, 0.45);
		backdrop-filter: blur(3px);
		-webkit-backdrop-filter: blur(3px);
		z-index: 9999;
	}
	.cd-lobby-profile-container.open .cd-lobby-profile-dropdown {
		display: block;
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		right: auto;
		bottom: auto;
		width: calc(100% - 32px);
		max-width: 320px;
		z-index: 10000;
		animation: cdModalSlideIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
	}
	.cd-lobby-profile-dropdown .cd-lobby-profile-widget {
		width: 100% !important;
		box-sizing: border-box;
		padding: 25px;
		border: 1px solid rgba(74, 21, 75, 0.12);
		box-shadow: 0 10px 30px rgba(74, 21, 75, 0.2);
	}
}

@keyframes cdModalSlideIn {
	0% {
		opacity: 0;
		transform: translate(-50%, -45%) scale(0.96);
	}
	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

/* Responsive Video Container Styles */
.cd-responsive-video-wrap {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 aspect ratio */
	height: 0;
	overflow: hidden;
	max-width: 480px;
	width: 100%;
	margin: 0 auto 15px auto;
	border-radius: 8px;
	background: #000;
}

.cd-responsive-video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: 0;
	border-radius: 8px;
}

/* Disable pointer events inside editor for iframe selection */
.cd-editor-editable iframe {
	pointer-events: none;
}

.cd-editor-editable .cd-responsive-video-wrap {
	cursor: pointer;
}

/* WYSIWYG Editor Media Toolbar */
.cd-editor-media-toolbar {
	position: absolute;
	display: none;
	align-items: center;
	background: var(--cd-plum);
	border: 1px solid var(--cd-plum-light);
	border-radius: 30px;
	padding: 5px 12px;
	box-shadow: 0 5px 15px rgba(74, 21, 75, 0.25);
	z-index: 99999;
	gap: 6px;
}

.cd-editor-media-toolbar .cd-mt-btn {
	background: transparent;
	border: none;
	color: var(--cd-white) !important;
	font-size: 11px;
	font-weight: 600;
	cursor: pointer;
	padding: 4px 8px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: var(--cd-transition);
	outline: none;
	height: 24px;
	box-sizing: border-box;
}

.cd-editor-media-toolbar .cd-mt-btn:hover {
	background: var(--cd-plum-light);
	transform: scale(1.05);
}

.cd-editor-media-toolbar .cd-mt-divider {
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, 0.2);
}

.cd-editor-media-toolbar .cd-mt-delete {
	color: #ff4d4d !important;
}

.cd-editor-media-toolbar .cd-mt-delete:hover {
	background: rgba(255, 77, 77, 0.15);
}

/* =============================================================
   Members Only Nav Button — Permanent Highlight
   Targets only the Members Only item via the stable class
   injected by cd_member_inject_submenu_items() in functions.php.
   This highlight is always-on, not tied to active page state.
   ============================================================= */
.cd-members-only-nav-item > a {
	background-color: #418686 !important;
	color: #ffffff !important;
	padding: 3px 10px !important;
	border-radius: 5px !important;
	display: inline-block !important;
	text-decoration: none !important;
}

/* Subscribe form — first/last name row stacks on mobile */
@media (max-width: 480px) {
	.cd-form-row {
		flex-direction: column !important;
	}
}

/* Feedback & Support Footer styling */
.cd-members-feedback-footer {
	text-align: center;
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid rgba(92, 4, 3, 0.08);
	width: 100%;
	clear: both;
	box-sizing: border-box;
}

.cd-members-feedback-footer p {
	margin: 0;
	font-size: 15px;
	color: var(--cd-text-light);
	line-height: 1.6;
}

.cd-members-feedback-footer a {
	color: var(--cd-plum);
	text-decoration: underline;
	font-weight: 600;
	transition: var(--cd-transition);
}

.cd-members-feedback-footer a:hover {
	color: var(--cd-plum-light);
}

/* ==========================================================================
   Mobile Side Spacing (Gutter) Adjustments
   ========================================================================== */
@media (max-width: 768px) {
	/* Keep nice gutters on the sides of the layout pages and prevent double-padding issues */
	.cd-member-dashboard-page .site-content,
	.cd-member-dashboard-page .content-area,
	.cd-member-dashboard-page #primary,
	.cd-member-dashboard-page main,
	.cd-member-dashboard-page .wrap,
	.cd-member-dashboard-page article,
	.cd-member-login-page .site-content,
	.cd-member-login-page .content-area,
	.cd-member-login-page #primary,
	.cd-member-login-page main,
	.cd-member-login-page .wrap,
	.cd-member-login-page article,
	.cd-member-single-page .site-content,
	.cd-member-single-page .content-area,
	.cd-member-single-page #primary,
	.cd-member-single-page main,
	.cd-member-single-page .wrap,
	.cd-member-single-page article {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.cd-dashboard-wrapper,
	.cd-member-dashboard-page .cd-dashboard-wrapper,
	.cd-auth-container,
	.cd-member-login-page .cd-auth-container {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.cd-page-header,
	.cd-story-single-nav,
	.cd-story-single-nav-footer {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.cd-single-post-wrapper {
		padding: 25px 20px !important;
	}

	.cd-story-content-full {
		font-size: 16.5px;
	}
}

@media (max-width: 480px) {
	/* Further adjust gutters for narrow screens so layout remains elegant and not cramped */
	.cd-member-dashboard-page .site-content,
	.cd-member-dashboard-page .content-area,
	.cd-member-dashboard-page #primary,
	.cd-member-dashboard-page main,
	.cd-member-dashboard-page .wrap,
	.cd-member-dashboard-page article,
	.cd-member-login-page .site-content,
	.cd-member-login-page .content-area,
	.cd-member-login-page #primary,
	.cd-member-login-page main,
	.cd-member-login-page .wrap,
	.cd-member-login-page article,
	.cd-member-single-page .site-content,
	.cd-member-single-page .content-area,
	.cd-member-single-page #primary,
	.cd-member-single-page main,
	.cd-member-single-page .wrap,
	.cd-member-single-page article {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.cd-dashboard-wrapper,
	.cd-member-dashboard-page .cd-dashboard-wrapper,
	.cd-auth-container,
	.cd-member-login-page .cd-auth-container {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.cd-page-header,
	.cd-story-single-nav,
	.cd-story-single-nav-footer {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.cd-single-post-wrapper {
		padding: 20px 14px !important;
		border-radius: 8px !important;
	}

	.cd-story-content-full {
		font-size: 16px;
	}

	.cd-locked-warning {
		width: calc(100% - 28px) !important;
	}
}