/* Speedking homepage — Bali Export Broker showroom.
   A vertical run of full-bleed photographs; between them, quiet off-white
   plaques carrying the page's own copy. Loaded on the front page only
   (inc/home/home-rsnl.php) on top of the shared build (src/css/main.css),
   and every token comes from there so the Customizer still drives the palette.
   Every selector stays scoped under .speedking-theme. */

.speedking-theme .rh-wrap { margin-inline: auto; width: 100%; max-width: 1200px; padding-inline: 40px; box-sizing: border-box; }

/* ---------- Shared type ---------- */
.speedking-theme .rh-kicker { margin: 0 0 16px; font-family: var(--spk-font-tech); font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--spk-muted); }
.speedking-theme .rh-eyebrow { margin: 0 0 16px; font-family: var(--spk-font-tech); font-size: 11px; font-weight: 500; letter-spacing: .18em; color: rgba(255, 255, 255, .8); font-variant-numeric: tabular-nums; }
.speedking-theme .rh-h1 { margin: 0 0 16px; font-family: var(--spk-font-heading); font-size: clamp(2.25rem, 4.4vw, 3rem); font-weight: 500; line-height: 1.17; letter-spacing: -.02em; color: #fff; }
.speedking-theme .rh-h2 { margin: 0 0 16px; font-family: var(--spk-font-heading); font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; color: var(--spk-text); }
.speedking-theme .rh-h3 { margin: 0 0 8px; font-family: var(--spk-font-heading); font-size: 20px; font-weight: 500; line-height: 1.4; letter-spacing: -.01em; color: var(--spk-text); }
.speedking-theme .rh-lead { margin: 0; max-width: 62ch; font-size: 17px; line-height: 1.6; color: var(--spk-body); }
.speedking-theme .rh-sub { max-width: 60ch; margin-inline: auto; }
.speedking-theme .rh-sub p { margin: 0; font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .92); }

/* ---------- Buttons: one filled ignition button, one ghost ---------- */
.speedking-theme .rh-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 24px; border: 1px solid var(--spk-primary); border-radius: var(--spk-btn-radius); background: var(--spk-primary); color: #fff; font-family: var(--spk-font-body); font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer; transition: background-color .2s var(--spk-ease), border-color .2s var(--spk-ease); }
.speedking-theme .rh-btn:hover { background: var(--spk-primary-hover); border-color: var(--spk-primary-hover); color: #fff; }
.speedking-theme .rh-btn--ghost { background: transparent; border-color: #fff; color: #fff; }
.speedking-theme .rh-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--spk-text); }
.speedking-theme .rh-btn--block { width: 100%; }

/* ---------- Hero — the whole viewport is the photograph ---------- */
.speedking-theme .rh-hero { position: relative; display: flex; align-items: center; justify-content: center; min-height: calc(100svh - var(--spk-header-h)); padding-block: 96px; box-sizing: border-box; text-align: center; color: #fff; background-color: var(--spk-text); background-size: cover; background-position: center; background-repeat: no-repeat; }
.speedking-theme .rh-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23, 26, 32, .5) 0%, rgba(23, 26, 32, .26) 45%, rgba(23, 26, 32, .62) 100%); }
.speedking-theme .rh-hero__inner { position: relative; z-index: 1; max-width: 860px; }
.speedking-theme .rh-hero .rh-kicker { color: rgba(255, 255, 255, .82); }
.speedking-theme .rh-ctas { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; margin-top: 24px; }

/* ---------- Specification strip — a plaque of numbers under the hero ---------- */
.speedking-theme .rh-strip { border-bottom: 1px solid var(--spk-hairline); background: #fff; padding-block: 40px; }
.speedking-theme .rh-specs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; }
.speedking-theme .rh-spec dt { margin: 0 0 8px; font-family: var(--spk-font-tech); font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--spk-muted); }
.speedking-theme .rh-spec dd { margin: 0; font-family: var(--spk-font-heading); font-size: 17px; font-weight: 500; line-height: 1.4; color: var(--spk-text); }
.speedking-theme .rh-spec__note { margin-top: 4px !important; font-family: var(--spk-font-body) !important; font-size: 11px !important; font-weight: 400 !important; color: var(--spk-muted) !important; }
.speedking-theme .rh-honest { margin: 24px 0 0; font-size: 11px; line-height: 1.2; color: var(--spk-muted); }

