/*
 * Styled calendar popover (.bto-cal) — shared by the hotel stay bars (range
 * mode) and the golf booking widget's play-date field (single mode). Only the
 * CARD is styled here; the trigger segment(s) belong to each surface
 * (hotel-stay.css / booking.css). Tokens only, fallbacks match the theme.
 */

.bto-cal-pop {
	position: absolute; top: calc(100% + 10px); left: 0; z-index: 96;
	width: 340px; max-width: 94vw;
	background: var(--bto-surface, #fff);
	border: 1px solid var(--bto-border, #e0e8e4);
	border-radius: var(--bto-radius-lg, 20px);
	box-shadow: var(--bto-shadow-3, 0 16px 44px rgba(28, 29, 31, .18));
	padding: 1.2rem 1.3rem 1.3rem;
	text-transform: none;
}

.bto-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .8rem; }
.bto-cal-month { font-size: 1rem; font-weight: 700; color: var(--bto-ink, #000000); }
.bto-cal-nav {
	box-sizing: border-box;
	width: 32px; height: 32px; min-width: 32px; padding: 0; flex: 0 0 auto;
	border-radius: 999px;
	border: 1px solid var(--bto-border-strong, #c6d3cc);
	background: var(--bto-surface, #fff); color: var(--bto-green, #027a4e);
	font-size: 18px; line-height: 1; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
}
.bto-cal-nav:hover,
.bto-cal-nav:focus { border-color: var(--bto-green, #027a4e); background: var(--bto-green-soft, #e8f9f0); color: var(--bto-green, #027a4e); outline: 0; }

.bto-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px 0; justify-items: center; }
.bto-cal-wd { font-size: .75rem; font-weight: 600; color: var(--bto-muted, #656c70); padding: .3rem 0 .45rem; }

.bto-cal-day {
	box-sizing: border-box;
	width: 38px; height: 38px; padding: 0;
	border: 0; border-radius: 999px; background: transparent;
	font-size: .95rem; font-weight: 500; color: var(--bto-ink, #000000);
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
}
.bto-cal-day:hover,
.bto-cal-day:focus { background: var(--bto-green-soft, #e8f9f0); color: var(--bto-ink, #000000); outline: 0; }
.bto-cal-day:disabled { color: var(--bto-border-strong, #c6d3cc); cursor: default; background: none; }
.bto-cal-day.is-mid { background: var(--bto-green-soft, #e8f9f0); border-radius: 0; width: 100%; }
.bto-cal-day.is-start,
.bto-cal-day.is-end {
	background: var(--bto-green, #027a4e); color: var(--bto-green-fg, #ffffff);
	font-weight: 700;
}
.bto-cal-day.is-start:hover,
.bto-cal-day.is-end:hover { background: var(--bto-green-hover, #026845); color: var(--bto-green-fg, #ffffff); }

/* The green calendar glyph inside a trigger segment (골프 위젯의 아이콘을
   호텔 날짜 필드에도 채택 — 대표 2026-08-04). Sized per surface. */
.bto-cal-ico { color: var(--bto-green, #027a4e); flex: 0 0 auto; }
