/* REFLEKSI ONLINE — Liquid Glass. All selectors require the website-only
   header marker. This stylesheet must never style another website. */
body:has(.refleksi-header) {
    --rfx-wine: #9D174D;
    --rfx-orchid: #D946EF;
    --rfx-violet: #8B5CF6;
    --rfx-ink: #321C46;
    --rfx-accent: #9D174D;
    --rfx-text-secondary: #67516F;
    --rfx-glass-border: rgba(255, 255, 255, .82);
    background: #F6EFFA !important;
    background-image: radial-gradient(ellipse at 4% 8%, rgba(157, 23, 77, .17), transparent 48%), radial-gradient(ellipse at 93% 25%, rgba(217, 70, 239, .20), transparent 45%), radial-gradient(ellipse at 42% 92%, rgba(139, 92, 246, .22), transparent 52%) !important;
    color: #321C46;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
body:has(.refleksi-header) #wrapwrap {
    max-width: 1440px;
    background: transparent;
    overflow-x: clip;
}
body:has(.refleksi-header) main {
    background: transparent;
    min-height: 60vh;
}
body:has(.refleksi-header) .rfx-wrap {
    --rfx-ink: #321C46;
    --rfx-accent: #9D174D;
    --rfx-text-secondary: #67516F;
    background: transparent;
    color: #321C46;
    padding: clamp(16px, 3.5vw, 52px);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}