/* ---------- Light sections ---------- */
.speedking-theme .rh-sec { padding-block: 96px; background: #fff; }
.speedking-theme .rh-sec--alt { background: var(--spk-surface); }
.speedking-theme .rh-head { max-width: 760px; margin-bottom: 40px; }
.speedking-theme .rh-paras { max-width: 75ch; }
.speedking-theme .rh-paras p { margin: 0 0 16px; font-size: 17px; line-height: 1.7; color: var(--spk-body); }
.speedking-theme .rh-paras p:last-child { margin-bottom: 0; }
.speedking-theme .rh-paras ul, .speedking-theme .rh-paras ol { margin: 0 0 16px; padding-left: 20px; color: var(--spk-body); }
.speedking-theme .rh-paras li { margin-bottom: 4px; }
.speedking-theme .rh-paras li::marker { color: var(--spk-muted); }
.speedking-theme .rh-paras strong { color: var(--spk-text); font-weight: 600; }
.speedking-theme .rh-paras + .rh-blocks { margin-top: 40px; }
.speedking-theme .rh-note { margin: 24px 0 0; max-width: 75ch; font-size: 14px; line-height: 1.43; color: var(--spk-muted); }

/* ---------- Service rail — image cards, 8px, no shadow ---------- */
.speedking-theme .rh-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.speedking-theme .rh-card { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--spk-radius-lg); background: var(--spk-surface); color: inherit; text-decoration: none; transition: background-color .2s var(--spk-ease); }
.speedking-theme .rh-card:hover { background: var(--spk-glass-strong); }
.speedking-theme .rh-sec--alt .rh-card { background: #fff; }
.speedking-theme .rh-card__media { margin: 0; overflow: hidden; background: var(--spk-glass-strong); }
.speedking-theme .rh-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.speedking-theme .rh-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 24px; }
.speedking-theme .rh-card h3 { margin: 0 0 8px; font-family: var(--spk-font-heading); font-size: 20px; font-weight: 500; line-height: 1.4; letter-spacing: -.01em; color: var(--spk-text); }
.speedking-theme .rh-card p { flex: 1 1 auto; margin: 0 0 16px; font-size: 14px; line-height: 1.43; color: var(--spk-body); }
.speedking-theme .rh-card__go { font-size: 14px; font-weight: 500; color: var(--spk-text); text-decoration: underline; text-underline-offset: .2em; }

