/* ============================
   CryptoFaucets.cash base UI
   ============================ */

/* Tokens */
:root {
	--cf-max: 900px;
	--cf-pad: clamp(16px, 4vw, 28px);
	--cf-accent: #ff6600;
	--cf-pink: #f21b5a;
	--cf-radius: 14px;
	--cf-card-bg-1: rgba(255,255,255,.92);
	--cf-card-bg-2: rgba(255,255,255,.78);
	--cf-card-border: rgba(0,0,0,.08);
	--cf-shadow: 0 8px 24px rgba(0,0,0,.08);
	--cf-card-shadow: 0 8px 22px rgba(0,0,0,.06);
	--cf-card-shadow-hover: 0 12px 30px rgba(0,0,0,.10);
}

/* Base */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 72px;
}

body {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	background:
		radial-gradient(900px 500px at 10% 0%, rgba(120,170,255,.16), transparent 60%),
		radial-gradient(900px 500px at 90% 10%, rgba(255,190,120,.14), transparent 60%),
		#fff;
}

/* Never force the full page to scroll snap */
html,
body {
	scroll-snap-type: none !important;
}

/* Block theme padding */
.wp-site-blocks > * {
	padding-left: var(--cf-pad);
	padding-right: var(--cf-pad);
}

/* Content width */
.wp-block-post-content,
.entry-content,
.post-content,
main article {
	max-width: var(--cf-max);
	margin-left: auto;
	margin-right: auto;
	line-height: 1.7;
	font-size: clamp(16px, 1.2vw, 18px);
}

/* Headings */
h1,
.wp-block-post-title {
	letter-spacing: -.02em;
	line-height: 1.1;
}

h2 {
	margin-top: 2.2em;
	padding-top: .2em;
	letter-spacing: -.01em;
}

p {
	margin: 1em 0;
}

/* Media */
img,
figure,
.wp-block-image img {
	border-radius: 12px;
}

.wp-block-image img {
	box-shadow: var(--cf-shadow);
}

/* Content links */
.wp-block-post-content a,
.entry-content a {
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 2px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size .18s ease, opacity .18s ease;
}

.wp-block-post-content a:hover,
.entry-content a:hover {
	background-size: 100% 2px;
	opacity: .9;
}

/* ============================
   Lists
   ============================ */

.wp-block-post-content :is(ul, ol),
.entry-content :is(ul, ol) {
	max-width: var(--cf-max);
	margin-left: auto;
	margin-right: auto;
}

/* ============================
   Card styling, opt-in classes
   ============================ */

.cf-card {
	background: linear-gradient(180deg, var(--cf-card-bg-1) 0%, var(--cf-card-bg-2) 100%);
	border: 1px solid var(--cf-card-border);
	border-left: 4px solid var(--cf-accent);
	border-radius: var(--cf-radius);
	box-shadow: var(--cf-card-shadow);
	padding: 16px;
}

.cf-card-stack > * {
	margin-top: 12px;
}

.cf-card-stack > :first-child {
	margin-top: 0;
}

.cf-cards {
	padding-left: 0;
	list-style: none;
	margin: 1.2em auto;
	max-width: var(--cf-max);
}

.cf-cards > li {
	background: linear-gradient(180deg, var(--cf-card-bg-1) 0%, var(--cf-card-bg-2) 100%);
	border: 1px solid var(--cf-card-border);
	border-left: 4px solid var(--cf-accent);
	border-radius: var(--cf-radius);
	box-shadow: var(--cf-card-shadow);
	padding: 16px;
	margin: 12px 0;
	transition: transform .15s ease, box-shadow .15s ease;
}

.cf-cards > li:hover {
	transform: translateY(-2px);
	box-shadow: var(--cf-card-shadow-hover);
}

.cf-cards > li > a:first-child {
	font-weight: 700;
	font-size: 1.05em;
}

.cf-cards > li :is(ul, ol) {
	list-style: disc;
	padding-left: 1.2em;
	margin: .75em 0 0;
}

/* ============================
   General tables
   ============================ */

.wp-block-table {
	overflow-x: auto;
}

.wp-block-post-content table,
.entry-content table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	border-radius: 12px;
	border: 1px solid rgba(0,0,0,.08);
	background: rgba(255,255,255,.86);
}

.wp-block-post-content th,
.wp-block-post-content td,
.entry-content th,
.entry-content td {
	padding: 12px;
	border-bottom: 1px solid rgba(0,0,0,.06);
	vertical-align: top;
}

