/* =========================================================================
   Rolex878 Landing — main.css
   Brand colors are injected at runtime as CSS custom properties by PHP
   (see inc/theme-setup.php → rolex878_get_color_css_vars). The defaults
   below mirror the values in /Design/ColorTheme.txt.
   ========================================================================= */

:root {
	--r8-brand:            #40d1c7;
	--r8-brand-light:      #8addbd;
	--r8-brand-dark:       #1499a9;
	--r8-accent-primary:   #dd664e;
	--r8-accent-secondary: #bf1ece;
	--r8-primary:          #334a48;
	--r8-primary-light:    #455958;
	--r8-primary-dark:     #1c2d2c;
	--r8-text-primary:     #ffffff;
	--r8-text-secondary:   #000000;

	--r8-radius:    14px;
	--r8-radius-sm: 8px;
	--r8-radius-lg: 22px;
	--r8-shadow:    0 10px 30px rgba(0, 0, 0, 0.25);
	--r8-shadow-sm: 0 4px 14px rgba(0, 0, 0, 0.18);
	--r8-max:       1180px;
	--r8-font:      system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* --------------------------------------------------------------- Base */
* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	font-family: var(--r8-font);
	color: var(--r8-text-primary);
	background: var(--r8-primary-dark);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.6;
}

a { color: var(--r8-brand-light); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--r8-brand); }

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 { margin: 0 0 .4em; line-height: 1.2; font-weight: 700; letter-spacing: -.01em; }
p { margin: 0 0 1em; }

.r8-container {
	max-width: var(--r8-max);
	margin: 0 auto;
	padding: 0 20px;
}

/* ------------------------------------------------- Language visibility */
/* JS sets data-lang on <html>. Without JS, both show (graceful fallback). */
html[data-lang="id"] .r8-lang[data-lang="en"],
html[data-lang="en"] .r8-lang[data-lang="id"] {
	display: none;
}
.r8-lang { display: inline; }

/* ---------------------------------------------------------- Buttons */
.r8-btn {
	--btn-bg: var(--r8-brand);
	--btn-fg: var(--r8-text-primary);

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--btn-bg);
	color: var(--btn-fg);
	font-weight: 600;
	font-size: 15px;
	border: 0;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
	box-shadow: var(--r8-shadow-sm);
	text-decoration: none;
	white-space: nowrap;
}
.r8-btn:hover { transform: translateY(-1px); box-shadow: var(--r8-shadow); color: var(--btn-fg); }
.r8-btn:active { transform: translateY(0); }

.r8-btn--accent { --btn-bg: var(--r8-accent-primary); }
.r8-btn--accent:hover { --btn-bg: color-mix(in srgb, var(--r8-accent-primary) 88%, #000 12%); }

.r8-btn--brand  { --btn-bg: var(--r8-brand-dark); }
.r8-btn--brand:hover { --btn-bg: var(--r8-brand); }

.r8-btn--ghost {
	background: transparent;
	color: var(--r8-text-primary);
	box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.22);
}
.r8-btn--ghost:hover {
	background: rgba(255,255,255,.06);
	box-shadow: inset 0 0 0 1.5px var(--r8-brand);
	color: var(--r8-text-primary);
}

.r8-btn--lg { padding: 16px 28px; font-size: 16px; }
.r8-btn--sm { padding: 8px 14px;  font-size: 13px; }
.r8-btn--block { width: 100%; }

.r8-btn--disabled {
	background: var(--r8-primary-light);
	color: rgba(255,255,255,.5);
	cursor: not-allowed;
	box-shadow: none;
}

.r8-btn__arrow { display: inline-block; transition: transform .2s ease; }
.r8-btn:hover .r8-btn__arrow { transform: translateX(3px); }

/* ---------------------------------------------------------- Header */
.r8-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(28, 45, 44, .85);
	backdrop-filter: saturate(140%) blur(10px);
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.r8-header__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 20px;
	min-height: 64px;
}
.r8-logo img,
.r8-logo .custom-logo {
	max-height: 44px;
	width: auto;
}
.r8-nav { margin-left: auto; }
.r8-nav__list {
	list-style: none;
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
}
.r8-nav__list a {
	color: var(--r8-text-primary);
	font-weight: 500;
	opacity: .85;
}
.r8-nav__list a:hover { color: var(--r8-brand); opacity: 1; }

