/* Monolog public accent palette. Loaded last to retire the legacy blue theme. */
:root {
    --primary-bg: #06130e;
    --primary-blue: #1d5943;
    --booking-primary: #1d5943;
    --booking-primary-hover: #143f30;
    --booking-primary-soft: #eef5f0;
    --booking-primary-tint: #dcebe1;
    --booking-primary-border: rgba(29, 89, 67, 0.28);
    --booking-primary-ring: rgba(29, 89, 67, 0.14);
    --booking-primary-shadow: rgba(29, 89, 67, 0.18);
    --border-gray: #18352a;
}

body {
    --blue: #1d5943;
    --blue-dark: #143f30;
    --blue-soft: #eef5f0;
    --vr-blue: #1d5943;
    --labs-blue: #1d5943;
    --ios-blue: #1d5943;
    --download-blue: #83b99a;
}

/* Primary controls and active states. */
.reservasi-button,
.reservation-button,
.booking-button,
.btn-primary,
.button-primary,
.primary-button,
.cta-button,
.package-button,
.orders-context-button.is-primary,
.vr-ai-chat__toggle,
.vr-ai-chat__form button,
.pagination .active > *,
.page-item.active .page-link {
    color: #fff !important;
    background: #1d5943 !important;
    border-color: #1d5943 !important;
}

body .labs-submit,
body .labs-auth-gate a + a,
body .labs-header-cart-count,
body [class*="cart-count"] {
    color: #fff !important;
    background: #1d5943 !important;
    border-color: #1d5943 !important;
}

body .labs-booking-photo.is-active,
body .labs-shell [class*="is-active"] {
    border-color: #1d5943 !important;
}

body .labs-print-context-label,
body .labs-picker-title,
body .labs-frame-sticky-icon,
body .labs-price strong,
body .labs-shell [class*="accent"],
body .labs-shell [class*="link"],
body [data-config-product-type],
body [data-detail-type],
body [data-detail-price],
body [data-standalone-sticky-price] {
    color: #1d5943 !important;
}

body .labs-frame-sticky-icon {
    background: #eef5f0 !important;
    border-color: #dcebe1 !important;
}

/* Labs injects a large page stylesheet after the document head. Keep the
   global brand contract stronger without changing its business behavior. */
html body .labs-shell .labs-submit,
html body .labs-shell.is-frame-configurator .labs-submit,
html body .labs-shell.is-frame-mode .labs-submit {
    background: #1d5943 !important;
    border-color: #1d5943 !important;
}

html body .labs-shell [data-config-product-type],
html body .labs-shell [data-detail-type],
html body .labs-shell [data-detail-price],
html body .labs-shell [data-standalone-sticky-price] {
    color: #1d5943 !important;
}

html body:has(.labs-shell) .labs-shell .labs-submit,
html body:has(.labs-shell) .labs-shell.is-frame-configurator .labs-submit,
html body:has(.labs-shell) .labs-shell.is-standalone-marketplace .labs-submit {
    background: #1d5943 !important;
    background-color: #1d5943 !important;
    border-color: #1d5943 !important;
}

html body:has(.labs-shell) .labs-shell [data-config-product-type],
html body:has(.labs-shell) .labs-shell [data-detail-type],
html body:has(.labs-shell) .labs-shell [data-detail-price],
html body:has(.labs-shell) .labs-shell [data-standalone-sticky-price] {
    color: #1d5943 !important;
}

.reservasi-button:hover,
.reservation-button:hover,
.booking-button:hover,
.btn-primary:hover,
.button-primary:hover,
.primary-button:hover,
.cta-button:hover,
.package-button:hover,
.orders-context-button.is-primary:hover,
.vr-ai-chat__toggle:hover,
.vr-ai-chat__form button:hover {
    background: #143f30 !important;
    border-color: #143f30 !important;
}

.tab-btn.active,
.package-tab.active,
.package-tab.is-active,
.nav-tabs .nav-link.active {
    border-color: #1d5943 !important;
    border-bottom-color: #1d5943 !important;
}

.section-badge,
.service-badge,
.category-badge,
.badge-primary,
.package-count,
.swiper-pagination-bullet-active {
    color: #fff !important;
    background: #1d5943 !important;
    border-color: #1d5943 !important;
}

