/* AFCMall v1.2.2 — Dynamic premium cards */
.pp-dynamic-section{position:relative}.pp-card-carousel-shell{position:relative}.pp-dynamic-grid{display:grid;grid-template-columns:repeat(var(--pp-cols-desktop,3),minmax(0,1fr));gap:22px}.pp-card-carousel-controls{display:flex;justify-content:flex-end;gap:8px;margin:-10px 0 14px}.pp-card-carousel-controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(8,26,47,.13);background:rgba(255,255,255,.9);color:var(--pp-theme);font-size:26px;line-height:1;box-shadow:0 10px 24px rgba(8,26,47,.08);cursor:pointer;transition:.22s ease}.pp-card-carousel-controls button:hover{transform:translateY(-2px);border-color:var(--pp-accent);color:var(--pp-accent)}.pp-card-layout-carousel .pp-dynamic-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 3px 18px;scrollbar-width:thin}.pp-card-layout-carousel .pp-dynamic-card{flex:0 0:min(390px,88vw);scroll-snap-align:start}.pp-card-height-equal .pp-dynamic-card,.pp-card-height-desktop_equal .pp-dynamic-card{height:100%}.pp-card-height-equal .pp-dynamic-card-inner,.pp-card-height-desktop_equal .pp-dynamic-card-inner{height:100%}.pp-card-height-compact .pp-dynamic-grid{gap:14px}.pp-card-height-compact .pp-dynamic-card{padding:16px}
.pp-dynamic-card{--pp-card-bg:#fff;--pp-card-text:#55606c;--pp-card-border:#e8e3d8;--pp-card-accent:var(--pp-accent);--pp-marker-bg:linear-gradient(145deg,#f4d97e,#a77917);--pp-marker-text:#fff;--pp-marker-border:rgba(255,255,255,.55);--pp-marker-accent:#fff1a6;position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--pp-card-border);border-radius:var(--pp-card-radius,22px);background:var(--pp-card-bg);color:var(--pp-card-text);padding:22px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;scroll-snap-align:start}.pp-dynamic-card::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(115deg,transparent 12%,rgba(255,255,255,.42) 47%,transparent 78%);transform:translateX(-130%);transition:transform .8s cubic-bezier(.2,.7,.2,1);pointer-events:none}.pp-dynamic-card-inner{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px}.pp-dynamic-card-content{min-width:0}.pp-dynamic-card h3{margin:4px 0 10px;color:var(--pp-theme);font-size:clamp(17px,2vw,22px);line-height:1.25}.pp-dynamic-card p,.pp-card-rich{margin:8px 0;color:var(--pp-card-text);line-height:1.7;font-size:14px}.pp-card-kicker{color:var(--pp-card-accent);font-weight:850;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.pp-card-value{font-size:clamp(26px,4vw,44px)!important;color:var(--pp-card-accent)!important}.pp-card-note{margin-top:12px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--pp-card-accent) 10%,transparent);border-left:3px solid var(--pp-card-accent);font-size:12px;line-height:1.55}.pp-dynamic-card .pp-card-highlight{margin-top:13px;background:color-mix(in srgb,var(--pp-card-accent) 11%,#fff);color:color-mix(in srgb,var(--pp-card-accent) 70%,#3f3212);border:1px solid color-mix(in srgb,var(--pp-card-accent) 25%,transparent)}
.pp-card-shadow-none{box-shadow:none}.pp-card-shadow-soft{box-shadow:0 10px 28px rgba(8,26,47,.07)}.pp-card-shadow-medium{box-shadow:0 18px 45px rgba(8,26,47,.11)}.pp-card-shadow-strong{box-shadow:0 25px 60px rgba(8,26,47,.17)}.pp-card-hover-lift:hover,.pp-card-hover-lift_shine:hover{transform:translateY(-8px)}.pp-card-hover-glow:hover{border-color:var(--pp-card-accent);box-shadow:0 22px 60px color-mix(in srgb,var(--pp-card-accent) 24%,transparent)}.pp-card-hover-lift_shine:hover{border-color:color-mix(in srgb,var(--pp-card-accent) 60%,var(--pp-card-border));box-shadow:0 24px 60px rgba(8,26,47,.16)}.pp-card-hover-lift_shine:hover::before{transform:translateX(130%)}
.pp-card-preset-minimal_luxury{background:linear-gradient(160deg,#fff,#fbfaf6);border-color:#e8e1d0}.pp-card-preset-minimal_luxury::after{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--pp-card-accent),transparent)}.pp-card-preset-glass_premium{--pp-card-bg:rgba(255,255,255,.10);--pp-card-text:rgba(255,255,255,.78);--pp-card-border:rgba(255,255,255,.20);background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.05));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.pp-card-preset-glass_premium h3{color:#fff}.pp-card-preset-metallic_gold{--pp-card-bg:linear-gradient(145deg,#fffdf5,#efe3b8);--pp-card-border:#d8bb61;--pp-card-accent:#9a6b08;background:var(--pp-card-bg)}.pp-card-preset-metallic_gold::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 5%,rgba(255,255,255,.8),transparent 34%);z-index:-1}.pp-card-preset-elegant_outline{background:transparent;border:1.5px solid color-mix(in srgb,var(--pp-card-accent) 42%,#d9dde4)}.pp-card-preset-soft_shadow{border-color:transparent;box-shadow:0 18px 50px rgba(8,26,47,.10)}.pp-card-preset-gradient_accent{background:linear-gradient(145deg,color-mix(in srgb,var(--pp-card-accent) 12%,#fff),#fff 58%)}.pp-card-preset-image_focus{padding-top:18px}.pp-card-preset-numbered_editorial{background:linear-gradient(155deg,#fff,#f8f5ed);border-left:4px solid var(--pp-card-accent)}
.pp-card-marker{position:relative;flex:0 0 auto;width:var(--pp-marker-size,76px);height:var(--pp-marker-size,76px);display:grid;place-items:center;border-radius:50%;background:var(--pp-marker-bg);border:1px solid var(--pp-marker-border);color:var(--pp-marker-text);box-shadow:0 12px 26px rgba(8,26,47,.16),inset 0 1px rgba(255,255,255,.45);overflow:hidden}.pp-card-marker img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.pp-card-marker span{position:relative;z-index:2;font-family:var(--pp-marker-font-family,Inter,sans-serif);font-size:var(--pp-marker-font-size,20px);font-weight:var(--pp-marker-font-weight,800);line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.28)}.pp-card-marker.has-image.has-text::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.58));z-index:1}.pp-marker-shape-square{border-radius:4px}.pp-marker-shape-rounded{border-radius:20px}.pp-marker-shape-portrait{width:calc(var(--pp-marker-size,76px) * .78);height:calc(var(--pp-marker-size,76px) * 1.18);border-radius:22px}.pp-marker-shape-landscape{width:calc(var(--pp-marker-size,76px) * 1.45);height:calc(var(--pp-marker-size,76px) * .8);border-radius:20px}.pp-marker-shape-full{width:100%;height:min(220px,calc(var(--pp-marker-size,76px) * 2.4));border-radius:calc(var(--pp-card-radius,22px) - 6px)}.pp-marker-circle_luxury{--pp-marker-bg:linear-gradient(145deg,#f7df89,#9d7012)}.pp-marker-capsule{border-radius:999px;width:auto;min-width:var(--pp-marker-size);padding:0 18px}.pp-marker-emblem{clip-path:polygon(50% 0,88% 18%,100% 58%,72% 100%,28% 100%,0 58%,12% 18%);border-radius:0}.pp-marker-outline{--pp-marker-bg:transparent;--pp-marker-text:var(--pp-card-accent);--pp-marker-border:var(--pp-card-accent);box-shadow:none}.pp-marker-gradient{--pp-marker-bg:linear-gradient(135deg,var(--pp-card-accent),#42c4ba,#8c6ee8)}.pp-marker-glass{--pp-marker-bg:rgba(255,255,255,.18);--pp-marker-border:rgba(255,255,255,.45);backdrop-filter:blur(12px)}.pp-marker-metallic{--pp-marker-bg:linear-gradient(145deg,#ffeaa6,#b17c12 55%,#6f4800);--pp-marker-border:#ffefb7}.pp-marker-minimal{--pp-marker-bg:#fff;--pp-marker-text:var(--pp-card-accent);--pp-marker-border:#e7e0d2;box-shadow:0 8px 18px rgba(8,26,47,.08)}
.pp-card-image-left .pp-dynamic-card-inner{display:grid;grid-template-columns:auto 1fr;align-items:start}.pp-card-image-right .pp-dynamic-card-inner{display:grid;grid-template-columns:1fr auto;align-items:start}.pp-card-image-right .pp-card-marker{grid-column:2}.pp-card-image-right .pp-dynamic-card-content{grid-column:1;grid-row:1}.pp-card-marker-background{position:absolute;inset:0;z-index:0}.pp-card-marker-background .pp-card-marker{width:100%;height:100%;border:0;border-radius:inherit;opacity:.26;filter:saturate(.85)}.pp-card-marker-background+.pp-dynamic-card-inner{position:relative;z-index:2}.pp-card-image-background::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.92));z-index:1;pointer-events:none}.pp-bg-dark .pp-card-image-background::after,.pp-bg-theme_color .pp-card-image-background::after{background:linear-gradient(180deg,rgba(8,26,47,.18),rgba(8,26,47,.92))}
.pp-card-js [data-card-animate]{opacity:0}.pp-card-js [data-card-animate].is-visible{opacity:1;animation-duration:var(--pp-animation-duration,650ms);animation-delay:var(--pp-animation-delay,0ms);animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.72,.25,1)}.pp-card-js .pp-animate-none{opacity:1!important;animation:none!important}.pp-card-js .pp-animate-fade_in.is-visible{animation-name:ppFadeIn}.pp-card-js .pp-animate-fade_up.is-visible{animation-name:ppFadeUp}.pp-card-js .pp-animate-fade_down.is-visible{animation-name:ppFadeDown}.pp-card-js .pp-animate-slide_left.is-visible{animation-name:ppSlideLeft}.pp-card-js .pp-animate-slide_right.is-visible{animation-name:ppSlideRight}.pp-card-js .pp-animate-zoom_in.is-visible{animation-name:ppZoomIn}.pp-card-js .pp-animate-scale_up.is-visible{animation-name:ppScaleUp}.pp-card-js .pp-animate-blur_reveal.is-visible{animation-name:ppBlurReveal}.pp-card-js .pp-animate-flip.is-visible{animation-name:ppFlip}@keyframes ppFadeIn{from{opacity:0}to{opacity:1}}@keyframes ppFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes ppFadeDown{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}@keyframes ppSlideLeft{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}@keyframes ppSlideRight{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}@keyframes ppZoomIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}@keyframes ppScaleUp{from{opacity:0;transform:scale(.96) translateY(12px)}to{opacity:1;transform:none}}@keyframes ppBlurReveal{from{opacity:0;filter:blur(12px);transform:scale(.96)}to{opacity:1;filter:none;transform:none}}@keyframes ppFlip{from{opacity:0;transform:perspective(800px) rotateX(18deg)}to{opacity:1;transform:none}}
@media(max-width:900px){.pp-dynamic-grid{grid-template-columns:repeat(var(--pp-cols-tablet,2),minmax(0,1fr))}.pp-card-height-desktop_equal .pp-dynamic-card{height:auto}}
@media(max-width:680px){.pp-dynamic-grid{grid-template-columns:repeat(var(--pp-cols-mobile,1),minmax(0,1fr));gap:16px}.pp-card-layout-responsive .pp-dynamic-grid,.pp-card-layout-carousel .pp-dynamic-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 18px}.pp-card-layout-responsive .pp-dynamic-card,.pp-card-layout-carousel .pp-dynamic-card{flex:0 0 86vw;max-width:390px}.pp-card-image-left .pp-dynamic-card-inner,.pp-card-image-right .pp-dynamic-card-inner{grid-template-columns:1fr}.pp-card-image-right .pp-card-marker,.pp-card-image-right .pp-dynamic-card-content{grid-column:auto;grid-row:auto}.pp-card-marker{--pp-marker-size:min(var(--pp-marker-size),72px)}.pp-card-carousel-controls{margin-bottom:10px}.pp-dynamic-card{padding:18px}}
@media(prefers-reduced-motion:reduce){.pp-card-js [data-card-animate]{opacity:1!important;animation:none!important}.pp-dynamic-card,.pp-dynamic-card::before{transition:none!important}}
/* AFCMall v1.2.8 — Informasi Penting / Disclaimer singleton layout */
.pp-disclaimer-section.pp-card-count-1 .pp-card-carousel-controls {
    display: none !important;
}

