/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

#all_winner_button {
	align-items: center;
	gap: 7px;
	padding: 8px 16px;
	border-radius: 99px;
	background: #28b893 !important;
	border: 1px solid rgba(20, 22, 30, 0.12) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.05);
	transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background-color 0.16s ease, color 0.16s ease;
}


.date-range-hippo-buttons .button:hover {
	background-color: #000000;
	color: #ffffff !important;
}


.switch_mode_buttons_hippo .button {	
	background-color: var(--e-global-color-primary) !important;
	color: #ffffff !important;
}

.current-hot-potato-counter {
	text-align: center;
	padding: 20px 10px 10px 10px;
	background: #110100;
    border-radius: 10px 10px 0 0;
    color: #ffffff;
	text-shadow: 0 0 5px #000, 0 0 10px #000, 0 0 15px #000, 0 0 20px #393939, 0 0 30px #393939, 0 0 40px #393939;
}

.current-hot-potato-name {
	color: #ffffff;
	text-align: center;
	text-shadow: 0 0 5px #ff4500, 0 0 10px #ff4500, 0 0 15px #ff4500, 0 0 20px #ff6347, 0 0 30px #ff6347, 0 0 40px #ff6347;
	font-weight: 900;
}



.bold-standout-hippo {
	background-color: black;
	color: #ffffff;
	padding: 20px; 
	text-align: center;
	border: solid 1px #ffffff;
}


.date-range-hippo-buttons {
display: flex;
    justify-content: center;
    gap: 10px;
    margin: 10px 0px;
    flex-direction: row;
    flex-wrap: wrap;
    max-height: 100px;
    overflow: auto;
}

.hippo-p-center, .no-winners-hungry-hippo {
	text-align: center;
}

.hippo_box_ranking_score {
	display: inline-block;	
}

.hippo_ranking_boxes_container {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
	margin-bottom: 25px;
	gap: 25px;
}

.winning-user-leadboard a {
	color: #ffffff;
}

.yesterday-results-hippo-parent {
	text-align: center;
}

.yesterday-results-hippo {
	color: blue;
	text-align: center;
}

.leaderboard-title-hippo {
	font-size: 16px;
	display: block;
}

.hippo_box_name small, .previous_winner_hippo_box small {
	display: block;
}

.hippo-leaderboard-table thead {
	background: #EEA636;
	text-align: left; 
	color: #ffffff;
}

table.hippo-leaderboard-table td, table.hippo-leaderboard-table th {
	border: none !important;
}

.leaderboard_instant_winners_parent h3, .hungry_hippo_leaderboard_parent h3 {
	text-align:center;
}

.hippo_ranking_box {
    border-radius: 0;
    background: #6b6b6b;
	flex: 0 0 calc(33% - 20px);
	align-items: center;
	padding: 8px;
    border-radius: 99px;
	display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    gap: 15px;
	align-items: center;
	color: #ffffff;
}

.top_hippo_box_1 {
	background: #FDB618;
}

.top_hippo_box_2 {
	background: #F5802A;
}

.top_hippo_box_3 {
	background: #8652A1;
}

.previous_winner_hippo_box {
    display: grid;
    align-items: center;
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 20px;
	padding: 10px;
    background-color: #30c4a1;    
}

.hippo_box_position {
	font-weight: 600;
	font-size: 25px;
}

.hippo_box_name {
	font-weight: 700;
}

.top_hippo_box_image img, .previous_winner_hippo_box img {
	background: #ffffff73;
    border-radius: 99px !important;
	padding: 1px;
	max-width: 60px !important;
	margin-bottom: -5px;
}    

.previous_winner_hippo_box img {
	margin-bottom: 0px;
}

.hippo_box_position {
	text-align: center;
}

/* HOT POTATO SPECIFIC CSS */


body.hot_potato_competition .hippo_ranking_boxes_container:before {
	content: "Current Leader";
    width: 100%;
    text-align: center;
    margin-bottom: -20px;
    font-size: 20px;
    font-weight: 900;
}

body.hot_potato_competition .announce-hot-potato {
	font-size: 20px;
    font-weight: 900;
}

body.hot_potato_competition .leaderboard_instant_winners_parent.hungry_hippo_leaderboard_parent {
box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 20px;
    border-radius: 10px;
	    background-color: #ffffff;
    background-image: url(/wp-content/plugins/hungry-hippo-think/public/images/potpattern.png);
    background-size: 150px;
    background-repeat: repeat;
}



