Hidrolisis Garam dengan Anion dari Asam Lemah Poliprotik (Hidrolisis Bertingkat/Bertahap)

Rabu, 25 Februari 2026

Hidrolisis bertingkat garam dari asam lemah poliprotik adalah proses anion garam bereaksi dengan air secara bertahap (tidak sekaligus) karena anion tersebut mampu menerima proton (H+) lebih dari satu kali, masing-masing dengan konstanta kesetimbangan (Kb) berbeda.

Hal ini terjadi karena asam lemah polipotik (seperti H2CO3, H2SO3, dan H3PO4) melepaskan H+-nya secara bertahap saat membentuk garam. Akibatnya, anion yang terbentuk masih dapat bereaksi kembali dengan air secara bertahap pula.

Yang menarik, anion antara (misalnya HCO3, HSO3, H2PO4, HPO42−) bersifat amfiprotik, spesi yang dapat bertindak sebagai asam (melepas H+) sekaligus sebagai basa (menerima H+) dalam larutan yang sama. Dua proses ini berjalan bersamaan, dan mana yang lebih dominan akan menentukan apakah larutan bersifat asam atau basa.

Catatan: Garam jenis ini adalah hasil pelarutan kemudian terdiosiasi (terurai) kemudian anionnya bereaksi dengan air (anionnya terhidrolisis bertingkat).

📌Dua Jenis Garam yang Dibahas

Dari setiap asam polipotik, dapat terbentuk dua jenis garam:

  • Garam normal (reaksi sempurna), semua H+ asam sudah tergantikan oleh Na+. Anionnya bukan amfiprotik. Hidrolisisnya satu arah (hanya sebagai basa). Contoh: Na2CO3, Na2SO3, Na3PO4.
  • Garam asam (reaksi parsial), masih ada H+ asam yang belum tergantikan. Anionnya amfiprotik, inilah yang mengalami hidrolisis bertingkat sejati. Contoh: NaHCO3, NaHSO3, NaH2PO4, Na2PO4.

Artikel ini membahas keduanya secara berdampingan agar perbandingan perhitungan pH-nya menjadi jelas.

A. Garam Berasal dari H2CO3
A.1 Ionisasi H2CO3 dan Garam yang Terbentuk

H2CO3 adalah asam dipotik, dengan ionisasi yang terjadi dalam 2 tahap:

Tahap 1   H2CO3 ⇌ H+ + HCO3
(Ka1 = 4,3 × 10−7)
Tahap 2   HCO3 ⇌ H+ + CO32−
(Ka2 = 4,7 × 10−11)

H2CO3 + NaOH menghasilkan dua jenis garam:

ReaksiGaramNama GaramJenis
H2CO3 + NaOH →NaHCO3 + H2ONatrium bikarbonatGaram asam (amfiprotik)
H2CO3 + 2NaOH →Na2CO3 + 2H2ONatrium karbonatGaram normal
Garam Normal
A.2 Hidrolisis Na2CO3 (Natrium Karbonat)
📌Fakta Penting Na2CO3

• Na+ berasal dari NaOH (basa kuat) → TIDAK terhidrolisis

• CO32− adalah basa konjugat dari HCO3 (asam lemah) → terhidrolisis satu arah sebagai basa

• Hanya ada satu reaksi, tidak ada sifat amfiprotik

Reaksi hidrolisis CO32−:

CO32− + H2O ⇌ HCO3 + OH
🔢Perhitungan pH Na2CO3 0,1 M

Gunakan rumus hidrolisis basa biasa. Kb untuk CO32− dihitung dari Ka2 H2CO3:

LANGKAH PERHITUNGAN

$$\begin{aligned} K_b(CO_3^{2−}) &= \frac{K_w}{K_{a2}}\\ &= \frac{10−14}{4,7 \times 10^{−11}}\\ &≈ 2,13 \times 10^{−4}\\\\ [OH^−] &= \sqrt{Kb \times C}\\ &= \sqrt{2,13 \times 10^{−4} \times 0,1}\\ &= \sqrt{2,13 \times 10^{−5}}\\&= 4,61 \times 10^{−3}~M\\ \\ pOH &= -\log [OH^-]\\ &= −log(4,61 \times 10^{−3})\\ &≈ 2,34\\\\ pH &= 14 - pOH\\ &= 14 − 2,34\\ &= 11,66 \end{aligned} $$