.pp-disclaimer-section.pp-card-count-1 .pp-dynamic-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: none;
    overflow: visible !important;
    padding: 0 !important;
}

.pp-disclaimer-section.pp-card-count-1 .pp-disclaimer-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    flex: 1 1 100% !important;
    padding: clamp(22px, 3vw, 34px);
    border-color: color-mix(in srgb, var(--pp-card-accent) 30%, #e8e3d8);
    background:
        radial-gradient(circle at 94% 8%, color-mix(in srgb, var(--pp-card-accent) 12%, transparent), transparent 28%),
        linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--pp-card-accent) 4%, #ffffff) 100%);
    box-shadow:
        0 20px 46px rgba(8, 26, 47, .09),
        inset 0 1px 0 rgba(255, 255, 255, .9);
}

.pp-disclaimer-section.pp-card-count-1 .pp-disclaimer-card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: linear-gradient(180deg, var(--pp-card-accent), color-mix(in srgb, var(--pp-card-accent) 28%, transparent));
    pointer-events: none;
}

.pp-disclaimer-section.pp-card-count-1 .pp-dynamic-card-inner {
    width: 100%;
}

.pp-disclaimer-section.pp-card-count-1 .pp-dynamic-card-content {
    width: 100%;
}

.pp-disclaimer-section.pp-card-count-1 .pp-disclaimer-card h3 {
    margin-top: 2px;
    font-size: clamp(20px, 2.4vw, 28px);
}