.r8-header__actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Language toggle */
.r8-lang-toggle {
	display: inline-flex;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 999px;
	padding: 3px;
	background: rgba(255,255,255,.04);
}
.r8-lang-btn {
	background: transparent;
	color: var(--r8-text-primary);
	border: 0;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	border-radius: 999px;
	cursor: pointer;
	opacity: .7;
	transition: background .15s ease, opacity .15s ease;
}
.r8-lang-btn.is-active {
	background: var(--r8-brand);
	color: var(--r8-primary-dark);
	opacity: 1;
}

/* ----------------------------------------------------------- Main */
.r8-main { min-height: 40vh; }

/* ----------------------------------------------------------- Hero */
.r8-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(1200px 500px at 80% -10%, color-mix(in srgb, var(--r8-brand) 45%, transparent) 0%, transparent 60%),
		radial-gradient(800px 400px at 10% 110%, color-mix(in srgb, var(--r8-accent-secondary) 35%, transparent) 0%, transparent 60%),
		linear-gradient(180deg, var(--r8-primary) 0%, var(--r8-primary-dark) 100%);
	border-bottom: 1px solid rgba(255,255,255,.05);
}
.r8-hero__inner {
	padding: 96px 20px 88px;
	text-align: center;
	position: relative;
	z-index: 2;
}
.r8-hero__eyebrow {
	display: inline-block;
	color: var(--r8-brand-light);
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: 12px;
	font-weight: 700;
	margin: 0 0 14px;
	padding: 6px 12px;
	background: rgba(64, 209, 199, .08);
	border: 1px solid rgba(64, 209, 199, .25);
	border-radius: 999px;
}
.r8-hero__title {
	font-size: clamp(34px, 6vw, 58px);
	margin: 0 0 18px;
	background: linear-gradient(90deg, #fff 0%, var(--r8-brand-light) 60%, var(--r8-brand) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.r8-hero__subtitle {
	font-size: clamp(15px, 2vw, 18px);
	opacity: .85;
	max-width: 720px;
	margin: 0 auto 30px;
}
.r8-hero__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.r8-hero__glow {
	position: absolute;
	inset: auto 0 -40% 0;
	height: 60%;
	background: radial-gradient(ellipse at center, color-mix(in srgb, var(--r8-brand) 20%, transparent) 0%, transparent 70%);
	z-index: 1;
	pointer-events: none;
}

/* --------------------------------------------------------- Sections */
.r8-section { padding: 72px 0; }
.r8-section__head {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 40px;
}
.r8-section__title {
	font-size: clamp(26px, 3.6vw, 36px);
	color: var(--r8-text-primary);
}
.r8-section__intro {
	color: rgba(255,255,255,.78);
	font-size: 16px;
}
.r8-section__more {
	text-align: center;
	margin-top: 32px;
}

.r8-empty {
	text-align: center;
	padding: 32px;
	background: rgba(255,255,255,.03);
	border: 1px dashed rgba(255,255,255,.12);
	border-radius: var(--r8-radius);
	color: rgba(255,255,255,.7);
}

/* ---------------------------------------------------------- News */
.r8-news {
	background: linear-gradient(180deg, var(--r8-primary-dark) 0%, var(--r8-primary) 100%);
}
.r8-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}
.r8-card {
	background: var(--r8-primary-light);
	border-radius: var(--r8-radius);
	overflow: hidden;
	box-shadow: var(--r8-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(255,255,255,.05);
}
.r8-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--r8-shadow);
	border-color: rgba(64, 209, 199, .4);
}
.r8-card__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--r8-primary-dark);
}
.r8-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.r8-card:hover .r8-card__media img { transform: scale(1.03); }
.r8-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.r8-card__date {
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--r8-brand-light);
	margin-bottom: 8px;
}
.r8-card__title { font-size: 19px; line-height: 1.35; margin: 0 0 10px; }
.r8-card__title a { color: var(--r8-text-primary); }
.r8-card__title a:hover { color: var(--r8-brand); }
.r8-card__excerpt { color: rgba(255,255,255,.75); font-size: 14px; margin-bottom: 16px; flex: 1; }
.r8-card__more {
	align-self: flex-start;
	font-size: 14px;
	font-weight: 600;
	color: var(--r8-brand);
}

/* --------------------------------------------------- Alt links */
.r8-alt {
	background: var(--r8-primary-dark);
	position: relative;
}
.r8-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
}
.r8-link-card {
	background: var(--r8-primary);
	border-radius: var(--r8-radius);
	padding: 20px;
	border: 1px solid rgba(255,255,255,.06);
	transition: border-color .2s ease, transform .2s ease;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.r8-link-card:hover {
	transform: translateY(-3px);
	border-color: rgba(64, 209, 199, .45);
}
.r8-link-card--offline { opacity: .7; }
.r8-link-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
.r8-link-card__title {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--r8-text-primary);
}