✓ pH = 11,66 → Larutan bersifat BASA (C = 0,1 M)

Catatan: pH Na2CO3 bergantung pada konsentrasi, berbeda dari NaHCO3. Makin encer, pH mendekati 7.

Garam Asam (Amfiprotik) — Hidrolisis Bertingkat
A.3 Hidrolisis NaHCO3 (Natrium Bikarbonat)
📌Fakta Penting NaHCO3

• Na+ berasal dari NaOH (basa kuat) → TIDAK terhidrolisis

• HCO3 adalah anion amfiprotik → bisa bertindak sebagai asam DAN basa sekaligus

• Inilah inti dari hidrolisis bertingkat — dua kesetimbangan berjalan bersamaan

Dua reaksi hidrolisis yang terjadi bersamaan:

Reaksi 1: HCO3 sebagai BASA (menerima H+ dari air):

HCO3 + H2O ⇌ H2CO3 + OH

Reaksi 2: HCO3 sebagai ASAM (melepas H+ ke air):

HCO3 + H2O ⇌ CO32− + H3O+
🔢Perhitungan pH NaHCO3 0,1 M

Karena Ka2 << Kb untuk HCO3, maka reaksi hidrolisis basa lebih dominan → larutan bersifat BASA.

RUMUS pH

pH = ½ (pKa1 + pKa2)

pKa1 = −log(4,3 × 10−7) ≈ 6,37
pKa2 = −log(4,7 × 10−11) ≈ 10,33

pH = ½ (6,37 + 10,33) = ½ × 16,70 = 8,35

✓ pH = 8,35 → Larutan bersifat BASA (tidak bergantung konsentrasi)

A.4 Keunikan NaHCO3
Keunikan 1: pH tidak bergantung pada konsentrasi! Selama suhu tetap, pH NaHCO3 selalu ≈ 8,35. Rumus pH = ½(pKa1 + pKa2) tidak mengandung variabel konsentrasi.
Keunikan 2: HCO3 adalah anion amfiprotik sejati Bisa jadi asam (lepas H+) DAN basa (terima H+) secara bersamaan dalam larutan.
Keunikan 3: Aplikasi dalam kehidupan sehari-hari Baking soda (NaHCO3) dipakai agar roti mengembang. Obat maag mengandung NaHCO3 untuk menetralkan asam lambung.
A.5 Perbandingan Na2CO3 vs NaHCO3
AspekNa2CO3 (garam normal)NaHCO3 (garam asam)
AnionCO32− (basa biasa)HCO3 (amfiprotik)
Jumlah reaksi hidrolisisSatu arah (hanya basa)Dua arah bersamaan
Reaksi dominanCO32− + H2O ⇌ HCO3 + OHHCO3 + H2O ⇌ H2CO3 + OH
Rumus pHpH = 14 + ½(log Kb + log C)pH = ½(pKa1 + pKa2)
Sifat larutanBasa kuatBasa lemah
pH (0,1 M)≈ 11,66≈ 8,35
pH bergantung [C]?YaTidak (unik!)
B. Garam Berasal dari H2SO3
B.1 Ionisasi H2SO3

H2SO3 juga merupakan asam dipotik, mirip dengan H2CO3.

Namun, H2SO3 memiliki Ka1 yang jauh lebih besar. Perbedaan ini akan berdampak besar!

Tahap 1   H2SO3 ⇌ H+ + HSO3
(Ka1 = 1,5 × 10−2)
Tahap 2   HSO3 ⇌ H+ + SO32−
(Ka2 = 6,3 × 10−8)
ReaksiGaramNama GaramJenis
H2SO3 + NaOH →NaHSO3 + H2ONatrium bisulfitGaram asam (amfiprotik)
H2SO3 + 2NaOH →Na2SO3 + 2H2ONatrium sulfitGaram normal
Garam Normal
B.2 Hidrolisis Na2SO3 (Natrium Sulfit)
📌Fakta Penting Na2SO3

• Na+ berasal dari NaOH (basa kuat) → TIDAK terhidrolisis

• SO32− adalah basa konjugat dari HSO3terhidrolisis satu arah sebagai basa

Reaksi hidrolisis SO32−:

