/**
 * Dokkan Meetings — Frontend styles.
 *
 * Only functional styles — visual styling is handled by the theme / page builder.
 */

/* Primary action buttons (register / watch recording) — full-width orange */
.dokkan-meeting-actions__attend,
.dokkan-meeting-actions__watch {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.9em 1.75em;
	font-family: var(--font-body, system-ui, sans-serif);
	font-size: var(--text-m, 1rem);
	font-weight: 600;
	line-height: 1;
	border: 2px solid var(--primary, #F8991D);
	border-radius: var(--radius, 0.5rem);
	background-color: var(--primary, #F8991D);
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.dokkan-meeting-actions__attend:hover,
.dokkan-meeting-actions__watch:hover {
	background-color: var(--primary-hover, #E08A1A);
	border-color: var(--primary-hover, #E08A1A);
}

/* Disabled button state */
.dokkan-meeting-actions__attend:disabled,
.dokkan-meeting-actions__watch:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Unregister link */
.dokkan-meeting-actions__unregister {
	margin-block-start: var(--space-xs, 0.5rem);
	text-align: center;
}

.dokkan-meeting-actions__unregister-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.4em 1em;
	font-family: var(--font-body, system-ui, sans-serif);
	font-size: var(--text-xs, 0.8rem);
	font-weight: 500;
	line-height: 1;
	color: var(--base-light, #8A9DB5);
	background-color: transparent;
	border: 1px solid var(--neutral-semi-light, #D8D5CE);
	border-radius: var(--radius, 0.5rem);
	text-decoration: none;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.dokkan-meeting-actions__unregister-link:hover {
	color: var(--error, #DC2626);
	border-color: var(--error, #DC2626);
}

/* Teams link button */
.dokkan-meeting-actions__teams {
	margin-block-start: var(--space-m, 1rem);
}

.dokkan-meeting-actions__teams-btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	padding: 0.9em 1.75em;
	font-family: var(--font-body, system-ui, sans-serif);
	font-size: var(--text-m, 1rem);
	font-weight: 600;
	line-height: 1;
	border: 2px solid var(--base-ultra-dark, #1A2738);
	border-radius: var(--radius, 0.5rem);
	background-color: var(--base-ultra-dark, #1A2738);
	color: #fff !important;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.dokkan-meeting-actions__teams-btn:hover {
	background-color: var(--base-dark, #2A3F5A);
	border-color: var(--base-dark, #2A3F5A);
	color: #fff !important;
}

/* Calendar links (download .ics + Google Calendar) */
.dokkan-meeting-actions__ics {
	margin-block-start: var(--space-m, 1rem);
	text-align: center;
}

.dokkan-meeting-actions__gcal {
	margin-block-start: var(--space-xs, 0.5rem);
	text-align: center;
}

.dokkan-meeting-actions__ics-link,
.dokkan-meeting-actions__gcal-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: 0.6em 1.5em;
	font-family: var(--font-body, system-ui, sans-serif);
	font-size: var(--text-s, 0.875rem);
	font-weight: 600;
	line-height: 1;
	border: 2px solid var(--neutral-semi-light, #D8D5CE);
	border-radius: var(--radius, 0.5rem);
	background-color: transparent;
	color: var(--base, #3D5A80);
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.dokkan-meeting-actions__ics-link::before,
.dokkan-meeting-actions__gcal-link::before {
	content: "\1F4C5";
}

.dokkan-meeting-actions__ics-link:hover,
.dokkan-meeting-actions__gcal-link:hover {
	background-color: var(--neutral-ultra-light, #F7F6F3);
	border-color: var(--base-light, #8A9DB5);
}

/* ------------------------------------------------------------------ */
/*  Vimeo modal                                                       */
/* ------------------------------------------------------------------ */

.dokkan-vimeo-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 999999;
}

.dokkan-vimeo-modal--open {
	display: flex;
	align-items: center;
	justify-content: center;
}

.dokkan-vimeo-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.8);
}

.dokkan-vimeo-modal__content {
	position: relative;
	width: 90vw;
	max-width: 960px;
	z-index: 1;
}

.dokkan-vimeo-modal__close {
	position: absolute;
	top: -40px;
	right: 0;
	background: none;
	border: none;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	padding: 4px 8px;
}

.dokkan-vimeo-modal__close:hover {
	opacity: 0.7;
}

/* Responsive 16:9 player */
.dokkan-vimeo-modal__player {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	background: #000;
	border-radius: 4px;
}

.dokkan-vimeo-modal__player iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
