/*
Theme Name:        Ladang
Theme URI:         https://wordpress.org/themes/
Description:       Tema website kemitraan lahan pertanian: petani lokal, pengelola, dan investor dalam sistem bagi hasil yang saling menguntungkan. Termasuk simulasi bagi hasil, formulir kemitraan (lewat plugin Kalender Tani), dan halaman khusus Kalender Tani. Tanpa font atau skrip pihak ketiga.
Version:           4.3.1
Requires at least: 6.0
Requires PHP:      7.4
Author:            Ladang
License:           GPL-2.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       ladang
Tags:              one-column, custom-menu, custom-logo, featured-images, translation-ready, theme-options
*/

/* Layout: halaman satu kolom lebar dengan pita-pita bagian; motif tiga garis spidol = tiga pihak (petani, pengelola, investor).
   Halaman Kalender Tani memakai pita gelap penuh agar menyatu dengan aplikasinya. */
:root {
  --ld-bg: #f3f6f0;
  --ld-surface: #ffffff;
  --ld-sunk: #e8eee3;
  --ld-ink: #13201a;
  --ld-muted: #55645a;
  --ld-line: #d4ddd0;
  --ld-leaf: #1f6b3a;
  --ld-leaf-ink: #ffffff;
  --ld-marker: #ffc93c;
  --ld-marker-ink: #1b1400;
  --ld-night: #0b0c0e;
  --ld-night-ink: #f3f4f6;
  --ld-night-muted: #8d929b;
  --ld-night-line: #26282d;
  --ld-petani: #e8a908;
  --ld-pengelola: #12a594;
  --ld-investor: #7c4ddb;
  --ld-danger: #b4321c;
  --ld-font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", Ubuntu, sans-serif;
  --ld-display: ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;
  --ld-wide: 1200px;
  --ld-gutter: 20px;
  --ld-text: 66ch;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --ld-bg: #0e1410; --ld-surface: #151d17; --ld-sunk: #121a14; --ld-ink: #e6eee5; --ld-muted: #9aab9d; --ld-line: #29352b;
    --ld-leaf: #7cc58b; --ld-leaf-ink: #0b140d; --ld-petani: #ffc93c; --ld-pengelola: #2fe0c5; --ld-investor: #a97bff; --ld-danger: #ff8a73;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --ld-bg: #0e1410; --ld-surface: #151d17; --ld-sunk: #121a14; --ld-ink: #e6eee5; --ld-muted: #9aab9d; --ld-line: #29352b;
  --ld-leaf: #7cc58b; --ld-leaf-ink: #0b140d; --ld-petani: #ffc93c; --ld-pengelola: #2fe0c5; --ld-investor: #a97bff; --ld-danger: #ff8a73;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--ld-bg); color: var(--ld-ink); font-family: var(--ld-font); font-size: 17px; line-height: 1.6; }
img { max-width: 100%; height: auto; }
a { color: var(--ld-leaf); text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--ld-marker); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--ld-display); line-height: 1.12; text-wrap: balance; letter-spacing: -.015em; margin: 0; }
p { margin: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; width: auto; height: auto; clip: auto; padding: 8px 14px; background: var(--ld-surface); color: var(--ld-ink); border-radius: 8px; }
.ld-wrap { max-width: var(--ld-wide); margin: 0 auto; padding-left: max(var(--ld-gutter), env(safe-area-inset-left, 0px)); padding-right: max(var(--ld-gutter), env(safe-area-inset-right, 0px)); }
/* Hanya halaman Kalender Tani yang selebar layar (header, isi, footer), dengan gutter tipis. */
body.ld-is-calendar .ld-wrap { max-width: none; --ld-gutter: var(--ld-cal-side, 5vw); }
@media (max-width: 1100px) { body.ld-is-calendar .ld-wrap { --ld-gutter: clamp(12px, 2vw, 24px); } }
.ld-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ld-muted); }
.ld-eyebrow a { color: inherit; }
.ld-fine { font-size: 13px; color: var(--ld-muted); }
.ld-notice { padding: 14px 16px; border-radius: 12px; background: var(--ld-surface); border: 1px dashed var(--ld-line); color: var(--ld-muted); }