body.hot_potato_competition .hippo-leaderboard-table thead {
	text-align: left;
	color: #ffffff;
}



body.hot_potato_competition .hippo-leaderboard-table thead {

	text-align: left;

	color: #ffffff;

}







body.hot_potato_competition .hippo_ranking_boxes_container:before {

	content: "Current Leader";

    width: 100%;

    text-align: center;

    margin-bottom: -20px;

    font-size: 20px;

    font-weight: 900;

}



body.hot_potato_competition .announce-hot-potato {
	font-size: 20px;
    font-weight: 900;

}

body.hot_potato_competition .leaderboard_instant_winners_parent.hungry_hippo_leaderboard_parent {

box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;

    padding: 20px;

    border-radius: 10px;

	    background-color: #ffffff;

    background-image: url(/wp-content/plugins/hungry-hippo-think/public/images/potpattern.png);

    background-size: 150px;

    background-repeat: repeat;

}
.above-parent-container-hp {
	gap: 15px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin-bottom: 15px;
}

.hotp-above-counter {
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    padding: 20px;
    border-radius: 10px;
    background-color: #ffffff;
    background-image: url(/wp-content/plugins/hungry-hippo-think/public/images/potpattern.png);
    background-size: 150px;
    background-repeat: repeat;
	text-align: center;
}

.hotp-above-counter span {
	display: block;
    font-size: 28px;
    font-weight: 900;
    margin-bottom: -10px;
}

/* HOT POTATO SPECIFIC CSS */



@media all and (min-width: 1px) and (max-width: 768px) { 

	.hippo-leaderboard-table-parent {
		overflow: auto;
	}
	
	.hippo-leaderboard-table-parent > table {
		min-width: max-content;
	}
	
	.previous_winner_hippo_box {

		max-width: 100%;

	}

	.hippo_ranking_boxes_container .hippo_ranking_box  {

	flex: 0 0 calc(100% - 0px) !important;

}

	.hippo_ranking_boxes_container {

	gap: 10px;

}

	.hippo_ranking_boxes_container {

		margin-bottom: 10px;

	}

	body.hot_potato_competition .hippo_ranking_boxes_container:before {

    margin-bottom: -10px !important;

	}
	
	.above-parent-container-hp {
    flex-wrap: wrap;
}
	.hotp-above-counter {
		width: 100%;
	}

}



/* ============================================================
   Modern date-range / winner buttons
   Drop-in: targets .date-range-hippo-buttons as-is.
   No markup changes. Works in any view mode.
   ============================================================ */

.date-range-hippo-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 14px auto;
	max-height: 132px;
	overflow-y: auto;
	padding: 4px;
	scrollbar-width: thin;
}

/* Base pill */
.leaderboard_instant_winners_parent .date-range-hippo-buttons .button,
.leaderboard_instant_winners_parent .date-range-hippo-buttons .btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 16px;
	border-radius: 99px;
	background: #ffffff !important;
	border: 1px solid rgba(20, 22, 30, 0.12) !important;
	color: #3a3d47 !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.05);
	transition:
		transform 0.16s ease,
		box-shadow 0.16s ease,
		border-color 0.16s ease,
		background-color 0.16s ease,
		color 0.16s ease;
}

.leaderboard_instant_winners_parent .date-range-hippo-buttons .button:hover,
.leaderboard_instant_winners_parent .date-range-hippo-buttons .btn:hover {
	transform: translateY(-2px);
	border-color: rgba(244, 180, 0, 0.55);
	color: #20232e !important;
	background: #fffdf5 !important;
	box-shadow: 0 6px 16px rgba(20, 22, 30, 0.12);
}

.leaderboard_instant_winners_parent .date-range-hippo-buttons .button:active,
.leaderboard_instant_winners_parent .date-range-hippo-buttons .btn:active {
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.08);
}

.leaderboard_instant_winners_parent .date-range-hippo-buttons .button:focus-visible,
.leaderboard_instant_winners_parent .date-range-hippo-buttons .btn:focus-visible {
	outline: 2px solid #f4b400;
	outline-offset: 2px;
}

