/* AJO89 page-specific styles, retained in their original cascade order. */

:root {
  --ajo-obsidian: #070304;
  --ajo-ink: #120506;
  --ajo-panel: #1b0708;
  --ajo-panel-soft: #290a09;
  --ajo-maroon: #4b0708;
  --ajo-ruby: #94090b;
  --ajo-red: #d52212;
  --ajo-ember: #ff6326;
  --ajo-gold-deep: #9a5a12;
  --ajo-gold: #f0b94d;
  --ajo-gold-light: #ffe39a;
  --ajo-cream: #fff5dc;
  --ajo-muted: #d4b894;
  --ajo-line: rgba(240, 185, 77, 0.28);
  --ajo-shadow: rgba(71, 3, 4, 0.72);
  --ajo-pointer-x: 50vw;
  --ajo-pointer-y: 18vh;
}

html {
  color-scheme: dark;
  background: var(--ajo-obsidian);
}

body {
  min-height: 100%;
  color: var(--ajo-cream);
  background-color: var(--ajo-obsidian);
  background-image:
    radial-gradient(circle at 12% 2%, rgba(213, 34, 18, 0.22), transparent 32rem),
    radial-gradient(circle at 88% 16%, rgba(255, 99, 38, 0.12), transparent 28rem),
    linear-gradient(145deg, #070304 0%, #180506 46%, #090304 100%);
  background-attachment: fixed;
}

body::before {
  content: "";
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: radial-gradient(
    440px circle at var(--ajo-pointer-x) var(--ajo-pointer-y),
    rgba(255, 196, 86, 0.075),
    transparent 68%
  );
}

.hb-theme-wayfair {
  --_1pwc14f15: var(--ajo-gold);
  --_1pwc14f1u: 1px solid var(--ajo-gold);
  --_1pwc14f1v: 0 0 5px rgba(240, 185, 77, 0.7);
  --_1pwc14f1w: 0 0 0 1px var(--ajo-ink), 0 0 0 3px var(--ajo-gold);
  --_1pwc14f3u: var(--ajo-ink);
  --_1pwc14f3z: var(--ajo-panel);
  --_1pwc14f3j: var(--ajo-panel-soft);
  --_1pwc14f3k: #542019;
  --_1pwc14f3l: #95624e;
  --_1pwc14f41: var(--ajo-cream);
  --_1pwc14f42: var(--ajo-gold-light);
  --_1pwc14f43: #744033;
  --_1pwc14f44: var(--ajo-ruby);
  --_1pwc14f45: #bd120f;
  --_1pwc14f46: #690507;
  --_1pwc14f47: var(--ajo-ruby);
  --_1pwc14f48: #45110f;
  --_1pwc14f4c: var(--ajo-gold);
  --_1pwc14f4d: #35100d;
  --_1pwc14f4e: #4b150f;
  --_1pwc14f53: #694238;
  --_1pwc14f54: #32100d;
  --_1pwc14f55: var(--ajo-cream);
  --_1pwc14f56: var(--ajo-muted);
  --_1pwc14f57: var(--ajo-cream);
  --_1pwc14f58: var(--ajo-cream);
  --_1pwc14f59: #d9b98c;
  --_1pwc14f5a: var(--ajo-gold-light);
  --_1pwc14f5b: var(--ajo-cream);
  --_1pwc14f5c: #e6c68f;
  --_1pwc14f5d: #ffd66f;
  --_1pwc14f5e: #fff0bc;
  --_1pwc14f5f: var(--ajo-ink);
  --_1pwc14f5g: var(--ajo-panel-soft);
  --_1pwc14f5h: #592019;
  --_1pwc14f5u: var(--ajo-red);
  --_1pwc14f5v: var(--ajo-cream);
  --_1pwc14f60: #a47c68;
  --_1pwc14f61: #35100d;
  --_1pwc14f62: #6a2c21;
  --_1pwc14f63: var(--ajo-panel);
  --_1pwc14f64: var(--ajo-cream);
  --_1pwc14f65: #d3af80;
  --_1pwc14f66: #f5d38d;
  --_1pwc14f67: var(--ajo-cream);
  --_1pwc14f68: var(--ajo-gold);
  --_1pwc14f69: #ffd971;
  --_1pwc14f6a: #fff0b7;
  --_1pwc14f6b: var(--ajo-cream);
  --_1pwc14f6c: #714033;
}

#header-experience {
  position: relative;
  z-index: 20;
  color: var(--ajo-cream);
  background:
    linear-gradient(90deg, rgba(255, 98, 37, 0.06), transparent 26%, transparent 74%, rgba(213, 34, 18, 0.08)),
    linear-gradient(180deg, #1d0707 0%, #0c0304 100%);
  border-bottom: 1px solid rgba(240, 185, 77, 0.42);
  box-shadow: 0 12px 34px rgba(40, 1, 2, 0.5);
}

#header-experience [data-hb-id="Wrapper"] {
  background: transparent;
}