/* tombol */
.ld-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px;
  border-radius: 999px; border: 1.5px solid var(--ld-ink); color: var(--ld-ink); background: transparent;
  font: inherit; font-size: 15.5px; font-weight: 700; text-decoration: none; cursor: pointer; transition: transform .15s, background .15s;
}
.ld-btn:hover { transform: translateY(-1px); }
.ld-btn--primary { background: var(--ld-leaf); border-color: var(--ld-leaf); color: var(--ld-leaf-ink); }
.ld-btn--marker { background: var(--ld-marker); border-color: var(--ld-marker); color: var(--ld-marker-ink); }
.ld-btn--sm { min-height: 38px; padding: 0 16px; font-size: 14px; }
@media (prefers-reduced-motion: reduce) { .ld-btn { transition: none; } .ld-btn:hover { transform: none; } }

/* header */
.ld-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--ld-bg) 88%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--ld-line); }
.ld-header__in { display: flex; align-items: center; gap: 12px 24px; min-height: 68px; padding-block: 10px; }
.ld-brand { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; flex: none; }
.ld-brand__mark { width: 34px; height: 34px; flex: none; }
.ld-brand__name { font-family: var(--ld-display); font-size: 18px; font-weight: 800; line-height: 1.15; }
.ld-brand__tag { display: block; font-family: var(--ld-font); font-size: 12px; font-weight: 500; color: var(--ld-muted); }
.custom-logo { max-height: 42px; width: auto; }
.ld-nav { flex: 1; min-width: 0; }
.ld-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; justify-content: flex-end; }
.ld-nav a { display: block; white-space: nowrap; color: var(--ld-muted); text-decoration: none; font-size: 14.5px; font-weight: 600; padding: 8px 12px; border-radius: 999px; }
.ld-nav a:hover { color: var(--ld-ink); background: var(--ld-sunk); }
.ld-nav .current-menu-item > a { color: var(--ld-ink); background: var(--ld-sunk); }
.ld-nav .sub-menu { display: none; }
.ld-header__cta { flex: none; }

/* hero */
.ld-hero { padding-block: clamp(36px, 6vw, 76px) clamp(40px, 6vw, 72px); overflow: hidden; }
.ld-hero__in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 4vw, 56px); align-items: center; }
.ld-hero__copy { display: flex; flex-direction: column; gap: 18px; }
.ld-hero h1 { font-size: clamp(36px, 5.4vw, 62px); font-weight: 800; }
.ld-hero__lead { font-size: clamp(16.5px, 1.6vw, 19px); color: var(--ld-muted); max-width: 54ch; }
.ld-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ld-hero__roles { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; font-weight: 700; }
.ld-hero__roles li { display: flex; align-items: center; gap: 8px; }
.ld-hero__roles li::before { content: ""; width: 30px; height: 9px; border-radius: 999px; background: var(--c); transform: rotate(-4deg); }