SO32− + H2O ⇌ HSO3 + OH
🔢Perhitungan pH Na2SO3 0,1 M

Kb untuk SO32− dihitung dari Ka2 H2SO3:

LANGKAH PERHITUNGAN

$$\begin{aligned} K_b(SO_3^{2−}) &= \frac{K_w}{K_{a2}}\\ &= \frac{10−14}{6,3 \times 10^{−8}}\\ &≈ 1,59 \times 10^{−7}\\\\ [OH^−] &= \sqrt{Kb \times C}\\ &= \sqrt{1,59 \times 10^{−7} \times 0,1}\\ &= \sqrt{1,59 \times 10^{−8}}\\ &= 1,26 \times 10^{-4}~M\\\\ pOH &= -\log [OH^-]\\ &= −log(1,26 \times 10^{−4})\\ &≈ 3,90\\\\ pH &= 14 - pOH\\ &= 14 − 3,90\\ &= 10,10 \end{aligned} $$

✓ pH = 10,10 → Larutan bersifat BASA (C = 0,1 M)

Catatan: pH Na2SO3 bergantung pada konsentrasi. Makin encer, pH semakin mendekati 7.

Garam Asam (Amfiprotik) — Hidrolisis Bertingkat
B.3 Hidrolisis NaHSO3 (Natrium Bisulfit)
⚠️Perbedaan Kritis dengan NaHCO3

• Ka1(H2SO3) = 1,5 × 10−2jauh lebih besar dari Ka2 = 6,3 × 10−8

• Ini berarti H2SO3 sudah cukup kuat pada ionisasi pertamanya

• Dampaknya: sifat larutan NaHSO3 akan berbeda drastis dari NaHCO3!

Dua reaksi hidrolisis HSO3:

Reaksi 1: HSO3 sebagai BASA:

HSO3 + H2O ⇌ H2SO3 + OH    (Kb = Kw/Ka1)

Reaksi 2: HSO3 sebagai ASAM:

HSO3 + H2O ⇌ SO32− + H3O+    (Ka = Ka2)
🔢Perhitungan pH NaHSO3 0,1 M
RUMUS pH

pH = ½ (pKa1 + pKa2)

pKa1 = −log(1,5 × 10−2) ≈ 1,82
pKa2 = −log(6,3 × 10−8) ≈ 7,20

pH = ½ (1,82 + 7,20) = ½ × 9,02 = 4,51

✗ pH = 4,51 → Larutan bersifat ASAM! (tidak bergantung konsentrasi)

Mengapa asam? Karena pKa1 sangat kecil (1,82), nilai ½(pKa1+pKa2) jatuh jauh di bawah 7.

B.4 Keunikan NaHSO3
Keunikan 1: NaHSO3 bersifat ASAM meski kationnya Na+! Na+ dari basa kuat → tidak terhidrolisis. Tapi HSO3 terlalu asam karena Ka1 H2SO3 sangat besar. Akibatnya, ionisasi asam HSO3 dominan → pH < 7.
Keunikan 2: pH juga tidak bergantung konsentrasi pH = ½(pKa1 + pKa2) = 4,51, nilainya tetap konstan.
Keunikan 3: Kontras tajam dengan Na2SO3! NaHSO3 → pH 4,51 (ASAM) | Na2SO3 → pH ≈ 10,10 (BASA). Penambahan 1 mol NaOH saja mengubah sifat dari ASAM ke BASA!
Keunikan 4: Digunakan sebagai pengawet makanan (E221) Sifat asamnya membantu menghambat pertumbuhan mikroba dan jamur.
B.5 Perbandingan Na2SO3 vs NaHSO3
AspekNa2SO3 (garam normal)NaHSO3 (garam asam)
AnionSO32− (basa biasa)HSO3 (amfiprotik)
Jumlah reaksiSatu arahDua arah bersamaan
Reaksi dominanSO32− + H2O ⇌ HSO3 + OHHSO3 ⇌ SO32− + H+ (ionisasi asam)
Sifat larutanBasaAsam (mengejutkan!)
pH (0,1 M)≈ 10,10≈ 4,51
pH bergantung [C]?YaTidak
C. Garam Berasal dari H3PO4
C.1 Keistimewaan H3PO4 sebagai Asam Tripotik