.pp-disclaimer-section.pp-card-count-1 .pp-disclaimer-card .pp-card-rich {
    max-width: none;
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.8;
}

@media (max-width: 680px) {
    .pp-disclaimer-section.pp-card-count-1 .pp-dynamic-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        scroll-snap-type: none !important;
    }

    .pp-disclaimer-section.pp-card-count-1 .pp-disclaimer-card {
        flex-basis: 100% !important;
        width: 100% !important;
        max-width: none !important;
        padding: 21px 19px 21px 22px;
    }
}
/* AFCMall v1.2.9 — Product Form fields as premium-section fallbacks */
.pp-product-form-fallback-section .pp-card-carousel-controls {
    display: none !important;
}

.pp-product-form-fallback-section .pp-dynamic-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    max-width: none;
    overflow: visible !important;
    padding: 0 !important;
}

.pp-product-form-fallback-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    flex: 1 1 100% !important;
    padding: clamp(22px, 3vw, 34px);
    background:
        radial-gradient(circle at 94% 8%, color-mix(in srgb, var(--pp-card-accent) 12%, transparent), transparent 30%),
        linear-gradient(135deg, #ffffff 0%, color-mix(in srgb, var(--pp-card-accent) 4%, #ffffff) 100%);
    border-color: color-mix(in srgb, var(--pp-card-accent) 30%, #e8e3d8);
    box-shadow:
        0 20px 46px rgba(8, 26, 47, .09),
        inset 0 1px 0 rgba(255, 255, 255, .9);
}

.pp-product-form-fallback-card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    background: linear-gradient(
        180deg,
        var(--pp-card-accent),
        color-mix(in srgb, var(--pp-card-accent) 24%, transparent)
    );
    pointer-events: none;
}