/* ---------- Chapter panel — a full-bleed photograph with a centred plaque ---------- */
.speedking-theme .rh-panel { position: relative; display: flex; align-items: center; justify-content: center; min-height: 68svh; padding-block: 96px; box-sizing: border-box; text-align: center; color: #fff; background-color: var(--spk-text); background-size: cover; background-position: center; background-repeat: no-repeat; }
.speedking-theme .rh-panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23, 26, 32, .52) 0%, rgba(23, 26, 32, .3) 50%, rgba(23, 26, 32, .6) 100%); }
.speedking-theme .rh-panel__inner { position: relative; z-index: 1; max-width: 820px; }
.speedking-theme .rh-panel .rh-h2 { color: #fff; }
.speedking-theme .rh-panel .rh-lead { margin-inline: auto; color: rgba(255, 255, 255, .92); }

/* ---------- Chapter detail — one plaque per stored <h3> ---------- */
/* Columns, not a grid: the stored blocks differ wildly in length and a grid
   leaves half-page holes beside the short ones. Reading order stays top-to-bottom
   down each column, which is the order the stages are written in. */
.speedking-theme .rh-blocks { column-count: 2; column-gap: 24px; }
.speedking-theme .rh-block { display: inline-block; width: 100%; margin-bottom: 24px; padding: 24px; box-sizing: border-box; border-radius: var(--spk-radius-lg); background: var(--spk-surface); break-inside: avoid; }
.speedking-theme .rh-sec--alt .rh-block { background: #fff; }
.speedking-theme .rh-block__title { margin: 0 0 8px; font-family: var(--spk-font-heading); font-size: 20px; font-weight: 500; line-height: 1.4; letter-spacing: -.01em; color: var(--spk-text); }
.speedking-theme .rh-block__body { font-size: 14px; line-height: 1.6; color: var(--spk-body); }
.speedking-theme .rh-block__body > *:first-child { margin-top: 0; }
.speedking-theme .rh-block__body p { margin: 0 0 12px; }
.speedking-theme .rh-block__body p:last-child { margin-bottom: 0; }
.speedking-theme .rh-block__body strong { color: var(--spk-text); font-weight: 600; }
.speedking-theme .rh-block__body ul, .speedking-theme .rh-block__body ol { margin: 0 0 12px; padding-left: 20px; }
.speedking-theme .rh-block__body li { margin-bottom: 4px; }
.speedking-theme .rh-block__body li::marker { color: var(--spk-muted); }
.speedking-theme .rh-block__body h4, .speedking-theme .rh-block__body h5 { margin: 16px 0 8px; font-family: var(--spk-font-heading); font-size: 17px; font-weight: 500; color: var(--spk-text); }
.speedking-theme .rh-block__body a { color: var(--spk-text); text-decoration: underline; text-decoration-color: var(--spk-border); text-underline-offset: .2em; }
.speedking-theme .rh-block__body a:hover { text-decoration-color: var(--spk-text); }
.speedking-theme .rh-block__body img { border-radius: var(--spk-radius-md); margin-block: 16px; }
/* Stored tables: hairline, uppercase caption row, scrollable inside a plaque. */
.speedking-theme .rh-block__body table, .speedking-theme .rh-paras table { display: block; overflow-x: auto; width: 100%; margin: 16px 0; border-collapse: collapse; font-size: 14px; line-height: 1.43; }
.speedking-theme .rh-block__body th, .speedking-theme .rh-paras th { padding: 12px 16px; border-bottom: 1px solid var(--spk-hairline); text-align: left; font-family: var(--spk-font-tech); font-size: 11px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--spk-muted); white-space: nowrap; }
.speedking-theme .rh-block__body td, .speedking-theme .rh-paras td { padding: 12px 16px; border-top: 1px solid var(--spk-hairline); vertical-align: top; color: var(--spk-body); }
.speedking-theme .rh-paras blockquote, .speedking-theme .rh-block__body blockquote { margin: 16px 0; padding: 16px 24px; border-radius: var(--spk-radius-lg); background: rgba(0, 0, 0, .04); }
.speedking-theme .rh-paras blockquote p:last-child, .speedking-theme .rh-block__body blockquote p:last-child { margin-bottom: 0; }

/* Lists printed by the renderer (spk_home_print_list): hairline rows. */
.speedking-theme .rh-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--spk-hairline); }
.speedking-theme .rh-list li { margin: 0; padding: 16px 0; border-bottom: 1px solid var(--spk-hairline); font-size: 14px; line-height: 1.6; color: var(--spk-body); }
.speedking-theme .rh-list strong { color: var(--spk-text); font-weight: 600; }

/* ---------- FAQ — hairline accordion, plain glyph ---------- */
.speedking-theme .rh-faq { border-top: 1px solid var(--spk-hairline); }
.speedking-theme .rh-faq details { border-bottom: 1px solid var(--spk-hairline); }
.speedking-theme .rh-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; cursor: pointer; list-style: none; font-family: var(--spk-font-heading); font-size: 20px; font-weight: 500; line-height: 1.4; color: var(--spk-text); }
.speedking-theme .rh-faq summary::-webkit-details-marker { display: none; }
.speedking-theme .rh-faq summary::after { content: "+"; font-family: var(--spk-font-body); font-size: 24px; font-weight: 400; color: var(--spk-muted); }
.speedking-theme .rh-faq details[open] summary::after { content: "\2212"; }
.speedking-theme .rh-faq__a { padding: 0 0 24px; max-width: 76ch; font-size: 17px; line-height: 1.6; color: var(--spk-body); }
.speedking-theme .rh-faq__a p { margin: 0; }
.speedking-theme .rh-faq__tail { margin-top: 24px; font-size: 14px; color: var(--spk-muted); }