H3PO4 adalah asam tripotik, yang paling kompleks di antara ketiga asam ini!

Ionisasi terjadi dalam 3 tahap:

Tahap 1   H3PO4 ⇌ H+ + H2PO4
(Ka1 = 7,5 × 10−3)
Tahap 2   H2PO4 ⇌ H+ + HPO42−
(Ka2 = 6,2 × 10−8)
Tahap 3   HPO42− ⇌ H+ + PO43−
(Ka3 = 2,2 × 10−13)

H3PO4 + NaOH menghasilkan tiga jenis garam:

Mol NaOHReaksiGaramNamaJenis
1 molH3PO4 + NaOH →NaH2PO4Natrium dihidrogen fosfatGaram asam (amfiprotik)
2 molH3PO4 + 2NaOH →Na2HPO4Dinatrium hidrogen fosfatGaram asam (amfiprotik)
3 molH3PO4 + 3NaOH →Na3PO4Natrium fosfatGaram normal
Garam Normal
C.2 Hidrolisis Na3PO4 (Natrium Fosfat)
📌Fakta Penting Na3PO4

• Na+ berasal dari NaOH (basa kuat) → TIDAK terhidrolisis

• PO43− adalah basa konjugat dari HPO42−terhidrolisis satu arah sebagai basa

• Hidrolisis hanya satu tahap yang dominan (tahap 2 dan 3 dapat diabaikan)

Reaksi hidrolisis PO43− (tahap 1, dominan):

PO43− + H2O ⇌ HPO42− + OH
🔢Perhitungan pH Na3PO4 0,1 M

Kb untuk PO43− dihitung dari Ka3 H3PO4. Ka3 sangat kecil → Kb sangat besar → PO43− adalah basa yang cukup kuat!

LANGKAH PERHITUNGAN

Kb(PO43−) = Kw / Ka3 = 10−14 / 2,2×10−13 ≈ 4,55 × 10−2

[OH] = √(Kb × C) = √(4,55×10−2 × 0,1)
= √(4,55×10−3) ≈ 6,75 × 10−2 M

Cek: [OH⁻] = 0,0675 M > C/10, berarti aproksimasi kurang akurat.
Gunakan persamaan kuadrat atau anggap nilai ini sebagai pendekatan.


pOH = −log(6,75×10−2) ≈ 1,17
pH = 14 − 1,17 = ≈ 12,83

✓ pH ≈ 12,83 → Larutan bersifat BASA KUAT (C = 0,1 M)

Catatan: Kb PO43− sangat besar (≈ 0,046) karena Ka3 sangat kecil. Ini membuat Na3PO4 menjadi garam yang sangat basa — pH bergantung konsentrasi.

Garam Asam (Amfiprotik) — Hidrolisis Bertingkat
C.3 Hidrolisis NaH2PO4
📌Sifat H2PO4 (Amfiprotik)

• Sebagai BASA: H2PO4 + H2O ⇌ H3PO4 + OH

• Sebagai ASAM: H2PO4 + H2O ⇌ HPO42− + H3O+

Reaksi ASAM lebih dominan karena Ka2 >> Kb dari H2PO4.

🔢Perhitungan pH NaH2PO4 0,1 M
RUMUS pH

pH = ½ (pKa1 + pKa2)

pKa1 = −log(7,5 × 10−3) ≈ 2,12
pKa2 = −log(6,2 × 10−8) ≈ 7,21

pH = ½ (2,12 + 7,21) = ½ × 9,33 = 4,66

✗ pH = 4,66 → Larutan bersifat ASAM! (tidak bergantung konsentrasi)

Garam Asam (Amfiprotik) — Hidrolisis Bertingkat
C.4 Hidrolisis Na2HPO4
📌Sifat HPO42− (Amfiprotik)

• Sebagai BASA: HPO42− + H2O ⇌ H2PO4 + OH   (Kb = Kw/Ka2)

• Sebagai ASAM: HPO42− + H2O ⇌ PO43− + H3O+   (Ka3 sangat kecil!)

Reaksi BASA lebih dominan karena Ka3 = 2,2 × 10−13 sangat kecil → HPO42− hampir tidak terionisasi sebagai asam.

🔢Perhitungan pH Na2HPO4 0,1 M
RUMUS pH | Perhatikan: Pakai pKa2 dan pKa3!