.pp-product-form-fallback-card .pp-dynamic-card-inner,
.pp-product-form-fallback-card .pp-dynamic-card-content,
.pp-product-form-fallback-card .pp-card-rich {
    width: 100%;
    max-width: none;
}

.pp-product-form-fallback-card h3 {
    margin-top: 2px;
    font-size: clamp(20px, 2.4vw, 28px);
}

.pp-product-form-fallback-card .pp-card-rich {
    font-size: clamp(14px, 1.35vw, 16px);
    line-height: 1.8;
}

@media (max-width: 680px) {
    .pp-product-form-fallback-section .pp-dynamic-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        scroll-snap-type: none !important;
    }

    .pp-product-form-fallback-card {
        width: 100% !important;
        max-width: none !important;
        flex-basis: 100% !important;
        padding: 21px 19px 21px 22px;
    }
}
/* AFCMall v1.3.10 — Mobile product-card navigation and alignment */
.pp-card-carousel-shell {
    min-width: 0;
}

.pp-card-carousel-controls button > span {
    display: block;
    line-height: 1;
    transform: translateY(-1px);
}

.pp-card-carousel-controls button:disabled,
.pp-card-carousel-controls button.is-disabled {
    opacity: .34;
    border-color: rgba(8,26,47,.09);
    color: rgba(8,26,47,.34);
    background: rgba(242,244,247,.82);
    box-shadow: none;
    cursor: not-allowed;
    pointer-events: none;
    transform: none !important;
}

