/* Wigmorean Calendar — in-app guide styles. Namespaced .wigcal-guide-* */

.wigcal-guide-launcher {
	position: fixed;
	right: 16px;
	bottom: 16px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 0;
	background: #0f6e56;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 48px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgba( 0, 0, 0, 0.22 );
	z-index: 99998;
	padding: 0;
	transition: transform 0.12s ease, background 0.12s ease;
}
.wigcal-guide-launcher:hover { background: #0c5946; transform: translateY( -1px ); }
.wigcal-guide-launcher:focus-visible { outline: 3px solid rgba( 15, 110, 86, 0.45 ); outline-offset: 2px; }

.wigcal-guide-overlay {
	position: fixed;
	inset: 0;
	background: rgba( 15, 20, 18, 0.5 );
	display: flex;
	align-items: flex-end;
	justify-content: center;
	z-index: 99999;
	padding: 0;
}
.wigcal-guide-open { overflow: hidden; }
/* Hard dismiss floor — overlay must hide regardless of theme/cache (added fix). */
.wigcal-guide-overlay[hidden] { display: none !important; }


.wigcal-guide-card {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: 88vh;
	overflow-y: auto;
	background: #fff;
	color: #1c2421;
	border-radius: 16px 16px 0 0;
	padding: 28px 20px 24px;
	box-shadow: 0 -8px 30px rgba( 0, 0, 0, 0.25 );
	-webkit-overflow-scrolling: touch;
}
@media ( min-width: 600px ) {
	.wigcal-guide-overlay { align-items: center; }
	.wigcal-guide-card { border-radius: 16px; }
}

.wigcal-guide-close {
	position: absolute;
	top: 8px;
	right: 10px;
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	color: #6b7670;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	border-radius: 8px;
}
.wigcal-guide-close:hover { background: #f1f0ec; color: #1c2421; }

.wigcal-guide-kicker {
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 12px;
	font-weight: 700;
	color: #0f6e56;
	margin-bottom: 4px;
}
.wigcal-guide-title { margin: 0 0 10px; font-size: 22px; line-height: 1.25; }
.wigcal-guide-text { margin: 0 0 18px; font-size: 16px; line-height: 1.5; color: #333d39; }

.wigcal-guide-dots { display: flex; gap: 7px; margin: 0 0 20px; }
.wigcal-guide-dot { width: 8px; height: 8px; border-radius: 50%; background: #d6d9d4; }
.wigcal-guide-dot.is-active { background: #0f6e56; }

.wigcal-guide-actions { display: flex; gap: 10px; justify-content: flex-end; }
.wigcal-guide-btn {
	border: 0;
	border-radius: 10px;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	background: #0f6e56;
	color: #fff;
}
.wigcal-guide-btn:hover { background: #0c5946; }
.wigcal-guide-btn-ghost { background: #f1f0ec; color: #1c2421; }
.wigcal-guide-btn-ghost:hover { background: #e6e4de; }

.wigcal-guide-list { margin: 6px 0 0; }
.wigcal-guide-item {
	padding: 14px 0;
	border-bottom: 1px solid #ececE8;
}
.wigcal-guide-item:last-child { border-bottom: 0; }
.wigcal-guide-item-title { margin: 0 0 4px; font-size: 16px; font-weight: 700; color: #16201c; }
.wigcal-guide-item-how { margin: 0; font-size: 14.5px; line-height: 1.5; color: #41504a; }

.wigcal-guide-tip {
	margin: 18px 0 0;
	padding: 12px 14px;
	background: #f4f8f6;
	border: 1px solid #d8e6e0;
	border-radius: 10px;
	font-size: 13.5px;
	line-height: 1.45;
	color: #2c4a40;
}

@media ( prefers-color-scheme: dark ) {
	.wigcal-guide-card { background: #1b2320; color: #e9efec; }
	.wigcal-guide-text { color: #c3cdc8; }
	.wigcal-guide-item { border-bottom-color: #2c3631; }
	.wigcal-guide-item-title { color: #f0f4f2; }
	.wigcal-guide-item-how { color: #b6c2bc; }
	.wigcal-guide-close { color: #9aa6a0; }
	.wigcal-guide-close:hover { background: #2a332f; color: #fff; }
	.wigcal-guide-btn-ghost { background: #2a332f; color: #e9efec; }
	.wigcal-guide-btn-ghost:hover { background: #333d38; }
	.wigcal-guide-tip { background: #16241f; border-color: #2f4a40; color: #bfe0d4; }
	.wigcal-guide-dot { background: #3a443f; }
}