/* papan kalender di hero */
.ld-board { margin: 0; background: var(--ld-night); color: var(--ld-night-ink); border-radius: 22px; padding: 18px; box-shadow: 0 30px 70px rgba(10, 30, 15, .22); position: relative; }
.ld-board__top { display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px; font-size: 13px; }
.ld-board__top span { color: var(--ld-night-muted); text-transform: uppercase; letter-spacing: .1em; font-size: 11px; font-weight: 700; }
.ld-board__top strong { font-family: var(--ld-display); font-size: 16px; }
.ld-board__top em { margin-left: auto; font-style: normal; font-size: 11px; color: var(--ld-night-muted); border: 1px solid var(--ld-night-line); border-radius: 999px; padding: 1px 8px; }
.ld-board__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.ld-board__grid span { aspect-ratio: 1.15; border-radius: 6px; background: #17181b; }
.ld-board__lines { position: absolute; left: 18px; right: 18px; top: 64px; display: flex; flex-direction: column; gap: 26px; padding-top: 14px; }
.ld-line { position: relative; margin-left: var(--s); width: var(--w); height: 22px; border-radius: 999px; background: var(--c); color: #121212; display: flex; align-items: center; padding: 0 12px; font-size: 12px; font-weight: 800; white-space: nowrap; box-shadow: 0 4px 14px rgba(0,0,0,.35); }
.ld-line span { overflow: hidden; text-overflow: ellipsis; }
.ld-line b { position: absolute; left: var(--x); top: -5px; transform: translateX(-50%); height: 32px; display: flex; align-items: center; padding: 0 12px 0 7px; font-size: 10px; letter-spacing: .07em; color: #0b0c0e; background: #f3f4f6; border-left: 4px solid var(--c); clip-path: polygon(0 0, 100% 0, calc(100% - 7px) 50%, 100% 100%, 0 100%); }
.ld-line b.is-end { transform: translateX(-100%); background: var(--c); border-left-color: #f3f4f6; }
.ld-board figcaption { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-size: 12.5px; color: var(--ld-night-muted); }
.ld-board figcaption span { display: flex; align-items: center; gap: 7px; }
.ld-board figcaption i { width: 18px; height: 6px; border-radius: 999px; background: var(--c); }

/* prinsip */
.ld-band--pillars { border-block: 1px solid var(--ld-line); background: var(--ld-surface); }
.ld-pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ld-pillars > div { padding: 22px 22px 22px 0; display: flex; flex-direction: column; gap: 4px; }
.ld-pillars > div + div { padding-left: 22px; border-left: 1px solid var(--ld-line); }
.ld-pillars strong { font-family: var(--ld-display); font-size: 17px; }
.ld-pillars span { font-size: 14px; color: var(--ld-muted); }

/* bagian */
.ld-section { padding-block: clamp(56px, 8vw, 104px); }
.ld-section--sunk { background: var(--ld-sunk); }
.ld-section--night { background: var(--ld-night); color: var(--ld-night-ink); --ld-muted: var(--ld-night-muted); }
.ld-head { display: flex; flex-direction: column; gap: 12px; max-width: 720px; margin-bottom: clamp(28px, 4vw, 48px); }
.ld-head h2, .ld-split h2, .ld-cal h2, .ld-join h2 { font-size: clamp(28px, 3.6vw, 42px); font-weight: 800; }
.ld-head p:last-child { color: var(--ld-muted); }

/* langkah */
.ld-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: s; position: relative; }
.ld-steps::before { content: ""; position: absolute; left: 22px; right: 22px; top: 21px; height: 4px; border-radius: 999px; background: linear-gradient(90deg, var(--ld-petani), var(--ld-pengelola) 45%, var(--ld-investor) 70%, var(--ld-leaf)); opacity: .9; }
.ld-steps li { position: relative; padding-right: 24px; display: flex; flex-direction: column; gap: 10px; }
.ld-steps__n { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--ld-bg); border: 3px solid var(--ld-ink); font-family: var(--ld-display); font-weight: 800; font-size: 18px; position: relative; }
.ld-steps h3 { font-size: 19px; margin-top: 8px; }
.ld-steps p { font-size: 15px; color: var(--ld-muted); }

/* peran */
.ld-roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ld-role { background: var(--ld-surface); border: 1px solid var(--ld-line); border-radius: 20px; padding: 26px 24px; display: flex; flex-direction: column; gap: 12px; }
.ld-role__stroke { width: 64px; height: 12px; border-radius: 999px; background: var(--c); transform: rotate(-4deg); }
.ld-role h3 { font-size: 22px; }
.ld-role__gives { font-size: 14.5px; font-weight: 600; color: var(--ld-muted); padding-bottom: 12px; border-bottom: 1px solid var(--ld-line); }
.ld-role ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.ld-role li { display: grid; grid-template-columns: 16px 1fr; gap: 8px; align-items: baseline; }
.ld-role li::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--c); transform: translateY(1px); }