.pp-card-carousel-shell.is-card-static .pp-card-carousel-controls {
    display: none !important;
}

.pp-card-carousel-shell.is-card-at-start [data-card-prev],
.pp-card-carousel-shell.is-card-at-end [data-card-next] {
    opacity: .34;
}

.pp-card-layout-carousel .pp-dynamic-grid {
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
}

.pp-card-layout-carousel .pp-dynamic-card {
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

@media (max-width: 680px) {
    .pp-card-layout-responsive .pp-dynamic-grid,
    .pp-card-layout-carousel .pp-dynamic-grid {
        --pp-mobile-card-width: min(86%, 390px);
        display: flex;
        width: 100%;
        max-width: 100%;
        gap: 16px;
        overflow-x: auto;
        overflow-y: visible;
        padding-top: 6px;
        padding-bottom: 18px;
        padding-left: max(10px, calc((100% - var(--pp-mobile-card-width)) / 2));
        padding-right: max(10px, calc((100% - var(--pp-mobile-card-width)) / 2));
        scroll-padding-left: max(10px, calc((100% - var(--pp-mobile-card-width)) / 2));
        scroll-padding-right: max(10px, calc((100% - var(--pp-mobile-card-width)) / 2));
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        touch-action: pan-x pan-y;
    }

    .pp-card-layout-responsive .pp-dynamic-grid::-webkit-scrollbar,
    .pp-card-layout-carousel .pp-dynamic-grid::-webkit-scrollbar {
        display: none;
    }

    .pp-card-layout-responsive .pp-dynamic-card,
    .pp-card-layout-carousel .pp-dynamic-card {
        flex: 0 0 var(--pp-mobile-card-width);
        width: var(--pp-mobile-card-width);
        max-width: 390px;
        min-width: 0;
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }

    .pp-card-layout-responsive .pp-dynamic-card.is-current-card,
    .pp-card-layout-carousel .pp-dynamic-card.is-current-card {
        outline: 1px solid color-mix(in srgb, var(--pp-card-accent) 24%, transparent);
        outline-offset: -1px;
    }

    .pp-card-carousel-controls {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        width: 100%;
        margin: -4px 0 10px;
        padding-inline: 2px;
    }

    .pp-card-carousel-controls [data-card-prev] {
        justify-self: start;
    }

    .pp-card-carousel-controls [data-card-next] {
        justify-self: end;
    }

    .pp-card-carousel-controls button {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        min-width: 46px;
        min-height: 46px;
        padding: 0;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .pp-card-carousel-controls button:focus-visible {
        outline: 3px solid color-mix(in srgb, var(--pp-accent) 42%, transparent);
        outline-offset: 2px;
    }
}

@media (max-width: 390px) {
    .pp-card-layout-responsive .pp-dynamic-grid,
    .pp-card-layout-carousel .pp-dynamic-grid {
        --pp-mobile-card-width: 88%;
        gap: 13px;
    }

    .pp-card-carousel-controls button {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pp-card-layout-responsive .pp-dynamic-grid,
    .pp-card-layout-carousel .pp-dynamic-grid {
        scroll-behavior: auto;
    }
}
