/**
 * BetterCal — Editorial Preset
 *
 * Newspaper/editorial aesthetic: serif typography, dense layout,
 * muted palette with deep red accent, thin borders, no shadows.
 *
 * All rules scoped to .bettercal-preset-editorial
 */

/* ==========================================================================
   Custom Properties Override
   ========================================================================== */

.bettercal-preset-editorial {
	--bettercal-accent: #c41d3a;
	--bettercal-accent-hover: #a01830;
	--bettercal-text: #1a1a1a;
	--bettercal-text-muted: #555555;
	--bettercal-text-light: #888888;
	--bettercal-bg: #ffffff;
	--bettercal-bg-alt: #fafafa;
	--bettercal-border: #e0e0e0;
	--bettercal-border-light: #eeeeee;
	--bettercal-radius: 0;
	--bettercal-radius-sm: 0;
	--bettercal-radius-lg: 0;
	--bettercal-shadow: none;
	--bettercal-shadow-lg: none;
	--bettercal-font-family: 'Source Serif Pro', Georgia, 'Times New Roman', serif;
	--bettercal-transition: 0.15s ease;
}

/* ==========================================================================
   Typography
   ========================================================================== */

.bettercal-preset-editorial h1,
.bettercal-preset-editorial h2,
.bettercal-preset-editorial h3,
.bettercal-preset-editorial h4,
.bettercal-preset-editorial h5,
.bettercal-preset-editorial h6,
.bettercal-preset-editorial .bettercal-calendar-title,
.bettercal-preset-editorial .bettercal-single-event-title,
.bettercal-preset-editorial .bettercal-event-item .bettercal-event-title,
.bettercal-preset-editorial .bettercal-countdown-title,
.bettercal-preset-editorial .bettercal-modal-title {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-weight: 400;
}

