.coco-bsheet {
	position: fixed; inset: 0; z-index: 999999; display: none;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.coco-bsheet.is-open { display: block; }
.coco-bsheet__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.7); backdrop-filter: blur(4px); }
.coco-bsheet__panel {
	position: absolute; left: 50%; bottom: 0; transform: translateX(-50%) translateY(100%);
	width: 100%; max-width: 560px; max-height: 90vh;
	background: #0a0a0a; color: #faf7f0;
	border-radius: 16px 16px 0 0;
	display: flex; flex-direction: column;
	box-shadow: 0 -10px 40px rgba(0,0,0,0.6);
	transition: transform 320ms cubic-bezier(0.2, 0.7, 0.3, 1);
	overflow: hidden;
}
.coco-bsheet.is-open .coco-bsheet__panel { transform: translateX(-50%) translateY(0); }
@media (min-width: 720px) {
	.coco-bsheet__panel { bottom: auto; top: 50%; transform: translate(-50%, -45%) scale(0.96); border-radius: 16px; }
	.coco-bsheet.is-open .coco-bsheet__panel { transform: translate(-50%, -50%) scale(1); }
}
.coco-bsheet__close {
	position: absolute; top: 12px; right: 12px; z-index: 2;
	background: rgba(255,255,255,0.08); color: #faf7f0; border: none;
	width: 32px; height: 32px; border-radius: 50%; font-size: 20px; line-height: 1;
	cursor: pointer;
}
.coco-bsheet__header { display: flex; gap: 16px; padding: 20px 56px 16px 20px; border-bottom: 1px solid #1a1a1a; }
.coco-bsheet__image { width: 64px; height: 64px; border-radius: 8px; background: #1a1a1a; background-size: cover; background-position: center; flex: none; }
.coco-bsheet__meta { flex: 1; min-width: 0; }
.coco-bsheet__title { font-size: 18px; font-weight: 600; margin: 0 0 4px; line-height: 1.3; }
.coco-bsheet__date { font-size: 12px; color: rgba(250,247,240,0.55); margin: 0; letter-spacing: 0.5px; }
.coco-bsheet__tabs { display: flex; border-bottom: 1px solid #1a1a1a; padding: 0 8px; }
.coco-bsheet__tab {
	flex: 1; background: none; border: none; color: rgba(250,247,240,0.55);
	padding: 14px 8px; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 600;
	cursor: pointer; border-bottom: 2px solid transparent;
}
.coco-bsheet__tab.is-active { color: #c9a96e; border-bottom-color: #c9a96e; }
.coco-bsheet__tab:disabled { color: rgba(250,247,240,0.2); cursor: default; }
.coco-bsheet__body { flex: 1; overflow-y: auto; padding: 16px 20px; }
.coco-bsheet__loading, .coco-bsheet__empty { padding: 32px 8px; text-align: center; color: rgba(250,247,240,0.5); font-size: 13px; }
.coco-bsheet__row {
	display: flex; align-items: center; gap: 12px; padding: 14px;
	background: #141414; border: 1px solid #1f1f1f; border-radius: 10px;
	margin-bottom: 10px;
}
.coco-bsheet__row-info { flex: 1; min-width: 0; }
.coco-bsheet__row-title { font-size: 14px; font-weight: 600; margin: 0; }
.coco-bsheet__row-sub { font-size: 12px; color: rgba(250,247,240,0.5); margin: 4px 0 0; }
.coco-bsheet__row-price { font-size: 14px; color: #c9a96e; font-weight: 600; }
.coco-bsheet__qty { display: flex; align-items: center; gap: 6px; }
.coco-bsheet__qty button {
	width: 28px; height: 28px; border-radius: 6px; background: #1f1f1f;
	color: #faf7f0; border: none; font-size: 16px; cursor: pointer;
}
.coco-bsheet__qty button:disabled { opacity: 0.35; cursor: default; }
.coco-bsheet__qty-value { min-width: 16px; text-align: center; font-size: 14px; font-weight: 600; }
.coco-bsheet__row-link {
	display: flex; align-items: center; gap: 12px; padding: 14px;
	background: #141414; border: 1px solid #1f1f1f; border-radius: 10px;
	margin-bottom: 10px; text-decoration: none; color: #faf7f0;
	transition: border-color 0.15s, transform 0.15s;
}
.coco-bsheet__row-link:hover { border-color: #c9a96e; transform: translateX(2px); }
.coco-bsheet__row-link-arrow { color: #c9a96e; font-size: 18px; }
.coco-bsheet__footer {
	padding: 16px 20px; border-top: 1px solid #1a1a1a; display: none; align-items: center; gap: 12px;
}
.coco-bsheet__footer.is-visible { display: block; }
.coco-bsheet__footer-row { display: flex; align-items: center; gap: 12px; }
.coco-bsheet__express { margin-bottom: 10px; }
.coco-bsheet__express iframe { border-radius: 8px; }
.coco-bsheet__footer-total { flex: 1; font-size: 14px; }
.coco-bsheet__footer-total small { color: rgba(250,247,240,0.5); display: block; font-size: 11px; margin-top: 2px; }
.coco-bsheet__cta {
	background: #c9a96e; color: #0a0a0a; border: none;
	padding: 12px 22px; border-radius: 8px; font-size: 13px; font-weight: 700; letter-spacing: 1px;
	text-transform: uppercase; cursor: pointer;
}
.coco-bsheet__cta:disabled { opacity: 0.4; cursor: default; }
.coco-bsheet__row--guestlist { border-color: rgba(201,169,110,0.35); }
.coco-bsheet__gl-btn {
	background: #c9a96e; color: #0a0a0a; border: none;
	padding: 10px 14px; border-radius: 8px; font-size: 12px; font-weight: 700;
	letter-spacing: 0.5px; text-transform: uppercase; cursor: pointer;
	white-space: nowrap; flex-shrink: 0;
}
.coco-bsheet__gl-btn:hover { filter: brightness(1.08); }
body.coco-bsheet-open { overflow: hidden; }