/* bagi hasil */
.ld-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.ld-split__copy { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 96px; }
.ld-split__copy > p { color: var(--ld-muted); }
.ld-flow { margin: 0; padding: 0; list-style: none; counter-reset: f; display: flex; flex-direction: column; gap: 10px; }
.ld-flow li { counter-increment: f; position: relative; padding-left: 40px; min-height: 26px; font-size: 15px; color: var(--ld-muted); }
.ld-flow li::before { content: counter(f); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--ld-ink); color: var(--ld-bg); font-size: 13px; font-weight: 800; }
.ld-flow strong { color: var(--ld-ink); display: block; }
.ld-share { display: flex; gap: 4px; margin-top: 6px; }
.ld-share span { min-width: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--ld-muted); }
.ld-share span::before { content: ""; height: 14px; border-radius: 999px; background: var(--c); }
.ld-share b { font-family: var(--ld-display); font-size: 22px; color: var(--ld-ink); line-height: 1; }

.ld-calc { background: var(--ld-surface); border: 1px solid var(--ld-line); border-radius: 22px; padding: clamp(18px, 3vw, 28px); display: flex; flex-direction: column; gap: 18px; box-shadow: 0 20px 50px rgba(15, 40, 20, .08); }
.ld-calc__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.ld-calc__head h3 { font-size: 20px; }
.ld-calc select, .ld-input input { font: inherit; color: var(--ld-ink); }
.ld-calc select { font-size: 14px; min-height: 38px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--ld-line); background: var(--ld-bg); }
.ld-calc__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ld-calc__fields label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--ld-muted); min-width: 0; }
.ld-input { display: flex; align-items: center; gap: 6px; min-height: 46px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--ld-line); background: var(--ld-bg); }
.ld-input:focus-within { border-color: var(--ld-leaf); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ld-leaf) 20%, transparent); }
.ld-input input { flex: 1; min-width: 0; width: 100%; border: 0; background: transparent; font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; outline: none; }
.ld-input em { font-style: normal; font-size: 13px; color: var(--ld-muted); }
.ld-calc__sum { margin: 0; display: flex; flex-direction: column; border-top: 1px solid var(--ld-line); }
.ld-calc__sum div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--ld-line); font-size: 15px; }
.ld-calc__sum dt { color: var(--ld-muted); }
.ld-calc__sum dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.ld-calc__sum .is-total dd { font-family: var(--ld-display); font-size: 22px; }
.ld-calc__sum dd.is-loss { color: var(--ld-danger); }
.ld-calc__parts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ld-calc__parts li { border-radius: 14px; padding: 12px; background: color-mix(in srgb, var(--c) 14%, var(--ld-surface)); border: 1px solid color-mix(in srgb, var(--c) 40%, var(--ld-line)); display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ld-calc__parts span { font-size: 13px; font-weight: 700; }
.ld-calc__parts small { color: var(--ld-muted); font-weight: 600; }
.ld-calc__parts b { font-family: var(--ld-display); font-size: 17px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.ld-calc__note { font-size: 14px; font-weight: 600; }

/* bagian kalender */
.ld-cal { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.ld-cal__copy { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.ld-cal__copy > p { color: var(--ld-muted); }
.ld-checks { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 15px; }
.ld-checks li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; }
.ld-checks li::before { content: "✓"; color: var(--ld-marker); font-weight: 800; }
.ld-mini { background: #111214; border: 1px solid var(--ld-night-line); border-radius: 18px; padding: 14px; display: flex; flex-direction: column; gap: 4px; }
.ld-mini__dow { display: grid; grid-template-columns: repeat(7, 1fr); font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ld-night-muted); text-align: center; padding-bottom: 4px; }
.ld-mini__dow span:first-child { color: #ff6166; }
.ld-mini__week { position: relative; display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.ld-mini__day { min-height: 112px; background: #17181b; border-radius: 6px; font-size: 12px; font-weight: 700; text-align: center; padding-top: 6px; color: var(--ld-night-ink); }
.ld-mini__day:first-child { color: #ff6166; }
.ld-mini__bars { position: absolute; left: 0; right: 0; top: 30px; display: grid; grid-template-columns: repeat(7, 1fr); column-gap: 4px; row-gap: 8px; grid-auto-rows: 18px; }
.ld-mini__bar { background: var(--c); color: #121212; border-radius: 999px; font-size: 10.5px; font-weight: 800; padding: 0 9px; display: flex; align-items: center; white-space: nowrap; overflow: hidden; margin: 0 6px; }
.ld-mini__bm { justify-self: center; z-index: 1; height: 24px; margin-top: -3px; display: flex; align-items: center; padding: 0 11px 0 6px; font-size: 9.5px; font-weight: 800; letter-spacing: .07em; color: #0b0c0e; background: #f3f4f6; border-left: 4px solid var(--c); clip-path: polygon(0 0, 100% 0, calc(100% - 6px) 50%, 100% 100%, 0 100%); }
.ld-mini__bm.is-panen { background: var(--c); border-left-color: #f3f4f6; }

/* komoditas */
.ld-crops { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px; }
.ld-crops li { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--ld-surface); border: 1px solid var(--ld-line); }
.ld-crops__stroke { height: 10px; border-radius: 999px; background: var(--c); box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); transform: rotate(-4deg); }
.ld-crops__name { font-weight: 700; font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.ld-crops small { font-size: 12.5px; color: var(--ld-muted); font-variant-numeric: tabular-nums; }

/* tanya jawab */
.ld-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 64px); }
.ld-faq .ld-head { margin: 0; }
.ld-faq__list { display: flex; flex-direction: column; border-top: 1px solid var(--ld-line); }
.ld-faq details { border-bottom: 1px solid var(--ld-line); }
.ld-faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font-family: var(--ld-display); font-size: 18px; font-weight: 700; }
.ld-faq summary::-webkit-details-marker { display: none; }
.ld-faq summary::after { content: "+"; font-size: 24px; line-height: 1; color: var(--ld-muted); transition: transform .2s; }
.ld-faq details[open] summary::after { transform: rotate(45deg); }
.ld-faq details p { padding: 0 0 18px; color: var(--ld-muted); max-width: var(--ld-text); }

/* gabung */
.ld-join { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.ld-join__copy { display: flex; flex-direction: column; gap: 16px; }
.ld-join__copy > p { color: var(--ld-muted); }
.ld-contact { margin: 6px 0 0; display: flex; flex-direction: column; gap: 10px; }
.ld-contact div { display: flex; flex-direction: column; }
.ld-contact dt { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ld-muted); }
.ld-contact dd { margin: 0; font-weight: 700; }

/* formulir kemitraan (markup dari plugin Kalender Tani) */
.kt-mitra { background: var(--ld-surface); border: 1px solid var(--ld-line); border-radius: 22px; padding: clamp(18px, 3vw, 28px); display: flex; flex-direction: column; gap: 16px; }
.kt-mitra__roles { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.kt-mitra__roles legend, .kt-mitra label > span { font-size: 13px; font-weight: 700; color: var(--ld-muted); padding: 0; margin-bottom: 6px; }
.kt-mitra__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.kt-mitra__opts label { position: relative; cursor: pointer; }
.kt-mitra__opts input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.kt-mitra__opts span { display: flex; flex-direction: column; gap: 2px; padding: 12px; border-radius: 14px; border: 1.5px solid var(--ld-line); background: var(--ld-bg); font-weight: 700; font-size: 14.5px; color: var(--ld-ink); height: 100%; }
.kt-mitra__opts span small { font-weight: 500; font-size: 12px; color: var(--ld-muted); }
.kt-mitra__opts span::before { content: ""; width: 26px; height: 8px; border-radius: 999px; background: var(--c); margin-bottom: 6px; transform: rotate(-4deg); }
.kt-mitra__opts input:checked + span { border-color: var(--c); background: color-mix(in srgb, var(--c) 14%, var(--ld-surface)); }
.kt-mitra__opts input:focus-visible + span { outline: 2px solid var(--ld-marker); outline-offset: 2px; }
.kt-mitra__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.kt-mitra label { display: flex; flex-direction: column; min-width: 0; }
.kt-mitra input[type="text"], .kt-mitra input[type="tel"], .kt-mitra input[type="email"], .kt-mitra input[type="number"], .kt-mitra textarea {
  font: inherit; font-size: 16px; color: var(--ld-ink); width: 100%; min-height: 46px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--ld-line); background: var(--ld-bg);
}
.kt-mitra textarea { min-height: 90px; resize: vertical; }
.kt-mitra input:focus, .kt-mitra textarea:focus { outline: none; border-color: var(--ld-leaf); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ld-leaf) 20%, transparent); }
.kt-mitra em { font-style: normal; font-weight: 500; }
.kt-mitra__wide { grid-column: 1 / -1; }
.kt-mitra .kt-pdp { font-size: 13px; border: 1px solid var(--ld-line); border-radius: 12px; padding: 10px 12px; background: var(--ld-bg); }
.kt-mitra .kt-pdp summary { cursor: pointer; font-weight: 700; }
.kt-mitra .kt-pdp dl { margin: 10px 0 0; display: grid; gap: 6px; }
.kt-mitra .kt-pdp dt { font-weight: 700; }
.kt-mitra .kt-pdp dd { margin: 0; color: var(--ld-muted); }
.kt-mitra__lead { font-size: 14px; color: var(--ld-muted); }
.kt-mitra__check { flex-direction: row !important; gap: 10px; align-items: flex-start; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.kt-mitra__check input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--ld-leaf); flex: none; }
.kt-mitra__submit { display: flex; flex-direction: column; gap: 8px; }
.kt-mitra__submit .ld-btn, .kt-mitra__submit button { align-self: flex-start; }
.kt-mitra__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.kt-mitra__msg { padding: 14px 16px; border-radius: 14px; font-weight: 600; }
.kt-mitra__msg.is-ok { background: color-mix(in srgb, var(--ld-leaf) 14%, var(--ld-surface)); border: 1px solid var(--ld-leaf); }
.kt-mitra__msg.is-error { background: color-mix(in srgb, var(--ld-danger) 12%, var(--ld-surface)); border: 1px solid var(--ld-danger); }

/* halaman Kalender Tani */
.ld-calpage__about { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--ld-line); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 48px; max-width: 1100px; }
.ld-calpage__about h2 { font-size: 22px; grid-column: 1 / -1; }
.ld-calpage__about p, .ld-calpage__about li { font-size: 15px; color: var(--ld-muted); }
.ld-calpage__about ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
@media (max-width: 760px) { .ld-calpage__about { grid-template-columns: minmax(0, 1fr); } }
.ld-calpage { padding-block: 24px 48px; }
.ld-calpage__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 18px; }
.ld-calpage h1 { font-size: clamp(30px, 4vw, 44px); font-weight: 800; margin-top: 6px; }
.ld-calpage__lead { color: var(--ld-muted); margin-top: 8px; max-width: 60ch; font-size: 15.5px; }
.ld-calpage__tips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ld-calpage__tips li { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; padding: 6px 12px 6px 6px; border-radius: 999px; border: 1px solid var(--ld-line); color: var(--ld-muted); }
.ld-calpage__tips b { width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--ld-ink); color: var(--ld-bg); font-size: 12px; }
.ld-calpage .kt-app { border-radius: 0; padding-inline: 0; }
.ld-calpage__content { margin-top: 32px; max-width: var(--ld-text); }