.bettercal-preset-editorial .bettercal-single-event-title {
	font-size: 36px;
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.bettercal-preset-editorial .bettercal-event-item .bettercal-event-title {
	font-size: 17px;
	font-weight: 400;
	line-height: 1.35;
}

/* ==========================================================================
   Links
   ========================================================================== */

.bettercal-preset-editorial a {
	color: var(--bettercal-accent);
	text-decoration: none;
}

.bettercal-preset-editorial a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Badges
   ========================================================================== */

.bettercal-preset-editorial .bettercal-badge {
	background: transparent;
	color: var(--bettercal-text-muted);
	border: 1px solid var(--bettercal-border);
	border-radius: 0;
	font-variant: small-caps;
	letter-spacing: 0.06em;
	font-weight: 400;
	text-transform: lowercase;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.bettercal-preset-editorial .bettercal-btn {
	border-radius: 0;
	font-family: 'Source Serif Pro', Georgia, serif;
	font-weight: 400;
	letter-spacing: 0.02em;
	border-color: var(--bettercal-text);
	color: var(--bettercal-text);
}

.bettercal-preset-editorial .bettercal-btn:hover {
	background-color: var(--bettercal-text);
	border-color: var(--bettercal-text);
	color: #fff;
}

/* ==========================================================================
   Calendar Grid
   ========================================================================== */

.bettercal-preset-editorial .bettercal-calendar {
	border: none;
	border-radius: 0;
}

.bettercal-preset-editorial .bettercal-calendar-header {
	border-bottom: 3px double var(--bettercal-border);
	padding: 12px 16px;
}

.bettercal-preset-editorial .bettercal-calendar-title {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: -0.01em;
}

.bettercal-preset-editorial .bettercal-nav-prev,
.bettercal-preset-editorial .bettercal-nav-next {
	border: none;
	border-radius: 0;
	color: var(--bettercal-text);
}

.bettercal-preset-editorial .bettercal-nav-prev:hover,
.bettercal-preset-editorial .bettercal-nav-next:hover {
	color: var(--bettercal-accent);
	background: transparent;
}

.bettercal-preset-editorial .bettercal-day-header {
	font-family: 'Source Serif Pro', Georgia, serif;
	font-variant: small-caps;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: lowercase;
	background: transparent;
	border-bottom: 1px solid var(--bettercal-border);
	padding: 8px 4px;
}

.bettercal-preset-editorial .bettercal-day-cell {
	min-height: 80px;
	padding: 6px;
	border-color: var(--bettercal-border-light);
}

.bettercal-preset-editorial .bettercal-day-cell:hover {
	background: transparent;
}

.bettercal-preset-editorial .bettercal-day-cell.is-today .bettercal-day-number {
	background-color: var(--bettercal-accent);
	width: 24px;
	height: 24px;
	font-size: 12px;
}

.bettercal-preset-editorial .bettercal-day-number {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13px;
	font-weight: 400;
}

.bettercal-preset-editorial .bettercal-event-dot {
	width: 6px;
	height: 6px;
}

/* ==========================================================================
   Event List
   ========================================================================== */

.bettercal-preset-editorial .bettercal-event-list > .bettercal-event-item {
	border-bottom: 1px solid var(--bettercal-border-light);
}

.bettercal-preset-editorial .bettercal-cards-grid > .bettercal-event-card {
	box-shadow: none;
	border: 1px solid var(--bettercal-border);
	border-top: 3px solid var(--bettercal-accent);
}

.bettercal-preset-editorial .bettercal-cards-grid > .bettercal-event-card:hover {
	box-shadow: none;
	transform: none;
	border-color: var(--bettercal-accent);
}

/* Image filter */
.bettercal-preset-editorial .bettercal-event-image img {
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}

.bettercal-preset-editorial .bettercal-event-item:hover .bettercal-event-image img {
	filter: grayscale(0);
	transform: none;
}

.bettercal-preset-editorial .bettercal-single-event-image img {
	filter: grayscale(100%);
	transition: filter 0.3s ease;
}

.bettercal-preset-editorial .bettercal-single-event-image:hover img {
	filter: grayscale(0);
}

/* Date badge */
.bettercal-preset-editorial .bettercal-event-date-badge {
	background: transparent;
	color: var(--bettercal-text);
	border: 1px solid var(--bettercal-border);
}

.bettercal-preset-editorial .bettercal-event-date-month {
	color: var(--bettercal-accent);
	letter-spacing: 0.1em;
}

.bettercal-preset-editorial .bettercal-event-date-day {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
}

/* Meta */
.bettercal-preset-editorial .bettercal-event-meta > span {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 11px;
}

/* Compact layout */
.bettercal-preset-editorial .bettercal-compact-date {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 12px;
}

/* ==========================================================================
   Single Event
   ========================================================================== */

.bettercal-preset-editorial .bettercal-event-details {
	border-bottom: 1px solid var(--bettercal-border-light);
}

.bettercal-preset-editorial .bettercal-event-details-heading {
	font-family: 'Source Serif Pro', Georgia, serif;
	font-variant: small-caps;
	text-transform: lowercase;
	letter-spacing: 0.08em;
	font-weight: 400;
	font-size: 13px;
	color: var(--bettercal-accent);
}

.bettercal-preset-editorial .bettercal-event-organizer {
	background: transparent;
	border: 1px solid var(--bettercal-border);
	border-top: 2px solid var(--bettercal-accent);
}

.bettercal-preset-editorial .bettercal-event-cost {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
}

/* ==========================================================================
   Countdown
   ========================================================================== */

.bettercal-preset-editorial .bettercal-countdown-segment {
	background: transparent;
	border: 1px solid var(--bettercal-border);
}

.bettercal-preset-editorial .bettercal-countdown-value {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
	font-size: 32px;
}

.bettercal-preset-editorial .bettercal-countdown-label {
	font-variant: small-caps;
	text-transform: lowercase;
	letter-spacing: 0.08em;
}

/* ==========================================================================
   Mini Calendar
   ========================================================================== */

.bettercal-preset-editorial .bettercal-mini-calendar {
	border-radius: 0;
}

.bettercal-preset-editorial .bettercal-mini-calendar-header {
	border-bottom: 2px double var(--bettercal-border);
}

.bettercal-preset-editorial .bettercal-mini-calendar-title {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
}

/* ==========================================================================
   Categories
   ========================================================================== */

.bettercal-preset-editorial .bettercal-category-item {
	border-radius: 0;
	border: none;
	border-bottom: 1px solid var(--bettercal-border-light);
}

.bettercal-preset-editorial .bettercal-category-item:hover {
	box-shadow: none;
}

.bettercal-preset-editorial .bettercal-category-name {
	font-family: 'Playfair Display', Georgia, serif;
	font-weight: 400;
}

/* ==========================================================================
   Modal
   ========================================================================== */

.bettercal-preset-editorial .bettercal-modal {
	border-radius: 0;
}

.bettercal-preset-editorial .bettercal-modal-title {
	font-size: 22px;
	font-weight: 400;
}
