/* =========================================================
   style.css — Website Mawan
   Sudut tabel melengkung, hero bermotif dekoratif yang
   memudar dari kanan ke kiri, dan efek bayangan 3D.
   ========================================================= */

:root {
    --teal: #0d6e6e;
    --teal-dark: #084f4f;
    --teal-darker: #063b3b;
    --cream: #fbf9f2;
    --ink: #17302d;
    --ink-soft: #43605c;
    --gold: #e7c069;
    --radius: 20px;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 48px 16px;
    font-family: "Segoe UI", "Poppins", Verdana, sans-serif;
    color: var(--ink);
    background: radial-gradient(circle at 50% -10%, #e4f2f0 0%, #cfe6e3 45%, #b9d8d4 100%);
}

/* ---------- Tabel utama ---------- */
table {
    border-collapse: separate;
    border-spacing: 0;
    border: none !important;
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--cream);

    /* efek bayangan 3D: highlight tipis di atas + bayangan berlapis */
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.7) inset,
        0 18px 14px -12px rgba(6, 40, 38, 0.35),
        0 34px 40px -20px rgba(6, 40, 38, 0.45),
        0 60px 70px -30px rgba(6, 40, 38, 0.35);
}

table, table tr, table td {
    border: none;
}

td {
    padding: 16px 24px;
}

/* ---------- Hero ---------- */
.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: var(--teal);
    background-image: linear-gradient(180deg, var(--teal) 0%, var(--teal-dark) 100%);
    color: var(--cream);
    padding: 44px 40px !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* hiasan dekoratif: gambar muncul di kanan, memudar menuju kiri
   sehingga sisi kiri tetap teal polos */
.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("hero-decor.svg");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 60% auto;

    -webkit-mask-image: linear-gradient(to left, black 0%, black 35%, transparent 85%);
            mask-image: linear-gradient(to left, black 0%, black 35%, transparent 85%);
    z-index: 0;
}

.hero > * {
    position: relative;
    z-index: 1;
}

.hero h1 {
    margin: 0 0 8px;
    font-size: 2.4rem;
    letter-spacing: 0.5px;
}

.hero em {
    color: var(--gold);
    font-size: 1.05rem;
}

/* ---------- Navigasi ---------- */
.nav {
    background: var(--cream) !important;
    padding: 14px 20px !important;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.nav a {
    text-decoration: none;
    color: var(--teal-darker);
    background: #ffffff;
    padding: 8px 18px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.92rem;

    /* tombol dengan bayangan 3D ringan */
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 4px 8px rgba(6, 40, 38, 0.18),
        0 8px 16px rgba(6, 40, 38, 0.12);

    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.nav a:hover {
    transform: translateY(-2px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9) inset,
        0 6px 12px rgba(6, 40, 38, 0.22),
        0 12px 22px rgba(6, 40, 38, 0.16);
    color: var(--teal);
}

/* ---------- Konten utama ---------- */
.content {
    vertical-align: top;
}

.content h3 {
    color: var(--teal-darker);
    margin-bottom: 4px;
    font-size: 1.25rem;
}

.content em {
    color: var(--ink-soft);
}

.content hr {
    border: none;
    border-top: 1px solid #d9e4e2;
    margin: 24px 0;
}

.content a {
    color: var(--teal);
    font-weight: 600;
    text-decoration: none;
}

.content a:hover {
    text-decoration: underline;
}

.content p {
  text-align: justify;
}

.content p:has(> small > em) {
  text-align: right;
}

.content figure {
  margin: 16px 0;
  width: 100%;
}

.content figcaption {
  text-align: center;
}

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

/* ---------- Sidebar tautan eksternal ---------- */
.sidebar {
    background: linear-gradient(160deg, #eef6f5, #dcecea) !important;
    border-radius: 14px;
    box-shadow:
        0 2px 6px rgba(6, 40, 38, 0.10),
        0 10px 18px -8px rgba(6, 40, 38, 0.18);
    padding: 20px !important;
}

.sidebar p {
    margin-top: 0;
    font-weight: 700;
    color: var(--teal-darker);
}

.sidebar ol {
    padding-left: 20px;
    margin: 0;
}

.sidebar li {
    margin-bottom: 8px;
}

.sidebar a {
    color: var(--ink);
    text-decoration: none;
}

.sidebar a:hover {
    color: var(--teal);
    text-decoration: underline;
}

/* ---------- Footer ---------- */
.footer {
    background: var(--cream) !important;
    color: var(--ink-soft);
    font-size: 0.85rem;
    padding: 14px 24px !important;
}