pH = ½ (pKa2 + pKa3)

pKa2 = −log(6,2 × 10−8) ≈ 7,21
pKa3 = −log(2,2 × 10−13) ≈ 12,66

pH = ½ (7,21 + 12,66) = ½ × 19,87 = 9,93

✓ pH = 9,93 → Larutan bersifat BASA! (tidak bergantung konsentrasi)

C.5 Keunikan Garam-Garam Fosfat
Keunikan 1: Ada DUA garam amfiprotik berbeda sifat dari satu asam! NaH2PO4 → ASAM (pH 4,66) | Na2HPO4 → BASA (pH 9,93). Ini tidak ditemukan pada H2CO3 maupun H2SO3.
Keunikan 2: Pola pergeseran pH yang dramatis NaH2PO4 → 4,66  |  Na2HPO4 → 9,93  |  Na3PO4 → ≈12,83. Setiap penambahan NaOH meningkatkan pH secara drastis!
Keunikan 3: Sistem buffer fosfat dalam biologi H2PO4/HPO42− adalah buffer utama dalam sel. Menjaga pH darah sekitar 7,35–7,45.
Keunikan 4: Ka3 H3PO4 sangat kecil, Kb PO43− sangat besar Ka3 = 2,2 × 10−13 → Kb(PO43−) ≈ 4,55 × 10−2. Itulah mengapa Na3PO4 sangat basa, dan Na2HPO4 tetap bersifat basa meski anionnya masih punya H.
GaramAnionpH (0,1 M)SifatRumus pHpH bergantung C?
NaH2PO4H2PO4 (amfiprotik)4,66Asam½(pKa1 + pKa2)Tidak
Na2HPO4HPO42− (amfiprotik)9,93Basa½(pKa2 + pKa3)Tidak
Na3PO4PO43− (basa biasa)≈12,83Basa kuat½(pKw/Ka3) via KbYa
D. Ringkasan dan Perbandingan Besar
NaHCO3
dari H2CO3
8,35
BASA
½(pKa1+pKa2)
NaHSO3
dari H2SO3
4,51
ASAM
½(pKa1+pKa2)
NaH2PO4
dari H3PO4
4,66
ASAM
½(pKa1+pKa2)
Na2HPO4
dari H3PO4
9,93
BASA
½(pKa2+pKa3)
AspekNaHCO3NaHSO3NaH2PO4Na2HPO4
Asam asalH2CO3H2SO3H3PO4H3PO4
Anion amfiprotikHCO3HSO3H2PO4HPO42−
Reaksi dominanHidrolisis basaIonisasi asamIonisasi asamHidrolisis basa
Sifat larutanBasaAsamAsamBasa
pH (approx.)8,354,514,669,93
pH bergantung [C]?TidakTidakTidakTidak
E. Aturan Umum Menentukan Sifat Garam Amfiprotik
📋Panduan Cepat
1
Hitung pH = ½(pKa(n) + pKa(n+1))
dengan n adalah tahap ionisasi yang menghasilkan anion tersebut.
2
Jika pH < 7 → larutan bersifat ASAM
Artinya: Ka dominan (ionisasi asam lebih kuat).
3
Jika pH > 7 → larutan bersifat BASA
Artinya: Kb dominan (hidrolisis basa lebih kuat).
4
pH tidak bergantung pada konsentrasi garam
Berlaku untuk semua garam amfiprotik. Untuk garam normal (Na2CO3, Na2SO3, Na3PO4), pH bergantung pada konsentrasi.
▶ RUMUS KUNCI ◀
pH = ½ (pKa(n) + pKa(n+1))
HCO3: pH = ½(pKa1+pKa2) dari H2CO3
HSO3: pH = ½(pKa1+pKa2) dari H2SO3

