/* Floating family — rotating card + bubble */

.kgr-widget.kgr-cat-floating {
	/* The OUTER section is just a positioning marker — the real widget is
	   absolutely-positioned via .kgr-floating below. */
	position: static;
	max-width: 0; min-height: 0;
}
.kgr-widget.kgr-cat-floating .kgr-floating {
	position: fixed;
	z-index: 99998;
	width: 320px; max-width: calc(100vw - 24px);
	font-size: var(--kgr-fs-body);
}
.kgr-widget.kgr-cat-floating .kgr-pos-bottom-right { bottom: 18px; right: 18px; }
.kgr-widget.kgr-cat-floating .kgr-pos-bottom-left  { bottom: 18px; left: 18px; }
.kgr-widget.kgr-cat-floating .kgr-pos-top-right    { top: 18px; right: 18px; }
.kgr-widget.kgr-cat-floating .kgr-pos-top-left     { top: 18px; left: 18px; }

/* Rotating-card variant */
.kgr-widget.kgr-style-floating-card .kgr-floating {
	background: var(--kgr-card-bg);
	border-radius: var(--kgr-radius);
	box-shadow: var(--kgr-shadow-hard);
	overflow: hidden;
	transition: opacity .25s ease, transform .25s ease;
}
.kgr-widget.kgr-style-floating-card .kgr-floating.kgr-hidden {
	opacity: 0; pointer-events: none;
	transform: translateY(20px);
}
.kgr-widget.kgr-style-floating-card .kgr-floating-close {
	position: absolute; top: 6px; right: 8px;
	background: none; border: 0;
	font-size: 20px; line-height: 1;
	color: var(--kgr-muted); cursor: pointer;
	z-index: 2;
}
.kgr-widget.kgr-style-floating-card .kgr-floating-slide {
	display: none;
	padding: var(--kgr-sp-4);
}
.kgr-widget.kgr-style-floating-card .kgr-floating-slide.kgr-active { display: block; animation: kgr-fadein .25s ease both; }
.kgr-widget.kgr-style-floating-card .kgr-floating-slide .kgr-card {
	border: 0; padding: 0; box-shadow: none; background: transparent;
}
.kgr-widget.kgr-style-floating-card .kgr-floating-foot {
	display: flex; align-items: center; justify-content: center;
	gap: 6px;
	padding: 8px;
	border-top: 1px solid var(--kgr-border);
	font-size: 11px; color: var(--kgr-muted);
}

/* Bubble variant */
.kgr-widget.kgr-style-floating-bubble .kgr-floating { width: auto; }
.kgr-widget.kgr-style-floating-bubble .kgr-floating-trigger {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 14px 8px 8px;
	background: var(--kgr-card-bg);
	border: 1px solid var(--kgr-border);
	border-radius: var(--kgr-radius-pill);
	box-shadow: var(--kgr-shadow-hard);
	color: var(--kgr-fg);
	font-weight: 600;
}
.kgr-widget.kgr-style-floating-bubble .kgr-floating-trigger:hover { background: var(--kgr-accent-soft); }
.kgr-widget.kgr-style-floating-bubble .kgr-floating-bubble-count { font-size: 13px; color: var(--kgr-fg); }
.kgr-widget.kgr-style-floating-bubble .kgr-floating-panel {
	position: absolute; bottom: calc(100% + 10px); right: 0;
	width: 360px; max-width: calc(100vw - 24px);
	max-height: 60vh; overflow-y: auto;
	background: var(--kgr-card-bg);
	border-radius: var(--kgr-radius);
	box-shadow: var(--kgr-shadow-hard);
	opacity: 0; transform: translateY(8px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}
.kgr-widget.kgr-style-floating-bubble .kgr-pos-bottom-left .kgr-floating-panel { left: 0; right: auto; }
.kgr-widget.kgr-style-floating-bubble .kgr-pos-top-right .kgr-floating-panel,
.kgr-widget.kgr-style-floating-bubble .kgr-pos-top-left .kgr-floating-panel {
	bottom: auto; top: calc(100% + 10px);
}
.kgr-widget.kgr-style-floating-bubble.kgr-open .kgr-floating-panel {
	opacity: 1; transform: none; pointer-events: auto;
}
.kgr-widget.kgr-style-floating-bubble .kgr-floating-panel-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: var(--kgr-sp-3) var(--kgr-sp-4);
	border-bottom: 1px solid var(--kgr-border);
}
.kgr-widget.kgr-style-floating-bubble .kgr-floating-panel-score {
	display: inline-flex; gap: 4px; align-items: center;
	color: var(--kgr-muted); font-size: var(--kgr-fs-small);
}
.kgr-widget.kgr-style-floating-bubble .kgr-floating-panel-body {
	display: flex; flex-direction: column; gap: var(--kgr-sp-3);
	padding: var(--kgr-sp-4);
}
.kgr-widget.kgr-style-floating-bubble .kgr-floating-panel-body .kgr-card {
	border: 0; border-bottom: 1px solid var(--kgr-border); border-radius: 0;
	padding: 0 0 var(--kgr-sp-3); box-shadow: none; background: transparent;
}
.kgr-widget.kgr-style-floating-bubble .kgr-floating-panel-body .kgr-card:last-child { border-bottom: 0; padding-bottom: 0; }
