/* Sirelo "rate us" widget — normal size (DEV-6494). Two color themes, driven by
   the existing body.c1/body.c2 classes widget.php already outputs from the URL's
   color segment (1 = blue, 2 = gold) — no new PHP color logic needed. */

*
{
	box-sizing: border-box;
}

html, body
{
	margin: 0;
	padding: 5px 0 18px;
	font-family: "Poppins", sans-serif;
}

a
{
	text-decoration: none;
	color: inherit;
	display: block;
}

/* height: 100% belongs on the outer wrapper, not on the two inner anchors -
   #card sizes to its natural content height (see the note below). */
#rate-us-widget
{
	height: 100%;
}

#rate-us-widget
{
	transition: transform .18s ease, box-shadow .18s ease;
}

#rate-us-widget:hover
{
	transform: translateY(-2px);
}

#rate-us-widget:active
{
	transform: translateY(0);
}

/* #card is the outer wrapper: border/radius/shadow wrap card-body AND
   rate-footer together, so the border doesn't stop short of the footer and
   the footer's bottom corners pick up the same rounding (overflow: hidden).
   Sized to its natural content height (not stretched to fill the iframe) —
   matching the approved design, which sets no height on this element at
   all; forcing height:100%+flex:1 here just left the extra vertical space
   as a visible gap between the score row and the footer. */

#card
{
	width: 100%;
	border: 2px solid;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(10, 20, 80, .06), 0 10px 24px -14px rgba(10, 20, 80, .18);
}

#card-body
{
	padding: 14px 18px;
	text-align: center;
}

#ribbon-wrap
{
	display: flex;
	justify-content: center;
	margin-bottom: 12px;
}

#ribbon
{
	position: relative;
	width: 220px;
	max-width: 90%;
	height: 28px;
}

#rb-shape
{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

#ribbon-label
{
	position: absolute;
	top: 0;
	left: 5%;
	width: 90%;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	font-weight: 700;
	/* One line at every frame width: the label must never wrap out of the fixed
	   28px ribbon shape. The embed is fluid (width:100%, max 380px), so below
	   ~318px the text scales with the frame - sized for the longest label,
	   "VERIFIZIERTE UMZUGSFIRMA" (de_DE), down to a 240px frame. At the nominal
	   width this is still 10.5px. */
	font-size: clamp(7px, 3.3vw, 10.5px);
	white-space: nowrap;
	letter-spacing: .1em;
	text-transform: uppercase;
}

#shield
{
	flex: none;
}

#stars
{
	display: flex;
	justify-content: center;
	gap: 3px;
	margin-bottom: 8px;
}

.star-fill-stop
{
	stop-color: var(--star-fill);
}

.star-empty-stop
{
	stop-color: var(--star-empty);
}

#score
{
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 8px;
	font-weight: 800;
	letter-spacing: -.01em;
}

#rating
{
	font-size: 28px;
}

#sep
{
	color: #6B7299;
	font-weight: 400;
	font-size: 20px;
}

#reviews
{
	font-size: 14px;
	font-weight: 600;
	color: #0A0E33;
}

#no-reviews
{
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 8px;
}

#rate-label
{
	font-weight: 700;
	letter-spacing: .16em;
}

#brand-chip
{
	display: inline-flex;
	align-items: center;
	background: #fff;
	border-radius: 4px;
}

#brand-chip img
{
	display: block;
	width: 34px;
	height: 16px;
}

/* Footer layout is not a theme concern - only its colours are (body.c1/body.c2
   below). Keeping the layout unscoped means an unstyled colour can never
   collapse the footer into raw inline spans. */
#rate-footer
{
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Blue theme — dark navy footer */

body.c1
{
	color: #131A4F;
	--star-fill: #2A6CFA;
	--star-empty: #BFD3FA;
}

body.c1 #card
{
	border-color: #2A6CFA;
	color: #131A4F;
}

body.c1 #rb-shape
{
	color: #2A6CFA;
}

body.c1 #ribbon-label,
body.c1 #shield
{
	color: #fff;
}

body.c1 #rate-footer
{
	background: #131A4F;
	color: #fff;
	padding: 10px 14px;
	gap: 10px;
}

body.c1 #rate-label
{
	font-size: 9.5px;
	opacity: .85;
}

body.c1 #brand-chip
{
	padding: 4px 8px;
}

/* Gold theme — light footer (a dark bar reads poorly next to a yellow accent) */

body.c2
{
	color: #131A4F;
	--star-fill: #FABB00;
	--star-empty: #F2E4B8;
}

body.c2 #card
{
	border-color: #FABB00;
	color: #131A4F;
}

body.c2 #rb-shape
{
	color: #FABB00;
}

body.c2 #ribbon-label,
body.c2 #shield
{
	color: #131A4F;
}

body.c2 #rate-footer
{
	background: #FFF8E6;
	border-top: 1px solid #F2E4B8;
	padding: 8px 14px;
	gap: 8px;
}

body.c2 #rate-label
{
	font-size: 8.5px;
	color: #131A4F;
}

body.c2 #brand-chip
{
	border: 1px solid #F2E4B8;
	padding: 3px 7px;
}
