/* --- GLOBAL STYLES --- */
body {
    background-color: rgba(246, 242, 233, 1);
}

.page-header {
    padding-bottom: 64px;
}

footer {
    display: none;
}

.header-title {
    font-family: var(--font-1);
    font-weight: 500;
    font-style: Medium;
    font-size: 52px;
    leading-trim: NONE;
    line-height: 110.00000000000001%;
    letter-spacing: -0.52px;
    color: rgba(26, 38, 32, 1);
}

.header-subtitle {
    font-family: var(--font-2);
    font-weight: 500;
    font-style: Medium;
    font-size: 11px;
    leading-trim: NONE;
    line-height: 18.15px;
    letter-spacing: 1.98px;
    color: rgba(182, 136, 58, 1);
    margin-bottom: 16px;
}

/* --- FORM STYLES --- */
.form-label {
    font-family: var(--font-2);
    font-weight: 500;
    font-style: Medium;
    font-size: 10px;
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
    color: rgba(26, 38, 32, 1);
}

.custom-input-group .input-group-text {
    background-color: transparent;
    border: 1px solid rgba(220, 213, 194, 1);
    border-right: none;
    color: rgba(181, 174, 154, 1);
    padding-left: 15px;
}

.custom-input-group .form-control {
    background-color: transparent;
    border: 1px solid rgba(220, 213, 194, 1);
    border-left: none;
    color: rgba(181, 174, 154, 1);
    font-size: 14.5px;
    box-shadow: none;
    border-radius: 4px;
}

.custom-input-group .form-control:focus {
    border-color: #BFA054;
    box-shadow: none;
}

.custom-input-group.focus-within .input-group-text,
.custom-input-group.focus-within .form-control {
    border-color: #BFA054;
}

.custom-textarea {
    background-color: transparent;
    border: 1px solid rgba(220, 213, 194, 1);
    font-size: 14.5px;
    color: rgba(181, 174, 154, 1);
    box-shadow: none;
}

.custom-textarea:focus {
    background-color: transparent;
    border-color: #BFA054;
    box-shadow: none;
}

/* --- CARD STYLES --- */
.policy-card {
    background-color: #FFFFFF;
    border: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    border-radius: 4px;
    border: 1px solid rgba(220, 213, 194, 1);
}

.policy-card .card-body {
    padding: 32px;
}

.policy-card h2 {
    font-family: var(--font-1);
    font-weight: 500;
    font-style: Medium;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    margin-bottom: 24px;
    color: rgba(26, 38, 32, 1);
}

.policy-card p {
    font-family: var(--font-2);
    font-weight: 400;
    font-style: Regular;
    font-size: 13px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    color: rgba(140, 137, 120, 1);
}

.summary-card {
    background-color: #FFFFFF;
    border: 1px solid rgba(220, 213, 194, 1);
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    border-radius: 0; /* Desain bersudut tegas */
}

.summary-card img {
    border-radius: 0;
    height: 220px;
    object-fit: cover;
}

.summary-card .card-body {
    padding: 32px;
}

.summary-subtitle {
    font-family: var(--font-2);
    font-weight: 500;
    font-style: Medium;
    font-size: 11px;
    leading-trim: NONE;
    line-height: 18.15px;
    letter-spacing: 1.98px;
    color: rgba(182, 136, 58, 1);
    margin-bottom: 8px;
}

.summary-title {
    font-family: var(--font-1);
    font-weight: 500;
    font-style: Medium;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    color: rgba(26, 38, 32, 1);
    margin-bottom: 8px;
}

.summary-desc {
    font-family: var(--font-2);
    font-weight: 400;
    font-style: Regular;
    font-size: 13px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    color: rgba(140, 137, 120, 1);
    margin-bottom: 24px;
}

.price-row {
    font-family: var(--font-2);
    font-weight: 400;
    font-style: Regular;
    font-size: 13px;
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    color: rgba(26, 38, 32, 1);
    margin-bottom: 12px;
}

.total-price-label {
    font-family: var(--font-2);
    font-weight: 600;
    font-style: SemiBold;
    font-size: 14.5px;
    leading-trim: NONE;
    line-height: 160%;
    letter-spacing: 0%;
    color: rgba(26, 38, 32, 1);
}

.total-price-number {
    font-family: var(--font-1);
    font-weight: 500;
    font-style: Medium;
    font-size: 24px;
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    color: rgba(26, 38, 32, 1);
}

.btn-payment {
    background-color: rgba(26, 38, 32, 1);
    color: #FFFFFF;
    border: none;
    border-radius: 0;
    padding: 16px;
    transition: all 0.3s;
}

.btn-payment:hover {
    background-color: #111C18;
    color: #FFFFFF;
}


@media (max-width: 991px) {
    .page-header {
        padding-bottom: 32px;
    }

    .header-title {
        font-size: 28px;
    }
}