/* First button = the live / current view, made to stand out */
.leaderboard_instant_winners_parent .date-range-hippo-buttons .button.active {
	background: linear-gradient(135deg, #F4B400 0%, #E07B00 100%) !important;
	border-color: transparent !important;
	color: #ffffff !important;
	font-weight: 800;
	letter-spacing: 0.01em;
	box-shadow: 0px 3px 3px 0px rgba(224, 123, 0, 0.32);
}

.leaderboard_instant_winners_parent .date-range-hippo-buttons .button.active:hover {
	background: linear-gradient(135deg, #FFC22E 0%, #EE8500 100%);
	color: #ffffff;
	box-shadow: 0 7px 18px rgba(224, 123, 0, 0.4);
}

/* Pulsing "live" dot before the first button's label */
.leaderboard_instant_winners_parent .date-range-hippo-buttons .button.active::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4caf50;
	box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
	animation: hh-live-pulse 1.6s ease-out infinite;
}

@keyframes hh-live-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); }
	70%  { box-shadow: 0 0 0 7px rgba(255, 255, 255, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

/* Scrollbar (WebKit) */
.date-range-hippo-buttons::-webkit-scrollbar {
	width: 8px;
}
.date-range-hippo-buttons::-webkit-scrollbar-thumb {
	background: rgba(20, 22, 30, 0.18);
	border-radius: 99px;
}

@media (prefers-reduced-motion: reduce) {
	.date-range-hippo-buttons .button:first-child::before {
		animation: none;
	}
}

@media (max-width: 480px) {
	.date-range-hippo-buttons .button,
	.date-range-hippo-buttons .btn {
		padding: 7px 13px;
		font-size: 12px;
	}
}










/* Leaderboard reset countdown */
.countdown-reset-hungry-hippo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	max-width: max-content;
	margin: 0 auto 22px;
	padding: 16px 22px 18px;
	border-radius: 16px;
	background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
	border: 1px solid rgba(20, 22, 30, 0.08);
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.04), 0 10px 26px rgba(20, 22, 30, 0.08);
	line-height: 1.25;
	position: relative;
	overflow: hidden;
}

/* Accent top edge */
.countdown-reset-hungry-hippo::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: #dbdbdb;
}

.countdown-reset-hungry-hippo .leaderboard-title-hippo {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8a8a82;
}

/* Small pulsing dot before the label */
.countdown-reset-hungry-hippo .leaderboard-title-hippo::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #4caf50;
	box-shadow: 0 0 0 0 rgba(224, 123, 0, 0.5);
	animation: hh-cd-pulse 1.8s ease-out infinite;
}

@keyframes hh-cd-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(224, 123, 0, 0.5); }
	70%  { box-shadow: 0 0 0 6px rgba(224, 123, 0, 0); }
	100% { box-shadow: 0 0 0 0 rgba(224, 123, 0, 0); }
}

.countdown-reset-hungry-hippo #instant-countdown {
	display: inline-block;
	padding: 8px 26px;
	border-radius: 12px;
	background: #ffffff;
	border: 1px solid rgba(20, 22, 30, 0.1);
	box-shadow: inset 0 1px 2px rgba(20, 22, 30, 0.04);
	font-size: 30px;
	font-weight: 800;
	color: #1a1a2e;
	font-variant-numeric: tabular-nums;
	letter-spacing: 1px;
}

@media (prefers-reduced-motion: reduce) {
	.countdown-reset-hungry-hippo .leaderboard-title-hippo::before {
		animation: none;
	}
}

@media (max-width: 480px) {
	.countdown-reset-hungry-hippo {
		max-width: 100%;
	}
	.countdown-reset-hungry-hippo #instant-countdown {
		font-size: 25px;
		padding: 7px 18px;
	}
}



/* ============================================================
   Leaderboard table — refreshed
   ============================================================ */

.hippo-leaderboard-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #ffffff;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.04), 0 10px 26px rgba(20, 22, 30, 0.08);
	font-size: 15px;
}