H2PO4: pH = ½(pKa1+pKa2) dari H3PO4
HPO42−: pH = ½(pKa2+pKa3) dari H3PO4
F. Soal Latihan
Soal 1
Larutan NaHCO3 0,1 M atau 0,001 M: manakah yang memiliki pH lebih tinggi?
Ka1 H2CO3 = 4,3 × 10−7 ; Ka2 H2CO3 = 4,7 × 10−11
💡 Lihat Jawaban
Jawaban:
Keduanya memiliki pH yang SAMA (8,35). pH garam amfiprotik = ½(pKa1 + pKa2), sehingga tidak bergantung pada konsentrasi!
Soal 2
Mengapa NaHSO3 bersifat asam padahal Na+ berasal dari basa kuat NaOH?
💡 Lihat Jawaban
Jawaban:
Na+ memang tidak terhidrolisis. Namun Ka1(H2SO3) = 1,5 × 10−2 sangat besar, sehingga Ka2 dari HSO3 masih cukup besar relatif terhadap Kb-nya. Akibatnya ionisasi asam HSO3 lebih dominan.
pH = ½(1,82 + 7,20) = 4,51 < 7.
Soal 3
Hitunglah pH larutan Na2HPO4!
(Ka1 = 7,5×10−3, Ka2 = 6,2×10−8, Ka3 = 2,2×10−13)
💡 Lihat Jawaban
Jawaban:
pKa2 = −log(6,2×10−8) = 7,21
pKa3 = −log(2,2×10−13) = 12,66
pH = ½(7,21 + 12,66) = ½(19,87) = 9,93 → BASA ✓
Soal 4
Hitunglah pH larutan Na2CO3 0,05 M!
(Ka2 H2CO3 = 4,7 × 10−11)
💡 Lihat Jawaban
Jawaban:
Kb(CO32−) = 10−14 / 4,7×10−11 ≈ 2,13 × 10−4
[OH] = √(2,13×10−4 × 0,05) = √(1,065×10−5) ≈ 3,26 × 10−3 M
pOH = −log(3,26×10−3) ≈ 2,49
pH = 14 − 2,49 = 11,51 → BASA ✓
Perhatikan: pH 11,51 (C=0,05 M) berbeda dari pH 11,66 (C=0,1 M) — bukti pH Na2CO3 bergantung konsentrasi.
Soal 5
Urutkan pH dari rendah ke tinggi: Na2CO3, NaHCO3, NaHSO3, Na2SO3, NaH2PO4, Na2HPO4, Na3PO4 (semua 0,1 M)
💡 Lihat Jawaban
Jawaban (dari asam ke basa):
NaHSO3 (4,51) < NaH2PO4 (4,66) < NaHCO3 (8,35) < Na2HPO4 (9,93) < Na2SO3 (≈10,10) < Na2CO3 (≈11,66) < Na3PO4 (≈12,83)
:root { --blue: #1F4E79; --blue-m: #2E75B6; --blue-l: #BDD7EE; --blue-p: #E8F4F8; --teal: #1F6B75; --teal-l: #C6EFCE; --teal-p: #EAF6F7; --orange: #843C0C; --orange-l: #FCE4D6; --purple: #4B0082; --purple-l: #E8E0F0; --gray: #595959; --gray-l: #F2F2F2; --red: #9C0006; --red-l: #FFC7CE; --green: #1F6B35; --green-l: #E2F0E8; } /* Chemistry sub/sup - avoids browser sub rendering gaps */ .cs, .cp { font-size: 0.72em; position: relative; line-height: 0; display: inline-block; vertical-align: baseline; } .cs { top: 0.32em; } .cp { top: -0.45em; } .calculator *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .badges { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 24px; position: relative; } .badge { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.3); border-radius: 20px; padding: 4px 16px; font-size: .82rem; font-weight: 700; letter-spacing: .5px; } /* SECTION HEADERS */ .section-header { display: flex; align-items: center; gap: 14px; background: var(--blue); color: #fff; padding: 14px 20px; border-radius: 10px; margin: 40px 0 20px; font-family: 'Lora', serif; font-size: 1.25rem; font-weight: 700; box-shadow: 0 4px 14px rgba(31,78,121,.3); } .sh-text { display: inline; } .sh-text .cs { top: 0.38em; } .sh-text .cp { top: -0.5em; } .section-header.teal { background: var(--teal); box-shadow: 0 4px 14px rgba(31,107,117,.3); } .section-header.gray { background: var(--gray); box-shadow: 0 4px 14px rgba(89,89,89,.3); } .section-header.purple { background: var(--purple); box-shadow: 0 4px 14px rgba(75,0,130,.3); } .section-header.green { background: var(--green); box-shadow: 0 4px 14px rgba(31,107,53,.3); } .section-header .icon { font-size: 1.4rem; } .subsection-title { font-family: 'Lora', serif; font-size: 1.05rem; font-weight: 700; color: var(--blue); margin: 28px 0 10px; padding-left: 12px; border-left: 4px solid var(--blue); } .subsection-title.teal { color: var(--teal); border-color: var(--teal); } .subsection-title.gray { color: var(--gray); border-color: var(--gray); } .subsection-title.purple { color: var(--purple); border-color: var(--purple); } /* INFO BOXES */ .box { border-radius: 10px; padding: 14px 18px; margin: 14px 0; border-left: 5px solid; } .box.blue { background: var(--blue-p); border-color: var(--blue); } .box.teal { background: var(--teal-p); border-color: var(--teal); } .box.orange { background: var(--orange-l); border-color: var(--orange); } .box.purple { background: var(--purple-l); border-color: var(--purple); } .box.gray { background: var(--gray-l); border-color: var(--gray); } .box.red { background: var(--red-l); border-color: var(--red); } .box.green { background: var(--green-l); border-color: var(--green); } .box-title { font-size: 0; font-weight: 800; margin-bottom: 10px; display: flex; align-items: center; } .box-title .bt-icon { font-size: .9rem; margin-right: 8px; } .box-title .bt-text { font-size: .9rem; font-weight: 800; letter-spacing: .5px; } .box.blue .box-title { color: var(--blue); } .box.teal .box-title { color: var(--teal); } .box.orange .box-title { color: var(--orange); } .box.purple .box-title { color: var(--purple); } .box.gray .box-title { color: var(--gray); } .box.red .box-title { color: var(--red); } .box.green .box-title { color: var(--green); } /* FORMULA BLOCKS */ .formula-block { background: #FFFBF0; border: 1.5px dashed #C8A84B; border-radius: 8px; padding: 10px; margin: 10px 0; text-align: center; font-family: 'Roboto Condensed'; font-size: 1rem; font-weight: 600; color: #5c3a00; line-height: 1.8; } .formula-block.big { font-size: 1.1rem; background: linear-gradient(135deg, #fff8e8, #fff3d5); border-color: var(--orange); box-shadow: 0 2px 8px rgba(132,60,12,.1); padding: 10px; } .eq-label { display: inline-block; background: var(--orange); color: #fff; font-size: .7rem; padding: 2px 8px; border-radius: 4px; margin-bottom: 6px; font-family: 'Nunito', sans-serif; font-weight: 700; letter-spacing: 1px; } /* TABLES */ .table-wrap { overflow-x: auto; margin: 14px 0; border-radius: 3px; box-shadow: 0 2px 10px rgba(0,0,0,.08); } table { width: 100%; border-collapse: collapse; min-width: 500px; white-space: nowrap; } thead th { background: var(--blue); color: #fff; padding: 11px 14px!important; font-size: .85rem; font-weight: 700; text-align: left; letter-spacing: .3px; } thead.teal th { background: var(--teal); } thead.gray th { background: var(--gray); } thead.purple th { background: var(--purple); } thead.green th { background: var(--green); } tbody tr:nth-child(odd) { background: #fff; } tbody tr:nth-child(even) { background: #c7cdd4; } tbody td { padding: 9px 14px!important; font-size: .88rem; border-bottom: 1px solid #E0E8F0; } tbody tr:last-child td { border-bottom: none; } /* KEUNIKAN */ .keunikan-item { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px dashed rgba(0,0,0,.1); } .keunikan-item:last-child { border-bottom: none; } .keunikan-star { font-size: 1.3rem; flex-shrink: 0; line-height: 1.4; } .keunikan-content strong { display: block; margin-bottom: 3px; } /* SOAL */ .soal-block { background: #fff; border: 2px solid var(--blue-l); border-radius: 10px; padding: 18px 22px; margin: 14px 0; box-shadow: 0 2px 8px rgba(0,0,0,.05); } .soal-label { font-weight: 800; color: var(--blue); font-size: .85rem; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 8px; } .soal-q { font-weight: 600; margin-bottom: 10px; } .jawaban { background: var(--teal-p); border-radius: 6px; padding: 10px 14px; margin-top: 10px; font-size: .9rem; color: var(--teal); border-left: 3px solid var(--teal); } /* RUMUS KUNCI */ .rumus-kunci { background: linear-gradient(135deg, var(--blue), var(--blue-m)); color: #fff; border-radius: 12px; padding: 8px; margin: 20px 0; text-align: center; box-shadow: 0 4px 20px rgba(31,78,121,.35); } .rumus-kunci .label { font-size: .85rem; opacity: .8; margin-bottom: 4px; letter-spacing: 1px; } .rumus-kunci .formula-text { font-family: 'Source Code Pro', monospace; font-size: 1.2rem; font-weight: 600; margin: 12px 0; background: rgba(255,255,255,.12); border-radius: 8px; padding: 12px 20px; display: inline-block; } .rumus-kunci .note { font-size: 1rem; opacity: .85; margin-top: 10px; padding: 10px; } /* SUMMARY GRID */ .summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 10px; margin: 20px 0; } .summary-card { background: #fff; border-radius: 10px; padding: 18px; border-top: 4px solid var(--blue); box-shadow: 0 2px 10px rgba(0,0,0,.07); text-align: center; } .summary-card.teal { border-color: var(--teal); } .summary-card.orange { border-color: var(--orange); } .summary-card.purple { border-color: var(--purple); } .garam-name { font-family: 'Source Code Pro', monospace; font-size: 1rem; font-weight: 700; margin-bottom: 8px; } .summary-card.teal .garam-name { color: var(--teal); } .summary-card.orange .garam-name { color: var(--orange); } .summary-card.purple .garam-name { color: var(--purple); } .ph-val { font-size: 1.4rem; font-weight: 800; line-height: 1; margin: 8px 0; } .summary-card.teal .ph-val { color: var(--teal); } .summary-card.orange .ph-val { color: var(--red); } .summary-card.purple .ph-val { color: var(--purple); } .sifat-tag { display: inline-block; padding: 3px 12px; border-radius: 20px; font-size: .78rem; font-weight: 700; letter-spacing: .5px; } .tag-basa { background: var(--teal-l); color: var(--teal); } .tag-asam { background: var(--red-l); color: var(--red); } .tag-basa-kuat { background: var(--blue-l); color: var(--blue); } /* RULE STEPS */ .rule-step { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid rgba(31,78,121,.1); } .rule-step:last-child { border-bottom: none; } .rule-num { background: var(--blue); color: #fff; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: .85rem; flex-shrink: 0; } /* FOOTER */ .footer { text-align: center; padding: 8px 1px; font-size: .82rem; color: #999; border-top: 1px solid #E0E0E0; margin-top: 4px; font-style: italic; } /* UTILITY */ .c-teal { color: var(--teal); } .c-red { color: var(--red); } .c-blue { color: var(--blue); } .fw-bold { font-weight: 700; } .mt-8 { margin-top: 8px; } .mt-10 { margin-top: 10px; } .mt-12 { margin-top: 12px; } .mt-16 { margin-top: 16px; } .mt-18 { margin-top: 18px; } .fs-sm { font-size: .88rem; } .fs-xs { font-size: .75rem; } .fi { font-style: italic; } /* Details/summary jawaban */ details.jawaban-toggle { margin-top: 10px; } details.jawaban-toggle summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-weight: 700; font-size: .85rem; color: var(--teal); background: var(--teal-p); border: 1.5px solid var(--teal); border-radius: 6px; padding: 6px 14px; user-select: none; list-style: none; transition: background .15s; } details.jawaban-toggle summary::-webkit-details-marker { display: none; } details.jawaban-toggle summary::marker { display: none; } details.jawaban-toggle summary:hover { background: var(--teal-l); } details.jawaban-toggle[open] summary { border-radius: 6px 6px 0 0; } details.jawaban-toggle[open] .jawaban { border-radius: 0 6px 6px 6px; margin-top: 0; } /* PEMBATAS ANTARA GARAM NORMAL DAN BERTINGKAT */ .garam-divider { display: flex; align-items: center; gap: 12px; margin: 24px 0 16px; font-size: .8rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--gray); } .garam-divider::before, .garam-divider::after { content: ''; flex: 1; height: 1px; background: #ccc; }
Bagikan di

Tidak ada komentar:

Posting Komentar

 
Copyright © 2015-2026 Urip dot Info | Disain Template oleh Herdiansyah Dimodivikasi Urip.Info