/* isi halaman biasa */
.ld-main { padding-block: 40px 64px; }
.ld-entry { max-width: var(--ld-text); }
.ld-entry--wide { max-width: none; }
.ld-entry + .ld-entry { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--ld-line); }
.ld-entry__title { font-size: clamp(28px, 3.6vw, 40px); margin: 0 0 8px; }
.ld-entry__title a { color: inherit; text-decoration: none; }
.ld-entry__meta { font-size: 14px; color: var(--ld-muted); margin-bottom: 20px; }
.ld-entry__content > * + * { margin-top: 1em; }
.ld-entry__content :where(h2, h3) { margin-top: 1.6em; }
.ld-entry__content blockquote { margin-left: 0; padding-left: 18px; border-left: 3px solid var(--ld-marker); color: var(--ld-muted); }
.ld-entry__content pre { overflow-x: auto; background: var(--ld-surface); padding: 14px; border-radius: 10px; border: 1px solid var(--ld-line); }
.ld-entry__content table { display: block; overflow-x: auto; border-collapse: collapse; }
.ld-entry__content td, .ld-entry__content th { border: 1px solid var(--ld-line); padding: 6px 10px; }
.alignwide { max-width: var(--ld-wide); }
.alignfull { width: 100%; max-width: none; }
.ld-pager { display: flex; justify-content: space-between; gap: 16px; margin-top: 40px; font-weight: 600; }