.wp-block-post-content th,
.entry-content th {
	text-align: left;
	background: rgba(0,0,0,.03);
	font-weight: 700;
}

.wp-block-post-content tr:nth-child(even) td,
.entry-content tr:nth-child(even) td {
	background: rgba(0,0,0,.015);
}

.wp-block-post-content tr:last-child td,
.entry-content tr:last-child td {
	border-bottom: 0;
}

/* ============================
   Faucet comparison table
   Use with:
   is-style-stripes cf-faucet-picks-table
   ============================ */

figure.wp-block-table.cf-faucet-picks-table {
	width: min(760px, 94vw);
	max-width: 760px;
	padding: 0 !important;
	margin: 2rem auto !important;
	overflow: hidden;
	border-radius: 14px;
	background: transparent !important;
	box-shadow: 0 8px 24px rgba(0,0,0,.06);
}

figure.wp-block-table.cf-faucet-picks-table table {
	width: 100%;
	margin: 0 !important;
	table-layout: auto;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}

figure.wp-block-table.cf-faucet-picks-table thead th {
	background: #111 !important;
	color: #fff !important;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	text-align: left;
	padding: 12px 14px;
	border: 0 !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody td {
	font-size: 15px;
	line-height: 1.4;
	padding: 12px 14px;
	vertical-align: top;
	border-bottom: 1px solid rgba(0,0,0,.06);
	background: #fff !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	height: auto !important;
	min-height: 0 !important;
	transition: background .18s ease, color .18s ease;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr {
	height: auto !important;
	min-height: 0 !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(even) td {
	background: rgba(0,0,0,.035) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:last-child td {
	border-bottom: 0;
}

figure.wp-block-table.cf-faucet-picks-table figcaption:empty {
	display: none !important;
}

/* Column widths */
figure.wp-block-table.cf-faucet-picks-table th:nth-child(1),
figure.wp-block-table.cf-faucet-picks-table td:nth-child(1) {
	width: 28%;
	font-weight: 800;
}

figure.wp-block-table.cf-faucet-picks-table th:nth-child(2),
figure.wp-block-table.cf-faucet-picks-table td:nth-child(2) {
	width: 22%;
}

figure.wp-block-table.cf-faucet-picks-table th:nth-child(3),
figure.wp-block-table.cf-faucet-picks-table td:nth-child(3) {
	width: 23%;
}

figure.wp-block-table.cf-faucet-picks-table th:nth-child(4),
figure.wp-block-table.cf-faucet-picks-table td:nth-child(4) {
	width: 27%;
}

/* Faucet links */
figure.wp-block-table.cf-faucet-picks-table tbody td:first-child a {
	color: var(--cf-pink);
	font-weight: 800;
	text-decoration: none;
}

/* Default hover fallback */
figure.wp-block-table.cf-faucet-picks-table tbody tr:hover td {
	background: rgba(255,190,120,.14) !important;
}

/* Brand-colour hover rows */
figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(1):hover td {
	background: rgba(245,185,65,.22) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(2):hover td {
	background: rgba(255,111,65,.18) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(3):hover td {
	background: rgba(54,162,235,.16) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(4):hover td {
	background: rgba(111,92,255,.15) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(5):hover td {
	background: rgba(46,204,113,.15) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(6):hover td {
	background: rgba(0,170,130,.15) !important;
}

figure.wp-block-table.cf-faucet-picks-table tbody tr:nth-child(7):hover td {
	background: rgba(247,147,26,.18) !important;
}

/* ============================
   Faucet scroll container
   Use this with:
   Outer group: cf-faucet-scroll
   Each faucet group: cf-faucet-panel
   ============================ */

.cf-faucet-scroll {
	width: min(900px, 100%);
	max-height: calc(100svh - 72px);
	margin: 2rem auto;
	padding: 0 10px 24px;
	overflow-y: auto;
	overflow-x: hidden;
	scroll-snap-type: y mandatory;
	scroll-behavior: smooth;
	scrollbar-gutter: stable;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	border-radius: 18px;
}

.cf-faucet-panel {
	scroll-snap-align: start;
	scroll-snap-stop: always;
	box-sizing: border-box;
	min-height: calc(100svh - 96px);
	margin: 0 0 24px;
	padding: 18px;
	background: linear-gradient(180deg, var(--cf-card-bg-1) 0%, var(--cf-card-bg-2) 100%);
	border: 1px solid var(--cf-card-border);
	border-left: 4px solid var(--cf-accent);
	border-radius: var(--cf-radius);
	box-shadow: var(--cf-card-shadow);
}

.cf-faucet-panel:first-child {
	margin-top: 0;
}

.cf-faucet-panel:last-child {
	margin-bottom: 0;
}

.cf-faucet-panel h2 {
	margin-top: 0;
	scroll-margin-top: 72px;
}

.cf-faucet-panel figure {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.cf-faucet-panel img {
	width: 100%;
	height: auto;
}

/* Keep legacy heading class harmless for existing anchor links */
h2.cf-faucet-snap {
	scroll-margin-top: 72px;
}

/* ============================
   Callouts
   ============================ */

.wp-block-post-content blockquote,
.entry-content blockquote {
	margin: 1.6em 0;
	padding: 14px 16px;
	border-left: 4px solid rgba(0,0,0,.25);
	background: rgba(0,0,0,.03);
	border-radius: 12px;
}

.wp-block-post-content blockquote p,
.entry-content blockquote p {
	margin: .6em 0;
}

/* ============================
   Mobile
   ============================ */

@media (max-width: 700px) {
	figure.wp-block-table.cf-faucet-picks-table {
		width: 100%;
		max-width: 100%;
		margin: 1.5rem auto !important;
	}

	figure.wp-block-table.cf-faucet-picks-table thead th,
	figure.wp-block-table.cf-faucet-picks-table tbody td {
		font-size: 13.5px;
		line-height: 1.35;
		padding: 9px;
	}

	figure.wp-block-table.cf-faucet-picks-table th:nth-child(1),
	figure.wp-block-table.cf-faucet-picks-table td:nth-child(1) {
		width: 27% !important;
		min-width: 0 !important;
	}

	figure.wp-block-table.cf-faucet-picks-table th:nth-child(2),
	figure.wp-block-table.cf-faucet-picks-table td:nth-child(2) {
		width: 22% !important;
	}

	figure.wp-block-table.cf-faucet-picks-table th:nth-child(3),
	figure.wp-block-table.cf-faucet-picks-table td:nth-child(3) {
		width: 23% !important;
	}

	figure.wp-block-table.cf-faucet-picks-table th:nth-child(4),
	figure.wp-block-table.cf-faucet-picks-table td:nth-child(4) {
		width: 28% !important;
	}

}

/* ============================
   Accessibility
   ============================ */

@media (prefers-reduced-motion: reduce) {
	html,
	.cf-faucet-scroll {
		scroll-behavior: auto;
	}
}
/* ============================
   Faucet cards, normal page scroll
   ============================ */

/* Do not force page or section snapping */
html,
body,
.cf-faucet-scroll {
	scroll-snap-type: none !important;
}

/* Keep smooth anchor jumps */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 72px;
}

/* Turn the faucet wrapper back into a normal layout */
.cf-faucet-scroll {
	max-height: none !important;
	overflow: visible !important;
	padding: 0 !important;
	margin: 2rem auto !important;
	border-radius: 0 !important;
}

/* Each faucet remains a proper card, but no internal scroll */
.cf-faucet-panel {
	scroll-snap-align: none !important;
	scroll-snap-stop: normal !important;
	min-height: 0 !important;
	box-sizing: border-box;
	padding: 18px;
	margin: 0 auto 2rem;
	background: linear-gradient(180deg, var(--cf-card-bg-1) 0%, var(--cf-card-bg-2) 100%);
	border: 1px solid var(--cf-card-border);
	border-left: 4px solid var(--cf-accent);
	border-radius: var(--cf-radius);
	box-shadow: var(--cf-card-shadow);
}

/* Keep anchor positions tidy */
.cf-faucet-panel h2,
h2.cf-faucet-snap {
	scroll-margin-top: 72px;
}

/* Keep first heading in each card tight */
.cf-faucet-panel h2:first-child {
	margin-top: 0;
}

/* Jump to top links */
.cf-faucet-panel p a[href="#links"] {
	font-size: small;
	text-align: center;
	display: block;
	color: var(--cf-accent) !important;
	font-weight: bold;
	background-image: none !important;
}
/* Site title colour */
.wp-block-site-title a,
.wp-block-site-title,
.site-title a,
.site-title {
	color: #d4a017 !important;
}
/* Site tagline / description */
.wp-block-site-tagline,
.site-description {
	color: #2f7d32 !important;
}