/* =========================================================
   APM Landing — Hero Slider (konten hero bergeser) + Menu 6 item
   Lokasi: css/apm-hero-slider.css (dimuat SETELAH apm-landing.css)
   ========================================================= */

:root {
    --apm-navy: #132f5e;
    --apm-red: #dc2638;
    --apm-slide-delay: 6s; /* samakan dengan DELAY di js/apm-hero-slider.js */
}

/* ---------- Menu 6 item: rapatkan sedikit agar muat ---------- */
@media (min-width: 992px) {
    .header .nav--six { gap: 22px; }
    .header .nav--six a { font-size: 14.5px; white-space: nowrap; }
}
@media (min-width: 992px) and (max-width: 1200px) {
    .header .nav--six { gap: 16px; }
    .header .nav--six a { font-size: 13.5px; }
}

/* ---------- Slider di dalam .hero__content ---------- */
.hero-slider__viewport { display: grid; }

.hero-slide {
    grid-area: 1 / 1;              /* semua slide menumpuk → tinggi hero tidak loncat */
    opacity: 0;
    visibility: hidden;
    transform: translateX(24px);
    transition: opacity .6s ease, transform .6s ease, visibility 0s linear .6s;
}
.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: opacity .6s ease, transform .6s ease, visibility 0s;
}

/* Judul: h1 (slide utama) & h2 (slide lain) tampil sama persis */
.hero--slider .hero__title {
    font-size: clamp(34px, 4.4vw, 64px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -.02em;
    color: var(--apm-navy);
    margin: 0 0 20px;
}
.hero--slider .hero__title .accent { color: var(--apm-red); }

.hero-slide__note {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    color: #6b768a;
}

/* ---------- Kontrol: panah, dots, progress ---------- */
.hero-slider__controls {
    position: relative;
    z-index: 5;                    /* di atas overlay/gambar hero dari template */
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
}
.hero-slider__arrow,
.hero-slider__dot {
    position: relative;
    z-index: 1;
    touch-action: manipulation;    /* tap langsung terbaca, tanpa delay zoom */
    -webkit-tap-highlight-color: transparent;
}
.hero-slider__arrow {
    width: 40px; height: 40px;
    flex: 0 0 40px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid rgba(19, 47, 94, .2);
    background: rgba(255, 255, 255, .85);
    color: var(--apm-navy);
    display: grid; place-items: center;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}
.hero-slider__arrow svg { width: 18px; height: 18px; display: block; }
.hero-slider__arrow:hover { background: var(--apm-navy); color: #fff; border-color: var(--apm-navy); }

.hero-slider__dots { display: flex; align-items: center; gap: 8px; }
.hero-slider__dot {
    width: 9px; height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(19, 47, 94, .25);
    cursor: pointer;
    transition: width .3s, background .3s;
}
.hero-slider__dot.is-active { width: 28px; background: var(--apm-red); }

.hero-slider__progress {
    width: 90px;
    height: 3px;
    border-radius: 3px;
    background: rgba(19, 47, 94, .12);
    overflow: hidden;
    margin-left: 6px;
}
.hero-slider__progress span {
    display: block; height: 100%; width: 100%;
    background: var(--apm-red);
    transform-origin: left;
    transform: scaleX(0);
    animation: apmSlideProgress var(--apm-slide-delay) linear forwards;
}
.hero-slider.is-paused .hero-slider__progress span { animation-play-state: paused; }
@keyframes apmSlideProgress { to { transform: scaleX(1); } }

.hero-slider__arrow:focus-visible,
.hero-slider__dot:focus-visible { outline: 3px solid rgba(19, 47, 94, .35); outline-offset: 2px; }

/* ---------- Responsif ---------- */
@media (max-width: 767.98px) {
    /* Kontrol di kanan, menjauh dari tombol melayang "Lacak Resi" di kiri bawah */
    .hero-slider__controls { margin-top: 20px; gap: 12px; justify-content: flex-end; }
    /* Area sentuh minimal 44px agar mudah ditekan jari */
    .hero-slider__arrow { width: 44px; height: 44px; flex-basis: 44px; }
    .hero-slider__dots { gap: 10px; }
    .hero-slider__dot { width: 10px; height: 10px; }
    .hero-slider__dot.is-active { width: 28px; }
    .hero-slider__progress { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-slide, .hero-slide.is-active { transition: none; transform: none; }
    .hero-slider__progress { display: none; }
}