* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary: #14532d;
    --primary-soft: #1f7a3d;
    --primary-light: #22c55e;
    --secondary: #facc15;
    --secondary-hover: #eab308;
    --dark: #0f172a;
    --text: #1f2937;
    --text-soft: #4b5563;
    --white: #ffffff;
    --bg: #f6fbf8;
    --bg-soft: #ecfdf5;
    --border: rgba(20, 83, 45, 0.10);
    --shadow-sm: 0 8px 24px rgba(15, 23, 42, 0.06);
    --shadow-md: 0 14px 35px rgba(20, 83, 45, 0.10);
    --shadow-lg: 0 20px 50px rgba(20, 83, 45, 0.18);
    --radius-sm: 14px;
    --radius-md: 22px;
    --radius-lg: 30px;
    --transition: all 0.35s ease;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Poppins', sans-serif;
    background:
        radial-gradient(circle at top left, rgba(34, 197, 94, 0.08), transparent 22%),
        radial-gradient(circle at bottom right, rgba(20, 83, 45, 0.08), transparent 28%),
        var(--bg);
    color: var(--text);
    line-height: 1.7;
    overflow-x: hidden;
}

a {
    text-decoration: none;
    transition: var(--transition);
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

button,
input,
textarea,
select {
    font-family: 'Poppins', sans-serif;
}

.container {
    width: min(90%, 1200px);
    margin: 0 auto;
}

/* NAVBAR */
.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(20, 83, 45, 0.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.nav-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 18px 0;
}

.logo a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 29px;
    font-weight: 800;
    color: var(--white);
    letter-spacing: 0.4px;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.nav-menu {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.nav-menu li a {
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: 500;
    padding: 10px 16px;
    border-radius: 999px;
    position: relative;
}

.nav-menu li a:hover,
.nav-menu li a.active {
    background: rgba(255, 255, 255, 0.14);
    color: var(--secondary);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

/* HERO */
.hero {
    min-height: 100vh;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,0.28) 0%,
            rgba(0,0,0,0.38) 100%
        ),
        url('/images/tulisan_pelawan.jpeg') center center / cover no-repeat !important;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.10), transparent 25%),
        radial-gradient(circle at 80% 70%, rgba(250, 204, 21, 0.12), transparent 18%);
    pointer-events: none;
}

.hero-overlay {
    width: 100%;
    padding: 100px 0 85px;
    position: relative;
    z-index: 1;
}

.hero-content {
    max-width: 780px;
    color: var(--white);
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: var(--white);
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 24px;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.hero-content h1 {
    font-size: clamp(40px, 6vw, 62px);
    line-height: 1.12;
    font-weight: 800;
    margin-bottom: 20px;
    text-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
}

.hero-content p {
    font-size: 17px;
    max-width: 680px;
    margin-bottom: 32px;
    color: #f8fafc;
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

.hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

/* BUTTON */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 28px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.18), transparent);
    transform: translateX(-120%);
    transition: transform 0.6s ease;
}

.btn:hover::after {
    transform: translateX(120%);
}

.btn-primary {
    background: linear-gradient(135deg, var(--secondary), #fde047);
    color: var(--primary);
    box-shadow: 0 16px 30px rgba(250, 204, 21, 0.28);
}

.btn-primary:hover {
    transform: translateY(-3px);
    background: linear-gradient(135deg, var(--secondary-hover), #facc15);
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.12);
    color: var(--white);
    border: 1px solid rgba(255, 255, 255, 0.26);
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10);
}

.btn-secondary:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, 0.18);
}

/* SECTION */
.section {
    padding: 58px 0;
    position: relative;
}

.section-soft {
    padding-top: 42px;
    padding-bottom: 58px;
    background:
        linear-gradient(to bottom, rgba(236, 253, 245, 0.85), rgba(247, 251, 248, 0.96));
}

.section-heading {
    max-width: 780px;
    margin: 0 auto 34px auto;
    text-align: center;
}

.section-heading h2 {
    font-size: clamp(30px, 4vw, 40px);
    color: var(--primary);
    font-weight: 800;
    margin-bottom: 12px;
    position: relative;
}

.section-heading h2::after {
    content: "";
    display: block;
    width: 100px;
    height: 5px;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
    margin: 14px auto 0;
    border-radius: 999px;
    box-shadow: 0 6px 18px rgba(34, 197, 94, 0.22);
}

.section-heading p {
    font-size: 16px;
    color: var(--text-soft);
    margin-bottom: 0;
}

/* INFO CARD */
.info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
    gap: 28px;
}

.info-card {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(8px);
    padding: 32px 26px;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    transition: var(--transition);
    border: 1px solid rgba(34, 197, 94, 0.10);
    position: relative;
    overflow: hidden;
}

.info-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
}

.info-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 45px rgba(20, 83, 45, 0.14);
}

.icon-box {
    width: 68px;
    height: 68px;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    color: var(--white);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 20px;
    box-shadow: 0 14px 25px rgba(34, 197, 94, 0.22);
}

.info-card h3 {
    font-size: 22px;
    color: var(--primary);
    margin-bottom: 12px;
    font-weight: 700;
}

.info-card p {
    color: var(--text-soft);
    font-size: 15px;
}

/* FEATURE CARD */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 28px;
}

.feature-card {
    background: var(--white);
    border-radius: var(--radius-md);
    padding: 30px 24px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(20, 83, 45, 0.06);
}

.feature-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
}

.feature-card::after {
    content: "";
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.12), transparent 70%);
    border-radius: 50%;
}

.feature-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 40px rgba(20, 83, 45, 0.12);
}

.feature-card h3 {
    font-size: 21px;
    color: var(--primary);
    margin-bottom: 12px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.feature-card p {
    color: var(--text-soft);
    font-size: 15px;
    position: relative;
    z-index: 1;
}

/* HIGHLIGHT */
.highlight-box {
    background: linear-gradient(135deg, var(--primary), var(--primary-soft));
    border-radius: var(--radius-lg);
    padding: 50px 42px;
    color: var(--white);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    box-shadow: var(--shadow-lg);
    position: relative;
    overflow: hidden;
}

.highlight-box::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.highlight-box::after {
    content: "";
    position: absolute;
    bottom: -70px;
    left: -70px;
    width: 220px;
    height: 220px;
    background: rgba(250, 204, 21, 0.10);
    border-radius: 50%;
}

.highlight-text,
.highlight-action {
    position: relative;
    z-index: 1;
}

.highlight-text {
    flex: 1 1 500px;
}

.highlight-text h2 {
    font-size: clamp(28px, 4vw, 36px);
    margin-bottom: 14px;
    font-weight: 800;
}

.highlight-text p {
    font-size: 16px;
    color: #ecfdf5;
}

.highlight-action {
    flex: 0 0 auto;
}

/* FOOTER */
.footer {
    background: linear-gradient(135deg, #0d3b21, #14532d);
    color: var(--white);
    text-align: center;
    padding: 28px 0;
    margin-top: 20px;
    position: relative;
    overflow: hidden;
}

.footer::before {
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 50%;
}

.footer p {
    font-size: 14px;
    letter-spacing: 0.3px;
    position: relative;
    z-index: 1;
}

/* PAGE HEADER */
.page-header {
    padding: 96px 0 74px;
    background:
        linear-gradient(rgba(20, 83, 45, 0.82), rgba(34, 197, 94, 0.72)),
        url('/images/hero-pantai.jpg');
    background-size: cover;
    background-position: center;
    text-align: center;
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.10), transparent 25%),
        radial-gradient(circle at bottom right, rgba(250, 204, 21, 0.10), transparent 20%);
    pointer-events: none;
}

.page-header .container {
    position: relative;
    z-index: 1;
}

.page-header h1 {
    font-size: clamp(34px, 5vw, 48px);
    font-weight: 800;
    margin-bottom: 10px;
    text-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}

.page-subtitle {
    max-width: 760px;
    margin: 12px auto 0;
    font-size: 16px;
    color: #f0fdf4;
}

/* CONTENT BOX */
.content-box {
    background: rgba(255, 255, 255, 0.95);
    padding: 32px;
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(20, 83, 45, 0.06);
}

.content-box h2 {
    color: var(--primary);
    margin-bottom: 12px;
    font-size: 28px;
}

.content-box p {
    color: var(--text-soft);
    margin-bottom: 14px;
}

.content-box p:last-child {
    margin-bottom: 0;
}

/* PROFIL PAGE */
.profil-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 42px;
    align-items: center;
    margin-bottom: 0;
}

.profil-image img {
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
    border-radius: 28px;
    box-shadow: var(--shadow-lg);
    border: 6px solid rgba(255, 255, 255, 0.7);
}

.profil-text .mini-title {
    display: inline-block;
    background: linear-gradient(90deg, #dcfce7, #bbf7d0);
    color: #166534;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 16px;
    box-shadow: 0 8px 18px rgba(34, 197, 94, 0.14);
}

.profil-text h2 {
    font-size: clamp(28px, 4vw, 38px);
    color: var(--primary);
    margin-bottom: 16px;
    font-weight: 800;
    line-height: 1.25;
}

.profil-text p {
    font-size: 16px;
    color: var(--text-soft);
    margin-bottom: 14px;
    text-align: justify;
}

.profil-text p:last-child {
    margin-bottom: 0;
}

.profil-box p {
    text-align: justify;
}

.vm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
}

.vm-card {
    background: var(--white);
    padding: 30px 28px;
    border-radius: 24px;
    box-shadow: var(--shadow-sm);
    border-top: 6px solid var(--primary-light);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.vm-card::after {
    content: "";
    position: absolute;
    right: -24px;
    top: -24px;
    width: 90px;
    height: 90px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.10), transparent 70%);
    border-radius: 50%;
}

.vm-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(20, 83, 45, 0.12);
}

.vm-badge {
    display: inline-block;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
    color: var(--white);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 16px;
    box-shadow: 0 10px 22px rgba(20, 83, 45, 0.18);
}

.vm-card h3 {
    font-size: 24px;
    color: var(--primary);
    margin-bottom: 14px;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.vm-card p {
    color: var(--text-soft);
    font-size: 15px;
    position: relative;
    z-index: 1;
    margin-bottom: 0;
}

.profil-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
}

.profil-feature-card {
    background: var(--white);
    padding: 28px 24px;
    border-radius: 22px;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(20, 83, 45, 0.06);
}

.profil-feature-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
}

.profil-feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 38px rgba(20, 83, 45, 0.12);
}

.profil-feature-card h3 {
    font-size: 22px;
    color: var(--primary);
    margin-bottom: 12px;
    font-weight: 700;
}

.profil-feature-card p {
    color: var(--text-soft);
    font-size: 15px;
    margin-bottom: 0;
}

.form-control {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    margin-top: 5px;
}

.form-control:focus {
    outline: none;
    border-color: #22c55e;
}

/* UTILITY */
.text-center {
    text-align: center;
}

.mb-0 {
    margin-bottom: 0 !important;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .nav-wrapper {
        flex-direction: column;
    }

    .nav-menu {
        justify-content: center;
    }

    .hero {
        min-height: auto;
    }

    .hero-overlay {
        padding: 90px 0 75px;
    }

    .profil-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .profil-image img {
        min-height: 320px;
    }

    .highlight-text h2 {
        font-size: 30px;
    }

    .section {
        padding: 54px 0;
    }

    .section-soft {
        padding-top: 38px;
        padding-bottom: 54px;
    }
}

@media (max-width: 768px) {
    .nav-wrapper {
        padding: 14px 0;
    }

    .logo a {
        font-size: 24px;
    }

    .nav-menu {
        gap: 8px;
    }

    .nav-menu li a {
        font-size: 13px;
        padding: 8px 12px;
    }

    .hero-overlay {
        padding: 80px 0 65px;
    }

    .hero-content p,
    .page-subtitle,
    .section-heading p {
        font-size: 15px;
    }

    .btn {
        width: 100%;
        text-align: center;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .section {
        padding: 48px 0;
    }

    .section-soft {
        padding-top: 34px;
        padding-bottom: 48px;
    }

    .section-heading {
        margin: 0 auto 28px auto;
    }

    .highlight-box,
    .content-box,
    .vm-card,
    .info-card,
    .feature-card,
    .profil-feature-card {
        padding-left: 22px;
        padding-right: 22px;
    }

    .page-header {
        padding: 82px 0 64px;
    }
}

@media (max-width: 576px) {
    .container {
        width: 92%;
    }

    .hero-content h1 {
        font-size: 32px;
    }

    .section-heading h2,
    .page-header h1,
    .profil-text h2 {
        font-size: 27px;
    }

    .highlight-text h2 {
        font-size: 25px;
    }

    .highlight-box {
        padding: 30px 22px;
        border-radius: 22px;
    }

    .content-box {
        padding: 24px 20px;
    }

    .vm-card,
    .info-card,
    .feature-card,
    .profil-feature-card {
        border-radius: 18px;
    }

    .section {
        padding: 42px 0;
    }

    .section-soft {
        padding-top: 30px;
        padding-bottom: 42px;
    }

    .section-heading {
        margin: 0 auto 24px auto;
    }
}

.warung-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 25px;
}

.warung-card {
    display: block;
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    color: inherit;
}

.warung-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 35px rgba(20, 83, 45, 0.15);
}

.warung-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.warung-card-body {
    padding: 20px;
}

.warung-card-body h3 {
    font-size: 22px;
    color: #14532d;
    margin-bottom: 10px;
    font-weight: 700;
}

.warung-card-body p {
    color: #4b5563;
    font-size: 14px;
    margin-bottom: 14px;
}

.lihat-menu {
    display: inline-block;
    background: #14532d;
    color: #fff;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
}

.detail-warung {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
    align-items: center;
}

.detail-warung-image img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
}

.detail-warung-text h2 {
    font-size: 34px;
    color: #14532d;
    margin-bottom: 16px;
}

.detail-warung-text p {
    color: #4b5563;
    margin-bottom: 22px;
    text-align: justify;
}

.menu-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 24px;
}

.menu-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
    transition: all 0.3s ease;
}

.menu-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 30px rgba(20, 83, 45, 0.12);
}

.menu-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.menu-card-body {
    padding: 18px;
}

.menu-card-body h3 {
    font-size: 20px;
    color: #14532d;
    margin-bottom: 8px;
    font-weight: 700;
}

.menu-price {
    color: #dc2626;
    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 992px) {
    .detail-warung {
        grid-template-columns: 1fr;
    }
}

.galeri-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.galeri-item {
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.galeri-item img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    transition: 0.4s;
}

.galeri-item:hover img {
    transform: scale(1.1);
}

.admin-wrapper {
    display: flex;
    min-height: 100vh;
    background: #f8fafc;
}

.admin-sidebar {
    width: 260px;
    background: #14532d;
    color: #ffffff;
    padding: 30px 20px;
    flex-shrink: 0;
}

.admin-sidebar h2 {
    font-size: 26px;
    margin-bottom: 30px;
    font-weight: 800;
}

.admin-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.admin-sidebar ul li {
    margin-bottom: 14px;
}

.admin-sidebar ul li a {
    display: block;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    padding: 12px 16px;
    border-radius: 12px;
    text-decoration: none;
    transition: 0.3s;
}

.admin-sidebar ul li a:hover {
    background: #facc15;
    color: #14532d;
}

.admin-logout-btn {
    width: 100%;
    border: none;
    padding: 12px 16px;
    border-radius: 12px;
    background: #dc2626;
    color: white;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}

.admin-logout-btn:hover {
    background: #b91c1c;
}

.admin-content {
    flex: 1;
    padding: 35px;
}

.admin-page-header {
    margin-bottom: 30px;
}

.admin-page-header h1 {
    font-size: 36px;
    color: #14532d;
    margin-bottom: 10px;
}

.admin-page-header p {
    color: #4b5563;
}

.admin-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.admin-card {
    background: white;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    border-top: 5px solid #22c55e;
}

.admin-card h3 {
    color: #14532d;
    margin-bottom: 10px;
    font-size: 22px;
}

.admin-card p {
    color: #4b5563;
    font-size: 15px;
}

@media (max-width: 992px) {
    .admin-wrapper {
        flex-direction: column;
    }

    .admin-sidebar {
        width: 100%;
    }

    .admin-content {
        padding: 24px;
    }
}

.kontak-pengelola-section {
    background: linear-gradient(180deg, #f0fdf4, #ffffff);
}

.wa-contact-card {
    max-width: 1050px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border-radius: 30px;
    padding: 42px;
    box-shadow: 0 24px 60px rgba(20, 83, 45, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.14);
    position: relative;
    overflow: hidden;
}

.wa-contact-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.wa-contact-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.16), transparent 70%);
    border-radius: 50%;
}

.wa-logo-box {
    width: 150px;
    height: 150px;
    border-radius: 32px;
    background: linear-gradient(135deg, #dcfce7, #ffffff);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 40px rgba(34, 197, 94, 0.18);
}

.wa-logo-box img {
    width: 85px;
    height: 85px;
    object-fit: contain;
}

.wa-contact-content {
    position: relative;
    z-index: 1;
}

.wa-badge {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
}

.wa-contact-content h3 {
    font-size: 32px;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 12px;
}

.wa-contact-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.8;
    max-width: 720px;
    margin-bottom: 24px;
}

.wa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #25d366, #16a34a);
    color: #ffffff;
    padding: 15px 28px;
    border-radius: 16px;
    font-weight: 800;
    box-shadow: 0 14px 30px rgba(34, 197, 94, 0.25);
    transition: all 0.3s ease;
}

.wa-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(34, 197, 94, 0.32);
}

@media (max-width: 768px) {
    .wa-contact-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 32px 24px;
    }

    .wa-logo-box {
        margin: 0 auto;
    }

    .wa-contact-content h3 {
        font-size: 26px;
    }
}

/* KONTAK PENGELOLA */
.kontak-pengelola-section {
    background: linear-gradient(180deg, #f0fdf4, #ffffff);
}

.wa-contact-card {
    max-width: 1050px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 30px;
    align-items: center;
    background: #ffffff;
    border-radius: 30px;
    padding: 42px;
    box-shadow: 0 24px 60px rgba(20, 83, 45, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.14);
    position: relative;
    overflow: hidden;
}

.wa-contact-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.wa-contact-card::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -90px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.16), transparent 70%);
    border-radius: 50%;
}

.wa-logo-box {
    width: 150px;
    height: 150px;
    border-radius: 32px;
    background: linear-gradient(135deg, #dcfce7, #ffffff);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 18px 40px rgba(34, 197, 94, 0.18);
}

.wa-logo-box img {
    width: 85px;
    height: 85px;
    object-fit: contain;
}

.wa-contact-content {
    position: relative;
    z-index: 1;
}

.wa-badge {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
}

.wa-contact-content h3 {
    font-size: 32px;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 12px;
}

.wa-contact-content p {
    color: #4b5563;
    font-size: 16px;
    line-height: 1.8;
    max-width: 720px;
    margin-bottom: 24px;
}

.wa-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #25d366, #16a34a);
    color: #ffffff;
    padding: 15px 28px;
    border-radius: 16px;
    font-weight: 800;
    box-shadow: 0 14px 30px rgba(34, 197, 94, 0.25);
    transition: all 0.3s ease;
}

.wa-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 38px rgba(34, 197, 94, 0.32);
}

/* SOCIAL MEDIA */
.social-media-box {
    margin-top: 28px;
}

.social-title {
    font-size: 14px !important;
    font-weight: 700;
    color: #14532d !important;
    margin-bottom: 12px !important;
}

.social-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.social-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 20px;
    border-radius: 15px;
    font-weight: 800;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.social-btn img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

.social-btn.instagram {
    background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
    color: white;
    box-shadow: 0 10px 25px rgba(221, 42, 123, 0.25);
}

.social-btn.tiktok {
    background: #000000;
    color: white;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}

.social-btn.instagram:hover,
.social-btn.tiktok:hover {
    transform: translateY(-3px);
}

@media (max-width: 768px) {
    .wa-contact-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 32px 24px;
    }

    .wa-logo-box {
        margin: 0 auto;
    }

    .wa-contact-content h3 {
        font-size: 26px;
    }

    .social-buttons {
        justify-content: center;
    }
}

/* KONTAK PENGELOLA - CLEAN CARD */
.kontak-pengelola-section {
    background: linear-gradient(180deg, #f0fdf4, #ffffff);
}

.contact-channel-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.contact-channel-card {
    background: #ffffff;
    border-radius: 26px;
    padding: 28px 26px;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.contact-channel-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, #14532d, #22c55e);
}

.contact-channel-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 24px 55px rgba(20, 83, 45, 0.14);
}

.contact-channel-icon {
    width: 76px;
    height: 76px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
}

.contact-channel-icon img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.contact-channel-text span {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    padding: 7px 13px;
    border-radius: 999px;
    margin-bottom: 14px;
}

.contact-channel-text h3 {
    font-size: 24px;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 10px;
}

.contact-channel-text p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 22px;
}

.contact-channel-action {
    display: inline-flex;
    padding: 12px 18px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
    transition: all 0.3s ease;
}

/* WHATSAPP */
.whatsapp-card .contact-channel-icon {
    background: #dcfce7;
}

.whatsapp-card .contact-channel-text span {
    background: #dcfce7;
    color: #166534;
}

.whatsapp-card .contact-channel-action {
    background: linear-gradient(135deg, #25d366, #16a34a);
    color: #ffffff;
}

/* INSTAGRAM */
.instagram-card::before {
    background: linear-gradient(90deg, #f58529, #dd2a7b, #8134af);
}

.instagram-card .contact-channel-icon {
    background: #fce7f3;
}

.instagram-card .contact-channel-text span {
    background: #fce7f3;
    color: #be185d;
}

.instagram-card .contact-channel-action {
    background: linear-gradient(135deg, #f58529, #dd2a7b, #8134af);
    color: #ffffff;
}

/* TIKTOK */
.tiktok-card::before {
    background: linear-gradient(90deg, #000000, #374151);
}

.tiktok-card .contact-channel-icon {
    background: #f3f4f6;
}

.tiktok-card .contact-channel-text span {
    background: #f3f4f6;
    color: #111827;
}

.tiktok-card .contact-channel-action {
    background: #000000;
    color: #ffffff;
}

@media (max-width: 992px) {
    .contact-channel-grid {
        grid-template-columns: 1fr;
    }
}

.contact-center-one {
    display: flex;
    justify-content: center;
}

.contact-center-one .contact-channel-card {
    width: 100%;
    max-width: 520px;
}

.contact-center-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 520px));
    justify-content: center;
    gap: 28px;
}

@media (max-width: 768px) {
    .contact-center-two {
        grid-template-columns: 1fr;
    }
}

.auth-guest-card {
    max-width: 1000px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 30px;
    padding: 45px;
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 35px;
    align-items: center;
    box-shadow: 0 24px 60px rgba(20, 83, 45, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.14);
    position: relative;
    overflow: hidden;
}

.auth-guest-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.auth-guest-icon {
    width: 140px;
    height: 140px;
    border-radius: 32px;
    background: linear-gradient(135deg, #dcfce7, #ffffff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    box-shadow: 0 18px 40px rgba(34, 197, 94, 0.18);
}

.auth-badge {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
}

.auth-guest-content h2 {
    font-size: 36px;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 12px;
}

.auth-guest-content p {
    color: #4b5563;
    line-height: 1.8;
    margin-bottom: 25px;
}

.auth-guest-buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.auth-register-btn {
    color: #ffffff;
    background: linear-gradient(135deg, #14532d, #22c55e);
    border: none;
}

@media (max-width: 768px) {
    .auth-guest-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 32px 24px;
    }

    .auth-guest-icon {
        margin: 0 auto;
    }

    .auth-guest-buttons {
        justify-content: center;
    }
}
.nav-user {
    font-weight: 600;
    color: #ffffff;
    margin-right: 5px;
}

.nav-logout-btn {
    background: #facc15;
    color: #14532d;
    border: none;
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
}

.nav-logout-btn:hover {
    background: #fde047;
}

.nav-register-btn {
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #ffffff !important;
    padding: 8px 14px;
    border-radius: 999px;
    font-weight: 700;
}

.nav-register-btn:hover {
    opacity: 0.9;
}

.logo a {
    white-space: nowrap;
}

.user-dropdown {
    position: relative;
}

.user-dropdown-btn {
    border: none;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    padding: 10px 16px;
    border-radius: 999px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Poppins', sans-serif;
}

.user-dropdown-btn:hover {
    background: #facc15;
    color: #14532d;
}

.user-dropdown-menu {
    position: absolute;
    top: 55px;
    right: 0;
    width: 290px;
    background: #ffffff;
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: all 0.3s ease;
    z-index: 9999;
}

.user-dropdown:hover .user-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.user-info-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 12px;
}

.user-info-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.user-info-box h4 {
    color: #14532d;
    font-size: 16px;
    margin-bottom: 3px;
}

.user-info-box p {
    color: #6b7280;
    font-size: 13px;
}

.dropdown-link,
.dropdown-logout {
    width: 100%;
    display: block;
    padding: 12px 14px;
    border-radius: 12px;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}

.dropdown-link {
    color: #14532d;
    background: #f0fdf4;
    margin-bottom: 10px;
}

.dropdown-link:hover {
    background: #dcfce7;
}

.dropdown-logout {
    border: none;
    background: #fee2e2;
    color: #dc2626;
    cursor: pointer;
}

.dropdown-logout:hover {
    background: #fecaca;
}

.nav-register-btn {
    background: #22c55e !important;
    color: white !important;
    font-weight: 700;
}

.navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #315f3b;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.nav-wrapper {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
}

.logo a {
    color: #ffffff;
    font-size: 26px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.nav-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    list-style: none;
    flex-wrap: wrap;
}

.nav-menu li a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 8px 10px;
    border-radius: 999px;
    color: #f3f4f6;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.25s ease;
}

.nav-menu li a:hover,
.nav-menu li a.active {
    background: rgba(255, 255, 255, 0.14);
    color: #facc15;
}

.nav-register-btn {
    background: #22c55e !important;
    color: #ffffff !important;
}

.user-dropdown {
    position: relative;
}

.user-dropdown-btn {
    min-height: 42px;
    border: none;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    padding: 9px 16px;
    border-radius: 999px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-dropdown-btn:hover {
    background: #facc15;
    color: #14532d;
}

.user-dropdown-menu {
    position: absolute;
    top: 52px;
    right: 0;
    width: 295px;
    background: #ffffff;
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: all 0.25s ease;
    z-index: 9999;
}

.user-dropdown:hover .user-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.user-info-box {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 12px;
}

.user-info-avatar {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-info-box h4 {
    color: #14532d;
    font-size: 16px;
    margin-bottom: 3px;
}

.user-info-box p {
    color: #6b7280;
    font-size: 13px;
}

.dropdown-link,
.dropdown-logout {
    width: 100%;
    display: block;
    padding: 12px 14px;
    border-radius: 12px;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}

.dropdown-link {
    color: #14532d;
    background: #f0fdf4;
    margin-bottom: 10px;
    text-decoration: none;
}

.dropdown-logout {
    border: none;
    background: #fee2e2;
    color: #dc2626;
    cursor: pointer;
}

@media (max-width: 992px) {
    .nav-wrapper {
        flex-direction: column;
        padding: 18px 0;
    }

    .nav-menu {
        justify-content: center;
    }
}

.ticket-order-box {
    max-width: 1050px;
    margin: 0 auto;
}

.ticket-alert {
    background: #fee2e2;
    color: #991b1b;
    padding: 12px 14px;
    border-radius: 12px;
    margin-bottom: 16px;
}

.ticket-alert ul {
    padding-left: 18px;
    margin: 0;
}

.ticket-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.form-group {
    margin-bottom: 18px;
}

.ticket-type-wrapper {
    display: grid;
    gap: 18px;
    margin: 25px 0;
}

.ticket-type-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    background: linear-gradient(135deg, #f0fdf4, #ffffff);
    border: 1px solid #bbf7d0;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.06);
}

.ticket-type-left {
    display: flex;
    align-items: center;
    gap: 18px;
}

.ticket-icon {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}

.ticket-label {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

.ticket-type-card h3 {
    color: #14532d;
    font-size: 22px;
    margin-bottom: 6px;
}

.ticket-type-card p {
    color: #4b5563;
    margin-bottom: 8px;
}

.ticket-type-card strong {
    color: #16a34a;
    font-size: 20px;
}

.qty-control {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    padding: 8px;
    border-radius: 18px;
    box-shadow: 0 8px 20px rgba(20, 83, 45, 0.08);
}

.qty-control button {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    border: none;
    background: #14532d;
    color: white;
    font-size: 24px;
    font-weight: 800;
    cursor: pointer;
}

.qty-control button:hover {
    background: #16a34a;
}

.qty-control input {
    width: 58px;
    height: 42px;
    text-align: center;
    border: none;
    background: #f0fdf4;
    border-radius: 12px;
    font-size: 17px;
    font-weight: 800;
    color: #14532d;
}

.ticket-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    padding: 26px;
    border-radius: 22px;
    margin-bottom: 24px;
}

.ticket-summary span {
    color: #dcfce7;
    font-size: 14px;
    font-weight: 600;
}

.ticket-summary h4 {
    font-size: 24px;
    margin-top: 6px;
}

.ticket-summary h2 {
    font-size: 34px;
    margin-top: 6px;
}

.ticket-submit-btn {
    min-width: 240px;
}

@media (max-width: 768px) {
    .ticket-form-grid {
        grid-template-columns: 1fr;
    }

    .ticket-type-card {
        flex-direction: column;
        align-items: flex-start;
    }

    .qty-control {
        width: 100%;
        justify-content: space-between;
    }

    .ticket-summary {
        flex-direction: column;
        align-items: flex-start;
    }
}

.payment-alert {
    background: #fee2e2;
    color: #991b1b;
    padding: 14px 16px;
    border-radius: 14px;
    margin-bottom: 20px;
    font-weight: 600;
}

.payment-wrapper {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 28px;
    align-items: stretch;
}

.payment-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 32px;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
}

.payment-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.payment-badge {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 8px 15px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 14px;
}

.payment-card-header h2 {
    color: #14532d;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 8px;
}

.payment-card-header p {
    color: #6b7280;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 24px;
}

.payment-info-list {
    display: grid;
    gap: 14px;
}

.payment-info-item {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px dashed #d1fae5;
}

.payment-info-item span {
    color: #6b7280;
    font-size: 14px;
}

.payment-info-item strong {
    color: #14532d;
    font-size: 15px;
    text-align: right;
}

.status-badge {
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px !important;
}

.status-pending {
    background: #fef3c7;
    color: #92400e !important;
}

.status-paid {
    background: #dcfce7;
    color: #166534 !important;
}

.status-failed,
.status-expired,
.status-cancelled {
    background: #fee2e2;
    color: #991b1b !important;
}

.payment-summary-card {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
}

.payment-summary-card::before {
    background: rgba(255, 255, 255, 0.25);
}

.summary-top {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 26px;
}

.summary-icon {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
}

.summary-top span {
    color: #dcfce7;
    font-size: 14px;
    font-weight: 700;
}

.summary-top h2 {
    color: #ffffff;
    font-size: 34px;
    font-weight: 800;
    margin-top: 4px;
}

.payment-note {
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 22px;
}

.payment-note h4 {
    color: #ffffff;
    font-size: 18px;
    margin-bottom: 8px;
}

.payment-note p {
    color: #ecfdf5;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

.payment-step-list {
    display: grid;
    gap: 14px;
    margin-bottom: 26px;
}

.payment-step {
    display: flex;
    align-items: center;
    gap: 12px;
}

.payment-step span {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ffffff;
    color: #14532d;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.payment-step p {
    color: #ecfdf5;
    font-size: 14px;
    margin: 0;
}

.payment-action {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.payment-pay-btn {
    background: #ffffff !important;
    color: #14532d !important;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

.payment-ticket-btn {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
}

@media (max-width: 992px) {
    .payment-wrapper {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .payment-card {
        padding: 24px 20px;
    }

    .payment-info-item {
        flex-direction: column;
        gap: 6px;
    }

    .payment-info-item strong {
        text-align: left;
    }

    .summary-top h2 {
        font-size: 28px;
    }
}

.ticket-form-card {
    background: linear-gradient(135deg, #ffffff, #f0fdf4);
    border-radius: 28px;
    padding: 28px;
    margin-bottom: 28px;
    border: 1px solid #bbf7d0;
    box-shadow: 0 20px 50px rgba(20, 83, 45, 0.08);
    position: relative;
}

.ticket-form-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    border-radius: 28px 28px 0 0;
    background: linear-gradient(90deg, #14532d, #22c55e);
}

.ticket-form-header span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px;
}

.ticket-form-header h3 {
    font-size: 22px;
    color: #14532d;
    margin-bottom: 4px;
}

.ticket-form-header p {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 18px;
}

.ticket-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.ticket-form-grid .full {
    grid-column: span 2;
}

.form-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #166534;
    margin-bottom: 6px;
}

.form-control {
    width: 100%;
    height: 50px;
    border-radius: 14px;
    border: 1px solid #d1fae5;
    padding: 0 14px;
    font-size: 16px;
    font-weight: 600;
    background: #ffffff;
}

.form-control:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

/* LABEL (Nama, Email, Tanggal) */
.form-group label {
    font-size: 16px;          /* sebelumnya kecil */
    font-weight: 700;
    color: #14532d;
    margin-bottom: 8px;
    display: block;
}

/* INPUT TEXT */
.form-control {
    font-size: 15px;
    font-weight: 600;
}

/* KHUSUS TANGGAL BIAR LEBIH KELIHATAN */
input[type="date"] {
    font-size: 15px;
    font-weight: 600;
}

/* SUB JUDUL (Isi data sebelum memilih tiket) */
.ticket-form-header p {
    font-size: 14px;
    color: #4b5563;
}

.akun-wrapper {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 28px;
    align-items: start;
}

.akun-profile-card,
.akun-history-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 30px;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
}

.akun-profile-card::before,
.akun-history-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.akun-avatar {
    width: 90px;
    height: 90px;
    border-radius: 26px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    margin-bottom: 18px;
}

.akun-profile-card h2 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 4px;
}

.akun-profile-card p {
    color: #6b7280;
    margin-bottom: 22px;
}

.akun-info-list {
    display: grid;
    gap: 14px;
    margin-bottom: 24px;
}

.akun-info-list div {
    background: #f0fdf4;
    padding: 14px 16px;
    border-radius: 16px;
}

.akun-info-list span {
    display: block;
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 4px;
}

.akun-info-list strong {
    color: #14532d;
    font-size: 15px;
}

.akun-actions {
    display: grid;
    gap: 12px;
}

.akun-btn {
    width: 100%;
    border: none;
    border-radius: 14px;
    padding: 13px 16px;
    text-align: center;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    text-decoration: none;
}

.akun-btn-primary {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
}

.akun-btn-danger {
    background: #fee2e2;
    color: #dc2626;
}

.akun-section-title span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 12px;
}

.akun-section-title h2 {
    color: #14532d;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 8px;
}

.akun-section-title p {
    color: #6b7280;
    margin-bottom: 24px;
}

.riwayat-list {
    display: grid;
    gap: 16px;
}

.riwayat-item {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(135deg, #f0fdf4, #ffffff);
    border: 1px solid #bbf7d0;
    border-radius: 20px;
    padding: 20px;
}

.riwayat-item h3 {
    color: #14532d;
    font-size: 20px;
    margin-bottom: 8px;
}

.riwayat-item p {
    color: #4b5563;
    font-size: 14px;
    margin-bottom: 4px;
}

.riwayat-right {
    text-align: right;
    display: grid;
    gap: 8px;
    justify-items: end;
}

.riwayat-right strong {
    color: #14532d;
    font-size: 20px;
}

.status-akun {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.status-paid {
    background: #dcfce7;
    color: #166534;
}

.status-failed,
.status-expired,
.status-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.lihat-ticket-btn {
    background: #14532d;
    color: #ffffff;
    padding: 9px 14px;
    border-radius: 12px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}

.empty-riwayat {
    text-align: center;
    background: #f0fdf4;
    border-radius: 22px;
    padding: 40px 24px;
}

.empty-riwayat div {
    font-size: 46px;
    margin-bottom: 12px;
}

.empty-riwayat h3 {
    color: #14532d;
    font-size: 24px;
    margin-bottom: 8px;
}

.empty-riwayat p {
    color: #6b7280;
    margin-bottom: 20px;
}

@media (max-width: 992px) {
    .akun-wrapper {
        grid-template-columns: 1fr;
    }

    .riwayat-item {
        flex-direction: column;
    }

    .riwayat-right {
        text-align: left;
        justify-items: start;
    }
}

.profile-setting-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.profile-setting-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 32px;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
}

.profile-setting-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.profile-setting-header {
    display: flex;
    gap: 16px;
    align-items: center;
    margin-bottom: 26px;
}

.profile-setting-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.profile-setting-header span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 8px;
}

.profile-setting-header h2 {
    color: #14532d;
    font-size: 26px;
    font-weight: 800;
}

.profile-setting-header p {
    color: #6b7280;
    font-size: 14px;
}

.profile-form-group {
    margin-bottom: 18px;
}

.profile-form-group label {
    display: block;
    color: #14532d;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 8px;
}

.profile-form-control {
    width: 100%;
    height: 54px;
    border-radius: 16px;
    border: 1px solid #bbf7d0;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 600;
    outline: none;
}

.profile-form-control:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.profile-btn {
    width: 100%;
    border: none;
    border-radius: 16px;
    padding: 15px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
}

.profile-btn-primary {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
}

.profile-success {
    background: #dcfce7;
    color: #166534;
    padding: 12px 14px;
    border-radius: 14px;
    margin-bottom: 18px;
    font-weight: 700;
}

.profile-error {
    display: block;
    color: #dc2626;
    margin-top: 6px;
    font-weight: 600;
}

.profile-back-box {
    text-align: center;
    margin-top: 28px;
}

.profile-back-btn {
    display: inline-block;
    background: #ffffff;
    color: #14532d;
    padding: 13px 20px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(20, 83, 45, 0.08);
}

@media (max-width: 992px) {
    .profile-setting-wrapper {
        grid-template-columns: 1fr;
    }
}

.forgot-password-link {
    margin-top: 10px;
    text-align: right;
}

.forgot-password-link a {
    color: #16a34a;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.forgot-password-link a:hover {
    text-decoration: underline;
}

.profile-setting-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

@media (max-width: 900px) {
    .profile-setting-wrapper {
        grid-template-columns: 1fr;
    }
}

.forgot-link {
    font-size: 13px;
    color: #22c55e;
    text-decoration: none;
    font-weight: 600;
}

/* ================= NAVBAR FIX FINAL ================= */

.navbar {
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 9999;
    background: #315f3b;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.12);
}

.nav-wrapper {
    width: min(92%, 1400px);
    min-height: 92px;
    margin: 0 auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.logo {
    flex: 0 0 auto;
}

.logo a {
    font-size: 30px;
    font-weight: 800;
    color: #ffffff;
    white-space: nowrap;
    letter-spacing: 0.2px;
}

.nav-menu {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: nowrap;
}

.nav-menu li {
    display: flex;
    align-items: center;
}

.nav-menu li a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.94);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

.nav-menu li a:hover,
.nav-menu li a.active {
    background: rgba(255, 255, 255, 0.16);
    color: #facc15;
}

.user-dropdown {
    flex: 0 0 auto;
    position: relative;
    display: flex;
    align-items: center;
}

.user-dropdown-btn {
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 999px;
    border: none;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    white-space: nowrap;
}

.user-dropdown-btn:hover {
    background: #facc15;
    color: #14532d;
}

.user-dropdown-menu {
    top: 58px;
    right: 0;
}

/* HERO BIAR TEKS TIDAK TERLALU KE KIRI */
.hero-content {
    max-width: 760px;
    padding-left: 20px;
}

.hero-content h1 {
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1.15;
}

.hero-content p {
    font-size: 18px;
    line-height: 1.8;
}

/* RESPONSIVE */
@media (max-width: 1200px) {
    .nav-wrapper {
        width: min(94%, 1200px);
        gap: 18px;
    }

    .logo a {
        font-size: 26px;
    }

    .nav-menu {
        gap: 6px;
    }

    .nav-menu li a {
        font-size: 13px;
        padding: 8px 10px;
    }
}

@media (max-width: 992px) {
    .nav-wrapper {
        flex-direction: column;
        justify-content: center;
        padding: 18px 0;
    }

    .nav-menu {
        justify-content: center;
        flex-wrap: wrap;
    }

    .hero-content {
        padding-left: 0;
    }
}

/* ================= FIX POSISI DASHBOARD BIAR TIDAK MEpet SUDUT ================= */

.nav-wrapper {
    width: min(86%, 1320px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.hero .container {
    width: min(86%, 1320px) !important;
    margin: 0 auto !important;
}

.hero-content {
    max-width: 760px !important;
    padding-left: 0 !important;
}

.hero-overlay {
    padding: 110px 0 120px !important;
}

.hero-content h1 {
    font-size: clamp(44px, 5vw, 64px) !important;
    line-height: 1.15 !important;
    margin-bottom: 24px !important;
}

.hero-content p {
    max-width: 700px !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
}

.hero-buttons {
    margin-top: 26px !important;
}

/* ================= FIX SECTION BAWAH BIAR TENGAH ================= */

.section .container {
    width: min(86%, 1320px) !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* GRID CARD BIAR ADA JARAK */
.info-grid,
.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 24px;
}

/* CARD BIAR GA MEpet */
.info-card,
.feature-card {
    padding: 28px !important;
    border-radius: 18px !important;
}

/* HEADING BIAR RAPI TENGAH */
.section-heading {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 40px;
}

/* JUDUL */
.section-heading h2 {
    font-size: 34px;
    margin-bottom: 12px;
}

/* GARIS BAWAH */
.section-heading h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    background: #22c55e;
    margin: 10px auto 0;
    border-radius: 10px;
}

/* GLOBAL FONT */
* {
    font-family: 'Poppins', sans-serif !important;
}

.akun-profile-card {
    background: white;
    padding: 40px;
    border-radius: 24px;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.akun-avatar {
    width: 90px;
    height: 90px;
    margin: 0 auto 20px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    font-size: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.akun-info-list {
    margin-top: 25px;
    text-align: left;
}

.akun-info-list div {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed #e5e7eb;
}

.akun-actions {
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.akun-btn {
    padding: 12px;
    border-radius: 10px;
    text-align: center;
    font-weight: 600;
}

.akun-btn-primary {
    background: #22c55e;
    color: white;
}

.akun-btn-secondary {
    background: #facc15;
    color: #14532d;
}

.form-group {
    text-align: left;
    margin-bottom: 18px;
}

.form-group label {
    display: block;
    font-weight: 600;
    color: #14532d;
    margin-bottom: 8px;
}

.form-group input {
    width: 100%;
    padding: 13px 15px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
}

.form-group input:focus {
    outline: none;
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.15);
}

.alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 12px 16px;
    border-radius: 12px;
    margin-bottom: 20px;
    font-weight: 600;
}

.error-text {
    color: #dc2626;
    display: block;
    margin-top: 6px;
}

.hero-home {
    position: relative;
    overflow: hidden;
}

.hero-home::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -160px;
    top: -120px;
    background: radial-gradient(circle, rgba(250, 204, 21, 0.30), transparent 70%);
    filter: blur(10px);
}

.hero-content-wide {
    max-width: 850px;
}

.hero-content-wide h1 {
    font-size: 58px;
}

.hero-stats {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 16px;
    max-width: 720px;
}

.hero-stats div {
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(10px);
    padding: 18px;
    border-radius: 18px;
}

.hero-stats strong {
    display: block;
    font-size: 22px;
    color: #facc15;
    margin-bottom: 4px;
}

.hero-stats span {
    font-size: 13px;
    color: #f9fafb;
}

.section-label {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 7px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
}

.label-light {
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.25);
}

.home-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px; /* dari 45 jadi lebih lega */
    align-items: center;
}

.home-about-image {
    position: relative;
}

.home-about-image::before {
    content: "";
    position: absolute;
    inset: 22px -22px -22px 22px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    border-radius: 28px;
    z-index: 0;
}

.home-about-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 430px;
    object-fit: cover;
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.18);
}

.home-about-text h2 {
    font-size: 38px;
    color: #14532d;
    line-height: 1.25;
    margin-bottom: 18px;
    font-weight: 800;
}

.home-about-text p {
    color: #4b5563;
    margin-bottom: 16px;
    text-align: justify;
}

.home-about-text .btn {
    margin-top: 10px;
}

.step-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.step-card {
    background: #ffffff;
    padding: 30px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    position: relative;
    overflow: hidden;
}

.step-card::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    right: -35px;
    bottom: -35px;
    background: rgba(34, 197, 94, 0.10);
    border-radius: 50%;
}

.step-number {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    margin-bottom: 18px;
}

.step-card h3 {
    color: #14532d;
    font-size: 21px;
    margin-bottom: 10px;
}

.step-card p {
    color: #4b5563;
    font-size: 15px;
}

.facility-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.facility-preview-card {
    background: #ffffff;
    padding: 22px;
    border-radius: 18px;
    font-weight: 700;
    color: #14532d;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
    border-left: 5px solid #22c55e;
}

.home-cta {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.96), rgba(34, 197, 94, 0.90)),
        url('/images/hero-pantai.jpg');
    background-size: cover;
    background-position: center;
    color: #ffffff;
    padding: 55px;
    border-radius: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.25);
}

.home-cta h2 {
    font-size: 38px;
    line-height: 1.25;
    margin-bottom: 14px;
}

.home-cta p {
    color: #ecfdf5;
    max-width: 650px;
}

.home-cta-action {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 992px) {
    .hero-content-wide h1 {
        font-size: 42px;
    }

    .hero-stats,
    .home-about-grid,
    .facility-preview-grid {
        grid-template-columns: 1fr;
    }

    .step-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 38px;
    }

    .home-cta-action {
        justify-content: flex-start;
    }
}

@media (max-width: 768px) {
    .hero-content-wide h1 {
        font-size: 34px;
    }

    .hero-stats {
        grid-template-columns: 1fr;
    }

    .step-grid {
        grid-template-columns: 1fr;
    }

    .home-about-image img {
        height: 300px;
    }

    .home-about-image::before {
        display: none;
    }

    .home-about-text h2,
    .home-cta h2 {
        font-size: 28px;
    }

    .home-cta {
        padding: 28px;
        border-radius: 24px;
    }
}

.home-about-image::before {
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
}

.profil-header {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.96), rgba(34, 197, 94, 0.84)),
        url('/images/hero-pantai.jpg');
    background-size: cover;
    background-position: center;
}

.page-badge {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    color: #ffffff;
    border: 1px solid rgba(255,255,255,0.25);
    padding: 8px 18px;
    border-radius: 999px;
    font-weight: 700;
    margin-bottom: 14px;
}

.profil-hero-box {
    gap: 75px;
}

.profil-image {
    position: relative;
}

.profil-image::before {
    content: "";
    position: absolute;
    inset: 22px -22px -22px 22px;
    background: linear-gradient(135deg, #ecfdf5, #d1fae5);
    border-radius: 30px;
    z-index: 0;
}

.profil-image img {
    position: relative;
    z-index: 1;
}

.profil-floating-card {
    position: absolute;
    z-index: 2;
    left: 28px;
    bottom: 28px;
    background: rgba(255,255,255,0.90);
    backdrop-filter: blur(10px);
    padding: 16px 18px;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
}

.profil-floating-card strong,
.profil-floating-card span {
    display: block;
}

.profil-floating-card strong {
    color: #14532d;
    font-size: 15px;
}

.profil-floating-card span {
    color: #4b5563;
    font-size: 13px;
    margin-top: 3px;
}

.profil-info-mini {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.profil-info-mini div {
    background: #ffffff;
    padding: 16px;
    border-radius: 18px;
    box-shadow: 0 10px 25px rgba(20, 83, 45, 0.08);
    border-left: 5px solid #22c55e;
}

.profil-info-mini strong,
.profil-info-mini span {
    display: block;
}

.profil-info-mini strong {
    color: #14532d;
    font-size: 15px;
    margin-bottom: 4px;
}

.profil-info-mini span {
    color: #64748b;
    font-size: 13px;
}

.profil-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.overview-card {
    background: #ffffff;
    padding: 30px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    transition: 0.3s ease;
}

.overview-card:hover {
    transform: translateY(-6px);
}

.overview-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}

.overview-card h3 {
    color: #14532d;
    font-size: 21px;
    margin-bottom: 10px;
}

.overview-card p {
    color: #4b5563;
    font-size: 15px;
    text-align: justify;
}

.profil-story {
    background: #ffffff;
    border-radius: 30px;
    padding: 45px;
    box-shadow: 0 14px 40px rgba(20, 83, 45, 0.08);
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 35px;
}

.profil-story-title h2 {
    color: #14532d;
    font-size: 36px;
    line-height: 1.25;
}

.profil-story-content p {
    color: #4b5563;
    margin-bottom: 16px;
    text-align: justify;
}

.profil-digital-box {
    background: linear-gradient(135deg, #ffffff, #ecfdf5);
    padding: 45px;
    border-radius: 30px;
    box-shadow: 0 14px 40px rgba(20, 83, 45, 0.08);
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 35px;
    align-items: center;
}

.profil-digital-box h2 {
    color: #14532d;
    font-size: 34px;
    margin-bottom: 14px;
}

.profil-digital-box p {
    color: #4b5563;
    text-align: justify;
}

.digital-list {
    display: grid;
    gap: 14px;
}

.digital-list div {
    background: #ffffff;
    padding: 16px 18px;
    border-radius: 16px;
    color: #14532d;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(20, 83, 45, 0.08);
}

.profil-cta {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.95), rgba(34, 197, 94, 0.86)),
        url('/images/hero-pantai.jpg');
    background-size: cover;
    background-position: center;
    border-radius: 32px;
    padding: 55px;
    text-align: center;
    color: #ffffff;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.22);
}

.profil-cta h2 {
    font-size: 38px;
    margin-bottom: 14px;
}

.profil-cta p {
    max-width: 760px;
    margin: 0 auto 24px;
    color: #ecfdf5;
}

.profil-cta-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

@media (max-width: 992px) {
    .profil-hero-box,
    .profil-story,
    .profil-digital-box,
    .profil-overview-grid {
        grid-template-columns: 1fr;
    }

    .profil-hero-box {
        gap: 40px;
    }

    .profil-story,
    .profil-digital-box {
        padding: 32px;
    }
}

@media (max-width: 768px) {
    .profil-info-mini {
        grid-template-columns: 1fr;
    }

    .profil-image::before {
        display: none;
    }

    .profil-floating-card {
        position: relative;
        left: auto;
        bottom: auto;
        margin-top: 14px;
    }

    .profil-story-title h2,
    .profil-digital-box h2,
    .profil-cta h2 {
        font-size: 28px;
    }

    .profil-cta {
        padding: 32px 24px;
    }
}

.profil-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.profil-card-item {
    background: #ffffff;
    padding: 28px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
    transition: 0.3s ease;
    min-height: 230px;
}

.profil-card-item:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.14);
}

.profil-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}

.profil-card-item h3 {
    color: #14532d;
    font-size: 21px;
    margin-bottom: 10px;
    font-weight: 800;
}

.profil-card-item p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.benefit-card {
    background: #ffffff;
    padding: 20px 22px;
    border-radius: 18px;
    color: #14532d;
    font-weight: 700;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
}

@media (max-width: 992px) {
    .profil-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .benefit-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .profil-card-grid,
    .benefit-grid {
        grid-template-columns: 1fr;
    }

    .profil-card-item {
        min-height: auto;
    }
}

/* TAMBAHAN PROFIL - CARD SECTION */
.profil-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.profil-card-grid-six {
    grid-template-columns: repeat(3, 1fr);
}

.profil-card-item {
    background: #ffffff;
    padding: 28px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
    transition: 0.3s ease;
    min-height: 230px;
}

.profil-card-item:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.14);
}

.profil-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}

.profil-card-item h3 {
    color: #14532d;
    font-size: 21px;
    margin-bottom: 10px;
    font-weight: 800;
}

.profil-card-item p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

.facility-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.facility-mini-card {
    background: #ffffff;
    padding: 22px 24px;
    border-radius: 18px;
    font-weight: 800;
    color: #14532d;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.benefit-card {
    background: #ffffff;
    padding: 20px 22px;
    border-radius: 18px;
    color: #14532d;
    font-weight: 800;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
}

@media (max-width: 992px) {
    .profil-card-grid,
    .profil-card-grid-six {
        grid-template-columns: repeat(2, 1fr);
    }

    .facility-mini-grid,
    .benefit-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .profil-card-grid,
    .profil-card-grid-six,
    .facility-mini-grid,
    .benefit-grid {
        grid-template-columns: 1fr;
    }

    .profil-card-item {
        min-height: auto;
    }
}

.profil-card-item h3,
.overview-card h3,
.vm-card h3,
.profil-feature-card h3,
.profil-story-title h2,
.profil-digital-box h2,
.profil-cta h2 {
    font-weight: 800;
}

.profil-card-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.profil-card-grid-six {
    grid-template-columns: repeat(3, 1fr);
}

.profil-card-item {
    background: #ffffff;
    padding: 30px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
    transition: 0.3s ease;
    min-height: 245px;
}

.profil-card-item:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.14);
}

.profil-card-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}

.profil-card-item h3 {
    color: #14532d;
    font-size: 21px;
    margin-bottom: 10px;
}

.profil-card-item p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .profil-card-grid,
    .profil-card-grid-six {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .profil-card-grid,
    .profil-card-grid-six {
        grid-template-columns: 1fr;
    }

    .profil-card-item {
        min-height: auto;
    }
}

.profil-story-new {
    background: transparent;
    box-shadow: none;
}

.profil-story-new .profil-text h2 {
    font-weight: 800;
}

.profil-story-new .profil-text p {
    text-align: justify;
}

.hero-profil {
    background: url('/images/hero-pantai.jpg') no-repeat center center;
    background-size: cover;
    height: 320px;
    position: relative;
}

/* overlay hijau seperti gambar kamu */
.hero-profil .hero-overlay {
    width: 100%;
    height: 100%;
    background: linear-gradient(
        rgba(20, 83, 45, 0.75),
        rgba(34, 197, 94, 0.65)
    );
    display: flex;
    align-items: center;
}

/* teks tengah */
.hero-profil .hero-content {
    width: 100%;
    text-align: center;
    color: white;
}

/* judul */
.hero-profil h1 {
    font-size: 46px;
    font-weight: 800;
    margin-bottom: 10px;
}

/* deskripsi */
.hero-profil p {
    font-size: 16px;
    color: #ecfdf5;
    max-width: 700px;
    margin: auto;
    line-height: 1.6;
}

.hero.hero-profil .hero-content h1 {
    font-size: 20px; /* sebelumnya 48px */
    font-weight: 800;
    margin-bottom: 10px;
}

.hero.hero-profil .hero-content p {
    font-size: 15px; /* sebelumnya 17px */
    color: #ecfdf5;
    max-width: 650px;
    margin: 0 auto;
    line-height: 1.6;
}

.hero.hero-profil {
    min-height: 320px !important;
    height: 320px;
    background:
        linear-gradient(rgba(20, 83, 45, 0.75), rgba(34, 197, 94, 0.65)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    display: block;
    position: relative;
}

.hero.hero-profil .hero-overlay {
    min-height: 320px !important;
    height: 320px;
    width: 100%;
    background: transparent;
    display: flex;
    align-items: center;
}

.hero.hero-profil .hero-content {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
    color: #ffffff;
}

.hero.hero-profil .hero-content h1 {
    font-size: 48px;
    font-weight: 800;
    margin-bottom: 14px;
}

.hero.hero-profil .hero-content p {
    font-size: 17px;
    color: #ecfdf5;
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.7;
}

/* HERO SEMUA HALAMAN - SAMA SEPERTI DAYA TARIK */
.page-hero,
.page-hero-profil {
    height: 345px !important;
    min-height: 345px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.76), rgba(34, 197, 94, 0.60)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
    position: relative;
    display: block !important;
}

.page-hero-overlay {
    height: 100% !important;
    min-height: 345px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.page-hero-content {
    text-align: center !important;
    color: #ffffff !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding-top: 10px;
}

.page-hero-content h1 {
    font-size: 50px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 18px 0 !important;
    letter-spacing: -1px;
}

.page-hero-content p {
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    max-width: 820px !important;
    margin: 0 auto !important;
}

/* HP */
@media (max-width: 768px) {
    .page-hero,
    .page-hero-profil {
        height: 280px !important;
        min-height: 280px !important;
    }

    .page-hero-overlay {
        min-height: 280px !important;
    }

    .page-hero-content h1 {
        font-size: 34px !important;
    }

    .page-hero-content p {
        font-size: 15px !important;
    }
}

/* PERAPIHAN SECTION DAYA TARIK */
.feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.feature-card {
    background: #ffffff;
    padding: 28px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
    transition: 0.3s ease;
    min-height: 245px;
}

.feature-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.14);
}

.feature-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: #14532d;
    margin-bottom: 12px;
    line-height: 1.4;
}

.feature-card p {
    font-size: 15px;
    color: #4b5563;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .feature-grid {
        grid-template-columns: 1fr;
    }

    .feature-card {
        min-height: auto;
    }
}

/* AKTIVITAS WISATA - BEDA DARI CARD KEUNGGULAN */
.activity-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.activity-card {
    background: #ffffff;
    padding: 24px;
    border-radius: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
    transition: 0.3s ease;
}

.activity-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.14);
}

.activity-number {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.activity-card h3 {
    color: #14532d;
    font-size: 20px;
    margin-bottom: 8px;
    font-weight: 800;
}

.activity-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

/* KEUNIKAN - MODEL LIST PREMIUM */
.unique-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.unique-card {
    background: linear-gradient(135deg, #ffffff, #ecfdf5);
    padding: 26px;
    border-radius: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
}

.unique-card span {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 18px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.unique-card h3 {
    color: #14532d;
    font-size: 20px;
    margin-bottom: 8px;
    font-weight: 800;
}

.unique-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .activity-grid,
    .unique-wrapper {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .activity-card,
    .unique-card {
        flex-direction: column;
    }
}

/* ULASAN PENGUNJUNG */
.review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.review-card {
    background: #ffffff;
    padding: 28px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
    transition: 0.3s ease;
}

.review-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.14);
}

.review-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.review-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 20px;
}

.review-top h3 {
    color: #14532d;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 2px;
}

.review-top span {
    font-size: 13px;
    color: #64748b;
}

.review-stars {
    color: #facc15;
    font-size: 18px;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.review-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .review-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .review-grid {
        grid-template-columns: 1fr;
    }
}

/* FORM ULASAN */
.review-form-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    margin-bottom: 40px;
}

.review-form-box h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 20px;
    color: #14532d;
}

.review-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 16px;
}

.form-group label {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #14532d;
}

.form-group input,
.form-group select,
.form-group textarea {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #e5e7eb;
    font-size: 14px;
}

.form-group textarea {
    resize: none;
}

/* RATING BINTANG */
.rating-input {
    display: flex;
    gap: 6px;
    font-size: 24px;
    color: #d1d5db;
    cursor: pointer;
}

.rating-input span:hover,
.rating-input span.active {
    color: #facc15;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .review-form-grid {
        grid-template-columns: 1fr;
    }
}

/* REVIEW SECTION FIX */
.review-section {
    background: linear-gradient(180deg, #ecfdf5, #f8fffb);
}

.review-layout {
    display: grid;
    grid-template-columns: 1.45fr 0.75fr;
    gap: 28px;
    align-items: stretch;
    margin-bottom: 70px;
}

.review-form-box {
    background: #ffffff;
    padding: 34px;
    border-radius: 28px;
    box-shadow: 0 14px 40px rgba(20, 83, 45, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.12);
    margin: 0;
}

.review-form-header {
    margin-bottom: 24px;
}

.review-form-header span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 7px 15px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 12px;
}

.review-form-header h3 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 8px;
}

.review-form-header p {
    color: #64748b;
    font-size: 15px;
}

.review-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.review-form-box .form-group {
    margin-bottom: 18px;
}

.review-form-box label {
    color: #14532d;
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 8px;
}

.review-form-box input,
.review-form-box select,
.review-form-box textarea {
    width: 100%;
    border: 1px solid #dbe5df;
    border-radius: 15px;
    padding: 14px 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #374151;
    background: #fbfffc;
}

.review-form-box textarea {
    resize: vertical;
    min-height: 130px;
}

.review-form-box input:focus,
.review-form-box select:focus,
.review-form-box textarea:focus {
    outline: none;
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.14);
}

/* RATING INPUT */
.rating-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
}

.rating-input input {
    display: none;
}

.rating-input label {
    font-size: 30px;
    color: #d1d5db;
    cursor: pointer;
    transition: 0.2s ease;
    margin-bottom: 0;
}

.rating-input label:hover,
.rating-input label:hover ~ label,
.rating-input input:checked ~ label {
    color: #facc15;
}

.review-submit {
    border: none;
    cursor: pointer;
    margin-top: 4px;
}

/* SIDE CARD */
.review-side-card {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.95), rgba(34, 197, 94, 0.86)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    padding: 34px;
    border-radius: 28px;
    color: #ffffff;
    box-shadow: 0 14px 40px rgba(20, 83, 45, 0.16);
}

.review-side-icon {
    width: 66px;
    height: 66px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 18px;
}

.review-side-card h3 {
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 12px;
}

.review-side-card p {
    color: #ecfdf5;
    line-height: 1.7;
    margin-bottom: 22px;
}

.review-point {
    background: rgba(255, 255, 255, 0.14);
    padding: 13px 15px;
    border-radius: 15px;
    margin-bottom: 12px;
    font-weight: 700;
}

.review-list-heading {
    margin-top: 10px;
}

@media (max-width: 992px) {
    .review-layout {
        grid-template-columns: 1fr;
    }

    .review-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .review-form-box,
    .review-side-card {
        padding: 24px;
        border-radius: 22px;
    }

    .review-form-header h3 {
        font-size: 23px;
    }
}

/* INFORMASI UMUM PREMIUM */
.info-premium-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.info-premium-card {
    background: #ffffff;
    padding: 30px 24px;
    border-radius: 26px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
    transition: 0.3s ease;
}

.info-premium-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 45px rgba(20, 83, 45, 0.14);
}

.info-premium-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 18px;
}

.info-premium-card h3 {
    font-size: 21px;
    font-weight: 800;
    color: #14532d;
    margin-bottom: 10px;
}

.info-premium-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

/* KEAMANAN */
.safety-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.safety-card {
    background: #ffffff;
    padding: 26px;
    border-radius: 24px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
    transition: 0.3s ease;
}

.safety-card:hover {
    transform: translateY(-5px);
}

.safety-card span {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 18px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.safety-card h3 {
    font-size: 20px;
    font-weight: 800;
    color: #14532d;
    margin-bottom: 8px;
}

.safety-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

/* TIPS */
.tips-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.tips-card {
    background: #ffffff;
    padding: 22px 24px;
    border-radius: 20px;
    color: #14532d;
    font-weight: 700;
    line-height: 1.7;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
}

/* HIGHLIGHT */
.info-highlight {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.95), rgba(34, 197, 94, 0.86)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    padding: 45px;
    border-radius: 30px;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.18);
}

.info-highlight span {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    padding: 7px 15px;
    border-radius: 999px;
    font-weight: 700;
    margin-bottom: 12px;
}

.info-highlight h2 {
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 10px;
}

.info-highlight p {
    color: #ecfdf5;
}

/* MAP */
.map-card {
    overflow: hidden;
    border-radius: 26px;
    box-shadow: 0 14px 40px rgba(20, 83, 45, 0.12);
    border: 8px solid #ffffff;
}

/* KONTAK */
.contact-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.contact-premium-card {
    background: #ffffff;
    padding: 28px;
    border-radius: 26px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.08);
    transition: 0.3s ease;
    color: inherit;
}

.contact-premium-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 45px rgba(20, 83, 45, 0.14);
}

.contact-premium-icon {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 20px;
    background: #ecfdf5;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-premium-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.contact-premium-text span {
    display: inline-block;
    font-size: 13px;
    font-weight: 800;
    color: #16a34a;
    margin-bottom: 6px;
}

.contact-premium-text h3 {
    color: #14532d;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 8px;
}

.contact-premium-text p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 12px;
}

.contact-premium-text strong {
    color: #14532d;
    font-size: 14px;
}

@media (max-width: 992px) {
    .info-premium-grid,
    .tips-grid,
    .contact-premium-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .safety-grid {
        grid-template-columns: 1fr;
    }

    .info-highlight {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .info-premium-grid,
    .tips-grid,
    .contact-premium-grid {
        grid-template-columns: 1fr;
    }

    .contact-premium-card,
    .safety-card {
        flex-direction: column;
    }

    .info-highlight {
        padding: 30px 24px;
    }

    .info-highlight h2 {
        font-size: 26px;
    }
}

/* TIPS PREMIUM NEW */
.tips-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.tips-premium-card {
    position: relative;
    background: #ffffff;
    padding: 34px 26px 28px;
    border-radius: 28px;
    min-height: 260px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.09);
    overflow: hidden;
    transition: 0.3s ease;
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.tips-premium-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), transparent 55%);
    opacity: 0;
    transition: 0.3s ease;
}

.tips-premium-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 50px rgba(20, 83, 45, 0.16);
}

.tips-premium-card:hover::before {
    opacity: 1;
}

.tips-premium-number {
    position: absolute;
    top: 22px;
    right: 24px;
    font-size: 42px;
    font-weight: 900;
    color: rgba(20, 83, 45, 0.08);
}

.tips-premium-icon {
    width: 68px;
    height: 68px;
    border-radius: 22px;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}

.tips-premium-card h3 {
    color: #14532d;
    font-size: 21px;
    font-weight: 800;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.tips-premium-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
    position: relative;
    z-index: 1;
}

@media (max-width: 992px) {
    .tips-premium-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .tips-premium-grid {
        grid-template-columns: 1fr;
    }

    .tips-premium-card {
        min-height: auto;
    }
}

/* HERO KULINER */
.page-hero-kuliner {
    height: 330px !important;
    min-height: 330px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-kuliner .page-hero-overlay {
    min-height: 330px !important;
}

/* WARUNG KULINER */
.warung-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.warung-card {
    background: #ffffff;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.09);
    color: inherit;
    transition: 0.3s ease;
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.warung-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 50px rgba(20, 83, 45, 0.16);
}

.warung-img-box {
    position: relative;
    height: 230px;
    overflow: hidden;
}

.warung-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.45s ease;
}

.warung-card:hover .warung-img-box img {
    transform: scale(1.08);
}

.warung-badge {
    position: absolute;
    left: 18px;
    top: 18px;
    background: rgba(255, 255, 255, 0.92);
    color: #14532d;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.warung-card-body {
    padding: 26px 24px 28px;
}

.warung-card-body h3 {
    color: #14532d;
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 10px;
}

.warung-card-body p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 18px;
}

.warung-info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
}

.warung-info span {
    background: #ecfdf5;
    color: #166534;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.lihat-menu {
    display: inline-flex;
    align-items: center;
    color: #14532d;
    font-weight: 800;
    background: #facc15;
    padding: 10px 16px;
    border-radius: 14px;
}

@media (max-width: 992px) {
    .warung-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .warung-grid {
        grid-template-columns: 1fr;
    }

    .warung-img-box {
        height: 210px;
    }
}

.warung-category {
    display: inline-block;
    background: #ecfdf5;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 12px;
}

.warung-address {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    border-radius: 16px;
    padding: 13px 14px;
    margin: 16px 0;
}

.warung-address strong {
    display: block;
    color: #14532d;
    font-size: 14px;
    margin-bottom: 4px;
}

.warung-address span {
    display: block;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.6;
}

.warung-mini-gallery {
    position: absolute;
    right: 14px;
    bottom: 14px;
    display: flex;
    gap: 7px;
}

.warung-mini-gallery img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 12px;
    border: 2px solid #ffffff;
    box-shadow: 0 8px 18px rgba(0,0,0,0.25);
}

/* =========================
   KULINER PAGE FIX FINAL
========================= */

.page-hero-kuliner {
    height: 330px !important;
    min-height: 330px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-kuliner .page-hero-overlay {
    min-height: 330px !important;
}

.warung-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 34px;
}

.warung-card {
    background: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 16px 42px rgba(20, 83, 45, 0.10);
    color: inherit;
    transition: 0.3s ease;
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.warung-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 60px rgba(20, 83, 45, 0.17);
}

.warung-img-box {
    position: relative;
    height: 270px;
    overflow: hidden;
    background:
        linear-gradient(rgba(20, 83, 45, 0.18), rgba(20, 83, 45, 0.28)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
}

.warung-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.45s ease;
}

.warung-card:hover .warung-main-img {
    transform: scale(1.08);
}

.warung-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(20, 83, 45, 0.04),
        rgba(20, 83, 45, 0.28)
    );
    z-index: 1;
}

.warung-badge {
    position: absolute;
    left: 20px;
    top: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #14532d;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(0,0,0,0.14);
    z-index: 3;
}

.warung-mini-gallery {
    position: absolute;
    right: 18px;
    bottom: 18px;
    display: flex;
    gap: 8px;
    z-index: 3;
    background: rgba(255, 255, 255, 0.78);
    padding: 7px;
    border-radius: 18px;
    backdrop-filter: blur(8px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.18);
}

.warung-mini-gallery img {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 13px;
    border: 2px solid #ffffff;
    transition: 0.3s ease;
}

.warung-mini-gallery img:hover {
    transform: translateY(-4px) scale(1.05);
}

.warung-card-body {
    padding: 28px 26px 30px;
}

.warung-category {
    display: inline-block;
    background: #ecfdf5;
    color: #166534;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 14px;
}

.warung-card-body h3 {
    color: #14532d;
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 12px;
}

.warung-card-body p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 18px;
}

.warung-address {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    border-radius: 18px;
    padding: 15px 16px;
    margin: 18px 0 22px;
}

.warung-address strong {
    display: block;
    color: #14532d;
    font-size: 14px;
    margin-bottom: 6px;
}

.warung-address span {
    display: block;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.6;
}

.lihat-menu {
    display: inline-flex;
    align-items: center;
    color: #14532d;
    font-weight: 800;
    background: #facc15;
    padding: 11px 18px;
    border-radius: 16px;
}

@media (max-width: 992px) {
    .warung-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .warung-img-box {
        height: 230px;
    }

    .warung-card-body h3 {
        font-size: 22px;
    }

    .warung-mini-gallery img {
        width: 44px;
        height: 44px;
    }
}

/* =========================
   KULINER PAGE FINAL
========================= */

.page-hero-kuliner {
    height: 300px !important;
    min-height: 300px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-kuliner .page-hero-overlay {
    min-height: 300px !important;
}

.warung-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.warung-card {
    display: block;
    background: #ffffff;
    border-radius: 26px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 14px 34px rgba(20, 83, 45, 0.10);
    transition: 0.3s ease;
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.warung-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 48px rgba(20, 83, 45, 0.16);
}

.warung-img-box {
    position: relative;
    height: 205px;
    overflow: hidden;
    background:
        linear-gradient(rgba(20, 83, 45, 0.18), rgba(20, 83, 45, 0.28)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
}

.warung-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.45s ease;
}

.warung-card:hover .warung-main-img {
    transform: scale(1.06);
}

.warung-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(20, 83, 45, 0.05),
        rgba(20, 83, 45, 0.32)
    );
    z-index: 1;
}

.warung-badge {
    position: absolute;
    left: 16px;
    top: 14px;
    background: rgba(255, 255, 255, 0.94);
    color: #14532d;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(0,0,0,0.14);
    z-index: 3;
}

.warung-mini-gallery {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: flex;
    gap: 6px;
    z-index: 3;
    background: rgba(255, 255, 255, 0.82);
    padding: 6px;
    border-radius: 15px;
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
}

.warung-mini-gallery img {
    width: 42px;
    height: 42px;
    object-fit: cover;
    border-radius: 10px;
    border: 2px solid #ffffff;
    transition: 0.3s ease;
}

.warung-mini-gallery img:hover {
    transform: translateY(-3px) scale(1.05);
}

.warung-card-body {
    padding: 22px 22px 24px;
}

.warung-category {
    display: inline-block;
    background: #ecfdf5;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 12px;
}

.warung-card-body h3 {
    color: #14532d;
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.25;
}

.warung-card-body p {
    color: #4b5563;
    font-size: 14.5px;
    line-height: 1.7;
    margin-bottom: 16px;
}

.warung-address {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    border-radius: 16px;
    padding: 13px 14px;
    margin: 16px 0 20px;
}

.warung-address strong {
    display: block;
    color: #14532d;
    font-size: 14px;
    margin-bottom: 5px;
}

.warung-address span {
    display: block;
    color: #4b5563;
    font-size: 13px;
    line-height: 1.6;
}

.lihat-menu {
    display: inline-flex;
    align-items: center;
    color: #14532d;
    font-weight: 800;
    background: #facc15;
    padding: 10px 16px;
    border-radius: 14px;
}

@media (max-width: 992px) {
    .warung-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .page-hero-kuliner {
        height: 260px !important;
        min-height: 260px !important;
    }

    .page-hero-kuliner .page-hero-overlay {
        min-height: 260px !important;
    }

    .warung-img-box {
        height: 190px;
    }

    .warung-card-body h3 {
        font-size: 21px;
    }

    .warung-mini-gallery img {
        width: 38px;
        height: 38px;
    }
}

/* =========================
   KULINER PAGE FINAL - 3 CARD
========================= */

.page-hero-kuliner {
    height: 300px !important;
    min-height: 300px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-kuliner .page-hero-overlay {
    min-height: 300px !important;
}

.warung-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.warung-card {
    display: block;
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.10);
    transition: 0.3s ease;
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.warung-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.16);
}

.warung-img-box {
    position: relative;
    height: 170px;
    overflow: hidden;
    background:
        linear-gradient(rgba(20, 83, 45, 0.18), rgba(20, 83, 45, 0.28)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
}

.warung-main-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.45s ease;
}

.warung-card:hover .warung-main-img {
    transform: scale(1.06);
}

.warung-img-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(20, 83, 45, 0.05),
        rgba(20, 83, 45, 0.32)
    );
    z-index: 1;
}

.warung-badge {
    position: absolute;
    left: 14px;
    top: 12px;
    background: rgba(255, 255, 255, 0.94);
    color: #14532d;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    box-shadow: 0 8px 18px rgba(0,0,0,0.14);
    z-index: 3;
}

.warung-mini-gallery {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: flex;
    gap: 5px;
    z-index: 3;
    background: rgba(255, 255, 255, 0.82);
    padding: 5px;
    border-radius: 14px;
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
}

.warung-mini-gallery img {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 9px;
    border: 2px solid #ffffff;
    transition: 0.3s ease;
}

.warung-mini-gallery img:hover {
    transform: translateY(-3px) scale(1.05);
}

.warung-card-body {
    padding: 20px 18px 22px;
}

.warung-category {
    display: inline-block;
    background: #ecfdf5;
    color: #166534;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 11px;
}

.warung-card-body h3 {
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 9px;
    line-height: 1.25;
}

.warung-card-body p {
    color: #4b5563;
    font-size: 13.8px;
    line-height: 1.7;
    margin-bottom: 14px;
}

.warung-address {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    border-radius: 14px;
    padding: 12px 13px;
    margin: 14px 0 18px;
}

.warung-address strong {
    display: block;
    color: #14532d;
    font-size: 13px;
    margin-bottom: 4px;
}

.warung-address span {
    display: block;
    color: #4b5563;
    font-size: 12.5px;
    line-height: 1.6;
}

.lihat-menu {
    display: inline-flex;
    align-items: center;
    color: #14532d;
    font-weight: 800;
    background: #facc15;
    padding: 9px 14px;
    border-radius: 13px;
    font-size: 13px;
}

@media (max-width: 1200px) {
    .warung-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .warung-grid {
        grid-template-columns: 1fr;
    }

    .page-hero-kuliner {
        height: 260px !important;
        min-height: 260px !important;
    }

    .page-hero-kuliner .page-hero-overlay {
        min-height: 260px !important;
    }

    .warung-img-box {
        height: 190px;
    }

    .warung-card-body h3 {
        font-size: 21px;
    }

    .warung-mini-gallery img {
        width: 38px;
        height: 38px;
    }
}

/* =========================
   KONTAK PENGELOLA - DARK MODE PREMIUM
========================= */

.kontak-pengelola-section {
    background: linear-gradient(135deg, #14532d, #166534);
    padding: 70px 0;
}

/* heading jadi terang */
.kontak-pengelola-section .section-heading h2,
.kontak-pengelola-section .section-heading p,
.kontak-pengelola-section .section-label {
    color: #ecfdf5;
}

.kontak-pengelola-section .section-label {
    background: rgba(255,255,255,0.12);
    color: #bbf7d0;
}

/* GRID */
.contact-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* CARD */
.contact-premium-card {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 26px;
    display: flex;
    gap: 18px;
    align-items: flex-start;
    text-decoration: none;
    color: white;
    border: 1px solid rgba(255,255,255,0.15);
    transition: 0.3s ease;
}

/* HOVER */
.contact-premium-card:hover {
    transform: translateY(-6px);
    background: rgba(255,255,255,0.12);
    box-shadow: 0 12px 30px rgba(0,0,0,0.25);
}

/* ICON */
.contact-premium-icon {
    width: 60px;
    height: 60px;
    background: rgba(255,255,255,0.15);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-premium-icon img {
    width: 28px;
}

/* TEXT */
.contact-premium-text span {
    font-size: 12px;
    color: #bbf7d0;
    font-weight: 600;
}

.contact-premium-text h3 {
    font-size: 20px;
    font-weight: 800;
    margin: 6px 0;
    color: white;
}

.contact-premium-text p {
    font-size: 14px;
    color: #d1fae5;
    line-height: 1.6;
    margin-bottom: 10px;
}

/* BUTTON TEXT */
.contact-premium-text strong {
    font-size: 14px;
    color: #facc15;
    font-weight: 700;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .contact-premium-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .contact-premium-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================
   DAYA TARIK PAGE PREMIUM
========================= */

.page-hero-daya-tarik {
    height: 330px !important;
    min-height: 330px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-daya-tarik .page-hero-overlay {
    min-height: 330px !important;
}

/* HIGHLIGHT */
.daya-highlight {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: center;
}

.daya-highlight-img {
    position: relative;
}

.daya-highlight-img::before {
    content: "";
    position: absolute;
    inset: 22px -22px -22px 22px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    border-radius: 30px;
    z-index: 0;
}

.daya-highlight-img img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 390px;
    object-fit: cover;
    border-radius: 30px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.14);
}

.daya-highlight-text h2 {
    color: #14532d;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 16px;
}

.daya-highlight-text p {
    color: #4b5563;
    line-height: 1.8;
    text-align: justify;
}

.daya-mini-list {
    margin-top: 22px;
    display: grid;
    gap: 12px;
}

.daya-mini-list div {
    background: #ffffff;
    padding: 14px 16px;
    border-radius: 16px;
    color: #14532d;
    font-weight: 800;
    box-shadow: 0 10px 25px rgba(20, 83, 45, 0.08);
}

/* ACTIVITY PREMIUM */
.activity-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.activity-premium-card {
    position: relative;
    background: #ffffff;
    border-radius: 28px;
    padding: 28px;
    min-height: 250px;
    overflow: hidden;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.14);
    transition: 0.3s ease;
}

.activity-premium-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.12), transparent 60%);
    opacity: 0;
    transition: 0.3s ease;
}

.activity-premium-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 50px rgba(20, 83, 45, 0.16);
}

.activity-premium-card:hover::before {
    opacity: 1;
}

.activity-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
}

.activity-top span {
    font-size: 42px;
    font-weight: 900;
    color: rgba(20, 83, 45, 0.12);
}

.activity-icon {
    width: 62px;
    height: 62px;
    border-radius: 20px;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
}

.activity-premium-card h3 {
    position: relative;
    z-index: 1;
    color: #14532d;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 10px;
}

.activity-premium-card p {
    position: relative;
    z-index: 1;
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

/* UNIQUE */
.unique-premium-wrapper {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 28px;
    align-items: stretch;
}

.unique-big-card {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.94), rgba(34, 197, 94, 0.82)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    border-radius: 30px;
    padding: 42px;
    color: #ffffff;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.18);
}

.unique-big-card h3 {
    font-size: 30px;
    font-weight: 800;
    line-height: 1.35;
    margin-bottom: 16px;
}

.unique-big-card p {
    color: #ecfdf5;
    line-height: 1.8;
}

.unique-small-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.unique-small-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    transition: 0.3s ease;
}

.unique-small-card:hover {
    transform: translateY(-6px);
}

.unique-small-card span {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 16px;
}

.unique-small-card h3 {
    color: #14532d;
    font-size: 19px;
    font-weight: 800;
    margin-bottom: 8px;
}

.unique-small-card p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.7;
}

/* POTENSI */
.potensi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.potensi-card {
    background: #ffffff;
    padding: 28px 24px;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    border-top: 6px solid #22c55e;
}

.potensi-card div {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ecfdf5, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}

.potensi-card h3 {
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 10px;
}

.potensi-card p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.7;
}

/* CTA */
.daya-cta {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.95), rgba(34, 197, 94, 0.86)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    color: #ffffff;
    border-radius: 32px;
    padding: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.22);
}

.daya-cta span {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    padding: 7px 15px;
    border-radius: 999px;
    font-weight: 800;
    margin-bottom: 14px;
}

.daya-cta h2 {
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 12px;
}

.daya-cta p {
    color: #ecfdf5;
    max-width: 680px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .daya-highlight,
    .unique-premium-wrapper {
        grid-template-columns: 1fr;
    }

    .activity-premium-grid,
    .potensi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .daya-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .activity-premium-grid,
    .unique-small-grid,
    .potensi-grid {
        grid-template-columns: 1fr;
    }

    .daya-highlight-img::before {
        display: none;
    }

    .daya-highlight-img img {
        height: 280px;
    }

    .daya-highlight-text h2,
    .daya-cta h2 {
        font-size: 28px;
    }

    .unique-big-card,
    .daya-cta {
        padding: 30px 24px;
    }
}

/* =========================
   UPGRADE DAYA TARIK SECTION
========================= */

/* Highlight gambar + teks */
.daya-highlight {
    background: linear-gradient(135deg, #f8fffb, #ecfdf5);
    padding: 45px;
    border-radius: 34px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.08);
}

.daya-highlight-img img {
    height: 420px;
    border-radius: 30px;
    object-fit: cover;
}

.daya-highlight-text h2 {
    font-size: 42px;
    letter-spacing: -1px;
}

.daya-highlight-text p {
    font-size: 16px;
    line-height: 1.9;
}

.daya-mini-list div {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 17px 20px;
    border-radius: 18px;
    background: #ffffff;
    font-size: 16px;
    box-shadow: 0 12px 28px rgba(20, 83, 45, 0.08);
    border-left: 5px solid #22c55e;
    transition: 0.3s ease;
}

.daya-mini-list div:hover {
    transform: translateX(8px);
    background: #f0fdf4;
}

/* Card besar keunikan */
.unique-big-card {
    position: relative;
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}

.unique-big-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(20, 83, 45, 0.25), rgba(20, 83, 45, 0.95)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    z-index: 0;
}

.unique-big-card h3,
.unique-big-card p {
    position: relative;
    z-index: 1;
}

.unique-big-card h3 {
    font-size: 34px;
    line-height: 1.3;
}

.unique-big-card p {
    font-size: 16px;
    line-height: 1.85;
    max-width: 620px;
}

/* Card kecil keunikan */
.unique-small-card {
    border: 1px solid rgba(34, 197, 94, 0.14);
    background: linear-gradient(135deg, #ffffff, #f0fdf4);
}

.unique-small-card span {
    background: linear-gradient(135deg, #dcfce7, #86efac);
}

.unique-small-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 18px 40px rgba(20, 83, 45, 0.14);
}

/* Responsive */
@media (max-width: 992px) {
    .daya-highlight {
        padding: 30px;
    }

    .daya-highlight-text h2 {
        font-size: 32px;
    }

    .unique-big-card {
        min-height: 360px;
    }
}

@media (max-width: 768px) {
    .daya-highlight {
        padding: 22px;
    }

    .daya-highlight-img img {
        height: 280px;
    }

    .daya-highlight-text h2 {
        font-size: 28px;
    }

    .unique-big-card h3 {
        font-size: 26px;
    }
}

/* UPGRADE PESONA ALAM */
.daya-highlight-upgrade {
    position: relative;
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.13), transparent 35%),
        linear-gradient(135deg, #ffffff, #ecfdf5);
    padding: 48px;
    border-radius: 36px;
    box-shadow: 0 22px 60px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.12);
}

.daya-highlight-upgrade .daya-highlight-img {
    position: relative;
}

.daya-highlight-upgrade .daya-highlight-img::before {
    background: linear-gradient(135deg, #bbf7d0, #dcfce7);
    opacity: 0.95;
}

.daya-highlight-upgrade .daya-highlight-img img {
    height: 460px;
    border-radius: 32px;
    box-shadow: 0 20px 55px rgba(20, 83, 45, 0.16);
}

.daya-img-badge {
    position: absolute;
    left: 28px;
    bottom: 28px;
    z-index: 3;
    background: rgba(255,255,255,0.88);
    backdrop-filter: blur(12px);
    padding: 16px 18px;
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.14);
}

.daya-img-badge strong,
.daya-img-badge span {
    display: block;
}

.daya-img-badge strong {
    color: #14532d;
    font-weight: 800;
    margin-bottom: 4px;
}

.daya-img-badge span {
    color: #4b5563;
    font-size: 13px;
}

.daya-highlight-upgrade .daya-highlight-text h2 {
    font-size: 46px;
    line-height: 1.15;
    margin-bottom: 18px;
    color: #14532d;
}

.daya-highlight-upgrade .daya-highlight-text p {
    font-size: 16px;
    line-height: 1.9;
    color: #4b5563;
    margin-bottom: 22px;
}

.daya-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 22px;
}

.daya-stats div {
    background: #ffffff;
    padding: 16px 14px;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.10);
}

.daya-stats strong {
    display: block;
    font-size: 24px;
    margin-bottom: 6px;
}

.daya-stats span {
    display: block;
    color: #14532d;
    font-size: 13px;
    font-weight: 800;
}

.daya-highlight-upgrade .daya-mini-list {
    gap: 13px;
}

.daya-highlight-upgrade .daya-mini-list div {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    background: #ffffff;
    border-left: none;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
}

.daya-highlight-upgrade .daya-mini-list div span {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 13px;
}

.daya-highlight-upgrade .daya-mini-list div strong {
    color: #14532d;
    font-weight: 800;
}

@media (max-width: 992px) {
    .daya-highlight-upgrade {
        padding: 30px;
    }

    .daya-highlight-upgrade .daya-highlight-text h2 {
        font-size: 34px;
    }

    .daya-stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .daya-highlight-upgrade {
        padding: 22px;
    }

    .daya-highlight-upgrade .daya-highlight-img img {
        height: 280px;
    }

    .daya-img-badge {
        position: relative;
        left: auto;
        bottom: auto;
        margin-top: 14px;
    }
}

/* GALERI PAGE */
.page-hero-galeri {
    height: 320px !important;
    min-height: 320px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-galeri .page-hero-overlay {
    min-height: 320px !important;
}

.galeri-masonry {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 230px;
    gap: 22px;
}

.galeri-card {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.10);
}

.galeri-large {
    grid-column: span 2;
    grid-row: span 2;
}

.galeri-wide {
    grid-column: span 2;
}

.galeri-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.45s ease;
}

.galeri-card:hover img {
    transform: scale(1.08);
}

.galeri-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(20, 83, 45, 0.85), transparent 60%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    color: #ffffff;
    opacity: 0;
    transition: 0.3s ease;
}

.galeri-card:hover .galeri-overlay {
    opacity: 1;
}

.galeri-overlay h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
}

.galeri-overlay p {
    color: #ecfdf5;
    font-size: 14px;
}

.galeri-cta {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.95), rgba(34, 197, 94, 0.86)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    padding: 48px;
    border-radius: 32px;
    color: white;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.22);
}

.galeri-cta span {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    padding: 7px 15px;
    border-radius: 999px;
    font-weight: 800;
    margin-bottom: 14px;
}

.galeri-cta h2 {
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 12px;
}

.galeri-cta p {
    color: #ecfdf5;
    max-width: 720px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .galeri-masonry {
        grid-template-columns: repeat(2, 1fr);
    }

    .galeri-large,
    .galeri-wide {
        grid-column: span 2;
    }
}

@media (max-width: 768px) {
    .galeri-masonry {
        grid-template-columns: 1fr;
        grid-auto-rows: 230px;
    }

    .galeri-large,
    .galeri-wide {
        grid-column: span 1;
        grid-row: span 1;
    }

    .galeri-cta {
        padding: 30px 24px;
    }

    .galeri-cta h2 {
        font-size: 28px;
    }
}

/* FASILITAS PAGE */
.page-hero-fasilitas {
    height: 320px !important;
    min-height: 320px !important;
    background:
        linear-gradient(rgba(20, 83, 45, 0.78), rgba(34, 197, 94, 0.62)),
        url('/images/hero-pantai.jpg') center/cover no-repeat !important;
}

.page-hero-fasilitas .page-hero-overlay {
    min-height: 320px !important;
}

.facility-premium-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.facility-premium-card {
    background: #ffffff;
    padding: 30px 24px;
    border-radius: 26px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.14);
    transition: 0.3s ease;
}

.facility-premium-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 50px rgba(20, 83, 45, 0.16);
}

.facility-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 18px;
}

.facility-premium-card h3 {
    color: #14532d;
    font-size: 21px;
    font-weight: 800;
    margin-bottom: 10px;
}

.facility-premium-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

.facility-highlight {
    background: linear-gradient(135deg, #ffffff, #ecfdf5);
    padding: 45px;
    border-radius: 34px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.09);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
}

.facility-highlight-img {
    position: relative;
}

.facility-highlight-img::before {
    content: "";
    position: absolute;
    inset: 22px -22px -22px 22px;
    background: linear-gradient(135deg, #bbf7d0, #dcfce7);
    border-radius: 30px;
    z-index: 0;
}

.facility-highlight-img img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 30px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.14);
}

.facility-highlight-text h2 {
    color: #14532d;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 16px;
}

.facility-highlight-text p {
    color: #4b5563;
    line-height: 1.8;
    margin-bottom: 22px;
}

.facility-list {
    display: grid;
    gap: 12px;
}

.facility-list div {
    background: #ffffff;
    padding: 15px 16px;
    border-radius: 17px;
    display: flex;
    align-items: center;
    gap: 13px;
    box-shadow: 0 10px 28px rgba(20, 83, 45, 0.08);
}

.facility-list span {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 14px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.facility-list strong {
    color: #14532d;
}

.facility-support-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.facility-support-card {
    background: #ffffff;
    padding: 28px;
    border-radius: 26px;
    display: flex;
    gap: 18px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.08);
    border-left: 6px solid #22c55e;
    transition: 0.3s ease;
}

.facility-support-card:hover {
    transform: translateY(-6px);
}

.facility-support-card span {
    width: 58px;
    height: 58px;
    min-width: 58px;
    border-radius: 18px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.facility-support-card h3 {
    color: #14532d;
    font-size: 21px;
    font-weight: 800;
    margin-bottom: 8px;
}

.facility-support-card p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.7;
}

.facility-cta {
    background:
        linear-gradient(135deg, rgba(20, 83, 45, 0.95), rgba(34, 197, 94, 0.86)),
        url('/images/hero-pantai.jpg') center/cover no-repeat;
    color: #ffffff;
    border-radius: 32px;
    padding: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.22);
}

.facility-cta span {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    padding: 7px 15px;
    border-radius: 999px;
    font-weight: 800;
    margin-bottom: 14px;
}

.facility-cta h2 {
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 12px;
}

.facility-cta p {
    color: #ecfdf5;
    max-width: 680px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .facility-premium-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .facility-highlight {
        grid-template-columns: 1fr;
    }

    .facility-support-grid {
        grid-template-columns: 1fr;
    }

    .facility-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .facility-premium-grid {
        grid-template-columns: 1fr;
    }

    .facility-highlight {
        padding: 24px;
    }

    .facility-highlight-img::before {
        display: none;
    }

    .facility-highlight-img img {
        height: 280px;
    }

    .facility-highlight-text h2,
    .facility-cta h2 {
        font-size: 28px;
    }

    .facility-support-card {
        flex-direction: column;
    }

    .facility-cta {
        padding: 30px 24px;
    }
}

.btn-manual-payment {
    display: inline-flex;
    margin-top: 14px;
    background: #facc15;
    color: #14532d;
    padding: 14px 22px;
    border-radius: 14px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(250, 204, 21, 0.25);
}

.btn-manual-payment:hover {
    transform: translateY(-3px);
}

.manual-payment-wrapper {
    display: flex;
    justify-content: center;
}

.manual-payment-card {
    width: 100%;
    max-width: 760px;
    background: #ffffff;
    padding: 40px;
    border-radius: 30px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.10);
}

.manual-payment-card h1 {
    color: #14532d;
    font-size: 36px;
    font-weight: 800;
    margin: 14px 0;
}

.manual-payment-card p {
    color: #4b5563;
    line-height: 1.7;
}

.manual-info {
    margin: 25px 0;
    display: grid;
    gap: 12px;
}

.manual-info div,
.rekening-box {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    padding: 15px 18px;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.manual-info span,
.rekening-box span {
    color: #64748b;
}

.manual-info strong,
.rekening-box strong {
    color: #14532d;
}

.manual-rekening {
    background: linear-gradient(135deg, #14532d, #22c55e);
    padding: 25px;
    border-radius: 24px;
    color: white;
    margin-bottom: 25px;
}

.manual-rekening h3 {
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 8px;
}

.manual-rekening p {
    color: #ecfdf5;
    margin-bottom: 15px;
}

.manual-rekening .rekening-box {
    background: rgba(255,255,255,0.14);
    border: 1px solid rgba(255,255,255,0.2);
}

.manual-rekening .rekening-box span,
.manual-rekening .rekening-box strong {
    color: white;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 8px;
}

.form-group input {
    width: 100%;
    padding: 14px;
    border: 1px solid #d1d5db;
    border-radius: 14px;
}

.error-text {
    color: #dc2626;
    display: block;
    margin-top: 6px;
}

.payment-action {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}

.btn-pay {
    flex: 1; /* bikin sama besar */
    text-align: center;
    padding: 16px;
    border-radius: 14px;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: 0.3s;
}

/* tombol midtrans */
.btn-pay.primary {
    background: #ffffff;
    color: #14532d;
}

/* tombol manual */
.btn-pay.secondary {
    background: #facc15;
    color: #14532d;
}

/* hover efek */
.btn-pay:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.btn-pay.primary {
    border: 2px solid rgba(255,255,255,0.4);
}

.btn-pay.secondary {
    box-shadow: 0 6px 15px rgba(250, 204, 21, 0.4);
}

.ticket-finish-card {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 30px;
    background: #ffffff;
    padding: 40px;
    border-radius: 30px;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.10);
}

.ticket-finish-left h2 {
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
    margin: 14px 0 24px;
}

.ticket-info-list {
    display: grid;
    gap: 12px;
}

.ticket-info-list div {
    display: flex;
    justify-content: space-between;
    background: #f8fffb;
    border: 1px solid #dcfce7;
    padding: 14px 16px;
    border-radius: 15px;
}

.ticket-info-list span {
    color: #64748b;
}

.ticket-info-list strong {
    color: #14532d;
}

.ticket-finish-right {
    background: linear-gradient(135deg, #14532d, #22c55e);
    padding: 32px;
    border-radius: 26px;
    color: white;
}

.ticket-success-icon {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: rgba(255,255,255,0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    margin-bottom: 18px;
}

.ticket-finish-right h3 {
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 12px;
}

.ticket-finish-right p {
    color: #ecfdf5;
    line-height: 1.7;
    margin-bottom: 24px;
}

.ticket-action-buttons {
    display: grid;
    gap: 14px;
}

.ticket-btn {
    display: block;
    text-align: center;
    padding: 14px 18px;
    border-radius: 15px;
    font-weight: 800;
    text-decoration: none;
}

.ticket-btn-yellow {
    background: #facc15;
    color: #14532d;
}

.ticket-btn-green {
    background: #ffffff;
    color: #14532d;
}

.ticket-view-wrapper {
    display: flex;
    justify-content: center;
}

.ticket-view-card {
    width: 100%;
    max-width: 900px;
    background: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.12);
}

.ticket-view-header {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ticket-view-header h2 {
    font-size: 34px;
    font-weight: 800;
}

.ticket-view-body {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 30px;
    padding: 35px;
}

.ticket-detail {
    display: grid;
    gap: 14px;
}

.ticket-detail div {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    padding: 14px 16px;
    border-radius: 15px;
}

.ticket-detail span {
    display: block;
    color: #64748b;
    margin-bottom: 4px;
}

.ticket-detail strong {
    color: #14532d;
}

.ticket-qr-box {
    text-align: center;
    background: #f8fffb;
    border: 1px solid #dcfce7;
    padding: 24px;
    border-radius: 22px;
}

.ticket-qr-box p {
    margin: 14px 0 10px;
    color: #4b5563;
}

.qr-active,
.ticket-status-active {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 7px 12px;
    border-radius: 999px;
    font-weight: 800;
}

.qr-used {
    display: inline-block;
    background: #fee2e2;
    color: #991b1b;
    padding: 7px 12px;
    border-radius: 999px;
    font-weight: 800;
}

.ticket-view-footer {
    padding: 22px 35px;
    background: #ecfdf5;
    color: #14532d;
    font-weight: 700;
}

.scan-result-card {
    max-width: 650px;
    margin: auto;
    background: #ffffff;
    padding: 40px;
    border-radius: 30px;
    text-align: center;
    box-shadow: 0 18px 50px rgba(20, 83, 45, 0.10);
}

.scan-icon {
    font-size: 60px;
    margin-bottom: 18px;
}

.scan-result-card h1 {
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 10px;
}

.scan-info {
    margin-top: 25px;
    display: grid;
    gap: 12px;
    text-align: left;
}

.scan-info div {
    background: #f8fffb;
    border: 1px solid #dcfce7;
    padding: 14px 16px;
    border-radius: 15px;
}

@media (max-width: 768px) {
    .ticket-finish-card,
    .ticket-view-body {
        grid-template-columns: 1fr;
    }

    .ticket-view-header {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
}

.qr-error {
    width: 180px;
    height: 180px;
    margin: 0 auto;
    background: #fee2e2;
    color: #991b1b;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 800;
    padding: 16px;
}

.ticket-modern-wrapper{
    display:flex;
    justify-content:center;
}

.ticket-modern{
    display:flex;
    background:white;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,0.1);
    max-width:900px;
    width:100%;
}

.ticket-left{
    width:250px;
    background:#1f5f3b;
    color:white;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:25px;
    text-align:center;
}

.ticket-left img{
    background:white;
    padding:10px;
    border-radius:10px;
}

.qr-text{
    margin-top:10px;
    font-size:13px;
}

.qr-active{
    margin-top:8px;
    background:#4ade80;
    padding:5px 10px;
    border-radius:20px;
    font-size:12px;
}

.qr-used{
    margin-top:8px;
    background:red;
    padding:5px 10px;
    border-radius:20px;
    font-size:12px;
}

.ticket-divider{
    width:2px;
    background: repeating-linear-gradient(
        to bottom,
        #ccc,
        #ccc 10px,
        transparent 10px,
        transparent 20px
    );
}

.ticket-right{
    flex:1;
    padding:25px;
}

.ticket-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.ticket-header h2{
    font-size:22px;
}

.kode{
    font-weight:600;
    color:#1f5f3b;
}

.ticket-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-top:20px;
}

.ticket-info-grid span{
    font-size:12px;
    color:#777;
}

.ticket-breakdown{
    margin-top:20px;
    background:#f8fafc;
    padding:15px;
    border-radius:10px;
}

.ticket-warning{
    margin-top:15px;
    background:#fff3cd;
    padding:12px;
    border-radius:10px;
    font-size:13px;
}

.ticket-actions{
    margin-top:20px;
    display:flex;
    gap:10px;
}

.btn-download{
    padding:10px 15px;
    background:#22c55e;
    color:white;
    border-radius:8px;
    text-decoration:none;
}

.qr-time {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #ffffff;
    opacity: 0.85;
}

.qr-error {
    width: 200px;
    height: 200px;
    background: #fee2e2;
    color: #991b1b;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 15px;
    font-weight: 800;
}

.qr-used-time {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #ffffff;
    line-height: 1.5;
    text-align: center;
    opacity: 0.9;
}

.qr-used {
    background: #ef4444;
    color: #ffffff;
}

.admin-dashboard-section {
    padding: 55px 0;
    background: linear-gradient(180deg, #f0fff6 0%, #ffffff 100%);
    min-height: 100vh;
}

.admin-dashboard-header {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 38px;
    border-radius: 28px;
    margin-bottom: 30px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.18);
}

.admin-label {
    display: inline-block;
    background: rgba(255,255,255,0.18);
    padding: 8px 16px;
    border-radius: 999px;
    font-weight: 700;
    margin-bottom: 14px;
}

.admin-dashboard-header h1 {
    font-size: 38px;
    font-weight: 800;
    margin-bottom: 8px;
}

.admin-dashboard-header p {
    max-width: 720px;
    color: #ecfdf5;
    line-height: 1.7;
}

.admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 34px;
}

.admin-stat-card {
    background: #ffffff;
    padding: 26px;
    border-radius: 24px;
    border-top: 6px solid #22c55e;
    box-shadow: 0 16px 40px rgba(20, 83, 45, 0.10);
    transition: 0.3s ease;
}

.admin-stat-card:hover {
    transform: translateY(-6px);
}

.admin-stat-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 18px;
}

.admin-stat-card span {
    color: #64748b;
    font-weight: 700;
}

.admin-stat-card h2 {
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
    margin-top: 8px;
}

.admin-table-grid {
    display: grid;
    gap: 28px;
}

.admin-table-card {
    background: #ffffff;
    padding: 28px;
    border-radius: 26px;
    box-shadow: 0 16px 40px rgba(20, 83, 45, 0.09);
}

.admin-table-title {
    margin-bottom: 20px;
}

.admin-table-title h2 {
    color: #14532d;
    font-size: 26px;
    font-weight: 800;
}

.admin-table-title p {
    color: #64748b;
}

.table-responsive {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table thead {
    background: #ecfdf5;
}

.admin-table th {
    color: #14532d;
    text-align: left;
    padding: 15px;
    font-size: 14px;
}

.admin-table td {
    padding: 15px;
    border-bottom: 1px solid #e5e7eb;
    color: #334155;
}

.admin-table tbody tr:hover {
    background: #f8fffb;
}

.badge-role,
.badge-pay,
.badge-ticket {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.badge-admin {
    background: #dcfce7;
    color: #166534;
}

.badge-user {
    background: #e0f2fe;
    color: #075985;
}

.badge-paid {
    background: #dcfce7;
    color: #166534;
}

.badge-pending {
    background: #fef3c7;
    color: #92400e;
}

.badge-failed,
.badge-expired,
.badge-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.badge-ticket.used {
    background: #dcfce7;
    color: #166534;
}

.badge-ticket.unused {
    background: #fef3c7;
    color: #92400e;
}

@media (max-width: 992px) {
    .admin-stat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .admin-stat-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-header h1 {
        font-size: 30px;
    }
}

.btn-detail {
    background: #22c55e;
    color: #fff;
    padding: 8px 14px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 700;
}

.btn-detail:hover {
    background: #16a34a;
}

/* ================= ADMIN NAVBAR ================= */

.admin-navbar {
    background: linear-gradient(135deg, #14532d, #22c55e);
    padding: 16px 0;
    color: white;
}

.admin-navbar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-logo {
    font-size: 20px;
    font-weight: 800;
}

.admin-menu {
    display: flex;
    align-items: center;
    gap: 20px;
}

.admin-menu a {
    color: white;
    text-decoration: none;
    font-weight: 600;
}

.admin-menu a:hover {
    color: #bbf7d0;
}

.btn-logout {
    background: #ef4444;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
}

.btn-logout:hover {
    background: #dc2626;
}

/* ================= ADMIN SIDEBAR ================= */

.admin-wrapper {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    width: 240px;
    background: #14532d;
    color: white;
    padding: 25px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.admin-sidebar h2 {
    margin-bottom: 20px;
}

.admin-sidebar a {
    color: white;
    text-decoration: none;
    padding: 10px;
    border-radius: 10px;
    font-weight: 600;
}

.admin-sidebar a:hover {
    background: #22c55e;
}

.admin-sidebar hr {
    margin: 15px 0;
    border-color: rgba(255,255,255,0.2);
}

.admin-content {
    flex: 1;
    padding: 30px;
    background: #f0fdf4;
}

.btn-logout {
    margin-top: auto;
    background: #ef4444;
    color: white;
    border: none;
    padding: 10px;
    border-radius: 10px;
    cursor: pointer;
}

/* ================= USER TABLE MODERN ================= */

body {
    font-family: 'Poppins', sans-serif;
}

.admin-content h1 {
    font-size: 32px;
    font-weight: 800;
    color: #14532d;
}

.admin-content p {
    color: #64748b;
    margin-bottom: 25px;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.admin-table thead {
    background: #ecfdf5;
}

.admin-table th {
    text-align: left;
    padding: 16px;
    font-weight: 700;
    color: #14532d;
}

.admin-table td {
    padding: 16px;
    border-bottom: 1px solid #f1f5f9;
}

.admin-table tbody tr:hover {
    background: #f9fffb;
}

/* BADGE ROLE */

.badge-role {
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.badge-user {
    background: #e0f2fe;
    color: #075985;
}

.badge-admin {
    background: #dcfce7;
    color: #166534;
}

/* BUTTON */

.btn-role {
    background: #22c55e;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
}

.btn-role:hover {
    background: #16a34a;
}

.btn-delete {
    background: #ef4444;
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
}

.btn-delete:hover {
    background: #dc2626;
}

/* ALERT */

.alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 12px;
    border-radius: 12px;
    margin-bottom: 15px;
}

.alert-error {
    background: #fee2e2;
    color: #991b1b;
    padding: 12px;
    border-radius: 12px;
    margin-bottom: 15px;
}

/* ================= USER TABLE PREMIUM ================= */

.admin-content h1 {
    font-size: 36px;
    font-weight: 800;
    color: #14532d;
}

.admin-content p {
    font-size: 16px;
    color: #64748b;
    margin-bottom: 30px;
}

/* TABLE */

.admin-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.08);
}

.admin-table thead {
    background: #ecfdf5;
}

.admin-table th {
    padding: 18px;
    font-size: 15px;
    font-weight: 700;
    color: #14532d;
}

.admin-table td {
    padding: 20px;
    font-size: 15px;
    color: #334155;
}

.admin-table tbody tr {
    transition: 0.2s;
}

.admin-table tbody tr:hover {
    background: #f9fffb;
    transform: scale(1.002);
}

/* NAMA BOLD */

.admin-table td strong {
    font-size: 16px;
    font-weight: 700;
}

/* BADGE */

.badge-role {
    padding: 7px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}

/* BUTTON */

.btn-role {
    background: #22c55e;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
}

.btn-role:hover {
    background: #16a34a;
}

.btn-delete {
    background: #ef4444;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
}

.btn-delete:hover {
    background: #dc2626;
}

.table-responsive {
    margin-top: 20px;
    border-radius: 20px;
    overflow: hidden;
}

.admin-table tbody tr {
    border-left: 4px solid transparent;
}

.admin-table tbody tr:hover {
    border-left: 4px solid #22c55e;
}

.select-role {
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    font-size: 13px;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
}

.select-role:focus {
    outline: none;
    border-color: #22c55e;
}

/* ======================================================
   ADMIN PANEL
====================================================== */
body {
    font-family: 'Poppins', sans-serif;
}

.admin-shell {
    display: flex;
    min-height: 100vh;
    background: #edf7f0;
}

/* SIDEBAR */
.admin-sidebar {
    width: 280px;
    background: linear-gradient(180deg, #1f5f2f 0%, #1d6b35 100%);
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 999;
    box-shadow: 10px 0 30px rgba(0,0,0,0.08);
}

.admin-sidebar-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 28px 28px 24px;
}

.admin-brand h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.3px;
}

.admin-brand p {
    margin: 6px 0 0;
    font-size: 13px;
    color: rgba(255,255,255,0.75);
}

.admin-nav {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.admin-nav a {
    color: rgba(255,255,255,0.88);
    text-decoration: none;
    font-size: 17px;
    font-weight: 600;
    padding: 14px 16px;
    border-radius: 14px;
    transition: all 0.25s ease;
}

.admin-nav a:hover,
.admin-nav a.active {
    background: rgba(255,255,255,0.16);
    color: #fff;
}

.admin-nav-divider {
    height: 1px;
    background: rgba(255,255,255,0.20);
    margin: 12px 0;
}

.admin-sidebar-footer {
    margin-top: auto;
}

.admin-logout-btn {
    width: 100%;
    border: none;
    background: #eb5b52;
    color: #fff;
    padding: 14px 16px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.25s ease;
}

.admin-logout-btn:hover {
    background: #d94c44;
    transform: translateY(-2px);
}

/* MAIN CONTENT */
.admin-main {
    margin-left: 280px;
    width: calc(100% - 280px);
    min-height: 100vh;
    padding: 36px 36px 60px;
}

.admin-content-wrap {
    max-width: 1400px;
    margin: 0 auto;
}

.admin-page-header {
    margin-bottom: 26px;
}

.admin-page-header h1 {
    margin: 0;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 800;
    color: #1c4f2a;
}

.admin-page-header p {
    margin: 10px 0 0;
    font-size: 18px;
    color: #5f7280;
}

/* ALERT */
.admin-alert-success {
    margin-bottom: 20px;
    background: #dff6e5;
    color: #1f6a36;
    border: 1px solid #b9e7c7;
    padding: 14px 18px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
}

/* CARD */
.admin-card {
    background: #ffffff;
    border-radius: 26px;
    box-shadow: 0 18px 50px rgba(31, 95, 47, 0.08);
    overflow: hidden;
}

/* TABLE */
.admin-table-wrap {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 980px;
}

.admin-table thead th {
    background: #eef8f1;
    color: #1d4f2a;
    text-align: left;
    font-size: 18px;
    font-weight: 800;
    padding: 22px 24px;
    border-bottom: 1px solid #e2eee6;
}

.admin-table tbody td {
    padding: 24px;
    font-size: 18px;
    color: #25364a;
    border-bottom: 1px solid #edf1ef;
    vertical-align: middle;
}

.admin-table tbody tr:last-child td {
    border-bottom: none;
}

.fw-semibold {
    font-weight: 700;
    color: #173a24;
}

.empty-data {
    text-align: center;
    color: #7b8a95;
    font-weight: 500;
}

/* ROLE BADGE */
.role-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.3px;
}

.role-admin {
    background: #dff3e3;
    color: #236439;
}

.role-user {
    background: #e1edf9;
    color: #285e9a;
}

/* ACTION */
.action-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.role-form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.role-select {
    min-width: 110px;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #cfd9d3;
    border-radius: 12px;
    background: #fff;
    font-size: 15px;
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
    outline: none;
}

.role-select:focus {
    border-color: #49b95b;
    box-shadow: 0 0 0 4px rgba(73,185,91,0.12);
}

.btn-action {
    border: none;
    padding: 11px 18px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: 0.25s ease;
    color: #fff;
}

.btn-save {
    background: #58c766;
}

.btn-save:hover {
    background: #44b653;
    transform: translateY(-1px);
}

.btn-delete {
    background: #ea5a50;
}

.btn-delete:hover {
    background: #d84a41;
    transform: translateY(-1px);
}

.self-account-note {
    display: inline-block;
    color: #97a6b2;
    font-size: 15px;
    font-weight: 600;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .admin-sidebar {
        width: 240px;
    }

    .admin-main {
        margin-left: 240px;
        width: calc(100% - 240px);
        padding: 24px;
    }

    .admin-page-header h1 {
        font-size: 28px;
    }

    .admin-page-header p {
        font-size: 16px;
    }

    .admin-table thead th,
    .admin-table tbody td {
        font-size: 16px;
        padding: 18px;
    }
}

@media (max-width: 768px) {
    .admin-sidebar {
        position: relative;
        width: 100%;
        height: auto;
    }

    .admin-sidebar-inner {
        height: auto;
    }

    .admin-main {
        margin-left: 0;
        width: 100%;
        padding: 20px;
    }

    .admin-shell {
        flex-direction: column;
    }
}

/* =========================
   MATIKAN ANIMASI TEKS ADMIN
========================= */

.admin-sidebar a,
.admin-nav a,
.admin-logo,
.admin-brand h2,
.admin-brand p,
.admin-content h1,
.admin-page-header h1,
.admin-page-header p,
.admin-table th,
.admin-table td,
.admin-table td strong,
.admin-menu a {
    animation: none !important;
    transform: none !important;
    letter-spacing: normal;
}

/* Hover menu tetap rapi, tidak membuat tulisan bergerak */
.admin-sidebar a:hover,
.admin-nav a:hover,
.admin-sidebar a.active,
.admin-nav a.active {
    transform: none !important;
}

/* Tombol boleh tetap ada efek naik sedikit kalau mau; kalau tidak mau, aktifkan ini */
.btn-action:hover,
.btn-save:hover,
.btn-delete:hover,
.admin-logout-btn:hover {
    transform: none !important;
}

/* Garis/warna hover tetap boleh */
.admin-nav a,
.admin-sidebar a {
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* ===============================
   ADMIN SIDEBAR FINAL RAPI
================================ */

.admin-shell {
    display: flex;
    min-height: 100vh;
    background: #eefaf3;
    font-family: 'Poppins', sans-serif;
}

/* SIDEBAR */
.admin-sidebar {
    width: 270px !important;
    height: 100vh !important;
    position: fixed !important;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, #1f5f2f 0%, #255f34 100%) !important;
    color: #ffffff;
    overflow: hidden;
    box-shadow: 8px 0 28px rgba(20, 83, 45, 0.14);
}

.admin-sidebar-inner {
    height: 100%;
    padding: 30px 24px !important;
    display: flex;
    flex-direction: column;
}

/* BRAND */
.admin-brand {
    margin-bottom: 30px !important;
}

.admin-brand h2 {
    margin: 0;
    font-size: 26px !important;
    font-weight: 800 !important;
    line-height: 1.2;
    color: #ffffff;
}

.admin-brand p {
    margin: 8px 0 0;
    font-size: 15px !important;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.78);
}

/* MENU */
.admin-nav {
    display: flex !important;
    flex-direction: column;
    gap: 10px !important;
    margin: 0 !important;
}

.admin-nav a {
    display: flex !important;
    align-items: center !important;
    width: 100%;
    height: 50px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: none !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.admin-nav a:hover,
.admin-nav a.active {
    background: rgba(255, 255, 255, 0.17) !important;
    color: #ffffff !important;
    transform: none !important;
}

/* GARIS PEMBATAS */
.admin-nav-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.22);
    margin: 12px 0 !important;
}

/* LOGOUT */
.admin-sidebar-footer {
    margin-top: 28px !important;
}

.admin-logout-btn {
    width: 100%;
    height: 52px !important;
    border: none;
    border-radius: 15px !important;
    background: #e65c52 !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.admin-logout-btn:hover {
    background: #d94d44 !important;
    transform: none !important;
}

/* KONTEN KANAN */
.admin-main {
    margin-left: 270px !important;
    width: calc(100% - 270px) !important;
    min-height: 100vh;
    padding: 38px 42px !important;
    background: #eefaf3;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .admin-shell {
        flex-direction: column;
    }

    .admin-sidebar {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
    }

    .admin-sidebar-inner {
        padding: 24px !important;
    }

    .admin-main {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 24px !important;
    }
}

/* ======================================================
   ADMIN PEMESANAN TABLE STYLE
====================================================== */

.pemesanan-table th,
.pemesanan-table td {
    vertical-align: middle;
}

.booking-code {
    color: #173a24;
    font-weight: 800;
    letter-spacing: 0.3px;
}

.badge-pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.2px;
}

.badge-paid {
    background: #dff3e3;
    color: #236439;
}

.badge-pending {
    background: #fff0bf;
    color: #9a5a14;
}

.badge-failed,
.badge-expired,
.badge-cancelled {
    background: #fee2e2;
    color: #991b1b;
}

.badge-ticket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 135px;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.badge-ticket.used {
    background: #dff3e3;
    color: #236439;
}

.badge-ticket.unused {
    background: #fff0bf;
    color: #9a5a14;
}

.btn-detail {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    height: 44px;
    background: #58c766;
    color: #ffffff;
    border-radius: 12px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 800;
    transition: background-color 0.2s ease;
}

.btn-detail:hover {
    background: #44b653;
    color: #ffffff;
}

.empty-data {
    text-align: center;
    color: #7b8a95;
    font-weight: 600;
    padding: 35px !important;
}

/* ===============================
   FIX BADGE STATUS PEMESANAN
================================ */

.badge-pay,
.badge-ticket {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 82px !important;
    max-width: fit-content !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    letter-spacing: 0.2px;
}

.badge-ticket {
    min-width: 118px !important;
}

.badge-ticket.used {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.badge-ticket.unused {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.badge-paid {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.badge-pending {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.badge-failed,
.badge-expired,
.badge-cancelled {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

/* ======================================================
   ADMIN FORM PROFIL
====================================================== */

.admin-form-card {
    padding: 30px;
    border-top: 5px solid #58c766;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.admin-form-group {
    display: flex;
    flex-direction: column;
}

.admin-form-group.full {
    grid-column: 1 / -1;
}

.admin-form-group label {
    font-size: 15px;
    font-weight: 800;
    color: #1c4f2a;
    margin-bottom: 8px;
}

.admin-form-group input,
.admin-form-group textarea {
    width: 100%;
    border: 1px solid #d6e2da;
    background: #ffffff;
    border-radius: 14px;
    padding: 14px 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #25364a;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.admin-form-group textarea {
    resize: vertical;
    line-height: 1.7;
}

.admin-form-group input:focus,
.admin-form-group textarea:focus {
    border-color: #58c766;
    box-shadow: 0 0 0 4px rgba(88, 199, 102, 0.13);
}

.admin-form-group small {
    margin-top: 6px;
    color: #dc2626;
    font-size: 13px;
    font-weight: 600;
}

.admin-preview-image {
    margin-top: 26px;
}

.admin-preview-image p {
    font-weight: 800;
    color: #1c4f2a;
    margin-bottom: 10px;
}

.admin-preview-image img {
    width: 280px;
    height: 170px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.15);
}

.admin-form-actions {
    margin-top: 30px;
}

.btn-admin-save {
    border: none;
    background: #58c766;
    color: white;
    padding: 14px 24px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
}

.btn-admin-save:hover {
    background: #44b653;
}

.admin-alert-error {
    margin-bottom: 20px;
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
    padding: 14px 18px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 768px) {
    .admin-form-grid {
        grid-template-columns: 1fr;
    }
}

html,
body,
main,
.min-h-screen,
.page-transition {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

/* ===============================
   PERBESAR FONT NAVBAR USER
================================ */

.logo a {
    font-size: 29px !important;
    font-weight: 700 !important;
}

.nav-menu a {
    font-size: 15px !important;
    font-weight: 700 !important;
}

.nav-menu {
    gap: 25px !important;
}

.user-dropdown-btn {
    font-size: 17px !important;
    font-weight: 700 !important;
}

/* ===============================
   MATIKAN SEMUA ANIMASI GERAK
   BIAR PINDAH HALAMAN NORMAL
================================ */

html {
    scroll-behavior: auto !important;
}

body,
main,
section,
div,
nav,
header,
footer,
a,
button,
img,
h1,
h2,
h3,
h4,
p,
span,
li,
ul {
    animation: none !important;
    transition: none !important;
}

body {
    opacity: 1 !important;
    transform: none !important;
}

/* ======================================================
   PROFIL PANTAI MODERN SECTION
====================================================== */

.profil-main-section {
    background:
        radial-gradient(circle at top left, rgba(34, 197, 94, 0.10), transparent 32%),
        linear-gradient(180deg, #f4fff8 0%, #ffffff 100%);
    padding: 90px 0;
    position: relative;
    overflow: hidden;
}

.profil-main-section::before {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -120px;
    top: 80px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.08);
    z-index: 0;
}

.profil-modern-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 60px;
    align-items: center;
}

.profil-modern-image {
    position: relative;
    border-radius: 34px;
    padding: 12px;
    background: #ffffff;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.13);
}

.profil-modern-image::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -28px;
    width: 92%;
    height: 92%;
    border-radius: 34px;
    background: #d8f7e2;
    z-index: -1;
}

.profil-modern-image img {
    width: 100%;
    height: 430px;
    object-fit: cover;
    display: block;
    border-radius: 26px;
}

.profil-image-badge {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    padding: 18px 22px;
    border-radius: 22px;
    box-shadow: 0 15px 35px rgba(0,0,0,0.12);
}

.profil-image-badge span {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.profil-image-badge strong {
    display: block;
    color: #14532d;
    font-size: 17px;
    font-weight: 800;
}

.profil-image-badge p {
    margin: 3px 0 0;
    color: #64748b;
    font-size: 14px;
}

.profil-modern-content {
    padding: 12px 0;
}

.profil-tag {
    display: inline-flex;
    align-items: center;
    background: #d7fbe2;
    color: #166534;
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 22px;
}

.profil-modern-content h2 {
    font-size: 46px;
    line-height: 1.18;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 22px;
}

.profil-modern-content p {
    font-size: 17px;
    line-height: 1.9;
    color: #334155;
    margin-bottom: 18px;
    text-align: justify;
}

.profil-highlight-box {
    display: grid;
    gap: 18px;
    margin-top: 30px;
}

.profil-highlight-item {
    display: flex;
    gap: 16px;
    background: #ffffff;
    padding: 20px;
    border-radius: 22px;
    border-left: 5px solid #22c55e;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.08);
}

.profil-highlight-icon {
    min-width: 52px;
    width: 52px;
    height: 52px;
    border-radius: 18px;
    background: #ecfdf5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.profil-highlight-item h4 {
    color: #14532d;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 6px;
}

.profil-highlight-item p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
}

@media (max-width: 992px) {
    .profil-modern-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .profil-modern-content h2 {
        font-size: 36px;
    }

    .profil-modern-image img {
        height: 360px;
    }
}

@media (max-width: 576px) {
    .profil-main-section {
        padding: 60px 0;
    }

    .profil-modern-content h2 {
        font-size: 30px;
    }

    .profil-modern-content p {
        font-size: 15px;
    }

    .profil-modern-image img {
        height: 280px;
    }

    .profil-image-badge {
        left: 18px;
        right: 18px;
        bottom: 18px;
        padding: 14px;
    }

    .profil-highlight-item {
        flex-direction: column;
    }
}

/* ======================================================
   PROFIL ABOUT PREMIUM - FINAL RAPI
====================================================== */

.profil-about-premium {
    position: relative;
    max-width: 1180px;
    margin: 38px auto 0;
    padding: 42px 46px;
    background:
        linear-gradient(135deg, #ffffff 0%, #f7fff9 100%);
    border-radius: 34px;
    border: 1px solid rgba(34, 197, 94, 0.14);
    border-left: 8px solid #22c55e;
    box-shadow: 0 24px 60px rgba(20, 83, 45, 0.10);
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 34px;
    overflow: hidden;
}

.profil-about-premium::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -90px;
    top: -90px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.08);
}

.profil-about-premium::after {
    content: "";
    position: absolute;
    width: 160px;
    height: 160px;
    left: -70px;
    bottom: -70px;
    border-radius: 50%;
    background: rgba(20, 83, 45, 0.06);
}

.profil-about-decor {
    position: absolute;
    top: 26px;
    right: 34px;
    width: 90px;
    height: 24px;
    background-image: radial-gradient(#22c55e 2px, transparent 2px);
    background-size: 14px 14px;
    opacity: 0.22;
}

.profil-about-side {
    position: relative;
    z-index: 1;
    background: #ecfdf5;
    border-radius: 28px;
    padding: 24px 20px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
}

.profil-about-icon {
    width: 82px;
    height: 82px;
    border-radius: 28px;
    background: #ffffff;
    color: #14532d;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    box-shadow: 0 16px 34px rgba(20, 83, 45, 0.10);
}

.profil-about-side span {
    color: #14532d;
    font-size: 17px;
    font-weight: 800;
}

.profil-about-content {
    position: relative;
    z-index: 1;
}

.profil-about-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 9px 18px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 16px;
}

.profil-about-content h3 {
    color: #14532d;
    font-size: 34px;
    line-height: 1.25;
    font-weight: 800;
    margin-bottom: 18px;
}

.profil-about-content p {
    color: #475569;
    font-size: 16.5px;
    line-height: 1.9;
    margin-bottom: 16px;
    text-align: justify;
}

.profil-about-content p:last-child {
    margin-bottom: 0;
}

/* Matikan style lama yang bentrok */
.profil-about-box {
    border-left: none;
}

/* Responsive */
@media (max-width: 992px) {
    .profil-about-premium {
        grid-template-columns: 1fr;
        padding: 34px 30px;
    }

    .profil-about-side {
        min-height: auto;
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
    }

    .profil-about-icon {
        width: 62px;
        height: 62px;
        border-radius: 20px;
        font-size: 30px;
    }

    .profil-about-content h3 {
        font-size: 28px;
    }
}

@media (max-width: 576px) {
    .profil-about-premium {
        padding: 28px 22px;
        border-radius: 26px;
    }

    .profil-about-content h3 {
        font-size: 24px;
    }

    .profil-about-content p {
        font-size: 15px;
        text-align: left;
    }
}

/* ======================================================
   FIX HERO PROFIL - LEBIH RAPI & TIDAK TERLALU BESAR
====================================================== */

.page-hero-profil {
    height: 310px !important;
    min-height: 310px !important;
    background-position: center 58% !important;
}

.page-hero-profil .page-hero-overlay {
    height: 100%;
    background:
        linear-gradient(
            rgba(20, 83, 45, 0.68),
            rgba(20, 83, 45, 0.58)
        ) !important;
    display: flex;
    align-items: center;
}

.page-hero-profil .page-hero-content {
    text-align: center;
    max-width: 850px;
    margin: 0 auto;
    padding-top: 10px;
}

.page-hero-profil .page-hero-content h1 {
    font-size: 48px !important;
    line-height: 1.2;
    font-weight: 800;
    margin-bottom: 12px;
    color: #ffffff;
}

.page-hero-profil .page-hero-content p {
    font-size: 17px !important;
    font-weight: 600;
    color: #f0fdf4;
    margin: 0;
}

/* jarak bawah hero biar section berikutnya tidak terlalu jauh */
.page-hero-profil + .section,
.page-hero-profil + .profil-main-section {
    margin-top: 0 !important;
}

@media (max-width: 768px) {
    .page-hero-profil {
        height: 260px !important;
        min-height: 260px !important;
    }

    .page-hero-profil .page-hero-content h1 {
        font-size: 36px !important;
    }

    .page-hero-profil .page-hero-content p {
        font-size: 15px !important;
    }
}

/* ======================================================
   REVIEW FORM LOCKED - BELUM LOGIN
====================================================== */

.review-locked-box {
    background: #ffffff;
    border-radius: 30px;
    padding: 42px 48px;
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 30px;
    align-items: center;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.10);
    border-top: 6px solid #22c55e;
    margin-top: 34px;
    margin-bottom: 70px;
}

.review-locked-icon {
    width: 115px;
    height: 115px;
    border-radius: 30px;
    background: #ecfdf5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 58px;
    box-shadow: 0 16px 35px rgba(20, 83, 45, 0.08);
}

.review-locked-content span {
    display: inline-flex;
    background: #dcfce7;
    color: #166534;
    padding: 9px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 14px;
}

.review-locked-content h3 {
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 12px;
}

.review-locked-content p {
    color: #475569;
    font-size: 16px;
    line-height: 1.8;
    max-width: 820px;
    margin-bottom: 22px;
}

.review-locked-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

.btn-login-review,
.btn-register-review {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 155px;
    height: 52px;
    border-radius: 15px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
}

.btn-login-review {
    background: #facc15;
    color: #14532d;
}

.btn-register-review {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
}

.btn-login-review:hover,
.btn-register-review:hover {
    opacity: 0.92;
}

.review-form-box input[readonly] {
    background: #f8fafc;
    color: #475569;
    cursor: not-allowed;
}

@media (max-width: 768px) {
    .review-locked-box {
        grid-template-columns: 1fr;
        padding: 32px 24px;
        text-align: center;
    }

    .review-locked-icon {
        margin: 0 auto;
    }

    .review-locked-content h3 {
        font-size: 28px;
    }

    .review-locked-content p {
        font-size: 15px;
    }

    .review-locked-actions {
        justify-content: center;
    }
}

/* ======================================================
   REVIEW LOCKED BOX - VERSI LEBIH RAPI & TIDAK PANJANG
====================================================== */

.review-locked-box {
    max-width: 980px !important;
    margin: 34px auto 70px !important;
    padding: 38px 44px !important;
    grid-template-columns: 110px 1fr !important;
    border-radius: 28px !important;
}

.review-locked-icon {
    width: 105px !important;
    height: 105px !important;
    font-size: 52px !important;
    border-radius: 28px !important;
}

.review-locked-content h3 {
    font-size: 32px !important;
    line-height: 1.25 !important;
}

.review-locked-content p {
    max-width: 680px !important;
    font-size: 16px !important;
}

.review-locked-actions {
    margin-top: 4px !important;
}

.btn-login-review,
.btn-register-review {
    min-width: 145px !important;
    height: 50px !important;
    font-size: 15px !important;
}

/* ===============================
   NAVBAR LEBIH RAPI KE PINGGIR
================================ */

.navbar {
    padding: 26px 0 !important;
    background: #345f38 !important;
}

.navbar .container,
.nav-wrapper {
    max-width: 1650px !important;
    width: 100% !important;
    margin: 0 auto !important;
   padding-left: 45px !important;
padding-right: 45px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.logo {
    flex-shrink: 0 !important;
}

.logo a {
    font-size: 34px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.nav-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.nav-menu li {
    list-style: none !important;
}

.nav-menu a {
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.nav-menu a.active {
    color: #facc15 !important;
    background: rgba(255, 255, 255, 0.14) !important;
    padding: 13px 20px !important;
    border-radius: 999px !important;
}

.user-dropdown-btn {
    font-size: 17px !important;
    font-weight: 800 !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
    border: none !important;
}

/* Responsive */
@media (max-width: 1200px) {
    .navbar .container,
    .nav-wrapper {
        padding-left: 35px !important;
        padding-right: 35px !important;
    }

    .nav-menu {
        gap: 22px !important;
    }

    .nav-menu a {
        font-size: 15px !important;
    }

    .logo a {
        font-size: 30px !important;
    }
}

/* ===============================
   NAVBAR SESUAI CONTOH
================================ */

.navbar {
    padding: 16px 0 !important;
    background: #3d6b3e !important;
    box-shadow: none !important;
}

.navbar .container,
.nav-wrapper {
    max-width: 1720px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-left: 70px !important;
    padding-right: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.logo {
    flex-shrink: 0 !important;
}

.logo a {
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.nav-menu {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 16px !important; /* diperkecil */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex-wrap: nowrap !important;
}

.nav-menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nav-menu a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    padding: 8px 12px !important; /* kecil */
    border-radius: 999px !important;
    transition: all 0.2s ease !important;
}

.nav-menu a:hover {
    color: #facc15 !important;
}

.nav-menu a.active {
    color: #facc15 !important;
    background: rgba(255, 255, 255, 0.14) !important;
    padding: 8px 18px !important; /* box aktif diperkecil */
    border-radius: 999px !important;
}

.user-dropdown {
    position: relative !important;
}

.user-dropdown-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 10px 18px !important; /* diperkecil */
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

.user-dropdown-menu {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    min-width: 230px !important;
    background: #ffffff !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12) !important;
    padding: 14px !important;
    z-index: 999 !important;
    display: none;
}

.user-dropdown:hover .user-dropdown-menu {
    display: block;
}

@media (max-width: 1200px) {
    .navbar .container,
    .nav-wrapper {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    .logo a {
        font-size: 32px !important;
    }

    .nav-menu {
        gap: 10px !important;
    }

    .nav-menu a {
        font-size: 15px !important;
        padding: 7px 10px !important;
    }

    .nav-menu a.active {
        padding: 7px 14px !important;
    }

    .user-dropdown-btn {
        font-size: 15px !important;
        padding: 8px 14px !important;
    }
}
.nav-menu {
    gap: 12px !important;
}
.nav-menu a.active {
    padding: 7px 15px !important;
}

/* ===============================
   KECILKAN TINGGI NAVBAR USER
================================ */

.navbar {
    padding: 8px 0 !important;
    min-height: 76px !important;
}

.nav-wrapper {
    min-height: 76px !important;
    align-items: center !important;
}

.logo a {
    font-size: 32px !important;
    line-height: 1 !important;
}

.nav-menu {
    gap: 22px !important;
}

.nav-menu a {
    font-size: 15px !important;
    padding: 6px 10px !important;
    line-height: 1 !important;
}

.nav-menu a.active {
    padding: 8px 16px !important;
    border-radius: 999px !important;
}

/* Kalau login sudah berubah jadi user dropdown */
.user-dropdown-btn {
    padding: 8px 14px !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

/* ===============================
   FEATURE CARD DIPENDEKKAN
================================ */

.feature-grid {
    align-items: stretch !important;
}

.feature-card {
    height: auto !important;
    min-height: 210px !important;
    padding: 30px 28px !important;
}

.feature-card h3 {
    font-size: 22px !important;
    margin-bottom: 14px !important;
    line-height: 1.3 !important;
}

.feature-card p {
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
}

/* ======================================================
   FIX HERO BERANDA - GAMBAR TIDAK TERLALU BESAR
====================================================== */

.hero-home {
    min-height: 650px !important;
    height: 650px !important;
    background-size: cover !important;
    background-position: center 48% !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
}

.hero-home .hero-overlay {
    min-height: 620px !important;
    height: 620px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
}

.hero-home .container {
    width: 100% !important;
}

.hero-home .hero-content {
    max-width: 720px !important;
    padding-top: 20px !important;
}

.hero-home .hero-badge {
    margin-bottom: 28px !important;
}

.hero-home .hero-content h1 {
    font-size: 58px !important;
    line-height: 1.18 !important;
    margin-bottom: 28px !important;
}

.hero-home .hero-content p {
    font-size: 18px !important;
    line-height: 1.8 !important;
    margin-bottom: 34px !important;
    max-width: 720px !important;
}

.hero-home .hero-buttons {
    margin-top: 0 !important;
}

/* Responsive */
@media (max-width: 992px) {
    .hero-home {
        height: 560px !important;
        min-height: 560px !important;
        background-position: center center !important;
    }

    .hero-home .hero-overlay {
        height: 560px !important;
        min-height: 560px !important;
    }

    .hero-home .hero-content h1 {
        font-size: 46px !important;
    }
}

@media (max-width: 576px) {
    .hero-home {
        height: 520px !important;
        min-height: 520px !important;
    }

    .hero-home .hero-overlay {
        height: 520px !important;
        min-height: 520px !important;
    }

    .hero-home .hero-content h1 {
        font-size: 34px !important;
    }

    .hero-home .hero-content p {
        font-size: 15px !important;
    }
}

/* ======================================================
   ADMIN KELOLA PROFIL LENGKAP
====================================================== */

.admin-form-section-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 34px 0 22px;
    padding: 18px 20px;
    border-radius: 20px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}

.admin-form-section-title:first-child {
    margin-top: 0;
}

.admin-form-section-title span {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.admin-form-section-title h3 {
    margin: 0;
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
}

.admin-form-section-title p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 14px;
}

.sticky-save {
    position: sticky;
    bottom: 20px;
    background: #ffffff;
    padding: 18px 0 0;
    border-top: 1px solid #e5e7eb;
}

/* ======================================================
   ADMIN FORM SECTION
====================================================== */

.admin-form-section-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 34px 0 22px;
    padding: 18px 20px;
    border-radius: 20px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}

.admin-form-section-title:first-child {
    margin-top: 0;
}

.admin-form-section-title span {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.admin-form-section-title h3 {
    margin: 0;
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
}

.admin-form-section-title p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 14px;
}

.sticky-save {
    position: sticky;
    bottom: 20px;
    background: #ffffff;
    padding: 18px 0 0;
    border-top: 1px solid #e5e7eb;
}
/* ======================================================
   ADMIN SIDEBAR RAPi - FINAL
====================================================== */

.admin-shell {
    min-height: 100vh !important;
    background: #f3fbf6 !important;
    display: flex !important;
    font-family: 'Poppins', sans-serif !important;
}

/* SIDEBAR */
.admin-sidebar {
    width: 285px !important;
    height: 100vh !important;
    background: #2f6238 !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 999 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.admin-sidebar-inner {
    height: 100vh !important;
    padding: 34px 26px 26px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* BRAND */
.admin-brand {
    margin-bottom: 26px !important;
}

.admin-brand h2 {
    color: #ffffff !important;
    font-size: 27px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    margin: 0 0 8px !important;
}

.admin-brand p {
    color: #cfe8d3 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}

/* MENU */
.admin-nav {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    flex: 1 !important;
    overflow-y: auto !important;
    padding-right: 4px !important;
}

.admin-nav::-webkit-scrollbar {
    width: 4px !important;
}

.admin-nav::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.25) !important;
    border-radius: 999px !important;
}

.admin-nav a {
    width: 100% !important;
    min-height: 46px !important;
    display: flex !important;
    align-items: center !important;
    padding: 12px 18px !important;
    border-radius: 16px !important;
    color: #eaf7ed !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.admin-nav a:hover,
.admin-nav a.active {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
}

.admin-nav-divider {
    height: 1px !important;
    background: rgba(255, 255, 255, 0.24) !important;
    margin: 14px 0 !important;
}

/* FOOTER LOGOUT */
.admin-sidebar-footer {
    padding-top: 16px !important;
    margin-top: 16px !important;
    border-top: 1px solid rgba(255,255,255,0.18) !important;
}

.admin-sidebar-footer form {
    margin: 0 !important;
}

.admin-logout-btn {
    width: 100% !important;
    height: 50px !important;
    border: none !important;
    border-radius: 16px !important;
    background: #e46158 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    font-family: 'Poppins', sans-serif !important;
    cursor: pointer !important;
    box-shadow: 0 14px 30px rgba(228, 97, 88, 0.25) !important;
}

.admin-logout-btn:hover {
    background: #dc554d !important;
}

/* CONTENT ADMIN */
.admin-main {
    margin-left: 285px !important;
    width: calc(100% - 285px) !important;
    min-height: 100vh !important;
    padding: 42px !important;
    background: #f3fbf6 !important;
}

/* RESPONSIVE */
@media (max-width: 992px) {
    .admin-shell {
        display: block !important;
    }

    .admin-sidebar {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
    }

    .admin-sidebar-inner {
        height: auto !important;
        padding: 26px 22px !important;
    }

    .admin-nav {
        overflow: visible !important;
    }

    .admin-main {
        margin-left: 0 !important;
        width: 100% !important;
        padding: 26px 18px !important;
    }
}

/* ======================================================
   ADMIN FORM SECTION INFORMASI
====================================================== */

.admin-form-section-title {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 34px 0 22px;
    padding: 18px 20px;
    border-radius: 20px;
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
}

.admin-form-section-title:first-child {
    margin-top: 0;
}

.admin-form-section-title span {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.admin-form-section-title h3 {
    margin: 0;
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
}

.admin-form-section-title p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 14px;
}

.admin-form-subtitle {
    background: #f8fafc;
    border-left: 5px solid #22c55e;
    padding: 12px 16px;
    border-radius: 12px;
    margin-top: 12px;
    color: #14532d;
}

.sticky-save {
    position: sticky;
    bottom: 20px;
    background: #ffffff;
    padding: 18px 0 0;
    border-top: 1px solid #e5e7eb;
}

/* ======================================================
   ADMIN PROFIL - PREVIEW USER VERSION
====================================================== */

.admin-preview-box {
    background: #ffffff;
    border-radius: 28px;
    padding: 34px;
    margin-bottom: 32px;
    border-top: 5px solid #22c55e;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.08);
}

.admin-preview-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 28px;
}

.admin-preview-header span {
    display: inline-flex;
    background: #dcfce7;
    color: #166534;
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 12px;
}

.admin-preview-header h2 {
    margin: 0 0 8px;
    color: #14532d;
    font-size: 32px;
    font-weight: 800;
}

.admin-preview-header p {
    margin: 0;
    color: #64748b;
    font-size: 16px;
    line-height: 1.7;
}

.btn-preview-user {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    height: 48px;
    padding: 0 20px;
    border-radius: 14px;
    background: #facc15;
    color: #14532d;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(250, 204, 21, 0.22);
}

.admin-profile-preview {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 30px;
    align-items: center;
    background: #f0fdf4;
    border-radius: 26px;
    padding: 26px;
}

.admin-profile-preview-image {
    height: 260px;
    border-radius: 22px;
    overflow: hidden;
    background: #dcfce7;
}

.admin-profile-preview-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-profile-preview-text span {
    display: inline-flex;
    padding: 8px 16px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 14px;
}

.admin-profile-preview-text h3 {
    color: #14532d;
    font-size: 28px;
    line-height: 1.25;
    margin: 0 0 14px;
    font-weight: 800;
}

.admin-profile-preview-text p {
    color: #475569;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 10px;
}

/* form subtitle */
.admin-form-subtitle {
    background: #f8fafc;
    border-left: 5px solid #22c55e;
    padding: 12px 16px;
    border-radius: 12px;
    margin-top: 10px;
    color: #14532d;
}

@media (max-width: 992px) {
    .admin-preview-header {
        flex-direction: column;
    }

    .admin-profile-preview {
        grid-template-columns: 1fr;
    }

    .admin-profile-preview-image {
        height: 240px;
    }
}

/* ======================================================
   RAPIIKAN ADMIN PROFIL PREVIEW + FORM
====================================================== */

/* jarak halaman admin */
.admin-content-wrap {
    padding-bottom: 80px !important;
}

/* preview utama */
.admin-preview-box {
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 30px !important;
    border-radius: 28px !important;
}

/* header preview */
.admin-preview-header {
    align-items: center !important;
    margin-bottom: 24px !important;
}

.admin-preview-header h2 {
    font-size: 34px !important;
    line-height: 1.2 !important;
}

.admin-preview-header p {
    font-size: 16px !important;
}

/* isi preview dibuat lebih compact */
.admin-profile-preview {
    grid-template-columns: 380px 1fr !important;
    gap: 34px !important;
    padding: 30px !important;
    border-radius: 26px !important;
    align-items: center !important;
}

.admin-profile-preview-image {
    height: 240px !important;
    border-radius: 22px !important;
}

.admin-profile-preview-text h3 {
    font-size: 30px !important;
    line-height: 1.25 !important;
    margin-bottom: 14px !important;
}

.admin-profile-preview-text p {
    font-size: 15px !important;
    line-height: 1.8 !important;
    margin-bottom: 10px !important;
}

/* form card */
.admin-form-card {
    border-radius: 28px !important;
    padding: 34px !important;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.08) !important;
}

/* section form */
.admin-form-section-title {
    margin: 34px 0 24px !important;
    padding: 22px 24px !important;
    border-radius: 22px !important;
}

.admin-form-section-title:first-child {
    margin-top: 0 !important;
}

.admin-form-section-title span {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
    font-size: 18px !important;
}

.admin-form-section-title h3 {
    font-size: 24px !important;
    margin-bottom: 6px !important;
}

.admin-form-section-title p {
    font-size: 15px !important;
}

/* grid input */
.admin-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 26px !important;
}

.admin-form-group.full,
.admin-form-subtitle.full {
    grid-column: 1 / -1 !important;
}

/* label */
.admin-form-group label {
    display: block !important;
    margin-bottom: 10px !important;
    color: #14532d !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

/* input dan textarea */
.admin-form-group input,
.admin-form-group textarea,
.admin-form-group select {
    width: 100% !important;
    border: 1px solid #cbd5d1 !important;
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
    font-size: 15px !important;
    font-family: 'Poppins', sans-serif !important;
    color: #0f172a !important;
    outline: none !important;
    transition: 0.2s ease !important;
}

.admin-form-group input {
    min-height: 56px !important;
}

.admin-form-group textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

.admin-form-group input:focus,
.admin-form-group textarea:focus,
.admin-form-group select:focus {
    border-color: #22c55e !important;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12) !important;
}

/* subtitle karakteristik */
.admin-form-subtitle {
    background: #f0fdf4 !important;
    border-left: 5px solid #22c55e !important;
    padding: 14px 18px !important;
    border-radius: 14px !important;
    color: #14532d !important;
}

/* gambar saat ini */
.admin-preview-image {
    margin: 24px 0 !important;
    padding: 18px !important;
    border-radius: 20px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

.admin-preview-image p {
    margin: 0 0 12px !important;
    font-weight: 800 !important;
    color: #14532d !important;
}

.admin-preview-image img {
    width: 280px !important;
    height: 170px !important;
    object-fit: cover !important;
    border-radius: 16px !important;
}

/* tombol simpan */
.sticky-save {
    position: sticky !important;
    bottom: 16px !important;
    background: rgba(255,255,255,0.96) !important;
    backdrop-filter: blur(10px) !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid #e5e7eb !important;
    z-index: 20 !important;
}

.btn-admin-save {
    min-height: 54px !important;
    padding: 0 28px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #14532d, #22c55e) !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    font-family: 'Poppins', sans-serif !important;
    cursor: pointer !important;
    box-shadow: 0 14px 28px rgba(34, 197, 94, 0.22) !important;
}

/* responsive */
@media (max-width: 992px) {
    .admin-profile-preview {
        grid-template-columns: 1fr !important;
    }

    .admin-form-grid {
        grid-template-columns: 1fr !important;
    }

    .admin-preview-header {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* ======================================================
   ADMIN PROFIL - USER PREVIEW + EDIT PER SECTION
====================================================== */

.admin-user-preview-page {
    background: #f3fbf6;
    padding-bottom: 80px;
}

.admin-floating-title {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px 32px;
    margin-bottom: 28px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.admin-floating-title h1 {
    margin: 0 0 8px;
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
}

.admin-floating-title p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
}

.admin-view-user-btn {
    background: #facc15;
    color: #14532d;
    padding: 14px 22px;
    border-radius: 16px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.admin-editable-section {
    position: relative;
    border: 3px dashed transparent;
    border-radius: 28px;
    margin-bottom: 18px;
}

.admin-editable-section:hover {
    border-color: rgba(34, 197, 94, 0.35);
    background: rgba(34, 197, 94, 0.03);
}

.admin-section-edit-btn {
    position: absolute;
    top: 20px;
    right: 28px;
    z-index: 30;
    border: none;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 12px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(20, 83, 45, 0.22);
}

.admin-section-edit-btn:hover {
    transform: translateY(-1px);
}

.admin-preview-hero {
    border-radius: 26px;
    overflow: hidden;
}

/* MODAL */
.admin-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.admin-modal.show {
    display: flex;
}

body.modal-open {
    overflow: hidden;
}

.admin-modal-box {
    width: 100%;
    max-width: 620px;
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 26px;
    padding: 34px;
    position: relative;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.22);
}

.admin-modal-box.modal-large {
    max-width: 900px;
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 24px;
}

.admin-modal-close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    background: #fee2e2;
    color: #991b1b;
    font-size: 24px;
    font-weight: 800;
    cursor: pointer;
}

/* FORM DI MODAL */
.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
}

.admin-form-group.full,
.admin-form-subtitle.full {
    grid-column: 1 / -1;
}

.admin-form-group {
    margin-bottom: 18px;
}

.admin-form-group label {
    display: block;
    margin-bottom: 9px;
    color: #14532d;
    font-size: 14px;
    font-weight: 800;
}

.admin-form-group input,
.admin-form-group textarea,
.admin-form-group select {
    width: 100%;
    border: 1px solid #cbd5d1;
    border-radius: 15px;
    padding: 15px 17px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    outline: none;
}

.admin-form-group input:focus,
.admin-form-group textarea:focus,
.admin-form-group select:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.admin-form-subtitle {
    background: #f0fdf4;
    border-left: 5px solid #22c55e;
    padding: 12px 16px;
    border-radius: 14px;
    color: #14532d;
}

.btn-admin-save {
    border: none;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 14px 24px;
    border-radius: 15px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    margin-top: 8px;
}

@media (max-width: 768px) {
    .admin-floating-title {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-section-edit-btn {
        top: 14px;
        right: 14px;
        font-size: 12px;
        padding: 10px 14px;
    }

    .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-modal-box {
        padding: 26px 20px;
    }
}

/* ======================================================
   ADMIN USER PREVIEW + EDIT PER SECTION
====================================================== */

.admin-user-preview-page {
    background: #f3fbf6;
    padding-bottom: 80px;
}

.admin-floating-title {
    background: #ffffff;
    border-radius: 24px;
    padding: 28px 32px;
    margin-bottom: 28px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.07);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.admin-floating-title h1 {
    margin: 0 0 8px;
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
}

.admin-floating-title p {
    margin: 0;
    color: #64748b;
    font-size: 15px;
}

.admin-view-user-btn {
    background: #facc15;
    color: #14532d;
    padding: 14px 22px;
    border-radius: 16px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.admin-editable-section {
    position: relative;
    border: 3px dashed transparent;
    border-radius: 28px;
    margin-bottom: 18px;
}

.admin-editable-section:hover {
    border-color: rgba(34, 197, 94, 0.35);
    background: rgba(34, 197, 94, 0.03);
}

.admin-section-edit-btn {
    position: absolute;
    top: 20px;
    right: 28px;
    z-index: 30;
    border: none;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 12px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(20, 83, 45, 0.22);
}

.admin-preview-hero {
    border-radius: 26px;
    overflow: hidden;
}

.admin-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.admin-modal.show {
    display: flex;
}

body.modal-open {
    overflow: hidden;
}

.admin-modal-box {
    width: 100%;
    max-width: 620px;
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 26px;
    padding: 34px;
    position: relative;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.22);
}

.admin-modal-box.modal-large {
    max-width: 900px;
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 24px;
}

.admin-modal-close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: none;
    background: #fee2e2;
    color: #991b1b;
    font-size: 24px;
    font-weight: 800;
    cursor: pointer;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 24px;
}

.admin-form-group.full,
.admin-form-subtitle.full {
    grid-column: 1 / -1;
}

.admin-form-group {
    margin-bottom: 18px;
}

.admin-form-group label {
    display: block;
    margin-bottom: 9px;
    color: #14532d;
    font-size: 14px;
    font-weight: 800;
}

.admin-form-group input,
.admin-form-group textarea,
.admin-form-group select {
    width: 100%;
    border: 1px solid #cbd5d1;
    border-radius: 15px;
    padding: 15px 17px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    outline: none;
}

.admin-form-group input:focus,
.admin-form-group textarea:focus,
.admin-form-group select:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.admin-form-subtitle {
    background: #f0fdf4;
    border-left: 5px solid #22c55e;
    padding: 12px 16px;
    border-radius: 14px;
    color: #14532d;
}

.btn-admin-save {
    border: none;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 14px 24px;
    border-radius: 15px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    margin-top: 8px;
}

@media (max-width: 768px) {
    .admin-floating-title {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-section-edit-btn {
        top: 14px;
        right: 14px;
        font-size: 12px;
        padding: 10px 14px;
    }

    .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-modal-box {
        padding: 26px 20px;
    }
}

/* ======================================================
   ADMIN KELOLA ULASAN
====================================================== */

.admin-ulasan-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.admin-ulasan-card {
    background: #ffffff;
    border-radius: 24px;
    padding: 24px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 14px 34px rgba(20, 83, 45, 0.07);
}

.admin-ulasan-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.admin-ulasan-avatar {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 22px;
}

.admin-ulasan-top h3 {
    margin: 0;
    color: #14532d;
    font-size: 18px;
    font-weight: 800;
}

.admin-ulasan-top p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 13px;
}

.admin-ulasan-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.admin-ulasan-meta span {
    background: #f0fdf4;
    color: #166534;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
}

.status-pending {
    color: #b45309;
    background: #fef3c7;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
}

.status-approved {
    color: #166534;
    background: #dcfce7;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
}

.status-hidden {
    color: #991b1b;
    background: #fee2e2;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
}

.admin-ulasan-stars {
    color: #f59e0b;
    font-size: 20px;
    letter-spacing: 2px;
    margin-bottom: 12px;
}

.admin-ulasan-text {
    color: #475569;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 14px;
}

.admin-ulasan-date {
    color: #94a3b8;
    font-size: 12px;
    margin-bottom: 18px;
}

.admin-ulasan-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-ulasan-actions form {
    margin: 0;
}

.btn-ulasan {
    border: none;
    border-radius: 12px;
    padding: 10px 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.btn-ulasan.approve {
    background: #dcfce7;
    color: #166534;
}

.btn-ulasan.hide {
    background: #fef3c7;
    color: #92400e;
}

.btn-ulasan.delete {
    background: #fee2e2;
    color: #991b1b;
}

.admin-empty-box {
    grid-column: 1 / -1;
    background: #ffffff;
    border-radius: 24px;
    padding: 34px;
    text-align: center;
    border: 1px dashed #cbd5e1;
}

.admin-empty-box h3 {
    color: #14532d;
    font-size: 24px;
    margin-bottom: 8px;
}

.admin-empty-box p {
    color: #64748b;
}

@media (max-width: 900px) {
    .admin-ulasan-grid {
        grid-template-columns: 1fr;
    }
}

/* ======================================================
   ADMIN KULINER
====================================================== */

.admin-kuliner-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.admin-warung-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.admin-warung-card {
    background: #ffffff;
    border-radius: 24px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 16px 36px rgba(20, 83, 45, 0.08);
}

.admin-warung-img {
    position: relative;
    height: 230px;
    overflow: hidden;
}

.admin-warung-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-warung-img span {
    position: absolute;
    top: 16px;
    left: 16px;
}

.admin-warung-body {
    padding: 22px;
}

.admin-warung-body h3 {
    margin: 0 0 10px;
    color: #14532d;
    font-size: 22px;
    font-weight: 800;
}

.admin-warung-body p {
    color: #64748b;
    font-size: 14px;
    line-height: 1.7;
}

.admin-warung-address {
    background: #f0fdf4;
    padding: 14px;
    border-radius: 16px;
    margin: 16px 0;
}

.admin-warung-address strong {
    display: block;
    color: #14532d;
    font-size: 13px;
    margin-bottom: 6px;
}

.admin-warung-address span {
    color: #475569;
    font-size: 13px;
    line-height: 1.6;
}

.admin-warung-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-warung-actions form {
    margin: 0;
}

.empty-kuliner-box {
    grid-column: 1 / -1;
    background: #ffffff;
    border-radius: 24px;
    padding: 36px;
    text-align: center;
    border: 1px dashed #cbd5e1;
}

.empty-kuliner-box h3 {
    color: #14532d;
    font-size: 24px;
    margin-bottom: 8px;
}

.empty-kuliner-box p {
    color: #64748b;
}

@media (max-width: 900px) {
    .admin-warung-grid {
        grid-template-columns: 1fr;
    }
}

/* ======================================================
   ADMIN KULINER PREVIEW SAMA SEPERTI USER
====================================================== */

.admin-kuliner-action-group {
    position: absolute;
    top: 20px;
    right: 28px;
    z-index: 40;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.admin-kuliner-action-group .admin-section-edit-btn {
    position: static !important;
}

.admin-section-edit-left {
    background: linear-gradient(135deg, #facc15, #f59e0b) !important;
    color: #14532d !important;
}

.admin-warung-preview-wrap {
    position: relative;
}

.admin-warung-preview-wrap .warung-card {
    height: 100%;
}

.admin-warung-card-same {
    display: block;
    text-decoration: none;
    color: inherit;
    pointer-events: none;
}

.admin-card-edit-btn,
.admin-card-menu-btn {
    position: absolute;
    z-index: 20;
    border: none;
    border-radius: 999px;
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(20, 83, 45, 0.18);
}

.admin-card-edit-btn {
    top: 16px;
    right: 16px;
    background: #22c55e;
    color: #ffffff;
}

.admin-card-menu-btn {
    top: 58px;
    right: 16px;
    background: #facc15;
    color: #14532d;
}

.btn-admin-delete {
    border: none;
    background: #ef4444;
    color: #ffffff;
    padding: 14px 24px;
    border-radius: 15px;
    font-weight: 800;
    font-family: 'Poppins', sans-serif;
    cursor: pointer;
}

.admin-menu-list {
    margin-top: 28px;
    display: grid;
    gap: 14px;
}

.admin-menu-item {
    background: #f8fafc;
    border-radius: 18px;
    padding: 16px;
    border: 1px solid #e5e7eb;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}

.admin-menu-item h4 {
    margin: 0 0 6px;
    color: #14532d;
    font-size: 17px;
    font-weight: 800;
}

.admin-menu-item p {
    margin: 0 0 8px;
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
}

.admin-menu-item strong {
    color: #166534;
    font-size: 14px;
}

.admin-empty-small {
    background: #f8fafc;
    border-radius: 16px;
    padding: 18px;
    color: #64748b;
    text-align: center;
    border: 1px dashed #cbd5e1;
}

@media (max-width: 768px) {
    .admin-kuliner-action-group {
        position: static;
        margin-bottom: 18px;
        padding: 0 18px;
    }

    .admin-card-edit-btn,
    .admin-card-menu-btn {
        right: 12px;
    }

    .admin-menu-item {
        flex-direction: column;
    }
}

.detail-warung-address {
    background: #f0fdf4;
    border-left: 5px solid #22c55e;
    padding: 14px 16px;
    border-radius: 14px;
    margin: 18px 0;
}

.detail-warung-address strong {
    display: block;
    color: #14532d;
    font-size: 14px;
    margin-bottom: 6px;
}

.detail-warung-address span {
    display: block;
    color: #475569;
    font-size: 14px;
    line-height: 1.7;
}

.detail-warung-address {
    background: #f0fdf4;
    border-left: 5px solid #22c55e;
    padding: 14px 16px;
    border-radius: 14px;
    margin: 18px 0;
}

.detail-warung-address strong {
    display: block;
    color: #14532d;
    font-size: 14px;
    margin-bottom: 6px;
}

.detail-warung-address span {
    display: block;
    color: #475569;
    font-size: 14px;
    line-height: 1.7;
}

/* ======================================================
   DETAIL WARUNG KULINER - RAPI & ELEGAN
====================================================== */

.detail-warung {
    display: grid;
    grid-template-columns: 1fr 0.95fr;
    gap: 34px;
    align-items: center;
    background: #ffffff;
    padding: 34px;
    border-radius: 34px;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
}

.detail-warung::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -70px;
    top: -80px;
    background: rgba(34, 197, 94, 0.09);
    border-radius: 50%;
}

.detail-warung-image {
    height: 360px;
    border-radius: 28px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

.detail-warung-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* efek gradasi halus di gambar */
.detail-warung-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(20, 83, 45, 0.28),
        rgba(20, 83, 45, 0.04)
    );
}

.detail-warung-text {
    position: relative;
    z-index: 2;
    padding: 8px 10px;
}

.detail-warung-text::before {
    content: "Kuliner Pantai";
    display: inline-flex;
    background: #dcfce7;
    color: #14532d;
    padding: 9px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 18px;
}

.detail-warung-text h2 {
    color: #14532d;
    font-size: 40px;
    line-height: 1.18;
    font-weight: 800;
    margin: 0 0 16px;
}

.detail-warung-text p {
    color: #475569;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 22px;
    max-width: 650px;
}

.detail-warung-address {
    background: linear-gradient(135deg, #f0fdf4, #ffffff);
    border-left: 6px solid #22c55e;
    padding: 18px 20px;
    border-radius: 18px;
    margin: 22px 0;
    box-shadow: 0 12px 26px rgba(20, 83, 45, 0.06);
}

.detail-warung-address strong {
    display: block;
    color: #14532d;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 8px;
}

.detail-warung-address span {
    display: block;
    color: #475569;
    font-size: 15px;
    line-height: 1.7;
}

.detail-warung-text .btn {
    margin-top: 6px;
    border-radius: 16px;
    padding: 15px 28px;
    font-weight: 800;
    box-shadow: 0 14px 30px rgba(250, 204, 21, 0.25);
}

/* bagian daftar menu biar lebih dekat dan rapi */
.section-soft .menu-grid {
    margin-top: 34px;
}

@media (max-width: 992px) {
    .detail-warung {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .detail-warung-image {
        height: 280px;
    }

    .detail-warung-text h2 {
        font-size: 32px;
    }
}

.admin-page-header {
    margin: 34px 24px 30px;
    padding: 34px 32px;
    border-radius: 24px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    box-shadow: 0 16px 40px rgba(20, 77, 53, 0.08);
}

.admin-page-header h1 {
    font-size: 34px;
    color: #144d35;
    margin-bottom: 10px;
    font-weight: 800;
}

.admin-page-header p {
    color: #5f6680;
    font-size: 15px;
    margin: 0;
}

.admin-yellow-btn {
    background: #f7cf3f;
    color: #144d35;
    padding: 16px 24px;
    border-radius: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.admin-yellow-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(247, 207, 63, 0.35);
}

.admin-alert-success,
.admin-alert-error {
    margin: 0 24px 24px;
    padding: 16px 22px;
    border-radius: 16px;
    font-weight: 700;
}

.admin-alert-success {
    background: #dff8e8;
    color: #14633b;
}

.admin-alert-error {
    background: #ffe5e5;
    color: #b42323;
}

.admin-alert-error ul {
    margin: 8px 0 0 18px;
}

.admin-preview-area {
    padding: 0 24px 40px;
}

.admin-preview-hero {
    position: relative;
    background-size: cover;
    background-position: center;
    border-radius: 26px;
    overflow: hidden;
}

.admin-edit-btn,
.admin-add-btn {
    border: none;
    background: #2f8f4e;
    color: white;
    padding: 13px 20px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(47, 143, 78, 0.25);
    z-index: 10;
    transition: 0.25s ease;
}

.admin-edit-btn:hover,
.admin-add-btn:hover {
    transform: translateY(-2px);
}

.admin-hero-edit {
    position: absolute;
    top: 24px;
    right: 28px;
}

.admin-section-control {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 18px;
}

.admin-add-control {
    margin-top: -10px;
    margin-bottom: 28px;
}

.admin-add-btn {
    background: #f7cf3f;
    color: #144d35;
}

.galeri-card {
    position: relative;
}

.admin-card-actions {
    position: absolute;
    top: 14px;
    right: 14px;
    display: flex;
    gap: 8px;
    z-index: 20;
}

.admin-card-actions button {
    border: none;
    padding: 9px 13px;
    border-radius: 999px;
    background: #2f8f4e;
    color: white;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0,0,0,0.16);
}

.admin-card-actions .delete {
    background: #d93d3d;
}

.admin-card-actions form {
    margin: 0;
}

.admin-empty-gallery {
    grid-column: 1 / -1;
    padding: 44px;
    background: white;
    border-radius: 22px;
    text-align: center;
    color: #5f6680;
    font-weight: 700;
    box-shadow: 0 14px 36px rgba(20, 77, 53, 0.08);
}

.admin-empty-gallery h3 {
    color: #144d35;
    font-size: 24px;
    margin-bottom: 8px;
}

.admin-empty-gallery p {
    margin: 0;
}

.admin-modal {
    position: fixed;
    inset: 0;
    background: rgba(10, 31, 21, 0.58);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 24px;
}

.admin-modal.active {
    display: flex;
}

.admin-modal-box {
    width: 100%;
    max-width: 560px;
    max-height: 92vh;
    overflow-y: auto;
    background: white;
    border-radius: 24px;
    padding: 28px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25);
}

.admin-modal-box h2 {
    color: #144d35;
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 800;
}

.admin-modal-close {
    position: absolute;
    top: 18px;
    right: 20px;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 50%;
    background: #f1f1f1;
    font-size: 24px;
    cursor: pointer;
    color: #144d35;
}

.admin-modal-box label {
    display: block;
    margin: 14px 0 8px;
    font-weight: 700;
    color: #144d35;
}

.admin-modal-box input,
.admin-modal-box textarea,
.admin-modal-box select {
    width: 100%;
    border: 1px solid #dce7df;
    padding: 13px 15px;
    border-radius: 14px;
    outline: none;
    font-family: inherit;
    color: #263238;
}

.admin-modal-box input:focus,
.admin-modal-box textarea:focus,
.admin-modal-box select:focus {
    border-color: #2f8f4e;
    box-shadow: 0 0 0 4px rgba(47, 143, 78, 0.12);
}

.admin-modal-box textarea {
    min-height: 110px;
    resize: vertical;
}

.admin-submit-btn {
    width: 100%;
    margin-top: 22px;
    border: none;
    background: #144d35;
    color: white;
    padding: 15px;
    border-radius: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: 0.25s ease;
}

.admin-submit-btn:hover {
    background: #0f3f2b;
    transform: translateY(-2px);
}

.admin-current-image {
    width: 100%;
    height: 190px;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 18px;
    background: #eef7f1;
}

.admin-current-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 768px) {
    .admin-page-header {
        flex-direction: column;
        align-items: flex-start;
        margin: 20px 14px;
        padding: 24px;
    }

    .admin-page-header h1 {
        font-size: 28px;
    }

    .admin-yellow-btn {
        width: 100%;
        text-align: center;
    }

    .admin-preview-area {
        padding: 0 14px 30px;
    }

    .admin-hero-edit {
        top: 16px;
        right: 16px;
    }

    .admin-card-actions {
        flex-direction: column;
        top: 12px;
        right: 12px;
    }

    .admin-modal-box {
        padding: 24px 20px;
    }
}

/* ADMIN GALERI PREVIEW */
.admin-user-preview-page {
    width: 100%;
}

.admin-floating-title {
    background: #ffffff;
    padding: 24px 28px;
    border-radius: 22px;
    margin-bottom: 28px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-left: 6px solid #22c55e;
}

.admin-floating-title h1 {
    color: #14532d;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 6px;
}

.admin-floating-title p {
    color: #4b5563;
    font-size: 15px;
}

.admin-view-user-btn {
    border: none;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 13px 22px;
    border-radius: 14px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(34, 197, 94, 0.22);
}

.admin-view-user-btn:hover {
    transform: translateY(-2px);
}

.admin-alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 14px 18px;
    border-radius: 14px;
    margin-bottom: 22px;
    font-weight: 600;
    border: 1px solid #86efac;
}

/* GALERI MASONRY USER */
.galeri-masonry {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 230px;
    gap: 20px;
}

.galeri-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.12);
    background: #ffffff;
}

.galeri-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.45s ease;
}

.galeri-card:hover img {
    transform: scale(1.08);
}

.galeri-large {
    grid-row: span 2;
}

.galeri-wide {
    grid-column: span 2;
}

.galeri-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 24px;
    color: #ffffff;
    background: linear-gradient(to top, rgba(0,0,0,0.75), transparent);
}

.galeri-overlay h3 {
    font-size: 22px;
    margin-bottom: 6px;
    font-weight: 800;
}

.galeri-overlay p {
    font-size: 14px;
}

/* ADMIN BUTTON DI ATAS GAMBAR */
.admin-galeri-actions {
    position: absolute;
    top: 14px;
    right: 14px;
    display: flex;
    gap: 8px;
    z-index: 5;
}

.admin-galeri-actions button {
    border: none;
    padding: 8px 13px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: #14532d;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.admin-galeri-actions .hapus-btn {
    background: #dc2626;
    color: #ffffff;
}

.admin-galeri-actions button:hover {
    transform: translateY(-2px);
}

/* MODAL ADMIN */
.admin-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.admin-modal-box {
    width: min(95%, 620px);
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 24px;
    padding: 30px;
    position: relative;
    box-shadow: 0 25px 70px rgba(0,0,0,0.25);
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 22px;
}

.admin-close {
    position: absolute;
    top: 18px;
    right: 24px;
    font-size: 32px;
    font-weight: 800;
    color: #dc2626;
    cursor: pointer;
}

.admin-modal-box label {
    display: block;
    margin-bottom: 7px;
    margin-top: 15px;
    font-weight: 700;
    color: #14532d;
}

.admin-modal-box input,
.admin-modal-box textarea,
.admin-modal-box select {
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    outline: none;
    font-size: 14px;
}

.admin-modal-box input:focus,
.admin-modal-box textarea:focus,
.admin-modal-box select:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.admin-preview-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 16px;
    margin-bottom: 10px;
    border: 3px solid #dcfce7;
}

.admin-modal-box .btn {
    margin-top: 22px;
    width: 100%;
    border: none;
    cursor: pointer;
}

/* RESPONSIVE GALERI ADMIN */
@media (max-width: 992px) {
    .galeri-masonry {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 220px;
    }

    .admin-floating-title {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 576px) {
    .galeri-masonry {
        grid-template-columns: 1fr;
        grid-auto-rows: 230px;
    }

    .galeri-wide,
    .galeri-large {
        grid-column: span 1;
        grid-row: span 1;
    }

    .admin-galeri-actions {
        flex-direction: column;
    }

    .admin-floating-title h1 {
        font-size: 25px;
    }
}

.admin-user-preview-page .galeri-masonry {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: 140px;
    gap: 14px;
}

.admin-user-preview-page .galeri-card {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
}

.admin-user-preview-page .galeri-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-user-preview-page .galeri-large {
    grid-column: span 2;
    grid-row: span 2;
}

.admin-user-preview-page .galeri-wide {
    grid-column: span 2;
}

.admin-user-preview-page .admin-galeri-actions {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 10;
    display: flex;
    gap: 8px;
}

.admin-user-preview-page .admin-galeri-actions button {
    border: none;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.admin-user-preview-page .admin-galeri-actions .hapus-btn {
    background: #dc2626;
    color: white;
}

.admin-editable-section {
    position: relative;
}

.admin-section-edit-btn {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 20;
    border: none;
    background: #facc15;
    color: #14532d;
    padding: 10px 16px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);
}

.admin-fasilitas-card {
    position: relative;
    padding-bottom: 80px !important;
}

.admin-fasilitas-actions {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-fasilitas-actions button {
    border: none;
    padding: 8px 13px;
    border-radius: 999px;
    background: #ffffff;
    color: #14532d;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(0,0,0,0.12);
}

.admin-fasilitas-actions .hapus-btn {
    background: #dc2626;
    color: #ffffff;
}

.admin-fasilitas-actions button:hover,
.admin-section-edit-btn:hover {
    transform: translateY(-2px);
}

.admin-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.admin-modal-box {
    width: min(95%, 650px);
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 24px;
    padding: 30px;
    position: relative;
    box-shadow: 0 25px 70px rgba(0,0,0,0.25);
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 22px;
}

.admin-close {
    position: absolute;
    top: 18px;
    right: 24px;
    font-size: 32px;
    font-weight: 800;
    color: #dc2626;
    cursor: pointer;
}

.admin-modal-box label {
    display: block;
    margin-bottom: 7px;
    margin-top: 15px;
    font-weight: 700;
    color: #14532d;
}

.admin-modal-box input,
.admin-modal-box textarea,
.admin-modal-box select {
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    outline: none;
    font-size: 14px;
}

.admin-modal-box input:focus,
.admin-modal-box textarea:focus,
.admin-modal-box select:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.admin-modal-box .btn {
    margin-top: 22px;
    width: 100%;
    border: none;
    cursor: pointer;
}

/* DAYA TARIK TAMBAHAN */
.daya-experience-section {
    background: #ffffff;
}

.daya-experience-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.daya-experience-card {
    background: #ffffff;
    padding: 28px 24px;
    border-radius: 24px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.12);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.daya-experience-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, #14532d, #22c55e);
}

.daya-experience-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 22px 48px rgba(20, 83, 45, 0.15);
}

.daya-experience-icon {
    width: 66px;
    height: 66px;
    border-radius: 20px;
    background: linear-gradient(135deg, #dcfce7, #ffffff);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin-bottom: 18px;
}

.daya-experience-card h3 {
    color: #14532d;
    font-size: 21px;
    margin-bottom: 10px;
    font-weight: 800;
}

.daya-experience-card p {
    color: #4b5563;
    font-size: 14px;
}

.daya-nature-layout {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 34px;
    align-items: center;
}

.daya-nature-content {
    background: #ffffff;
    border-radius: 30px;
    padding: 38px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.10);
}

.daya-nature-content h2 {
    font-size: 36px;
    color: #14532d;
    font-weight: 800;
    margin: 14px 0;
    line-height: 1.25;
}

.daya-nature-content p {
    color: #4b5563;
    text-align: justify;
    margin-bottom: 22px;
}

.daya-nature-list {
    display: grid;
    gap: 14px;
}

.daya-nature-list div {
    background: #f0fdf4;
    padding: 16px 18px;
    border-radius: 18px;
    border-left: 5px solid #22c55e;
}

.daya-nature-list strong {
    display: block;
    color: #14532d;
    font-size: 16px;
    margin-bottom: 4px;
}

.daya-nature-list span {
    color: #4b5563;
    font-size: 14px;
}

.daya-nature-visual {
    min-height: 430px;
    border-radius: 32px;
    background:
        linear-gradient(rgba(20, 83, 45, 0.25), rgba(20, 83, 45, 0.45)),
        url('/images/hero-pantai.jpg');
    background-size: cover;
    background-position: center;
    padding: 28px;
    display: flex;
    align-items: flex-end;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.18);
}

.nature-glass-card {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 26px;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.12);
}

.nature-glass-card span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 12px;
}

.nature-glass-card h3 {
    color: #14532d;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 10px;
}

.nature-glass-card p {
    color: #4b5563;
    font-size: 14px;
}

.daya-reason-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.daya-reason-card {
    background: linear-gradient(180deg, #ffffff, #f0fdf4);
    border-radius: 26px;
    padding: 30px 26px;
    box-shadow: 0 16px 40px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.12);
    transition: all 0.3s ease;
}

.daya-reason-card:hover {
    transform: translateY(-7px);
}

.daya-reason-card span {
    display: inline-flex;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #14532d;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    margin-bottom: 18px;
}

.daya-reason-card h3 {
    color: #14532d;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 10px;
}

.daya-reason-card p {
    color: #4b5563;
    font-size: 14px;
}

@media (max-width: 992px) {
    .daya-experience-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .daya-nature-layout,
    .daya-reason-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .daya-experience-grid {
        grid-template-columns: 1fr;
    }

    .daya-nature-content {
        padding: 26px 22px;
    }

    .daya-nature-content h2 {
        font-size: 27px;
    }

    .daya-nature-visual {
        min-height: 340px;
    }
}

/* baground di beranda user */
.hero-home .container {
    padding-left: 60px;
}

.admin-beranda-card {
    position: relative;
    padding-bottom: 82px !important;
}

.admin-beranda-actions {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 20px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-beranda-actions button {
    border: none;
    padding: 8px 13px;
    border-radius: 999px;
    background: #ffffff;
    color: #14532d;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 7px 16px rgba(0,0,0,0.12);
}

.admin-beranda-actions .hapus-btn {
    background: #dc2626;
    color: #ffffff;
}

/* ADMIN PROFIL */
.admin-user-preview-page {
    width: 100%;
}

.admin-floating-title {
    background: #ffffff;
    padding: 24px 28px;
    border-radius: 22px;
    margin-bottom: 28px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-left: 6px solid #22c55e;
}

.admin-floating-title h1 {
    color: #14532d;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 6px;
}

.admin-floating-title p {
    color: #4b5563;
    font-size: 15px;
}

.admin-view-user-btn,
.admin-section-edit-btn {
    border: none;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(34, 197, 94, 0.22);
    text-decoration: none;
}

.admin-section-edit-btn {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 20;
    background: #facc15;
    color: #14532d;
}

.admin-view-user-btn:hover,
.admin-section-edit-btn:hover {
    transform: translateY(-2px);
}

.admin-alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 14px 18px;
    border-radius: 14px;
    margin-bottom: 22px;
    font-weight: 600;
    border: 1px solid #86efac;
}

.admin-editable-section {
    position: relative;
}

/* MODAL ADMIN */
.admin-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(15, 23, 42, 0.65);
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.admin-modal-box {
    width: min(95%, 760px);
    max-height: 90vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 24px;
    padding: 30px;
    position: relative;
    box-shadow: 0 25px 70px rgba(0,0,0,0.25);
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 28px;
    font-weight: 800;
    margin-bottom: 22px;
}

.admin-close {
    position: absolute;
    top: 18px;
    right: 24px;
    font-size: 32px;
    font-weight: 800;
    color: #dc2626;
    cursor: pointer;
}

.admin-modal-box label {
    display: block;
    margin-bottom: 7px;
    margin-top: 15px;
    font-weight: 700;
    color: #14532d;
}

.admin-modal-box input,
.admin-modal-box textarea,
.admin-modal-box select {
    width: 100%;
    padding: 13px 14px;
    border-radius: 12px;
    border: 1px solid #d1d5db;
    outline: none;
    font-size: 14px;
}

.admin-modal-box input:focus,
.admin-modal-box textarea:focus,
.admin-modal-box select:focus {
    border-color: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.admin-modal-box .btn {
    margin-top: 22px;
    width: 100%;
    border: none;
    cursor: pointer;
}

@media (max-width: 768px) {
    .admin-floating-title {
        flex-direction: column;
        align-items: flex-start;
    }

    .admin-floating-title h1 {
        font-size: 25px;
    }

    .admin-section-edit-btn {
        position: static;
        display: inline-block;
        margin: 14px 0;
    }
}

.admin-card-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.admin-card-preview-btn,
.admin-card-delete-btn {
    border: none;
    padding: 10px 16px;
    border-radius: 12px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-card-preview-btn {
    background: #2563eb;
    color: #ffffff;
}

.admin-card-delete-btn {
    background: #dc2626;
    color: #ffffff;
}

.admin-warung-preview-wrap {
    position: relative;
}

.admin-card-actions {
    position: static;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    align-items: center;
}

.admin-card-actions form {
    margin: 0;
}

.admin-card-edit-btn,
.admin-card-menu-btn,
.admin-card-preview-btn,
.admin-card-delete-btn {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    border: none;
    padding: 10px 16px;
    border-radius: 14px;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.admin-card-edit-btn,
.admin-card-menu-btn {
    background: #2f7d46;
    color: #fff;
}

.admin-card-preview-btn {
    background: #2563eb;
    color: #fff;
}

.admin-card-delete-btn {
    background: #dc2626;
    color: #fff;
}

.admin-warung-card-same {
    width: 100%;
}

.admin-warung-preview-wrap {
    position: relative;
}

.admin-card-actions {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 20;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 230px;
}

.admin-card-actions form {
    margin: 0;
}

.admin-card-edit-btn,
.admin-card-menu-btn,
.admin-card-preview-btn,
.admin-card-delete-btn {
    border: none;
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    color: #fff;
    box-shadow: 0 8px 18px rgba(0,0,0,0.18);
}

.admin-card-edit-btn,
.admin-card-menu-btn {
    background: #2f7d46;
}

.admin-card-preview-btn {
    background: #2563eb;
}

.admin-card-delete-btn {
    background: #dc2626;
}

.admin-warung-card-same {
    height: 100%;
}

.warung-card-body h3 {
    min-height: 58px;
}

.warung-card-body p {
    min-height: 82px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.detail-warung-text {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #26364a !important;
    z-index: 2;
}

.detail-warung-text h2 {
    color: #174c2f !important;
}

.detail-warung-text p,
.detail-warung-text span {
    color: #26364a !important;
}

.admin-card-action-row {
    display: flex;
    gap: 12px;
    margin-top: 22px;
    align-items: center;
}

.admin-btn-edit-small,
.admin-btn-delete-small {
    border: none;
    border-radius: 999px;
    padding: 12px 20px;
    font-weight: 800;
    cursor: pointer;
    font-size: 14px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.admin-btn-edit-small {
    background: #ffffff;
    color: #14532d;
}

.admin-btn-delete-small {
    background: #d9342b;
    color: #ffffff;
}

.admin-mini-edit-btn {
    margin-top: 18px;
    border: none;
    background: #ffffff;
    color: #14532d;
    border-radius: 999px;
    padding: 11px 18px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(0,0,0,0.08);
}

/* ================================
   BERANDA PREMIUM VISUAL UPGRADE
================================ */

.home-quick-section {
    margin-top: -85px;
    position: relative;
    z-index: 10;
    padding-bottom: 40px;
}

.home-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.home-quick-card {
    position: relative;
    height: 310px;
    border-radius: 34px;
    overflow: hidden;
    text-decoration: none;
    background: #ddd;
    box-shadow: 0 25px 70px rgba(18, 62, 37, 0.20);
}

.home-quick-card img,
.home-activity-card img,
.home-gallery-big img,
.home-gallery-small img,
.home-preview-panel img,
.home-ticket-images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-quick-card::after,
.home-activity-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,.78),
        rgba(0,0,0,.20),
        rgba(0,0,0,.05)
    );
}

.home-quick-card div {
    position: absolute;
    left: 26px;
    right: 26px;
    bottom: 26px;
    z-index: 2;
}

.home-quick-card span,
.home-gallery-text span,
.home-preview-panel span,
.home-ticket-text span {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.92);
    color: #14532d;
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 13px;
}

.home-quick-card h3 {
    color: #fff;
    font-size: 23px;
    line-height: 1.3;
    max-width: 360px;
}

.home-activity-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 26px;
}

.home-activity-card {
    position: relative;
    min-height: 315px;
    border-radius: 36px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(18, 62, 37, 0.13);
}

.home-activity-card.large {
    grid-row: span 2;
    min-height: 656px;
}

.home-activity-overlay {
    position: absolute;
    z-index: 3;
    left: 32px;
    right: 32px;
    bottom: 32px;
}

.home-activity-overlay span {
    display: inline-block;
    color: #ffe066;
    font-weight: 800;
    margin-bottom: 10px;
}

.home-activity-overlay h3 {
    color: #fff;
    font-size: 30px;
    line-height: 1.25;
    max-width: 520px;
}

.home-gallery-preview {
    display: grid;
    grid-template-columns: 1.2fr .8fr .9fr;
    gap: 24px;
    align-items: stretch;
}

.home-gallery-big {
    height: 460px;
    border-radius: 36px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(18, 62, 37, 0.13);
}

.home-gallery-small {
    display: grid;
    gap: 24px;
}

.home-gallery-small img {
    height: 218px;
    border-radius: 30px;
    box-shadow: 0 18px 45px rgba(18, 62, 37, 0.10);
}

.home-gallery-text {
    background: #ffffff;
    border-radius: 36px;
    padding: 42px;
    box-shadow: 0 20px 55px rgba(18, 62, 37, 0.10);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-gallery-text h3 {
    color: #14532d;
    font-size: 32px;
    line-height: 1.25;
    margin-bottom: 24px;
}

.home-two-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.home-preview-panel {
    background: #ffffff;
    border-radius: 38px;
    overflow: hidden;
    box-shadow: 0 22px 60px rgba(18, 62, 37, 0.10);
}

.home-preview-panel img {
    height: 310px;
}

.home-preview-panel div {
    padding: 36px;
}

.home-preview-panel h2 {
    color: #14532d;
    font-size: 31px;
    line-height: 1.25;
    margin-bottom: 14px;
}

.home-preview-panel p {
    color: #435263;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 24px;
}

.home-ticket-banner {
    background: linear-gradient(135deg, #0f3d27, #1f7a43);
    border-radius: 42px;
    padding: 38px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 38px;
    align-items: center;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(18, 62, 37, 0.22);
}

.home-ticket-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.home-ticket-images img {
    height: 360px;
    border-radius: 30px;
    box-shadow: 0 18px 45px rgba(0,0,0,.20);
}

.home-ticket-images img:nth-child(2) {
    margin-top: 45px;
}

.home-ticket-text {
    color: #fff;
    padding-right: 20px;
}

.home-ticket-text span {
    background: rgba(255,255,255,.18);
    color: #fff;
}

.home-ticket-text h2 {
    color: #fff;
    font-size: 44px;
    line-height: 1.15;
    margin-bottom: 18px;
}

.home-ticket-text p {
    color: rgba(255,255,255,.92);
    font-size: 18px;
    line-height: 1.8;
    margin-bottom: 28px;
}

.home-quick-card,
.home-activity-card,
.home-gallery-big,
.home-gallery-small img,
.home-preview-panel,
.home-ticket-banner {
    transition: .35s ease;
}

.home-quick-card:hover,
.home-activity-card:hover,
.home-gallery-big:hover,
.home-gallery-small img:hover,
.home-preview-panel:hover {
    transform: translateY(-8px);
}

@media (max-width: 992px) {
    .home-quick-section {
        margin-top: 30px;
    }

    .home-quick-grid,
    .home-activity-grid,
    .home-gallery-preview,
    .home-two-preview,
    .home-ticket-banner {
        grid-template-columns: 1fr;
    }

    .home-activity-card.large {
        min-height: 360px;
    }

    .home-gallery-big {
        height: 340px;
    }

    .home-ticket-images img:nth-child(2) {
        margin-top: 0;
    }

    .home-ticket-text h2 {
        font-size: 34px;
    }
}

/* ================================
   BERANDA SIMPLE ELEGANT
================================ */

.home-simple-menu {
    position: relative;
    z-index: 8;
    margin-top: -45px;
}

.home-menu-grid {
    background: #ffffff;
    border-radius: 22px;
    padding: 14px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.12);
}

.home-menu-grid a {
    text-decoration: none;
    background: #f4fbf7;
    color: #14532d;
    border-radius: 18px;
    padding: 18px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-weight: 800;
    transition: .25s ease;
}

.home-menu-grid a:hover {
    background: #e5f7eb;
    transform: translateY(-3px);
}

.home-elegant-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 42px;
    align-items: center;
}

.home-intro-text h2 {
    font-size: 40px;
    line-height: 1.18;
    color: #174c2f;
    margin-bottom: 16px;
}

.home-intro-text p {
    font-size: 17px;
    line-height: 1.85;
    color: #526171;
    margin-bottom: 24px;
}

.home-intro-image {
    border-radius: 34px;
    overflow: hidden;
    height: 420px;
    box-shadow: 0 22px 55px rgba(0,0,0,0.12);
}

.home-intro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-preview-clean-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}

.home-preview-clean-card {
    background: #ffffff;
    border-radius: 28px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 18px 45px rgba(0,0,0,0.08);
    transition: .25s ease;
}

.home-preview-clean-card:hover {
    transform: translateY(-6px);
}

.home-preview-clean-card img {
    width: 100%;
    height: 230px;
    object-fit: cover;
}

.home-preview-clean-card div {
    padding: 24px;
}

.home-preview-clean-card span {
    display: inline-block;
    color: #1f7a43;
    font-weight: 800;
    margin-bottom: 10px;
}

.home-preview-clean-card h3 {
    color: #174c2f;
    font-size: 21px;
    line-height: 1.35;
}

.home-gallery-clean {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 34px;
    align-items: center;
}

.home-gallery-text-clean h2 {
    color: #174c2f;
    font-size: 38px;
    line-height: 1.2;
    margin-bottom: 14px;
}

.home-gallery-text-clean p {
    color: #526171;
    line-height: 1.85;
    margin-bottom: 24px;
}

.home-gallery-images-clean {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: 190px 190px;
    gap: 18px;
}

.home-gallery-images-clean img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 26px;
    box-shadow: 0 16px 35px rgba(0,0,0,0.10);
}

.home-gallery-images-clean img:first-child {
    grid-row: span 2;
}

.home-two-clean {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.home-clean-box {
    background: #ffffff;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(0,0,0,0.08);
}

.home-clean-box img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.home-clean-box div {
    padding: 28px;
}

.home-clean-box span {
    color: #1f7a43;
    font-weight: 800;
}

.home-clean-box h3 {
    color: #174c2f;
    font-size: 25px;
    line-height: 1.3;
    margin: 10px 0;
}

.home-clean-box p {
    color: #526171;
    line-height: 1.75;
    margin-bottom: 16px;
}

.home-clean-box a {
    color: #1f7a43;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 992px) {
    .home-simple-menu {
        margin-top: 20px;
    }

    .home-menu-grid,
    .home-elegant-intro,
    .home-preview-clean-grid,
    .home-gallery-clean,
    .home-two-clean {
        grid-template-columns: 1fr;
    }

    .home-gallery-images-clean {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .home-gallery-images-clean img,
    .home-gallery-images-clean img:first-child {
        height: 240px;
        grid-row: auto;
    }

    .home-intro-text h2,
    .home-gallery-text-clean h2 {
        font-size: 30px;
    }
}

/* ================================
   AKTIVITAS SERU BERANDA
================================ */

.aktivitas-seru-section {
    position: relative;
    background:
        radial-gradient(circle at 8% 15%, rgba(82, 190, 110, 0.16), transparent 28%),
        radial-gradient(circle at 92% 20%, rgba(255, 214, 77, 0.16), transparent 25%),
        linear-gradient(180deg, #f3fbf6 0%, #ffffff 100%);
    overflow: hidden;
}

.aktivitas-seru-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr 0.8fr;
    grid-auto-rows: 310px;
    gap: 24px;
}

.aktivitas-seru-card {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.14);
    background: #ffffff;
}

.aktivitas-seru-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.4s ease;
}

.aktivitas-seru-card:hover img {
    transform: scale(1.06);
}

.aktivitas-seru-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(13, 45, 29, 0.78),
        rgba(13, 45, 29, 0.18),
        rgba(13, 45, 29, 0.02)
    );
}

.aktivitas-large {
    grid-row: span 2;
}

.aktivitas-wide {
    grid-column: span 2;
}

.aktivitas-seru-content {
    position: absolute;
    z-index: 2;
    left: 28px;
    right: 28px;
    bottom: 28px;
}

.aktivitas-seru-content span {
    display: inline-block;
    background: rgba(255,255,255,0.92);
    color: #14532d;
    padding: 8px 15px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 12px;
}

.aktivitas-seru-content h3 {
    color: #ffffff;
    font-size: 30px;
    line-height: 1.2;
    margin-bottom: 8px;
}

.aktivitas-seru-content p {
    color: rgba(255,255,255,0.92);
    line-height: 1.7;
    max-width: 520px;
}

@media (max-width: 992px) {
    .aktivitas-seru-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: 320px;
    }

    .aktivitas-large,
    .aktivitas-wide {
        grid-row: auto;
        grid-column: auto;
    }
}

/* =========================
   INFO WEBSITE FOTO CARD
========================= */

.home-info-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 40px;
}

.home-info-photo-card {
    position: relative;
    height: 340px;
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(16, 65, 35, 0.14);
    transition: 0.4s ease;
}

.home-info-photo-card:hover {
    transform: translateY(-10px);
}

.home-info-photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease;
}

.home-info-photo-card:hover img {
    transform: scale(1.08);
}

.home-info-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(15, 46, 26, 0.88),
        rgba(15, 46, 26, 0.35),
        rgba(15, 46, 26, 0.05)
    );
}

.home-info-content {
    position: absolute;
    z-index: 2;
    left: 28px;
    right: 28px;
    bottom: 28px;
}

.home-info-icon {
    width: 70px;
    height: 70px;
    border-radius: 22px;
    background: rgba(255,255,255,0.92);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 18px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.12);
}

.home-info-content h3 {
    font-size: 32px;
    color: #fff;
    margin-bottom: 12px;
    line-height: 1.2;
}

.home-info-content p {
    color: rgba(255,255,255,0.92);
    line-height: 1.7;
    font-size: 16px;
}

@media (max-width: 992px) {
    .home-info-photo-grid {
        grid-template-columns: 1fr;
    }

    .home-info-photo-card {
        height: 320px;
    }
}

/* ================================
   INTRO PREMIUM BERANDA
================================ */

.home-intro-premium-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(95, 190, 120, 0.13), transparent 26%),
        radial-gradient(circle at 85% 10%, rgba(255, 214, 77, 0.12), transparent 24%),
        linear-gradient(180deg, #f7fcf9 0%, #ffffff 55%, #f4fbf7 100%);
}

.home-intro-premium-section::before {
    content: "";
    position: absolute;
    left: -120px;
    bottom: -140px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(60, 160, 92, 0.08);
}

.home-intro-premium-section::after {
    content: "";
    position: absolute;
    right: -100px;
    top: 80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    border: 2px dashed rgba(36, 120, 69, 0.18);
}

.home-decor-leaf {
    position: absolute;
    left: 35px;
    top: 50px;
    font-size: 90px;
    opacity: 0.14;
    transform: rotate(-25deg);
}

.home-decor-wave {
    position: absolute;
    left: 42%;
    bottom: 110px;
    font-size: 58px;
    opacity: 0.13;
}

.home-decor-bird {
    position: absolute;
    left: 48%;
    top: 120px;
    color: #14532d;
    opacity: 0.5;
    font-weight: 900;
    letter-spacing: 10px;
}

.home-intro-premium {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 58px;
    align-items: center;
}

.home-intro-premium-text h2 {
    font-size: 48px;
    line-height: 1.15;
    color: #174c2f;
    margin: 20px 0 22px;
    max-width: 720px;
}

.home-intro-premium-text h2 strong {
    position: relative;
}

.home-intro-premium-text h2 strong::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 72%;
    height: 10px;
    background: rgba(255, 214, 77, 0.75);
    border-radius: 999px;
    z-index: -1;
}

.home-intro-premium-text > p {
    font-size: 18px;
    line-height: 1.9;
    color: #526171;
    margin-bottom: 24px;
    max-width: 650px;
}

.home-intro-benefits {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 26px;
}

.home-intro-benefits div {
    background: #ffffff;
    border: 1px solid rgba(79, 184, 107, 0.18);
    border-radius: 22px;
    padding: 18px;
    box-shadow: 0 15px 35px rgba(20, 83, 45, 0.07);
}

.home-intro-benefits span {
    font-size: 26px;
    display: block;
    margin-bottom: 8px;
}

.home-intro-benefits strong {
    display: block;
    color: #174c2f;
    font-weight: 900;
    margin-bottom: 4px;
}

.home-intro-benefits p {
    color: #526171;
    line-height: 1.55;
    font-size: 14px;
}

.home-intro-premium-visual {
    position: relative;
}

.home-intro-photo-wrap {
    position: relative;
    border-radius: 36px;
    padding: 10px;
    background: #ffffff;
    box-shadow: 0 25px 70px rgba(20, 83, 45, 0.16);
}

.home-intro-photo-wrap img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    border-radius: 28px;
    display: block;
}

.home-intro-floating-card {
    position: absolute;
    left: 45px;
    right: 45px;
    bottom: 34px;
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(10px);
    border-radius: 24px;
    padding: 20px 22px;
    display: flex;
    gap: 16px;
    align-items: center;
    box-shadow: 0 18px 40px rgba(0,0,0,0.14);
}

.home-intro-star {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #166534;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.home-intro-floating-card strong {
    display: block;
    color: #174c2f;
    font-weight: 900;
    margin-bottom: 4px;
}

.home-intro-floating-card p {
    color: #1f7a43;
    font-size: 14px;
    line-height: 1.5;
}

.home-intro-bottom-features {
    position: relative;
    z-index: 2;
    margin-top: 45px;
    background: rgba(255,255,255,0.86);
    border: 1px solid rgba(79, 184, 107, 0.16);
    border-radius: 30px;
    padding: 22px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    box-shadow: 0 20px 50px rgba(20, 83, 45, 0.09);
}

.home-intro-bottom-features div {
    padding: 18px 22px;
    border-right: 1px solid rgba(20, 83, 45, 0.10);
}

.home-intro-bottom-features div:last-child {
    border-right: none;
}

.home-intro-bottom-features span {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: #e7f8ed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 12px;
}

.home-intro-bottom-features strong {
    display: block;
    color: #174c2f;
    font-size: 18px;
    margin-bottom: 6px;
}

.home-intro-bottom-features p {
    color: #526171;
    line-height: 1.55;
    font-size: 14px;
}

@media (max-width: 992px) {
    .home-intro-premium {
        grid-template-columns: 1fr;
    }

    .home-intro-premium-text h2 {
        font-size: 34px;
    }

    .home-intro-photo-wrap img {
        height: 360px;
    }

    .home-intro-bottom-features {
        grid-template-columns: 1fr;
    }

    .home-intro-bottom-features div {
        border-right: none;
        border-bottom: 1px solid rgba(20, 83, 45, 0.10);
    }

    .home-intro-bottom-features div:last-child {
        border-bottom: none;
    }

    .home-intro-benefits {
        grid-template-columns: 1fr;
    }
}

/* ================================
   INTRO BERANDA FINAL RAPI
================================ */

.home-intro-beauty-section {
    position: relative;
    overflow: hidden;
    padding: 90px 0 70px;
    background:
        radial-gradient(circle at 8% 18%, rgba(80, 180, 110, 0.12), transparent 28%),
        radial-gradient(circle at 92% 12%, rgba(255, 214, 77, 0.10), transparent 26%),
        linear-gradient(180deg, #fbfffd 0%, #f6fcf8 60%, #eff8f2 100%);
}

.home-intro-beauty-section::before {
    content: "";
    position: absolute;
    left: -130px;
    bottom: -120px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(40, 140, 75, 0.08);
}

.home-intro-beauty-section::after {
    content: "";
    position: absolute;
    right: -70px;
    top: 55px;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    border: 2px dashed rgba(20, 83, 45, 0.16);
}

.home-beauty-leaf-left {
    position: absolute;
    left: 30px;
    top: 35px;
    font-size: 95px;
    opacity: 0.10;
    transform: rotate(-25deg);
}

.home-beauty-leaf-right {
    position: absolute;
    right: 28px;
    bottom: 70px;
    font-size: 85px;
    opacity: 0.14;
    transform: rotate(18deg);
}

.home-beauty-dots {
    position: absolute;
    right: 120px;
    top: 105px;
    width: 95px;
    height: 95px;
    opacity: 0.14;
    background-image: radial-gradient(#14532d 2px, transparent 2px);
    background-size: 15px 15px;
}

.home-beauty-layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 0.88fr 1.12fr;
    gap: 64px;
    align-items: center;
}

.home-beauty-label {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    background: #ddf8e7;
    color: #14532d;
    padding: 10px 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    margin-bottom: 26px;
}

.home-beauty-text h2 {
    color: #16462c;
    font-size: 48px;
    line-height: 1.17;
    font-weight: 900;
    letter-spacing: -0.8px;
    max-width: 620px;
    margin: 0 0 22px;
}

.home-beauty-text h2::after {
    content: "";
    display: block;
    width: 72%;
    height: 9px;
    background: #ffdb4d;
    border-radius: 999px;
    margin-top: -10px;
}

.home-beauty-line {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 330px;
    margin: 20px 0 26px;
}

.home-beauty-line span {
    height: 2px;
    flex: 1;
    background: rgba(20, 83, 45, 0.28);
}

.home-beauty-line i {
    font-style: normal;
    opacity: 0.75;
}

.home-beauty-text > p {
    color: #4c5b6b;
    font-size: 17px;
    line-height: 1.9;
    max-width: 620px;
    margin-bottom: 28px;
}

.home-beauty-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    max-width: 560px;
    margin-bottom: 28px;
}

.home-beauty-mini-card {
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(79, 184, 107, 0.16);
    border-radius: 22px;
    padding: 20px;
    display: flex;
    gap: 15px;
    align-items: center;
    box-shadow: 0 16px 35px rgba(20, 83, 45, 0.07);
}

.home-beauty-mini-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: #e7f8ed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

.home-beauty-mini-card h3 {
    color: #14532d;
    font-size: 18px;
    margin-bottom: 5px;
    font-weight: 900;
    line-height: 1.25;
}

.home-beauty-mini-card p {
    color: #526171;
    line-height: 1.5;
    font-size: 14px;
}

.home-beauty-btn {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    background: linear-gradient(135deg, #0f6b3a, #064b29);
    color: #ffffff;
    border-radius: 999px;
    padding: 16px 25px 16px 28px;
    font-weight: 900;
    box-shadow: 0 18px 35px rgba(6, 75, 41, 0.22);
}

.home-beauty-btn span {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255,255,255,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-beauty-image-card {
    position: relative;
    background: #ffffff;
    border-radius: 38px;
    padding: 12px;
    box-shadow: 0 25px 65px rgba(20, 83, 45, 0.16);
}

.home-beauty-image-card img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
    border-radius: 28px;
}

.home-beauty-floating {
    position: absolute;
    left: 48px;
    right: 48px;
    bottom: 35px;
    background: rgba(255,255,255,0.96);
    border-radius: 24px;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.14);
}

.home-beauty-star {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #166534;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    flex-shrink: 0;
}

.home-beauty-floating h3 {
    color: #174c2f;
    font-size: 18px;
    font-weight: 900;
    margin-bottom: 5px;
}

.home-beauty-floating p {
    color: #1f7a43;
    line-height: 1.45;
    font-size: 15px;
}

.home-beauty-bottom {
    position: relative;
    z-index: 2;
    margin-top: 50px;
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(79, 184, 107, 0.14);
    border-radius: 30px;
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.09);
}

.home-beauty-bottom-item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 15px 20px;
    border-right: 1px solid rgba(20, 83, 45, 0.10);
}

.home-beauty-bottom-item:last-child {
    border-right: none;
}

.home-beauty-bottom-icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: #e7f8ed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    flex-shrink: 0;
}

.home-beauty-bottom-item h3 {
    color: #174c2f;
    font-size: 17px;
    font-weight: 900;
    margin-bottom: 4px;
}

.home-beauty-bottom-item p {
    color: #526171;
    line-height: 1.45;
    font-size: 14px;
}

@media (max-width: 1100px) {
    .home-beauty-layout {
        grid-template-columns: 1fr;
    }

    .home-beauty-text h2 {
        font-size: 40px;
    }

    .home-beauty-bottom {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* FIX INTRO PROFIL BERANDA */
.home-beauty-layout {
    display: grid !important;
    grid-template-columns: 0.95fr 1.05fr !important;
    gap: 55px !important;
    align-items: center !important;
}

.home-beauty-image-wrap {
    display: block !important;
    position: relative !important;
}

.home-beauty-image-card {
    display: block !important;
    position: relative !important;
    background: #ffffff !important;
    border-radius: 36px !important;
    padding: 12px !important;
    box-shadow: 0 25px 65px rgba(20, 83, 45, 0.16) !important;
}

.home-beauty-image-card img {
    display: block !important;
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
    border-radius: 28px !important;
}

.home-beauty-btn {
    width: fit-content !important;
    max-width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 15px 24px !important;
    border-radius: 999px !important;
    gap: 14px !important;
}

.home-beauty-mini-grid {
    max-width: 620px !important;
}

.home-beauty-mini-card {
    min-height: 150px !important;
}

@media (max-width: 992px) {
    .home-beauty-layout {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================
   FIX HOME PREMIUM SECTION
========================================= */

.home-gallery-premium-section,
.home-feature-premium-section {
    padding: 80px 0 !important;
    background: #f5faf6 !important;
}

/* GRID */
.home-gallery-premium-grid {
    display: grid !important;
    grid-template-columns: 1fr 1.1fr !important;
    gap: 50px !important;
    align-items: center !important;
}

/* LEFT TEXT */
.home-gallery-premium-text h2 {
    font-size: 44px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #18452d !important;
    max-width: 520px !important;
    margin-bottom: 20px !important;
}

.home-gallery-premium-text p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    max-width: 540px !important;
    color: #5b6673 !important;
}

.home-premium-label {
    font-size: 14px !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    background: #dff5e6 !important;
    color: #14532d !important;
    font-weight: 700 !important;
    display: inline-block !important;
    margin-bottom: 18px !important;
}

/* MINI BADGES */
.home-gallery-mini-list {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 22px 0 28px !important;
}

.home-gallery-mini-item {
    font-size: 14px !important;
    padding: 12px 18px !important;
    background: white !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05) !important;
    font-weight: 700 !important;
}

/* BUTTON */
.home-premium-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: linear-gradient(135deg,#0d6a39,#0b4b28) !important;
    color: white !important;
    padding: 16px 28px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    width: fit-content !important;
}

.home-premium-btn span {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* IMAGES */
.home-gallery-premium-images {
    display: grid !important;
    grid-template-columns: 1.6fr 0.9fr !important;
    gap: 18px !important;
}

.gallery-big img {
    width: 100% !important;
    height: 520px !important;
    object-fit: cover !important;
    border-radius: 28px !important;
}

.gallery-small-wrap {
    display: grid !important;
    grid-template-rows: 1fr 1fr !important;
    gap: 18px !important;
}

.gallery-small img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    border-radius: 24px !important;
}

/* =========================================
   KULINER & FASILITAS
========================================= */

.home-feature-premium-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important;
}

.home-feature-premium-card {
    background: white !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 35px rgba(0,0,0,0.07) !important;
}

.home-feature-image img {
    width: 100% !important;
    height: 260px !important;
    object-fit: cover !important;
}

.home-feature-content {
    padding: 32px !important;
}

.home-feature-content span {
    display: inline-block !important;
    background: #dff5e6 !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #14532d !important;
    margin-bottom: 16px !important;
}

.home-feature-content h3 {
    font-size: 28px !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
    color: #18452d !important;
    margin-bottom: 16px !important;
}

.home-feature-content p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #5b6673 !important;
    margin-bottom: 18px !important;
}

.home-feature-content a {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #14532d !important;
}

/* MOBILE */
@media (max-width: 992px) {
    .home-gallery-premium-grid,
    .home-feature-premium-grid {
        grid-template-columns: 1fr !important;
    }

    .home-gallery-premium-text h2 {
        font-size: 34px !important;
    }

    .gallery-big img {
        height: 380px !important;
    }

    .gallery-small img {
        height: 180px !important;
    }

    .home-feature-content h3 {
        font-size: 22px !important;
    }
}

/* ==================================================
   PANTAI PELAWAN - GALERI & FEATURE COMPACT FIX
================================================== */

.pp-gallery-section,
.pp-feature-section {
    padding: 70px 0 !important;
    background: linear-gradient(180deg, #f8fdf9 0%, #eef8f1 100%) !important;
}

.pp-gallery-section .container,
.pp-feature-section .container {
    width: min(90%, 1180px) !important;
    margin: 0 auto !important;
}

.pp-gallery-grid {
    display: grid !important;
    grid-template-columns: 0.9fr 1.1fr !important;
    gap: 42px !important;
    align-items: center !important;
}

.pp-gallery-text {
    max-width: 470px !important;
}

.pp-section-label,
.pp-feature-body span {
    display: inline-block !important;
    background: #e0f7e8 !important;
    color: #14532d !important;
    padding: 9px 18px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    margin-bottom: 18px !important;
}

.pp-gallery-text h2 {
    font-size: 42px !important;
    line-height: 1.18 !important;
    color: #17452d !important;
    font-weight: 900 !important;
    margin-bottom: 16px !important;
    letter-spacing: -0.5px !important;
}

.pp-gallery-text p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #526171 !important;
    margin-bottom: 22px !important;
}

.pp-gallery-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 26px !important;
}

.pp-gallery-tags span {
    background: white !important;
    color: #14532d !important;
    padding: 10px 15px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05) !important;
}

.pp-green-btn {
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: linear-gradient(135deg, #0f6b3a, #064b29) !important;
    color: white !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.pp-green-btn b {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.18) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.pp-gallery-images {
    display: grid !important;
    grid-template-columns: 1.5fr 0.9fr !important;
    gap: 18px !important;
}

.pp-gallery-big img {
    width: 100% !important;
    height: 430px !important;
    object-fit: cover !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 38px rgba(0,0,0,0.08) !important;
}

.pp-gallery-small {
    display: grid !important;
    gap: 18px !important;
}

.pp-gallery-small img {
    width: 100% !important;
    height: 206px !important;
    object-fit: cover !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 30px rgba(0,0,0,0.08) !important;
}

/* FEATURE */

.pp-feature-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
}

.pp-feature-card {
    background: white !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 16px 35px rgba(0,0,0,0.07) !important;
}

.pp-feature-card img {
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
}

.pp-feature-body {
    padding: 28px !important;
}

.pp-feature-body h3 {
    font-size: 26px !important;
    line-height: 1.3 !important;
    color: #17452d !important;
    font-weight: 900 !important;
    margin-bottom: 12px !important;
}

.pp-feature-body p {
    font-size: 15px !important;
    line-height: 1.75 !important;
    color: #526171 !important;
    margin-bottom: 16px !important;
}

.pp-feature-body a {
    color: #14532d !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

@media (max-width: 992px) {
    .pp-gallery-grid,
    .pp-feature-grid {
        grid-template-columns: 1fr !important;
    }

    .pp-gallery-text h2 {
        font-size: 32px !important;
    }

    .pp-gallery-images {
        grid-template-columns: 1fr !important;
    }

    .pp-gallery-big img,
    .pp-gallery-small img {
        height: 240px !important;
    }
}

/* =========================================
   PREMIUM DECOR BACKGROUND
========================================= */

.pp-gallery-section,
.pp-feature-section {
    position: relative !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at top left, rgba(203, 236, 214, 0.9) 0%, transparent 28%),
        radial-gradient(circle at bottom right, rgba(220, 243, 228, 0.8) 0%, transparent 32%),
        linear-gradient(135deg, #f8fcf9 0%, #eef7f1 45%, #fdfcf8 100%) !important;
}

/* daun kiri atas */
.pp-gallery-section::before {
    content: "🌿";
    position: absolute;
    top: 40px;
    left: 50px;
    font-size: 80px;
    opacity: 0.10;
    transform: rotate(-20deg);
    z-index: 0;
}

/* lingkaran kanan */
.pp-gallery-section::after {
    content: "";
    position: absolute;
    top: 50px;
    right: -120px;
    width: 320px;
    height: 320px;
    border: 2px dashed rgba(47, 108, 67, 0.12);
    border-radius: 50%;
    z-index: 0;
}

/* titik dekor kanan atas */
.pp-gallery-grid::before {
    content: "";
    position: absolute;
    top: 90px;
    right: 140px;
    width: 110px;
    height: 110px;
    background-image:
        radial-gradient(circle, rgba(47,108,67,0.18) 2px, transparent 2px);
    background-size: 18px 18px;
    z-index: 0;
}

/* gelombang bawah */
.pp-gallery-grid::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 100%;
    height: 120px;
    background:
        radial-gradient(circle at 20% 0%, rgba(173, 228, 192, 0.35) 0%, transparent 35%),
        radial-gradient(circle at 60% 0%, rgba(173, 228, 192, 0.28) 0%, transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(173, 228, 192, 0.22) 0%, transparent 30%);
    z-index: 0;
}

/* supaya konten di atas background */
.pp-gallery-grid,
.pp-feature-grid,
.pp-gallery-text,
.pp-gallery-images,
.pp-feature-card {
    position: relative;
    z-index: 2;
}

/* shadow gambar lebih premium */
.pp-gallery-big img,
.pp-gallery-small img {
    border: 10px solid rgba(255,255,255,0.75) !important;
    box-shadow:
        0 20px 45px rgba(0,0,0,0.08),
        0 8px 20px rgba(16, 94, 49, 0.06) !important;
}

/* feature background */
.pp-feature-section::before {
    content: "";
    position: absolute;
    bottom: -120px;
    left: -120px;
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(189, 235, 202, 0.55), transparent 70%);
    border-radius: 50%;
}

.pp-feature-section::after {
    content: "🌿";
    position: absolute;
    right: 40px;
    bottom: 40px;
    font-size: 90px;
    opacity: 0.08;
    transform: rotate(20deg);
}

/* card hover */
.pp-feature-card {
    transition: all 0.35s ease;
}

.pp-feature-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 25px 50px rgba(0,0,0,0.08),
        0 12px 30px rgba(22, 101, 52, 0.08);
}

/* =====================================================
   GLOBAL PREMIUM BACKGROUND HOMEPAGE
===================================================== */

.hero-home,
.home-intro-beauty-section,
.aktivitas-seru-section,
.pp-gallery-section,
.pp-feature-section,
.homepage-info-premium,
.homepage-step-premium,
.homepage-cta-premium {
    position: relative;
    overflow: hidden;
}

/* BACKGROUND DASAR SEMUA SECTION */
.home-intro-beauty-section,
.aktivitas-seru-section,
.pp-gallery-section,
.pp-feature-section,
.section,
.section-soft {
    background:
        radial-gradient(circle at top left, rgba(211, 238, 220, 0.9) 0%, transparent 25%),
        radial-gradient(circle at bottom right, rgba(223, 243, 229, 0.75) 0%, transparent 30%),
        linear-gradient(135deg, #f8fcf9 0%, #eef7f1 50%, #fcfcf8 100%);
}

/* ORNAMEN DAUN */
.section::before,
.section-soft::before,
.pp-gallery-section::before,
.pp-feature-section::before,
.aktivitas-seru-section::before {
    content: "🌿";
    position: absolute;
    font-size: 90px;
    opacity: 0.07;
    z-index: 0;
}

.section:nth-child(odd)::before,
.pp-gallery-section::before {
    top: 40px;
    left: 40px;
    transform: rotate(-15deg);
}

.section:nth-child(even)::before,
.pp-feature-section::before {
    bottom: 40px;
    right: 50px;
    transform: rotate(20deg);
}

/* LINGKARAN GARIS */
.section::after,
.section-soft::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    border: 2px dashed rgba(28, 89, 47, 0.12);
    border-radius: 50%;
    z-index: 0;
}

.section:nth-child(odd)::after {
    top: 30px;
    right: -90px;
}

.section:nth-child(even)::after {
    bottom: -80px;
    left: -90px;
}

/* TITIK DEKOR */
.section-heading::before {
    content: "";
    position: absolute;
    top: -30px;
    right: 40px;
    width: 110px;
    height: 110px;
    background-image:
        radial-gradient(circle, rgba(28,89,47,0.16) 2px, transparent 2px);
    background-size: 18px 18px;
    z-index: 0;
}

/* WAVE BAWAH */
.section-soft {
    position: relative;
}

.section-soft .container::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -50px;
    width: 100%;
    height: 120px;
    background:
        radial-gradient(circle at 20% 0%, rgba(189, 231, 202, 0.35) 0%, transparent 35%),
        radial-gradient(circle at 60% 0%, rgba(189, 231, 202, 0.25) 0%, transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(189, 231, 202, 0.20) 0%, transparent 28%);
    z-index: 0;
}

/* BIAR CONTENT SELALU DI ATAS */
.section .container,
.section-soft .container,
.section-heading,
.home-beauty-layout,
.aktivitas-seru-grid,
.pp-gallery-grid,
.pp-feature-grid,
.home-info-photo-grid,
.step-grid,
.home-cta {
    position: relative;
    z-index: 3;
}

/* CARD PREMIUM SHADOW */
.step-card,
.home-info-photo-card,
.pp-feature-card,
.aktivitas-seru-card,
.home-beauty-mini-card,
.home-beauty-bottom,
.home-cta {
    box-shadow:
        0 18px 40px rgba(0,0,0,0.06),
        0 6px 18px rgba(20, 83, 45, 0.05);
}

/* HOVER */
.step-card:hover,
.home-info-photo-card:hover,
.pp-feature-card:hover,
.aktivitas-seru-card:hover {
    transform: translateY(-8px);
    transition: 0.35s ease;
    box-shadow:
        0 26px 55px rgba(0,0,0,0.08),
        0 12px 24px rgba(20,83,45,0.08);
}

/* CTA BIAR PREMIUM */
.home-cta {
    background:
        linear-gradient(135deg, rgba(15,107,58,0.95), rgba(6,75,41,0.96));
    border-radius: 30px;
    position: relative;
    overflow: hidden;
}

.home-cta::before {
    content: "";
    position: absolute;
    top: -80px;
    right: -80px;
    width: 260px;
    height: 260px;
    background: rgba(255,255,255,0.08);
    border-radius: 50%;
}

.home-cta::after {
    content: "";
    position: absolute;
    bottom: -90px;
    left: -60px;
    width: 220px;
    height: 220px;
    background: rgba(255,255,255,0.06);
    border-radius: 50%;
}

/* HAPUS SEMUA BAYANGAN HIJAU AKHIR SECTION */
.section::after,
.section-soft::after,
.section .container::after,
.section-soft .container::after,
.home-page-premium::after,
.home-page-premium .container::after,
.pp-gallery-section::after,
.pp-gallery-grid::after,
.pp-feature-section::after,
.pp-feature-grid::after,
.aktivitas-seru-section::after,
.aktivitas-seru-grid::after,
.home-intro-beauty-section::after,
.home-beauty-layout::after,
.home-beauty-bottom::after,
.home-info-section::after,
.home-info-photo-grid::after,
.home-step-section::after,
.step-grid::after,
.home-cta-section::after {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 0 !important;
}

/* ===============================
   KONTAK PENGELOLA DARK GREEN PREMIUM
=============================== */

.kontak-pengelola-section {
    position: relative;
    overflow: hidden;
    padding: 110px 0;
    background:
        radial-gradient(circle at top left, rgba(120, 201, 142, 0.10) 0%, transparent 28%),
        radial-gradient(circle at bottom right, rgba(156, 224, 174, 0.08) 0%, transparent 30%),
        linear-gradient(135deg, #0f2f1e 0%, #17452d 45%, #0d2819 100%) !important;
}

/* dekor */

.kontak-pengelola-section::after {
    content: "";
    position: absolute;
    top: 40px;
    right: -80px;
    width: 260px;
    height: 260px;
    border: 2px dashed rgba(255,255,255,0.10);
    border-radius: 50%;
    z-index: 0;
}

/* layering */
.kontak-pengelola-section .container,
.kontak-pengelola-section .section-heading,
.contact-premium-grid,
.contact-premium-card {
    position: relative;
    z-index: 5;
}

/* heading */
.kontak-pengelola-section .section-label {
    background: rgba(255,255,255,0.10);
    color: #d7f5df !important;
    border: 1px solid rgba(255,255,255,0.08);
}

.kontak-pengelola-section .section-heading h2 {
    color: #ffffff !important;
    font-size: 50px;
    font-weight: 900;
    letter-spacing: -1px;
}

.kontak-pengelola-section .section-heading p {
    color: rgba(255,255,255,0.75) !important;
    font-size: 18px;
}

/* grid */
.contact-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 55px;
}

/* card */
.contact-premium-card {
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 28px;
    padding: 38px;
    text-decoration: none;
    box-shadow:
        0 20px 40px rgba(0,0,0,0.18),
        inset 0 1px 0 rgba(255,255,255,0.05);
    transition: all 0.35s ease;
}

.contact-premium-card:hover {
    transform: translateY(-10px);
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.18);
}

/* icon */
.contact-premium-icon {
    width: 76px;
    height: 76px;
    border-radius: 22px;
    background: rgba(255,255,255,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border: 1px solid rgba(255,255,255,0.08);
}

.contact-premium-icon img {
    width: 34px;
    height: 34px;
    object-fit: contain;
}

/* text */
.contact-premium-text span {
    color: #a6efb8 !important;
    font-size: 14px;
    font-weight: 700;
    display: block;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.contact-premium-text h3 {
    color: #ffffff !important;
    font-size: 34px;
    font-weight: 900;
    margin-bottom: 14px;
}

.contact-premium-text p {
    color: rgba(255,255,255,0.78) !important;
    font-size: 16px;
    line-height: 1.9;
    margin-bottom: 22px;
}

.contact-premium-text strong {
    color: #ffd44d;
    font-size: 17px;
    font-weight: 800;
}

/* hover accent */
.whatsapp-card:hover {
    border-color: rgba(37, 211, 102, 0.55);
    box-shadow: 0 22px 50px rgba(37, 211, 102, 0.12);
}

.instagram-card:hover {
    border-color: rgba(225, 48, 108, 0.45);
    box-shadow: 0 22px 50px rgba(225, 48, 108, 0.10);
}

.tiktok-card:hover {
    border-color: rgba(255,255,255,0.18);
}

/* responsive */
@media (max-width: 992px) {
    .contact-premium-grid {
        grid-template-columns: 1fr;
    }

    .kontak-pengelola-section .section-heading h2 {
        font-size: 34px;
    }
}

/* =========================
   DAYA TARIK FOTO PREMIUM
========================= */

.daya-experience-photo-section {
    padding: 100px 0;
    position: relative;
}

.experience-mosaic-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    grid-template-rows: 240px 240px;
    gap: 28px;
    margin-top: 50px;
}

.experience-mosaic-big,
.experience-mosaic-small,
.experience-mosaic-wide {
    position: relative;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,0.15);
}

.experience-mosaic-big {
    grid-row: span 2;
}

.experience-mosaic-wide {
    grid-column: span 2;
}

.experience-mosaic-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.experience-mosaic-grid > div:hover img {
    transform: scale(1.08);
}

.experience-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(8, 32, 19, 0.85),
        rgba(8, 32, 19, 0.15)
    );
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.experience-overlay span {
    display: inline-block;
    width: fit-content;
    background: rgba(255,255,255,0.95);
    color: #1b4d31;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 14px;
}

.experience-overlay h3 {
    color: white;
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 10px;
}

.experience-overlay p {
    color: rgba(255,255,255,0.95);
    font-size: 16px;
    line-height: 1.7;
    max-width: 420px;
}

@media (max-width: 992px) {
    .experience-mosaic-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .experience-mosaic-big,
    .experience-mosaic-small,
    .experience-mosaic-wide {
        grid-column: auto;
        grid-row: auto;
        min-height: 320px;
    }
}

/* ===============================
   DAYA TARIK PREMIUM VISUAL PAGE
================================ */

.dt-label,
.dt-potensi-card,
.dt-photo-card,
.dt-unique-main,
.dt-unique-item,
.dt-reason-card {
    transition: .35s ease;
}

.dt-intro-section,
.dt-photo-story-section,
.dt-potensi-section,
.dt-gallery-section,
.dt-unique-section,
.dt-nature-section,
.dt-reason-section,
.dt-cta-section {
    position: relative;
    overflow: hidden;
    padding: 95px 0;
    background:
        radial-gradient(circle at top left, rgba(214, 239, 222, .65), transparent 25%),
        radial-gradient(circle at bottom right, rgba(226, 245, 232, .55), transparent 30%),
        linear-gradient(135deg, #f8fcf9 0%, #eef7f1 55%, #fcfcf8 100%);
}

.dt-decor-leaf {
    position: absolute;
    left: 35px;
    top: 35px;
    font-size: 90px;
    opacity: .08;
}

.dt-decor-circle {
    position: absolute;
    right: -90px;
    top: 70px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    border: 2px dashed rgba(20,83,45,.12);
}

.dt-intro-grid,
.dt-gallery-layout,
.dt-unique-grid,
.dt-nature-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: center;
}

.dt-label {
    display: inline-flex;
    width: fit-content;
    background: #dff7e7;
    color: #14532d;
    padding: 10px 22px;
    border-radius: 999px;
    font-weight: 800;
    margin-bottom: 22px;
}

.dt-intro-text h2,
.dt-gallery-text h2,
.dt-nature-content h2 {
    font-size: 46px;
    line-height: 1.18;
    color: #17452d;
    font-weight: 900;
    margin-bottom: 18px;
}

.dt-intro-text p,
.dt-gallery-text p,
.dt-nature-content p {
    color: #526171;
    font-size: 17px;
    line-height: 1.9;
    margin-bottom: 24px;
}

.dt-intro-points {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 18px;
}

.dt-intro-points div {
    background: #fff;
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 14px 35px rgba(0,0,0,.06);
}

.dt-intro-points strong {
    display: block;
    color: #14532d;
    margin-bottom: 6px;
}

.dt-intro-points span {
    color: #526171;
}

.dt-intro-image,
.dt-nature-image {
    position: relative;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,.12);
}

.dt-intro-image img,
.dt-nature-image img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    display: block;
}

.dt-floating-info {
    position: absolute;
    left: 35px;
    right: 35px;
    bottom: 30px;
    background: rgba(255,255,255,.94);
    border-radius: 22px;
    padding: 18px 22px;
}

.dt-floating-info strong {
    display: block;
    color: #17452d;
    font-weight: 900;
}

.dt-floating-info span {
    color: #2f7a4b;
}

/* PHOTO STORY */

.dt-photo-story-section {
    background: #102f1f;
}

.dt-photo-story-section .section-heading h2,
.dt-photo-story-section .section-heading p {
    color: #fff !important;
}

.experience-mosaic-grid {
    display: grid;
    grid-template-columns: 1.25fr .9fr .9fr;
    grid-template-rows: 300px 300px;
    gap: 26px;
    margin-top: 45px;
}

.dt-photo-card {
    position: relative;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 22px 55px rgba(0,0,0,.22);
}

.dt-photo-large {
    grid-row: span 2;
}

.dt-photo-wide {
    grid-column: span 2;
}

.dt-photo-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .5s ease;
}

.dt-photo-card:hover img {
    transform: scale(1.08);
}

.dt-photo-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(8,32,19,.86), rgba(8,32,19,.18));
}

.dt-photo-card div {
    position: absolute;
    z-index: 2;
    left: 32px;
    right: 32px;
    bottom: 32px;
}

.dt-photo-card span {
    display: inline-block;
    background: rgba(255,255,255,.94);
    color: #14532d;
    padding: 9px 16px;
    border-radius: 999px;
    font-weight: 800;
    margin-bottom: 14px;
}

.dt-photo-card h3 {
    color: #fff;
    font-size: 34px;
    font-weight: 900;
    margin-bottom: 8px;
}

.dt-photo-card p {
    color: rgba(255,255,255,.92);
    line-height: 1.7;
    font-size: 16px;
}

/* POTENSI */

.dt-potensi-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 24px;
}

.dt-potensi-card {
    background: #fff;
    border-radius: 28px;
    padding: 32px;
    box-shadow: 0 18px 42px rgba(0,0,0,.07);
}

.dt-potensi-card:hover,
.dt-unique-item:hover,
.dt-reason-card:hover {
    transform: translateY(-8px);
}

.dt-potensi-icon {
    width: 68px;
    height: 68px;
    border-radius: 22px;
    background: #e8f8ee;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 22px;
}

.dt-potensi-card h3 {
    color: #17452d;
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 10px;
}

.dt-potensi-card p {
    color: #526171;
    line-height: 1.75;
}

/* GALLERY */

.dt-gallery-images {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    grid-template-rows: 210px 210px;
    gap: 18px;
}

.dt-gallery-images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 26px;
    box-shadow: 0 16px 35px rgba(0,0,0,.10);
}

.dt-gallery-images img:first-child {
    grid-row: span 2;
}

.dt-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(135deg,#0f6b3a,#064b29);
    color: #fff;
    text-decoration: none;
    padding: 15px 24px;
    border-radius: 999px;
    font-weight: 800;
}

.dt-btn span {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: rgba(255,255,255,.16);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* UNIQUE */

.dt-unique-main {
    background: #fff;
    border-radius: 34px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.08);
}

.dt-unique-main img {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.dt-unique-main div {
    padding: 32px;
}

.dt-unique-main h3 {
    color: #17452d;
    font-size: 30px;
    font-weight: 900;
    margin-bottom: 12px;
}

.dt-unique-main p {
    color: #526171;
    line-height: 1.8;
}

.dt-unique-list {
    display: grid;
    gap: 18px;
}

.dt-unique-item {
    background: #fff;
    border-radius: 24px;
    padding: 22px;
    display: flex;
    gap: 18px;
    box-shadow: 0 14px 35px rgba(0,0,0,.06);
}

.dt-unique-item span {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #e8f8ee;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.dt-unique-item h3 {
    color: #17452d;
    font-weight: 900;
    margin-bottom: 5px;
}

.dt-unique-item p {
    color: #526171;
    line-height: 1.6;
}

/* NATURE */

.dt-nature-list {
    display: grid;
    gap: 16px;
    margin-top: 26px;
}

.dt-nature-list div {
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 12px 30px rgba(0,0,0,.05);
}

.dt-nature-list strong {
    display: block;
    color: #17452d;
    margin-bottom: 6px;
}

.dt-nature-list span {
    color: #526171;
}

/* REASON */

.dt-reason-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 26px;
}

.dt-reason-card {
    background: #fff;
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 18px 42px rgba(0,0,0,.07);
}

.dt-reason-card span {
    font-size: 44px;
    font-weight: 900;
    color: #d7eadf;
}

.dt-reason-card h3 {
    color: #17452d;
    font-size: 25px;
    font-weight: 900;
    margin: 14px 0 10px;
}

.dt-reason-card p {
    color: #526171;
    line-height: 1.75;
}

/* CTA */

.dt-cta {
    background: linear-gradient(135deg,#0f6b3a,#064b29);
    border-radius: 34px;
    padding: 45px;
    display: flex;
    justify-content: space-between;
    gap: 30px;
    align-items: center;
    color: #fff;
}

.dt-cta span {
    color: #ffdd55;
    font-weight: 800;
}

.dt-cta h2 {
    color: #fff;
    font-size: 40px;
    font-weight: 900;
    margin: 10px 0;
}

.dt-cta p {
    color: rgba(255,255,255,.85);
}

.dt-cta-btn {
    background: #ffdd55;
    color: #17452d;
    padding: 16px 26px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
    flex-shrink: 0;
}

@media(max-width: 992px) {
    .dt-intro-grid,
    .dt-gallery-layout,
    .dt-unique-grid,
    .dt-nature-grid,
    .dt-reason-grid,
    .dt-potensi-grid {
        grid-template-columns: 1fr;
    }

    .experience-mosaic-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }

    .dt-photo-card,
    .dt-photo-large,
    .dt-photo-wide {
        grid-column: auto;
        grid-row: auto;
        min-height: 330px;
    }

    .dt-intro-text h2,
    .dt-gallery-text h2,
    .dt-nature-content h2 {
        font-size: 34px;
    }

    .dt-cta {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ===============================
   GALERI ACTIVITY COMPACT FIX
================================ */

.dt-activity-clean-section {
    padding: 60px 0 !important;
    background:
        radial-gradient(circle at top left, rgba(214, 239, 222, .55), transparent 24%),
        linear-gradient(135deg, #f8fcf9 0%, #eef7f1 55%, #fcfcf8 100%) !important;
    position: relative;
    overflow: hidden;
}

.dt-activity-clean-section .container {
    max-width: 1180px !important;
    width: 90% !important;
    margin: 0 auto !important;
}

.dt-activity-clean-grid {
    display: grid !important;
    grid-template-columns: 1.15fr .9fr .9fr !important;
    grid-template-rows: 210px 210px !important;
    gap: 18px !important;
    margin-top: 34px !important;
}

.dt-activity-clean-card {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    min-height: 210px !important;
    background: #17452d !important;
    box-shadow: 0 14px 32px rgba(0,0,0,0.12) !important;
}

.dt-activity-main {
    grid-row: span 2 !important;
}

.dt-activity-wide {
    grid-column: span 2 !important;
}

.dt-activity-clean-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.dt-activity-clean-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(8, 32, 19, 0.82),
        rgba(8, 32, 19, 0.22),
        rgba(8, 32, 19, 0.03)
    );
    z-index: 1;
}

.dt-activity-clean-overlay {
    position: absolute !important;
    left: 22px !important;
    right: 22px !important;
    bottom: 22px !important;
    z-index: 2 !important;
}

.dt-activity-clean-overlay span {
    display: inline-block !important;
    background: rgba(255,255,255,0.95) !important;
    color: #14532d !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    margin-bottom: 10px !important;
}

.dt-activity-clean-overlay h3 {
    color: #ffffff !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    margin-bottom: 6px !important;
}

.dt-activity-clean-overlay p {
    color: rgba(255,255,255,0.92) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    max-width: 440px !important;
}

@media (max-width: 992px) {
    .dt-activity-clean-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
    }

    .dt-activity-main,
    .dt-activity-wide {
        grid-row: auto !important;
        grid-column: auto !important;
    }

    .dt-activity-clean-card {
        min-height: 280px !important;
    }
}

.profile-story-premium-section {
    padding: 70px 0;
    background:
        radial-gradient(circle at top left, rgba(214,239,222,.65), transparent 22%),
        radial-gradient(circle at bottom right, rgba(226,245,232,.55), transparent 24%),
        linear-gradient(135deg, #f8fcf9 0%, #eef7f1 55%, #fbfffd 100%);
    position: relative;
    overflow: hidden;
}

.profile-story-premium-grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 40px;
    align-items: center;
}

.profile-story-premium-text {
    position: relative;
}

.story-tag {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 999px;
    background: #dff7e7;
    color: #14532d;
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 20px;
}

.profile-story-premium-text h2 {
    font-size: 58px;
    line-height: 1.08;
    font-weight: 900;
    color: #17452d;
    margin-bottom: 20px;
}

.story-line {
    width: 90px;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(to right, #58c26d, #14532d);
    margin-bottom: 28px;
}

.story-content-box {
    background: rgba(255,255,255,0.74);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(220,235,225,0.9);
    border-radius: 26px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(20,83,45,0.08);
}

.story-content-box p {
    font-size: 17px;
    line-height: 1.95;
    color: #5b6975;
    margin-bottom: 18px;
    text-align: justify;
}

.story-content-box p:last-child {
    margin-bottom: 0;
}

.profile-story-premium-image {
    position: relative;
}

.profile-story-premium-image img {
    width: 100%;
    height: 620px;
    object-fit: cover;
    border-radius: 34px;
    display: block;
    box-shadow: 0 22px 60px rgba(20,83,45,0.16);
}

.story-floating-card {
    position: absolute;
    left: 35px;
    bottom: 35px;
    background: rgba(255,255,255,0.94);
    backdrop-filter: blur(12px);
    padding: 22px 26px;
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    max-width: 380px;
}

.story-floating-card span {
    display: block;
    color: #58b86d;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.story-floating-card h4 {
    color: #17452d;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.4;
}

@media (max-width: 992px) {
    .profile-story-premium-grid {
        grid-template-columns: 1fr;
    }

    .profile-story-premium-text h2 {
        font-size: 40px;
    }

    .profile-story-premium-image img {
        height: 420px;
    }

    .story-floating-card {
        position: static;
        margin-top: 20px;
        max-width: 100%;
    }
}

.profile-story-clean-section {
    padding: 45px 0 !important;
}

.profile-story-clean-grid {
    grid-template-columns: 0.95fr 1.05fr !important;
    gap: 28px !important;
    align-items: center !important;
}

.profile-story-clean-text {
    padding: 24px !important;
    border-radius: 22px !important;
}

.story-clean-label {
    padding: 8px 16px !important;
    font-size: 13px !important;
    margin-bottom: 14px !important;
}

.profile-story-clean-text h2 {
    font-size: 28px !important;
    line-height: 1.2 !important;
    margin-bottom: 18px !important;
}

.story-clean-list {
    gap: 14px !important;
}

.story-clean-list div {
    grid-template-columns: 42px 1fr !important;
    gap: 12px !important;
    padding-bottom: 14px !important;
}

.story-clean-list b {
    width: 36px !important;
    height: 36px !important;
    font-size: 13px !important;
    border-radius: 12px !important;
}

.story-clean-list p {
    font-size: 14px !important;
    line-height: 1.65 !important;
}

.profile-story-clean-image {
    padding: 8px !important;
    border-radius: 24px !important;
}

.profile-story-clean-image img {
    height: 360px !important;   /* sebelumnya 430 */
    border-radius: 18px !important;
}

.profile-story-clean-image::after {
    width: 70% !important;
    height: 70% !important;
    right: -12px !important;
    bottom: -12px !important;
}

.profile-story-clean-section {
    padding: 75px 0;
    background:
        radial-gradient(circle at 8% 15%, rgba(216, 242, 224, .85), transparent 24%),
        linear-gradient(135deg, #fbfffd 0%, #eef8f2 100%);
    overflow: hidden;
}

.profile-story-clean-grid {
    display: grid;
    grid-template-columns: .92fr 1.08fr;
    gap: 42px;
    align-items: center;
}

.profile-story-clean-text {
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(20,83,45,.08);
    border-radius: 28px;
    padding: 36px;
    box-shadow: 0 18px 42px rgba(20,83,45,.07);
}

.story-clean-label {
    display: inline-block;
    background: #dff7e7;
    color: #14532d;
    padding: 9px 18px;
    border-radius: 999px;
    font-weight: 800;
    margin-bottom: 18px;
}

.profile-story-clean-text h2 {
    font-size: 36px;
    line-height: 1.2;
    color: #17452d;
    font-weight: 900;
    margin-bottom: 26px;
}

.story-clean-list {
    display: grid;
    gap: 18px;
}

.story-clean-list div {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(20,83,45,.1);
}

.story-clean-list div:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.story-clean-list b {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    background: #e4f8eb;
    color: #14532d;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.story-clean-list p {
    color: #556575;
    font-size: 15.5px;
    line-height: 1.75;
    margin: 0;
    text-align: justify;
}

.profile-story-clean-image {
    position: relative;
    border-radius: 30px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 20px 48px rgba(20,83,45,.13);
}

.profile-story-clean-image::after {
    content: "";
    position: absolute;
    right: -20px;
    bottom: -20px;
    width: 80%;
    height: 80%;
    background: #d2f0dc;
    border-radius: 30px;
    z-index: 0;
}

.profile-story-clean-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 430px;
    object-fit: cover;
    border-radius: 23px;
    display: block;
}

@media(max-width: 992px) {
    .profile-story-clean-grid {
        grid-template-columns: 1fr;
    }

    .profile-story-clean-text h2 {
        font-size: 30px;
    }

    .profile-story-clean-image img {
        height: 320px;
    }
}

/* ===============================
   PROFILE STORY PREMIUM FIX
================================ */

.profile-story-clean-section {
    padding: 90px 0 !important;
    background:
        radial-gradient(circle at left top, rgba(198, 230, 205, 0.45), transparent 35%),
        linear-gradient(135deg, #f6fbf7 0%, #edf6ef 55%, #f9fcfa 100%) !important;
}

.profile-story-clean-section .container {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

.profile-story-clean-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;   /* sama besar */
    gap: 34px !important;
    align-items: stretch !important;             /* tinggi sama */
}

.profile-story-clean-text {
    background: rgba(255,255,255,0.96) !important;
    border-radius: 30px !important;
    padding: 48px !important;
    box-shadow: 0 18px 45px rgba(18, 70, 40, 0.08) !important;
    border: 1px solid rgba(215,235,220,0.9);
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 620px !important; /* samakan dengan gambar */
}

.profile-story-clean-image {
    position: relative !important;
    min-height: 620px !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.12) !important;
}

.profile-story-clean-image img {
    width: 100% !important;
    height: 620px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 30px !important;
}

.profile-story-clean-badge {
    display: inline-block;
    background: #dff1e4;
    color: #1d5a35;
    padding: 12px 24px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 16px;
    margin-bottom: 24px;
}

.profile-story-clean-text h2 {
    font-size: 56px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    color: #17452d !important;
    margin-bottom: 24px !important;
}

.profile-story-clean-text p {
    font-size: 21px !important;
    line-height: 1.9 !important;
    color: #5b6a63 !important;
    margin-bottom: 22px !important;
}

.profile-story-clean-step {
    display: flex;
    gap: 22px;
    align-items: flex-start;
    padding: 22px 0;
    border-bottom: 1px solid #e4ece6;
}

.profile-story-clean-step:last-child {
    border-bottom: none;
}

.profile-story-clean-number {
    min-width: 58px;
    height: 58px;
    border-radius: 18px;
    background: #e7f4ea;
    color: #1d5a35;
    font-size: 22px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
}

.profile-story-clean-step p {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.8 !important;
}

@media (max-width: 992px) {
    .profile-story-clean-grid {
        grid-template-columns: 1fr !important;
    }

    .profile-story-clean-text,
    .profile-story-clean-image,
    .profile-story-clean-image img {
        min-height: auto !important;
        height: auto !important;
    }

    .profile-story-clean-text h2 {
        font-size: 38px !important;
    }

    .profile-story-clean-text p,
    .profile-story-clean-step p {
        font-size: 17px !important;
    }
}

.profile-story-clean-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    align-items: center !important;
}

.profile-story-clean-text {
    padding: 26px !important;
    min-height: 420px !important;
    border-radius: 22px !important;
}

.profile-story-clean-image {
    min-height: 420px !important;
    border-radius: 22px !important;
}

.profile-story-clean-image img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
}

/* badge */
.profile-story-clean-badge {
    padding: 8px 16px !important;
    font-size: 13px !important;
    margin-bottom: 14px !important;
}

/* judul */
.profile-story-clean-text h2 {
    font-size: 24px !important;   /* kecilkan banyak */
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
    font-weight: 800 !important;
}

/* item */
.profile-story-clean-step {
    gap: 12px !important;
    padding: 12px 0 !important;
}

/* nomor */
.profile-story-clean-number {
    min-width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
}

/* teks isi */
.profile-story-clean-step p {
    font-size: 14px !important;   /* ini yg bikin panjang */
    line-height: 1.6 !important;
    margin: 0 !important;
    color: #5f6f66 !important;
}

.profile-story-clean-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    max-width: 1080px !important;
    margin: 0 auto !important;
    align-items: center !important;
}

.profile-story-clean-text {
    padding: 26px !important;
    min-height: 420px !important;
    border-radius: 22px !important;
}

.profile-story-clean-image {
    min-height: 420px !important;
    border-radius: 22px !important;
}

.profile-story-clean-image img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    border-radius: 22px !important;
}

/* badge */
.profile-story-clean-badge {
    padding: 8px 16px !important;
    font-size: 13px !important;
    margin-bottom: 14px !important;
}

/* judul */
.profile-story-clean-text h2 {
    font-size: 24px !important;   /* kecilkan banyak */
    line-height: 1.3 !important;
    margin-bottom: 16px !important;
    font-weight: 800 !important;
}

/* item */
.profile-story-clean-step {
    gap: 12px !important;
    padding: 12px 0 !important;
}

/* nomor */
.profile-story-clean-number {
    min-width: 36px !important;
    height: 36px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
}

/* teks isi */
.profile-story-clean-step p {
    font-size: 14px !important;   /* ini yg bikin panjang */
    line-height: 1.6 !important;
    margin: 0 !important;
    color: #5f6f66 !important;
}

.profile-story-final-section {
    padding: 70px 0 !important;
    background: linear-gradient(135deg, #f6fbf7 0%, #edf6ef 55%, #f9fcfa 100%) !important;
}

.profile-story-final-section .container {
    max-width: 1280px !important;
    margin: 0 auto !important;
}

.profile-story-final-grid {
    display: grid !important;
    grid-template-columns: 1.35fr 0.95fr !important;
    gap: 28px !important;
    align-items: stretch !important;
}

.profile-story-final-text,
.profile-story-final-image {
    height: 430px !important;
    border-radius: 28px !important;
}

.profile-story-final-text {
    background: #ffffff !important;
    padding: 34px !important;
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.profile-story-final-label {
    width: fit-content !important;
    background: #dff7e7 !important;
    color: #14532d !important;
    padding: 8px 18px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    margin-bottom: 16px !important;
}

.profile-story-final-text h2 {
    font-size: 38px !important;
    line-height: 1.25 !important;
    color: #17452d !important;
    font-weight: 900 !important;
    margin-bottom: 22px !important;
}

.profile-story-final-list {
    display: grid !important;
    gap: 14px !important;
}

.profile-story-final-item {
    display: grid !important;
    grid-template-columns: 38px 1fr !important;
    gap: 14px !important;
    align-items: flex-start !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid rgba(20, 83, 45, 0.1) !important;
}

.profile-story-final-item:last-child {
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.profile-story-final-item b {
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
    background: #e5f8eb !important;
    color: #14532d !important;
    font-size: 13px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.profile-story-final-item p {
    font-size: 16px !important;
    line-height: 1.65 !important;
    color: #5b6975 !important;
    margin: 0 !important;
    text-align: left !important;
    word-spacing: normal !important;
}

.profile-story-final-image {
    background: #ffffff !important;
    padding: 10px !important;
    box-shadow: 0 18px 42px rgba(20, 83, 45, 0.10) !important;
    overflow: hidden !important;
}

.profile-story-final-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 22px !important;
}

@media (max-width: 992px) {
    .profile-story-final-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 34px;
    align-items: stretch;
    max-width: 1500px;
    margin: 0 auto;
}

    .profile-story-final-text,
    .profile-story-final-image {
        height: auto !important;
    }

    .profile-story-final-image img {
        height: 300px !important;
    }
}

.profile-story-final-text {
    background: rgba(255,255,255,0.96);
    border-radius: 34px;
    padding: 55px;
    min-height: 620px;
    box-shadow:
        0 18px 50px rgba(16, 52, 30, 0.08),
        inset 0 1px 0 rgba(255,255,255,0.7);
    border: 1px solid rgba(225,235,228,0.9);
}

.profile-story-final-image-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 18px;
    min-height: 620px;
}

.profile-story-final-image-grid div {
    overflow: hidden;
    border-radius: 28px;
    box-shadow: 0 14px 35px rgba(0,0,0,0.08);
    position: relative;
}

.profile-story-final-image-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: 0.5s ease;
}

.profile-story-final-image-grid div:hover img {
    transform: scale(1.06);
}

.img-main {
    grid-row: span 2;
}

/* LAYOUT UTAMA */
.profile-story-final-grid {
    display: grid !important;
    grid-template-columns: 1.15fr 1fr !important;
    gap: 38px !important;
    align-items: stretch !important;
    max-width: 1450px !important;
    margin: 0 auto !important;
}

/* BOX KIRI */
.profile-story-final-text {
    background: rgba(255,255,255,0.97);
    border-radius: 34px;
    padding: 50px;
    min-height: 650px;
    box-shadow:
        0 18px 45px rgba(0,0,0,0.05),
        0 8px 20px rgba(35, 84, 51, 0.05);
    border: 1px solid rgba(225,235,228,0.9);
}

/* GALLERY KANAN */
.profile-story-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    min-height: 650px;
    position: relative;
}

/* dekor premium */
.profile-story-gallery-grid::before {
    content: "";
    position: absolute;
    top: -20px;
    right: -20px;
    width: 90px;
    height: 90px;
    border: 2px dashed rgba(120, 190, 140, 0.35);
    border-radius: 50%;
    z-index: 1;
}

.profile-story-gallery-grid::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: -20px;
    width: 130px;
    height: 130px;
    background: radial-gradient(
        circle,
        rgba(186, 228, 197, 0.45),
        transparent 70%
    );
    z-index: 1;
}

/* FOTO */
.gallery-box {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    box-shadow:
        0 16px 35px rgba(0,0,0,0.08),
        0 8px 18px rgba(25, 80, 45, 0.05);
    z-index: 2;
}

.gallery-box img {
    width: 100%;
    height: 100%;
    min-height: 315px;
    object-fit: cover;
    display: block;
    transition: 0.45s ease;
}

/* overlay mewah */
.gallery-box::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(10, 40, 20, 0.18),
            transparent 55%
        );
}

/* hover */
.gallery-box:hover img {
    transform: scale(1.07);
}

/* tulisan kiri */
.profile-story-final-text h2 {
    font-size: 44px;
    font-weight: 900;
    line-height: 1.15;
    margin-bottom: 35px;
}

.profile-story-final-item {
    display: flex;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid #e6ece8;
}

.profile-story-final-item:last-child {
    border-bottom: none;
}

.profile-story-final-item b {
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: #e8f4eb;
    color: #17452d;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.profile-story-final-item p {
    font-size: 18px;
    line-height: 1.8;
    color: #5f6c78;
    margin: 0;
}

.weather-side-visual {
    margin-top: 28px;
}

.weather-scene {
    background: linear-gradient(135deg, #ffffff, #f0fdf4);
    border: 1px solid #dcfce7;
    border-radius: 26px;
    padding: 28px;
    box-shadow: 0 15px 35px rgba(20, 83, 45, 0.08);
    margin-bottom: 20px;
}

.weather-big-icon {
    width: 90px;
    height: 90px;
    border-radius: 24px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    margin-bottom: 18px;
    color: white;
}

.weather-scene h3 {
    font-size: 24px;
    color: #14532d;
    margin-bottom: 12px;
    font-weight: 800;
}

.weather-scene p {
    color: #4b5563;
    line-height: 1.8;
}

.weather-status-list {
    display: grid;
    gap: 14px;
}

.weather-status-item {
    background: white;
    border: 1px solid #dcfce7;
    border-radius: 20px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-shadow: 0 10px 24px rgba(20, 83, 45, 0.06);
}

.weather-status-item span {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.weather-status-item strong {
    display: block;
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
}

.weather-status-item small {
    color: #6b7280;
    font-size: 13px;
}

/* CUACA & OMBAK HARI INI */
.weather-beach-section {
    background:
        linear-gradient(180deg, #ecfdf5, #f8fffb);
    position: relative;
    overflow: hidden;
}

.weather-beach-card {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.96), rgba(240,253,244,0.95));
    border-radius: 34px;
    padding: 42px;
    display: grid;
    grid-template-columns: 0.9fr 1.3fr;
    gap: 35px;
    box-shadow: 0 25px 70px rgba(20, 83, 45, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
}

.weather-beach-card::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -70px;
    top: -70px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.14), transparent 70%);
    border-radius: 50%;
}

.weather-beach-card::after {
    content: "";
    position: absolute;
    left: -60px;
    bottom: -60px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(134, 239, 172, 0.22), transparent 70%);
    border-radius: 50%;
}

.weather-beach-left {
    position: relative;
    z-index: 2;
}

.weather-label {
    display: inline-block;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    padding: 9px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 18px;
    box-shadow: 0 12px 28px rgba(34, 197, 94, 0.20);
}

.weather-beach-left h2 {
    font-size: 34px;
    line-height: 1.25;
    color: #14532d;
    margin-bottom: 16px;
    font-weight: 800;
}

.weather-beach-left p {
    color: #4b5563;
    line-height: 1.8;
    font-size: 15px;
}

.weather-update {
    margin-top: 28px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: white;
    padding: 13px 18px;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
    color: #166534;
    font-weight: 700;
    border: 1px solid #dcfce7;
}

.weather-beach-right {
    position: relative;
    z-index: 2;
}

.weather-main-box {
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    padding: 28px;
    border-radius: 28px;
    display: flex;
    gap: 22px;
    align-items: center;
    box-shadow: 0 20px 45px rgba(20, 83, 45, 0.24);
    margin-bottom: 22px;
    position: relative;
    overflow: hidden;
}

.weather-main-box::before {
    content: "";
    position: absolute;
    right: -40px;
    top: -40px;
    width: 140px;
    height: 140px;
    background: rgba(255,255,255,0.10);
    border-radius: 50%;
}

.weather-icon {
    width: 82px;
    height: 82px;
    background: rgba(255,255,255,0.16);
    border-radius: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    backdrop-filter: blur(10px);
}

.weather-main-box span {
    font-size: 14px;
    opacity: 0.95;
    font-weight: 600;
}

.weather-main-box h3 {
    font-size: 28px;
    margin: 5px 0 8px;
    font-weight: 800;
}

.weather-main-box p {
    line-height: 1.7;
    opacity: 0.95;
}

.weather-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.weather-small-card {
    background: white;
    border-radius: 24px;
    padding: 22px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.08);
    border: 1px solid #dcfce7;
    transition: 0.3s ease;
    position: relative;
    overflow: hidden;
}

.weather-small-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    background: linear-gradient(90deg, #14532d, #22c55e);
}

.weather-small-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 45px rgba(20, 83, 45, 0.14);
}

.small-icon {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: linear-gradient(135deg, #dcfce7, #f0fdf4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    margin-bottom: 14px;
}

.weather-small-card span {
    font-size: 13px;
    color: #6b7280;
    font-weight: 700;
}

.weather-small-card h4 {
    color: #14532d;
    font-size: 20px;
    margin: 7px 0 9px;
    font-weight: 800;
}

.weather-small-card p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.7;
}

.warning-card {
    background: linear-gradient(135deg, #fefce8, #ffffff);
    border: 1px solid #fde68a;
}

.warning-card::before {
    background: linear-gradient(90deg, #f59e0b, #facc15);
}

.warning-card .small-icon {
    background: #fef3c7;
}

@media (max-width: 900px) {
    .weather-beach-card {
        grid-template-columns: 1fr;
        padding: 28px;
    }

    .weather-beach-left h2 {
        font-size: 28px;
    }

    .weather-info-grid {
        grid-template-columns: 1fr;
    }

    .weather-main-box {
        flex-direction: column;
        align-items: flex-start;
    }
}

.weather-scene {
    margin-top: 24px;
}
/* INFORMASI UMUM PREMIUM */
.info-general-section {
    background:
        radial-gradient(circle at top left, rgba(34, 197, 94, 0.12), transparent 26%),
        linear-gradient(180deg, #f0fdf4, #ffffff);
    overflow: hidden;
}

.section-label {
    display: inline-block;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 14px;
    box-shadow: 0 12px 28px rgba(34, 197, 94, 0.18);
}

.info-general-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 26px;
}

.info-general-card {
    background: rgba(255, 255, 255, 0.96);
    border-radius: 30px;
    padding: 28px;
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 22px;
    align-items: flex-start;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.14);
    position: relative;
    overflow: hidden;
    transition: all 0.35s ease;
}

.info-general-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 7px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.info-general-card::after {
    content: "";
    position: absolute;
    right: -55px;
    bottom: -55px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.14), transparent 70%);
    border-radius: 50%;
}

.info-general-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 70px rgba(20, 83, 45, 0.16);
}

.info-general-number {
    position: absolute;
    top: 18px;
    right: 24px;
    font-size: 42px;
    font-weight: 900;
    color: rgba(20, 83, 45, 0.08);
    line-height: 1;
}

.info-general-icon {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    box-shadow: 0 16px 35px rgba(34, 197, 94, 0.24);
    position: relative;
    z-index: 2;
}

.info-general-content {
    position: relative;
    z-index: 2;
}

.info-general-content h3 {
    color: #14532d;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 12px;
}

.info-general-content p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

.info-general-content p p {
    margin-bottom: 8px;
}

.info-general-content p p:last-child {
    margin-bottom: 0;
}

@media (max-width: 992px) {
    .info-general-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .info-general-card {
        grid-template-columns: 1fr;
        padding: 26px 22px;
    }

    .info-general-icon {
        width: 70px;
        height: 70px;
        font-size: 30px;
    }

    .info-general-content h3 {
        font-size: 22px;
    }
}

/* KEAMANAN PREMIUM */
.safety-lux-section {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 28%),
        linear-gradient(180deg, #ffffff, #f8fffb);
    overflow: hidden;
}

.safety-top-badge {
    display: inline-block;
    background: linear-gradient(135deg, #f59e0b, #facc15);
    color: #14532d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 14px;
    box-shadow: 0 10px 24px rgba(245, 158, 11, 0.18);
}

.safety-lux-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
}

.safety-lux-card {
    background: rgba(255,255,255,0.96);
    border-radius: 30px;
    padding: 28px;
    display: flex;
    gap: 22px;
    align-items: flex-start;
    box-shadow: 0 20px 55px rgba(20, 83, 45, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
    transition: all 0.35s ease;
}

.safety-lux-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, #14532d, #22c55e);
}

.safety-lux-card::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -40px;
    width: 120px;
    height: 120px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.12), transparent 70%);
    border-radius: 50%;
}

.safety-lux-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 65px rgba(20, 83, 45, 0.14);
}

.safety-lux-icon {
    width: 82px;
    height: 82px;
    min-width: 82px;
    border-radius: 24px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    box-shadow: 0 16px 35px rgba(20, 83, 45, 0.20);
    position: relative;
    z-index: 2;
}

.safety-lux-content {
    position: relative;
    z-index: 2;
}

.safety-lux-content span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 12px;
}

.safety-lux-content h3 {
    color: #14532d;
    font-size: 23px;
    font-weight: 800;
    margin-bottom: 10px;
    line-height: 1.3;
}

.safety-lux-content p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.8;
    margin: 0;
}

@media (max-width: 992px) {
    .safety-lux-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .safety-lux-card {
        flex-direction: column;
        padding: 24px;
    }

    .safety-lux-icon {
        width: 70px;
        height: 70px;
        min-width: 70px;
        font-size: 28px;
    }

    .safety-lux-content h3 {
        font-size: 21px;
    }
}

/* SAFETY HORIZONTAL STRIP */
.safety-strip-section {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.08), transparent 28%),
        linear-gradient(180deg, #ffffff, #f8fffb);
    overflow: hidden;
}

.safety-strip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.safety-strip-card {
    background: rgba(255,255,255,0.97);
    border-radius: 28px;
    padding: 28px 22px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.08);
    border: 1px solid rgba(34, 197, 94, 0.12);
    position: relative;
    overflow: hidden;
    transition: all 0.35s ease;
    text-align: left;
}

.safety-strip-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, #14532d, #22c55e, #86efac);
}

.safety-strip-card::after {
    content: "";
    position: absolute;
    right: -35px;
    bottom: -35px;
    width: 100px;
    height: 100px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.10), transparent 70%);
    border-radius: 50%;
}

.safety-strip-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 60px rgba(20, 83, 45, 0.14);
}

.safety-strip-icon {
    width: 74px;
    height: 74px;
    border-radius: 22px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    box-shadow: 0 16px 35px rgba(20, 83, 45, 0.20);
    margin-bottom: 18px;
}

.safety-strip-card span {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 14px;
}

.safety-strip-card h3 {
    color: #14532d;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 12px;
    line-height: 1.3;
}

.safety-strip-card p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.8;
    margin: 0;
}

/* tablet */
@media (max-width: 1200px) {
    .safety-strip-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* mobile */
@media (max-width: 768px) {
    .safety-strip-grid {
        grid-template-columns: 1fr;
    }

    .safety-strip-card {
        padding: 24px;
    }

    .safety-strip-card h3 {
        font-size: 20px;
    }
}

/* KONTAK PENGELOLA - FINAL */
.kontak-pengelola-section {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.06), transparent 25%),
        linear-gradient(180deg, #ffffff, #f0fdf4);
    position: relative;
    overflow: hidden;
}

.kontak-pengelola-section .section-heading h2 {
    color: #14532d;
}

.kontak-pengelola-section .section-heading p {
    color: #4b5563;
}

.contact-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

/* CARD */
.contact-premium-card {
    background: linear-gradient(135deg, #14532d, #22c55e);
    border-radius: 30px;
    padding: 34px 28px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 22px 55px rgba(20, 83, 45, 0.14);
    position: relative;
    overflow: hidden;
    transition: all 0.35s ease;
}

.contact-premium-card::before {
    content: "";
    position: absolute;
    right: -50px;
    top: -50px;
    width: 140px;
    height: 140px;
    background: rgba(255,255,255,0.10);
    border-radius: 50%;
}

.contact-premium-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 28px 70px rgba(20, 83, 45, 0.20);
}

/* ICON BOX */
.contact-premium-icon {
    width: 82px;
    height: 82px;
    border-radius: 24px;
    background: rgba(255,255,255,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.12);
}

.contact-premium-icon img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

/* TEXT */
.contact-premium-text span {
    display: inline-block;
    background: rgba(255,255,255,0.14);
    color: #dcfce7;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.3px;
}

.contact-premium-text h3 {
    font-size: 42px;
    font-weight: 800;
    color: #ffffff;
    margin: 10px 0 14px;
    line-height: 1.1;
}

.contact-premium-text p {
    color: rgba(255,255,255,0.88);
    font-size: 16px;
    line-height: 1.9;
    margin: 0;
}

.contact-premium-text strong {
    display: inline-block;
    margin-top: 18px;
    font-size: 17px;
    font-weight: 800;
    color: #fef08a;
    transition: 0.3s;
}

.contact-premium-card:hover strong {
    transform: translateX(6px);
    color: #ffffff;
}

/* INSTAGRAM beda dikit */
.instagram-card {
    background: linear-gradient(135deg, #166534, #22c55e);
}

/* TIKTOK beda dikit */
.tiktok-card {
    background: linear-gradient(135deg, #14532d, #16a34a);
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .contact-premium-grid {
        grid-template-columns: 1fr;
    }

    .contact-premium-text h3 {
        font-size: 34px;
    }
}
.kontak-pengelola-section {
    background:
        radial-gradient(circle at top right, rgba(34, 197, 94, 0.06), transparent 25%),
        radial-gradient(circle at bottom left, rgba(134, 239, 172, 0.08), transparent 30%),
        linear-gradient(180deg, #ffffff, #f0fdf4);
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}
.kontak-pengelola-section::before,
.kontak-pengelola-section::after {
    display: none;
}

.kontak-pengelola-section {
    background: #f8fffb !important;
    background-image: none !important;
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}

/* matikan semua overlay lama */
.kontak-pengelola-section::before,
.kontak-pengelola-section::after {
    content: none !important;
    display: none !important;
    background: none !important;
}

/* heading */
.kontak-pengelola-section .section-heading h2 {
    color: #14532d !important;
}

.kontak-pengelola-section .section-heading p {
    color: #4b5563 !important;
}

.kontak-pengelola-section .section-label {
    background: linear-gradient(135deg, #14532d, #22c55e) !important;
    color: white !important;
}

/* FIX CONTACT CARD SAAT DIKLIK / HOVER */
.contact-premium-card,
.contact-premium-card:visited,
.contact-premium-card:hover,
.contact-premium-card:focus,
.contact-premium-card:active {
    background: linear-gradient(135deg, #14532d, #22c55e) !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.contact-premium-card * {
    opacity: 1 !important;
}

.contact-premium-card:hover {
    transform: translateY(-8px);
}

.contact-premium-text h3,
.contact-premium-text p,
.contact-premium-text span,
.contact-premium-text strong {
    opacity: 1 !important;
}

.contact-premium-text h3 {
    color: #ffffff !important;
}

.contact-premium-text p {
    color: rgba(255, 255, 255, 0.9) !important;
}

.contact-premium-text span {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #dcfce7 !important;
}

.contact-premium-text strong {
    color: #fef08a !important;
}

/* icon tetap jelas */
.contact-premium-icon {
    background: rgba(255, 255, 255, 0.16) !important;
    opacity: 1 !important;
}

.contact-premium-icon img {
    opacity: 1 !important;
}

/* HERO PROFIL - CLEAN BEACH */
.page-hero.page-hero-fasilitas {
    min-height: 320px !important;
    position: relative !important;
    background:
        linear-gradient(
            90deg,
            rgba(15, 23, 42, 0.72) 0%,
            rgba(15, 23, 42, 0.45) 42%,
            rgba(14, 116, 144, 0.25) 100%
        ),
        url('/images/profil_pantai.jpg') center center / cover no-repeat !important;
    overflow: hidden;
}

.page-hero.page-hero-fasilitas::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    background: linear-gradient(90deg, #facc15, #22c55e, #0ea5e9);
}

.page-hero.page-hero-fasilitas .page-hero-overlay {
    min-height: 320px !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

.page-hero-content {
    max-width: 760px;
    text-align: left !important;
    padding-left: 10px;
}

.page-hero.page-hero-fasilitas h1 {
    font-size: clamp(38px, 5vw, 58px) !important;
    color: #ffffff !important;
    font-weight: 900;
    line-height: 1.12;
    margin-bottom: 14px;
    text-shadow: 0 6px 20px rgba(0,0,0,0.35);
}

.page-hero.page-hero-fasilitas p {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: #fef3c7 !important;
    background: rgba(255,255,255,0.12);
    padding: 10px 18px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    text-shadow: none;
}

@media (max-width: 768px) {
    .page-hero.page-hero-fasilitas {
        min-height: 270px !important;
    }

    .page-hero.page-hero-fasilitas .page-hero-overlay {
        min-height: 270px !important;
    }

    .page-hero-content {
        text-align: center !important;
        padding-left: 0;
    }

    .page-hero.page-hero-fasilitas h1 {
        font-size: 34px !important;
    }

    .page-hero.page-hero-fasilitas p {
        font-size: 15px;
    }
}

/* HERO PROFIL - CLEAN BEACH */
.page-hero.page-hero-fasilitas {
    min-height: 320px !important;
    position: relative !important;
    background:
        linear-gradient(
            90deg,
            rgba(15, 23, 42, 0.72) 0%,
            rgba(15, 23, 42, 0.45) 42%,
            rgba(14, 116, 144, 0.25) 100%
        ),
        url('/images/tulisan_pelawan_edit.jpg') center center / cover no-repeat !important; 
    overflow: hidden;
}

.page-hero.page-hero-fasilitas::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    background: linear-gradient(90deg, #facc15, #22c55e, #0ea5e9);
}

.page-hero.page-hero-fasilitas .page-hero-overlay {
    min-height: 320px !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

.page-hero-content {
    max-width: 760px;
    text-align: left !important;
    padding-left: 10px;
}

.page-hero.page-hero-fasilitas h1 {
    font-size: clamp(38px, 5vw, 58px) !important;
    color: #ffffff !important;
    font-weight: 900;
    line-height: 1.12;
    margin-bottom: 14px;
    text-shadow: 0 6px 20px rgba(0,0,0,0.35);
}

.page-hero.page-hero-fasilitas p {
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    color: #fef3c7 !important;
    background: rgba(255,255,255,0.12);
    padding: 10px 18px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    text-shadow: none;
}

@media (max-width: 768px) {
    .page-hero.page-hero-fasilitas {
        min-height: 270px !important;
    }

    .page-hero.page-hero-fasilitas .page-hero-overlay {
        min-height: 270px !important;
    }

    .page-hero-content {
        text-align: center !important;
        padding-left: 0;
    }

    .page-hero.page-hero-fasilitas h1 {
        font-size: 34px !important;
    }

    .page-hero.page-hero-fasilitas p {
        font-size: 15px;
    }
}

/* HERO SEMUA HALAMAN KECUALI BERANDA */
.page-header,
.page-hero.page-hero-galeri,
.page-hero.page-hero-kuliner,
.page-hero.page-hero-fasilitas {
    min-height: 320px !important;
    position: relative !important;
    overflow: hidden !important;
    background:
        linear-gradient(
            90deg,
            rgba(15, 23, 42, 0.72) 0%,
            rgba(15, 23, 42, 0.45) 42%,
            rgba(14, 116, 144, 0.25) 100%
        ),
        url('/images/tulisan_pelawan_edit.jpg') center center / cover no-repeat !important;
}

/* GARIS WARNA BAWAH */
.page-header::after,
.page-hero.page-hero-galeri::after,
.page-hero.page-hero-kuliner::after,
.page-hero.page-hero-fasilitas::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 7px;
    background: linear-gradient(90deg, #facc15, #22c55e, #0ea5e9);
    z-index: 2;
}

/* OVERLAY HERO */
.page-hero.page-hero-galeri .page-hero-overlay,
.page-hero.page-hero-kuliner .page-hero-overlay,
.page-hero.page-hero-fasilitas .page-hero-overlay {
    min-height: 320px !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

/* PAGE HEADER BIAR SAMA */
.page-header {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
}

.page-header .container,
.page-hero .container {
    position: relative;
    z-index: 3;
}

/* CONTENT */
.page-header h1,
.page-hero.page-hero-galeri h1,
.page-hero.page-hero-kuliner h1,
.page-hero.page-hero-fasilitas h1 {
    font-size: clamp(38px, 5vw, 58px) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    margin-bottom: 14px !important;
    text-shadow: 0 6px 20px rgba(0,0,0,0.35) !important;
}

.page-header .page-subtitle,
.page-hero.page-hero-galeri p,
.page-hero.page-hero-kuliner p,
.page-hero.page-hero-fasilitas p {
    display: inline-block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #fef3c7 !important;
    background: rgba(255,255,255,0.12) !important;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    backdrop-filter: blur(6px) !important;
    text-shadow: none !important;
    margin: 0 !important;
    max-width: 760px !important;
    line-height: 1.7 !important;
}

/* POSISI TEKS */
.page-hero-content {
    max-width: 760px !important;
    text-align: left !important;
    padding-left: 10px !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .page-header,
    .page-hero.page-hero-galeri,
    .page-hero.page-hero-kuliner,
    .page-hero.page-hero-fasilitas {
        min-height: 270px !important;
    }

    .page-hero.page-hero-galeri .page-hero-overlay,
    .page-hero.page-hero-kuliner .page-hero-overlay,
    .page-hero.page-hero-fasilitas .page-hero-overlay {
        min-height: 270px !important;
    }

    .page-header h1,
    .page-hero.page-hero-galeri h1,
    .page-hero.page-hero-kuliner h1,
    .page-hero.page-hero-fasilitas h1 {
        font-size: 34px !important;
    }

    .page-header .page-subtitle,
    .page-hero.page-hero-galeri p,
    .page-hero.page-hero-kuliner p,
    .page-hero.page-hero-fasilitas p {
        font-size: 15px !important;
    }

    .page-hero-content {
        text-align: center !important;
        padding-left: 0 !important;
    }
}

/* SUBTITLE HERO BIAR RAPI */
.page-header .page-subtitle,
.page-hero.page-hero-galeri p,
.page-hero.page-hero-kuliner p,
.page-hero.page-hero-fasilitas p {
    display: block !important;
    width: fit-content;
    max-width: 780px !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    text-align: center !important;

    color: #fef3c7 !important;
    background: rgba(255,255,255,0.14) !important;
    padding: 14px 28px !important;
    border-radius: 999px !important;
    backdrop-filter: blur(10px) !important;

    margin-top: 18px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    white-space: normal !important;
    word-break: normal !important;
    text-shadow: none !important;
}

/* HERO CONTENT TENGAH */
.page-header .container,
.page-hero .container {
    text-align: center !important;
}

.page-hero-content {
    max-width: 1000px !important;
    margin: 0 auto !important;
    text-align: center !important;
    padding-left: 0 !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .page-header .page-subtitle,
    .page-hero.page-hero-galeri p,
    .page-hero.page-hero-kuliner p,
    .page-hero.page-hero-fasilitas p {
        max-width: 92% !important;
        font-size: 15px !important;
        padding: 12px 18px !important;
        border-radius: 24px !important;
    }
}

.hero-home {
    min-height: 100vh;
    background:
        linear-gradient(
            rgba(0,0,0,0.45),
            rgba(0,0,0,0.45)
        ),
        url('/images/hero-pantai.jpg') center center / cover no-repeat !important;
}

/* SUBTITLE HERO 1 BARIS MEMANJANG */
.page-header .page-subtitle,
.page-hero.page-hero-galeri p,
.page-hero.page-hero-kuliner p,
.page-hero.page-hero-fasilitas p {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    width: auto !important;
    max-width: 1200px !important;
    min-width: 780px !important;

    white-space: nowrap !important;
    overflow: hidden;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-align: center !important;

    color: #fef3c7 !important;
    background: rgba(255,255,255,0.14) !important;
    padding: 16px 36px !important;
    border-radius: 999px !important;
    backdrop-filter: blur(10px) !important;
    text-shadow: none !important;

    margin: 18px auto 0 auto !important;
}

/* POSISI TENGAH */
.page-header .container,
.page-hero .container {
    text-align: center !important;
}

.page-hero-content {
    max-width: 100% !important;
    text-align: center !important;
    padding-left: 0 !important;
}

/* MOBILE BIAR TIDAK PECAH */
@media (max-width: 992px) {
    .page-header .page-subtitle,
    .page-hero.page-hero-galeri p,
    .page-hero.page-hero-kuliner p,
    .page-hero.page-hero-fasilitas p {
        min-width: auto !important;
        max-width: 90% !important;
        white-space: normal !important;
        border-radius: 24px !important;
    }
}

.facility-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

@media (max-width: 992px) {
    .facility-premium-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .facility-premium-grid {
        grid-template-columns: 1fr;
    }
}

.activity-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: stretch;
}

.activity-card {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 180px;
    padding: 32px 34px;
    background: #ffffff;
    border-radius: 28px;
    border-left: 6px solid #58bd67;
    box-shadow: 0 18px 45px rgba(20, 80, 45, 0.12);
    text-align: left;
    transition: 0.3s ease;
}

.activity-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 60px rgba(20, 80, 45, 0.18);
}

.activity-icon {
    flex: 0 0 78px;
    width: 78px;
    height: 78px;
    border-radius: 22px;
    background: linear-gradient(135deg, #ddffe5, #c8f6d2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}

.activity-content {
    flex: 1;
}

.activity-content h3 {
    margin: 0 0 10px;
    font-size: 24px;
    color: #123f2a;
    font-weight: 800;
    line-height: 1.2;
}

.activity-content h3::after {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin-top: 12px;
    background: #58bd67;
    border-radius: 999px;
}

.activity-content p {
    margin: 14px 0 0;
    color: #465166;
    font-size: 16px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .activity-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .activity-card {
        flex-direction: column;
        text-align: center;
        padding: 30px 24px;
    }

    .activity-content h3::after {
        margin-left: auto;
        margin-right: auto;
    }
}

.facility-premium-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow:
        0 15px 35px rgba(22, 58, 38, 0.08),
        inset 0 1px 0 rgba(255,255,255,0.8);
    transition: all 0.35s ease;
}

/* garis glow atas */
.facility-premium-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 30px;
    width: 120px;
    height: 4px;
    border-radius: 20px;
    background: linear-gradient(90deg, #4caf50, #9be7a6);
}

/* glow bulat dekorasi */
.facility-premium-card::after {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(92, 194, 116, 0.14) 0%,
        rgba(92, 194, 116, 0.04) 50%,
        transparent 75%
    );
    pointer-events: none;
}

/* hover premium */
.facility-premium-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 22px 50px rgba(22, 58, 38, 0.14),
        inset 0 1px 0 rgba(255,255,255,0.9);
}

/* icon dibuat lebih premium */
.facility-icon {
    position: relative;
    z-index: 2;
    background: linear-gradient(135deg, #d8f7df, #bdeec8);
    box-shadow:
        0 10px 20px rgba(76, 175, 80, 0.15),
        inset 0 2px 8px rgba(255,255,255,0.8);
}

/* sparkle kecil */
.facility-icon::after {
    content: "✦";
    position: absolute;
    top: -6px;
    right: -4px;
    font-size: 12px;
    color: #f7c948;
    opacity: 0.9;
}

/* garis bawah tipis dekorasi */
.facility-premium-card h3 {
    position: relative;
}

.facility-premium-card h3::after {
    content: "";
    display: block;
    width: 45px;
    height: 3px;
    margin-top: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, #58bd67, #b5efc0);
}

.activity-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: stretch;
}

.activity-card {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 180px;
    padding: 32px 34px;
    background: #ffffff;
    border-radius: 28px;
    border-left: 6px solid #58bd67;
    box-shadow: 0 18px 45px rgba(20, 80, 45, 0.12);
    text-align: left;
    transition: 0.3s ease;
}

.activity-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 25px 60px rgba(20, 80, 45, 0.18);
}

.activity-icon {
    flex: 0 0 78px;
    width: 78px;
    height: 78px;
    border-radius: 22px;
    background: linear-gradient(135deg, #ddffe5, #c8f6d2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}

.activity-content {
    flex: 1;
}

.activity-content h3 {
    margin: 0 0 10px;
    font-size: 24px;
    color: #123f2a;
    font-weight: 800;
    line-height: 1.2;
}

.activity-content h3::after {
    content: "";
    display: block;
    width: 44px;
    height: 4px;
    margin-top: 12px;
    background: #58bd67;
    border-radius: 999px;
}

.activity-content p {
    margin: 14px 0 0;
    color: #465166;
    font-size: 16px;
    line-height: 1.7;
}

@media (max-width: 992px) {
    .activity-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .activity-card {
        flex-direction: column;
        text-align: center;
        padding: 30px 24px;
    }

    .activity-content h3::after {
        margin-left: auto;
        margin-right: auto;
    }
}

.activity-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 220px;
    padding: 34px;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,0.7);
    box-shadow:
        0 16px 40px rgba(20, 80, 45, 0.10),
        inset 0 1px 0 rgba(255,255,255,0.9);
    overflow: hidden;
    backdrop-filter: blur(10px);
    transition: all 0.35s ease;
}

/* garis glow atas */
.activity-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 35px;
    width: 120px;
    height: 4px;
    border-radius: 20px;
    background: linear-gradient(90deg, #58bd67, #b7f4c2);
}

/* lingkaran dekorasi kanan atas */
.activity-card::after {
    content: "";
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(88, 189, 103, 0.14) 0%,
        rgba(88, 189, 103, 0.05) 45%,
        transparent 75%
    );
    pointer-events: none;
}

/* hover */
.activity-card:hover {
    transform: translateY(-8px);
    box-shadow:
        0 22px 55px rgba(20, 80, 45, 0.16),
        inset 0 1px 0 rgba(255,255,255,1);
}

/* icon lebih mewah */
.activity-icon {
    position: relative;
    flex: 0 0 95px;
    width: 95px;
    height: 95px;
    border-radius: 28px;
    background: linear-gradient(135deg, #d9f9df, #c1efcb);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    box-shadow:
        0 10px 24px rgba(88, 189, 103, 0.18),
        inset 0 3px 10px rgba(255,255,255,0.9);
}

/* sparkle */
.activity-icon::after {
    content: "✦";
    position: absolute;
    top: -5px;
    right: -2px;
    font-size: 13px;
    color: #f7c948;
}

/* garis bawah judul */
.activity-content h3 {
    position: relative;
    margin-bottom: 14px;
}

.activity-content h3::after {
    content: "";
    display: block;
    width: 55px;
    height: 4px;
    margin-top: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, #58bd67, #c8f7d1);
}

/* titik dekorasi bawah kanan */
.activity-content::after {
    content: "";
    position: absolute;
    right: 28px;
    bottom: 22px;
    width: 40px;
    height: 40px;
    background-image: radial-gradient(#d5ebd9 2px, transparent 2px);
    background-size: 10px 10px;
    opacity: 0.6;
}

/* teks */
.activity-content {
    position: relative;
    flex: 1;
    z-index: 2;
}

.home-weather-pill-section {
    background: #eefaf3;
    padding: 22px 0 6px;
}

.home-weather-pill {
    width: fit-content;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1px solid rgba(34, 197, 94, 0.18);
    box-shadow: 0 12px 30px rgba(15, 92, 55, 0.10);
    border-radius: 999px;
    padding: 12px 18px 12px 14px;
    text-decoration: none;
}

.weather-pill-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 27px;
}

.weather-pill-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.weather-pill-text b {
    color: #12452f;
    font-size: 18px;
    font-weight: 900;
}

.weather-pill-text small {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
}

.weather-pill-arrow {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #facc15;
    color: #12452f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}

@media (max-width: 576px) {
    .home-weather-pill {
        width: 100%;
        justify-content: space-between;
    }
}

.home-weather-wrapper {
    padding: 45px 0 60px;
    background: linear-gradient(180deg, #f7fbf7 0%, #edf7ee 100%);
}

.home-weather-wrapper .container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 30px;
}

.weather-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    align-items: center;
}

/* CARD KIRI */
 .travel-ready-card {
    background: #ffffff;
    border-radius: 34px;
    padding: 26px 28px;
    border: 1px solid #dceedd;
    box-shadow: 0 15px 40px rgba(32, 84, 40, 0.08);

    display: flex;
    align-items: center;
    gap: 20px;

    min-height: 180px;
}

.travel-ready-icon {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: linear-gradient(135deg, #2d6d34, #53b65f);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}

.travel-ready-content {
    flex: 1;
}

.travel-ready-card h2 {
    margin: 0 0 10px;
    font-size: 34px;
    line-height: 1.1;
    font-weight: 800;
    color: #1f4c2a;
}

.travel-ready-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #48604e;
}

/* CARD KANAN */
.home-weather-card {
    position: relative;
    border-radius: 36px;
    padding: 34px;
    background: linear-gradient(135deg, #234d29 0%, #417140 50%, #7ca567 100%);
    box-shadow: 0 25px 60px rgba(30, 78, 37, 0.20);

    display: grid;
    grid-template-columns: 1.2fr 1.5fr auto;
    gap: 24px;
    align-items: center;
    overflow: hidden;
}

.home-weather-card::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -60px;
    top: -50px;
    border-radius: 50%;
    background: rgba(255, 225, 87, 0.20);
}

.home-weather-main {
    display: flex;
    align-items: center;
    gap: 18px;
    position: relative;
    z-index: 2;
}

.home-weather-icon {
    width: 78px;
    height: 78px;
    border-radius: 24px;
    background: rgba(255,255,255,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    border: 1px solid rgba(255,255,255,0.18);
}

.home-weather-main span {
    display: inline-block;
    background: rgba(255, 225, 87, 0.16);
    padding: 8px 14px;
    border-radius: 999px;
    color: #ffe75b;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 10px;
}

.home-weather-main h2 {
    margin: 0;
    font-size: 36px;
    font-weight: 800;
    color: white;
}

.home-weather-main p {
    margin: 10px 0 0;
    color: rgba(255,255,255,0.88);
    font-size: 17px;
    line-height: 1.6;
}

.home-weather-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    position: relative;
    z-index: 2;
}

.home-weather-item {
    padding: 20px;
    border-radius: 24px;
    background: rgba(255,255,255,0.13);
    border: 1px solid rgba(255,255,255,0.20);
    backdrop-filter: blur(10px);
}

.home-weather-item span {
    display: block;
    color: rgba(255,255,255,0.82);
    margin-bottom: 10px;
    font-size: 15px;
}

.home-weather-item strong {
    color: white;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
}

.home-weather-btn {
    position: relative;
    z-index: 2;
    padding: 18px 28px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffe45f, #ffd83d);
    color: #204927;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    font-size: 17px;
}

.home-weather-btn:hover {
    transform: translateY(-2px);
}

/* RESPONSIVE */
@media (max-width: 1200px) {
    .weather-layout {
        grid-template-columns: 1fr;
    }

    .home-weather-card {
        grid-template-columns: 1fr;
    }

    .home-weather-items {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .travel-ready-card h2 {
        font-size: 30px;
    }

    .travel-ready-card p {
        font-size: 17px;
    }

    .home-weather-items {
        grid-template-columns: 1fr;
    }

    .home-weather-main h2 {
        font-size: 28px;
    }
}

.home-weather-wrapper {
    padding: 38px 0 48px;
    background: linear-gradient(180deg, #f7fbf7 0%, #edf7ee 100%);
}

.home-weather-wrapper .container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 42px;
}

.weather-layout {
    display: grid;
    grid-template-columns: 430px 1fr;
    gap: 24px;
    align-items: center;
}

/* CARD KIRI */
.travel-ready-card {
    min-height: 155px;
    padding: 24px 28px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid #dceedd;
    box-shadow: 0 16px 38px rgba(32, 84, 40, 0.08);

    display: flex;
    align-items: center;
    gap: 22px;
}

.travel-ready-icon {
    flex: 0 0 74px;
    width: 74px;
    height: 74px;
    border-radius: 22px;
    background: linear-gradient(135deg, #2d6d34, #53b65f);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}

.travel-ready-content {
    flex: 1;
}

.travel-ready-card h2 {
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 800;
    color: #1f4c2a;
}

.travel-ready-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    color: #4b5f50;
}

/* CARD KANAN */
.home-weather-card {
    min-height: 155px;
    padding: 24px 30px;
    border-radius: 30px;
    background: linear-gradient(135deg, #234d29 0%, #416f3f 50%, #7ba466 100%);
    box-shadow: 0 22px 50px rgba(30, 78, 37, 0.18);

    display: grid;
    grid-template-columns: 1.15fr 1.65fr auto;
    gap: 22px;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.home-weather-card::before {
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    right: -48px;
    top: -58px;
    border-radius: 50%;
    background: rgba(255, 225, 87, 0.18);
}

.home-weather-main {
    display: flex;
    align-items: center;
    gap: 16px;
    position: relative;
    z-index: 2;
}

.home-weather-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    background: rgba(255,255,255,0.14);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 31px;
    border: 1px solid rgba(255,255,255,0.18);
}

.home-weather-main span {
    display: inline-block;
    margin-bottom: 8px;
    padding: 7px 13px;
    border-radius: 999px;
    background: rgba(255, 225, 87, 0.16);
    color: #ffe75b;
    font-size: 12px;
    font-weight: 800;
}

.home-weather-main h2 {
    margin: 0;
    font-size: 32px;
    line-height: 1.12;
    font-weight: 800;
    color: #ffffff;
}

.home-weather-main p {
    margin: 8px 0 0;
    max-width: 360px;
    color: rgba(255,255,255,0.88);
    font-size: 15px;
    line-height: 1.55;
}

.home-weather-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    position: relative;
    z-index: 2;
}

.home-weather-item {
    min-height: 96px;
    padding: 16px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,0.13);
    border: 1px solid rgba(255,255,255,0.20);
}

.home-weather-item span {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,0.82);
    font-size: 14px;
}

.home-weather-item strong {
    display: block;
    color: white;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
}

.home-weather-btn {
    position: relative;
    z-index: 2;
    padding: 15px 24px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffe45f, #ffd83d);
    color: #204927;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    font-size: 16px;
}

/* RESPONSIVE */
@media (max-width: 1200px) {
    .weather-layout {
        grid-template-columns: 1fr;
    }

    .home-weather-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .home-weather-wrapper .container {
        padding: 0 22px;
    }

    .travel-ready-card {
        align-items: flex-start;
    }

    .travel-ready-card h2 {
        font-size: 25px;
    }

    .home-weather-items {
        grid-template-columns: 1fr;
    }
}

.home-weather-wrapper {
    padding: 40px 0 55px;
    background: linear-gradient(180deg, #f7fbf7 0%, #edf7ee 100%);
    width: 100%;
}

.home-weather-wrapper .container {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 20px; /* jarak dari ujung kiri kanan */
    box-sizing: border-box;
}

.weather-layout {
    display: grid;
    grid-template-columns: 420px 1fr; /* kiri fix, kanan ngikut */
    gap: 26px;
    align-items: center;
    width: 100%;
}

.home-weather-wrapper {
    padding: 40px 0 55px;
    background: transparent;
    position: relative;
}

.home-weather-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at left center, rgba(34, 197, 94, 0.05), transparent 25%),
        radial-gradient(circle at right bottom, rgba(20, 83, 45, 0.05), transparent 30%);
    pointer-events: none;
    z-index: 0;
}

.home-weather-wrapper .container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.home-weather-wrapper {
    padding: 40px 0 55px;
    background: inherit;
}

.home-weather-wrapper {
    position: relative;
    padding: 48px 0 68px;
    background:
        radial-gradient(circle at 8% 20%, rgba(34, 197, 94, 0.12), transparent 24%),
        radial-gradient(circle at 88% 40%, rgba(250, 204, 21, 0.10), transparent 22%),
        linear-gradient(
            180deg,
            #f8fcf9 0%,
            #eef8f1 45%,
            #e7f5ea 100%
        );
    overflow: hidden;
}

.home-weather-wrapper::before {
    content: "";
    position: absolute;
    left: -70px;
    bottom: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.10);
    filter: blur(8px);
}

.home-weather-wrapper::after {
    content: "";
    position: absolute;
    right: 75px;
    bottom: 35px;
    width: 120px;
    height: 95px;
    opacity: 0.22;
    background-image: radial-gradient(#14532d 2px, transparent 2px);
    background-size: 18px 18px;
}

.home-weather-wrapper .container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
}

.user-dropdown {
    position: relative;
}

.user-dropdown-btn {
    border: none;
    outline: none;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    padding: 14px 24px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 8px;
}

.user-dropdown-btn:hover {
    background: rgba(255, 255, 255, 0.24);
}

.user-dropdown-menu {
    position: absolute;
    top: calc(100% + 14px);
    right: 0;
    width: 340px;
    background: #ffffff;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.25s ease;
    z-index: 9999;
}

.user-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.user-info-box {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 16px;
    margin-bottom: 14px;
    border-bottom: 1px solid #e5e7eb;
}

.user-info-avatar {
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #2f7d46, #55b96b);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.user-info-box h4 {
    margin: 0 0 4px;
    color: #17412b;
    font-size: 18px;
    font-weight: 900;
}

.user-info-box p {
    margin: 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 600;
}

.dropdown-link,
.dropdown-logout {
    width: 100%;
    border: none;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 18px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.dropdown-link {
    background: #ecfdf3;
    color: #14532d;
    margin-bottom: 12px;
}

.dropdown-link:hover {
    background: #dcfce7;
}

.dropdown-logout {
    background: #fee2e2;
    color: #dc2626;
}

.dropdown-logout:hover {
    background: #fecaca;
}

.user-dropdown {
    position: relative;
    padding-bottom: 12px;
}

.user-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    width: 340px;
    background: #ffffff;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 18px 45px rgba(0,0,0,0.18);
    display: none;
    z-index: 99999;
}

.user-dropdown-menu.show {
    display: block;
}

.user-dropdown:hover .user-dropdown-menu {
    display: block;
}

.user-dropdown {
    padding-bottom: 22px;
}

.user-dropdown {
    position: relative !important;
    padding-bottom: 18px !important;
}

.user-dropdown-btn {
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
    background: rgba(255,255,255,0.16) !important;
    color: #ffffff !important;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.user-dropdown-btn:hover {
    background: rgba(255,255,255,0.28) !important;
}

.user-dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    width: 340px !important;
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 18px !important;
    box-shadow: 0 18px 45px rgba(0,0,0,0.18) !important;
    display: none !important;
    z-index: 99999 !important;
}

.user-dropdown:hover .user-dropdown-menu {
    display: block !important;
}

.user-info-box {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding-bottom: 16px !important;
    margin-bottom: 14px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.user-info-avatar {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
    background: linear-gradient(135deg, #2f7d46, #55b96b) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 26px !important;
}

.user-info-box h4 {
    margin: 0 0 4px !important;
    color: #17412b !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.user-info-box p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.dropdown-link {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 18px !important;
    border-radius: 16px !important;
    background: #dcfce7 !important;
    color: #14532d !important;
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    margin-bottom: 12px !important;
}

.dropdown-link:hover {
    background: #bbf7d0 !important;
}

.dropdown-logout {
    width: 100% !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 18px !important;
    border-radius: 16px !important;
    background: #fee2e2 !important;
    color: #dc2626 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.dropdown-logout:hover {
    background: #fecaca !important;
}

.dropdown-link {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 18px !important;
    border-radius: 16px !important;
    background: #1f5f3b !important;   /* hijau tua */
    color: #ffffff !important;        /* tulisan putih */
    text-decoration: none !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    margin-bottom: 12px !important;
}

.dropdown-link:hover {
    background: #174a2e !important;
    color: #ffffff !important;
}

.dropdown-link * {
    color: #ffffff !important;
}

.dropdown-logout {
    width: 100% !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 16px 18px !important;
    border-radius: 16px !important;
    background: #dc2626 !important;   /* merah */
    color: #ffffff !important;        /* tulisan putih */
    font-size: 16px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.dropdown-logout:hover {
    background: #b91c1c !important;
    color: #ffffff !important;
}

.dropdown-logout * {
    color: #ffffff !important;
}

.user-dropdown-menu .dropdown-link {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    padding: 16px 22px !important;
    gap: 14px !important;
    background: #1f5f3b !important;
    color: #ffffff !important;
    border-radius: 16px !important;
    text-decoration: none !important;
    margin-bottom: 12px !important;
    margin-left: 0 !important;
    float: none !important;
}

.user-dropdown-menu .dropdown-link b {
    color: #ffffff !important;
    display: block !important;
    text-align: left !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

.user-dropdown-menu .dropdown-link span:first-child {
    width: 24px !important;
    min-width: 24px !important;
    text-align: center !important;
    margin: 0 !important;
}

.user-dropdown-menu .dropdown-link,
.user-dropdown-menu .dropdown-link:visited {
    background: #1f5f3b !important;
    color: #ffffff !important;
}

.user-dropdown-menu .dropdown-link:hover {
    background: #174a2e !important;
    color: #ffffff !important;
}

.user-dropdown-menu .dropdown-link:active {
    background: #0f3a22 !important;   /* saat diklik */
    color: #ffffff !important;
    transform: scale(0.98);
}

.user-dropdown-menu .dropdown-link:focus {
    background: #0f3a22 !important;
    color: #ffffff !important;
    outline: none !important;
}

.user-dropdown-menu .dropdown-link b,
.user-dropdown-menu .dropdown-link span {
    color: #ffffff !important;
}

.admin-beranda-card {
    min-height: 430px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 36px 34px 26px !important;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.10) !important;
    border: 1px solid rgba(20, 83, 45, 0.06) !important;
    position: relative;
    overflow: hidden;
}

.admin-beranda-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 9px;
    background: linear-gradient(90deg, #16a34a, #4ade80);
    border-radius: 20px 20px 0 0;
}

.admin-beranda-card h3 {
    color: #14532d !important;
    font-size: 25px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    margin-bottom: 18px !important;
}

.admin-beranda-card p {
    color: #374151 !important;
    font-size: 20px !important;
    line-height: 1.7 !important;
    margin-bottom: 25px !important;
}

.admin-beranda-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 22px;
}

.admin-beranda-actions form {
    margin: 0;
}

.admin-edit-btn,
.admin-delete-btn {
    border: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 12px 22px;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
    transition: all 0.25s ease;
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-delete-btn {
    background: #d7352f;
    color: #ffffff;
}

.admin-edit-btn:hover,
.admin-delete-btn:hover {
    transform: translateY(-3px);
}

.admin-beranda-grid {
    align-items: stretch;
}

.profil-card-icon {
    font-size: 26px;
    margin-bottom: 10px;
}

.step-number {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: #14532d;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    margin-bottom: 18px;
}

@media (max-width: 768px) {
    .admin-beranda-card {
        min-height: auto;
        padding: 30px 24px 24px !important;
    }

    .admin-beranda-card h3 {
        font-size: 22px !important;
    }

    .admin-beranda-card p {
        font-size: 16px !important;
    }

    .admin-beranda-actions {
        flex-wrap: wrap;
    }
}

.admin-user-preview-page {
    background: #f4fbf7;
    min-height: 100vh;
}

.admin-floating-title {
    background: #ffffff;
    margin-bottom: 25px;
    padding: 24px 28px;
    border-radius: 24px;
    box-shadow: 0 14px 35px rgba(20, 83, 45, 0.10);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.admin-floating-title h1 {
    color: #14532d;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 6px;
}

.admin-floating-title p {
    color: #4b5563;
    margin: 0;
}

.admin-header-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-view-user-btn {
    border: none;
    background: #14532d;
    color: #ffffff;
    padding: 12px 18px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(20, 83, 45, 0.18);
}

.admin-view-user-btn:hover {
    background: #166534;
    color: #ffffff;
    transform: translateY(-2px);
}

.admin-alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 14px 18px;
    border-radius: 16px;
    margin-bottom: 20px;
    font-weight: 700;
}

.admin-editable-section {
    position: relative;
}

.admin-section-edit-btn {
    position: absolute;
    top: 18px;
    right: 25px;
    z-index: 20;
    background: #ffffff;
    color: #14532d;
    border: none;
    padding: 11px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
}

.admin-section-edit-btn:hover {
    background: #14532d;
    color: #ffffff;
}

.admin-beranda-grid {
    align-items: stretch;
}

.admin-beranda-card {
    min-height: 430px;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 36px 34px 26px !important;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.10) !important;
    border: 1px solid rgba(20, 83, 45, 0.06) !important;
    position: relative;
    overflow: hidden;
}

.admin-beranda-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 9px;
    background: linear-gradient(90deg, #16a34a, #4ade80);
    border-radius: 20px 20px 0 0;
}

.admin-beranda-card h3 {
    color: #14532d !important;
    font-size: 25px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    margin-bottom: 18px !important;
}

.admin-beranda-card p {
    color: #374151 !important;
    font-size: 20px !important;
    line-height: 1.7 !important;
    margin-bottom: 25px !important;
}

.admin-beranda-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 22px;
}

.admin-beranda-actions form {
    margin: 0;
}

.admin-edit-btn,
.admin-delete-btn {
    border: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 12px 22px;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.10);
    transition: all 0.25s ease;
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-delete-btn {
    background: #d7352f;
    color: #ffffff;
}

.admin-edit-btn:hover,
.admin-delete-btn:hover {
    transform: translateY(-3px);
}

.profil-card-icon {
    font-size: 28px;
    margin-bottom: 12px;
}

.step-number {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: #14532d;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    margin-bottom: 18px;
}

.admin-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 25px;
}

.admin-modal-box {
    background: #ffffff;
    width: min(95%, 760px);
    max-height: 90vh;
    overflow-y: auto;
    border-radius: 26px;
    padding: 32px;
    box-shadow: 0 25px 70px rgba(15, 23, 42, 0.25);
    position: relative;
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 22px;
}

.admin-close {
    position: absolute;
    top: 18px;
    right: 22px;
    font-size: 32px;
    font-weight: 800;
    color: #dc2626;
    cursor: pointer;
}

.admin-modal-box label {
    display: block;
    font-weight: 700;
    color: #14532d;
    margin-bottom: 7px;
    margin-top: 14px;
}

.admin-modal-box input,
.admin-modal-box textarea,
.admin-modal-box select {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 14px;
    padding: 13px 15px;
    font-size: 14px;
    color: #111827;
    outline: none;
}

.admin-modal-box input:focus,
.admin-modal-box textarea:focus,
.admin-modal-box select:focus {
    border-color: #16a34a;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.admin-modal-box button[type="submit"] {
    margin-top: 22px;
}

@media (max-width: 768px) {
    .admin-floating-title {
        padding: 22px;
    }

    .admin-floating-title h1 {
        font-size: 25px;
    }

    .admin-section-edit-btn {
        position: relative;
        top: auto;
        right: auto;
        margin: 14px 0 0 14px;
    }

    .admin-beranda-card {
        min-height: auto;
        padding: 30px 24px 24px !important;
    }

    .admin-beranda-card h3 {
        font-size: 22px !important;
    }

    .admin-beranda-card p {
        font-size: 16px !important;
    }

    .admin-beranda-actions {
        flex-wrap: wrap;
    }

    .admin-modal-box {
        padding: 26px 20px;
    }
}

.admin-card-action-wrap {
    position: relative;
    overflow: hidden;
}

.admin-card-action-wrap .admin-beranda-actions {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 20;
}

.home-info-photo-card.admin-card-action-wrap {
    padding-bottom: 90px;
}

.step-card.admin-card-action-wrap {
    padding-bottom: 95px;
}

.admin-beranda-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.admin-beranda-actions form {
    margin: 0;
}

.admin-edit-btn,
.admin-delete-btn {
    border: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16);
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-delete-btn {
    background: #d7352f;
    color: #ffffff;
}

.admin-section-edit-btn {
    position: absolute;
    top: 18px;
    right: 24px;
    z-index: 50;
    border: none;
    background: #ffffff;
    color: #14532d;
    padding: 10px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}

.admin-section-edit-btn:hover {
    background: #14532d;
    color: #ffffff;
}

.admin-floating-title {
    background: #ffffff;
    padding: 24px;
    border-radius: 22px;
    margin-bottom: 24px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.admin-header-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-view-user-btn {
    border: none;
    background: #14532d;
    color: #ffffff;
    padding: 11px 18px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
}

.admin-alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 14px 18px;
    border-radius: 14px;
    margin-bottom: 18px;
    font-weight: 700;
}

.admin-home-card {
    background: #ffffff;
    min-height: 440px;
    border-radius: 20px;
    padding: 42px 34px 26px;
    box-shadow: 0 18px 45px rgba(20, 83, 45, 0.10);
    border: 1px solid rgba(20, 83, 45, 0.06);
    position: relative;
    overflow: hidden;

    display: flex;
    flex-direction: column;
}

.admin-home-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 9px;
    background: linear-gradient(90deg, #16a34a, #4ade80);
}

.admin-home-card h3 {
    color: #14532d;
    font-size: 27px;
    line-height: 1.35;
    font-weight: 800;
    margin-bottom: 20px;
}

.admin-home-card p {
    color: #374151;
    font-size: 21px;
    line-height: 1.7;
    margin-bottom: 25px;
}

.admin-beranda-actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-beranda-actions form {
    margin: 0;
}

.admin-edit-btn,
.admin-delete-btn {
    border: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-delete-btn {
    background: #d7352f;
    color: #ffffff;
}

.admin-edit-btn:hover,
.admin-delete-btn:hover {
    transform: translateY(-3px);
}

.info-grid,
.feature-grid,
.profil-card-grid,
.step-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

@media (max-width: 992px) {
    .info-grid,
    .feature-grid,
    .profil-card-grid,
    .step-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .info-grid,
    .feature-grid,
    .profil-card-grid,
    .step-grid {
        grid-template-columns: 1fr;
    }

    .admin-home-card {
        min-height: auto;
    }
}

.admin-card-action-wrap {
    position: relative;
    overflow: hidden;
}

.admin-card-action-wrap .admin-beranda-actions {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    z-index: 50;
    display: flex;
    gap: 10px;
    align-items: center;
}

.admin-card-action-wrap .admin-beranda-actions form {
    margin: 0;
}

.aktivitas-seru-card.admin-card-action-wrap,
.pp-feature-card.admin-card-action-wrap {
    padding-bottom: 85px;
}

.admin-gallery-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.admin-gallery-card {
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    min-height: 260px;
    box-shadow: 0 15px 35px rgba(20, 83, 45, 0.12);
    position: relative;
    padding-bottom: 90px;
}

.admin-gallery-card img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.admin-gallery-text {
    padding: 18px;
}

.admin-gallery-text h3 {
    color: #14532d;
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 8px;
}

.admin-gallery-text p {
    color: #4b5563;
    font-size: 14px;
    line-height: 1.6;
}

.admin-edit-btn,
.admin-delete-btn {
    border: none;
    cursor: pointer;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16);
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-delete-btn {
    background: #d7352f;
    color: #ffffff;
}

@media (max-width: 768px) {
    .admin-gallery-edit-grid {
        grid-template-columns: 1fr;
    }
}

.admin-editable-section {
    position: relative;
    overflow: hidden;
}

.admin-section-edit-btn,
.admin-image-edit-btn {
    position: absolute;
    top: 24px;
    right: 32px;
    z-index: 50;
    border: none;
    background: #ffffff;
    color: #14532d;
    padding: 12px 20px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.16);
}

.admin-image-edit-btn {
    top: 18px;
    right: 18px;
}

.admin-card-action-wrap {
    position: relative;
    padding-bottom: 88px;
}

.admin-card-action-wrap .admin-beranda-actions {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 22px;
    display: flex;
    gap: 10px;
    z-index: 40;
}

.admin-beranda-actions form {
    margin: 0;
}

.admin-edit-btn,
.admin-delete-btn {
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.14);
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-delete-btn {
    background: #d7352f;
    color: #ffffff;
}

.admin-gallery-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.admin-gallery-card {
    background: #ffffff;
    border-radius: 26px;
    overflow: hidden;
    min-height: 340px;
    box-shadow: 0 18px 40px rgba(20, 83, 45, 0.12);
}

.admin-gallery-card img {
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.admin-gallery-text {
    padding: 20px 22px;
}

.admin-gallery-text h3 {
    color: #14532d;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 8px;
}

.admin-gallery-text p {
    color: #374151;
    line-height: 1.6;
}

.aktivitas-seru-card.admin-card-action-wrap,
.pp-feature-card.admin-card-action-wrap,
.home-info-photo-card.admin-card-action-wrap,
.step-card.admin-card-action-wrap {
    padding-bottom: 95px;
}

.admin-mini-edit-card,
.admin-bottom-edit-card {
    position: relative;
}

.admin-mini-edit-card .admin-beranda-actions,
.admin-bottom-edit-card .admin-beranda-actions {
    margin-top: 14px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.admin-modal {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.58);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 24px;
}

.admin-modal-box {
    width: min(94vw, 720px);
    max-height: 88vh;
    overflow-y: auto;
    background: #ffffff;
    border-radius: 28px;
    padding: 34px 40px;
    box-shadow: 0 28px 80px rgba(15, 23, 42, 0.28);
    position: relative;
}

.admin-modal-box h2 {
    color: #14532d;
    font-size: 30px;
    font-weight: 900;
    margin-bottom: 28px;
}

.admin-close {
    position: absolute;
    top: 22px;
    right: 28px;
    color: #d7352f;
    font-size: 34px;
    font-weight: 900;
    cursor: pointer;
}

.admin-modal-box label {
    display: block;
    color: #14532d;
    font-weight: 800;
    margin: 18px 0 8px;
}

.admin-modal-box input,
.admin-modal-box textarea,
.admin-modal-box select {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 16px;
    padding: 14px 16px;
    font-size: 15px;
    outline: none;
}

.admin-modal-box textarea {
    min-height: 120px;
}

.admin-modal-box input:focus,
.admin-modal-box textarea:focus,
.admin-modal-box select:focus {
    border-color: #16a34a;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
}

@media (max-width: 768px) {
    .admin-section-edit-btn {
        top: 14px;
        right: 14px;
        padding: 10px 14px;
        font-size: 13px;
    }

    .admin-gallery-edit-grid {
        grid-template-columns: 1fr;
    }

    .admin-modal-box {
        padding: 28px 22px;
    }
}

.admin-card-action-wrap,
.profil-card-item,
.overview-card,
.unique-small-card,
.vm-card {
    position: relative;
}

.admin-mini-edit-btn,
.admin-edit-btn,
.admin-section-edit-btn {
    position: relative;
    z-index: 999;
    pointer-events: auto;
}

.admin-mini-edit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: #ffffff;
    color: #14532d;
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

.admin-mini-edit-btn:hover,
.admin-edit-btn:hover,
.admin-section-edit-btn:hover {
    transform: translateY(-2px);
}

/* PERBESAR AKTIVITAS AGAR SEJAJAR DENGAN GALERI */
.activity-grid {
    align-items: stretch;
}

.activity-card {
    min-height: 300px;
}

.activity-card.large {
min-height: 650px;   /* sebelumnya lebih pendek */
}

.activity-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-card-edit-actions {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 16px;
    display: flex !important;
    justify-content: center;
    gap: 8px;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    z-index: 999 !important;
    transition: none !important;
}

.admin-edit-card:hover .admin-card-edit-actions {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

.qr-code-text {
    margin: 10px auto 12px;
    max-width: 200px;
    background: rgba(255,255,255,0.16);
    color: #ffffff;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: bold;
    text-align: center;
    word-break: break-all;
}

.ticket-status-used {
    background: #fed7aa !important;
    color: #9a3412 !important;
}

.ticket-status-active {
    background: #dcfce7 !important;
    color: #166534 !important;
}

/* FIX TABLE PENGELOLA BIAR TIDAK MELEBAR KE UJUNG */
.admin-main {
    overflow-x: hidden;
}

.admin-dashboard-section .container {
    max-width: 100%;
    overflow-x: hidden;
}

.admin-table-card {
    max-width: 100%;
    overflow: hidden;
}

.table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.admin-table th,
.admin-table td {
    white-space: nowrap;
}

.admin-table td:nth-child(3),
.admin-table td:nth-child(6) {
    white-space: normal;
}

.btn-download-excel {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, #ffffff, #f3fff7);
    color: #14532d !important;
    padding: 12px 20px;
    border-radius: 14px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
    border: 2px solid rgba(255, 255, 255, 0.7);
    transition: all 0.3s ease;
    white-space: nowrap;
}

.btn-download-excel:hover {
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    color: #0f5132 !important;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
    text-decoration: none !important;
}

.btn-download-excel:active {
    transform: scale(0.98);
}

.admin-dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.admin-detail-section {
    padding: 40px 0;
    min-height: 100vh;
}

.admin-detail-container {
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 24px;
}

.admin-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 24px;
}

.admin-detail-label {
    display: inline-block;
    background: #dcfce7;
    color: #166534;
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}

.admin-detail-header h1 {
    font-size: 38px;
    font-weight: 800;
    color: #0f172a;
    margin: 0 0 8px;
}

.admin-detail-header p {
    color: #64748b;
    font-size: 15px;
    margin: 0;
}

.btn-back-detail {
    background: #166534;
    color: #ffffff !important;
    padding: 12px 18px;
    border-radius: 14px;
    text-decoration: none !important;
    font-weight: 700;
}

.admin-detail-card {
    background: #ffffff;
    border-radius: 28px;
    padding: 34px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}

.detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.detail-info-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 16px 18px;
}

.detail-info-item.full {
    grid-column: span 2;
}

.detail-info-item span {
    display: block;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 6px;
}

.detail-info-item strong {
    display: block;
    color: #0f172a;
    font-size: 16px;
    font-weight: 800;
    word-break: break-word;
}

.detail-qr-box {
    margin-top: 26px;
    background: #f0fdf4;
    border: 1px dashed #22c55e;
    border-radius: 22px;
    padding: 24px;
    text-align: center;
}

.detail-qr-box span {
    display: block;
    color: #14532d;
    font-weight: 800;
    margin-bottom: 14px;
}

.detail-qr-box img {
    width: 180px;
    height: 180px;
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
}

@media (max-width: 768px) {
    .admin-detail-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .detail-info-grid {
        grid-template-columns: 1fr;
    }

    .detail-info-item.full {
        grid-column: span 1;
    }

    .admin-detail-header h1 {
        font-size: 30px;
    }
}

.alert-success {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
    padding: 13px 16px;
    border-radius: 14px;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 600;
}

.login-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(4px);
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.login-popup {
    width: 100%;
    max-width: 500px;
    background: #ffffff;
    border-radius: 28px;
    padding: 38px;
    text-align: center;
    box-shadow: 0 25px 80px rgba(0,0,0,0.28);
}

.login-popup-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: #e9f7ed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}

.login-popup h2 {
    color: #14532d;
    font-size: 34px;
    font-weight: 800;
    margin-bottom: 8px;
}

.login-popup p {
    color: #64748b;
    margin-bottom: 22px;
}

.login-popup input {
    width: 100%;
    height: 56px;
    border-radius: 16px;
    border: 1px solid #d6dde5;
    margin-bottom: 14px;
    padding: 0 18px;
}

.login-popup button[type="submit"] {
    width: 100%;
    height: 56px;
    border: none;
    border-radius: 16px;
    background: linear-gradient(135deg, #14532d, #22c55e);
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    cursor: pointer;
}

.popup-register {
    margin-top: 18px;
    color: #64748b;
}

.popup-register a {
    color: #16a34a;
    font-weight: 800;
    text-decoration: none;
}

.popup-close-btn {
    width: 100%;
    height: 50px;
    margin-top: 18px;
    border-radius: 15px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    color: #14532d;
    font-weight: 800;
    cursor: pointer;
}

.popup-success {
    background: #dcfce7;
    color: #166534;
    padding: 12px;
    border-radius: 12px;
    margin-bottom: 16px;
}

.popup-error {
    background: #fee2e2;
    color: #991b1b;
    padding: 12px;
    border-radius: 12px;
    margin-bottom: 16px;
}

.akun-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 18px;
}

.akun-actions form {
    margin: 0;
    width: 100%;
}

.akun-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    border-radius: 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: 0.25s ease;
    box-sizing: border-box;
}

.akun-btn-primary {
    background: #2f6b3f;
    color: #ffffff;
}

.akun-btn-primary:hover {
    background: #255633;
    transform: translateY(-2px);
}

.akun-btn-danger {
    background: #dc2626;
    color: #ffffff;
}

.akun-btn-danger:hover {
    background: #b91c1c;
    transform: translateY(-2px);
}

.akun-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    margin-top: 18px !important;
}

.akun-btn {
    width: 100% !important;
    height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border-radius: 16px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    transition: 0.25s ease !important;
}

.akun-btn-primary {
    background: #2f6b3f !important;
    color: #ffffff !important;
}

.akun-btn-primary:hover {
    background: #255633 !important;
}

.akun-btn-danger {
    background: #dc2626 !important;
    color: #ffffff !important;
}

.akun-btn-danger:hover {
    background: #b91c1c !important;
}

.user-dropdown-menu .dropdown-logout-form {
    width: 100% !important;
    margin: 14px 0 0 0 !important;
    padding: 0 !important;
}

.user-dropdown-menu .dropdown-logout-btn {
    width: 100% !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    border: none !important;
    border-radius: 16px !important;
    background: #dc2626 !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.user-dropdown-menu .dropdown-logout-btn:hover {
    background: #b91c1c !important;
}

.user-dropdown-menu .dropdown-logout-btn {
    width: 100% !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    padding: 0 22px !important;
    border: none !important;
    border-radius: 16px !important;
    background: #dc2626 !important;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.unique-big-card {
    position: relative;
    min-height: 520px;
    border-radius: 30px;
    padding: 70px 55px;
    overflow: hidden;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

.unique-big-card {
    position: relative;
    overflow: hidden;
}

.unique-big-card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.unique-big-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.65));
    z-index: 2;
}

.unique-big-card h3,
.unique-big-card p,
.unique-big-card button {
    position: relative;
    z-index: 3;
}

.unique-big-card{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    min-height:700px;
}

.unique-big-card-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:1;
}

.unique-big-card-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.35);
    z-index:2;
}

.unique-big-card-content{
    position:relative;
    z-index:3;
    padding:60px;
    color:#fff;
}

.admin-modal {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    background: rgba(0,0,0,.65) !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
}

.admin-modal-box {
    position: relative !important;
    z-index: 2147483647 !important;
    width: min(95%, 620px);
    max-height: 90vh;
    overflow-y: auto;
    background: #fff;
    border-radius: 22px;
    padding: 28px;
}

.facility-cta,
.facility-cta::before,
.facility-cta::after {
    z-index: 1 !important;
}

body:has(.admin-modal[style*="flex"]) .facility-cta {
    display: none !important;
}

/* Edit Profil = Hijau */
.akun-btn-primary{
    background:#3f7442 !important;
    color:#ffffff !important;
}

/* Ganti Password = Hijau */
.akun-btn-secondary{
    background:#3f7442 !important;
    color:#ffffff !important;
}

/* Kembali = Kuning */
.akun-btn-back{
    background:#f4d03f !important;
    color:#1f4d2f !important;
}

.akun-btn-primary,
.akun-btn-secondary {
    background: #3f7442 !important;
    color: #ffffff !important;
}

.akun-btn-back {
    background: #f4d03f !important;
    color: #14532d !important;
}

.akun-actions .akun-btn.akun-btn-back{
    background:#f4d03f !important;
    color:#14532d !important;
}

/* Edit Profil dan Ganti Password = Hijau */
.akun-actions .akun-btn-primary,
.akun-actions .akun-btn-password {
    background: #3f7442 !important;
    color: #ffffff !important;
}

/* Kembali = Kuning */
.akun-actions .akun-btn-back {
    background: #f4d03f !important;
    color: #14532d !important;
}

/* Tombol kuning untuk Kembali dan Lihat Riwayat */
.akun-btn-secondary,
.akun-btn-riwayat,
a[href*="riwayat"],
a[href*="akun"] {
    background: #f4d03f !important;
    color: #14532d !important;
}

/* Edit Profil dan Ganti Password tetap hijau */
.akun-btn-primary,
.akun-btn-edit,
.akun-btn-password {
    background: #3f7442 !important;
    color: #ffffff !important;
}

.review-date {
    color: #64748b;
    font-size: 13px;
    margin-top: 12px;
    font-weight: 600;
}

.review-replies {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid #e5e7eb;
}

.review-replies h4 {
    color: #14532d;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 14px;
}

.review-reply-item {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px;
    margin-bottom: 12px;
}

.review-reply-item.reply-admin {
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.reply-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.reply-header strong {
    color: #14532d;
    font-size: 14px;
    font-weight: 900;
}

.reply-admin-badge {
    background: #14532d;
    color: #ffffff;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.reply-user-badge {
    background: #e2e8f0;
    color: #475569;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.review-reply-item p {
    color: #475569;
    font-size: 14px;
    margin-bottom: 8px;
}

.review-reply-item small {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
}

.reply-form {
    margin-top: 18px;
}

.reply-form textarea {
    width: 100%;
    border: 1px solid #d1fae5;
    border-radius: 16px;
    padding: 14px;
    outline: none;
    resize: vertical;
    font-family: inherit;
    font-size: 14px;
}

.reply-form textarea:focus {
    border-color: #166534;
}

.reply-form button {
    margin-top: 10px;
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    background: #14532d;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.reply-form button:hover {
    background: #166534;
}

.admin-reply-list {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
}

.admin-reply-list h4 {
    color: #14532d;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 12px;
}

.admin-reply-item {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 14px;
    margin-bottom: 12px;
}

.admin-reply-item.admin-reply-official {
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.admin-reply-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.admin-reply-head strong {
    color: #14532d;
    font-size: 14px;
    font-weight: 900;
}

.admin-reply-badge {
    background: #14532d;
    color: #ffffff;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.visitor-reply-badge {
    background: #e2e8f0;
    color: #475569;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.admin-reply-item p {
    color: #475569;
    font-size: 14px;
    margin-bottom: 8px;
}

.admin-reply-item small {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 600;
}

.admin-reply-form {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
}

.admin-reply-form textarea {
    width: 100%;
    border: 1px solid #d1fae5;
    border-radius: 16px;
    padding: 14px;
    outline: none;
    resize: vertical;
    font-family: inherit;
    font-size: 14px;
}

.admin-reply-form textarea:focus {
    border-color: #166534;
}

.admin-reply-form button {
    margin-top: 10px;
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    background: #14532d;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.admin-reply-form button:hover {
    background: #166534;
}

.admin-reply-form {
    margin-top: 18px;
    margin-bottom: 24px;
    padding-top: 16px;
    border-top: 1px solid #e5e7eb;
}

/* ==============================
   PERAPIHAN TAMPILAN ULASAN
============================== */

.review-section {
    background: linear-gradient(180deg, #f3fbf6 0%, #ffffff 100%);
}

.review-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    align-items: start;
}

.review-card {
    background: #ffffff;
    border-radius: 26px;
    padding: 26px;
    border: 1px solid #d8f3df;
    border-top: 6px solid #45b85c;
    box-shadow: 0 18px 40px rgba(20, 83, 45, 0.10);
    transition: 0.25s ease;
}

.review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(20, 83, 45, 0.14);
}

.review-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.review-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #166534, #4ade80);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    box-shadow: 0 8px 18px rgba(22, 101, 52, 0.25);
}

.review-top h3 {
    margin: 0;
    color: #14532d;
    font-size: 18px;
    font-weight: 900;
}

.review-top span {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.review-stars {
    color: #fbbf24;
    font-size: 17px;
    letter-spacing: 2px;
    margin-bottom: 16px;
}

.review-card > p {
    color: #334155;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 14px;
}

.review-date {
    display: inline-block;
    color: #64748b;
    background: #f8fafc;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    margin-top: 6px;
}

/* BALASAN */
.review-replies {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.review-replies h4 {
    color: #14532d;
    font-size: 16px;
    font-weight: 900;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.review-replies h4::before {
    content: "💬";
    font-size: 15px;
}

.review-reply-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 15px;
    margin-bottom: 12px;
}

.review-reply-item.reply-admin {
    background: #ecfdf5;
    border-color: #bbf7d0;
}

.reply-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.reply-header strong {
    color: #14532d;
    font-size: 14px;
    font-weight: 900;
}

.reply-admin-badge {
    background: #14532d;
    color: #ffffff;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.reply-user-badge {
    background: #e2e8f0;
    color: #475569;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.review-reply-item p {
    color: #334155;
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 8px;
}

.review-reply-item small {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 700;
}

/* FORM BALAS */
.reply-form {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed #d1fae5;
}

.reply-form textarea {
    width: 100%;
    min-height: 92px;
    border: 1px solid #bbf7d0;
    border-radius: 18px;
    padding: 14px 16px;
    outline: none;
    resize: vertical;
    font-family: inherit;
    font-size: 14px;
    color: #334155;
    background: #ffffff;
    transition: 0.2s ease;
}

.reply-form textarea:focus {
    border-color: #166534;
    box-shadow: 0 0 0 4px rgba(22, 101, 52, 0.08);
}

.reply-form button {
    margin-top: 12px;
    border: none;
    border-radius: 999px;
    padding: 12px 22px;
    background: #14532d;
    color: #ffffff;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(20, 83, 45, 0.18);
    transition: 0.2s ease;
}

.reply-form button:hover {
    background: #166534;
    transform: translateY(-2px);
}

/* EMPTY */
.review-empty {
    grid-column: 1 / -1;
    background: #ffffff;
    border-radius: 22px;
    padding: 34px;
    text-align: center;
    color: #64748b;
    box-shadow: 0 12px 30px rgba(20, 83, 45, 0.08);
}

/* RESPONSIVE */
@media (max-width: 1100px) {
    .review-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .review-grid {
        grid-template-columns: 1fr;
    }

    .review-card {
        padding: 22px;
    }
}

.riwayat-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

.riwayat-right .lihat-ticket-btn {
    width: auto !important;
    min-width: unset !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 14px;
    white-space: nowrap;
}

.admin-beranda-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px;
    position: relative;
    z-index: 10;
}

.admin-beranda-actions form {
    margin: 0;
}

.admin-edit-btn,
.admin-archive-btn {
    border: none;
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    transition: 0.2s ease;
}

.admin-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.admin-archive-btn {
    background: #fef3c7;
    color: #92400e;
}

.admin-edit-btn:hover,
.admin-archive-btn:hover {
    transform: translateY(-2px);
}

.admin-modal-large {
    max-width: 760px;
}

.admin-modal-title {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}

.admin-modal-title span {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: #dcfce7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.admin-modal-title h2 {
    margin: 0;
    color: #14532d;
    font-size: 24px;
    font-weight: 900;
}

.admin-modal-title p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 14px;
}

.admin-form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group.full {
    grid-column: 1 / -1;
}

.form-group label {
    color: #14532d;
    font-size: 14px;
    font-weight: 900;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    border: 1px solid #d1fae5;
    border-radius: 14px;
    padding: 13px 14px;
    font-size: 14px;
    outline: none;
    color: #0f172a;
    background: #ffffff;
}

.form-group textarea {
    resize: vertical;
}

.form-group small {
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
}

.admin-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 24px;
}

@media (max-width: 768px) {
    .admin-form-grid {
        grid-template-columns: 1fr;
    }

    .admin-modal-actions {
        flex-direction: column;
    }

    .admin-modal-actions .btn {
        width: 100%;
    }
}

.admin-current-image {
    width: 220px;
    height: 130px;
    object-fit: cover;
    border-radius: 16px;
    border: 1px solid #d1fae5;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.admin-archive-section {
    margin-top: 40px;
}

.admin-archive-table-wrap {
    background: #ffffff;
    border-radius: 22px;
    overflow-x: auto;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
}

.admin-archive-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-archive-table th,
.admin-archive-table td {
    padding: 16px 18px;
    text-align: left;
    border-bottom: 1px solid #e5e7eb;
    font-size: 14px;
    vertical-align: middle;
}

.admin-archive-table th {
    background: #f0fdf4;
    color: #14532d;
    font-weight: 900;
}

.admin-archive-table td p {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 13px;
}

.badge-arsip {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fef3c7;
    color: #92400e;
    font-weight: 900;
    font-size: 12px;
}

.arsip-action-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.arsip-action-wrap form {
    margin: 0;
}

.btn-edit-arsip,
.btn-restore-arsip {
    border: none;
    border-radius: 999px;
    padding: 9px 16px;
    font-weight: 900;
    cursor: pointer;
    font-size: 13px;
}

.btn-edit-arsip {
    background: #e0f2fe;
    color: #075985;
}

.btn-restore-arsip {
    background: #dcfce7;
    color: #14532d;
}

.empty-arsip {
    background: #ffffff;
    padding: 24px;
    border-radius: 18px;
    text-align: center;
    color: #64748b;
    font-weight: 700;
}
.admin-gallery-preview .admin-gallery-right {
    width: 100%;
}

.admin-gallery-preview .pp-gallery-images {
    align-items: stretch;
}

.admin-gallery-image-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
}

.admin-gallery-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.btn-delete-arsip {
    border: none;
    border-radius: 999px;
    padding: 9px 16px;
    font-weight: 900;
    cursor: pointer;
    font-size: 13px;
    background: #fee2e2;
    color: #991b1b;
}

    .admin-section-archive-form {
        position: absolute;
        top: 58px;
        right: 18px;
        z-index: 20;
        margin: 0;
    }

    .admin-section-archive-btn {
        border: none;
        border-radius: 999px;
        padding: 9px 16px;
        background: #fef3c7;
        color: #92400e;
        font-size: 13px;
        font-weight: 800;
        cursor: pointer;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
    }

    .admin-mini-action-group {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 14px;
    }

    .admin-mini-action-group form {
        margin: 0;
    }

    .admin-mini-archive-btn {
        border: none;
        border-radius: 999px;
        padding: 8px 14px;
        background: #fef3c7;
        color: #92400e;
        font-size: 12px;
        font-weight: 800;
        cursor: pointer;
    }

    .admin-info-archive-section {
        margin-top: 45px;
    }

    .admin-info-archive-box {
        background: #ffffff;
        border-radius: 24px;
        padding: 24px;
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    }

    .admin-info-archive-table {
        width: 100%;
        border-collapse: collapse;
        overflow: hidden;
        border-radius: 18px;
    }

    .admin-info-archive-table th,
    .admin-info-archive-table td {
        padding: 15px 16px;
        border-bottom: 1px solid #e5e7eb;
        text-align: left;
        font-size: 14px;
    }

    .admin-info-archive-table th {
        background: #f0fdf4;
        color: #14532d;
        font-weight: 900;
    }

    .archive-badge {
        display: inline-block;
        padding: 7px 12px;
        border-radius: 999px;
        background: #fef3c7;
        color: #92400e;
        font-size: 12px;
        font-weight: 900;
    }

    .archive-action {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

    .archive-action form {
        margin: 0;
    }

    .btn-restore-info,
    .btn-delete-info {
        border: none;
        border-radius: 999px;
        padding: 8px 14px;
        font-size: 12px;
        font-weight: 900;
        cursor: pointer;
    }

    .btn-restore-info {
        background: #dcfce7;
        color: #14532d;
    }

    .btn-delete-info {
        background: #fee2e2;
        color: #991b1b;
    }

    .empty-archive-info {
        padding: 22px;
        background: #f8fafc;
        border-radius: 18px;
        text-align: center;
        color: #64748b;
        font-weight: 700;
    }

    .admin-section-action-group {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 30;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.admin-section-action-group .admin-section-edit-btn {
    position: static !important;
}

.admin-section-archive-form {
    margin: 0;
}

.admin-section-archive-btn {
    border: none;
    border-radius: 999px;
    padding: 9px 16px;
    background: #fef3c7;
    color: #92400e;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.admin-section-archive-btn:hover {
    background: #fde68a;
}

.admin-mini-action-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.admin-mini-action-group form {
    margin: 0;
}

.admin-mini-action-group .admin-mini-edit-btn {
    margin-top: 0;
}

.admin-mini-archive-btn {
    border: none;
    border-radius: 999px;
    padding: 8px 14px;
    background: #fef3c7;
    color: #92400e;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.admin-mini-archive-btn:hover {
    background: #fde68a;
}

.admin-mini-action-group,
.admin-section-action-group {
    position: relative;
    z-index: 99;
    pointer-events: auto;
}

.admin-mini-action-group form,
.admin-section-action-group form {
    position: relative;
    z-index: 100;
    pointer-events: auto;
}

.admin-mini-action-group button,
.admin-section-action-group button,
.admin-mini-archive-btn,
.admin-section-archive-btn {
    position: relative;
    z-index: 101;
    pointer-events: auto;
    cursor: pointer;
}

.tips-premium-card,
.info-general-card,
.safety-strip-card {
    position: relative;
}

.tips-premium-card::before,
.tips-premium-card::after,
.info-general-card::before,
.info-general-card::after,
.safety-strip-card::before,
.safety-strip-card::after {
    pointer-events: none;
}

/* ==============================
   TOMBOL EDIT & ARSIP MENU SEJAJAR
============================== */

.admin-menu-item {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 22px;
    padding: 24px 28px;
}

.admin-menu-item > div:first-child {
    min-width: 0;
}

.admin-menu-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex-shrink: 0;
}

.admin-menu-actions form {
    margin: 0;
}

.menu-pill-btn {
    border: none;
    height: 46px;
    min-width: 120px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transition: 0.2s ease;
}

.menu-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.menu-archive-btn {
    background: #fef3c7;
    color: #92400e;
}

.menu-pill-btn:hover {
    transform: translateY(-2px);
    filter: brightness(0.97);
}

@media (max-width: 768px) {
    .admin-menu-item {
        grid-template-columns: 1fr;
    }

    .admin-menu-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .menu-pill-btn {
        width: 100%;
    }

    .admin-menu-actions form {
        width: 100%;
    }
}

.admin-menu-item {
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
}

.admin-menu-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex-shrink: 0;
}

.admin-menu-actions form {
    margin: 0;
}

.menu-pill-btn {
    border: none;
    height: 46px;
    min-width: 120px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transition: 0.2s ease;
}

.menu-edit-btn {
    background: #ffffff;
    color: #14532d;
}

.menu-archive-btn {
    background: #fef3c7;
    color: #92400e;
}

.menu-pill-btn:hover {
    transform: translateY(-2px);
    filter: brightness(0.97);
}

.review-photo-wrap {
    margin: 14px 0 16px;
    border-radius: 18px;
    overflow: hidden;
    background: #f8fafc;
}

.review-photo {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    display: block;
    border-radius: 18px;
}

/* PERKIRAAN CUACA - TAMPILAN DISESUAIKAN DENGAN CUACA SAAT INI */
.weather-forecast-card {
    margin-top: 34px;
}

.weather-forecast-card .weather-scene {
    margin-top: 24px;
    margin-bottom: 0;
}

.forecast-main-box {
    margin-bottom: 22px;
}

.weather-forecast-grid {
    grid-template-columns: repeat(2, 1fr);
}

.forecast-time-card p {
    margin-bottom: 14px;
}

.forecast-detail-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 14px;
}

.forecast-detail-list div {
    background: #f8fafc;
    border-radius: 15px;
    padding: 11px 12px;
}

.forecast-detail-list strong {
    display: block;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
}

.forecast-detail-list small {
    color: #14532d;
    font-size: 13px;
    font-weight: 900;
}

.forecast-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #dcfce7;
    color: #14532d;
    font-size: 12px;
    font-weight: 900;
}

.warning-card .forecast-status-pill {
    background: #fef3c7;
    color: #92400e;
}

.forecast-source-time {
    margin-top: 10px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 900px) {
    .weather-forecast-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .forecast-detail-list {
        grid-template-columns: 1fr;
    }
}