.r8-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,.06);
}
.r8-status__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 3px rgba(255,255,255,.08);
}
.r8-status--online  { color: #6ee7b7; background: rgba(110, 231, 183, .12); }
.r8-status--slow    { color: #fde68a; background: rgba(253, 230, 138, .12); }
.r8-status--offline { color: #fca5a5; background: rgba(252, 165, 165, .12); }

.r8-link-card__url {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--r8-primary-dark);
	border-radius: var(--r8-radius-sm);
	padding: 8px 10px;
	border: 1px solid rgba(255,255,255,.06);
}
.r8-link-card__code {
	flex: 1;
	color: var(--r8-brand-light);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.r8-copy {
	background: rgba(255,255,255,.06);
	border: 0;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 600;
	color: var(--r8-text-primary);
	border-radius: 6px;
	cursor: pointer;
	transition: background .15s ease;
}
.r8-copy:hover  { background: var(--r8-brand); color: var(--r8-primary-dark); }
.r8-copy.is-copied { background: var(--r8-brand-light); color: var(--r8-primary-dark); }

.r8-link-card__note {
	margin: 0;
	font-size: 13px;
	color: rgba(255,255,255,.7);
}

.r8-alt__cta { text-align: center; margin-top: 40px; }

/* ----------------------------------------------- Single post / page */
.r8-post { background: var(--r8-primary-dark); }
.r8-post__inner { max-width: 800px; padding: 56px 20px 80px; }
.r8-post__back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--r8-brand-light);
	font-size: 14px;
	margin-bottom: 22px;
}
.r8-post__date {
	display: block;
	color: var(--r8-brand-light);
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.r8-post__title { font-size: clamp(28px, 4vw, 42px); margin-bottom: 24px; }
.r8-post__media {
	border-radius: var(--r8-radius-lg);
	overflow: hidden;
	margin-bottom: 28px;
}
.r8-post__img { width: 100%; height: auto; display: block; }
.r8-post__content p { color: rgba(255,255,255,.88); font-size: 16px; }
.r8-post__content a { color: var(--r8-brand); text-decoration: underline; }
.r8-post__content h2 { font-size: 24px; margin-top: 1.5em; }
.r8-post__content h3 { font-size: 19px; margin-top: 1.3em; }
.r8-post__content blockquote {
	border-left: 3px solid var(--r8-brand);
	padding-left: 16px;
	color: rgba(255,255,255,.8);
	margin: 1.2em 0;
	font-style: italic;
}
.r8-post__cta { margin-top: 36px; text-align: center; }

/* --------------------------------------------------- Pagination */
.r8-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 36px;
}
.r8-pagination .page-numbers {
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.06);
	color: var(--r8-text-primary);
	font-weight: 600;
}
.r8-pagination .page-numbers.current {
	background: var(--r8-brand);
	color: var(--r8-primary-dark);
}

/* ---------------------------------------------------------- Footer */
.r8-footer {
	background: #131f1e;
	padding: 48px 0 32px;
	border-top: 1px solid rgba(255,255,255,.05);
	margin-top: 40px;
}
.r8-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1.2fr;
	gap: 30px;
	align-items: start;
}
.r8-footer__logo { max-height: 40px; width: auto; margin-bottom: 14px; }
.r8-footer__text,
.r8-footer__disclaimer p {
	font-size: 13px;
	color: rgba(255,255,255,.65);
	margin: 0;
}
.r8-footer__disclaimer {
	border-left: 2px solid var(--r8-brand-dark);
	padding-left: 14px;
}
.r8-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.r8-footer__list a {
	color: rgba(255,255,255,.8);
	font-size: 14px;
}
.r8-footer__list a:hover { color: var(--r8-brand); }

/* Admin alt-link list-table status pill */
.r8-status.r8-status-online  { color: #0a8a4d; }
.r8-status.r8-status-slow    { color: #a07300; }
.r8-status.r8-status-offline { color: #a01212; }

/* -------------------------------------------------- Responsive */
@media (max-width: 860px) {
	.r8-nav { display: none; }
	.r8-header__actions { margin-left: auto; }
	.r8-header__cta { display: none; }
	.r8-footer__grid { grid-template-columns: 1fr; gap: 24px; }
	.r8-footer__disclaimer { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255,255,255,.08); padding-top: 14px; }
	.r8-hero__inner { padding: 72px 20px 60px; }
	.r8-section { padding: 56px 0; }
}
