.satusatu-gc-wrap {
    --gc-bg: #f7f5f3;
    --gc-card: #ffffff;
    --gc-line: #e8e2dd;
    --gc-ink: #6d2700;
    --gc-muted: #7a7a7a;
    --gc-accent: #c65f26;
    width: 100% !important;
    margin: 36px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    color: var(--gc-ink) !important;
    background: transparent !important;
}

.satusatu-gc-wrap,
.satusatu-gc-wrap * {
    font-family: "Avenir Next", "Avenir Next LT Pro", Avenir, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.satusatu-gc-layout {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: minmax(320px, 35%) minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: start !important;
}

.satusatu-gc-form,
.satusatu-gc-preview {
    border: 1px solid var(--gc-line) !important;
    border-radius: 8px !important;
    background: var(--gc-card) !important;
    box-shadow: none !important;
}

.satusatu-gc-form {
    padding: 24px !important;
}

.satusatu-gc-form-header {
    margin-bottom: 18px !important;
}

.satusatu-gc-form-header h2 {
    margin: 0 0 8px !important;
    color: var(--gc-ink) !important;
    font-family: "Flatline Sans", "Avenir Next", sans-serif !important;
    font-weight: 500 !important;
    font-size: clamp(30px, 3vw, 40px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0.01em !important;
}

.satusatu-gc-form-header p {
    margin: 0 !important;
    color: var(--gc-muted) !important;
    line-height: 1.5 !important;
    font-size: 15px !important;
}

.satusatu-gc-fieldset {
    margin-top: 20px !important;
}

.satusatu-gc-fieldset h3 {
    margin: 0 0 12px !important;
    color: var(--gc-ink) !important;
    font-family: "Flatline Sans", "Avenir Next", sans-serif !important;
    font-size: 22px !important;
    font-weight: 500 !important;
}

.satusatu-gc-fieldset label {
    display: block !important;
    margin: 0 0 8px !important;
    color: var(--gc-ink) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.satusatu-gc-fieldset input[type="text"],
.satusatu-gc-fieldset textarea {
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid var(--gc-line) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #2f2f2f !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease !important;
}

.satusatu-gc-fieldset input[type="text"]:focus,
.satusatu-gc-fieldset textarea:focus {
    outline: none !important;
    border-color: #ccb7a5 !important;
    box-shadow: none !important;
}

.satusatu-gc-checkbox-row {
    display: block !important;
    margin-bottom: 4px !important;
}

.satusatu-gc-checkbox-row label {
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.satusatu-gc-checkbox-row input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    accent-color: var(--gc-accent) !important;
}

.satusatu-gc-helper,
.satusatu-gc-counter,
.satusatu-gc-note {
    color: var(--gc-muted) !important;
    font-size: 12px !important;
}

.satusatu-gc-helper {
    margin: 0 0 10px !important;
}

.satusatu-gc-counter-wrap {
    margin-top: 8px !important;
    text-align: right !important;
}

.satusatu-gc-amount-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
}

.satusatu-gc-amount-card {
    position: relative !important;
    border: 1px solid var(--gc-line) !important;
    border-radius: 8px !important;
    background: #fff !important;
    padding: 12px 16px !important;
    display: grid !important;
    gap: 9px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease !important;
}

.satusatu-gc-amount-card:hover,
.satusatu-gc-amount-card.is-selected {
    border-color: #bf8f70 !important;
    background: #fffdfb !important;
}

.satusatu-gc-amount-card input {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
}

.satusatu-gc-amount-row {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 14px !important;
}

.satusatu-gc-amount-left {
    display: block !important;
    min-width: 0 !important;
}

.satusatu-gc-amount-title {
    color: var(--gc-ink) !important;
    font-family: "Flatline Sans", "Avenir Next", sans-serif !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    letter-spacing: 0.01em !important;
    text-transform: uppercase !important;
}

.satusatu-gc-discount-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 4px 9px !important;
    border-radius: 999px !important;
    background: #6d2700 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.satusatu-gc-amount-right {
    display: grid !important;
    justify-items: end !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
}

.satusatu-gc-amount-final {
    color: #3f3935 !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
}

.satusatu-gc-amount-divider {
    width: 100% !important;
    height: 1px !important;
    background: #eadfd7 !important;
    display: block !important;
}

.satusatu-gc-amount-note {
    color: var(--gc-muted) !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.satusatu-gc-amount-global-note {
    margin: 8px 2px 0 !important;
    color: var(--gc-muted) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.satusatu-gc-submit-wrap {
    margin-top: 20px !important;
    display: grid !important;
    gap: 10px !important;
}

.satusatu-gc-submit {
    width: 100% !important;
    padding: 12px 18px !important;
    border: 1px solid #b65320 !important;
    border-radius: 999px !important;
    background: #b65320 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}

.satusatu-gc-submit:hover {
    background: #9e471a !important;
    border-color: #9e471a !important;
    box-shadow: none !important;
}

.satusatu-gc-note {
    margin: 0 !important;
}

.satusatu-gc-preview {
    padding: 16px !important;
    position: sticky !important;
    top: 20px !important;
    align-self: start !important;
}

.satusatu-gc-preview-card {
    position: relative !important;
    border: 1px solid var(--gc-line) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: none !important;
}

.satusatu-gc-preview-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

.satusatu-gc-preview-overlay {
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
}

.satusatu-gc-preview-name {
    position: absolute !important;
    top: 30.4% !important;
    left: 56% !important;
    width: 36% !important;
    margin: 0 !important;
    color: #6d2700 !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: clamp(13px, 1.35vw, 20px) !important;
    font-family: "Flatline Sans", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-weight: 600 !important;
}

.satusatu-gc-preview-message {
    position: absolute !important;
    top: 38.3% !important;
    left: 56% !important;
    width: 36% !important;
    margin: 0 !important;
    color: #6d2700 !important;
    text-align: center !important;
    white-space: pre-line !important;
    line-height: 1.34 !important;
    font-size: clamp(8px, 0.67vw, 10px) !important;
    max-height: 30% !important;
    overflow: hidden !important;
}

.satusatu-gc-preview-amount {
    position: absolute !important;
    top: 72.6% !important;
    left: 56% !important;
    width: 36% !important;
    margin: 0 !important;
    color: #6d2700 !important;
    text-align: center !important;
    line-height: 1 !important;
    font-size: clamp(16px, 1.6vw, 23px) !important;
    font-family: "Flatline Sans", "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
    font-weight: 600 !important;
}

.satusatu-gc-system-message {
    margin: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #e8ddd5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #7a3a1a !important;
}

@media (max-width: 1180px) {
    .satusatu-gc-layout {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .satusatu-gc-preview {
        position: static !important;
        top: auto !important;
    }

    .satusatu-gc-amount-final {
        font-size: 34px !important;
    }
}

@media (max-width: 680px) {
    .satusatu-gc-form,
    .satusatu-gc-preview {
        border-radius: 6px !important;
    }

    .satusatu-gc-form {
        padding: 16px !important;
    }

    .satusatu-gc-amount-grid {
        grid-template-columns: 1fr !important;
    }

    .satusatu-gc-amount-title {
        font-size: 16px !important;
    }

    .satusatu-gc-amount-final {
        font-size: 18px !important;
    }

    .satusatu-gc-checkbox-row {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .satusatu-gc-preview-name {
        font-size: 12px !important;
    }

    .satusatu-gc-preview-message {
        font-size: 8px !important;
    }

    .satusatu-gc-preview-amount {
        font-size: 12px !important;
    }
}