.section-badge {
    color: #d9ece0 !important;
    background: linear-gradient(135deg, #1d5943, #0d2b20) !important;
    border-color: rgba(193, 221, 202, 0.28) !important;
}

.view-packages-link,
.view-packages-link:hover,
.package-link,
.link-primary,
.text-primary,
.page-link,
.breadcrumb a,
.report-link {
    color: #1d5943 !important;
}

.chevron-icon {
    background: #1d5943 !important;
}

.view-packages-link:hover .chevron-icon {
    background: #143f30 !important;
}

.filter-border:hover,
.filter-border.active {
    background:
        linear-gradient(109deg, rgba(29, 89, 67, 0.2) 1.07%, #1d5943 54.01%, rgba(29, 89, 67, 0.2) 99.66%) border-box,
        #000 padding-box !important;
}

.faq-item.faq-expanded {
    border-color: #1d5943 !important;
}

.faq-item:focus-visible,
input:focus,
select:focus,
textarea:focus {
    outline-color: #1d5943 !important;
    border-color: #1d5943 !important;
}

.question-number.active,
.faq-expanded .question-number {
    color: #fff !important;
    background: linear-gradient(180deg, #0d2b20 0%, #1d5943 100%) !important;
}

.faq-item.faq-expanded .faq-icon,
.faq-expanded .faq-icon,
.faq-expanded .faq-icon path {
    color: #1d5943 !important;
    stroke: #1d5943 !important;
}

/* Legacy SVG accents embedded directly in Blade templates. */
svg [fill="#004BE3"],
svg [fill="#004be3"],
svg [fill="#0054FF"],
svg [fill="#0054ff"],
svg [fill="#2563EB"],
svg [fill="#2563eb"] {
    fill: #1d5943 !important;
}

svg [stroke="#004BE3"],
svg [stroke="#004be3"],
svg [stroke="#0054FF"],
svg [stroke="#0054ff"],
svg [stroke="#2563EB"],
svg [stroke="#2563eb"] {
    stroke: #1d5943 !important;
}

/* Public page sections that still carry hard-coded legacy colors. */
.detail-header,
.services-header,
.article-header,
.contact-header,
.report-header,
.hero-section,
.orders-context-banner.is-magic-link {
    border-color: rgba(29, 89, 67, 0.28) !important;
}

.detail-header .header-content > [style*="#004BE3"],
.detail-header .header-content > [style*="#004be3"] {
    background: #1d5943 !important;
}

.orders-context-banner.is-magic-link {
    background: #eef5f0 !important;
    border-left-color: #1d5943 !important;
}

.orders-context-banner.is-magic-link *,
.orders-context-banner.is-magic-link a {
    color: #143f30;
}

/* Reservation flow has its own stepper and late page-level styles. */
#reservation-form {
    --booking-primary: #1d5943;
    --booking-primary-hover: #143f30;
    --booking-primary-soft: #eef5f0;
    --booking-primary-tint: #dcebe1;
    --booking-primary-border: rgba(29, 89, 67, 0.28);
    --booking-primary-ring: rgba(29, 89, 67, 0.14);
    --booking-primary-shadow: rgba(29, 89, 67, 0.18);
}

.banner-info {
    background:
        radial-gradient(circle at 85% 0%, rgba(71, 128, 91, 0.22), transparent 34%),
        linear-gradient(90deg, #0d2b20 0%, #06130e 18%, #06130e 82%, #0d2b20 100%) !important;
    border-bottom-color: rgba(193, 221, 202, 0.14) !important;
}

.banner-info .banner-link {
    border-color: rgba(193, 221, 202, 0.2) !important;
    background: rgba(193, 221, 202, 0.06) !important;
}

.banner-info .banner-link:hover {
    background: #1d5943 !important;
    border-color: #1d5943 !important;
}

#reservation-form .stepper-menu,
#reservation-form .cancel-container,
#reservation-form .menu-item-wrapper,
#reservation-form .menu-item-container::before,
#reservation-form .menu-item-bg {
    background: #06130e !important;
    background-color: #06130e !important;
}

#reservation-form .stepper-menu,
#reservation-form .cancel-container {
    background-image:
        radial-gradient(circle at 86% -40%, rgba(71, 128, 91, 0.2), transparent 42%),
        linear-gradient(100deg, #030906, #06130e 58%, #0b2118) !important;
}

#reservation-form .cancel-content {
    color: rgba(217, 236, 224, 0.82) !important;
}

#reservation-form .cancel-content:hover,
#reservation-form .cancel-content:focus-visible {
    color: #fff !important;
}

#reservation-form .menu-container,
#reservation-form .menu-item-wrapper:first-child {
    border-color: rgba(193, 221, 202, 0.18) !important;
}

#reservation-form .menu-item-container.active .menu-item-arrow {
    background: linear-gradient(90deg, transparent 0%, #1d5943 100%) !important;
}

#reservation-form .icon-container.active,
#reservation-form .icon-container.success {
    background: #1d5943 !important;
}

#reservation-form .pembayaran-selection-container .btn-terapkan {
    color: #1d5943 !important;
    background: #fff !important;
    border-color: #1d5943 !important;
}

#reservation-form .pembayaran-selection-container .btn-terapkan:hover {
    color: #fff !important;
    background: #1d5943 !important;
}

#reservation-form .voucher-input:focus-within,
#reservation-form .booking-name-field:focus,
#reservation-form .payment-method-selector:focus-within,
#reservation-form .payment-method-content:hover {
    border-color: #1d5943 !important;
    box-shadow: 0 0 0 2px rgba(29, 89, 67, 0.12) !important;
}

#reservation-form .qris-payment-notice,
#reservation-form .zero-payment-notice {
    color: #143f30 !important;
    background: #eef5f0 !important;
    border-color: rgba(29, 89, 67, 0.24) !important;
}

#reservation-form .photo-background-card.selected {
    border-color: #1d5943 !important;
    box-shadow: 0 0 0 2px rgba(29, 89, 67, 0.12) !important;
}

/* Account profile and password forms use a page-local button class. */
.account-page-container .save-button,
.account-page-container button[type="submit"] {
    color: #fff !important;
    background: #1d5943 !important;
    border-color: #1d5943 !important;
}

.account-page-container .save-button:hover,
.account-page-container button[type="submit"]:hover {
    background: #143f30 !important;
    border-color: #143f30 !important;
}

.account-page-container .form-input:focus,
.account-page-container .form-select:focus,
.account-page-container .form-textarea:focus {
    border-color: #1d5943 !important;
    box-shadow: 0 0 0 3px rgba(29, 89, 67, 0.12) !important;
}

/* Schedule, cart, Labs, and account flows inherit the same semantic palette. */
.schedule-page,
.live-schedule-page,
.labs-page,
.orders-page,
.account-page,
.history-page {
    --blue: #1d5943;
    --blue-dark: #143f30;
    --blue-soft: #eef5f0;
    --labs-blue: #1d5943;
    --ios-blue: #1d5943;
    --download-blue: #83b99a;
}

input[type="checkbox"],
input[type="radio"],
input[type="range"],
progress {
    accent-color: #1d5943;
}

::selection {
    color: #fff;
    background: #1d5943;
}