body:has(.refleksi-header) .refleksi-header {
    height: auto;
    min-height: 76px;
    margin: 18px clamp(12px, 2vw, 28px) 0;
    border: 1px solid var(--rfx-glass-border);
    border-radius: 24px;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 12px 40px rgba(81, 30, 103, .09), inset 0 1px 0 #FFF;
    -webkit-backdrop-filter: blur(22px) saturate(150%);
    backdrop-filter: blur(22px) saturate(150%);
}
body:has(.refleksi-header) .refleksi-header .navbar {
    background: transparent !important;
    box-shadow: none;
    border-radius: inherit;
    padding: 8px 0;
}
body:has(.refleksi-header) .refleksi-header .nav-link {
    color: #542D60 !important;
    border-radius: 999px;
    font-weight: 600;
    font-size: .9rem;
    transition: background .2s ease, color .2s ease;
}
body:has(.refleksi-header) .refleksi-header .nav-link:hover,
body:has(.refleksi-header) .refleksi-header .nav-link.active {
    color: #9D174D !important;
    background: rgba(217, 70, 239, .09);
    box-shadow: none;
}
body:has(.refleksi-header) .refleksi-cart .badge {
    background: #9D174D;
}
body:has(.refleksi-header) .rfx-wrap h1,
body:has(.refleksi-header) .rfx-wrap h2,
body:has(.refleksi-header) .rfx-wrap h3 {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #321C46;
    letter-spacing: -.035em;
}
body:has(.refleksi-header) .rfx-wrap a { color: #9D174D; }
body:has(.refleksi-header) .rfx-wrap .rfx-muted { color: #67516F; }
body:has(.refleksi-header) .rfx-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 32px;
    background: linear-gradient(120deg, #9D174D 0%, #88266E 40%, #7546BE 78%, #8B5CF6 100%);
    box-shadow: 0 24px 65px rgba(112, 35, 116, .23), inset 0 1px 0 rgba(255, 255, 255, .45);
    color: #FFF;
}
body:has(.refleksi-header) .rfx-hero::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 460px;
    height: 460px;
    right: -170px;
    top: -250px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(217, 70, 239, .85), rgba(217, 70, 239, 0) 70%);
    pointer-events: none;
}
body:has(.refleksi-header) .rfx-hero::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(115deg, rgba(255, 255, 255, .12), transparent 44%);
    pointer-events: none;
}
body:has(.refleksi-header) .rfx-hero h1 {
    color: #FFF;
    max-width: 800px;
    font-weight: 800 !important;
    text-wrap: balance;
}
body:has(.refleksi-header) .rfx-hero p,
body:has(.refleksi-header) .rfx-hero .lead { color: #FFF; max-width: 720px; }
body:has(.refleksi-header) .rfx-kicker {
    display: inline-block;
    border: 1px solid rgba(157, 23, 77, .12);
    border-radius: 999px;
    padding: .42em .9em;
    background: rgba(157, 23, 77, .06);
    color: #9D174D;
    box-shadow: none;
    font-weight: 750;
    font-size: .7rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}
body:has(.refleksi-header) .rfx-hero .rfx-kicker {
    color: #FFF;
    border-color: rgba(255, 255, 255, .4);
    background: rgba(255, 255, 255, .14);
}
body:has(.refleksi-header) .rfx-card,
body:has(.refleksi-header) .s_rfx_newsletter,
body:has(.refleksi-header) .rfx-breaking {
    border: 1px solid var(--rfx-glass-border);
    border-radius: 24px;
    background: rgba(255, 255, 255, .74);
    box-shadow: 0 10px 35px rgba(89, 40, 112, .075), inset 0 1px 0 #FFF;
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    backdrop-filter: blur(18px) saturate(140%);
    color: #321C46;
}
body:has(.refleksi-header) .rfx-card {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body:has(.refleksi-header) a.rfx-card:hover {
    transform: translateY(-4px);
    border-color: rgba(139, 92, 246, .45);
    box-shadow: 0 18px 40px rgba(139, 92, 246, .16), inset 0 1px 0 #FFF;
}
body:has(.refleksi-header) .rfx-card .text-dark { color: #321C46 !important; }
body:has(.refleksi-header) .rfx-card .badge {
    background: #F3E7F5 !important;
    color: #9D174D !important;
    border-radius: 999px;
    box-shadow: none;
}
body:has(.refleksi-header) .rfx-wrap .btn {
    border-radius: 999px;
    font-weight: 650;
    transition: transform .2s ease, box-shadow .2s ease;
}
body:has(.refleksi-header) .rfx-wrap .btn-primary {
    background: linear-gradient(115deg, #9D174D, #7940AF);
    border: 1px solid transparent;
    color: #FFF;
    box-shadow: 0 7px 20px rgba(157, 23, 77, .18);
}
body:has(.refleksi-header) .rfx-hero .btn-light {
    background: #FFF;
    color: #9D174D;
    border: 1px solid #FFF;
    box-shadow: 0 6px 20px rgba(50, 10, 55, .12);
}
body:has(.refleksi-header) .rfx-hero .btn-outline-light {
    background: rgba(255, 255, 255, .12);
    color: #FFF;
    border: 1px solid rgba(255, 255, 255, .65);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
}
body:has(.refleksi-header) .rfx-wrap .btn:hover { transform: translateY(-2px); }
body:has(.refleksi-header) .rfx-wrap .btn:active { transform: none; }
body:has(.refleksi-header) .s_rfx_newsletter {
    margin: 20px 0;
    background: linear-gradient(120deg, rgba(255, 255, 255, .86), rgba(238, 221, 255, .76));
}
body:has(.refleksi-header) .rfx-wrap input.form-control,
body:has(.refleksi-header) .rfx-wrap textarea.form-control,
body:has(.refleksi-header) .rfx-wrap select.form-select {
    background: rgba(255, 255, 255, .87);
    color: #321C46;
    border: 1px solid rgba(139, 92, 246, .25);
    border-radius: 14px;
    box-shadow: inset 0 1px 3px rgba(89, 40, 112, .04);
}
body:has(.refleksi-header) .rfx-wrap blockquote {
    background: rgba(255, 255, 255, .7);
    border-left: 4px solid #8B5CF6;
    border-radius: 12px;
    padding: 16px 24px;
    box-shadow: none;
}
body:has(.refleksi-header) .refleksi-footer {
    margin: 0 clamp(12px, 2vw, 28px) 20px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 28px;
    background: linear-gradient(120deg, #51152F, #4B286C 70%, #59368F);
    color: #FFF;
    box-shadow: 0 18px 40px rgba(81, 30, 103, .16), inset 0 1px 0 rgba(255, 255, 255, .25);
}
body:has(.refleksi-header) .refleksi-footer h5,
body:has(.refleksi-header) .refleksi-footer a,
body:has(.refleksi-header) .refleksi-copyright { color: #FFF; }
body:has(.refleksi-header) .refleksi-footer a:hover { text-decoration: underline; }
body:has(.refleksi-header) .refleksi-social a {
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
}
body:has(.refleksi-header) a:focus-visible,
body:has(.refleksi-header) button:focus-visible,
body:has(.refleksi-header) input:focus-visible,
body:has(.refleksi-header) textarea:focus-visible,
body:has(.refleksi-header) select:focus-visible {
    outline: 3px solid #8B5CF6;
    outline-offset: 4px;
}
@media (max-width: 991.98px) {
    body:has(.refleksi-header) .refleksi-header .navbar-collapse { padding: 16px 0; }
    body:has(.refleksi-header) .refleksi-header .nav-link { padding: 10px 16px !important; }
}
@media (max-width: 575.98px) {
    body:has(.refleksi-header) .rfx-hero { border-radius: 24px; }
    body:has(.refleksi-header) .rfx-hero .display-5 { font-size: 2.25rem; }
    body:has(.refleksi-header) .rfx-hero .btn { display: block; width: 100%; margin-left: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    body:has(.refleksi-header) .rfx-card,
    body:has(.refleksi-header) .rfx-wrap .btn,
    body:has(.refleksi-header) .refleksi-header .nav-link { transition: none; }
    body:has(.refleksi-header) a.rfx-card:hover,
    body:has(.refleksi-header) .rfx-wrap .btn:hover { transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
    body:has(.refleksi-header) .rfx-card,
    body:has(.refleksi-header) .s_rfx_newsletter,
    body:has(.refleksi-header) .refleksi-header { background: #FAF5FC; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