#header-experience a,
#header-experience button,
#header-experience svg {
  color: var(--ajo-cream);
}

#header-experience a:hover,
#header-experience button:hover {
  color: var(--ajo-gold-light);
}

#header-experience [data-enzyme-id="StoreLogo"] img {
  filter: drop-shadow(0 0 10px rgba(240, 185, 77, 0.28));
}

#header-experience [data-enzyme-id="OutlinedSearchBar-label"] {
  color: var(--ajo-cream);
  background: rgba(29, 7, 7, 0.9);
  border: 1px solid rgba(240, 185, 77, 0.42);
  box-shadow: inset 0 0 0 1px rgba(255, 227, 154, 0.04), 0 8px 24px rgba(0, 0, 0, 0.2);
}

#header-experience input[data-enzyme-id="OutlinedSearchBar"] {
  color: var(--ajo-cream);
  caret-color: var(--ajo-gold);
}

#header-experience [data-enzyme-id="OutlinedSearchBar-cta"] {
  color: var(--ajo-gold-light);
}

#store_nav nav [data-test-id="NavigationList-dropdownLayout"] {
  background: linear-gradient(180deg, rgba(29, 7, 7, 0.98), rgba(9, 3, 4, 0.98));
  border-top: 1px solid rgba(240, 185, 77, 0.2);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42);
}