.hippo-leaderboard-table thead {
	background: linear-gradient(135deg, #F4B400 0%, #E07B00 100%);
	text-align: left;
	color: #ffffff;
}

.hippo-leaderboard-table thead th {
	color: #ffffff;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 14px 18px;
}

.hippo-leaderboard-table thead th:first-child { text-align: center; width: 64px; }
.hippo-leaderboard-table thead th:last-child  { text-align: right; }

table.hippo-leaderboard-table td,
table.hippo-leaderboard-table th {
	border: none !important;
}

.hippo-leaderboard-table td {
	padding: 13px 18px;
	color: #20232e;
	border-bottom: 1px solid rgba(20, 22, 30, 0.05) !important;
	vertical-align: middle;
}

.hippo-leaderboard-table td a {
	color: #20232e !important;
}

.hippo-leaderboard-table tr:last-child td {
	border-bottom: none !important;
}

.hippo-leaderboard-table tbody tr:nth-child(even),
.hippo-leaderboard-table tr:nth-child(even) {
	background: #faf8f2;
}

.hippo-leaderboard-table tr:hover td {
	background: rgba(244, 180, 0, 0.08);
}

.hippo-leaderboard-table td:first-child {
	text-align: center;
	font-weight: 800;
	color: #767a85;
	font-variant-numeric: tabular-nums;
}

.hippo-leaderboard-table td:last-child {
	text-align: right;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.winning-user-leadboard a {
	color: #20232e;
	text-decoration: none;
	font-weight: 600;
}

.winning-user-leadboard a:hover {
	color: #E07B00;
}


/* ============================================================
   Podium / ranking boxes — refreshed
   ============================================================ */

.hippo_ranking_boxes_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 25px;
	gap: 16px;
}

.hippo_ranking_box {
	flex: 0 0 calc(33% - 16px);
	display: grid;
	grid-template-columns: 1fr 3fr 1fr;
	align-items: center;
	gap: 14px;
	padding: 10px 14px;
	border-radius: 99px;
	background: #6b6b6b;
	color: #ffffff;
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.05), 0 3px 10px rgba(20, 22, 30, 0.06);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.hippo_ranking_box:hover {
	transform: translateY(-2px);
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.04), 0 8px 24px rgba(20, 22, 30, 0.12);
}

.top_hippo_box_1 {
	background: linear-gradient(135deg, #FFC93C 0%, #F59E0B 55%, #E07B00 100%);
	color: #ffffff;
}

.top_hippo_box_2 {
	background: linear-gradient(135deg, #FF9D4D 0%, #F5802A 55%, #DE5F12 100%);
}

.top_hippo_box_3 {
	background: linear-gradient(135deg, #9C68B8 0%, #8652A1 55%, #6E3F88 100%);
}

.hippo_box_name {
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.hippo_box_name small,
.previous_winner_hippo_box small {
	display: block;
	font-weight: 600;
	opacity: 0.85;
	font-size: 12px;
	margin-top: 2px;
}

.hippo_box_ranking_score {
	display: inline-block;
	font-weight: 700;
}

.hippo_box_position {
	text-align: center;
	font-weight: 800;
	font-size: 18px;
	width: 38px;
	height: 38px;
	line-height: 38px;
	margin-left: auto;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.45);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.22);
	font-variant-numeric: tabular-nums;
}

.top_hippo_box_image img,
.previous_winner_hippo_box img {
	background: rgba(255, 255, 255, 0.55);
	border-radius: 50% !important;
	padding: 2px;
	max-width: 56px !important;
	box-shadow: 0 2px 6px rgba(20, 22, 30, 0.18);
	display: block;
}

.hippo-leaderboard-table tbody tr, .hippo-leaderboard-table tbody td, .hippo-leaderboard-table tbody>tr:nth-child(odd)>td, .hippo-leaderboard-table tbody>tr:nth-child(odd)>th {
	background-color: #ffffff !important;
}

.hippo-leaderboard-table tbody tr:nth-child(even),
.hippo-leaderboard-table tr:nth-child(even), .hippo-leaderboard-table tbody tr:nth-child(even) td,
.hippo-leaderboard-table tr:nth-child(even) td {
	background: #faf8f2 !important;
}

.previous_winner_hippo_box {
	display: grid;
	grid-template-columns: 1fr 3fr;
	align-items: center;
	max-width: 320px;
	margin: 0 auto 20px;
	padding: 12px 16px;
	border-radius: 99px;
	background: linear-gradient(135deg, #3ad0aa 0%, #23b08c 100%);
	color: #ffffff;
	box-shadow: 0 1px 2px rgba(20, 22, 30, 0.05), 0 3px 10px rgba(20, 22, 30, 0.06);
}

.previous_winner_hippo_box img {
	margin-bottom: 0;
}


@media(max-width: 600px) {
	.hippo-leaderboard-table td {
		padding-right: 15px; 
		padding-left: 15px;
	}
}