/* footer */
.ld-footer { border-top: 1px solid var(--ld-line); background: var(--ld-surface); color: var(--ld-muted); font-size: 14.5px; }
.ld-footer__in { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 32px; padding-block: 44px 28px; }
.ld-footer__brand { display: flex; flex-direction: column; gap: 12px; max-width: 36ch; }
.ld-footer__brand .ld-brand { color: var(--ld-ink); }
.ld-footer__h { font-family: var(--ld-font); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ld-ink); margin-bottom: 10px; }
.ld-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ld-footer a { color: inherit; }
.ld-footer__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; padding-block: 18px 24px; border-top: 1px solid var(--ld-line); font-size: 13px; }
.ld-footer__nav, .ld-footer__nav ul { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.ld-footer__nav ul { flex-direction: row; }

/* responsif */
@media (max-width: 1040px) {
  .ld-nav ul { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .ld-nav ul::-webkit-scrollbar { display: none; }
  .ld-steps { grid-template-columns: 1fr 1fr; row-gap: 32px; }
  .ld-steps::before { display: none; }
}
@media (max-width: 900px) {
  .ld-header__in { flex-wrap: wrap; }
  .ld-nav { order: 3; flex-basis: 100%; margin: 0 -8px; }
  .ld-header__cta { margin-left: auto; }
  .ld-hero__in, .ld-split, .ld-cal, .ld-faq, .ld-join { grid-template-columns: minmax(0, 1fr); }
  .ld-split__copy { position: static; }
  .ld-pillars { grid-template-columns: 1fr 1fr; }
  .ld-pillars > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .ld-pillars > div:nth-child(n+3) { border-top: 1px solid var(--ld-line); }
  .ld-roles { grid-template-columns: minmax(0, 1fr); }
  .ld-footer__in { grid-template-columns: 1fr 1fr; }
  .ld-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  html { scroll-padding-top: 120px; }
  .ld-wrap { --ld-gutter: 16px; }
  body.ld-is-calendar .ld-wrap { --ld-gutter: 8px; }
  .ld-brand__tag { display: none; }
  .ld-hero__cta .ld-btn { flex: 1 1 100%; }
  .ld-board { padding: 12px; border-radius: 16px; }
  .ld-board__lines { left: 12px; right: 12px; top: 52px; gap: 18px; }
  .ld-line { height: 18px; font-size: 10.5px; padding: 0 8px; }
  .ld-line b { height: 26px; font-size: 8.5px; padding: 0 9px 0 5px; }
  .ld-pillars { grid-template-columns: minmax(0, 1fr); }
  .ld-pillars > div, .ld-pillars > div + div { padding: 16px 0; border-left: 0; }
  .ld-pillars > div + div { border-top: 1px solid var(--ld-line); }
  .ld-steps { grid-template-columns: minmax(0, 1fr); }
  .ld-calc__fields, .kt-mitra__grid { grid-template-columns: minmax(0, 1fr); }
  .ld-calc__parts { grid-template-columns: minmax(0, 1fr); }
  .ld-calc__parts li { flex-direction: row; justify-content: space-between; align-items: center; }
  .kt-mitra__opts { grid-template-columns: minmax(0, 1fr); }
  .ld-mini { padding: 8px; }
  .ld-mini__day { min-height: 84px; font-size: 11px; }
  .ld-mini__bar { font-size: 0; margin: 0 3px; }
  .ld-mini__bars { grid-auto-rows: 9px; row-gap: 12px; }
  .ld-mini__bm { font-size: 0; width: 9px; height: 13px; padding: 0; border: 0; background: #f3f4f6; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 72%, 0 100%); }
  .ld-footer__in { grid-template-columns: minmax(0, 1fr); }
  .ld-calpage__tips { display: none; }
}