.n-columns-2 {
            width: 100vw;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            font-weight: 700;
        }

        .n-columns-2 a {
            text-align: center;
        }

        .login,
        .register {
            position: relative;
            overflow: hidden;
            color: var(--ajo-cream);
            padding: 13px 10px;
            border: 1px solid var(--ajo-gold-deep);
            text-shadow: 0 1px 8px rgba(0, 0, 0, 0.72);
            box-shadow: inset 0 1px 0 rgba(255, 227, 154, 0.2), 0 7px 20px rgba(76, 2, 4, 0.32);
            transition: color 180ms ease, filter 180ms ease, box-shadow 180ms ease;
        }

        .login,
        .login-button {
            background: linear-gradient(180deg, #8e090b 0%, #3a0507 100%);
            border-color: var(--ajo-gold-deep);
        }

        .register,
        .register-button {
            background: linear-gradient(180deg, #dc2614 0%, #780608 100%);
            border-color: var(--ajo-gold);
        }

        .login:hover,
        .register:hover {
            color: #fff7df;
            filter: brightness(1.12) saturate(1.08);
            box-shadow: inset 0 1px 0 rgba(255, 227, 154, 0.28), 0 9px 26px rgba(128, 7, 7, 0.42);
        }

.AJO89-content {
  max-width: 800px;
  margin: 40px auto;
  padding: clamp(20px, 4vw, 38px);
  font-family: sofia, sofiaFallback, Arial, sans-serif;
  line-height: 1.7;
  color: #f7ead3;
  background:
    radial-gradient(circle at 100% 0%, rgba(213, 34, 18, 0.17), transparent 24rem),
    linear-gradient(145deg, rgba(39, 8, 8, 0.98), rgba(13, 4, 5, 0.98));
  border: 1px solid rgba(240, 185, 77, 0.46);
  box-shadow: 0 24px 64px rgba(35, 1, 2, 0.48), inset 0 1px 0 rgba(255, 227, 154, 0.08);
  border-radius: 24px;
}

.AJO89-content h1 {
  font-size: 28px;
  margin-bottom: 20px;
  color: var(--ajo-gold-light);
  text-shadow: 0 2px 18px rgba(213, 34, 18, 0.34);
}

.AJO89-content h2 {
  font-size: 22px;
  margin-top: 30px;
  margin-bottom: 10px;
  color: var(--ajo-gold-light);
  border-left: 4px solid var(--ajo-red);
  padding-left: 12px;
}

.AJO89-content h3 {
  font-size: 18px;
  margin-top: 20px;
  margin-bottom: 8px;
  color: var(--ajo-gold);
}

.AJO89-content p {
  margin-bottom: 15px;
  text-align: justify;
}

.AJO89-content a {
  color: var(--ajo-gold-light);
  text-decoration-color: rgba(240, 185, 77, 0.55);
  text-underline-offset: 3px;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.AJO89-content a:hover {
  color: #fff4c8;
  text-decoration-color: var(--ajo-ember);
}

.AJO89-content ul {
  padding-left: 20px;
  margin-bottom: 15px;
}

.AJO89-content li {
  margin-bottom: 8px;
}

.AJO89-content strong {
  color: var(--ajo-gold-light);
}

.DBLTOTO-box {
  background: rgba(79, 10, 10, 0.54);
  border: 1px solid var(--ajo-line);
  border-radius: 8px;
  padding: 15px;
  margin: 20px 0;
}

.DBLTOTO-number {
  font-weight: bold;
  color: var(--ajo-gold);
}

:root {
                                                                        --bg: #0b0304;
                                                                        --panel: #190607;
                                                                        --text: #fff5dc;
                                                                        --muted: #cba980;
                                                                        --line: rgba(240, 185, 77, .18);
                                                                        --lumut: #b40d0e;
                                                                        --lumut2: #f0b94d;
                                                                    }

                                                                    .rv-wrap {
                                                                        padding: 18px;
                                                                        display: flex;
                                                                        justify-content: center;
                                                                    }

                                                                    .rv-box {
                                                                        width: min(1200px, 100%);
                                                                        background:
                                                                            radial-gradient(circle at 90% 0%, rgba(213, 34, 18, .16), transparent 24rem),
                                                                            linear-gradient(145deg, #130506, var(--bg));
                                                                        border-radius: 20px;
                                                                        padding: 18px;
                                                                        color: var(--text);
                                                                        position: relative;
                                                                        overflow: hidden;

                                                                        border: 1px solid rgba(240, 185, 77, .48);
                                                                        box-shadow:
                                                                            0 20px 60px rgba(44, 1, 2, 0.5),
                                                                            0 0 28px rgba(180, 13, 14, 0.2),
                                                                            inset 0 1px 0 rgba(255, 227, 154, .08);
                                                                        animation: lumutBlink 3.8s infinite alternate ease-in-out;
                                                                    }

                                                                    .rv-box::before {
                                                                        content: "";
                                                                        position: absolute;
                                                                        inset: -2px;
                                                                        border-radius: 18px;
                                                                        pointer-events: none;
                                                                        box-shadow:
                                                                            0 0 20px rgba(240, 185, 77, 0.18),
                                                                            0 0 48px rgba(180, 13, 14, 0.18);
                                                                        opacity: .55;
                                                                        animation: lumutGlow 3.8s infinite alternate ease-in-out;
                                                                    }

                                                                    @keyframes lumutBlink {
                                                                        0% {
                                                                            border-color: rgba(180, 13, 14, .72);
                                                                            box-shadow:
                                                                                0 18px 52px rgba(44, 1, 2, .48),
                                                                                0 0 20px rgba(180, 13, 14, .18),
                                                                                inset 0 1px 0 rgba(255, 227, 154, .06);
                                                                        }

                                                                        100% {
                                                                            border-color: rgba(240, 185, 77, .66);
                                                                            box-shadow:
                                                                                0 22px 64px rgba(44, 1, 2, .56),
                                                                                0 0 32px rgba(240, 185, 77, .22),
                                                                                inset 0 1px 0 rgba(255, 227, 154, .1);
                                                                        }
                                                                    }

                                                                    @keyframes lumutGlow {
                                                                        0% {
                                                                            opacity: .38;
                                                                            filter: blur(0px);
                                                                        }

                                                                        100% {
                                                                            opacity: .72;
                                                                            filter: blur(.4px);
                                                                        }
                                                                    }

                                                                    .rv-head {
                                                                        padding: 6px 6px 14px;
                                                                        border-bottom: 1px solid var(--line);
                                                                        margin-bottom: 12px;
                                                                    }

                                                                    .rv-title {
                                                                        margin: 0;
                                                                        font-size: clamp(18px, 2.4vw, 24px);
                                                                        letter-spacing: .3px;
                                                                        color: var(--ajo-gold-light);
                                                                    }

                                                                    .rv-subtitle {
                                                                        margin: 8px 0 0;
                                                                        color: var(--muted);
                                                                        font-size: clamp(13px, 1.8vw, 15px);
                                                                        line-height: 1.5;
                                                                    }

                                                                    .rv-viewport {
                                                                        height: 420px;
                                                                        overflow: hidden;
                                                                        position: relative;
                                                                        border-radius: 14px;
                                                                    }

                                                                    /* track bergerak turun */
                                                                    .rv-track {
                                                                        display: block;
                                                                        will-change: transform;
                                                                        animation: scrollDown var(--rv-speed, 22s) linear infinite;
                                                                    }

                                                                    /* pause on hover */
                                                                    .rv-viewport:hover .rv-track,
                                                                    .rv-viewport:active .rv-track {
                                                                        animation-play-state: paused;
                                                                    }

                                                                    .rv-list {
                                                                        display: grid;
                                                                        gap: 10px;
                                                                        padding: 6px;
                                                                    }

                                                                    .rv-item {
                                                                        background: linear-gradient(145deg, rgba(38, 8, 8, .96), var(--panel));
                                                                        border: 1px solid var(--line);
                                                                        border-radius: 12px;
                                                                        padding: 14px;
                                                                        transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
                                                                    }

                                                                    .rv-item:hover {
                                                                        transform: translateY(-2px);
                                                                        border-color: rgba(240, 185, 77, .55);
                                                                        box-shadow: 0 10px 28px rgba(64, 2, 3, .34);
                                                                    }

                                                                    .rv-top {
                                                                        display: flex;
                                                                        align-items: center;
                                                                        justify-content: space-between;
                                                                        gap: 12px;
                                                                        margin-bottom: 8px;
                                                                    }

                                                                    .rv-name {
                                                                        font-weight: 700;
                                                                        letter-spacing: .2px;
                                                                    }

                                                                    .rv-stars {
                                                                        color: var(--lumut2);
                                                                        text-shadow: 0 0 12px rgba(240, 185, 77, 0.42);
                                                                        font-size: 14px;
                                                                        white-space: nowrap;
                                                                    }

                                                                    .rv-heading {
                                                                        margin: 0 0 6px;
                                                                        font-size: clamp(14px, 2vw, 16px);
                                                                    }

                                                                    .rv-body {
                                                                        margin: 0 0 10px;
                                                                        color: rgba(255, 245, 220, .9);
                                                                        line-height: 1.6;
                                                                        font-size: clamp(13px, 1.9vw, 15px);
                                                                    }

                                                                    .rv-date {
                                                                        display: inline-block;
                                                                        color: var(--muted);
                                                                        font-size: 12px;
                                                                    }

                                                                    .rv-foot {
                                                                        margin-top: 10px;
                                                                        padding-top: 10px;
                                                                        border-top: 1px solid var(--line);
                                                                        display: flex;
                                                                        justify-content: flex-end;
                                                                    }

                                                                    .rv-note {
                                                                        color: var(--muted);
                                                                        font-size: 12px;
                                                                    }

                                                                    /* Animasi: geser ke bawah setengah tinggi track (karena list diduplikasi) */
                                                                    @keyframes scrollDown {
                                                                        0% {
                                                                            transform: translateY(-50%);
                                                                        }

                                                                        100% {
                                                                            transform: translateY(0%);
                                                                        }
                                                                    }

                                                                    /* responsif */
                                                                    @media (max-width: 520px) {
                                                                        .rv-box {
                                                                            padding: 14px;
                                                                            border-radius: 14px;
                                                                        }

                                                                        .rv-viewport {
                                                                            height: 460px;
                                                                        }

                                                                        .rv-item {
                                                                            padding: 12px;
                                                                        }
                                                                    }

                                                                    /* aksesibilitas */
                                                                    @media (prefers-reduced-motion: reduce) {

                                                                        .rv-box,
                                                                        .rv-box::before {
                                                                            animation: none;
                                                                        }

                                                                        .rv-track {
                                                                            animation: none;
                                                                        }

                                                                        .rv-viewport {
                                                                            overflow: auto;
                                                                        }
                                                                    }

/* Crimson-gold component finishing: visual only, no DOM changes. */
#MediaTrayCarouselWithThumbnailSidebar {
  border: 1px solid rgba(240, 185, 77, 0.34);
  border-radius: 18px;
  box-shadow: 0 26px 68px rgba(31, 1, 2, 0.48), 0 0 28px rgba(160, 8, 9, 0.13);
}

[data-enzyme-id="FluidImage-wrapper"] img,
img[data-hb-id="FixedImage"] {
  filter: saturate(1.06) contrast(1.03);
}

button.y4m0pb0 {
  border: 1px solid rgba(240, 185, 77, 0.32);
  background: var(--ajo-panel);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

button.y4m0pb0:hover {
  transform: translateY(-2px);
  border-color: var(--ajo-gold);
  box-shadow: 0 8px 22px rgba(73, 3, 4, 0.4);
}

button[data-testing-id="atc-button"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--ajo-gold-light);
  background: linear-gradient(180deg, #d72b18 0%, #8b0709 48%, #4a0406 100%);
  border: 1px solid var(--ajo-gold);
  border-radius: 12px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.58);
  box-shadow: inset 0 1px 0 rgba(255, 232, 166, 0.28), 0 13px 30px rgba(104, 3, 5, 0.42);
  transition: transform 180ms ease, filter 180ms ease, box-shadow 180ms ease;
}

button[data-testing-id="atc-button"]::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -120%;
  left: -35%;
  width: 28%;
  height: 340%;
  background: linear-gradient(90deg, transparent, rgba(255, 240, 186, 0.42), transparent);
  transform: rotate(18deg) translateX(-220%);
  transition: transform 650ms cubic-bezier(.2, .8, .2, 1);
}

button[data-testing-id="atc-button"]:hover {
  transform: translateY(-2px);
  filter: brightness(1.1) saturate(1.08);
  box-shadow: inset 0 1px 0 rgba(255, 232, 166, 0.34), 0 16px 38px rgba(128, 4, 6, 0.5);
}

button[data-testing-id="atc-button"]:hover::after {
  transform: rotate(18deg) translateX(650%);
}

#Features_quantityStepper,
[data-test-id="FinancingPriceTransformationMessage"],
[data-test-id="shippingWidgetContentCard"] {
  color: var(--ajo-cream);
  background: linear-gradient(145deg, rgba(46, 10, 9, 0.96), rgba(17, 5, 6, 0.98));
  border: 1px solid rgba(240, 185, 77, 0.3);
  box-shadow: inset 0 1px 0 rgba(255, 227, 154, 0.05), 0 12px 32px rgba(38, 1, 2, 0.24);
}

[data-test-id="SpeedBadge"] > div {
  color: #fff5d7;
  background: linear-gradient(90deg, #840709, #c82314);
  border: 1px solid rgba(240, 185, 77, 0.44);
  box-shadow: 0 7px 18px rgba(99, 2, 4, 0.34);
}

[data-test-id="PricingMessage-sale"],
[data-test-id="FinancingPriceTransformationCallout"] {
  color: var(--ajo-gold-light);
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--ajo-gold);
  outline-offset: 3px;
}

::selection {
  color: var(--ajo-cream);
  background: rgba(181, 13, 14, 0.84);
}

@media (max-width: 640px) {
  body::before {
    display: none;
  }

  .AJO89-content {
    margin: 24px 12px;
    border-radius: 18px;
  }

  #MediaTrayCarouselWithThumbnailSidebar {
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }

  body::before {
    display: none;
  }
}