/* ---------- Closing section — photograph, copy, and the brief form ---------- */
.speedking-theme .rh-final { position: relative; padding-block: 96px; color: #fff; background-color: var(--spk-text); background-size: cover; background-position: center; background-repeat: no-repeat; }
.speedking-theme .rh-final::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(23, 26, 32, .74) 0%, rgba(23, 26, 32, .82) 100%); }
.speedking-theme .rh-final__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 48px; align-items: start; }
.speedking-theme .rh-final .rh-kicker { color: rgba(255, 255, 255, .8); }
.speedking-theme .rh-final .rh-h2 { color: #fff; }
.speedking-theme .rh-final .rh-lead { color: rgba(255, 255, 255, .9); }
.speedking-theme .rh-fct { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 24px; font-size: 14px; color: rgba(255, 255, 255, .86); }
.speedking-theme .rh-fct a { color: #fff; text-decoration: underline; text-underline-offset: .2em; }

.speedking-theme .rh-form { padding: 24px; border-radius: var(--spk-radius-lg); background: #fff; color: var(--spk-body); }
.speedking-theme .rh-form h3 { margin: 0 0 4px; font-family: var(--spk-font-heading); font-size: 20px; font-weight: 500; color: var(--spk-text); }
.speedking-theme .rh-form__note { margin: 0 0 16px; font-size: 11px; line-height: 1.4; color: var(--spk-muted); }
.speedking-theme .rh-form label { display: block; margin: 16px 0 8px; font-family: var(--spk-font-tech); font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--spk-muted); }
.speedking-theme .rh-form input, .speedking-theme .rh-form select { display: block; width: 100%; box-sizing: border-box; min-height: 44px; padding: 0 12px; border: 1px solid var(--spk-border); border-radius: var(--spk-radius-sm); background: #fff; color: var(--spk-text); font-family: var(--spk-font-body); font-size: 14px; }
.speedking-theme .rh-form select { -webkit-appearance: none; appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23393c41' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; }
.speedking-theme .rh-form input:focus, .speedking-theme .rh-form select:focus { outline: 2px solid var(--spk-primary); outline-offset: 2px; }
.speedking-theme .rh-form .rh-btn { margin-top: 24px; }

/* ---------- Sticky action bar — appears past the first screen ---------- */
.speedking-theme .rh-sticky { position: fixed; left: 50%; bottom: 20px; z-index: 55; display: flex; align-items: center; gap: 16px; padding: 8px 8px 8px 20px; border: 1px solid var(--spk-hairline); border-radius: 999px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); transform: translate(-50%, 140%); opacity: 0; transition: transform .3s var(--spk-ease), opacity .3s var(--spk-ease); }
.speedking-theme .rh-sticky.is-on { transform: translate(-50%, 0); opacity: 1; }
.speedking-theme .rh-sticky__label { font-size: 14px; color: var(--spk-body); white-space: nowrap; }
.speedking-theme .rh-sticky__cta { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 20px; border-radius: 999px; background: var(--spk-primary); color: #fff; font-size: 14px; font-weight: 500; text-decoration: none; white-space: nowrap; }
.speedking-theme .rh-sticky__cta:hover { background: var(--spk-primary-hover); color: #fff; }
/* The floating WhatsApp disc owns the bottom-right corner; keep clear of it. */
@media (max-width: 760px) { .speedking-theme .rh-sticky { left: 16px; right: 88px; bottom: 16px; transform: translate(0, 140%); padding-left: 16px; } .speedking-theme .rh-sticky.is-on { transform: translate(0, 0); } }
@media print { .speedking-theme .rh-sticky { display: none; } }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
	.speedking-theme .rh-wrap { padding-inline: 24px; }
	.speedking-theme .rh-sec, .speedking-theme .rh-final { padding-block: 72px; }
	.speedking-theme .rh-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
	.speedking-theme .rh-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.speedking-theme .rh-final__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 760px) {
	.speedking-theme .rh-wrap { padding-inline: 16px; }
	.speedking-theme .rh-sec, .speedking-theme .rh-final { padding-block: 56px; }
	.speedking-theme .rh-hero, .speedking-theme .rh-panel { padding-block: 72px; min-height: 80svh; }
	.speedking-theme .rh-h1 { font-size: 1.875rem; }
	.speedking-theme .rh-h2 { font-size: 1.625rem; }
	.speedking-theme .rh-rail { grid-template-columns: minmax(0, 1fr); }
	.speedking-theme .rh-blocks { column-count: 1; }
	.speedking-theme .rh-specs { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.speedking-theme .rh-ctas .rh-btn { width: 100%; }
	.speedking-theme .rh-sticky__label { display: none; }
}
