/* Biar grid rapi */
.shop-product-wrap .product .image-action .image{
  display:block;
  width:100%;
  aspect-ratio: 1 / 1;     /* kotak; bisa ganti 4/5 atau 3/4 */
  overflow:hidden;
  position:relative;
  background:#f3f3f3;
}

/* thumbnail dipaksa memenuhi kotak */
.shop-product-wrap .product .image-action .image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;         /* ini kuncinya */
  object-position:center;
}

/* CTA utama produk */
/* ===== PRIMARY CTA: ADD TO CART (BLUE) ===== */
.action-cart-cta{
  background:#0071E3;
  border-color:#0A66C2;
  box-shadow:0 6px 18px rgba(10,102,194,.25);

  font-size:14px;          /* <<< DIPERKECIL */
  font-weight:700;
  letter-spacing:.1px;

  padding:10px 18px;       /* <<< DIPIPIH */
  border-radius:10px;      /* <<< NGGAK BALON */

  box-shadow:none;         /* <<< HILANGIN SHADOW BESAR */
  transition:background .15s ease, transform .1s ease;
}

.action-cart-cta:hover{
  background:#005FCC;           /* blue-700 */
  border-color:#1D4ED8;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(37,99,235,.35);
}

.action-cart-cta:active{
  background:#1E40AF;           /* blue-800 */
  border-color:#1E40AF;
  transform:translateY(0);
  box-shadow:0 6px 16px rgba(37,99,235,.25);
}




/* Pricing */

.price-box{ margin-top:10px; }

.price-main{
  display:flex;
  align-items:flex-end;
  gap:6px;
  line-height:1;
}

.price-currency{
  font-size:16px;
  font-weight:700;
  opacity:.7;
  transform: translateY(-4px);
}

.price-amount{
  font-size:34px;     /* besar tapi nggak norak */
  font-weight:800;
  letter-spacing:-0.02em;
}

.price-badge{
  font-size:12px;
  font-weight:700;
  padding:4px 8px;
  border-radius:999px;
  background:#111;
  color:#fff;
  margin-left:8px;
  transform: translateY(-6px);
}

.price-sub{
  margin-top:8px;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

.price-old{
  font-size:14px;
  opacity:.55;
  text-decoration: line-through;
}

.price-save{
  font-size:13px;
  font-weight:700;
  padding:4px 8px;
  border-radius:8px;
  background: rgba(16,185,129,.12); /* hijau soft */
  color:#0f766e;
}

.stock-status{
  margin-top:8px;
  display:inline-flex;
  align-items:center;

  padding:4px 10px;      /* <<< DIPERKURUS */
  border-radius:999px;

  background:#FEF3C7;
  color:#92400E;

  font-size:12px;        /* <<< LEBIH KECIL */
  font-weight:600;
  line-height:1.2;
}



.price-sep{
  margin:16px 0 20px;
  margin-top:15px;
  height:1px;
  width:100%;
  background:#e5e7eb;   /* abu halus */
  border-radius:0;
  background:#f1f5f9;
}


/* tombol modal: kotak & proporsional */
/* Base tombol */
.action-cart-btn{
  border-radius: 6px;
  padding: 10px 18px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Secondary: Lihat keranjang */
.action-cart-btn.btn-secondary{
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  color: #374151;
}

.action-cart-btn.btn-secondary:hover{
  background: #f3f4f6;
}


/* Primary: Checkout (calm green) */
.action-checkout{
  background:#0071E3;
  border-color:#0A66C2;
  box-shadow:0 6px 18px rgba(10,102,194,.25);
}

.action-checkout:hover{
  background:#005FCC;           /* blue-700 */
  border-color:#1D4ED8;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(37,99,235,.35);
}

.action-checkout:active{
  background: #153380;
}

/* Primary: Checkout (calm green) */
.canvas-checkout-btn{
  background:#0A66C2;
  border-color:#0A66C2;
  box-shadow:0 6px 18px rgba(10,102,194,.25);
}

.canvas-checkout-btn:hover{
  background:#1D4ED8;           /* blue-700 */
  border-color:#1D4ED8;
  transform:translateY(-1px);
  box-shadow:0 12px 28px rgba(37,99,235,.35);
}

.canvas-checkout-btn:active{
  background: #153380;
}


/* ===== CHECKOUT PAY BUTTON (CLEAN & COMPACT) ===== */
.place-order-btn{
  width:100%;
  max-width:480px;     /* <<< INI KUNCI */
  margin:0 auto;       /* center */

  font-size:14px;          /* lebih kecil */
  font-weight:700;
  letter-spacing:.2px;

  padding:10px 16px;       /* <<< INI KUNCI: bikin pendek */
  border-radius:12px;      /* masih halus tapi nggak balon */

  background:#0071E3;      /* biru konsisten */
  border-color:#2563EB;
  color:#fff;

  box-shadow:none;         /* hilangin shadow gede */
  transition:background .15s ease;
}

/* Hover */
.place-order-btn:hover:not(:disabled){
  background:#005FCC;
  border-color:#1D4ED8;
}

/* Disabled state (penting!) */
.place-order-btn:disabled{
  background:#E5E7EB;
  border-color:#E5E7EB;
  color:#9CA3AF;
  cursor:not-allowed;
}


.stock-hint{
  font-size: 12px;
  color: #9ca3af;
  margin-top: 4px;
}


.margin-top-15{
  margin-top: 15px;
}

.margin-top-35{
  margin-top: 35px;
}

/* Biar tombol disabled gak "hilang" */
#btnPay:disabled{
  opacity: 1 !important;
  background: #e5e7eb !important;
  color: #6b7280 !important;
  cursor: not-allowed !important;
}

.order-status-alert {
  display:flex; gap:14px;
  padding:18px 20px;
  border-radius:10px;
  margin-bottom:20px;
  align-items:center;
  font-size:15px;
}
.order-status-alert .icon{
  width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:18px;
}
.order-status-alert strong{ font-size:17px; }
.order-status-alert span{ display:block;margin-top:4px;opacity:.9; }

.alert-success{ background:#e9f8ef;border:1px solid #b9ebcc;color:#1e7e34; }
.alert-success .icon{ background:#1e7e34;color:#fff; }

.alert-warning{ background:#fff7e6;border:1px solid #ffe0a3;color:#8a6d1d; }
.alert-warning .icon{ background:#f0ad4e;color:#fff; }

.alert-danger{ background:#fdecea;border:1px solid #f5c2c7;color:#842029; }
.alert-danger .icon{ background:#dc3545;color:#fff; }


.cart-summary-button .btn{
  display:inline-block;
  padding: 12px 30px;
  line-height: 1.4;
}
.cart-summary-button button.btn{
  border: none;
}

.remember-wrap{
  margin: 10px 0 18px;
}

.remember-label{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
  line-height: 1;
}

.remember-label input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: #111; /* modern browser */
}

.remember-text{
  font-size: 14px;
  font-weight: 600;
  color: #111;
}

.remember-wrap label,
.remember-wrap span{
  text-transform: none !important;
}

/* Logout khusus */
.myaccount-tab-menu .logout-link{
  color: #b42318;              /* merah lembut */
  background: #fff5f5;         /* pink sangat soft */
  border-left: 4px solid transparent;
  font-weight: 600;
}

.myaccount-tab-menu .logout-link i{
  color: #b42318;
}

/* hover */
.myaccount-tab-menu .logout-link:hover{
  background: #fee4e2;         /* sedikit lebih kuat */
  color: #7a271a;
  border-left-color: #b42318;
}

/* active state (kalau suatu saat kepake) */
.myaccount-tab-menu .logout-link.active{
  background: #fda29b;
  color: #7a271a;
}


.margin-top-min-50{
  margin-top: -50px;
}

/* --- reset khusus checkbox default alamat --- */
.addr-default .form-check {
  display: flex;
  align-items: center;
  gap: 10px;
}

.addr-default__input {
  /* paksa balik jadi checkbox normal */
  appearance: auto !important;
  -webkit-appearance: checkbox !important;

  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;

  background: transparent !important;
  border: 1px solid #cfd6df !important;
  border-radius: 3px !important;

  display: inline-block !important;
  position: static !important;

  box-shadow: none !important;
}

.addr-default__input:checked {
  background: initial !important;
}

.addr-default__label {
  margin: 0 !important;
  cursor: pointer;
}


.addr-default-badge{
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 999px;
  background: #eef6ff;
  color: #1e60d4;
  font-weight: 600;
  white-space: nowrap;
  margin-left: 10px;
}

/* Search input text (yang diketik user) */
.widget-search input[type="search"] {
  color: #111 !important;   /* hitam tegas */
  font-weight: 500;
}

/* Placeholder tetap lebih soft */
.widget-search input[type="search"]::placeholder {
  color: #aaa;
  font-weight: 400;
}

/* Saat focus, lebih jelas */
.widget-search input[type="search"]:focus {
  color: #000;
  border-color: #000;
}


/* paksa checkbox gak ikut gaya input text template */
.form-check-input[type="checkbox"]{
  width: 1em !important;
  height: 1em !important;
  border-radius: .25em !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.form-check-input[type="checkbox"]:focus{
  box-shadow: none !important;
}

.form-check{
  display:flex;
  align-items:center;
  gap:.5rem;
}

.offcanvas-cart-item .cart-item-remove{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}
.offcanvas-cart-item .cart-item-remove i{
  pointer-events: none;
}

.offcanvas-cart-item{
  position: relative;
}
.offcanvas-cart-item .cart-item-remove{
  position: absolute;
  top: 10px;
  right: 10px;
}

.main-menu .sub-menu li a.apple-brand,
.main-menu .sub-menu li a {
  text-transform: none !important;
}

/* Related products - thumbnail konsisten */
.related-thumb{
  display:block;
  width:100%;
  height:220px;          /* atur tinggi thumbnail */
  overflow:hidden;
  border-radius:10px;    /* opsional */
  background:#f3f4f6;    /* placeholder */
}

.related-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;       /* crop rapi, tidak gepeng */
  object-position:center;
}

@media (max-width: 991.98px) {
  .widget-products {
    display: none !important;
  }
}

/* Thumbnail kanan: seragam */
.sp-thumbs-right{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.sp-thumb-item{
  width:110px;       /* lebar thumbnail */
  height:90px;       /* tinggi thumbnail */
  overflow:hidden;
  border-radius:10px;
  background:#f3f4f6;
}

.sp-thumb-item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;        /* crop rapi, ukuran sama semua */
  object-position:center;
}

/* ===== MAIN PRODUCT IMAGE ===== */

.single-product-image{
  width:100%;
  background:#f3f4f6;
  border-radius:12px;
  overflow:hidden;

  /* PENTING: biarin tinggi ngikut gambar */
  display:block;
}



/* ===== TITLE & PRICE ===== */

/* ===== Title & price tokped-ish ===== */
.price-main,
.price-currency,
.price-amount{
  font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-variant-numeric: tabular-nums lining-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.price-main{
  display:flex;
  align-items:baseline;
  gap:6px;
}

.price-currency{
  font-size:16px;
  font-weight:700;
  line-height:1;
  color:#111;
  opacity:.7;
}

.price-amount{
  font-size:34px;
  font-weight:900;
  line-height:1.05;           /* ini yang bikin nggak “gembrot” */
  letter-spacing:-0.6px;      /* biar angka rapet kayak Tokped */
  color:#111;
}

.price-main{
  margin-top: 15px;
}

/* HOMEPAGE */

.banner-overlay {
  position: relative;
  overflow: hidden;
}

.banner-overlay img {
  width: 100%;
  display: block;
}

.banner-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

.banner-overlay a {
  display: block;
  position: relative;
}

/* === CENTER ABSOLUTE === */
.banner-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;     /* vertical */
  justify-content: center; /* horizontal */
  text-align: center;
  z-index: 2;
}

.banner-text h3 {
  margin: 0;
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.5px;
}

/* product page title */
.single-product-content .product-title{
  font-size: 28px;        /* samakan dengan ukuran h2 kamu sebelumnya */
  line-height: 1.3;
  font-weight: 600;
  margin: 0 0 12px 0;
}

/* H2 section (Description, dll) */
.single-product-content .section-title{
  font-size: 20px;        /* kecil & rapi */
  line-height: 1.4;
  font-weight: 600;
  margin: 24px 0 8px;
}



/* ====== CONSISTENT IMAGE FRAME FOR PRODUCT MASONRY ====== */
.masonry-wrap .product-2 .image-action .image{
  position: relative;
  display: block;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: #f3f4f6;
}

/* item kecil (col-lg-3): kotak */
.masonry-wrap .masonry-item.col-lg-3 .product-2 .image-action .image{
  aspect-ratio: 1 / 1;
}

/* item besar (col-lg-6): landscape */
.masonry-wrap .masonry-item.col-lg-6 .product-2 .image-action .image{
  aspect-ratio: 16 / 9;   /* kalau mau lebih “tinggi”, ganti 4/3 */
}

/* gambar selalu ngisi frame */
.masonry-wrap .product-2 .image-action .image img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* FRAME */
.masonry-wrap .product-2 .image-action .image.img-frame{
  position: relative;
  display: block;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: #f3f4f6;
}

/* ukuran frame konsisten */
.masonry-wrap .masonry-item.col-lg-3 .product-2 .image-action .image.img-frame{
  aspect-ratio: 1 / 1;     /* kecil: kotak */
}
.masonry-wrap .masonry-item.col-lg-6 .product-2 .image-action .image.img-frame{
  aspect-ratio: 16 / 9;    /* besar: landscape */
}

/* background blur (mengisi frame) */
.masonry-wrap .product-2 .image-action .image.img-frame::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--img);
  background-size: cover;
  background-position: center;
  filter: blur(18px);
  transform: scale(1.12);
  opacity: .25;
}

/* gambar utama: tampil utuh (tidak kepotong) */
.masonry-wrap .product-2 .image-action .image.img-frame img{
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;      /* ini kuncinya: tidak kepotong */
  object-position: center;
}



.product-2 .image-action.image-with-title{
  position: relative !important;
  overflow: hidden;           /* biar title ga keluar radius */
  border-radius: 12px;        /* samakan dengan card kamu */
}

.product-2 .image-action.image-with-title .image-title{
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;

  padding: 10px 12px;
  background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0));
  pointer-events: none;
  z-index: 3;
}

.product-2 .image-action.image-with-title .image-title h3{
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  color: #fff;

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hero-actions{
  display:flex;
  align-items:center;
  gap:12px; /* ganti margin-left */
  flex-wrap:wrap; /* aman kalau layar kecil */
}

/* ============ FIX: produk terbaru biar rapi ============ */

/* 1) Kunci kontainer gambar (bukan hanya img) */
.product-2 .image-action.image-with-title{
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: #f3f4f6;
}

/* 2) Paksa link gambar full, hilangkan padding/margin bawaan template */
.product-2 .image-action.image-with-title a.image{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 3) Tinggi frame: besar vs kecil (set di CONTAINER image-action) */
.masonry-item.col-lg-6 .product-2 .image-action.image-with-title{
  height: 360px !important;
}
.masonry-item.col-lg-3 .product-2 .image-action.image-with-title{
  height: 240px !important;
}

/* 4) Paksa img ngisi frame */
.product-2 .image-action.image-with-title a.image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

/* 5) Title overlay biar full bawah & rapi */
.product-2 .image-action.image-with-title .image-title{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 14px 16px;
  background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
  z-index: 2;
}
.product-2 .image-action.image-with-title .image-title h3{
  margin: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

/* 6) Label & wishlist biar gak ikut kegeser */
.product-2 .image-action.image-with-title .labels,
.product-2 .image-action.image-with-title .wishlist-btn{
  z-index: 3;
}

/* Wrapper banner */
.banner{
  position: relative;
  overflow: hidden;
  border-radius: 24px; /* samain sama aesthetic kamu */
}

/* edge shadow super tipis */
.banner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  box-shadow:
          inset 0 0 0 1px rgba(0,0,0,0.03),
          inset 0 0 24px rgba(0,0,0,0.04);

  border-radius: inherit;
}

.banner::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background:
          linear-gradient(to bottom, rgba(0,0,0,0.04), rgba(0,0,0,0) 20%),
          linear-gradient(to top, rgba(0,0,0,0.04), rgba(0,0,0,0) 20%),
          linear-gradient(to right, rgba(0,0,0,0.04), rgba(0,0,0,0) 20%),
          linear-gradient(to left, rgba(0,0,0,0.04), rgba(0,0,0,0) 20%);

  border-radius: inherit;
}

.margin-bottom-30 {
  margin-bottom: 30px;
}

.margin-bottom-100 {
  margin-bottom: 100px;
}


.subscribe-section{
  position: relative;
  overflow: hidden;
}

/* layer wash-out halus */
.subscribe-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;

  /* putih halus, sama kayak hero */
  background: rgba(255,255,255,0.75);
}

/* pastikan konten tetap di atas */
.subscribe-section .subscribe-content{
  position: relative;
  z-index:2;
}

.subscribe-section{
  background-position: 40% center !important;
  background-size: cover !important;
}




/* HERO SLIDER TEKS BIAR GAK NABRAK GAMBAR*/
@media (max-width: 980px){
  .hero-item{
    position: relative;
    overflow: hidden;
  }

  /* bikin area kiri (tempat teks) lebih terang halus */
  .hero-item::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background: linear-gradient(90deg,
    rgba(255,255,255,.85) 0%,
    rgba(255,255,255,.45) 100%,
    rgba(255,255,255,0) 75%
    );
    pointer-events:none;
  }

  .hero-content{ position:relative; z-index:2; }

  /* geser fokus gambar biar objek gak “nabrak” teks */
  .hero-item{
    background-position: 75% center !important;
    background-size: cover !important;
  }

}

@media (max-width: 576px){
  .hide-mobile{ display:none !important; }
}


/* Wajib: parent punya konteks posisi */
.product .image-action{
  position: relative;
}

/* Tombol overlay di atas gambar */
.product .image-action .action{
  position: absolute;
  z-index: 20;
  pointer-events: auto;
}

/* Link gambar jangan lebih tinggi dari tombol */
.product .image-action > a.image{
  position: relative;
  z-index: 5;
}

/* Pastikan tiap tombol bisa diklik */
.product .image-action .action a{
  position: relative;
  z-index: 25;
  pointer-events: auto;
}

/* Kalau theme bikin overlay hover pakai ::before/::after, jangan nangkep tap */
.product .image-action::before,
.product .image-action::after,
.product .image-action .image::before,
.product .image-action .image::after{
  pointer-events: none;
}

.product .image-action .action::before,
.product .image-action .action::after{
  pointer-events: none;
}

/* resend verification text-link */
.resend-verify-text{
  font-size: 13px;
  color: #6b7280; /* abu-abu lembut */
}

.resend-verify-text .resend-link{
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  color: #2563eb; /* biru link */
  font-size: 13px;
  cursor: pointer;
  text-decoration: underline;
}

.resend-verify-text .resend-link:hover{
  color: #1d4ed8;
}



/* MOBILE CART */

/* Biar konten gak ketutup bottom bar */
.cart-page { padding-bottom: 96px; }

/* Mobile cart card */
.cart-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:12px;
  background:#fff;
  display:flex;
  gap:12px;
  margin-bottom:12px;
}
.cart-thumb{
  width:72px;height:72px;border-radius:12px;overflow:hidden;flex:0 0 72px;
  background:#f6f6f6;
}
.cart-thumb img{ width:100%;height:100%;object-fit:cover;display:block; }
.cart-meta{ flex:1; min-width:0; }
.cart-title{
  font-weight:700; line-height:1.2; margin:0 0 6px 0;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.cart-sub{ font-size:13px; color:#6c757d; margin:0; }
.cart-price{ font-weight:800; margin-top:6px; }
.cart-actions{
  display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between;
  gap:8px; flex:0 0 auto;
}
.cart-pill{
  font-size:12px; padding:4px 8px; border-radius:999px; background:#f1f3f5; color:#495057;
  white-space:nowrap;
}
.cart-remove{
  width:34px;height:34px;border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:#fff; border:1px solid rgba(0,0,0,.08); color:#dc3545;
}

/* Bottom checkout bar */
.checkout-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1040; /* di atas footer */
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  border-top: 1px solid rgba(0,0,0,.08);
}

.checkout-bar-inner{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  max-width: 1100px;
  margin: 0 auto;
}

.checkout-total small{ display:block; color:#6c757d; line-height:1; }
.checkout-total strong{ font-size:18px; }
.checkout-btn{
  border-radius:999px;
  padding:12px 18px;
  font-weight:800;
  min-width:150px;
}

/* Desktop: bottom bar boleh disembunyikan kalau kamu mau */
@media (min-width: 992px){
  .checkout-bar { display:none; }
  .cart-page { padding-bottom: 0; }
}

/* Inactive look */
.cart-card.inactive{ opacity:.55; }
.cart-card.inactive .cart-thumb img{ filter:grayscale(100%); }

/* tinggi kira-kira floating bar */
:root { --checkout-bar-h: 88px; }

body.has-checkout-bar {
  padding-bottom: var(--checkout-bar-h);
}

/* optional: supaya footer nggak ketutup kalau ada layout aneh */
body.has-checkout-bar footer {
  padding-bottom: 0; /* biarin body yg ngasih space */
}

/* default: desktop = tidak floating */
.checkout-floatbar { display: none; }

/* tombol di card summary (desktop) ya biasa aja */
.cart-summary-button .btn { width: 100%; }

/* MOBILE ONLY: baru floating */
@media (max-width: 767.98px){
  body.has-checkout-floatbar{
    padding-bottom: 92px; /* ruang untuk bar */
  }

  .checkout-floatbar{
    display: block;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 9999;
    background: #fff;
    box-shadow: 0 -6px 18px rgba(0,0,0,.08);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .checkout-floatbar .inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap: 12px;
    padding: 12px 14px;
  }
  .checkout-floatbar .total{
    font-weight: 700;
    line-height: 1.1;
  }
  .checkout-floatbar .btn{
    border-radius: 999px;
    padding: 12px 18px;
    min-width: 160px;
  }

}
.checkout-total small{
  display:block;
  font-size: 12px;
  opacity: .7;
}
.checkout-total strong{
  display:block;
  font-size: 16px;
}

/* tombol */
.checkout-btn{
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 700;
}

/* kasih ruang bawah saat bar aktif */
body.has-checkout-bar{
  padding-bottom: 78px; /* kira-kira tinggi bar */
}

/* safety: kalau desktop, pastikan gak ada efek padding */
@media (min-width: 992px){
  body.has-checkout-bar{
    padding-bottom: 0 !important;
  }
}

/* ==== MOBILE FLOATING CHECKOUT BAR ==== */
.checkout-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  padding: 12px 12px calc(12px + env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* biar konten nggak ketutup bar saat mobile */
.has-checkout-bar .cart-page{
  padding-bottom: 96px; /* sesuaikan tinggi bar */
}

/* ==== HARD-KILL di DESKTOP ==== */
@media (min-width: 992px){
  .checkout-bar{ display: none !important; }
  .has-checkout-bar .cart-page{ padding-bottom: 0 !important; }
}

.margin-bottom-50{
  margin-bottom: 50px;
}

.page-pagination ul li.active a,
.page-pagination ul li.active {
  background: #0271e3;
  color: #fff;
}

.page-pagination ul li.active a {
  pointer-events: none;
}

.link-see-all {
  font-size: 14px;
  font-weight: 500;
  color: #111;
  text-decoration: none;
  letter-spacing: .2px;
}

.link-see-all:hover {
  text-decoration: underline;
  color: #000;
}

.badge-courier{
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .3px;

  background: #e5e7eb;  /* gray-200 */
  color: #000;        /* teks gelap */
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 999px;      /* pill */
}

.orders-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.orders-head h3{ margin:0; }
.orders-sub{
  margin-top:6px;
  color:#6b7280;
  font-size:13px;
}
.orders-filter{
  min-width: 260px;
}

.table-orders{
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  background:#fff;
}
.table-orders table{ margin:0; }
.table-orders thead th{
  background:#f8fafc;
  font-weight:700;
  font-size:13px;
  letter-spacing:.2px;
  border-bottom:1px solid rgba(0,0,0,.06) !important;
}
.table-orders td{
  vertical-align:middle;
  border-color: rgba(0,0,0,.06) !important;
}
.order-code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 13px;
  text-decoration: none;
}
.order-code:hover{ text-decoration: underline; }

.td-right{ text-align:right; }
.td-center{ text-align:center; }

.badge-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(0,0,0,.10);
  background:#f3f4f6;
  color:#111827;
  white-space:nowrap;
}
.badge-status::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:#9ca3af;
}

/* status colors (soft but readable) */
.st-pending, .st-unpaid { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
.st-pending::before, .st-unpaid::before{ background:#fb923c; }

.st-paid { background:#ecfeff; border-color:#a5f3fc; color:#155e75; }
.st-paid::before{ background:#06b6d4; }

.st-packing { background:#eef2ff; border-color:#c7d2fe; color:#3730a3; }
.st-packing::before{ background:#6366f1; }

.st-shipped { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.st-shipped::before{ background:#3b82f6; }

.st-delivered, .st-done { background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
.st-delivered::before, .st-done::before{ background:#22c55e; }

.st-cancelled { background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.st-cancelled::before{ background:#ef4444; }

.btn-mini{
  padding:8px 14px;
  border-radius:999px;
  font-weight:700;
}

.empty-state{
  padding:28px 18px;
  text-align:center;
  color:#6b7280;
}
.empty-state b{ color:#111827; }

/* wrapper */
.table-orders{ border-radius:14px; overflow:hidden; border:1px solid rgba(0,0,0,.06); background:#fff; }
.table-orders table{ margin:0; }

/* desktop-only / mobile-only */
.only-desktop{ display:block; }
.only-mobile{ display:none; }

/* mobile cards */
.order-cards{ display:grid; gap:12px; }
.order-card{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:14px;
  background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
}
.order-card-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.order-card-code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size:13px;
  text-decoration:none;
}
.order-card-code:hover{ text-decoration:underline; }
.order-card-meta{ margin-top:10px; display:grid; gap:6px; color:#374151; font-size:13px; }
.order-card-row{ display:flex; justify-content:space-between; gap:10px; }
.order-card-row b{ color:#111827; font-weight:700; }
.order-card-actions{ margin-top:12px; display:flex; justify-content:flex-end; }

/* badge status (punyamu tetap kepakai) */
.badge-status{ display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; font-size:12px; font-weight:700; border:1px solid rgba(0,0,0,.10); background:#f3f4f6; color:#111827; white-space:nowrap; }
.badge-status::before{ content:""; width:8px;height:8px;border-radius:50%; background:#9ca3af; }

/* status colors (soft) */
.st-pending,.st-unpaid{ background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
.st-pending::before,.st-unpaid::before{ background:#fb923c; }
.st-paid{ background:#ecfeff; border-color:#a5f3fc; color:#155e75; }
.st-paid::before{ background:#06b6d4; }
.st-packing{ background:#eef2ff; border-color:#c7d2fe; color:#3730a3; }
.st-packing::before{ background:#6366f1; }
.st-shipped{ background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
.st-shipped::before{ background:#3b82f6; }
.st-delivered,.st-done{ background:#f0fdf4; border-color:#bbf7d0; color:#166534; }
.st-delivered::before,.st-done::before{ background:#22c55e; }
.st-cancelled{ background:#fef2f2; border-color:#fecaca; color:#991b1b; }
.st-cancelled::before{ background:#ef4444; }

.btn-mini{ padding:8px 14px; border-radius:999px; font-weight:700; }

/* responsive switch */
@media (max-width: 768px){
  .only-desktop{ display:none; }
  .only-mobile{ display:block; }

  /* biar filter & header gak sempit */
  .orders-head{ flex-direction:column; align-items:stretch; }
  .orders-filter{ min-width:0; width:100%; }
}

/* SweetAlert – KurasiApple */
.ka-swal {
  border-radius: 16px !important;
  padding: 22px 22px 18px !important;
}

.ka-swal__title {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.2px;
  color: #111827 !important;
}

.ka-swal__text {
  font-size: 14px !important;
  color: #6b7280 !important;
  line-height: 1.55 !important;
  margin-top: 8px !important;
}

.ka-swal__actions {
  gap: 10px !important;
  margin-top: 18px !important;
}

/* Button base */
.ka-btn {
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 700;
  font-size: 13px;
  border: 1px solid transparent;
  min-width: 110px;
  transition: 0.15s ease-in-out;
}

/* Primary danger (hapus) */
.ka-btn--danger {
  background: #dc2626; /* merah dewasa */
  color: #fff;
  border-color: #dc2626;
}

.ka-btn--danger:hover {
  filter: brightness(0.95);
}

/* Ghost cancel */
.ka-btn--ghost {
  background: #fff;
  color: #111827;
  border-color: #e5e7eb;
}

.ka-btn--ghost:hover {
  background: #f9fafb;
}

/* Icon lebih soft */
.swal2-icon.swal2-question {
  border-color: #d1d5db !important;
  color: #6b7280 !important;
}

.forgot-link {
  font-size: 13px;
  color: #6b7280; /* abu-abu tenang */
  text-decoration: none;
  transition: color 0.15s ease;
}

.forgot-link:hover {
  color: #0b5ed7; /* biru brand, subtle */
  text-decoration: underline;
}

/* ========================================================================== 
   KURASIAPPLE HOME — MODERN / CLASSY / CLEAN
   Scoped under .home-modern so it does not disturb other store pages.
   ========================================================================== */

.home-modern {
  --home-ink: #111318;
  --home-muted: #69707d;
  --home-line: rgba(17, 19, 24, .09);
  --home-surface: #ffffff;
  --home-soft: #f5f6f8;
  --home-blue: #0066cc;
  --home-blue-hover: #0056ad;
  --home-radius-xl: 28px;
  --home-radius-lg: 20px;
  --home-radius-md: 14px;
  color: var(--home-ink);
  font-family: "Khula", sans-serif;
}

.home-modern h1,
.home-modern h2,
.home-modern h3,
.home-modern h4,
.home-modern p,
.home-modern a,
.home-modern span,
.home-modern small,
.home-modern strong,
.home-modern time {
  font-family: inherit;
}

.home-modern .container-fluid {
  padding-left: clamp(16px, 3vw, 48px);
  padding-right: clamp(16px, 3vw, 48px);
}

.home-section {
  padding-top: clamp(72px, 8vw, 112px);
  padding-bottom: clamp(72px, 8vw, 112px);
}

.home-section + .home-section {
  padding-top: 0;
}

.home-section__head {
  margin-bottom: clamp(28px, 4vw, 44px);
}

.home-section__head--row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.home-section__eyebrow,
.home-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--home-blue);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.home-section__head h2 {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 650;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.home-text-link {
  flex: 0 0 auto;
  color: var(--home-ink);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  border-bottom: 1px solid var(--home-line);
  padding-bottom: 5px;
}

.home-text-link:hover {
  color: var(--home-blue);
  border-color: currentColor;
}

/* Hero */
.home-hero {
  padding-top: 18px;
}

.home-hero__slider {
  overflow: hidden;
  border-radius: var(--home-radius-xl);
  background: #eef0f3;
  box-shadow: 0 1px 0 rgba(17, 19, 24, .04);
}

.home-hero__item {
  min-height: min(74vh, 720px);
  height: auto !important;
  padding: clamp(32px, 5vw, 72px);
  border-radius: inherit;
  overflow: hidden;
  background-position: center;
}

.home-hero__item::before {
  z-index: 0;
  opacity: 1;
  background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 32%, rgba(255,255,255,.18) 65%, rgba(255,255,255,0) 100%);
}

.home-hero__content {
  position: relative;
  z-index: 2;
  width: min(580px, 100%);
  margin: 0;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 20px 70px rgba(17,19,24,.10);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.home-hero__content .title {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(42px, 5.2vw, 72px);
  font-weight: 650;
  line-height: .99;
  letter-spacing: -.058em;
}

.home-hero__lead {
  width: min(490px, 100%);
  margin: 22px 0 0;
  color: #4f5662;
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.65;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.home-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.2;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.home-btn:hover {
  transform: translateY(-1px);
}

.home-btn--primary {
  color: #fff;
  background: var(--home-blue);
  border-color: var(--home-blue);
  box-shadow: 0 8px 22px rgba(0,102,204,.18);
}

.home-btn--primary:hover,
.home-btn--primary:focus {
  color: #fff;
  background: var(--home-blue-hover);
  border-color: var(--home-blue-hover);
  box-shadow: 0 10px 28px rgba(0,102,204,.22);
}

.home-btn--secondary {
  color: var(--home-ink);
  background: rgba(255,255,255,.78);
  border-color: rgba(17,19,24,.12);
}

.home-btn--secondary:hover,
.home-btn--secondary:focus {
  color: var(--home-ink);
  background: #fff;
  border-color: rgba(17,19,24,.22);
}

.home-hero__slider .slick-dots {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 5;
  display: flex !important;
  gap: 7px;
  transform: translateX(-50%);
  margin: 0;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.56);
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(12px);
  list-style: none;
}

.home-hero__slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}

.home-hero__slider .slick-dots button {
  display: block;
  width: 7px;
  height: 7px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 99px;
  background: rgba(17,19,24,.30);
  font-size: 0;
}

.home-hero__slider .slick-dots .slick-active button {
  width: 22px;
  background: var(--home-ink);
}

/* Trust */
.home-trust {
  padding-top: 22px;
}

.home-trust__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: var(--home-radius-lg);
  background: var(--home-surface);
  box-shadow: 0 14px 45px rgba(17,19,24,.045);
}

.home-trust__item {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 24px;
  border-right: 1px solid var(--home-line);
}

.home-trust__item:last-child {
  border-right: 0;
}

.home-trust__icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: var(--home-blue);
  background: #edf5ff;
}

.home-trust__icon svg {
  width: 21px;
  height: 21px;
}

.home-trust__item h3 {
  margin: 1px 0 5px;
  color: var(--home-ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
}

.home-trust__item p {
  margin: 0;
  color: var(--home-muted);
  font-size: 13px;
  line-height: 1.55;
}

/* Category */
.home-categories {
  padding-bottom: 0;
}

.home-category-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: var(--home-radius-lg);
  color: var(--home-ink);
  background: #fff;
  box-shadow: 0 16px 50px rgba(17,19,24,.045);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.home-category-card:hover {
  color: var(--home-ink);
  transform: translateY(-4px);
  border-color: rgba(17,19,24,.14);
  box-shadow: 0 24px 65px rgba(17,19,24,.075);
}

.home-category-card__media {
  display: block;
  aspect-ratio: 16 / 8.4;
  overflow: hidden;
  background: var(--home-soft);
}

.home-category-card__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}

.home-category-card:hover .home-category-card__media img {
  transform: scale(1.025);
}

.home-category-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px 22px;
}

.home-category-card__footer small {
  display: block;
  margin-bottom: 4px;
  color: var(--home-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

.home-category-card__footer strong {
  display: block;
  color: var(--home-ink);
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: -.025em;
}

.home-arrow {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--home-line);
  border-radius: 50%;
  color: var(--home-ink);
  background: #fff;
  font-size: 17px;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.home-category-card:hover .home-arrow {
  color: #fff;
  background: var(--home-ink);
  border-color: var(--home-ink);
}

/* Product cards */
.home-products {
  padding-top: clamp(88px, 9vw, 124px) !important;
}

.home-product-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(17,19,24,.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-product-card:hover {
  transform: translateY(-4px);
  border-color: rgba(17,19,24,.14);
  box-shadow: 0 22px 58px rgba(17,19,24,.075);
}

.home-product-card__image {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--home-soft);
}

.home-product-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.home-product-card:hover .home-product-card__image img {
  transform: scale(1.035);
}

.home-product-card__badge {
  position: absolute;
  top: 14px;
  left: 14px;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 9px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 8px;
  color: var(--home-ink);
  background: rgba(255,255,255,.84);
  box-shadow: 0 4px 14px rgba(17,19,24,.08);
  backdrop-filter: blur(10px);
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.home-product-card__body {
  padding: 18px 18px 17px;
}

.home-product-card__body h3 {
  min-height: 48px;
  margin: 0;
  color: var(--home-ink);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.45;
}

.home-product-card__body h3 a {
  color: inherit;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-product-card__body h3 a:hover {
  color: var(--home-blue);
}

.home-product-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--home-line);
}

.home-product-card__meta strong {
  color: var(--home-ink);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.home-product-card__meta > a {
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--home-ink);
  background: var(--home-soft);
  font-size: 15px;
}

.home-product-card__meta > a:hover {
  color: #fff;
  background: var(--home-ink);
}

/* Request unit */
.home-request-section {
  padding-top: 0;
}

.home-request {
  position: relative;
  min-height: 460px;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: clamp(32px, 6vw, 76px);
  border-radius: var(--home-radius-xl);
  background-position: center !important;
  background-size: cover !important;
}

.home-request::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 42%, rgba(255,255,255,.28) 73%, rgba(255,255,255,.08) 100%);
}

.home-request::after {
  content: none !important;
}

.home-request__content {
  position: relative;
  z-index: 2;
  width: min(590px, 100%);
}

.home-request__content h2 {
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(34px, 4.3vw, 58px);
  font-weight: 650;
  line-height: 1.02;
  letter-spacing: -.048em;
}

.home-request__content p {
  width: min(520px, 100%);
  margin: 20px 0 28px;
  color: #535b67;
  font-size: 16px;
  line-height: 1.7;
}

/* Guides */
.home-guides {
  padding-top: clamp(88px, 9vw, 124px) !important;
}

.home-guide-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--home-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(17,19,24,.04);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.home-guide-card:hover {
  transform: translateY(-4px);
  border-color: rgba(17,19,24,.14);
  box-shadow: 0 22px 58px rgba(17,19,24,.075);
}

.home-guide-card__image {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--home-soft);
}

.home-guide-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.home-guide-card:hover .home-guide-card__image img {
  transform: scale(1.035);
}

.home-guide-card__body {
  padding: 22px;
}

.home-guide-card__body time {
  display: block;
  margin-bottom: 10px;
  color: var(--home-muted);
  font-size: 12px;
  font-weight: 550;
  line-height: 1.3;
}

.home-guide-card__body h3 {
  min-height: 58px;
  margin: 0;
  color: var(--home-ink);
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.home-guide-card__body h3 a {
  color: inherit;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.home-guide-card__body h3 a:hover {
  color: var(--home-blue);
}

.home-guide-card__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 20px;
  color: var(--home-ink);
  font-size: 13px;
  font-weight: 650;
}

.home-guide-card__link:hover {
  color: var(--home-blue);
}

/* Responsive */
@media (max-width: 1199.98px) {
  .home-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-trust__item:nth-child(2) {
    border-right: 0;
  }

  .home-trust__item:nth-child(-n+2) {
    border-bottom: 1px solid var(--home-line);
  }
}

@media (max-width: 767.98px) {
  .home-modern .container-fluid {
    padding-left: 14px;
    padding-right: 14px;
  }

  .home-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .home-section__head--row {
    align-items: flex-start;
  }

  .home-section__head h2 {
    font-size: 34px;
  }

  .home-hero {
    padding-top: 10px;
  }

  .home-hero__slider {
    border-radius: 20px;
  }

  .home-hero__item {
    min-height: 560px;
    padding: 18px;
    align-items: flex-end !important;
    background-position: 68% center !important;
  }

  .home-hero__item::before {
    background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.22) 38%, rgba(255,255,255,.96) 78%, #fff 100%);
  }

  .home-hero__content {
    width: 100%;
    padding: 24px;
    border-radius: 18px;
    background: rgba(255,255,255,.83);
    backdrop-filter: blur(14px);
  }

  .home-hero__content .title {
    font-size: clamp(36px, 10vw, 48px);
    line-height: 1.02;
  }

  .home-hero__lead {
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.6;
  }

  .home-hero__actions {
    margin-top: 22px;
  }

  .home-btn {
    min-height: 44px;
    padding: 10px 16px;
  }

  .home-trust {
    padding-top: 14px;
  }

  .home-trust__grid {
    grid-template-columns: 1fr;
    border-radius: 16px;
  }

  .home-trust__item,
  .home-trust__item:nth-child(2) {
    padding: 18px;
    border-right: 0;
    border-bottom: 1px solid var(--home-line);
  }

  .home-trust__item:last-child {
    border-bottom: 0;
  }

  .home-category-card {
    border-radius: 16px;
  }

  .home-category-card__media {
    aspect-ratio: 16 / 10;
  }

  .home-category-card__footer {
    padding: 17px 18px 18px;
  }

  .home-products,
  .home-guides {
    padding-top: 84px !important;
  }

  .home-request {
    min-height: 440px;
    align-items: flex-end;
    padding: 24px;
    border-radius: 20px;
    background-position: 64% center !important;
  }

  .home-request::before {
    background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.34) 40%, rgba(255,255,255,.98) 76%, #fff 100%);
  }

  .home-request__content h2 {
    font-size: 38px;
  }

  .home-request__content p {
    margin: 16px 0 23px;
    font-size: 15px;
  }
}

@media (max-width: 479.98px) {
  .home-section__head--row {
    display: block;
  }

  .home-section__head--row .home-text-link {
    margin-top: 18px;
  }

  .home-hero__item {
    min-height: 530px;
  }

  .home-hero__content {
    padding: 21px;
  }

  .home-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .home-hero__actions .home-btn {
    width: 100%;
  }

  .home-product-card__body h3 {
    min-height: auto;
  }

  .home-guide-card__body h3 {
    min-height: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-modern *,
  .home-modern *::before,
  .home-modern *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/*
 * KurasiApple checkout skin.
 * Markup/flow tetap memakai checkout.php; file ini hanya menangani presentasi.
 */

.checkout-kurasi-page {
  background: #fff;
}

.checkout-kurasi-page .checkout-title {
  margin: 0;
  color: #202020;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: none;
}

.checkout-kurasi-block {
  margin-bottom: 30px;
  padding: 30px;
  border: 1px solid #e8e8e8;
  background: #fff;
}

.checkout-kurasi-block:last-child {
  margin-bottom: 0;
}

.checkout-kurasi-block__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.checkout-kurasi-step {
  display: block;
  margin-bottom: 6px;
  color: #8b8b8b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.checkout-kurasi-link {
  color: #202020;
  font-size: 14px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.checkout-kurasi-link:hover {
  color: #666;
}

.checkout-kurasi-addresses {
  display: grid;
  gap: 14px;
}

.checkout-kurasi-address {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}

.checkout-kurasi-address > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.checkout-kurasi-address__box {
  display: block;
  padding: 20px;
  border: 1px solid #dedede;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.checkout-kurasi-address:hover .checkout-kurasi-address__box {
  border-color: #a9a9a9;
}

.checkout-kurasi-address > input:checked + .checkout-kurasi-address__box {
  border-color: #202020;
  background: #fafafa;
  box-shadow: 0 0 0 1px #202020;
}

.checkout-kurasi-address__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.checkout-kurasi-address__top > span:first-child {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.checkout-kurasi-address__top strong {
  color: #202020;
  font-size: 16px;
}

.checkout-kurasi-address__top em {
  padding: 4px 8px;
  border-radius: 2px;
  background: #202020;
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.checkout-kurasi-address__check {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
  border: 1px solid #c9c9c9;
  border-radius: 50%;
  color: transparent;
  font-size: 10px;
}

.checkout-kurasi-address > input:checked + .checkout-kurasi-address__box .checkout-kurasi-address__check {
  border-color: #202020;
  background: #202020;
  color: #fff;
}

.checkout-kurasi-address__recipient,
.checkout-kurasi-address__line,
.checkout-kurasi-address__region {
  display: block;
  color: #666;
  font-size: 14px;
  line-height: 1.7;
}

.checkout-kurasi-address__recipient {
  margin-bottom: 4px;
  color: #363636;
  font-weight: 600;
}

.checkout-kurasi-empty {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px;
  border: 1px dashed #cfcfcf;
  background: #fafafa;
}

.checkout-kurasi-empty__icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  border-radius: 50%;
  background: #202020;
  color: #fff;
}

.checkout-kurasi-empty h5 {
  margin: 0 0 5px;
  color: #202020;
  font-size: 17px;
}

.checkout-kurasi-empty p {
  margin: 0;
  color: #777;
}

.checkout-kurasi-empty .checkout-kurasi-primary-btn {
  margin-left: auto;
  white-space: nowrap;
}

.checkout-kurasi-primary-btn,
.checkout-kurasi-secondary-btn,
.checkout-kurasi-summary .place-order-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  font-weight: 700;
  transition: .2s ease;
}

.checkout-kurasi-primary-btn,
.checkout-kurasi-summary .place-order-btn {
  border: 1px solid #202020;
  background: #202020;
  color: #fff;
}

.checkout-kurasi-primary-btn:hover,
.checkout-kurasi-summary .place-order-btn:hover:not(:disabled) {
  border-color: #000;
  background: #000;
  color: #fff;
}

.checkout-kurasi-secondary-btn {
  border: 1px solid #202020;
  background: #fff;
  color: #202020;
}

.checkout-kurasi-secondary-btn:hover:not(:disabled) {
  background: #202020;
  color: #fff;
}

.checkout-kurasi-secondary-btn:disabled,
.checkout-kurasi-summary .place-order-btn:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.checkout-kurasi-shipping-status {
  margin-bottom: 16px;
  padding: 13px 15px;
  border: 1px solid #e3e3e3;
  background: #fafafa;
  color: #6b6b6b;
  font-size: 14px;
  line-height: 1.6;
}

.checkout-kurasi-shipping-status.is-loading {
  border-color: #d8d8d8;
  color: #555;
}

.checkout-kurasi-shipping-status.is-success {
  border-color: #b8d9c2;
  background: #f2faf4;
  color: #27623a;
}

.checkout-kurasi-shipping-status.is-error {
  border-color: #e6bcbc;
  background: #fff5f5;
  color: #9f2f2f;
}

.checkout-kurasi-shipping-options {
  display: grid;
  gap: 12px;
}

.checkout-shipping-option {
  position: relative;
  display: block;
  margin: 0;
  cursor: pointer;
}

.checkout-shipping-option > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.checkout-shipping-box {
  display: block;
  padding: 18px;
  border: 1px solid #dedede;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.checkout-shipping-option:hover .checkout-shipping-box {
  border-color: #a9a9a9;
}

.checkout-shipping-option > input:checked + .checkout-shipping-box {
  border-color: #202020;
  background: #fafafa;
  box-shadow: 0 0 0 1px #202020;
}

.checkout-shipping-main,
.checkout-shipping-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.checkout-shipping-main strong {
  color: #202020;
  font-size: 15px;
}

.checkout-shipping-main em {
  color: #555;
  font-size: 13px;
  font-style: normal;
  font-weight: 600;
}

.checkout-shipping-desc {
  display: block;
  margin: 8px 0 12px;
  color: #777;
  font-size: 13px;
  line-height: 1.5;
}

.checkout-shipping-bottom {
  padding-top: 12px;
  border-top: 1px solid #ececec;
  color: #777;
  font-size: 13px;
}

.checkout-shipping-bottom strong {
  color: #202020;
  font-size: 15px;
}

.checkout-kurasi-payment-note__body {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  background: #f7f7f7;
}

.checkout-kurasi-payment-note__icon {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  border-radius: 50%;
  background: #202020;
  color: #fff;
}

.checkout-kurasi-payment-note__body strong {
  display: block;
  margin-bottom: 4px;
  color: #202020;
}

.checkout-kurasi-payment-note__body p {
  margin: 0;
  color: #777;
  line-height: 1.6;
}

.checkout-kurasi-summary {
  position: sticky;
  top: 110px;
}

.checkout-kurasi-summary .checkout-title {
  margin-bottom: 20px;
}

.checkout-kurasi-cart-total {
  margin-bottom: 20px;
}

.checkout-kurasi-products {
  max-height: 340px;
  overflow-y: auto;
  padding-right: 4px;
}

.checkout-kurasi-product {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 0 !important;
}

.checkout-kurasi-product__image {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f2f2f2;
  color: #aaa;
}

.checkout-kurasi-product__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.checkout-kurasi-product__meta {
  min-width: 0;
}

.checkout-kurasi-product__meta strong,
.checkout-kurasi-product__meta small {
  display: block;
}

.checkout-kurasi-product__meta strong {
  overflow: hidden;
  color: #202020;
  font-size: 14px;
  line-height: 1.45;
  text-overflow: ellipsis;
}

.checkout-kurasi-product__meta small {
  margin-top: 3px;
  color: #888;
  font-size: 12px;
}

.checkout-kurasi-product > span {
  color: #202020;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.checkout-kurasi-totals {
  border-top: 1px solid #e5e5e5;
}

.checkout-kurasi-cart-total .checkout-kurasi-totals p {
  margin: 0;
}

.checkout-kurasi-discount span {
  color: #2e7d32 !important;
}

.checkout-kurasi-grand-total {
  margin-top: 15px !important;
}

.checkout-kurasi-note {
  display: block;
  margin-top: 15px;
  color: #888;
  font-size: 12px;
  line-height: 1.6;
}

.checkout-kurasi-summary .place-order-btn {
  width: 100%;
  min-height: 54px;
  margin: 0;
}

.checkout-kurasi-submit-hint {
  display: block;
  margin-top: 10px;
  color: #888;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.checkout-mobile-sticky-bar {
  display: none;
}

@media (max-width: 991.98px) {
  .checkout-kurasi-summary {
    position: static;
    top: auto;
  }

  .checkout-kurasi-block {
    padding: 24px;
  }

  .checkout-mobile-sticky-bar {
    position: fixed;
    z-index: 990;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    padding: 12px 15px;
    border-top: 1px solid #ddd;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 -10px 30px rgba(0, 0, 0, .08);
    backdrop-filter: blur(10px);
  }

  .checkout-mobile-sticky-inner {
    max-width: 720px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 auto;
  }

  .checkout-mobile-summary span,
  .checkout-mobile-summary strong,
  .checkout-mobile-summary em {
    display: block;
  }

  .checkout-mobile-summary span {
    color: #888;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .checkout-mobile-summary strong {
    margin: 1px 0;
    color: #202020;
    font-size: 18px;
  }

  .checkout-mobile-summary em {
    color: #888;
    font-size: 11px;
    font-style: normal;
  }

  .checkout-mobile-submit-btn {
    min-width: 128px;
    min-height: 46px;
    border: 1px solid #202020;
    background: #202020;
    color: #fff;
    font-weight: 700;
  }

  .checkout-mobile-submit-btn:disabled,
  .checkout-mobile-submit-btn.is-disabled {
    cursor: not-allowed;
    opacity: .48;
  }

  body {
    padding-bottom: 82px;
  }
}

@media (max-width: 767.98px) {
  .checkout-kurasi-block {
    padding: 20px;
  }

  .checkout-kurasi-block__head,
  .checkout-kurasi-block__head--shipping {
    align-items: stretch;
    flex-direction: column;
  }

  .checkout-kurasi-block__head--shipping .checkout-kurasi-secondary-btn {
    width: 100%;
  }

  .checkout-kurasi-empty {
    align-items: flex-start;
    flex-direction: column;
  }

  .checkout-kurasi-empty .checkout-kurasi-primary-btn {
    width: 100%;
    margin-left: 0;
  }

  .checkout-kurasi-address__top {
    align-items: flex-start;
  }

  .checkout-kurasi-product {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  .checkout-kurasi-product__image {
    width: 50px;
    height: 50px;
  }

  .checkout-kurasi-product > span {
    grid-column: 2;
    margin-top: -4px;
  }

  .checkout-kurasi-products {
    max-height: none;
  }
}

/* ==========================================================================
   KURASIAPPLE CART — FLOW SKIN
   Logic tetap di cart.php. Bagian ini hanya mengatur presentasi cart dan modal.
   ========================================================================== */

.cart-page {
  --ka-cart-ink: #151515;
  --ka-cart-muted: #6f7680;
  --ka-cart-line: #e8eaed;
  --ka-cart-soft: #f6f7f9;
  --ka-cart-blue: #0071e3;
  --ka-cart-blue-hover: #005fcc;
  --ka-cart-danger: #c9342f;
  background: #fff;
}

.cart-page h3,
.cart-page h4,
.cart-page h5,
.cart-page p,
.cart-page a,
.cart-page button,
.cart-page input,
.cart-page span,
.cart-page strong,
.cart-page small,
.cart-page em {
  text-transform: none;
}

.cart-page .alert {
  border-radius: 14px;
  padding: 16px 18px;
  line-height: 1.55;
}

.cart-page .cart-ajax-notice {
  position: fixed;
  top: 112px;
  right: 24px;
  z-index: 10020;
  max-width: 380px;
  margin: 0;
  border: 1px solid #c8e7d2;
  background: #effaf3;
  color: #176b36;
  box-shadow: 0 18px 45px rgba(20, 28, 38, .14);
}

.cart-page .cart-ajax-notice.is-error {
  border-color: #f2c7c4;
  background: #fff2f1;
  color: #9f2925;
}

/* Empty cart */
.cart-empty-state {
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 54px 24px;
  border: 1px solid var(--ka-cart-line);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff 0%, #fafbfc 100%);
  text-align: center;
  box-shadow: 0 16px 50px rgba(17, 19, 24, .045);
}

.cart-empty-state__icon {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  margin-bottom: 20px;
  border-radius: 22px;
  background: #eef5fd;
  color: var(--ka-cart-blue);
}

.cart-empty-state__icon svg {
  width: 34px;
  height: 34px;
}

.cart-empty-state h3 {
  margin: 0;
  color: var(--ka-cart-ink);
  font-size: 27px;
  font-weight: 700;
  line-height: 1.25;
}

.cart-empty-state p {
  max-width: 430px;
  margin: 10px 0 24px;
  color: var(--ka-cart-muted);
  font-size: 15px;
  line-height: 1.65;
}

.cart-empty-state__button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 999px;
  background: var(--ka-cart-blue);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.cart-empty-state__button:hover,
.cart-empty-state__button:focus {
  background: var(--ka-cart-blue-hover);
  color: #fff;
}

/* Heading */
.cart-page > .container > .row > .col-12 > .d-flex.mb-30 {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--ka-cart-line);
}

.cart-page > .container > .row > .col-12 > .d-flex.mb-30 h3 {
  color: var(--ka-cart-ink);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.025em;
}

.cart-page > .container > .row > .col-12 > .d-flex.mb-30 p {
  color: var(--ka-cart-muted);
}

/* Desktop cart table */
.cart-page .cart-table {
  overflow: hidden;
  border: 1px solid var(--ka-cart-line);
  border-radius: 18px;
  background: #fff;
  white-space: normal;
  box-shadow: 0 12px 38px rgba(17, 19, 24, .04);
}

.cart-page .cart-table .table {
  margin: 0;
}

.cart-page .cart-table .table thead th {
  padding: 16px 18px;
  border: 0;
  border-bottom: 1px solid var(--ka-cart-line);
  background: #f8f9fa;
  color: #5f6670;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cart-page .cart-table .table tbody td {
  padding: 18px;
  border-color: var(--ka-cart-line);
  color: var(--ka-cart-ink);
  vertical-align: middle;
}

.cart-page .cart-table .table tbody tr:last-child td {
  border-bottom: 0;
}

.cart-page .cart-table img {
  border-radius: 12px;
  background: var(--ka-cart-soft);
}

.cart-page .cart-table td > a {
  color: var(--ka-cart-ink);
  font-weight: 700;
}

.cart-page .cart-table td > a:hover {
  color: var(--ka-cart-blue);
}

/* Quantity */
.cart-page .cart-qty-control {
  display: inline-grid;
  grid-template-columns: 38px 54px 38px;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #dfe2e6;
  border-radius: 11px;
  background: #fff;
}

.cart-page .cart-qty-btn {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: #f7f8f9;
  color: #202124;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}

.cart-page .cart-qty-btn:hover:not(:disabled) {
  background: #eceff2;
}

.cart-page .cart-qty-btn:disabled {
  cursor: wait;
  opacity: .45;
}

.cart-page .cart-qty-input,
.cart-page input.cart-qty-input:not([type="submit"]) {
  width: 54px !important;
  height: 38px !important;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid #dfe2e6 !important;
  border-left: 1px solid #dfe2e6 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ka-cart-ink);
  text-align: center;
  font-weight: 700;
  appearance: textfield;
  -moz-appearance: textfield;
}

.cart-page .cart-qty-input::-webkit-outer-spin-button,
.cart-page .cart-qty-input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.cart-item-save-status {
  min-height: 18px;
  color: #21844a;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
}

.cart-page .cart-item-remove,
.cart-page .cart-remove-button {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid #f0d2d0;
  border-radius: 11px;
  background: #fff7f6;
  color: var(--ka-cart-danger);
  line-height: 1;
}

.cart-page .cart-item-remove:hover,
.cart-page .cart-remove-button:hover {
  border-color: #e8aaa6;
  background: #ffedeb;
  color: #a82420;
}

/* Mobile cart cards */
.cart-page .cart-card {
  padding: 14px;
  border-color: var(--ka-cart-line);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(17, 19, 24, .04);
}

.cart-page .cart-thumb {
  width: 84px;
  height: 84px;
  flex-basis: 84px;
  border-radius: 13px;
}

.cart-page .cart-title {
  color: var(--ka-cart-ink);
  font-size: 15px;
}

.cart-page .cart-price {
  color: var(--ka-cart-ink);
  font-size: 16px;
}

.cart-page .cart-pill {
  background: #eef8f2;
  color: #207044;
}

/* Voucher and summary */
.cart-page .cart-summary {
  float: none;
  width: 100%;
  max-width: none;
}

.cart-page .cart-summary .cart-summary-wrap {
  margin-bottom: 14px;
  padding: 30px;
  border: 1px solid var(--ka-cart-line);
  border-radius: 18px;
  background: #f7f8fa;
  box-shadow: 0 12px 38px rgba(17, 19, 24, .04);
}

.cart-page .cart-summary .cart-summary-wrap h4 {
  margin-bottom: 24px;
  color: var(--ka-cart-ink);
  font-size: 22px;
  font-weight: 700;
}

.cart-page .cart-summary .cart-summary-wrap p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #e4e6e9;
  color: #666d76;
  font-size: 14px;
  font-weight: 500;
}

.cart-page .cart-summary .cart-summary-wrap p span {
  float: none;
  color: var(--ka-cart-ink);
  font-weight: 700;
}

.cart-page .cart-summary .cart-summary-wrap h5 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 10px;
  padding-top: 18px;
  border-top: 1px solid #cfd3d8;
  color: var(--ka-cart-ink);
  font-size: 18px;
}

.cart-page .cart-summary .cart-summary-wrap h5 span {
  float: none;
}

.cart-page .cart-voucher-form .d-flex {
  align-items: stretch;
}

.cart-page .cart-voucher-form input,
.cart-page .cart-voucher-form input:not([type="submit"]) {
  height: 44px;
  border-radius: 11px;
  background: #fff;
}

.cart-page .cart-voucher-form .btn {
  min-height: 44px;
  border-radius: 11px;
  white-space: nowrap;
}

.cart-page .cart-summary-button {
  display: grid;
  gap: 10px;
  margin: 0;
}

.cart-page .cart-summary-button .btn {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border-radius: 999px;
}

.cart-page .cart-summary-button .btn-outline-danger {
  border: 1px solid #e6b7b3;
  background: #fff;
  color: var(--ka-cart-danger);
}

.cart-page .cart-summary-button .btn-outline-danger:hover {
  background: #fff1f0;
}

/* Confirm modal — default wajib tersembunyi */
.lpro-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 10060;
  display: grid;
  place-items: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease;
}

.lpro-confirm-modal[aria-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.lpro-confirm-modal.is-open,
.lpro-confirm-modal[aria-hidden="false"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.lpro-confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 17, 20, .55);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.lpro-confirm-dialog {
  position: relative;
  z-index: 1;
  width: min(430px, 100%);
  padding: 30px;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(10, 15, 22, .28);
  text-align: center;
  transform: translateY(12px) scale(.98);
  transition: transform .2s ease;
}

.lpro-confirm-modal.is-open .lpro-confirm-dialog,
.lpro-confirm-modal[aria-hidden="false"] .lpro-confirm-dialog {
  transform: translateY(0) scale(1);
}

.lpro-confirm-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #f2f3f5;
  color: #4f5660;
  font-size: 0;
}

.lpro-confirm-close i {
  display: none;
}

.lpro-confirm-close::before {
  content: "×";
  font-size: 23px;
  line-height: 1;
}

.lpro-confirm-icon {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border-radius: 18px;
  background: #fff0ef;
  color: var(--ka-cart-danger);
  font-size: 0;
}

.lpro-confirm-icon i {
  display: none;
}

.lpro-confirm-icon::before {
  content: "!";
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}

.lpro-confirm-dialog h3 {
  margin: 0;
  color: var(--ka-cart-ink);
  font-size: 24px;
  font-weight: 750;
  letter-spacing: -.02em;
}

.lpro-confirm-dialog p {
  margin: 10px 0 24px;
  color: var(--ka-cart-muted);
  font-size: 14px;
  line-height: 1.6;
}

.lpro-confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.lpro-confirm-btn {
  min-height: 46px;
  padding: 10px 16px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 700;
}

.lpro-confirm-btn--ghost {
  border: 1px solid #dfe2e6;
  background: #fff;
  color: var(--ka-cart-ink);
}

.lpro-confirm-btn--ghost:hover {
  background: #f5f6f7;
}

.lpro-confirm-btn--danger {
  border: 1px solid var(--ka-cart-danger);
  background: var(--ka-cart-danger);
  color: #fff;
}

.lpro-confirm-btn--danger:hover {
  border-color: #a82824;
  background: #a82824;
}

body.lpro-modal-open {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .cart-page .cart-ajax-notice {
    top: 84px;
    right: 14px;
    left: 14px;
    max-width: none;
  }

  .cart-empty-state {
    min-height: 310px;
    padding: 40px 20px;
    border-radius: 18px;
  }

  .cart-empty-state h3 {
    font-size: 23px;
  }

  .cart-page > .container > .row > .col-12 > .d-flex.mb-30 {
    align-items: flex-start !important;
  }

  .cart-page > .container > .row > .col-12 > .d-flex.mb-30 .btn {
    width: 100%;
  }

  .cart-page .cart-summary .cart-summary-wrap {
    padding: 22px;
    border-radius: 16px;
  }

  .lpro-confirm-dialog {
    padding: 28px 20px 20px;
    border-radius: 18px;
  }

  .lpro-confirm-actions {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   KURASIAPPLE — PRODUCT DETAIL
   ========================================================= */

.product-detail-kurasi {
  color: #171717;
}

.product-detail-kurasi .row {
  align-items: flex-start;
}

/* Gallery utama */

.product-detail-kurasi .single-product-images {
  position: relative;
  width: 100%;
  padding-right: 0;
}

/*
 * Jangan memberi aspect-ratio atau fixed height.
 * Tinggi main image mengikuti rasio file aslinya.
 */
.product-detail-kurasi .single-product-image {
  width: 100%;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/*
 * Jangan mengatur height pada slick-list,
 * slick-track, dan slick-slide.
 * Biarkan Slick menghitung tinggi slide.
 */
.product-detail-kurasi
.single-product-image
.slick-slide > div {
  line-height: 0;
}

/*
 * Hanya gambar asli yang ditampilkan.
 * Tidak ada padding, frame, crop, atau fixed height.
 */
.product-detail-kurasi
.single-product-image
.slick-slide
img:not(.zoomImg) {
  position: static !important;
  inset: auto !important;

  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: initial !important;
  object-position: center !important;

  opacity: 1 !important;
  visibility: visible !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;

  filter: none !important;
  transform: none !important;
}

/*
 * Zoom clone tidak diperlukan.
 * Gambar asli tetap tampil karena tinggi Slick
 * tidak lagi dipaksa melalui CSS.
 */
.product-detail-kurasi
.single-product-image
.zoomImg {
  display: none !important;
}

/* Thumbnail horizontal */

.product-detail-kurasi .single-product-thumb {
  position: relative;
  top: auto;
  right: auto;

  width: 100%;
  margin: 16px 0 0;
  padding: 0 44px;
}

.product-detail-kurasi
.single-product-thumb
.slick-list {
  margin: 0 -6px;
}

.product-detail-kurasi
.single-product-thumb
.slick-slide {
  height: auto;
  margin: 0;
  padding: 0 6px;

  overflow: hidden;

  border: 1px solid transparent;
  border-radius: 12px;

  opacity: 0.55;
  cursor: pointer;

  transition:
          opacity 0.2s ease,
          border-color 0.2s ease;
}

.product-detail-kurasi
.single-product-thumb
.slick-slide:hover {
  opacity: 0.85;
}

.product-detail-kurasi
.single-product-thumb
.slick-slide.slick-current {
  border-color: #171717;
  opacity: 1;
}

.product-detail-kurasi
.single-product-thumb
.slick-slide img {
  display: block !important;

  width: 100% !important;
  height: 92px !important;

  padding: 6px;

  object-fit: cover;
  object-position: center;

  border-radius: 10px;
  background: #f5f6f7;
}

/* Panah thumbnail horizontal */

.product-detail-kurasi
.single-product-thumb
.slick-arrow {
  position: absolute;

  top: 50% !important;
  bottom: auto !important;

  width: 36px;
  height: 36px;

  padding: 0;

  border: 1px solid #dfe2e5;
  border-radius: 50%;

  color: #171717;
  background: #ffffff;

  transform: translateY(-50%) !important;

  z-index: 10;
}

.product-detail-kurasi
.single-product-thumb
.slick-arrow.slick-prev {
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;

  transform: translateY(-50%) !important;
}

.product-detail-kurasi
.single-product-thumb
.slick-arrow.slick-next {
  top: 50% !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;

  transform: translateY(-50%) !important;
}

.product-detail-kurasi
.single-product-thumb
.slick-arrow i {
  display: block;
  line-height: 34px;
}

/* Responsive */

@media (max-width: 767.98px) {
  .product-detail-kurasi
  .single-product-thumb {
    margin-top: 12px;
    padding: 0 38px;
  }

  .product-detail-kurasi
  .single-product-thumb
  .slick-slide img {
    height: 76px !important;
    padding: 4px;
  }
}

@media (max-width: 479.98px) {
  .product-detail-kurasi
  .single-product-thumb {
    padding: 0 34px;
  }

  .product-detail-kurasi
  .single-product-thumb
  .slick-slide img {
    height: 64px !important;
  }

  .product-detail-kurasi
  .single-product-thumb
  .slick-arrow {
    width: 30px;
    height: 30px;
  }

  .product-detail-kurasi
  .single-product-thumb
  .slick-arrow i {
    line-height: 28px;
  }
}

/* Informasi produk */

.product-detail-kurasi .single-product-content {
  max-width: 570px;
  padding-left: 18px;
}

.product-detail-kurasi
.single-product-content .title-price {
  display: block;
}

.product-detail-kurasi
.single-product-content
.title-price .title {
  width: 100%;
  margin: 0;
  color: #171717;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.product-detail-kurasi
.single-product-content
.title-price .price {
  width: auto;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
  color: #111;
  text-align: left;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.2;
}

.product-detail-kurasi
.single-product-content
.title-price .price del {
  color: #969696;
  font-size: 15px;
  font-weight: 500;
}

.product-detail-kurasi
.single-product-content > .desc {
  margin-top: 20px;
  color: #5f6368;
  line-height: 1.65;
}

/* Variant picker */

.product-detail-kurasi .lpro-variant-field {
  position: relative;
  z-index: 30;
  margin-top: 26px;
}

.product-detail-kurasi .lpro-variant-label {
  display: block;
  margin-bottom: 9px;
  color: #171717;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
}

/* Select tetap menjadi sumber data JS, tetapi tidak tampil */
.product-detail-kurasi .lpro-variant-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.product-detail-kurasi .lpro-variant-picker {
  position: relative;
}

.product-detail-kurasi .lpro-variant-current {
  width: 100%;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 16px;
  border: 1px solid #dfe2e5;
  border-radius: 11px;
  color: #171717;
  background: #fff;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  text-align: left;
}

.product-detail-kurasi
.lpro-variant-current:hover {
  border-color: #aeb4ba;
}

.product-detail-kurasi
.lpro-variant-picker.is-open
.lpro-variant-current {
  border-color: #171717;
}

.product-detail-kurasi .lpro-variant-menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  right: 0;
  z-index: 50;
  display: none;
  max-height: 300px;
  overflow-y: auto;
  padding: 7px;
  border: 1px solid #dfe2e5;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(20, 24, 28, .14);
}

.product-detail-kurasi
.lpro-variant-picker.is-open
.lpro-variant-menu {
  display: block;
}

.product-detail-kurasi .lpro-variant-option {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 12px;
  border: 0;
  border-radius: 8px;
  color: #171717;
  background: transparent;
  text-align: left;
}

.product-detail-kurasi
.lpro-variant-option:hover {
  background: #f4f5f6;
}

.product-detail-kurasi
.lpro-variant-option.is-active {
  background: #eef5ff;
}

.product-detail-kurasi
.lpro-variant-option span:first-child {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  font-weight: 650;
}

.product-detail-kurasi
.lpro-variant-option small {
  color: #747b82;
  font-size: 11px;
  font-weight: 500;
}

.product-detail-kurasi
.lpro-variant-check {
  color: #0071e3;
  font-weight: 800;
  opacity: 0;
}

.product-detail-kurasi
.lpro-variant-option.is-active
.lpro-variant-check {
  opacity: 1;
}

/* Stock */

.product-detail-kurasi .lpro-stock-info {
  display: inline-flex;
  align-items: center;
  margin-top: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #176b3a;
  background: #eaf8f0;
  font-size: 12px;
  font-weight: 650;
}

.product-detail-kurasi
.lpro-stock-info.is-empty {
  color: #9b2c2c;
  background: #fff0f0;
}

/* Quantity */

.product-detail-kurasi
.single-product-content .quantity {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 25px;
}

.product-detail-kurasi
.single-product-content .quantity h5 {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
}

.product-detail-qty {
  display: grid;
  grid-template-columns: 42px 58px 42px;
  overflow: hidden;
  border: 1px solid #dfe2e5;
  border-radius: 10px;
  background: #fff;
}

.product-detail-qty button {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  color: #171717;
  background: #f7f8f9;
  font-size: 18px;
  font-weight: 700;
}

.product-detail-qty button:hover:not(:disabled) {
  background: #eceff2;
}

.product-detail-qty input {
  width: 58px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-right: 1px solid #e5e7e9 !important;
  border-left: 1px solid #e5e7e9 !important;
  border-radius: 0 !important;
  color: #171717;
  background: #fff !important;
  text-align: center;
  appearance: textfield;
}

.product-detail-qty
input::-webkit-inner-spin-button,
.product-detail-qty
input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

/* CTA */

.product-detail-actions {
  display: flex;
  align-items: stretch;
  gap: 10px;
  margin-top: 24px;
}

.product-detail-cart-btn {
  min-height: 50px;
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 20px;
  border: 1px solid #0071e3;
  border-radius: 11px;
  color: #fff;
  background: #0071e3;
  font-size: 14px;
  font-weight: 700;
}

.product-detail-cart-btn:hover:not(:disabled) {
  color: #fff;
  background: #005fcc;
  border-color: #005fcc;
}

.product-detail-cart-btn:disabled {
  color: #8c9299;
  background: #e8eaed;
  border-color: #e8eaed;
  cursor: not-allowed;
}

.product-detail-share-btn {
  width: 50px;
  min-width: 50px;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #dfe2e5;
  border-radius: 11px;
  color: #171717;
  background: #fff;
  font-size: 17px;
}

.product-detail-share-btn:hover {
  border-color: #171717;
  background: #f7f8f9;
}

/* Share dropdown */

.product-detail-kurasi .lpro-share-product {
  position: relative;
  margin-top: 9px;
}

.product-detail-kurasi
.lpro-share-product__fallback {
  width: min(300px, 100%);
  display: flex;
  gap: 7px;
  padding: 8px;
  border: 1px solid #e1e4e7;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(20, 24, 28, .12);
}

.product-detail-kurasi
.lpro-share-product__fallback[hidden] {
  display: none !important;
}

.product-detail-kurasi
.lpro-share-product__option {
  flex: 1;
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 8px 10px;
  border: 0;
  border-radius: 8px;
  color: #171717;
  background: #f4f5f6;
  font-size: 12px;
  font-weight: 650;
}

.product-detail-kurasi
.lpro-share-product__option:hover {
  color: #0071e3;
  background: #eef5ff;
}

.product-detail-kurasi
.lpro-share-product__notice {
  margin-top: 7px;
  color: #3b6f4d;
  font-size: 12px;
}

.product-detail-kurasi
.lpro-share-product__notice.is-error {
  color: #b42318;
}

/* Informasi produk */

.product-detail-kurasi
.single-product-content > .desc:last-child {
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid #eceef0;
}

.product-detail-kurasi
.single-product-content > .desc:last-child h5 {
  margin-bottom: 14px;
  font-size: 15px;
}

.product-detail-kurasi
.single-product-content > .desc:last-child p {
  margin-bottom: 9px;
  color: #535960;
  font-size: 14px;
}

/* Tab */

.product-detail-kurasi
.single-product-tab-list {
  margin-top: 40px;
  border: 0;
  border-bottom: 1px solid #e5e7e9;
  background: transparent;
}

.product-detail-kurasi
.single-product-tab-list li {
  border: 0;
}

.product-detail-kurasi
.single-product-tab-list li a {
  padding: 15px 20px 12px;
  color: #7a8087;
  text-transform: none;
}

.product-detail-kurasi
.single-product-tab-list li a.active {
  color: #171717;
  border-bottom: 2px solid #171717;
}

.product-detail-kurasi
.single-product-tab-content {
  padding: 30px 0 10px;
}

/* Responsive */

@media (max-width: 991.98px) {
  .product-detail-kurasi
  .single-product-content {
    max-width: none;
    margin-top: 24px;
    padding-left: 0;
  }
}

@media (max-width: 575.98px) {
  .product-detail-kurasi
  .single-product-images {
    padding-right: 72px;
  }

  .product-detail-kurasi
  .single-product-thumb {
    width: 62px;
  }

  .product-detail-kurasi
  .single-product-thumb .slick-slide {
    height: 62px;
  }

  .product-detail-kurasi
  .single-product-image .slick-slide img {
    padding: 12px;
  }

  .product-detail-kurasi
  .single-product-content
  .title-price .title {
    font-size: 29px;
  }

  .product-detail-kurasi
  .single-product-content
  .title-price .price {
    font-size: 25px;
  }
}

/* =========================================================
   PRODUCT DETAIL — CART ADDED MODAL
   ========================================================= */

body.lpro-modal-open {
  overflow: hidden;
}

.lpro-cart-added-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 20px;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
          opacity .2s ease,
          visibility .2s ease;
}

.lpro-cart-added-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.lpro-cart-added-backdrop {
  position: absolute;
  inset: 0;

  background: rgba(15, 18, 22, .58);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.lpro-cart-added-dialog {
  position: relative;
  z-index: 2;

  width: min(520px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;

  padding: 28px;

  border: 1px solid rgba(17, 24, 39, .08);
  border-radius: 18px;

  background: #fff;

  box-shadow:
          0 24px 70px
          rgba(15, 23, 42, .24);

  transform: translateY(16px) scale(.98);

  transition: transform .22s ease;
}

.lpro-cart-added-modal.is-open
.lpro-cart-added-dialog {
  transform: translateY(0) scale(1);
}

.lpro-cart-added-close {
  position: absolute;
  top: 16px;
  right: 16px;

  width: 36px;
  height: 36px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 1px solid #e5e7eb;
  border-radius: 50%;

  color: #374151;
  background: #fff;

  font-size: 15px;
}

.lpro-cart-added-close:hover {
  color: #111827;
  background: #f3f4f6;
}

.lpro-cart-added-head {
  display: flex;
  align-items: center;
  gap: 14px;

  padding-right: 42px;
}

.lpro-cart-added-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: #16794b;
  background: #eaf8f1;

  font-size: 20px;
}

.lpro-cart-added-icon.is-error {
  color: #b42318;
  background: #fff0ee;
}

.lpro-cart-added-head span {
  display: block;

  margin-bottom: 2px;

  color: #6b7280;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.lpro-cart-added-head h3 {
  margin: 0;

  color: #111827;

  font-size: 22px;
  font-weight: 750;
  line-height: 1.25;
}

.lpro-cart-added-message {
  margin: 18px 0 0;

  color: #6b7280;

  font-size: 14px;
  line-height: 1.6;
}

.lpro-cart-added-product {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;

  margin-top: 22px;
  padding: 16px;

  border: 1px solid #e8eaed;
  border-radius: 14px;

  background: #f8f9fa;
}

.lpro-cart-added-image-wrap {
  width: 92px;
  height: 92px;

  overflow: hidden;

  border-radius: 11px;

  background: #eef0f2;
}

.lpro-cart-added-image {
  width: 100%;
  height: 100%;

  display: none;

  object-fit: cover;
  object-position: center;
}

.lpro-cart-added-image-placeholder {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #a4abb3;

  font-size: 24px;
}

.lpro-cart-added-info {
  min-width: 0;
}

.lpro-cart-added-info h4 {
  margin: 0;

  color: #111827;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.lpro-cart-added-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;

  margin-top: 5px;

  color: #747b84;

  font-size: 12px;
  line-height: 1.4;
}

.lpro-cart-added-lines {
  display: grid;
  grid-template-columns:
        repeat(3, minmax(0, 1fr));
  gap: 8px;

  margin-top: 14px;
}

.lpro-cart-added-lines > div {
  min-width: 0;
}

.lpro-cart-added-lines span {
  display: block;

  color: #858b93;

  font-size: 11px;
  line-height: 1.3;
}

.lpro-cart-added-lines strong {
  display: block;

  margin-top: 2px;

  color: #111827;

  font-size: 13px;
  line-height: 1.35;
}

.lpro-cart-added-note {
  margin-top: 17px;

  color: #5e656e;

  font-size: 13px;
  line-height: 1.5;
}

.lpro-cart-added-note strong {
  color: #111827;
}

.lpro-cart-added-actions {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 10px;

  margin-top: 22px;
}

.lpro-cart-added-btn {
  min-height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 16px;

  border: 1px solid transparent;
  border-radius: 11px;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
}

.lpro-cart-added-btn--primary {
  color: #fff;
  background: #0071e3;
  border-color: #0071e3;
}

.lpro-cart-added-btn--primary:hover {
  color: #fff;
  background: #005fcc;
  border-color: #005fcc;
}

.lpro-cart-added-btn--ghost {
  color: #111827;
  background: #fff;
  border-color: #dfe3e7;
}

.lpro-cart-added-btn--ghost:hover {
  color: #111827;
  background: #f5f6f7;
}

@media (max-width: 575.98px) {
  .lpro-cart-added-modal {
    align-items: flex-end;
    padding: 12px;
  }

  .lpro-cart-added-dialog {
    width: 100%;
    max-height: calc(100vh - 24px);

    padding: 23px 18px 18px;

    border-radius: 18px;
  }

  .lpro-cart-added-product {
    grid-template-columns: 72px minmax(0, 1fr);
    padding: 12px;
  }

  .lpro-cart-added-image-wrap {
    width: 72px;
    height: 72px;
  }

  .lpro-cart-added-lines {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .lpro-cart-added-actions {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   KURASIAPPLE — AUTH PAGES
   ========================================================= */

.kurasi-auth-page {
  background:
          radial-gradient(
                  circle at top right,
                  rgba(0, 113, 227, .08),
                  transparent 34%
          ),
          #f7f8fa;
}

.kurasi-auth-shell {
  width: min(620px, 100%);
  display: block;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #e4e7eb;
  border-radius: 24px;
  background: #fff;
  box-shadow:
          0 28px 80px
          rgba(24, 31, 42, .10);
}

.kurasi-auth-shell--register {
  width: min(720px, 100%);
}

.kurasi-auth-shell--compact {
  width: min(580px, 100%);
  display: block;
}

.kurasi-auth-card {
  padding: 46px;
}

.kurasi-auth-head {
  margin-bottom: 28px;
}

.kurasi-auth-eyebrow {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  margin-bottom: 13px;
  padding: 5px 11px;
  border-radius: 999px;
  color: #0066cc;
  background: #edf5ff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

.kurasi-auth-head h2 {
  margin: 0;
  color: #161719;
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.035em;
}

.kurasi-auth-head p {
  margin: 12px 0 0;
  color: #6c727a;
  font-size: 14px;
  line-height: 1.65;
}

.kurasi-auth-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.kurasi-auth-grid {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kurasi-auth-field label {
  display: block;
  margin-bottom: 8px;
  color: #1c1d20;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  text-transform: none;
}

.kurasi-auth-field
input:not([type="checkbox"]) {
  width: 100%;
  height: 50px;
  padding: 11px 15px;
  border: 1px solid #dfe3e7;
  border-radius: 12px;
  color: #17181a;
  background: #fff;
  font-size: 14px;
  line-height: 1.4;
}

.kurasi-auth-field
input:not([type="checkbox"]):focus {
  border-color: #0071e3;
  box-shadow:
          0 0 0 4px
          rgba(0, 113, 227, .11);
}

.kurasi-auth-field input::placeholder {
  color: #a0a5ab;
}

.kurasi-auth-password {
  position: relative;
}

.kurasi-auth-password input {
  padding-right: 50px !important;
}

.kurasi-auth-password-toggle {
  position: absolute;
  top: 50%;
  right: 9px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 9px;
  color: #7a8189;
  background: transparent;
  transform: translateY(-50%);
}

.kurasi-auth-password-toggle:hover {
  color: #0071e3;
  background: #eef5ff;
}

.kurasi-auth-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.kurasi-auth-check {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  color: #565c64;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
}

.kurasi-auth-check input {
  width: 17px;
  height: 17px;
  accent-color: #0071e3;
}

.kurasi-auth-link,
.kurasi-auth-footer a,
.kurasi-auth-text-button {
  color: #0071e3;
  font-weight: 700;
}

.kurasi-auth-link {
  font-size: 13px;
}

.kurasi-auth-submit {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
  padding: 12px 20px;
  border: 1px solid #0071e3;
  border-radius: 12px;
  color: #fff;
  background: #0071e3;
  font-size: 14px;
  font-weight: 750;
}

.kurasi-auth-submit:hover {
  color: #fff;
  border-color: #005fcc;
  background: #005fcc;
}

.kurasi-auth-footer {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid #eceef0;
  color: #737980;
  font-size: 13px;
  text-align: center;
}

.kurasi-auth-footer--left {
  text-align: left;
}

.kurasi-auth-aside {
  position: relative;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 56px 52px;
  overflow: hidden;
  color: #f5f7fa;
  background:
          linear-gradient(
                  180deg,
                  #111827 0%,
                  #1a2230 52%,
                  #202938 100%
          );
}

.kurasi-auth-aside::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
          radial-gradient(
                  circle at 82% 18%,
                  rgba(120, 170, 255, 0.12),
                  transparent 22%
          ),
          radial-gradient(
                  circle at 14% 86%,
                  rgba(255, 255, 255, 0.04),
                  transparent 24%
          );
  pointer-events: none;
}

.kurasi-auth-aside > * {
  position: relative;
  z-index: 1;
}

.kurasi-auth-aside-label {
  margin-bottom: 16px;
  color: rgba(151, 196, 255, .9);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.kurasi-auth-aside h3 {
  max-width: 380px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -.04em;
}

.kurasi-auth-aside ul {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  max-width: 360px;
}

.kurasi-auth-aside li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  line-height: 1.7;
}

.kurasi-auth-aside li i {
  margin-top: 4px;
  color: #8ec5ff;
  font-size: 12px;
}

.kurasi-auth-alert {
  margin-bottom: 18px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.55;
}

.kurasi-auth-alert ul {
  margin-bottom: 0;
}

.kurasi-auth-resend {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  padding: 14px 15px;
  border: 1px solid #d9e9fb;
  border-radius: 12px;
  background: #f4f9ff;
}

.kurasi-auth-resend strong,
.kurasi-auth-resend span {
  display: block;
}

.kurasi-auth-resend strong {
  color: #1d2733;
  font-size: 13px;
}

.kurasi-auth-resend span {
  margin-top: 2px;
  color: #6c7682;
  font-size: 11px;
  line-height: 1.45;
}

.kurasi-auth-resend-form {
  flex: 0 0 auto;
  margin: 0;
}

.kurasi-auth-text-button {
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 12px;
}

.kurasi-auth-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  border-radius: 18px;
  color: #0071e3;
  background: #edf5ff;
  font-size: 23px;
}

.kurasi-auth-account-note {
  margin-bottom: 20px;
  padding: 13px 15px;
  border: 1px solid #dce9f7;
  border-radius: 12px;
  color: #55606c;
  background: #f6faff;
  font-size: 13px;
  line-height: 1.5;
}

.kurasi-auth-account-note strong {
  color: #1b2430;
}

@media (max-width: 991.98px) {
  .kurasi-auth-shell {
    grid-template-columns: 1fr;
  }

  .kurasi-auth-aside {
    min-height: auto;
  }
}

@media (max-width: 767.98px) {
  .kurasi-auth-card,
  .kurasi-auth-aside {
    padding: 32px 24px;
  }

  .kurasi-auth-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .kurasi-auth-shell {
    border-radius: 18px;
  }

  .kurasi-auth-card {
    padding: 26px 18px;
  }

  .kurasi-auth-aside {
    padding: 28px 20px;
  }

  .kurasi-auth-row,
  .kurasi-auth-resend {
    align-items: flex-start;
    flex-direction: column;
  }

  .kurasi-auth-submit {
    min-height: 50px;
  }
}

.kurasi-auth-aside-note {
  margin-top: 34px;
  max-width: 320px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.kurasi-auth-aside-note span {
  display: block;
  margin-bottom: 6px;
  color: rgba(255, 255, 255, .48);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.kurasi-auth-aside-note p {
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 13px;
  line-height: 1.65;
}

/* =========================================================
   KURASIAPPLE — MY ACCOUNT
   ========================================================= */

:root {
  --ka-account-bg: #f6f7f9;
  --ka-account-card: #ffffff;
  --ka-account-text: #17181a;
  --ka-account-muted: #6f7680;
  --ka-account-line: #e4e7eb;
  --ka-account-soft: #f3f5f7;
  --ka-account-blue: #0071e3;
  --ka-account-blue-dark: #005fc2;
  --ka-account-danger: #c5372f;
  --ka-account-success: #16784a;
  --ka-account-warning: #9a6500;
  --ka-account-radius: 18px;
  --ka-account-shadow:
          0 18px 48px rgba(23, 31, 44, .07);
}

.account-page-banner-wrap {
  background: #fff;
}

.account-page-banner {
  border-radius: 0;
}

.account-dashboard-section {
  position: relative;
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(0, 113, 227, .06),
                  transparent 30%
          ),
          var(--ka-account-bg);
}

.account-dashboard-section > .container {
  position: relative;
}

.account-dashboard-layout {
  display: grid;
  grid-template-columns: 258px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.account-main {
  min-width: 0;
}

.account-sidebar {
  position: sticky;
  top: 96px;
  z-index: 20;
  overflow: hidden;
  border: 1px solid var(--ka-account-line);
  border-radius: var(--ka-account-radius);
  background: #fff;
  box-shadow: var(--ka-account-shadow);
}

.account-sidebar-mobile-head {
  display: none;
}

.account-profile-mini {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 22px 20px;
  border-bottom: 1px solid var(--ka-account-line);
  background:
          linear-gradient(
                  145deg,
                  #fbfcfd,
                  #f2f5f8
          );
}

.account-avatar {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  color: #fff;
  background:
          linear-gradient(
                  145deg,
                  #242a32,
                  #101318
          );
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.03em;
}

.account-profile-mini__copy {
  min-width: 0;
}

.account-profile-mini__copy > span {
  display: block;
  margin-bottom: 3px;
  color: var(--ka-account-blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.account-profile-mini h4 {
  margin: 0;
  overflow: hidden;
  color: var(--ka-account-text);
  font-size: 14px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-profile-mini p {
  margin: 3px 0 0;
  overflow: hidden;
  color: var(--ka-account-muted);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu {
  display: flex;
  flex-direction: column;
  padding: 12px;
}

.account-menu-label {
  padding: 9px 11px 6px;
  color: #9aa0a8;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.account-menu-label--second {
  margin-top: 8px;
  padding-top: 15px;
  border-top: 1px solid #eef0f2;
}

.account-menu a {
  min-height: 43px;
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 11px;
  border-radius: 11px;
  color: #4e555e;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
}

.account-menu a:hover {
  color: var(--ka-account-text);
  background: #f4f6f8;
}

.account-menu a.is-active {
  color: #fff;
  background: #16191f;
  box-shadow:
          0 8px 20px
          rgba(15, 20, 29, .13);
}

.account-menu a i {
  width: 20px;
  color: #8b929b;
  font-size: 14px;
  text-align: center;
}

.account-menu a.is-active i {
  color: #75b9ff;
}

.account-menu .account-menu-logout {
  margin-top: 10px;
  color: #a83c35;
  background: #fff8f7;
}

.account-menu .account-menu-logout i {
  color: #c0544c;
}

.account-sidebar-toggle {
  display: none;
}

.account-sidebar-backdrop {
  display: none;
}

.account-section-card,
.account-welcome-card,
.account-newsletter-card,
.account-address-prompt-card,
.newsletter-preferences-unsubscribe {
  border: 1px solid var(--ka-account-line);
  border-radius: var(--ka-account-radius);
  background: var(--ka-account-card);
  box-shadow: var(--ka-account-shadow);
}

.account-section-card {
  padding: 28px;
}

.account-welcome-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  padding: 30px;
  background:
          linear-gradient(
                  135deg,
                  #ffffff 0%,
                  #f8fbff 100%
          );
}

.account-eyebrow,
.account-newsletter-eyebrow,
.account-address-prompt-eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--ka-account-blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.account-welcome-card h2 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.035em;
}

.account-welcome-card p {
  max-width: 620px;
  margin: 8px 0 0;
  color: var(--ka-account-muted);
  font-size: 13px;
  line-height: 1.65;
}

.account-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.account-section-header--between,
.account-section-header--split {
  align-items: center;
}

.account-section-header h3 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 20px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.account-section-header p {
  margin: 6px 0 0;
  color: var(--ka-account-muted);
  font-size: 12px;
  line-height: 1.55;
}

.account-soft-btn,
.account-save-btn,
.account-filter-btn,
.account-outline-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 17px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
}

.account-save-btn,
.account-filter-btn {
  color: #fff;
  border-color: var(--ka-account-blue);
  background: var(--ka-account-blue);
}

.account-save-btn:hover,
.account-filter-btn:hover {
  color: #fff;
  border-color: var(--ka-account-blue-dark);
  background: var(--ka-account-blue-dark);
}

.account-save-btn--secondary,
.account-soft-btn {
  color: var(--ka-account-text);
  border-color: var(--ka-account-line);
  background: #fff;
}

.account-save-btn--secondary:hover,
.account-soft-btn:hover {
  color: var(--ka-account-text);
  border-color: #ccd1d7;
  background: #f5f7f9;
}

.account-outline-btn {
  color: var(--ka-account-blue);
  border-color: #bedcff;
  background: #f5faff;
}

.account-soft-link,
.account-order-detail-link,
.account-address-action-link,
.account-cancel-link,
.account-filter-reset {
  color: var(--ka-account-blue);
  font-size: 12px;
  font-weight: 750;
}

.account-soft-link:hover,
.account-order-detail-link:hover,
.account-address-action-link:hover,
.account-cancel-link:hover,
.account-filter-reset:hover {
  color: var(--ka-account-blue-dark);
}

.account-card-icon,
.account-address-prompt-icon,
.account-newsletter-icon,
.account-affiliate-empty-icon,
.account-affiliate-intro-icon,
.account-newsletter-page-empty-icon,
.account-newsletter-page-account-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: var(--ka-account-blue);
  background: #edf5ff;
  font-size: 16px;
}

.account-summary-grid {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.account-summary-item {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  border: 1px solid #e7eaed;
  border-radius: 14px;
  background: #fbfcfd;
}

.account-summary-content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.account-summary-content h4 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 13px;
  font-weight: 750;
}

.account-summary-content small,
.account-summary-item small {
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.5;
}

.account-summary-value {
  color: var(--ka-account-text);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
}

.account-status,
.account-order-status,
.account-affiliate-status,
.account-newsletter-page-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .03em;
  line-height: 1;
  text-transform: uppercase;
}

.account-status--success,
.order-status--success,
.account-affiliate-status.is-active,
.account-newsletter-page-status.is-active {
  color: #12633d;
  background: #e9f7ef;
}

.account-status--warning,
.order-status--warning,
.account-affiliate-status.is-pending,
.account-newsletter-page-status.is-pending {
  color: #805600;
  background: #fff4d8;
}

.order-status--danger,
.account-affiliate-status.is-rejected,
.account-affiliate-status.is-suspended,
.account-newsletter-page-status.is-danger {
  color: #a3342d;
  background: #fff0ee;
}

.account-newsletter-page-status.is-neutral,
.account-newsletter-page-status.is-inactive,
.account-affiliate-status.is-neutral {
  color: #626a73;
  background: #eef0f2;
}

.account-form-field label,
.account-affiliate-field label,
.account-order-filter-field label {
  display: block;
  margin-bottom: 8px;
  color: var(--ka-account-text);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.3;
  text-transform: none;
}

.account-form-field input,
.account-form-field select,
.account-form-field textarea,
.account-affiliate-field textarea,
.account-order-filter-field input,
.account-order-filter-field select {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #dfe3e7;
  border-radius: 11px;
  color: var(--ka-account-text);
  background: #fff;
  font-size: 12px;
}

.account-form-field textarea,
.account-affiliate-field textarea {
  min-height: 120px;
  resize: vertical;
}

.account-form-field input:focus,
.account-form-field select:focus,
.account-form-field textarea:focus,
.account-affiliate-field textarea:focus,
.account-order-filter-field input:focus,
.account-order-filter-field select:focus {
  border-color: var(--ka-account-blue);
  box-shadow:
          0 0 0 4px
          rgba(0, 113, 227, .10);
}

.account-form-field input:disabled,
.account-form-field select:disabled {
  color: #8b9199;
  background: #f2f4f6;
}

.account-form-field small,
.account-affiliate-field small {
  display: block;
  margin-top: 7px;
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.5;
}

.account-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  color: #555c65;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  text-transform: none;
}

.account-check input {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  margin-top: 1px;
  accent-color: var(--ka-account-blue);
}

.account-email-status-box {
  height: 100%;
  padding: 17px;
  border: 1px solid #e4e7eb;
  border-radius: 13px;
  background: #f9fafb;
}

.account-email-status-box p {
  margin: 10px 0 0;
  color: var(--ka-account-muted);
  font-size: 11px;
  line-height: 1.55;
}

.account-address-list,
.account-order-list,
.account-order-item-list {
  display: flex;
  flex-direction: column;
  gap: 13px;
}

.account-address-card,
.account-order-card {
  padding: 20px;
  border: 1px solid #e5e8eb;
  border-radius: 15px;
  background: #fff;
  transition:
          transform .18s ease,
          border-color .18s ease,
          box-shadow .18s ease;
}

.account-address-card:hover,
.account-order-card:hover {
  border-color: #cfd5db;
  box-shadow:
          0 12px 30px
          rgba(25, 33, 45, .06);
  transform: translateY(-1px);
}

.account-address-card__top,
.account-order-top,
.account-order-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.account-address-card h4,
.account-order-detail-box h4 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 14px;
  font-weight: 750;
}

.account-address-card h4 span {
  margin-left: 7px;
  padding: 4px 7px;
  border-radius: 999px;
  color: #12633d;
  background: #e9f7ef;
  font-size: 8px;
  text-transform: uppercase;
}

.account-address-recipient,
.account-address-line,
.account-address-region {
  color: var(--ka-account-muted);
  font-size: 11px;
  line-height: 1.55;
}

.account-address-recipient {
  margin: 6px 0 0;
}

.account-address-line {
  margin: 16px 0 0;
  color: #3f454d;
}

.account-address-region {
  margin: 6px 0 0;
}

.account-address-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  align-items: center;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #edf0f2;
}

.account-address-inline-form {
  margin: 0;
}

.account-address-action-link {
  padding: 0;
  border: 0;
  background: transparent;
}

.account-address-action-link-danger {
  color: var(--ka-account-danger);
}

.account-empty-state,
.account-empty-box,
.account-affiliate-empty,
.account-newsletter-page-empty {
  padding: 42px 24px;
  border: 1px dashed #d6dbe0;
  border-radius: 15px;
  background: #fafbfc;
  text-align: center;
}

.account-empty-state > i {
  color: #a2a9b1;
  font-size: 28px;
}

.account-empty-state h4,
.account-empty-box h4,
.account-affiliate-empty h4,
.account-newsletter-page-empty h4 {
  margin: 14px 0 0;
  color: var(--ka-account-text);
  font-size: 16px;
  font-weight: 750;
}

.account-empty-state p,
.account-empty-box p,
.account-affiliate-empty p,
.account-newsletter-page-empty p {
  max-width: 520px;
  margin: 8px auto 18px;
  color: var(--ka-account-muted);
  font-size: 11px;
  line-height: 1.6;
}

.account-order-filter {
  margin-bottom: 22px;
  padding: 17px;
  border: 1px solid #e6e9ec;
  border-radius: 14px;
  background: #f8f9fa;
}

.account-order-filter-grid {
  display: grid;
  grid-template-columns:
        minmax(0, 1.5fr)
        minmax(180px, .7fr)
        auto;
  gap: 12px;
  align-items: end;
}

.account-order-filter-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.account-order-number {
  color: var(--ka-account-text);
  font-size: 13px;
  font-weight: 800;
}

.account-order-date {
  display: block;
  margin-top: 3px;
  color: var(--ka-account-muted);
  font-size: 10px;
}

.account-order-total {
  color: var(--ka-account-text);
  font-size: 14px;
  font-weight: 800;
}

.account-order-statuses {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}

.account-order-products {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: 16px;
  padding: 13px;
  border-radius: 12px;
  background: #f7f8fa;
}

.account-order-product-thumb {
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  overflow: hidden;
  border-radius: 10px;
  background: #eceff2;
}

.account-order-product-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.account-order-product-info {
  min-width: 0;
}

.account-order-product-info strong,
.account-order-product-info span,
.account-order-product-info small {
  display: block;
}

.account-order-product-info strong {
  color: var(--ka-account-text);
  font-size: 12px;
}

.account-order-product-info span,
.account-order-product-info small {
  margin-top: 4px;
  color: var(--ka-account-muted);
  font-size: 10px;
}

.account-order-bottom {
  align-items: center;
  margin-top: 15px;
  padding-top: 13px;
  border-top: 1px solid #edf0f2;
  color: var(--ka-account-muted);
  font-size: 10px;
}

.account-pagination-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 23px;
}

.account-pagination-info {
  color: var(--ka-account-muted);
  font-size: 10px;
}

.account-pagination {
  display: flex;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-pagination a,
.account-pagination span {
  min-width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e4e8;
  border-radius: 9px;
  color: #4d545d;
  background: #fff;
  font-size: 11px;
  font-weight: 700;
}

.account-pagination .is-active a {
  color: #fff;
  border-color: var(--ka-account-blue);
  background: var(--ka-account-blue);
}

.account-pagination .is-disabled {
  pointer-events: none;
  opacity: .45;
}

.account-order-detail-grid {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin-top: 22px;
}

.account-order-detail-box {
  padding: 20px;
  border: 1px solid #e5e8eb;
  border-radius: 14px;
  background: #fbfcfd;
}

.account-order-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid #e9ecef;
}

.account-order-item:last-child {
  border-bottom: 0;
}

.account-order-item strong,
.account-order-item span,
.account-order-item small {
  display: block;
}

.account-order-item strong {
  color: var(--ka-account-text);
  font-size: 11px;
}

.account-order-item span,
.account-order-item small {
  margin-top: 3px;
  color: var(--ka-account-muted);
  font-size: 9px;
}

.account-order-item-price {
  text-align: right;
}

.account-order-address strong,
.account-order-address span,
.account-order-address small {
  display: block;
}

.account-order-address {
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.55;
}

.account-order-address strong {
  color: var(--ka-account-text);
  font-size: 12px;
}

.account-order-address p {
  margin: 11px 0;
}

.account-order-info-lines {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}

.account-order-info-lines > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 9px;
  border-bottom: 1px solid #e9ecef;
  color: var(--ka-account-muted);
  font-size: 10px;
}

.account-order-info-lines > div strong {
  color: var(--ka-account-text);
  text-align: right;
}

.account-order-info-lines
.account-order-grand-total {
  padding-top: 7px;
  border-bottom: 0;
  font-size: 13px;
  font-weight: 800;
}

.account-order-payment-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid #e7eaed;
  color: var(--ka-account-muted);
  font-size: 9px;
}

.account-shipment-highlight,
.account-order-pay-box,
.account-affiliate-notice,
.account-newsletter-page-notice {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin-top: 18px;
  padding: 15px;
  border: 1px solid #dce8f6;
  border-radius: 13px;
  background: #f4f9ff;
}

.account-shipment-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: var(--ka-account-blue);
  background: #e5f2ff;
}

.account-shipment-icon--warning {
  color: var(--ka-account-warning);
  background: #fff0c8;
}

.account-shipment-icon--success {
  color: var(--ka-account-success);
  background: #e5f5ec;
}

.account-shipment-highlight strong,
.account-order-pay-box strong,
.account-affiliate-notice strong,
.account-newsletter-page-notice strong {
  color: var(--ka-account-text);
  font-size: 12px;
}

.account-shipment-highlight p,
.account-order-pay-box p,
.account-affiliate-notice p,
.account-newsletter-page-notice p {
  margin: 4px 0 0;
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.55;
}

.account-order-pay-box {
  align-items: center;
  justify-content: space-between;
  border-color: #f2d88d;
  background: #fff9e9;
}

.account-affiliate-notice.is-error,
.account-newsletter-page-notice.is-error {
  border-color: #f1c8c4;
  background: #fff4f2;
}

.account-affiliate-notice.is-warning,
.account-affiliate-notice.is-pending {
  border-color: #f0d792;
  background: #fff9e7;
}

.account-affiliate-notice.is-success {
  border-color: #bee4ce;
  background: #f0faf4;
}

.account-affiliate-details {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.account-affiliate-details > div,
.account-affiliate-message {
  padding: 15px;
  border: 1px solid #e6e9ec;
  border-radius: 12px;
  background: #fafbfc;
}

.account-affiliate-details span,
.account-affiliate-message > span {
  display: block;
  color: var(--ka-account-muted);
  font-size: 9px;
}

.account-affiliate-details strong {
  display: block;
  margin-top: 4px;
  color: var(--ka-account-text);
  font-size: 12px;
}

.account-affiliate-message {
  margin-top: 13px;
}

.account-affiliate-message p {
  margin: 7px 0 0;
  color: #4e555e;
  font-size: 11px;
  line-height: 1.6;
}

.account-affiliate-intro,
.account-newsletter-page-account,
.account-newsletter-page-section-head,
.account-newsletter-summary-heading {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.account-affiliate-intro {
  margin-bottom: 20px;
}

.account-affiliate-intro h4,
.account-newsletter-page-section-head h4 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 15px;
  font-weight: 750;
}

.account-affiliate-intro p,
.account-newsletter-page-section-head p {
  margin: 5px 0 0;
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.55;
}

.account-newsletter-card,
.account-address-prompt-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  margin-bottom: 24px;
  padding: 24px;
}

.account-address-prompt-card {
  grid-template-columns:
        auto minmax(0, 1fr) auto;
  align-items: center;
}

.account-newsletter-content h3,
.account-address-prompt-content h3 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 17px;
  font-weight: 750;
}

.account-newsletter-content p,
.account-address-prompt-content p {
  margin: 7px 0 0;
  color: var(--ka-account-muted);
  font-size: 11px;
  line-height: 1.6;
}

.account-newsletter-checkbox {
  display: flex;
  gap: 9px;
  align-items: flex-start;
  margin-top: 16px;
  color: #4e555e;
  font-size: 10px;
  line-height: 1.5;
}

.account-newsletter-checkbox input {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  accent-color: var(--ka-account-blue);
}

.account-newsletter-content small {
  display: block;
  margin-top: 8px;
  color: #9399a1;
  font-size: 9px;
}

.account-newsletter-summary-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px;
  border-radius: 13px;
  background: #f7f9fb;
}

.account-newsletter-summary-content strong {
  color: var(--ka-account-text);
  font-size: 12px;
}

.account-newsletter-summary-content p {
  margin: 5px 0 0;
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.55;
}

.account-newsletter-page-account {
  margin-bottom: 22px;
  padding: 17px;
  border: 1px solid #e5e8eb;
  border-radius: 13px;
  background: #fafbfc;
}

.account-newsletter-page-account span,
.account-newsletter-page-account strong,
.account-newsletter-page-account small {
  display: block;
}

.account-newsletter-page-account span,
.account-newsletter-page-account small {
  color: var(--ka-account-muted);
  font-size: 9px;
}

.account-newsletter-page-account strong {
  margin: 4px 0;
  color: var(--ka-account-text);
  font-size: 13px;
}

.account-newsletter-reactivate-card {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #dce8f6;
  border-radius: 13px;
  background: #f5f9ff;
}

.account-newsletter-reactivate-copy strong {
  color: var(--ka-account-text);
  font-size: 12px;
}

.account-newsletter-reactivate-copy p {
  margin: 5px 0 14px;
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.55;
}

.account-newsletter-page-section-head {
  margin: 24px 0 16px;
}

.newsletter-preferences-list {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.newsletter-preference-option {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 11px;
  min-height: 92px;
  padding: 16px;
  border: 1px solid #e2e6ea;
  border-radius: 13px;
  background: #fff;
  cursor: pointer;
}

.newsletter-preference-option.is-selected {
  border-color: #87beff;
  background: #f4f9ff;
  box-shadow:
          0 0 0 3px
          rgba(0, 113, 227, .07);
}

.newsletter-preference-option > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.newsletter-preference-option__check {
  width: 21px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d6dbe0;
  border-radius: 7px;
  color: transparent;
  background: #fff;
}

.newsletter-preference-option.is-selected
.newsletter-preference-option__check {
  color: #fff;
  border-color: var(--ka-account-blue);
  background: var(--ka-account-blue);
}

.newsletter-preference-option__content strong,
.newsletter-preference-option__content span {
  display: block;
}

.newsletter-preference-option__content strong {
  color: var(--ka-account-text);
  font-size: 11px;
}

.newsletter-preference-option__content span {
  margin-top: 5px;
  color: var(--ka-account-muted);
  font-size: 9px;
  line-height: 1.5;
}

.newsletter-preferences-general-note {
  display: flex;
  gap: 9px;
  margin: 15px 0;
  padding: 13px;
  border-radius: 11px;
  color: var(--ka-account-muted);
  background: #f4f6f8;
  font-size: 9px;
  line-height: 1.5;
}

.newsletter-preferences-general-note p {
  margin: 0;
}

.newsletter-preferences-unsubscribe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: 24px;
  padding: 23px;
}

.newsletter-preferences-unsubscribe__content {
  display: flex;
  gap: 13px;
  align-items: flex-start;
}

.newsletter-preferences-unsubscribe__icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #a13c35;
  background: #fff1ef;
}

.newsletter-preferences-unsubscribe h2 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 15px;
  font-weight: 750;
}

.newsletter-preferences-unsubscribe p {
  margin: 5px 0 0;
  color: var(--ka-account-muted);
  font-size: 10px;
  line-height: 1.55;
}

.newsletter-preferences-unsubscribe__button {
  min-height: 40px;
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid #efc8c4;
  border-radius: 10px;
  color: #a33b34;
  background: #fff;
  font-size: 10px;
  font-weight: 750;
}

.affiliate-payout-option-list {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.affiliate-payout-option {
  margin: 0;
  cursor: pointer;
}

.affiliate-payout-option-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.affiliate-payout-option-ui {
  display: flex;
  gap: 11px;
  min-height: 82px;
  padding: 15px;
  border: 1px solid #e0e4e8;
  border-radius: 13px;
  background: #fff;
}

.affiliate-payout-option-input:checked +
.affiliate-payout-option-ui {
  border-color: #8abfff;
  background: #f4f9ff;
  box-shadow:
          0 0 0 3px
          rgba(0, 113, 227, .07);
}

.affiliate-payout-option-control {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 1px solid #cfd5db;
  border-radius: 50%;
  background: #fff;
}

.affiliate-payout-option-input:checked +
.affiliate-payout-option-ui
.affiliate-payout-option-control {
  border: 5px solid var(--ka-account-blue);
}

.affiliate-payout-option-amount,
.affiliate-payout-option-meta {
  display: block;
}

.affiliate-payout-option-amount {
  color: var(--ka-account-text);
  font-size: 12px;
  font-weight: 800;
}

.affiliate-payout-option-meta {
  margin-top: 5px;
  color: var(--ka-account-muted);
  font-size: 9px;
}

.affiliate-payout-option-badge {
  margin-left: 6px;
  padding: 3px 6px;
  border-radius: 999px;
  color: #12633d;
  background: #e8f7ef;
  font-size: 8px;
}

body.modal-open,
body.account-modal-open,
body.lpro-modal-open,
body.account-sidebar-open {
  overflow: hidden;
}

.account-confirm-modal,
.account-newsletter-modal,
.lpro-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
          opacity .18s ease,
          visibility .18s ease;
}

.account-confirm-modal.is-active,
.account-newsletter-modal.is-open,
.lpro-confirm-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.account-confirm-backdrop,
.lpro-confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 20, 28, .56);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.account-confirm-dialog,
.account-newsletter-modal-dialog,
.lpro-confirm-dialog {
  position: relative;
  z-index: 2;
  width: min(470px, 100%);
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 27px;
  border: 1px solid rgba(20, 27, 36, .09);
  border-radius: 18px;
  background: #fff;
  box-shadow:
          0 28px 80px
          rgba(16, 22, 31, .24);
}

.account-confirm-close,
.account-newsletter-modal-close,
.lpro-confirm-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #e3e6e9;
  border-radius: 50%;
  color: #59616a;
  background: #fff;
}

.account-confirm-icon,
.account-newsletter-modal-icon,
.lpro-confirm-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  border-radius: 15px;
  color: var(--ka-account-blue);
  background: #edf5ff;
  font-size: 18px;
}

.account-confirm-dialog h3,
.account-newsletter-modal-dialog h3,
.lpro-confirm-dialog h3 {
  margin: 0;
  color: var(--ka-account-text);
  font-size: 20px;
  font-weight: 750;
}

.account-confirm-dialog p,
.account-newsletter-modal-dialog p,
.lpro-confirm-dialog p {
  margin: 10px 0 0;
  color: var(--ka-account-muted);
  font-size: 11px;
  line-height: 1.6;
}

.account-confirm-actions,
.account-newsletter-modal-actions,
.lpro-confirm-actions {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 21px;
}

.account-confirm-cancel,
.account-newsletter-cancel-btn,
.lpro-confirm-btn--ghost,
.account-confirm-danger,
.account-newsletter-confirm-btn,
.lpro-confirm-btn--danger {
  min-height: 43px;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 750;
}

.account-confirm-cancel,
.account-newsletter-cancel-btn,
.lpro-confirm-btn--ghost {
  color: var(--ka-account-text);
  border: 1px solid #dde1e5;
  background: #fff;
}

.account-confirm-danger,
.lpro-confirm-btn--danger {
  color: #fff;
  border: 1px solid #c4433a;
  background: #c4433a;
}

.account-newsletter-confirm-btn {
  color: #fff;
  border: 1px solid var(--ka-account-blue);
  background: var(--ka-account-blue);
}

@media (max-width: 991.98px) {
  .account-dashboard-layout {
    display: block;
  }

  .account-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10070;
    width: min(318px, 86vw);
    height: 100dvh;
    overflow-y: auto;
    border: 0;
    border-radius: 0 20px 20px 0;
    box-shadow:
            24px 0 70px
            rgba(12, 18, 27, .22);
    transform: translateX(-105%);
    transition: transform .24s ease;
  }

  .account-sidebar.is-open {
    transform: translateX(0);
  }

  .account-sidebar-mobile-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 11px 15px 10px 20px;
    border-bottom: 1px solid var(--ka-account-line);
    color: var(--ka-account-text);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
  }

  .account-sidebar-close {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #e1e5e8;
    border-radius: 10px;
    color: #555d66;
    background: #fff;
  }

  .account-sidebar-toggle {
    position: fixed;
    top: 50%;
    left: 0;
    z-index: 10040;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 11px 10px 9px;
    border: 1px solid #dce0e4;
    border-left: 0;
    border-radius: 0 13px 13px 0;
    color: #fff;
    background: #171a20;
    box-shadow:
            0 8px 24px
            rgba(15, 21, 30, .18);
    font-size: 10px;
    font-weight: 750;
    transform: translateY(-50%);
  }

  .account-sidebar-toggle i:last-child {
    color: #7bbcff;
  }

  body.account-sidebar-open
  .account-sidebar-toggle {
    opacity: 0;
    pointer-events: none;
  }

  .account-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10060;
    display: block;
    background: rgba(15, 20, 28, .50);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
            opacity .2s ease,
            visibility .2s ease;
  }

  .account-sidebar-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .account-profile-mini {
    border-radius: 0;
  }

  .account-main {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .account-section-card {
    padding: 21px 18px;
  }

  .account-welcome-card,
  .account-section-header,
  .account-section-header--between,
  .account-section-header--split,
  .account-newsletter-summary-content,
  .account-order-pay-box,
  .newsletter-preferences-unsubscribe {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-welcome-card {
    padding: 23px 19px;
  }

  .account-summary-grid,
  .account-order-detail-grid,
  .newsletter-preferences-list,
  .affiliate-payout-option-list,
  .account-affiliate-details {
    grid-template-columns: 1fr;
  }

  .account-address-prompt-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .account-address-prompt-action {
    grid-column: 1 / -1;
  }

  .account-order-filter-grid {
    grid-template-columns: 1fr;
  }

  .account-order-filter-actions {
    justify-content: flex-start;
  }

  .account-pagination-wrap {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .account-sidebar-toggle span {
    display: none;
  }

  .account-section-card,
  .account-welcome-card,
  .account-newsletter-card,
  .account-address-prompt-card,
  .newsletter-preferences-unsubscribe {
    border-radius: 15px;
  }

  .account-address-prompt-card,
  .account-newsletter-card {
    grid-template-columns: 1fr;
  }

  .account-address-card__top,
  .account-order-top,
  .account-order-bottom,
  .account-order-item {
    align-items: flex-start;
    flex-direction: column;
  }

  .account-order-item-price {
    text-align: left;
  }

  .account-confirm-actions,
  .account-newsletter-modal-actions,
  .lpro-confirm-actions {
    grid-template-columns: 1fr;
  }

  .account-confirm-dialog,
  .account-newsletter-modal-dialog,
  .lpro-confirm-dialog {
    padding: 23px 18px 18px;
    border-radius: 16px;
  }
}

.account-dashboard-section.section-padding {
  min-height: 0 !important;
  padding-top: 48px !important;
  padding-bottom: 80px !important;
}

.account-flash {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 0;
  margin-bottom: 24px;
  padding: 13px 16px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.5;
}

.account-flash i {
  flex: 0 0 auto;
  font-size: 15px;
}

.account-flash--success {
  color: #17663f;
  border-color: #bee5cf;
  background: #effaf4;
}

.account-flash--error {
  color: #a3342d;
  border-color: #f0c9c5;
  background: #fff3f1;
}

.account-flash--info {
  color: #175f9d;
  border-color: #bedcf8;
  background: #f1f8ff;
}

/* =========================================================
   KURASIAPPLE — MY ACCOUNT RENDER FIX
   Taruh paling bawah custom.css
   ========================================================= */

.account-dashboard-section {
  clear: both;
  float: left;
  width: 100%;
  min-height: calc(100vh - 110px);
  padding: 56px 0 80px !important;
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(0, 113, 227, .055),
                  transparent 30%
          ),
          #f6f7f9;
}

.account-dashboard-section > .container {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.account-dashboard-layout {
  width: 100%;
  display: grid !important;
  grid-template-columns:
        258px minmax(0, 1fr) !important;
  gap: 28px;
  align-items: start;
  opacity: 1 !important;
  visibility: visible !important;
}

.account-main {
  min-width: 0;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.account-sidebar {
  display: block;
  opacity: 1;
  visibility: visible;
}

.account-flash {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding: 13px 16px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}

.account-flash i {
  flex: 0 0 auto;
  font-size: 15px;
}

.account-flash--success {
  color: #17663f;
  border-color: #bee5cf;
  background: #effaf4;
}

.account-flash--error {
  color: #a3342d;
  border-color: #f0c9c5;
  background: #fff3f1;
}

.account-flash--info {
  color: #175f9d;
  border-color: #bedcf8;
  background: #f1f8ff;
}

@media (max-width: 991.98px) {
  .account-dashboard-section {
    padding-top: 38px !important;
  }

  .account-dashboard-layout {
    display: block !important;
  }

  .account-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10070;
    width: min(318px, 86vw);
    height: 100dvh;
    overflow-y: auto;
    border-radius: 0 20px 20px 0;
    transform: translateX(-105%);
    transition: transform .24s ease;
  }

  .account-sidebar.is-open {
    transform: translateX(0);
  }
}

/* My Account typography refinement */

.account-menu a {
  font-size: 13px;
}

.account-profile-mini h4 {
  font-size: 15px;
}

.account-profile-mini p {
  font-size: 12px;
}

.account-welcome-card p,
.account-section-header p,
.account-newsletter-content p,
.account-address-prompt-content p {
  font-size: 14px;
  line-height: 1.65;
}

.account-summary-content h4 {
  font-size: 14px;
}

.account-summary-value {
  font-size: 16px;
}

.account-summary-content small,
.account-summary-item small {
  font-size: 12px;
  line-height: 1.55;
}

.account-eyebrow,
.account-newsletter-eyebrow,
.account-address-prompt-eyebrow,
.account-menu-label {
  font-size: 10px;
}

.account-newsletter-checkbox {
  font-size: 12px;
}

.account-newsletter-content small {
  font-size: 11px;
}

/* =========================================================
   KURASIAPPLE — PRIMARY ACCOUNT ACTION
   ========================================================= */

.account-primary-action {
  width: 100%;
  min-height: 50px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  margin-top: 20px;
  padding: 12px 20px;

  border: 1px solid #0071e3;
  border-radius: 12px;

  color: #fff;
  background: #0071e3;

  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;

  box-shadow:
          0 9px 22px
          rgba(0, 113, 227, .16);

  transition:
          background .18s ease,
          border-color .18s ease,
          box-shadow .18s ease,
          transform .18s ease;
}

.account-primary-action:hover:not(:disabled) {
  color: #fff;
  border-color: #005fc2;
  background: #005fc2;

  box-shadow:
          0 12px 26px
          rgba(0, 95, 194, .21);

  transform: translateY(-1px);
}

.account-primary-action:active:not(:disabled) {
  transform: translateY(0);
}

.account-primary-action i {
  font-size: 13px;
}

/* State belum bisa diklik */

.account-primary-action:disabled {
  color: #9299a1;
  border-color: #dde1e5;
  background: #edf0f2;

  box-shadow: none;
  cursor: not-allowed;
}

/* Affiliate */

.account-affiliate-submit-btn {
  margin-top: 22px;
}

/* Newsletter */

.account-newsletter-activation-form {
  margin-top: 17px;
}

.account-newsletter-activate-btn {
  margin-top: 16px;
}

/*
 * Setelah checkbox disetujui, JS menghapus disabled.
 * Tombol otomatis kembali menjadi biru.
 */
.account-newsletter-activate-btn:not(:disabled) {
  color: #fff;
  border-color: #0071e3;
  background: #0071e3;
}

/* =========================================================
   KURASIAPPLE — NEWSLETTER EMPTY STATE REFINEMENT
   ========================================================= */

.account-newsletter-page-empty {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 44px;
  border: 1px solid #e3e7eb;
  border-radius: 18px;
  background:
          linear-gradient(
                  180deg,
                  #ffffff 0%,
                  #f8fafc 100%
          );
  text-align: center;
}

.account-newsletter-page-empty-icon,
.account-newsletter-page-empty
.account-newsletter-page-empty-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  border-radius: 16px;
  color: #0071e3;
  background: #eaf4ff;
  font-size: 20px;
}

.account-newsletter-page-empty h4 {
  margin: 0;
  color: #17181a;
  font-size: 22px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.account-newsletter-page-empty > p {
  max-width: 560px;
  margin: 10px auto 0;
  color: #6f7780;
  font-size: 13px;
  line-height: 1.65;
}

.account-newsletter-activation-form {
  max-width: 560px;
  margin: 28px auto 0;
}

.account-newsletter-optin-box {
  padding: 16px 17px;
  border: 1px solid #dfe4e8;
  border-radius: 14px;
  background: #fff;
  text-align: left;
}

.account-newsletter-optin-check {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: flex-start;
  margin: 0;
  cursor: pointer;
  text-transform: none;
}

.account-newsletter-optin-check > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.account-newsletter-optin-control {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  border: 1px solid #ccd2d8;
  border-radius: 7px;
  color: transparent;
  background: #fff;
  font-size: 10px;
  transition:
          color .18s ease,
          border-color .18s ease,
          background .18s ease;
}

.account-newsletter-optin-check
input:checked
+
.account-newsletter-optin-control {
  color: #fff;
  border-color: #0071e3;
  background: #0071e3;
}

.account-newsletter-optin-copy {
  min-width: 0;
}

.account-newsletter-optin-copy strong,
.account-newsletter-optin-copy small {
  display: block;
}

.account-newsletter-optin-copy strong {
  color: #17181a;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.4;
}

.account-newsletter-optin-copy small {
  margin-top: 4px;
  color: #747c85;
  font-size: 11px;
  line-height: 1.55;
}

.account-newsletter-main-action {
  width: 100%;
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
  padding: 12px 20px;
  border: 1px solid #0071e3;
  border-radius: 12px;
  color: #fff;
  background: #0071e3;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.2;
  box-shadow:
          0 10px 24px
          rgba(0, 113, 227, .16);
  transition:
          background .18s ease,
          border-color .18s ease,
          box-shadow .18s ease,
          transform .18s ease;
}

.account-newsletter-main-action:hover:not(:disabled) {
  color: #fff;
  border-color: #005fc2;
  background: #005fc2;
  box-shadow:
          0 13px 28px
          rgba(0, 95, 194, .20);
  transform: translateY(-1px);
}

.account-newsletter-main-action:disabled {
  color: #949ba3;
  border-color: #dfe3e7;
  background: #edf0f2;
  box-shadow: none;
  cursor: not-allowed;
}

@media (max-width: 575.98px) {
  .account-newsletter-page-empty {
    padding: 34px 18px;
  }

  .account-newsletter-page-empty h4 {
    font-size: 19px;
  }
}

/* =========================================================
   KURASIAPPLE — NEWSLETTER PREFERENCES
   Tempel paling bawah assets/public/css/custom.css
   ========================================================= */

.newsletter-page-banner-wrap {
  background: #fff;
}

.newsletter-preferences-kurasi {
  padding: 64px 0 84px;
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(0, 113, 227, .055),
                  transparent 30%
          ),
          #f6f7f9;
}

.newsletter-preferences-shell {
  width: min(900px, 100%);
  margin: 0 auto;
}

.newsletter-preferences-back {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px;
  color: #505862;
  font-size: 13px;
  font-weight: 700;
}

.newsletter-preferences-back:hover {
  color: #0071e3;
}

.newsletter-preferences-card,
.newsletter-preferences-unsubscribe,
.newsletter-preferences-stopped {
  border: 1px solid #e2e6ea;
  border-radius: 20px;
  background: #fff;
  box-shadow:
          0 22px 58px
          rgba(21, 29, 40, .08);
}

.newsletter-preferences-card {
  overflow: hidden;
}

.newsletter-preferences-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  padding: 36px 38px;
  border-bottom: 1px solid #e7eaed;
  background:
          linear-gradient(
                  135deg,
                  #fff,
                  #f7faff
          );
}

.newsletter-preferences-head-copy {
  max-width: 620px;
}

.newsletter-preferences-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #0071e3;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.newsletter-preferences-head-copy h1 {
  margin: 0;
  color: #17181a;
  font-size: clamp(29px, 4vw, 40px);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.04em;
}

.newsletter-preferences-head-copy p {
  max-width: 610px;
  margin: 13px 0 0;
  color: #68707a;
  font-size: 14px;
  line-height: 1.7;
}

.newsletter-preferences-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 11px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}

.newsletter-preferences-status.is-active {
  color: #12633d;
  background: #e8f7ef;
}

.newsletter-preferences-status.is-pending {
  color: #825800;
  background: #fff3d4;
}

.newsletter-preferences-status.is-danger {
  color: #a3342d;
  background: #fff0ee;
}

.newsletter-preferences-status.is-inactive,
.newsletter-preferences-status.is-neutral {
  color: #626a73;
  background: #edf0f2;
}

.newsletter-preferences-card__body {
  padding: 34px 38px 38px;
}

.newsletter-preferences-account {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 26px;
  padding: 16px;
  border: 1px solid #e5e8eb;
  border-radius: 14px;
  background: #fafbfc;
}

.newsletter-preferences-account__icon,
.newsletter-preferences-section-head__icon,
.newsletter-preferences-notice__icon,
.lpro-confirm-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #0071e3;
  background: #eaf4ff;
  font-size: 16px;
}

.newsletter-preferences-account__content span,
.newsletter-preferences-account__content strong,
.newsletter-preferences-account__content div {
  display: block;
}

.newsletter-preferences-account__content span {
  color: #858c94;
  font-size: 10px;
}

.newsletter-preferences-account__content strong {
  margin-top: 3px;
  color: #17181a;
  font-size: 14px;
}

.newsletter-preferences-account__content div {
  margin-top: 2px;
  color: #626a73;
  font-size: 12px;
}

.newsletter-preferences-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 20px;
  padding: 15px 16px;
  border: 1px solid transparent;
  border-radius: 13px;
  font-size: 12px;
  line-height: 1.6;
}

.newsletter-preferences-notice strong {
  display: block;
  margin-bottom: 3px;
  color: #17181a;
}

.newsletter-preferences-notice p {
  margin: 0;
}

.newsletter-preferences-notice--success {
  color: #17663f;
  border-color: #bee5cf;
  background: #effaf4;
}

.newsletter-preferences-notice--error {
  color: #a3342d;
  border-color: #f0c9c5;
  background: #fff3f1;
}

.newsletter-preferences-notice--info {
  color: #4e6174;
  border-color: #cfe1f4;
  background: #f3f8fd;
}

.newsletter-preferences-section-head {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  margin: 28px 0 18px;
}

.newsletter-preferences-section-head h2 {
  margin: 0;
  color: #17181a;
  font-size: 19px;
  font-weight: 750;
  letter-spacing: -.02em;
}

.newsletter-preferences-section-head p {
  margin: 5px 0 0;
  color: #737a83;
  font-size: 12px;
}

.newsletter-preferences-list {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.newsletter-preference-option {
  position: relative;
  display: grid;
  grid-template-columns: 23px minmax(0, 1fr);
  gap: 12px;
  min-height: 104px;
  padding: 17px;
  border: 1px solid #e1e5e8;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition:
          border-color .18s ease,
          background .18s ease,
          box-shadow .18s ease,
          transform .18s ease;
}

.newsletter-preference-option:hover {
  border-color: #b9c3cd;
  transform: translateY(-1px);
}

.newsletter-preference-option.is-selected {
  border-color: #79b7ff;
  background: #f3f8ff;
  box-shadow:
          0 0 0 3px
          rgba(0, 113, 227, .07);
}

.newsletter-preference-option > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.newsletter-preference-option__check {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d3d8dd;
  border-radius: 7px;
  color: transparent;
  background: #fff;
  font-size: 11px;
}

.newsletter-preference-option.is-selected
.newsletter-preference-option__check {
  color: #fff;
  border-color: #0071e3;
  background: #0071e3;
}

.newsletter-preference-option__content strong,
.newsletter-preference-option__content span {
  display: block;
}

.newsletter-preference-option__content strong {
  color: #17181a;
  font-size: 13px;
  font-weight: 750;
}

.newsletter-preference-option__content span {
  margin-top: 6px;
  color: #717981;
  font-size: 11px;
  line-height: 1.55;
}

.newsletter-preferences-general-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 18px 0;
  padding: 13px 14px;
  border-radius: 11px;
  color: #65707b;
  background: #f4f6f8;
  font-size: 11px;
  line-height: 1.55;
}

.newsletter-preferences-general-note p {
  margin: 0;
}

.newsletter-preferences-save {
  min-height: 49px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 20px;
  border: 1px solid #0071e3;
  border-radius: 12px;
  color: #fff;
  background: #0071e3;
  font-size: 13px;
  font-weight: 750;
  box-shadow:
          0 10px 24px
          rgba(0, 113, 227, .15);
}

.newsletter-preferences-save:hover:not(:disabled) {
  color: #fff;
  border-color: #005fc2;
  background: #005fc2;
}

.newsletter-preferences-save:disabled {
  color: #8b929a;
  border-color: #e3e6e9;
  background: #e9ecef;
  box-shadow: none;
  cursor: not-allowed;
}

.newsletter-preferences-empty {
  padding: 38px 22px;
  border: 1px dashed #d3d9df;
  border-radius: 14px;
  background: #fafbfc;
  text-align: center;
}

.newsletter-preferences-empty > i {
  color: #9ba3ab;
  font-size: 28px;
}

.newsletter-preferences-empty h3 {
  margin: 13px 0 0;
  color: #17181a;
  font-size: 16px;
}

.newsletter-preferences-empty p {
  margin: 7px 0 0;
  color: #737a83;
  font-size: 12px;
}

.newsletter-preferences-unsubscribe,
.newsletter-preferences-stopped {
  margin-top: 20px;
  padding: 24px;
}

.newsletter-preferences-unsubscribe {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.newsletter-preferences-unsubscribe__content,
.newsletter-preferences-stopped {
  display: flex;
  align-items: flex-start;
  gap: 13px;
}

.newsletter-preferences-unsubscribe__icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #a33b34;
  background: #fff0ee;
  font-size: 15px;
}

.newsletter-preferences-unsubscribe h2,
.newsletter-preferences-stopped strong {
  margin: 0;
  color: #17181a;
  font-size: 15px;
  font-weight: 750;
}

.newsletter-preferences-unsubscribe p,
.newsletter-preferences-stopped p {
  margin: 5px 0 0;
  color: #707881;
  font-size: 11px;
  line-height: 1.6;
}

.newsletter-preferences-unsubscribe__button {
  min-height: 42px;
  flex: 0 0 auto;
  padding: 9px 15px;
  border: 1px solid #efc8c4;
  border-radius: 10px;
  color: #a33b34;
  background: #fff;
  font-size: 11px;
  font-weight: 750;
}

.newsletter-preferences-unsubscribe__button:hover {
  border-color: #d99a94;
  background: #fff6f5;
}

.newsletter-preferences-stopped {
  color: #17663f;
  border-color: #bee5cf;
  background: #effaf4;
}

.newsletter-preferences-stopped > i {
  margin-top: 3px;
}

.newsletter-preferences-footnote {
  margin-top: 18px;
  color: #8a9199;
  font-size: 10px;
  text-align: center;
}

/* Modal */

body.lpro-modal-open {
  overflow: hidden;
}

.lpro-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 10080;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
          opacity .18s ease,
          visibility .18s ease;
}

.lpro-confirm-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.lpro-confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 20, 28, .58);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.lpro-confirm-dialog {
  position: relative;
  z-index: 2;
  width: min(470px, 100%);
  padding: 28px;
  border: 1px solid rgba(20, 27, 36, .08);
  border-radius: 18px;
  background: #fff;
  box-shadow:
          0 28px 80px
          rgba(16, 22, 31, .24);
}

.lpro-confirm-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #e1e5e8;
  border-radius: 50%;
  color: #59616a;
  background: #fff;
}

.lpro-confirm-dialog h3 {
  margin: 0;
  color: #17181a;
  font-size: 21px;
  font-weight: 750;
  letter-spacing: -.025em;
}

.lpro-confirm-dialog p {
  margin: 10px 0 0;
  color: #6e7680;
  font-size: 12px;
  line-height: 1.65;
}

.lpro-confirm-actions {
  display: grid;
  grid-template-columns:
        repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 22px;
}

.lpro-confirm-btn {
  min-height: 44px;
  padding: 9px 14px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 750;
}

.lpro-confirm-btn--ghost {
  color: #17181a;
  border: 1px solid #dfe3e7;
  background: #fff;
}

.lpro-confirm-btn--danger {
  color: #fff;
  border: 1px solid #c4433a;
  background: #c4433a;
}

@media (max-width: 767.98px) {
  .newsletter-preferences-card__head,
  .newsletter-preferences-unsubscribe {
    align-items: flex-start;
    flex-direction: column;
  }

  .newsletter-preferences-card__head,
  .newsletter-preferences-card__body {
    padding: 26px 22px;
  }

  .newsletter-preferences-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .newsletter-preferences-kurasi {
    padding: 42px 0 62px;
  }

  .newsletter-preferences-card,
  .newsletter-preferences-unsubscribe,
  .newsletter-preferences-stopped {
    border-radius: 16px;
  }

  .newsletter-preferences-head-copy h1 {
    font-size: 29px;
  }

  .newsletter-preferences-status {
    align-self: flex-start;
  }

  .lpro-confirm-actions {
    grid-template-columns: 1fr;
  }

  .lpro-confirm-dialog {
    padding: 24px 18px 18px;
    border-radius: 16px;
  }
}

/* =========================================================
   KURASIAPPLE — SIMPLE CONTACT PAGE
   ========================================================= */

.kurasi-contact-simple {
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(0, 113, 227, .05),
                  transparent 29%
          ),
          #f7f8fa;
}

.kurasi-contact-info,
.kurasi-contact-form-wrap {
  height: 100%;
}

.kurasi-contact-info {
  padding: 8px 35px 8px 0;
}

.kurasi-contact-label {
  display: inline-flex;
  margin-bottom: 10px;
  color: #0071e3;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.kurasi-contact-info > h2 {
  margin: 0;
  color: #17181a;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 750;
  line-height: 1.16;
  letter-spacing: -.04em;
}

.kurasi-contact-info__intro {
  max-width: 440px;
  margin: 13px 0 0;
  color: #68707a;
  font-size: 14px;
  line-height: 1.7;
}

.kurasi-contact-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.kurasi-contact-list li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  padding: 19px 0;
  border-bottom: 1px solid #e1e5e8;
}

.kurasi-contact-list li:first-child {
  border-top: 1px solid #e1e5e8;
}

.kurasi-contact-list__icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  color: #0071e3;
  background: #eaf4ff;
  font-size: 17px;
}

.kurasi-contact-list h4 {
  margin: 0;
  color: #17181a;
  font-size: 13px;
  font-weight: 750;
}

.kurasi-contact-list p {
  margin: 5px 0 0;
  color: #59616a;
  font-size: 13px;
  line-height: 1.55;
}

.kurasi-contact-list p a {
  color: #17181a;
  font-weight: 700;
}

.kurasi-contact-list p a:hover {
  color: #0071e3;
}

.kurasi-contact-list p small {
  display: block;
  margin-top: 4px;
  color: #858c94;
  font-size: 10px;
  line-height: 1.5;
}

.kurasi-contact-form-wrap {
  padding: 34px 36px;
  border: 1px solid #e1e5e8;
  border-radius: 20px;
  background: #fff;
  box-shadow:
          0 22px 58px
          rgba(21, 29, 40, .08);
}

.kurasi-contact-form-head {
  margin-bottom: 26px;
}

.kurasi-contact-form-head h3 {
  margin: 0;
  color: #17181a;
  font-size: clamp(25px, 3vw, 34px);
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.035em;
}

.kurasi-contact-form-head p {
  margin: 10px 0 0;
  color: #68707a;
  font-size: 13px;
  line-height: 1.65;
}

.kurasi-contact-field label {
  display: block;
  margin-bottom: 8px;
  color: #17181a;
  font-size: 12px;
  font-weight: 750;
  line-height: 1.3;
  text-transform: none;
}

.kurasi-contact-field label small {
  margin-left: 5px;
  color: #959ca4;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.kurasi-contact-field input,
.kurasi-contact-field textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid #dce1e5;
  border-radius: 11px;
  color: #17181a;
  background: #fff;
  font-size: 13px;
  line-height: 1.5;
}

.kurasi-contact-field textarea {
  min-height: 150px;
  resize: vertical;
}

.kurasi-contact-field input:focus,
.kurasi-contact-field textarea:focus {
  border-color: #0071e3;
  box-shadow:
          0 0 0 4px
          rgba(0, 113, 227, .10);
}

.kurasi-contact-field input::placeholder,
.kurasi-contact-field textarea::placeholder {
  color: #a0a6ad;
}

.kurasi-contact-form-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.kurasi-contact-form-action > p {
  max-width: 360px;
  margin: 0;
  color: #8a9199;
  font-size: 10px;
  line-height: 1.55;
}

.kurasi-contact-submit {
  min-width: 165px;
  min-height: 49px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border: 1px solid #0071e3;
  border-radius: 11px;
  color: #fff;
  background: #0071e3;
  font-size: 13px;
  font-weight: 750;
  box-shadow:
          0 10px 24px
          rgba(0, 113, 227, .16);
}

.kurasi-contact-submit:hover:not(:disabled) {
  color: #fff;
  border-color: #005fc2;
  background: #005fc2;
}

.kurasi-contact-submit:disabled {
  opacity: .7;
  cursor: wait;
}

.kurasi-contact-soft-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-top: 44px;
  padding-top: 27px;
  border-top: 1px solid #dde1e5;
}

.kurasi-contact-soft-cta h4 {
  margin: 0;
  color: #17181a;
  font-size: 16px;
  font-weight: 750;
}

.kurasi-contact-soft-cta p {
  margin: 5px 0 0;
  color: #737a83;
  font-size: 12px;
}

.kurasi-contact-soft-cta__links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.kurasi-contact-soft-cta__links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #17181a;
  font-size: 12px;
  font-weight: 750;
}

.kurasi-contact-soft-cta__links a:hover {
  color: #0071e3;
}

.kurasi-contact-soft-cta__links i {
  font-size: 10px;
}

@media (max-width: 991.98px) {
  .kurasi-contact-info {
    padding-right: 0;
  }
}

@media (max-width: 767.98px) {
  .kurasi-contact-form-action,
  .kurasi-contact-soft-cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .kurasi-contact-submit {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .kurasi-contact-form-wrap {
    padding: 25px 18px;
    border-radius: 16px;
  }

  .kurasi-contact-list li {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .kurasi-contact-list__icon {
    width: 40px;
    height: 40px;
  }
}

/* Contact form vertical spacing */

.kurasi-contact-form .row {
  row-gap: 20px;
}

.kurasi-contact-form .mb-24 {
  margin-bottom: 0 !important;
}

/* =========================================================
   KURASIAPPLE — CLEAN CONTACT
   ========================================================= */

.kurasi-contact-clean {
  background: #fff;
}

.kurasi-contact-clean__info {
  padding-right: 44px;
}

.kurasi-contact-clean__info ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kurasi-contact-clean__info li {
  padding: 0 0 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid #e5e7ea;
}

.kurasi-contact-clean__info li:last-child {
  margin-bottom: 0;
}

.kurasi-contact-clean__info h4 {
  margin: 0 0 8px;
  color: #17181a;
  font-size: 15px;
  font-weight: 700;
}

.kurasi-contact-clean__info p {
  margin: 0;
  color: #656c75;
  font-size: 14px;
  line-height: 1.65;
}

.kurasi-contact-clean__info a {
  color: #17181a;
  font-weight: 600;
}

.kurasi-contact-clean__info a:hover {
  color: #0071e3;
}

.kurasi-contact-clean__form {
  padding-left: 20px;
}

.kurasi-contact-clean__form h3 {
  margin: 0 0 8px;
  color: #17181a;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -.025em;
}

.kurasi-contact-clean__form > p {
  color: #707780;
  font-size: 14px;
  line-height: 1.65;
}

.kurasi-contact-clean
.contact-form .row {
  row-gap: 0;
}

.kurasi-contact-clean
.contact-form input,
.kurasi-contact-clean
.contact-form textarea {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid #dfe3e7;
  border-radius: 8px;
  color: #17181a;
  background: #fff;
  font-size: 14px;
}

.kurasi-contact-clean
.contact-form input {
  min-height: 50px;
}

.kurasi-contact-clean
.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.kurasi-contact-clean
.contact-form input:focus,
.kurasi-contact-clean
.contact-form textarea:focus {
  border-color: #17181a;
  box-shadow: none;
}

.kurasi-contact-clean
.contact-form input::placeholder,
.kurasi-contact-clean
.contact-form textarea::placeholder {
  color: #9da3aa;
}

.kurasi-contact-clean__submit {
  min-height: 47px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 11px 20px;
  border-radius: 7px;
  font-size: 13px;
  font-weight: 700;
}

.kurasi-contact-clean__submit:disabled {
  opacity: .7;
  cursor: wait;
}

.kurasi-contact-clean__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 38px;
  padding-top: 28px;
  border-top: 1px solid #e0e3e6;
}

.kurasi-contact-clean__cta p {
  color: #17181a;
}

.kurasi-contact-clean__links {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}

.kurasi-contact-clean__links a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #17181a;
  font-size: 13px;
  font-weight: 700;
}

.kurasi-contact-clean__links a:hover {
  color: #0071e3;
}

@media (max-width: 991.98px) {
  .kurasi-contact-clean__info {
    padding-right: 0;
  }

  .kurasi-contact-clean__form {
    padding-left: 0;
  }
}

@media (max-width: 767.98px) {
  .kurasi-contact-clean__cta {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .kurasi-contact-clean__links {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
}

/* =========================================================
   KURASIAPPLE — TIPS & GUIDE
   ========================================================= */

.kurasi-blog-list {
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(0, 113, 227, .05),
                  transparent 28%
          ),
          #f6f7f9;
}

.kurasi-blog-list .row {
  align-items: stretch;
}

.kurasi-blog-list [class*="col-"] {
  display: flex;
}

.kurasi-blog-card {
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid #e2e6ea;
  border-radius: 17px;
  background: #fff;
  box-shadow:
          0 16px 42px
          rgba(21, 29, 40, .07);
  transition:
          transform .18s ease,
          border-color .18s ease,
          box-shadow .18s ease;
}

.kurasi-blog-card:hover {
  border-color: #cbd2d9;
  box-shadow:
          0 22px 50px
          rgba(21, 29, 40, .10);
  transform: translateY(-3px);
}

.kurasi-blog-card__image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  overflow: hidden;
  background: #eceff2;
}

.kurasi-blog-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

.kurasi-blog-card:hover
.kurasi-blog-card__image img {
  transform: scale(1.025);
}

.kurasi-blog-card__body {
  padding: 22px;
}

.kurasi-blog-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.kurasi-blog-card__meta span {
  color: #0071e3;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kurasi-blog-card__meta time {
  color: #9299a1;
  font-size: 10px;
  font-weight: 650;
  text-transform: uppercase;
}

.kurasi-blog-card h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: -.025em;
}

.kurasi-blog-card h3 a {
  color: #17181a;
}

.kurasi-blog-card h3 a:hover {
  color: #0071e3;
}

.kurasi-blog-card__body > p {
  margin: 11px 0 20px;
  color: #6e7680;
  font-size: 13px;
  line-height: 1.65;
}

.kurasi-blog-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #17181a;
  font-size: 12px;
  font-weight: 750;
}

.kurasi-blog-card__link:hover {
  color: #0071e3;
}

.kurasi-blog-card__link i {
  font-size: 10px;
}

.kurasi-blog-empty {
  padding: 60px 24px;
  border: 1px dashed #d3d9df;
  border-radius: 16px;
  background: #fff;
  text-align: center;
}

.kurasi-blog-empty > i {
  color: #9ba3ab;
  font-size: 30px;
}

.kurasi-blog-empty h3 {
  margin: 15px 0 0;
  color: #17181a;
  font-size: 20px;
  font-weight: 750;
}

.kurasi-blog-empty p {
  margin: 7px 0 0;
  color: #737a83;
  font-size: 13px;
}

@media (max-width: 575.98px) {
  .kurasi-blog-card__body {
    padding: 19px;
  }

  .kurasi-blog-card h3 {
    font-size: 18px;
  }
}

/* =========================================================
   KURASIAPPLE — BLOG TYPOGRAPHY ALIGNMENT
   Mengikuti font utama theme: Khula
   ========================================================= */

.kurasi-blog-card,
.kurasi-blog-card h3,
.kurasi-blog-card p,
.kurasi-blog-card a,
.kurasi-blog-card span,
.kurasi-blog-card time {
  font-family: "Khula", sans-serif;
}

/* Kategori */

.kurasi-blog-card__meta span {
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .06em;
}

/* Tanggal */

.kurasi-blog-card__meta time {
  font-size: 12px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

/* Judul artikel */

.kurasi-blog-card h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

.kurasi-blog-card h3 a {
  font-weight: 700;
}

/* Ringkasan artikel */

.kurasi-blog-card__body > p {
  margin: 12px 0 20px;
  color: #656565;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
}

/* Link baca artikel */

.kurasi-blog-card__link {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
}

/* Card body mengikuti ritme theme */

.kurasi-blog-card__body {
  padding: 24px;
}

@media (max-width: 575.98px) {
  .kurasi-blog-card h3 {
    font-size: 19px;
  }

  .kurasi-blog-card__body > p {
    font-size: 14px;
  }

  .kurasi-blog-card__body {
    padding: 20px;
  }
}

/* =========================================================
   KURASIAPPLE — ARTICLE DETAIL
   Font mengikuti theme utama: Khula
   ========================================================= */

.kurasi-article-page {
  background: #fff;
}

.kurasi-article {
  width: min(860px, 100%);
  margin: 0 auto;
}

/* Article header */

.kurasi-article-header {
  margin-bottom: 34px;
}

.kurasi-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-bottom: 18px;
  color: #777d84;
  font-family: "Khula", sans-serif;
  font-size: 13px;
  font-weight: 400;
}

.kurasi-article-meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.kurasi-article-meta i {
  color: #0071e3;
  font-size: 12px;
}

.kurasi-article-meta a {
  color: #565d65;
}

.kurasi-article-meta a:hover {
  color: #0071e3;
}

.kurasi-article-title {
  max-width: 850px;
  margin: 0;
  color: #151515;
  font-family: "Khula", sans-serif;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}

.kurasi-article-excerpt {
  max-width: 760px;
  margin: 18px 0 0;
  color: #626970;
  font-family: "Khula", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7;
}

/* Featured image */

.kurasi-article-cover {
  margin: 0 0 42px;
  overflow: hidden;
  border-radius: 14px;
  background: #f1f2f3;
}

.kurasi-article-cover img {
  width: 100%;
  max-height: 560px;
  display: block;
  object-fit: cover;
}

/* Main article typography */

.kurasi-article-content {
  color: #35393d;
  font-family: "Khula", sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.85;
}

.kurasi-article-content > *:first-child {
  margin-top: 0;
}

.kurasi-article-content > *:last-child {
  margin-bottom: 0;
}

.kurasi-article-content p {
  margin: 0 0 24px;
}

.kurasi-article-content h1,
.kurasi-article-content h2,
.kurasi-article-content h3,
.kurasi-article-content h4,
.kurasi-article-content h5,
.kurasi-article-content h6 {
  color: #151515;
  font-family: "Khula", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

.kurasi-article-content h1 {
  margin: 46px 0 20px;
  font-size: 36px;
  line-height: 1.25;
}

.kurasi-article-content h2 {
  margin: 44px 0 18px;
  font-size: 30px;
  line-height: 1.3;
}

.kurasi-article-content h3 {
  margin: 38px 0 16px;
  font-size: 24px;
  line-height: 1.35;
}

.kurasi-article-content h4 {
  margin: 32px 0 14px;
  font-size: 20px;
  line-height: 1.4;
}

.kurasi-article-content h5 {
  margin: 28px 0 12px;
  font-size: 18px;
  line-height: 1.45;
}

.kurasi-article-content h6 {
  margin: 25px 0 10px;
  font-size: 16px;
  line-height: 1.45;
}

.kurasi-article-content ul,
.kurasi-article-content ol {
  margin: 0 0 26px;
  padding-left: 25px;
}

.kurasi-article-content li {
  margin-bottom: 8px;
  padding-left: 4px;
}

.kurasi-article-content li:last-child {
  margin-bottom: 0;
}

.kurasi-article-content a {
  color: #0071e3;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.kurasi-article-content a:hover {
  color: #005fcc;
}

/* Blockquote */

.kurasi-article-content blockquote {
  margin: 36px 0;
  padding: 24px 28px;
  border-left: 4px solid #0071e3;
  background: #f5f7f9;
}

.kurasi-article-content blockquote::before {
  display: none;
}

.kurasi-article-content blockquote p {
  margin: 0;
  color: #34383c;
  font-family: "Khula", sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.6;
}

/* Media */

.kurasi-article-content img {
  max-width: 100%;
  height: auto;
  margin: 14px 0 30px;
  border-radius: 10px;
}

.kurasi-article-content iframe,
.kurasi-article-content video {
  width: 100%;
  max-width: 100%;
  margin: 14px 0 30px;
  border: 0;
  border-radius: 10px;
}

.kurasi-article-content table {
  width: 100%;
  max-width: 100%;
  display: block;
  overflow-x: auto;
  margin: 28px 0;
  border-collapse: collapse;
}

.kurasi-article-content th,
.kurasi-article-content td {
  min-width: 140px;
  padding: 12px 14px;
  border: 1px solid #dde1e5;
  text-align: left;
}

.kurasi-article-content th {
  color: #151515;
  background: #f5f6f7;
  font-weight: 700;
}

.kurasi-article-content pre {
  overflow-x: auto;
  margin: 28px 0;
  padding: 20px;
  border-radius: 10px;
  color: #f5f5f5;
  background: #17191d;
  font-size: 14px;
  line-height: 1.65;
}

.kurasi-article-content code {
  padding: 2px 5px;
  border-radius: 4px;
  background: #f1f2f3;
  font-size: .9em;
}

.kurasi-article-content pre code {
  padding: 0;
  color: inherit;
  background: transparent;
}

/* Article footer */

.kurasi-article-footer {
  margin-top: 46px;
  padding-top: 24px;
  border-top: 1px solid #e1e4e7;
}

.kurasi-article-footer a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #151515;
  font-size: 14px;
  font-weight: 700;
}

.kurasi-article-footer a:hover {
  color: #0071e3;
}

/* Related articles */

.kurasi-related-articles {
  margin-top: 90px;
  padding-top: 48px;
  border-top: 1px solid #e1e4e7;
}

.kurasi-related-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
}

.kurasi-related-heading span {
  display: block;
  margin-bottom: 5px;
  color: #0071e3;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kurasi-related-heading h2 {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3;
}

.kurasi-related-heading > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #151515;
  font-size: 14px;
  font-weight: 700;
}

.kurasi-related-heading > a:hover {
  color: #0071e3;
}

.kurasi-related-card {
  height: 100%;
  overflow: hidden;
  border: 1px solid #e2e5e8;
  border-radius: 13px;
  background: #fff;
  box-shadow:
          0 10px 30px
          rgba(0, 0, 0, .06);
}

.kurasi-related-card__image {
  width: 100%;
  aspect-ratio: 16 / 10;
  display: block;
  overflow: hidden;
  background: #f1f2f3;
}

.kurasi-related-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.kurasi-related-card__body {
  padding: 20px;
}

.kurasi-related-card time {
  display: block;
  margin-bottom: 8px;
  color: #8b9197;
  font-size: 12px;
}

.kurasi-related-card h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.35;
}

.kurasi-related-card h3 a {
  color: #151515;
}

.kurasi-related-card h3 a:hover {
  color: #0071e3;
}

.kurasi-related-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  color: #151515;
  font-size: 13px;
  font-weight: 700;
}

.kurasi-related-card__link:hover {
  color: #0071e3;
}

@media (max-width: 991.98px) {
  .kurasi-article-title {
    font-size: 38px;
  }

  .kurasi-related-articles {
    margin-top: 70px;
  }
}

@media (max-width: 767.98px) {
  .kurasi-article-title {
    font-size: 32px;
  }

  .kurasi-article-excerpt {
    font-size: 17px;
  }

  .kurasi-article-content {
    font-size: 16px;
    line-height: 1.8;
  }

  .kurasi-article-content h1 {
    font-size: 30px;
  }

  .kurasi-article-content h2 {
    font-size: 26px;
  }

  .kurasi-article-content h3 {
    font-size: 22px;
  }

  .kurasi-related-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575.98px) {
  .kurasi-article-header {
    margin-bottom: 26px;
  }

  .kurasi-article-title {
    font-size: 28px;
    line-height: 1.25;
  }

  .kurasi-article-excerpt {
    font-size: 16px;
  }

  .kurasi-article-cover {
    margin-bottom: 30px;
    border-radius: 10px;
  }

  .kurasi-article-content h1 {
    margin-top: 38px;
    font-size: 27px;
  }

  .kurasi-article-content h2 {
    margin-top: 36px;
    font-size: 24px;
  }

  .kurasi-article-content h3 {
    margin-top: 32px;
    font-size: 21px;
  }

  .kurasi-article-content blockquote {
    padding: 20px;
  }

  .kurasi-article-content blockquote p {
    font-size: 18px;
  }

  .kurasi-related-articles {
    margin-top: 55px;
    padding-top: 36px;
  }
}

/* Product Listing Card */
.shop-product-wrap .product {
  height: 100%;
}

.shop-product-wrap .product .image-action {
  overflow: hidden;
  background-color: #f7f7f7;
}

.shop-product-wrap .product .image-action .image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.shop-product-wrap .product .image-action .image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.shop-product-wrap .product .content {
  padding-top: 2px;
}

.product-card-info {
  display: block;
  width: 100%;
}

.product-card-title {
  margin: 0 0 7px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
}

.product-card-title a {
  display: -webkit-box;
  overflow: hidden;
  color: #151515;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.product-card-title a:hover {
  color: #0163D2;
}

.product-card-pricing {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 9px;
}

.product-card-price {
  display: block;
  color: #151515;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
}

.product-card-old-price {
  display: block;
  color: #999999;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: line-through;
}

/*
 * Saat mode list aktif, informasi produk tetap
 * vertikal: title di atas, harga di bawah.
 */
.product-list .product .product-card-title {
  font-size: 24px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.product-list .product .product-card-price {
  font-size: 20px;
}

.product-list .product .product-card-old-price {
  font-size: 15px;
}

@media only screen and (max-width: 767px) {
  .product-card-title {
    font-size: 16px;
  }

  .product-card-price {
    font-size: 16px;
  }

  .product-list .product .product-card-title {
    font-size: 20px;
  }

  .product-list .product .product-card-price {
    font-size: 18px;
  }
}

/* =========================================================
   Product Detail
========================================================= */

.product-detail-kurasi {
  padding-bottom: 90px;
}

/*
 * Menyamakan tipografi konten produk dengan theme.
 * Deskripsi dari rich text editor terkadang membawa
 * font-family dan ukuran font sendiri.
 */
.product-detail-kurasi .single-product-tab-list,
.product-detail-kurasi .single-product-tab-content,
.product-detail-kurasi .single-product-description-content,
.product-detail-kurasi .single-product-specification {
  font-family: "Khula", sans-serif;
}

.product-detail-kurasi .single-product-description-content,
.product-detail-kurasi .single-product-description-content p,
.product-detail-kurasi .single-product-description-content li,
.product-detail-kurasi .single-product-description-content span,
.product-detail-kurasi .single-product-description-content strong,
.product-detail-kurasi .single-product-description-content b {
  font-family: "Khula", sans-serif !important;
}

.product-detail-tabs {
  margin-bottom: 0;
}

.product-detail-kurasi .single-product-tab-list {
  margin-bottom: 0;
}

.product-detail-kurasi .single-product-tab-list li a {
  padding: 16px 22px 13px;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  text-transform: none;
}

.product-detail-kurasi .single-product-tab-content {
  margin-top: 0;
  padding-top: 42px;
}

.product-detail-kurasi .single-product-description-content {
  color: #151515;
  font-size: 16px;
  line-height: 1.75;
}

.product-detail-kurasi .single-product-description-content h1,
.product-detail-kurasi .single-product-description-content h2,
.product-detail-kurasi .single-product-description-content h3,
.product-detail-kurasi .single-product-description-content h4,
.product-detail-kurasi .single-product-description-content h5,
.product-detail-kurasi .single-product-description-content h6 {
  font-family: "Khula", sans-serif !important;
  color: #151515;
  font-weight: 600;
}

.product-detail-kurasi .single-product-description-content h4 {
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.4;
}

.product-detail-kurasi .single-product-description-content p {
  margin-bottom: 18px;
  color: #343434;
  font-size: 16px !important;
  line-height: 1.75 !important;
}

.product-detail-kurasi .single-product-description-content ul,
.product-detail-kurasi .single-product-description-content ol {
  margin: 20px 0 0;
  padding-left: 22px;
}

.product-detail-kurasi .single-product-description-content li {
  margin-bottom: 10px;
  color: #343434;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.product-detail-kurasi .single-product-description-content li:last-child {
  margin-bottom: 0;
}

.product-detail-kurasi .single-product-description-content strong,
.product-detail-kurasi .single-product-description-content b {
  color: #151515;
  font-weight: 700;
}

.product-detail-kurasi .single-product-specification .table {
  margin-bottom: 0;
  font-family: "Khula", sans-serif;
  font-size: 15px;
}

.product-detail-kurasi .single-product-specification .table td {
  padding: 14px 16px;
  vertical-align: top;
  line-height: 1.65;
  border-color: #e8e8e8;
}

.product-detail-kurasi .single-product-specification .table td:first-child {
  width: 28%;
  color: #151515;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .product-detail-kurasi {
    padding-bottom: 60px;
  }

  .product-detail-kurasi .single-product-tab-list li a {
    padding: 13px 16px 10px;
    font-size: 14px;
  }

  .product-detail-kurasi .single-product-tab-content {
    padding-top: 30px;
  }

  .product-detail-kurasi .single-product-description-content,
  .product-detail-kurasi .single-product-description-content p,
  .product-detail-kurasi .single-product-description-content li {
    font-size: 15px !important;
  }
}

/* =========================================================
   Product Detail Gallery — Final Override
========================================================= */

.product-detail-kurasi .single-product-images,
.product-detail-kurasi .product-gallery-modern {
  width: 100%;
  padding-right: 0 !important;
}

/*
 * Slider fade membutuhkan tinggi yang jelas.
 * Gambar tetap utuh dengan object-fit: contain.
 */
.product-detail-kurasi .single-product-image {
  width: 100%;
  height: 560px !important;
  min-height: 560px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* Pertahankan tinggi struktur Slick */
.product-detail-kurasi .single-product-image .slick-list,
.product-detail-kurasi .single-product-image .slick-track,
.product-detail-kurasi .single-product-image .slick-slide,
.product-detail-kurasi .single-product-image .slick-slide > div {
  width: 100% !important;
  height: 100% !important;
  min-height: 560px !important;
}

/* Gambar utama tidak dipotong */
.product-detail-kurasi .single-product-image img {
  display: block !important;
  position: relative !important;
  inset: auto !important;

  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;

  margin: 0 auto !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  transform: none !important;
}

/*
 * Plugin zoom boleh tetap membuat .zoomImg,
 * tetapi dipaksa mengikuti ukuran gambar utama
 * agar tidak menghasilkan crop atau pembesaran.
 */
.product-detail-kurasi .single-product-image img.zoomImg {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  object-position: center center !important;

  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  transform: none !important;
}

/* Thumbnail horizontal */
.product-detail-kurasi .single-product-thumb {
  position: relative !important;
  top: auto !important;
  right: auto !important;

  width: 100% !important;
  margin-top: 16px !important;
  padding: 0 42px !important;
}

.product-detail-kurasi .single-product-thumb .slick-list {
  margin: 0 -6px;
}

.product-detail-kurasi .single-product-thumb .slick-slide {
  margin: 0 6px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 12px;
  opacity: 0.65;
}

.product-detail-kurasi
.single-product-thumb
.slick-slide.slick-current {
  border-color: #151515;
  opacity: 1;
}

.product-detail-kurasi .single-product-thumb img {
  display: block !important;
  width: 100% !important;
  height: 92px !important;
  padding: 6px !important;

  object-fit: contain !important;
  object-position: center center !important;

  background: #f7f7f8 !important;
  border-radius: 10px;
}

/* Panah thumbnail */
.product-detail-kurasi .single-product-thumb .slick-arrow {
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;

  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;

  border: 1px solid #e1e4e8 !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #151515 !important;

  transform: translateY(-50%) !important;
  z-index: 10;
}

.product-detail-kurasi .single-product-thumb .slick-prev {
  left: 0 !important;
}

.product-detail-kurasi .single-product-thumb .slick-next {
  right: 0 !important;
  left: auto !important;
}

.product-detail-kurasi .single-product-thumb .slick-arrow i {
  display: block;
  line-height: 36px;
}

/* Tablet */
@media only screen and (max-width: 991px) {
  .product-detail-kurasi .single-product-image,
  .product-detail-kurasi .single-product-image .slick-list,
  .product-detail-kurasi .single-product-image .slick-track,
  .product-detail-kurasi .single-product-image .slick-slide,
  .product-detail-kurasi .single-product-image .slick-slide > div {
    height: 500px !important;
    min-height: 500px !important;
  }
}

/* Mobile */
@media only screen and (max-width: 767px) {
  .product-detail-kurasi .single-product-image,
  .product-detail-kurasi .single-product-image .slick-list,
  .product-detail-kurasi .single-product-image .slick-track,
  .product-detail-kurasi .single-product-image .slick-slide,
  .product-detail-kurasi .single-product-image .slick-slide > div {
    height: 420px !important;
    min-height: 420px !important;
  }

  .product-detail-kurasi .single-product-thumb {
    padding: 0 38px !important;
  }

  .product-detail-kurasi .single-product-thumb img {
    height: 76px !important;
  }
}

@media only screen and (max-width: 479px) {
  .product-detail-kurasi .single-product-image,
  .product-detail-kurasi .single-product-image .slick-list,
  .product-detail-kurasi .single-product-image .slick-track,
  .product-detail-kurasi .single-product-image .slick-slide,
  .product-detail-kurasi .single-product-image .slick-slide > div {
    height: 340px !important;
    min-height: 340px !important;
  }

  .product-detail-kurasi .single-product-thumb img {
    height: 64px !important;
  }
}

/* =========================================================
   KURASIAPPLE — STANDALONE PRODUCT GALLERY
   Tidak memakai Slick dan plugin zoom theme.
========================================================= */

.ka-product-gallery {
  width: 100%;
}

/* Main image mengikuti rasio asli file */
.ka-product-gallery__main {
  width: 100%;
  overflow: hidden;
  background: transparent;
  line-height: 0;
}

.ka-product-gallery__main img {
  position: static !important;

  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: initial !important;
  object-position: center !important;

  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;

  opacity: 1 !important;
  visibility: visible !important;

  filter: none !important;
  transform: none !important;
}

/* Thumbnail navigation */
.ka-product-gallery__navigation {
  width: 100%;

  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;

  margin-top: 16px;
}

.ka-product-gallery__track {
  min-width: 0;

  display: flex;
  align-items: stretch;
  gap: 12px;

  overflow-x: auto;
  overflow-y: hidden;

  padding: 2px;

  scroll-behavior: smooth;
  scrollbar-width: none;
}

.ka-product-gallery__track::-webkit-scrollbar {
  display: none;
}

/* Thumbnail */
.ka-product-gallery__thumb {
  width: 88px;
  height: 96px;
  flex: 0 0 88px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 6px;

  overflow: hidden;

  border: 1px solid transparent;
  border-radius: 12px;

  background: #f5f6f7;
  opacity: 0.58;

  transition:
          opacity 0.2s ease,
          border-color 0.2s ease,
          background-color 0.2s ease;
}

.ka-product-gallery__thumb:hover {
  opacity: 0.85;
}

.ka-product-gallery__thumb.is-active {
  border-color: #171717;
  background: #ffffff;
  opacity: 1;
}

.ka-product-gallery__thumb img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center !important;

  border: 0 !important;
  border-radius: 7px;
  background: transparent !important;
}

/* Navigation arrow */
.ka-product-gallery__arrow {
  width: 38px;
  height: 38px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 1px solid #dfe2e5;
  border-radius: 50%;

  color: #171717;
  background: #ffffff;

  font-size: 18px;
  line-height: 1;

  transition:
          border-color 0.2s ease,
          color 0.2s ease,
          background-color 0.2s ease;
}

.ka-product-gallery__arrow:hover {
  border-color: #171717;
  color: #ffffff;
  background: #171717;
}

.ka-product-gallery__arrow i {
  display: block;
  line-height: 1;
}

@media (max-width: 767.98px) {
  .ka-product-gallery__navigation {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    gap: 7px;
    margin-top: 12px;
  }

  .ka-product-gallery__arrow {
    width: 32px;
    height: 32px;
    font-size: 15px;
  }

  .ka-product-gallery__track {
    gap: 8px;
  }

  .ka-product-gallery__thumb {
    width: 70px;
    height: 78px;
    flex-basis: 70px;
    padding: 4px;
    border-radius: 10px;
  }
}

@media (max-width: 479.98px) {
  .ka-product-gallery__navigation {
    grid-template-columns: 30px minmax(0, 1fr) 30px;
  }

  .ka-product-gallery__arrow {
    width: 30px;
    height: 30px;
  }

  .ka-product-gallery__thumb {
    width: 62px;
    height: 70px;
    flex-basis: 62px;
  }
}

/* =========================================================
   PRODUCT DETAIL — TYPOGRAPHY HARMONY
========================================================= */

.product-detail-kurasi .single-product-content {
  font-family: "Khula", sans-serif;
  font-synthesis: none;
}

/*
 * Form control dan button kadang memakai font
 * bawaan browser. Paksa mengikuti font halaman.
 */
.product-detail-kurasi .single-product-content button,
.product-detail-kurasi .single-product-content input,
.product-detail-kurasi .single-product-content select,
.product-detail-kurasi .single-product-content option {
  font-family: "Khula", sans-serif !important;
}

/* Nama produk */
.product-detail-kurasi
.single-product-content
.title-price .title {
  margin: 0;
  color: #171717;
  font-size: clamp(32px, 3vw, 42px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -0.025em;
}

/* Harga */
.product-detail-kurasi
.single-product-content
.title-price .price {
  margin-top: 12px;
  color: #111111;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.018em;
  font-variant-numeric: tabular-nums;
}

.product-detail-kurasi
.single-product-content
.title-price .price del {
  color: #8c9298;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
}

/* Label form */
.product-detail-kurasi .lpro-variant-label,
.product-detail-kurasi
.single-product-content .quantity h5 {
  color: #202124;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
}

/* Pilihan varian */
.product-detail-kurasi .lpro-variant-current {
  min-height: 52px;
  color: #202124;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

.product-detail-kurasi
.lpro-variant-option span:first-child {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

.product-detail-kurasi
.lpro-variant-option small {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}

/* Badge stok */
.product-detail-kurasi .lpro-stock-info {
  color: #176b3a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0;
}

/* Quantity */
.product-detail-kurasi .product-detail-qty button {
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
}

.product-detail-kurasi .product-detail-qty input {
  color: #202124;
  font-size: 16px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}

/* Tombol keranjang */
.product-detail-kurasi .product-detail-cart-btn {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}

.product-detail-kurasi
.product-detail-cart-btn i {
  font-size: 15px;
}

/* Informasi produk */
.product-detail-kurasi
.single-product-content > .desc:last-child h5 {
  margin-bottom: 15px;
  color: #202124;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.35;
}

.product-detail-kurasi
.single-product-content > .desc:last-child p {
  margin-bottom: 9px;
  color: #5f6670;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

.product-detail-kurasi
.single-product-content > .desc:last-child strong {
  color: #4c535b;
  font-weight: 600;
}

.product-detail-kurasi
.single-product-content > .desc:last-child a {
  color: #5f6670;
  font-weight: 400;
}

.product-detail-kurasi
.single-product-content > .desc:last-child a:hover {
  color: #0071e3;
}

@media (max-width: 575.98px) {
  .product-detail-kurasi
  .single-product-content
  .title-price .title {
    font-size: 30px;
  }

  .product-detail-kurasi
  .single-product-content
  .title-price .price {
    font-size: 26px;
  }

  .product-detail-kurasi .lpro-variant-current {
    font-size: 14px;
  }
}

/* =========================================================
   CART — FINAL UX FIX
========================================================= */

/*
 * Ada rule lama desktop yang membuat
 * .cart-page padding-bottom: 0.
 * Kembalikan ruang sebelum footer.
 */
@media (min-width: 992px) {
  .section.cart-page.cart-page--empty {
    padding-bottom: 130px !important;
  }

  .section.cart-page.cart-page--filled {
    padding-bottom: 100px !important;
  }
}

@media (max-width: 991.98px) {
  .section.cart-page.cart-page--empty {
    padding-bottom: 80px !important;
  }
}

/* Header actions */

.cart-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.cart-clear-form--head {
  margin: 0;
}

/* =====================================================
   CART HEADER ACTION
   Similar to My Account address actions
===================================================== */

.cart-head-actions {
  display: flex;
  align-items: center;
  gap: 24px;
}


.cart-clear-form--head {
  margin: 0;
}


.cart-action-link {

  display: inline-flex;
  align-items: center;

  padding: 0;

  border: 0;
  background: transparent;

  font-family: "Khula", sans-serif;
  font-size: 14px;
  font-weight: 700;

  line-height: 1.5;

  cursor: pointer;

  transition:
          color .2s ease;
}


/* lanjut belanja */

.cart-action-link--continue {

  color: #0071e3;
}


.cart-action-link--continue:hover {

  color: #005fcc;
}


/* destructive */

.cart-action-link--danger {

  color: #d9382f;
}


.cart-action-link--danger:hover {

  color: #a9231c;
}

/* Voucher input menjadi satu control */

.cart-voucher-control {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;

  overflow: hidden;

  border: 1px solid #dfe2e6;
  border-radius: 12px;

  background: #ffffff;

  transition:
          border-color .2s ease,
          box-shadow .2s ease;
}

.cart-voucher-control:focus-within {
  border-color: #0071e3;
  box-shadow: 0 0 0 3px rgba(0, 113, 227, .10);
}

.cart-voucher-control input,
.cart-voucher-control input:not([type="submit"]) {
  width: 100% !important;
  height: 46px !important;

  padding: 10px 14px !important;

  border: 0 !important;
  border-radius: 0 !important;

  color: #202124;
  background: #ffffff !important;

  font-family: "Khula", sans-serif;
  font-size: 14px;
  font-weight: 400;

  box-shadow: none !important;
}

.cart-voucher-apply-btn {
  min-width: 104px;
  min-height: 46px;

  padding: 10px 18px;

  border: 0;
  border-left: 1px solid #dfe2e6;
  border-radius: 0;

  color: #ffffff;
  background: #202124;

  font-family: "Khula", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;

  transition: background-color .2s ease;
}

.cart-voucher-apply-btn:hover {
  color: #ffffff;
  background: #000000;
}

/* Login voucher popup */

.cart-login-popup {
  position: fixed;
  inset: 0;
  z-index: 10080;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 20px;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition:
          opacity .2s ease,
          visibility .2s ease;
}

.cart-login-popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cart-login-popup__backdrop {
  position: absolute;
  inset: 0;

  background: rgba(17, 19, 24, .56);

  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.cart-login-popup__dialog {
  position: relative;
  z-index: 1;

  width: min(440px, 100%);

  padding: 34px;

  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 22px;

  background: #ffffff;

  box-shadow:
          0 28px 90px
          rgba(15, 20, 28, .25);

  text-align: center;
}

.cart-login-popup__close {
  position: absolute;
  top: 13px;
  right: 13px;

  width: 36px;
  height: 36px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  border: 0;
  border-radius: 50%;

  color: #626970;
  background: #f2f3f5;

  font-size: 23px;
  line-height: 1;
}

.cart-login-popup__icon {
  width: 58px;
  height: 58px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 17px;

  border-radius: 18px;

  color: #0071e3;
  background: #edf5ff;

  font-size: 22px;
}

.cart-login-popup__eyebrow {
  display: block;

  margin-bottom: 7px;

  color: #0071e3;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cart-login-popup__dialog h3 {
  margin: 0;

  color: #17191c;

  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

.cart-login-popup__dialog p {
  margin: 11px 0 24px;

  color: #687079;

  font-size: 14px;
  line-height: 1.65;
}

.cart-login-popup__actions {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 10px;
}

.cart-login-popup__later,
.cart-login-popup__login {
  min-height: 46px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 16px;

  border-radius: 11px;

  font-family: "Khula", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}

.cart-login-popup__later {
  border: 1px solid #dfe2e6;

  color: #202124;
  background: #ffffff;
}

.cart-login-popup__later:hover {
  background: #f5f6f7;
}

.cart-login-popup__login {
  border: 1px solid #0071e3;

  color: #ffffff;
  background: #0071e3;
}

.cart-login-popup__login:hover {
  border-color: #005fcc;
  color: #ffffff;
  background: #005fcc;
}

body.cart-login-popup-open {
  overflow: hidden;
}

@media (max-width: 575.98px) {
  .cart-head-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .cart-head-actions .btn,
  .cart-clear-form--head {
    flex: 1 1 auto;
  }

  .cart-clear-head-btn {
    width: 100%;
  }

  .cart-voucher-apply-btn {
    min-width: 90px;
    padding-right: 13px;
    padding-left: 13px;
  }

  .cart-login-popup {
    align-items: flex-end;
    padding: 12px;
  }

  .cart-login-popup__dialog {
    padding: 30px 20px 20px;
    border-radius: 19px;
  }

  .cart-login-popup__actions {
    grid-template-columns: 1fr;
  }
}

.cart-voucher-control{
  display:flex;
  gap:10px;
}

.cart-voucher-apply-btn{
  white-space:nowrap;
}


@media(max-width:575px){

  .cart-voucher-control{
    flex-direction:column;
  }

  .cart-voucher-apply-btn{
    width:100%;
  }

}

.cart-page--empty{
  min-height:550px;
  display:flex;
  align-items:center;
}

.checkout-mobile-sticky-bar{
  padding:12px 16px;
}

.checkout-mobile-sticky-inner{
  display:flex;
  align-items:center;
  gap:12px;
}

.checkout-mobile-summary{
  flex:1;
}

.checkout-mobile-summary span{
  font-size:11px;
  color:#777;
}

.checkout-mobile-summary strong{
  display:block;
  font-size:18px;
  line-height:1.2;
}

.checkout-mobile-summary em{
  font-size:11px;
}


.checkout-mobile-submit-btn{
  min-width:120px;
  height:44px;
  border-radius:0;
}


@media(max-width:575px){

  .checkout-mobile-submit-btn{
    font-size:14px;
  }

}

.checkout-submit-btn{
  margin-top:25px;
}

.checkout-kurasi-submit-hint{
  display:block;
  text-align:center;
  margin-top:12px;
  font-size:13px;
  color:#888;
}


/* =========================================================
   CART — BUTTON ALIGNMENT WITH CHECKOUT
   ========================================================= */

/* Primary checkout CTA: same dark, square treatment as checkout page. */
.cart-page .cart-summary-button .cart-checkout-primary,
.cart-page .cart-mobile-checkout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 11px 22px;
  border: 1px solid #202020;
  border-radius: 0;
  background: #202020;
  color: #ffffff;
  box-shadow: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.cart-page .cart-summary-button .cart-checkout-primary:hover,
.cart-page .cart-summary-button .cart-checkout-primary:focus,
.cart-page .cart-mobile-checkout-btn:hover,
.cart-page .cart-mobile-checkout-btn:focus {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
  box-shadow: none;
}

.cart-page .cart-summary-button .cart-checkout-primary.disabled,
.cart-page .cart-summary-button .cart-checkout-primary:disabled,
.cart-page .cart-mobile-checkout-btn.disabled,
.cart-page .cart-mobile-checkout-btn:disabled {
  cursor: not-allowed;
  opacity: .48;
}

/* Voucher removal: text action, matching Edit/Hapus on My Account addresses. */
.cart-page .cart-voucher-remove-form {
  margin-top: 10px !important;
}

.cart-page .cart-voucher-remove-link {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: #d9382f;
  font-family: "Khula", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  box-shadow: none;
}

.cart-page .cart-voucher-remove-link:hover,
.cart-page .cart-voucher-remove-link:focus {
  background: transparent;
  color: #a9231c;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 991.98px) {
  .cart-page .cart-mobile-checkout-btn {
    min-width: 128px;
    min-height: 46px;
    padding: 10px 18px;
  }
}

/* Cart checkout button - match checkout page */
.cart-summary-button .btn,
.cart-mobile-checkout-btn {
  background: #171a20 !important;
  border-color: #171a20 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  font-weight: 700;
  box-shadow: none;
}

.cart-summary-button .btn:hover,
.cart-mobile-checkout-btn:hover {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}


/* Sticky cart button sizing */
.cart-mobile-checkout-btn {
  min-width: 160px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   KURASIAPPLE CART — VOUCHER & CHECKOUT REFINEMENT
   ========================================================= */

.cart-flash {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid transparent;
  border-radius: 14px;
  line-height: 1.5;
}

.cart-flash__icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 14px;
}

.cart-flash__copy {
  min-width: 0;
  padding-top: 1px;
}

.cart-flash__copy strong,
.cart-flash__copy span {
  display: block;
}

.cart-flash__copy strong {
  margin-bottom: 2px;
  color: inherit;
  font-size: 14px;
  font-weight: 750;
}

.cart-flash__copy span {
  font-size: 13px;
  line-height: 1.6;
}

.cart-flash--success {
  color: #176b3a;
  border-color: #b9e7c9;
  background: #effaf3;
}

.cart-flash--success .cart-flash__icon {
  color: #fff;
  background: #23834c;
}

.cart-flash--error {
  color: #9e302b;
  border-color: #efc8c4;
  background: #fff3f1;
}

.cart-flash--error .cart-flash__icon {
  color: #fff;
  background: #c83c34;
}

/* Voucher applied */

.cart-voucher-heading {
  margin: 0 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 15px !important;
}

.cart-voucher-applied {
  padding: 16px;
  border: 1px solid #b8e6c8;
  border-radius: 14px;
  background:
          linear-gradient(
                  145deg,
                  #f2fcf5,
                  #eaf9f0
          );
}

.cart-voucher-applied.is-invalid {
  border-color: #efc8c3;
  background: #fff4f2;
}

.cart-voucher-applied__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cart-voucher-applied__identity {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.cart-voucher-applied__icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: #23834c;
  font-size: 14px;
}

.cart-voucher-applied.is-invalid
.cart-voucher-applied__icon {
  background: #c8463d;
}

.cart-voucher-applied__identity small,
.cart-voucher-applied__identity strong {
  display: block;
}

.cart-voucher-applied__identity small {
  margin-bottom: 2px;
  color: #4d755d;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.cart-voucher-applied__identity strong {
  color: #185e35;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.cart-voucher-applied.is-invalid
.cart-voucher-applied__identity small,
.cart-voucher-applied.is-invalid
.cart-voucher-applied__identity strong {
  color: #9e302b;
}

.cart-voucher-applied__saving {
  flex: 0 0 auto;
  padding: 6px 10px;
  border-radius: 999px;
  color: #176b3a;
  background: #d8f3e1;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.cart-voucher-applied > p {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #52705e !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

.cart-voucher-applied.is-invalid > p {
  color: #93443e !important;
}

.cart-voucher-applied__result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px solid rgba(35, 131, 76, .18);
}

.cart-voucher-applied__result span {
  color: #52705e;
  font-size: 12px;
  font-weight: 600;
}

.cart-voucher-applied__result strong {
  color: #185e35;
  font-size: 14px;
  font-weight: 800;
}

.cart-voucher-remove-form {
  margin: 12px 0 0;
}

.cart-voucher-remove-link {
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  color: #b33b34;
  background: transparent;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}

.cart-voucher-remove-link:hover {
  color: #842721;
  text-decoration: underline;
}

/* Summary checkout action */

.cart-page .cart-summary .cart-summary-wrap {
  margin-bottom: 0;
}

.cart-summary-shipping-note {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  margin-top: 18px;
  color: #707780 !important;
  font-size: 12px;
  line-height: 1.55;
}

.cart-summary-shipping-note i {
  flex: 0 0 auto;
  margin-top: 3px;
  color: #7d858e;
}

.cart-page .cart-summary-button--inside {
  width: 100%;
  display: block;
  margin-top: 24px;
}

.cart-page
.cart-summary-button--inside
.cart-checkout-primary {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 13px 20px;
  border: 1px solid #0071e3;
  border-radius: 12px;
  color: #fff;
  background: #0071e3;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.2;
  box-shadow:
          0 10px 24px
          rgba(0, 113, 227, .17);
  transition:
          background .18s ease,
          border-color .18s ease,
          transform .18s ease,
          box-shadow .18s ease;
}

.cart-page
.cart-summary-button--inside
.cart-checkout-primary:hover {
  color: #fff;
  border-color: #005fc2;
  background: #005fc2;
  box-shadow:
          0 13px 28px
          rgba(0, 95, 194, .22);
  transform: translateY(-1px);
}

.cart-page
.cart-summary-button--inside
.cart-checkout-primary.is-disabled,
.cart-page
.cart-summary-button--inside
.cart-checkout-primary.disabled {
  color: #9299a1;
  border-color: #e0e3e6;
  background: #ebedef;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.cart-checkout-error {
  margin-top: 9px;
  color: #b53b34;
  font-size: 11px;
  font-weight: 650;
  text-align: center;
}

@media (max-width: 575.98px) {
  .cart-voucher-applied__head {
    align-items: flex-start;
  }

  .cart-voucher-applied__saving {
    padding: 5px 8px;
    font-size: 11px;
  }
}

/* =========================================================
   KURASIAPPLE — HEADER CART & OFFCANVAS CART
   ========================================================= */

/* Header badge */

.header-cart .offcanvas-cart-toggle .icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-cart .js-header-cart-count {
  position: absolute;
  top: -5px;
  right: -6px;

  min-width: 18px;
  height: 18px;
  padding: 0 4px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 2px solid #fff;
  border-radius: 999px;

  color: #fff;
  background: #0071e3;

  font-size: 10px;
  font-weight: 800;
  line-height: 1;

  box-shadow: 0 3px 8px rgba(0, 113, 227, .25);
  transform: none;
}

@media (max-width: 991.98px) {
  .header-cart .js-header-cart-count {
    top: -3px;
    right: -5px;

    min-width: 17px;
    height: 17px;
    padding: 0 4px;

    font-size: 9px;
  }
}

.header-cart .js-header-cart-count[hidden] {
  display: none !important;
}

.header-cart .js-header-cart-text {
  margin-left: 8px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

/* Offcanvas structure */

.offcanvas-cart-section .inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.kurasi-offcanvas-cart__head {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 24px;
  border-bottom: 1px solid #e8ebef;
}

.kurasi-offcanvas-cart__head > div {
  min-width: 0;
}

.kurasi-offcanvas-cart__head strong,
.kurasi-offcanvas-cart__head small {
  display: block;
}

.kurasi-offcanvas-cart__head strong {
  color: #17191c;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.25;
}

.kurasi-offcanvas-cart__head small {
  margin-top: 3px;
  color: #767d86;
  font-size: 11px;
  line-height: 1.4;
}

.kurasi-offcanvas-cart__head
.offcanvas-cart-close {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #e0e4e8;
  border-radius: 50%;
  color: #25282c;
  background: #fff;
  font-size: 20px;
  transition:
          border-color .18s ease,
          background .18s ease;
}

.kurasi-offcanvas-cart__head
.offcanvas-cart-close:hover {
  border-color: #ccd2d8;
  background: #f5f6f8;
}

.offcanvas-cart-section
.offcanvas-cart-wrap {
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.kurasi-offcanvas-cart__items {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  padding: 8px 24px 18px;
}

/* Cart item */

.kurasi-offcanvas-item {
  position: relative;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 34px;
  align-items: start;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid #edf0f2;
}

.kurasi-offcanvas-item__image {
  width: 78px;
  height: 86px;
  overflow: hidden;
  display: block;
  border: 1px solid #e4e7ea;
  border-radius: 12px;
  background: #f5f6f7;
}

.kurasi-offcanvas-item__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.kurasi-offcanvas-item__image > span {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: #9aa1a9;
  font-size: 20px;
}

.kurasi-offcanvas-item__content {
  min-width: 0;
  padding-top: 2px;
}

.kurasi-offcanvas-item__title {
  display: block;
  overflow: hidden;
  color: #181a1d;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
  text-overflow: ellipsis;
}

.kurasi-offcanvas-item__title:hover {
  color: #0071e3;
}

.kurasi-offcanvas-item__content small {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #7a828b;
  font-size: 10px;
  line-height: 1.4;
  text-overflow: ellipsis;
}

.kurasi-offcanvas-item__quantity {
  display: block;
  margin-top: 9px;
  color: #707780;
  font-size: 11px;
  line-height: 1.4;
}

.kurasi-offcanvas-item__total {
  display: block;
  margin-top: 3px;
  color: #1c1e21;
  font-size: 13px;
  font-weight: 800;
}

.kurasi-offcanvas-remove-form {
  margin: 0;
}

.kurasi-offcanvas-item__remove {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #f0cfcb;
  border-radius: 9px;
  color: #c53f37;
  background: #fff7f5;
  font-size: 13px;
  cursor: pointer;
  transition:
          border-color .18s ease,
          color .18s ease,
          background .18s ease;
}

.kurasi-offcanvas-item__remove:hover {
  border-color: #e9a9a3;
  color: #9f2f29;
  background: #ffefec;
}

/* Empty state */

.kurasi-offcanvas-empty {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
}

.kurasi-offcanvas-empty__icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  margin-bottom: 17px;
  border-radius: 50%;
  color: #6e7680;
  background: #f1f3f5;
  font-size: 28px;
}

.kurasi-offcanvas-empty strong {
  color: #202225;
  font-size: 15px;
  font-weight: 800;
}

.kurasi-offcanvas-empty p {
  max-width: 230px;
  margin: 7px 0 0;
  color: #7b828a;
  font-size: 12px;
  line-height: 1.6;
}

/* Footer and CTA */

.kurasi-offcanvas-cart__footer {
  flex: 0 0 auto;
  padding: 20px 24px 24px;
  border-top: 1px solid #e8ebef;
  background: #fff;
  box-shadow: 0 -12px 28px rgba(28, 36, 44, .04);
}

.kurasi-offcanvas-subtotal {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 17px;
}

.kurasi-offcanvas-subtotal > span {
  color: #33373c;
  font-size: 13px;
  font-weight: 700;
}

.kurasi-offcanvas-subtotal small {
  display: block;
  margin-top: 3px;
  color: #848b93;
  font-size: 9px;
  font-weight: 500;
}

.kurasi-offcanvas-subtotal > strong {
  color: #16181b;
  font-size: 17px;
  font-weight: 850;
  white-space: nowrap;
}

.offcanvas-cart-section
.kurasi-offcanvas-primary {
  width: 100%;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 13px 20px;
  border: 1px solid #0071e3;
  border-radius: 14px;
  color: #fff;
  background: #0071e3;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: 0 10px 24px rgba(0, 113, 227, .18);
  transition:
          background .18s ease,
          border-color .18s ease,
          transform .18s ease,
          box-shadow .18s ease;
}

.offcanvas-cart-section
.kurasi-offcanvas-primary:hover {
  color: #fff;
  border-color: #005fc2;
  background: #005fc2;
  box-shadow: 0 13px 28px rgba(0, 95, 194, .23);
  transform: translateY(-1px);
}

.kurasi-offcanvas-secondary {
  display: block;
  margin-top: 13px;
  color: #4f565e;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}

.kurasi-offcanvas-secondary:hover {
  color: #0071e3;
}

@media (max-width: 575.98px) {
  .kurasi-offcanvas-cart__head {
    padding-right: 18px;
    padding-left: 18px;
  }

  .kurasi-offcanvas-cart__items {
    padding-right: 18px;
    padding-left: 18px;
  }

  .kurasi-offcanvas-cart__footer {
    padding-right: 18px;
    padding-left: 18px;
  }

  .kurasi-offcanvas-item {
    grid-template-columns:
            68px
            minmax(0, 1fr)
            32px;
    gap: 11px;
  }

  .kurasi-offcanvas-item__image {
    width: 68px;
    height: 78px;
  }

  .header-cart .js-header-cart-text {
    display: none;
  }
}

/* =========================================================
   KURASIAPPLE — COMPACT PUBLIC HEADER
   ========================================================= */

.header-section.header-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1050;
  width: 100%;
  background: #ffffff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

/*
 * Tinggi utama header desktop.
 * Sebelumnya menu menggunakan line-height 98px
 * dan logo memiliki margin vertikal 20px.
 */
.header-section.header-sticky .row {
  min-height: 82px;
}

/* Logo */

.header-section.header-sticky .header-logo {
  width: 205px;
  margin: 0;
}

.header-section.header-sticky .header-logo > a {
  display: block;
  line-height: 0;
}

.header-section.header-sticky .header-logo img {
  display: block;
  width: 100%;
  max-width: 205px;
  max-height: 46px;
  object-fit: contain;
  object-position: left center;
}

/* Navigation */

.header-section.header-sticky
.main-menu nav > ul > li > a {
  padding-top: 1px;
  font-size: 17px;
  font-weight: 600;
  line-height: 82px;
}

.header-section.header-sticky
.main-menu nav > ul > li + li {
  margin-left: 42px;
}

/* Header action */

.header-section.header-sticky .header-action {
  width: auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: 22px;
}

.header-section.header-sticky .header-user {
  margin-right: 0;
}

.header-section.header-sticky .header-user a,
.header-section.header-sticky .offcanvas-cart-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.header-section.header-sticky .header-user a i,
.header-section.header-sticky
.offcanvas-cart-toggle .icon i {
  font-size: 23px;
  line-height: 1;
}

.header-section.header-sticky
.offcanvas-cart-toggle .text {
  margin-top: 1px;
  margin-left: 5px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.header-section.header-sticky
.mobile-menu-toggle {
  margin-left: 0;
}

/*
 * Class Bootstrap lama mr-5 menambah ruang
 * pada header tablet/mobile.
 */
.header-section.header-sticky
.col-auto.d-flex {
  margin-right: 0 !important;
}

/* Sticky state */

.header-section.header-sticky.is-sticky .row {
  min-height: 72px;
}

.header-section.header-sticky.is-sticky
.main-menu nav > ul > li > a {
  line-height: 72px;
}

.header-section.header-sticky.is-sticky
.header-logo {
  width: 185px;
}

.header-section.header-sticky.is-sticky
.header-logo img {
  max-width: 185px;
  max-height: 41px;
}

/* Tablet */

@media (max-width: 991.98px) {
  .header-section.header-sticky .row {
    min-height: 72px;
  }

  .header-section.header-sticky .header-logo {
    width: 170px;
    max-width: 170px;
  }

  .header-section.header-sticky
  .header-logo img {
    max-width: 170px;
    max-height: 40px;
  }

  .header-section.header-sticky
  .header-action {
    gap: 19px;
  }

  .header-section.header-sticky
  .header-user a i,
  .header-section.header-sticky
  .offcanvas-cart-toggle .icon i {
    font-size: 22px;
  }

  .header-section.header-sticky
  .offcanvas-cart-toggle .text {
    display: none;
  }
}

/* Mobile */

@media (max-width: 575.98px) {
  .header-section.header-sticky .row {
    min-height: 66px;
  }

  .header-section.header-sticky .header-logo {
    width: 142px;
    max-width: 142px;
  }

  .header-section.header-sticky
  .header-logo img {
    max-width: 142px;
    max-height: 35px;
  }

  .header-section.header-sticky
  .header-action {
    gap: 15px;
  }

  .header-section.header-sticky
  .header-user a i,
  .header-section.header-sticky
  .offcanvas-cart-toggle .icon i {
    font-size: 21px;
  }

  .header-section.header-sticky
  .mobile-menu-toggle {
    width: 23px;
    height: 18px;
  }
}

/* =========================================================
   HOME — STATIC HERO
========================================================= */

.home-hero__single {
  position: relative;
  display: block;
  width: 100%;
}

.home-hero__single .home-hero__item {
  display: flex;
  width: 100%;
}

/* =========================================================
   HOME — MOBILE CATEGORY IMAGE
========================================================= */

@media (max-width: 767.98px) {
  .home-category-card__media {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10;

    overflow: hidden;
    background: #ffffff;
  }

  .home-category-card__media img {
    display: block;

    width: 100% !important;
    height: 100% !important;
    max-width: 100%;

    object-fit: contain !important;
    object-position: center !important;
  }
}

/* =========================================================
   HOME — CATEGORY TO REQUEST SPACING
========================================================= */

.home-categories + .home-request-section {
  margin-top: 90px;
}

@media (max-width: 767.98px) {
  .home-categories + .home-request-section {
    margin-top: 56px;
  }
}

/* =========================================================
   HOME — STATIC HERO
========================================================= */

.home-hero__single {
  position: relative;
  display: block;
  width: 100%;
}

.home-hero__single .home-hero__item {
  display: flex;
  width: 100%;
}

/* =========================================================
   KURASIAPPLE HOME — FINAL LAYOUT REFINEMENT
========================================================= */


/* =========================================================
   1. HERO FULL BLEED
========================================================= */

.home-hero {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.home-hero > .container-fluid {
  width: 100%;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home-hero__single {
  width: 100%;
  margin: 0;
  padding: 0;
}

.home-hero__single .home-hero__item {
  position: relative;

  display: flex !important;
  align-items: center;

  width: 100%;
  min-height: 680px;

  margin: 0;
  padding: 0;

  overflow: hidden;

  border: 0 !important;
  border-radius: 0 !important;

  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
}

/*
 * Gradasi tipis agar teks tetap terbaca
 * tanpa memakai kotak putih.
 */
.home-hero__single .home-hero__item::before {
  content: "";

  position: absolute;
  z-index: 1;
  inset: 0;

  pointer-events: none;

  background:
          linear-gradient(
                  90deg,
                  rgba(255, 255, 255, 0.98) 0%,
                  rgba(255, 255, 255, 0.94) 27%,
                  rgba(255, 255, 255, 0.68) 42%,
                  rgba(255, 255, 255, 0.15) 62%,
                  rgba(255, 255, 255, 0) 76%
          );
}


/* =========================================================
   2. HILANGKAN BOX PUTIH HERO
========================================================= */

.home-hero__content {
  position: relative;
  z-index: 2;

  display: block !important;

  width: 100%;
  max-width: 720px;

  margin: 0 !important;
  padding:
          clamp(72px, 8vw, 120px)
          clamp(40px, 9vw, 150px) !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.home-hero__content > * {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.home-hero__content .title {
  max-width: 590px;
}

.home-hero__lead {
  max-width: 560px;
}


/* =========================================================
   3. TRUST SECTION
========================================================= */

.home-trust {
  position: relative;
  z-index: 3;
}

@media (max-width: 767.98px) {
  .home-trust {
    padding-top: 20px !important;
    padding-bottom: 44px !important;
  }

  .home-trust > .container-fluid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /*
   * Semua benefit menjadi satu panel 2 × 2.
   * Tidak lagi terlihat seperti empat box terpisah.
   */
  .home-trust__grid {
    display: grid !important;
    grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

    gap: 0 !important;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e5e7eb;
    border-radius: 20px;

    box-shadow:
            0 14px 40px rgba(15, 23, 42, 0.05);
  }

  .home-trust__item {
    display: flex !important;
    align-items: flex-start !important;

    min-width: 0;

    gap: 10px !important;

    margin: 0 !important;
    padding: 17px 14px !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
  }

  .home-trust__item:nth-child(odd) {
    border-right:
            1px solid #e5e7eb !important;
  }

  .home-trust__item:nth-child(-n + 2) {
    border-bottom:
            1px solid #e5e7eb !important;
  }

  .home-trust__icon {
    flex: 0 0 34px;

    width: 34px !important;
    height: 34px !important;

    margin: 0 !important;
  }

  .home-trust__icon svg {
    width: 18px;
    height: 18px;
  }

  .home-trust__item h3 {
    margin: 1px 0 5px;

    font-size: 14px;
    line-height: 1.25;
  }

  .home-trust__item p {
    margin: 0;

    font-size: 12px;
    line-height: 1.45;
  }
}


/* =========================================================
   4. REQUEST → TIPS & GUIDE SPACING
========================================================= */

.home-request-section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.home-guides {
  margin-top: 0 !important;
  padding-top: 68px !important;
}

@media (max-width: 767.98px) {
  .home-request-section {
    padding-bottom: 0 !important;
  }

  .home-request {
    min-height: auto !important;

    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }

  .home-guides {
    padding-top: 42px !important;
  }
}


/* =========================================================
   5. HERO MOBILE
========================================================= */

@media (max-width: 767.98px) {
  .home-hero__single .home-hero__item {
    min-height: 560px;

    background-position: 68% center;
  }

  .home-hero__single .home-hero__item::before {
    background:
            linear-gradient(
                    90deg,
                    rgba(255, 255, 255, 0.98) 0%,
                    rgba(255, 255, 255, 0.94) 48%,
                    rgba(255, 255, 255, 0.64) 72%,
                    rgba(255, 255, 255, 0.12) 100%
            );
  }

  .home-hero__content {
    max-width: 88%;

    padding:
            56px
            24px !important;
  }

  .home-hero__content .title {
    max-width: 420px;
  }

  .home-hero__lead {
    max-width: 390px;
  }

  .home-hero__actions {
    display: flex;
    flex-wrap: wrap;

    gap: 10px;
  }
}


/* =========================================================
   6. EXTRA SMALL MOBILE
========================================================= */

@media (max-width: 379.98px) {
  .home-trust__item {
    gap: 8px !important;

    padding:
            15px
            11px !important;
  }

  .home-trust__icon {
    flex-basis: 30px;

    width: 30px !important;
    height: 30px !important;
  }

  .home-trust__item h3 {
    font-size: 13px;
  }

  .home-trust__item p {
    font-size: 11px;
  }
}

/* =========================================================
   HOME — PRODUCT SELECTION
========================================================= */

.home-products__grid > [class*="col-"] {
  display: flex;
}

.home-products .home-product-card {
  display: flex;
  flex-direction: column;

  width: 100%;
  height: 100%;
}

.home-products .home-product-card__image {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  aspect-ratio: 4 / 3;

  overflow: hidden;

  background: #f7f7f7;
}

.home-products .home-product-card__image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
  object-position: center;
}

.home-products .home-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.home-products .home-product-card__meta {
  margin-top: auto;
}

.home-product-card__variant {
  margin: 6px 0 14px;

  color: #6b7280;

  font-size: 14px;
  line-height: 1.5;
}

/* =========================================================
   HOME PRODUCTS — FINAL GRID & MOBILE SLIDER
========================================================= */

.home-products__grid > [class*="col-"] {
  display: flex;
}

.home-products .home-product-card {
  display: flex;
  flex-direction: column;

  width: 100%;
  height: 100%;
}

.home-products .home-product-card__image {
  position: relative;

  display: block;

  width: 100%;
  aspect-ratio: 4 / 3;

  overflow: hidden;

  background: #f3f4f6;
}

.home-products .home-product-card__image img {
  display: block;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;
}

.home-products .home-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.home-products .home-product-card__meta {
  margin-top: auto;
}

.home-products__dots {
  display: none;
}


/* =========================================================
   MOBILE PRODUCT SLIDER
========================================================= */

@media (max-width: 767.98px) {

  .home-products .container {
    overflow: hidden;
  }

  .home-products__grid.js-home-products-slider {
    display: flex !important;
    flex-wrap: nowrap !important;

    gap: 14px;

    width: auto;

    margin-top: 0 !important;
    margin-right: -15px !important;
    margin-bottom: 0 !important;
    margin-left: -15px !important;

    padding:
            0
            15px
            10px !important;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 15px;

    overscroll-behavior-x: contain;

    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
  }

  .home-products__grid.js-home-products-slider::-webkit-scrollbar {
    display: none;
  }

  .home-products__grid.js-home-products-slider > [class*="col-"] {
    display: block !important;

    flex:
            0
            0
            calc(100% - 44px) !important;

    width:
            calc(100% - 44px) !important;

    max-width:
            calc(100% - 44px) !important;

    margin: 0 !important;
    padding: 0 !important;

    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .home-products .home-product-card {
    height: 100%;
  }

  /*
   * Dibuat square supaya gambar produk terasa
   * lebih dominan pada card mobile.
   */
  .home-products .home-product-card__image {
    aspect-ratio: 1 / 1;
  }

  .home-products .home-product-card__image img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
  }

  .home-products__dots {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    min-height: 26px;

    margin-top: 16px;
  }

  .home-products__dot {
    display: block;

    width: 8px;
    height: 8px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 999px;

    background: #d1d5db;

    transition:
            width 180ms ease,
            background-color 180ms ease;
  }

  .home-products__dot.is-active {
    width: 24px;

    background: #111111;
  }
}

/* =========================================================
   HOME TIPS & GUIDE — MOBILE SLIDER
========================================================= */

.home-guides .home-guide-card {
  width: 100%;
  height: 100%;
}

.home-guides .home-guide-card__image {
  display: block;

  width: 100%;
  aspect-ratio: 16 / 10;

  overflow: hidden;

  background: #f3f4f6;
}

.home-guides .home-guide-card__image img {
  display: block;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;
}

@media (max-width: 767.98px) {

  .home-guides .container {
    overflow: hidden;
  }

  .home-guides__track {
    display: flex !important;
    flex-wrap: nowrap !important;

    gap: 14px;

    width: auto;

    margin-right: -15px !important;
    margin-bottom: 0 !important;
    margin-left: -15px !important;

    padding:
            0
            15px
            10px !important;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 15px;

    overscroll-behavior-x: contain;
    scrollbar-width: none;

    -webkit-overflow-scrolling: touch;
  }

  .home-guides__track::-webkit-scrollbar {
    display: none;
  }

  .home-guides__track > [class*="col-"] {
    display: block !important;

    flex:
            0
            0
            calc(100% - 44px) !important;

    width:
            calc(100% - 44px) !important;

    max-width:
            calc(100% - 44px) !important;

    margin: 0 !important;
    padding: 0 !important;

    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .home-guides .home-guide-card {
    display: flex;
    flex-direction: column;

    height: 100%;
  }

  .home-guides .home-guide-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
  }

  .home-guides .home-guide-card__link {
    margin-top: auto;
  }
}

/* =========================================================
   HOME GUIDE — SEE ALL LINK
========================================================= */

.home-guides__see-all {
  display: block;
  width: 100%;

  margin-top: 22px;

  text-align: center;
}

.home-guides__see-all .link-see-all {
  display: inline-block;
}

@media (max-width: 767.98px) {
  .home-guides__see-all {
    margin-top: 18px;
    padding: 0 15px;
  }
}




/* ==========================================================================
   KURASIAPPLE — BRAND ACCENT TRIAL
   Scope awal: Header + Homepage

   Brand gold utama:
   #ddba7c

   Gold hanya menjadi aksen identitas.
   Background, teks, dan CTA utama tetap netral.
   ========================================================================== */

:root {
  --ka-brand-ink: #242426;
  --ka-brand-charcoal: #353538;

  /* Brand gold utama sesuai logo */
  --ka-brand-gold: #ddba7c;

  /*
   * Versi lebih gelap hanya untuk teks dan state
   * yang membutuhkan kontras lebih baik.
   */
  --ka-brand-gold-dark: #9a7137;
  --ka-brand-gold-hover: #cda663;
  --ka-brand-gold-soft: #fbf5e9;

  --ka-brand-cream: #fbfaf7;
  --ka-brand-line: #e9e4da;
  --ka-brand-muted: #6f7074;
}


/* ==========================================================================
   HOMEPAGE COLOUR SYSTEM
   Nama variabel lama tetap dipertahankan agar selector homepage
   yang sudah ada tidak perlu ditulis ulang.
   ========================================================================== */

.home-modern {
  --home-ink: var(--ka-brand-ink);
  --home-muted: var(--ka-brand-muted);
  --home-line: var(--ka-brand-line);

  --home-surface: #ffffff;
  --home-soft: #f7f6f3;

  --home-blue: var(--ka-brand-gold);
  --home-blue-hover: var(--ka-brand-gold-hover);

  color: var(--home-ink);
  background: #ffffff;
}


/* ==========================================================================
   SECTION LABEL & TEXT LINK
   ========================================================================== */

.home-section__eyebrow,
.home-eyebrow {
  color: var(--ka-brand-gold-dark);
}

.home-text-link:hover,
.home-text-link:focus {
  color: var(--ka-brand-gold-dark);
  border-color: currentColor;
}


/* ==========================================================================
   HERO BUTTONS
   Primary tetap charcoal agar CTA kuat.
   Gold muncul pada hover sebagai brand accent.
   ========================================================================== */

.home-btn--primary {
  color: #ffffff;
  background: var(--ka-brand-ink);
  border-color: var(--ka-brand-ink);
  box-shadow: 0 8px 24px rgba(36, 36, 38, .16);
}

.home-btn--primary:hover,
.home-btn--primary:focus {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
  border-color: var(--ka-brand-gold);
  box-shadow: 0 10px 28px rgba(221, 186, 124, .28);
}

.home-btn--secondary {
  color: var(--ka-brand-ink);
  background: rgba(255, 255, 255, .84);
  border-color: rgba(36, 36, 38, .16);
}

.home-btn--secondary:hover,
.home-btn--secondary:focus {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold-soft);
  border-color: rgba(221, 186, 124, .72);
}


/* ==========================================================================
   HERO SLIDER DOTS
   ========================================================================== */

.home-hero__slider .slick-dots .slick-active button {
  background: var(--ka-brand-gold);
}


/* ==========================================================================
   TRUST SECTION
   ========================================================================== */

.home-trust__icon {
  color: var(--ka-brand-gold-dark);
  background: var(--ka-brand-gold-soft);
}


/* ==========================================================================
   CATEGORY CARDS
   Card tetap putih.
   Gold hanya muncul saat interaksi.
   ========================================================================== */

.home-category-card:hover {
  border-color: rgba(221, 186, 124, .58);
  box-shadow: 0 24px 65px rgba(36, 36, 38, .08);
}

.home-category-card:hover .home-arrow {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
  border-color: var(--ka-brand-gold);
}


/* ==========================================================================
   PRODUCT CARDS
   Harga tetap hitam agar hierarchy tetap kuat.
   ========================================================================== */

.home-product-card:hover {
  border-color: rgba(221, 186, 124, .58);
}

.home-product-card__badge {
  color: #765527;
  background: rgba(251, 245, 233, .94);
  border-color: rgba(221, 186, 124, .68);
}

.home-product-card__body h3 a:hover {
  color: var(--ka-brand-gold-dark);
}

.home-product-card__meta > a:hover {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}


/* ==========================================================================
   GUIDE / BLOG CARDS
   ========================================================================== */

.home-guide-card:hover {
  border-color: rgba(221, 186, 124, .58);
}

.home-guide-card__body h3 a:hover,
.home-guide-card__link:hover {
  color: var(--ka-brand-gold-dark);
}


/* ==========================================================================
   HEADER DESKTOP
   Header tetap putih.
   Gold muncul pada active dan hover.
   ========================================================================== */

.main-menu nav > ul > li:hover > a,
.main-menu nav > ul > li.active > a {
  color: var(--ka-brand-gold-dark);
}

.main-menu nav > ul > li .sub-menu li:hover > a,
.main-menu nav > ul > li .sub-menu li.current > a,
.mega-menu > li > ul > li.current > a {
  color: var(--ka-brand-gold-dark);
}


/* Dropdown lebih clean dan senada */

.main-menu nav > ul > li .sub-menu,
.mega-menu {
  border: 1px solid var(--ka-brand-line);
  box-shadow: 0 16px 40px rgba(36, 36, 38, .10);
}


/* ==========================================================================
   HEADER ICONS & CART BADGE
   ========================================================================== */

.header-user a:hover,
.offcanvas-cart-toggle:hover,
.offcanvas-cart-toggle:focus {
  color: var(--ka-brand-gold-dark);
}

.offcanvas-cart-toggle .icon .count {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}


/* ==========================================================================
   MOBILE MENU
   ========================================================================== */

.mobile-menu-toggle:hover i,
.mobile-menu-toggle:hover i::before,
.mobile-menu-toggle:hover i::after {
  background-color: var(--ka-brand-gold);
}

.offcanvas-navigation > ul > li.current > a,
.offcanvas-navigation .sub-menu > li.current > a {
  color: var(--ka-brand-gold-dark);
}

.offcanvas-menu-close {
  background-color: var(--ka-brand-ink);
}


/* ==========================================================================
   HOMEPAGE ACCESSIBILITY / KEYBOARD FOCUS
   ========================================================================== */

.home-modern a:focus-visible,
.home-modern button:focus-visible {
  outline: 2px solid var(--ka-brand-gold);
  outline-offset: 3px;
}

/* ==========================================================================
   KURASIAPPLE — BRAND ACCENT BATCH 2
   Scope: Product Catalog + Product Detail

   Gold utama : #ddba7c
   Gold digunakan untuk aksen dan selected state.
   CTA utama tetap charcoal agar hierarchy tetap kuat.
   ========================================================================== */


/* ==========================================================================
   PRODUCT CATALOG — VIEW & SORTING
   ========================================================================== */

.product-view-mode button {
  color: #77797d;
}

.product-view-mode button:hover,
.product-view-mode button.active {
  color: var(--ka-brand-gold-dark, #9a7137);
}


/* Select sorting tetap putih dan netral */

.product-short .nice-select:hover,
.product-short .nice-select.open {
  border-color: var(--ka-brand-gold, #ddba7c);
}

.product-short .nice-select.open {
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .16);
}


/* ==========================================================================
   PRODUCT CATALOG — CARD
   Gold hanya muncul secara halus saat card di-hover.
   ========================================================================== */

.shop-product-wrap .product .image-action .image {
  transition:
          box-shadow .22s ease,
          transform .22s ease;
}

.shop-product-wrap .product:hover .image-action .image {
  box-shadow:
          0 0 0 1px
          rgba(221, 186, 124, .58);
}


/* Judul produk */

.product-card-title a:hover,
.shop-product-wrap .product .content .title a:hover {
  color: var(--ka-brand-gold-dark, #9a7137);
}


/* Harga tetap gelap agar mudah dibaca */

.product-card-price,
.shop-product-wrap .product .content .price {
  color: var(--ka-brand-ink, #242426);
}


/* ==========================================================================
   PRODUCT CATALOG — LABEL & WISHLIST
   ========================================================================== */

/* Label umum tetap charcoal */

.shop-product-wrap .product .image-action .labels .label {
  color: #ffffff;
  background: var(--ka-brand-ink, #242426);
}


/* Wishlist menjadi elemen aksen */

.shop-product-wrap .product .image-action .wishlist-btn:hover,
.shop-product-wrap .product .image-action .wishlist-btn.active,
.product-2 .image-action .wishlist-btn:hover,
.product-2 .image-action .wishlist-btn.active {
  color: var(--ka-brand-gold-dark, #9a7137);
}


/* ==========================================================================
   PRODUCT CATALOG — QUICK ACTION
   Quick action memakai charcoal, bukan gold.
   ========================================================================== */

.shop-product-wrap
.product
.image-action
.action
.action-btn:hover,

.shop-product-wrap
.product
.image-action
.action
.action-btn.active,

.shop-product-wrap
.product
.content
.action
.action-btn:hover,

.shop-product-wrap
.product
.content
.action
.action-btn.active {
  color: #ffffff;
  background: var(--ka-brand-ink, #242426);
}


/* Separator quick action dibuat warm-grey */

.shop-product-wrap
.product
.image-action
.action
.action-btn + .action-btn,

.shop-product-wrap
.product
.content
.action
.action-btn + .action-btn {
  border-left-color: var(--ka-brand-line, #e9e4da);
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.page-pagination ul li a {
  color: #ffffff;
  background: var(--ka-brand-ink, #242426);
}

.page-pagination ul li a:hover {
  color: var(--ka-brand-ink, #242426);
  background: var(--ka-brand-gold, #ddba7c);
}

.page-pagination ul li.active,
.page-pagination ul li.active a {
  color: var(--ka-brand-ink, #242426);
  background: var(--ka-brand-gold, #ddba7c);
}


/* ==========================================================================
   PRODUCT DETAIL — GALLERY
   ========================================================================== */

/* Thumbnail aktif menggunakan gold sebagai selected state */

.product-detail-kurasi
.single-product-thumb
.slick-slide.slick-current {
  border-color: var(--ka-brand-gold, #ddba7c);
}


/* Arrow tetap putih, gold hanya pada hover */

.product-detail-kurasi
.single-product-thumb
.slick-arrow:hover {
  color: var(--ka-brand-ink, #242426);
  border-color: var(--ka-brand-gold, #ddba7c);
  background: var(--ka-brand-gold-soft, #fbf5e9);
}


/* ==========================================================================
   PRODUCT DETAIL — VARIANT PICKER
   ========================================================================== */

.product-detail-kurasi
.lpro-variant-current:hover {
  border-color: rgba(154, 113, 55, .55);
}

.product-detail-kurasi
.lpro-variant-picker.is-open
.lpro-variant-current {
  border-color: var(--ka-brand-gold-dark, #9a7137);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .17);
}


/* Option hover tetap neutral */

.product-detail-kurasi
.lpro-variant-option:hover {
  color: var(--ka-brand-ink, #242426);
  background: #f6f5f2;
}


/* Selected option memakai gold-soft */

.product-detail-kurasi
.lpro-variant-option.is-active {
  color: var(--ka-brand-ink, #242426);
  background: var(--ka-brand-gold-soft, #fbf5e9);
}

.product-detail-kurasi
.lpro-variant-check {
  color: var(--ka-brand-gold-dark, #9a7137);
}


/* ==========================================================================
   PRODUCT DETAIL — QUANTITY
   ========================================================================== */

.product-detail-kurasi
.product-detail-qty {
  transition:
          border-color .2s ease,
          box-shadow .2s ease;
}

.product-detail-kurasi
.product-detail-qty:focus-within {
  border-color: var(--ka-brand-gold, #ddba7c);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .16);
}

.product-detail-kurasi
.product-detail-qty button:hover:not(:disabled) {
  color: var(--ka-brand-ink, #242426);
  background: var(--ka-brand-gold-soft, #fbf5e9);
}


/* ==========================================================================
   PRODUCT DETAIL — MAIN CTA
   Add to cart tetap charcoal.
   Gold baru muncul saat hover.
   ========================================================================== */

.product-detail-kurasi
.product-detail-cart-btn {
  color: #ffffff;
  border-color: var(--ka-brand-ink, #242426);
  background: var(--ka-brand-ink, #242426);
  box-shadow:
          0 8px 22px
          rgba(36, 36, 38, .14);
}

.product-detail-kurasi
.product-detail-cart-btn:hover:not(:disabled),
.product-detail-kurasi
.product-detail-cart-btn:focus:not(:disabled) {
  color: var(--ka-brand-ink, #242426);
  border-color: var(--ka-brand-gold, #ddba7c);
  background: var(--ka-brand-gold, #ddba7c);
  box-shadow:
          0 10px 26px
          rgba(221, 186, 124, .27);
}


/* Disabled tetap abu-abu */

.product-detail-kurasi
.product-detail-cart-btn:disabled {
  color: #8c9299;
  border-color: #e8eaed;
  background: #e8eaed;
  box-shadow: none;
}


/* ==========================================================================
   PRODUCT DETAIL — SHARE
   ========================================================================== */

.product-detail-kurasi
.product-detail-share-btn:hover {
  color: var(--ka-brand-ink, #242426);
  border-color: var(--ka-brand-gold, #ddba7c);
  background: var(--ka-brand-gold-soft, #fbf5e9);
}

.product-detail-kurasi
.lpro-share-product__option:hover {
  color: var(--ka-brand-gold-dark, #9a7137);
  background: var(--ka-brand-gold-soft, #fbf5e9);
}


/* ==========================================================================
   PRODUCT DETAIL — INFORMATION LINKS
   ========================================================================== */

.product-detail-kurasi
.single-product-content > .desc:last-child a:hover {
  color: var(--ka-brand-gold-dark, #9a7137);
}


/* ==========================================================================
   PRODUCT DETAIL — TABS
   ========================================================================== */

.product-detail-kurasi
.single-product-tab-list li a:hover {
  color: var(--ka-brand-gold-dark, #9a7137);
}

.product-detail-kurasi
.single-product-tab-list li a.active {
  color: var(--ka-brand-ink, #242426);
  border-bottom-color: var(--ka-brand-gold, #ddba7c);
}


/* ==========================================================================
   PRODUCT DETAIL — CART ADDED MODAL
   Success icon tetap hijau karena merupakan status.
   CTA modal mengikuti hierarchy detail produk.
   ========================================================================== */

.lpro-cart-added-btn--primary {
  color: #ffffff;
  border-color: var(--ka-brand-ink, #242426);
  background: var(--ka-brand-ink, #242426);
}

.lpro-cart-added-btn--primary:hover,
.lpro-cart-added-btn--primary:focus {
  color: var(--ka-brand-ink, #242426);
  border-color: var(--ka-brand-gold, #ddba7c);
  background: var(--ka-brand-gold, #ddba7c);
}

.lpro-cart-added-btn--ghost:hover {
  color: var(--ka-brand-ink, #242426);
  border-color: rgba(221, 186, 124, .66);
  background: var(--ka-brand-gold-soft, #fbf5e9);
}


/* ==========================================================================
   PRODUCT DETAIL — ACCESSIBILITY
   ========================================================================== */

.product-detail-kurasi a:focus-visible,
.product-detail-kurasi button:focus-visible {
  outline: 2px solid var(--ka-brand-gold, #ddba7c) !important;
  outline-offset: 3px;
}

/* ==========================================================================
   KURASIAPPLE — FINAL BRAND ALIGNMENT
   Scope:
   - Legacy/global components
   - Cart
   - Offcanvas cart
   - Checkout
   - Authentication
   - My Account
   - Order history
   - Blog and widgets
   - Subscribe
   - Footer

   Brand gold utama: #ddba7c

   Prinsip:
   - Gold = aksen identitas
   - Charcoal = CTA utama
   - Putih/warm grey = permukaan utama
   - Warna status tetap semantik
   ========================================================================== */

:root {
  --ka-brand-ink: #242426;
  --ka-brand-charcoal: #353538;

  --ka-brand-gold: #ddba7c;
  --ka-brand-gold-dark: #9a7137;
  --ka-brand-gold-strong: #765126;
  --ka-brand-gold-hover: #cda663;
  --ka-brand-gold-soft: #fbf5e9;

  --ka-brand-cream: #fbfaf7;
  --ka-brand-line: #e9e4da;
  --ka-brand-muted: #6f7074;

  /* Account aliases */
  --ka-account-blue: var(--ka-brand-gold-dark);
  --ka-account-blue-dark: var(--ka-brand-gold-strong);
}


/* ==========================================================================
   GLOBAL LEGACY BUTTONS
   ========================================================================== */

/*
 * CTA lama yang sebelumnya biru dibuat charcoal.
 * Gold muncul saat hover.
 */

.action-cart-cta,
.action-checkout,
.canvas-checkout-btn,
.place-order-btn {
  color: #ffffff;
  background: var(--ka-brand-ink);
  border-color: var(--ka-brand-ink);
  box-shadow: none;
}

.action-cart-cta:hover,
.action-checkout:hover,
.canvas-checkout-btn:hover,
.place-order-btn:hover:not(:disabled) {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 10px 26px
          rgba(221, 186, 124, .24);
  transform: translateY(-1px);
}

.action-cart-cta:active,
.action-checkout:active,
.canvas-checkout-btn:active,
.place-order-btn:active:not(:disabled) {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold-hover);
  border-color: var(--ka-brand-gold-hover);
  transform: translateY(0);
}


/* Secondary button tetap terang */

.secondary-btn {
  color: var(--ka-brand-ink);
  background: #ffffff;
  border-color: rgba(36, 36, 38, .35);
}

.secondary-btn:hover,
.secondary-btn:focus {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold-soft);
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 7px 18px
          rgba(221, 186, 124, .18);
}

.secondary-btn:active {
  color: var(--ka-brand-ink);
  background: #f5ead7;
  border-color: var(--ka-brand-gold-hover);
}

.btn-white:hover,
.btn-white:focus {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}


/* ==========================================================================
   GLOBAL FORM FOCUS
   ========================================================================== */

input:not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
.nice-select.open {
  border-color: var(--ka-brand-gold) !important;
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .16);
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--ka-brand-gold-dark);
}


/* ==========================================================================
   LEGACY COMPONENT ACCENTS
   ========================================================================== */

.accordion
.card
.card-header
[data-toggle="collapse"]::after,

.list-bullet li::before,
.list-check-square-o li::before,
.skill .text .value,
blockquote::before {
  color: var(--ka-brand-gold-dark);
}

.nav-tabs
.nav-item
.nav-link::before,

.skill .progress .progress-bar {
  background-color: var(--ka-brand-gold);
}


/* Verification and forgot-password links */

.resend-verify-text .resend-link,
.forgot-link {
  color: var(--ka-brand-gold-dark);
}

.resend-verify-text .resend-link:hover,
.forgot-link:hover {
  color: var(--ka-brand-gold-strong);
}


/* Default address badge */

.addr-default-badge {
  color: var(--ka-brand-gold-strong);
  background: var(--ka-brand-gold-soft);
  border: 1px solid rgba(221, 186, 124, .46);
}


/* SweetAlert question icon */

.swal2-icon.swal2-question {
  color: var(--ka-brand-gold-dark) !important;
  border-color: var(--ka-brand-gold) !important;
}


/* ==========================================================================
   CART PAGE
   ========================================================================== */

.cart-page {
  --ka-cart-ink: var(--ka-brand-ink);
  --ka-cart-muted: var(--ka-brand-muted);
  --ka-cart-line: var(--ka-brand-line);
  --ka-cart-soft: #f8f7f4;

  /*
   * Nama variabel dipertahankan supaya selector cart lama
   * otomatis mengikuti identitas baru.
   */
  --ka-cart-blue: var(--ka-brand-gold-dark);
  --ka-cart-blue-hover: var(--ka-brand-gold-strong);
}


/* Empty cart icon */

.cart-page .cart-empty-state__icon {
  color: var(--ka-brand-gold-dark);
  background: var(--ka-brand-gold-soft);
}


/* Product links */

.cart-page .cart-table td > a:hover,
.cart-page .cart-title:hover {
  color: var(--ka-brand-gold-dark);
}


/* Quantity focus */

.cart-page .cart-qty-control:focus-within {
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .15);
}

.cart-page .cart-qty-btn:hover:not(:disabled) {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold-soft);
}


/* Continue shopping */

.cart-action-link--continue {
  color: var(--ka-brand-gold-dark);
}

.cart-action-link--continue:hover {
  color: var(--ka-brand-gold-strong);
}


/* Voucher */

.cart-voucher-control:focus-within {
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .15);
}

.cart-voucher-apply-btn {
  color: #ffffff;
  background: var(--ka-brand-ink);
}

.cart-voucher-apply-btn:hover,
.cart-voucher-apply-btn:focus {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}

.cart-page .cart-voucher-remove-link:hover {
  color: var(--ka-brand-gold-dark);
}


/* Main checkout buttons */

.cart-page
.cart-summary-button
.cart-checkout-primary,

.cart-page
.cart-mobile-checkout-btn {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
}

.cart-page
.cart-summary-button
.cart-checkout-primary:hover,

.cart-page
.cart-summary-button
.cart-checkout-primary:focus,

.cart-page
.cart-mobile-checkout-btn:hover,

.cart-page
.cart-mobile-checkout-btn:focus {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* Cart summary */

.cart-page
.cart-summary
.cart-summary-wrap {
  border-color: var(--ka-brand-line);
  background:
          linear-gradient(
                  180deg,
                  #faf9f7 0%,
                  #f7f6f3 100%
          );
}


/* Cart mobile bottom bar */

.cart-page .checkout-bar,
.cart-page .checkout-floatbar {
  border-top-color: var(--ka-brand-line);
}


/* ==========================================================================
   OFFCANVAS CART
   ========================================================================== */

.kurasi-offcanvas-item__title:hover {
  color: var(--ka-brand-gold-dark);
}

.kurasi-offcanvas-empty__icon {
  color: var(--ka-brand-gold-dark);
  background: var(--ka-brand-gold-soft);
}

.offcanvas-cart-section
.kurasi-offcanvas-primary {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
  box-shadow:
          0 10px 24px
          rgba(36, 36, 38, .16);
}

.offcanvas-cart-section
.kurasi-offcanvas-primary:hover {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
  box-shadow:
          0 13px 28px
          rgba(221, 186, 124, .24);
}

.kurasi-offcanvas-secondary:hover {
  color: var(--ka-brand-gold-dark);
}


/* ==========================================================================
   CART LOGIN POPUP
   ========================================================================== */

.cart-login-popup__icon {
  color: var(--ka-brand-gold-dark);
  background: var(--ka-brand-gold-soft);
}

.cart-login-popup__primary {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
}

.cart-login-popup__primary:hover,
.cart-login-popup__primary:focus {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}

.cart-login-popup__link:hover {
  color: var(--ka-brand-gold-dark);
}


/* ==========================================================================
   CHECKOUT
   ========================================================================== */

.checkout-kurasi-page {
  background: #ffffff;
}

.checkout-kurasi-step {
  color: var(--ka-brand-gold-dark);
}

.checkout-kurasi-link:hover {
  color: var(--ka-brand-gold-dark);
}


/* Selected address */

.checkout-kurasi-address
> input:checked
+ .checkout-kurasi-address__box {
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold-soft);
  box-shadow:
          0 0 0 1px
          var(--ka-brand-gold);
}

.checkout-kurasi-address
> input:checked
+ .checkout-kurasi-address__box
.checkout-kurasi-address__check {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* Default address label */

.checkout-kurasi-address__top em {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}


/* Shipping selected */

.checkout-shipping-option
> input:checked
+ .checkout-shipping-box {
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold-soft);
  box-shadow:
          0 0 0 1px
          var(--ka-brand-gold);
}


/* Payment information */

.checkout-kurasi-payment-note__icon {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}


/* Checkout buttons */

.checkout-kurasi-primary-btn,
.checkout-kurasi-summary .place-order-btn,
.checkout-mobile-submit-btn {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
}

.checkout-kurasi-primary-btn:hover,
.checkout-kurasi-primary-btn:focus,
.checkout-kurasi-summary
.place-order-btn:hover:not(:disabled),
.checkout-mobile-submit-btn:hover:not(:disabled),
.checkout-mobile-submit-btn:focus:not(:disabled) {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}

.checkout-kurasi-secondary-btn:hover:not(:disabled) {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold-soft);
}


/* Checkout keyboard focus */

.checkout-kurasi-page a:focus-visible,
.checkout-kurasi-page button:focus-visible,
.checkout-kurasi-page input:focus-visible {
  outline: 2px solid var(--ka-brand-gold) !important;
  outline-offset: 3px;
}


/* ==========================================================================
   AUTHENTICATION
   Login, register, forgot password, verification
   ========================================================================== */

.kurasi-auth-page {
  background:
          radial-gradient(
                  circle at top right,
                  rgba(221, 186, 124, .15),
                  transparent 34%
          ),
          #f8f7f4;
}


/* Eyebrow */

.kurasi-auth-eyebrow {
  color: var(--ka-brand-gold-strong);
  background: var(--ka-brand-gold-soft);
}


/* Inputs */

.kurasi-auth-field
input:not([type="checkbox"]):focus {
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 0 0 4px
          rgba(221, 186, 124, .16);
}


/* Password visibility button */

.kurasi-auth-password-toggle:hover {
  color: var(--ka-brand-gold-dark);
  background: var(--ka-brand-gold-soft);
}


/* Checkbox */

.kurasi-auth-check input {
  accent-color: var(--ka-brand-gold-dark);
}


/* Links */

.kurasi-auth-link,
.kurasi-auth-footer a,
.kurasi-auth-text-button {
  color: var(--ka-brand-gold-dark);
}

.kurasi-auth-link:hover,
.kurasi-auth-footer a:hover,
.kurasi-auth-text-button:hover {
  color: var(--ka-brand-gold-strong);
}


/* Submit */

.kurasi-auth-submit {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
}

.kurasi-auth-submit:hover,
.kurasi-auth-submit:focus {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* Auth icon */

.kurasi-auth-icon {
  color: var(--ka-brand-gold-dark);
  background: var(--ka-brand-gold-soft);
}


/* Verification resend and account note */

.kurasi-auth-resend,
.kurasi-auth-account-note {
  border-color: rgba(221, 186, 124, .48);
  background: var(--ka-brand-gold-soft);
}


/* Register aside remains dark */

.kurasi-auth-aside {
  background:
          linear-gradient(
                  180deg,
                  #1c1c1e 0%,
                  #272729 52%,
                  #303033 100%
          );
}

.kurasi-auth-aside::before {
  background:
          radial-gradient(
                  circle at 82% 18%,
                  rgba(221, 186, 124, .16),
                  transparent 24%
          ),
          radial-gradient(
                  circle at 14% 86%,
                  rgba(255, 255, 255, .05),
                  transparent 25%
          );
}

.kurasi-auth-aside-label,
.kurasi-auth-aside li i {
  color: var(--ka-brand-gold);
}


/* ==========================================================================
   MY ACCOUNT — VARIABLES
   ========================================================================== */

:root {
  --ka-account-bg: #f7f6f3;
  --ka-account-card: #ffffff;
  --ka-account-text: var(--ka-brand-ink);
  --ka-account-muted: var(--ka-brand-muted);
  --ka-account-line: var(--ka-brand-line);
  --ka-account-soft: #f7f6f3;

  --ka-account-blue: var(--ka-brand-gold-dark);
  --ka-account-blue-dark: var(--ka-brand-gold-strong);
}


/* Page background */

.account-dashboard-section {
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(221, 186, 124, .12),
                  transparent 30%
          ),
          var(--ka-account-bg);
}


/* Profile mini header */

.account-profile-mini {
  background:
          linear-gradient(
                  145deg,
                  #fdfcf9,
                  #f6f2ea
          );
}


/* Sidebar menu */

.account-menu a:hover,
.account-menu a.active,
.account-menu li.active > a {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold-soft);
}

.account-menu a:hover i,
.account-menu a.active i,
.account-menu li.active > a i {
  color: var(--ka-brand-gold-dark);
}


/* Primary account action */

.account-primary-action {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
  box-shadow:
          0 9px 22px
          rgba(36, 36, 38, .16);
}

.account-primary-action:hover:not(:disabled) {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
  box-shadow:
          0 12px 26px
          rgba(221, 186, 124, .24);
}


/* Account pagination */

.account-pagination .is-active a {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}

.account-pagination a:hover {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold-soft);
}


/* General account information cards */

.account-shipment-highlight,
.account-affiliate-notice,
.account-newsletter-page-notice {
  border-color: rgba(221, 186, 124, .46);
  background: var(--ka-brand-gold-soft);
}

.account-shipment-icon {
  color: var(--ka-brand-gold-dark);
  background: #f5e8cf;
}


/*
 * Warning, error, dan success khusus tidak diubah.
 * Selector berikut mengembalikan status semantik.
 */

.account-shipment-icon--warning {
  color: var(--ka-account-warning);
  background: #fff0c8;
}

.account-shipment-icon--success {
  color: var(--ka-account-success);
  background: #e5f5ec;
}


/* Newsletter reactivation */

.account-newsletter-reactivate-card {
  border-color: rgba(221, 186, 124, .46);
  background: var(--ka-brand-gold-soft);
}


/* Newsletter preference selected */

.newsletter-preference-option.is-selected {
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold-soft);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .13);
}

.newsletter-preference-option.is-selected
.newsletter-preference-option__check {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* Legacy account template fallback */

.myaccount-tab-menu a:hover,
.myaccount-tab-menu a.active {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}

.myaccount-tab-menu .logout-link:hover,
.myaccount-tab-menu .logout-link.active {
  color: #7a271a;
  background: #fee4e2;
  border-left-color: #b42318;
}

.myaccount-content .welcome a:hover {
  color: var(--ka-brand-gold-dark);
}

.saved-message {
  border-top-color: var(--ka-brand-gold);
}


/* Account keyboard focus */

.account-dashboard-section a:focus-visible,
.account-dashboard-section button:focus-visible,
.account-dashboard-section input:focus-visible {
  outline: 2px solid var(--ka-brand-gold) !important;
  outline-offset: 3px;
}


/* ==========================================================================
   ORDER HISTORY
   Status colours remain semantic.
   ========================================================================== */

.order-code:hover,
.order-card-code:hover {
  color: var(--ka-brand-gold-dark);
}

.orders-filter .nice-select.open,
.orders-filter select:focus {
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .14);
}


/* ==========================================================================
   COMPARE PAGE
   ========================================================================== */

.compare-table
.table
tbody
tr
td.product-image-title
.title:hover {
  color: var(--ka-brand-gold-dark);
}


/* ==========================================================================
   BLOG
   ========================================================================== */

.blog .content .title a:hover,
.single-blog .content .title a:hover {
  color: var(--ka-brand-gold-dark);
}

.blog .meta a:hover,
.single-blog .meta a:hover {
  color: var(--ka-brand-gold-dark);
}


/* Blog share */

.single-blog
.content
.blog-footer
.blog-share a:hover {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* Comment reply */

.single-comment .content .reply:hover {
  color: var(--ka-brand-gold-dark);
}


/* ==========================================================================
   SIDEBAR WIDGETS
   ========================================================================== */

.widget-post li .content .meta span i {
  color: var(--ka-brand-gold-dark);
}

.widget-price-range .ui-slider-range {
  background-color: var(--ka-brand-gold);
}

.widget-price-range .ui-slider-handle {
  border-color: var(--ka-brand-gold);
}

.widget-tags a:hover {
  color: var(--ka-brand-ink);
  background: var(--ka-brand-gold);
}

.widget-search input[type="search"]:focus {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  box-shadow:
          0 0 0 3px
          rgba(221, 186, 124, .14);
}


/* ==========================================================================
   SUBSCRIBE SECTION
   ========================================================================== */

.subscribe-section .subscribe-form button,
.subscribe-section .subscribe-content .btn {
  color: #ffffff;
  border-color: var(--ka-brand-ink);
  background: var(--ka-brand-ink);
}

.subscribe-section .subscribe-form button:hover,
.subscribe-section .subscribe-form button:focus,
.subscribe-section .subscribe-content .btn:hover,
.subscribe-section .subscribe-content .btn:focus {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* ==========================================================================
   FOOTER
   ========================================================================== */

.footer-section {
  background: #202022;
}

.footer-bottom {
  border-top-color: rgba(221, 186, 124, .22);
}


/* Footer links */

.footer-widget-link li a:hover,
.footer-widget-text a:hover,
.copyright p a {
  color: var(--ka-brand-gold);
}

.copyright p a:hover {
  color: #efd49f;
}


/* Footer social */

.footer-widget-socail a:hover {
  color: var(--ka-brand-ink);
  border-color: var(--ka-brand-gold);
  background: var(--ka-brand-gold);
}


/* ==========================================================================
   FINAL ACCESSIBILITY FALLBACK
   ========================================================================== */

a:focus-visible,
button:focus-visible {
  outline-color: var(--ka-brand-gold);
}

/* ==========================================================================
   KURASIAPPLE — BLOG + REQUEST COLOUR FIX
   Brand gold utama: #ddba7c
   ========================================================================== */

:root {
  --ka-gold: #ddba7c;
  --ka-gold-text: #8a632e;
  --ka-gold-strong: #725024;
  --ka-gold-soft: #fbf5e9;

  --ka-ink: #242426;
  --ka-muted: #6f7074;
  --ka-warm-line: #e8e1d6;
  --ka-warm-bg: #f8f7f4;
}


/* ==========================================================================
   BLOG LIST PAGE
   ========================================================================== */

/* Hilangkan nuansa radial biru */

.kurasi-blog-list {
  background:
          radial-gradient(
                  circle at 100% 0,
                  rgba(221, 186, 124, .14),
                  transparent 30%
          ),
          var(--ka-warm-bg);
}


/* Card hover */

.kurasi-blog-card:hover {
  border-color: rgba(221, 186, 124, .72);
  box-shadow:
          0 22px 50px
          rgba(57, 45, 28, .10);
}


/* Kategori */

.kurasi-blog-card__meta span {
  color: var(--ka-gold-text);
}


/* Judul dan link */

.kurasi-blog-card h3 a:hover,
.kurasi-blog-card__link:hover {
  color: var(--ka-gold-text);
}


/* Empty state */

.kurasi-blog-empty {
  border-color: var(--ka-warm-line);
  background: #ffffff;
}

.kurasi-blog-empty > i {
  color: var(--ka-gold-text);
}


/* ==========================================================================
   BLOG PAGINATION
   Mendukung beberapa kemungkinan markup dari CI pagination.
   ========================================================================== */

.kurasi-blog-list .page-nav-wrap a:hover,
.kurasi-blog-list .page-nav-wrap .page-link:hover {
  color: var(--ka-ink);
  border-color: var(--ka-gold);
  background: var(--ka-gold);
}

.kurasi-blog-list .page-nav-wrap .active,
.kurasi-blog-list .page-nav-wrap .active a,
.kurasi-blog-list .page-nav-wrap .active .page-link,
.kurasi-blog-list .page-nav-wrap strong {
  color: var(--ka-ink);
  border-color: var(--ka-gold);
  background: var(--ka-gold);
}


/* ==========================================================================
   ARTICLE DETAIL
   ========================================================================== */

/* Metadata dan category */

.kurasi-article-meta i,
.kurasi-article-meta a:hover {
  color: var(--ka-gold-text);
}


/* Link di dalam isi artikel */

.kurasi-article-content a {
  color: var(--ka-gold-text);
  text-decoration-color: rgba(138, 99, 46, .48);
}

.kurasi-article-content a:hover {
  color: var(--ka-gold-strong);
  text-decoration-color: currentColor;
}


/* Blockquote */

.kurasi-article-content blockquote {
  border-left-color: var(--ka-gold);
  background: var(--ka-gold-soft);
}


/* Table artikel dibuat lebih warm */

.kurasi-article-content th,
.kurasi-article-content td {
  border-color: var(--ka-warm-line);
}

.kurasi-article-content th {
  background: #f8f5ef;
}


/* Tombol kembali */

.kurasi-article-footer {
  border-top-color: var(--ka-warm-line);
}

.kurasi-article-footer a:hover {
  color: var(--ka-gold-text);
}


/* ==========================================================================
   RELATED ARTICLES
   ========================================================================== */

.kurasi-related-articles {
  border-top-color: var(--ka-warm-line);
}

.kurasi-related-heading span {
  color: var(--ka-gold-text);
}

.kurasi-related-heading > a:hover,
.kurasi-related-card h3 a:hover,
.kurasi-related-card__link:hover {
  color: var(--ka-gold-text);
}

.kurasi-related-card {
  border-color: var(--ka-warm-line);
  transition:
          transform .2s ease,
          border-color .2s ease,
          box-shadow .2s ease;
}

.kurasi-related-card:hover {
  border-color: rgba(221, 186, 124, .72);
  box-shadow:
          0 18px 42px
          rgba(57, 45, 28, .09);
  transform: translateY(-3px);
}


/* ==========================================================================
   PAGE BANNER / BREADCRUMB
   Berlaku untuk blog dan Request Produk.
   ========================================================================== */

.page-banner .page-breadcrumb a:hover {
  color: var(--ka-gold-text);
}


/* ==========================================================================
   REQUEST PRODUCT FORM
   ========================================================================== */

/* Focus input tidak lagi biru */

#store-request-form .form-control:focus {
  border-color: var(--ka-gold) !important;
  box-shadow:
          0 0 0 4px
          rgba(221, 186, 124, .18) !important;
}


/* Checkbox */

#store-request-form .form-check-input {
  accent-color: var(--ka-gold-text);
}

#store-request-form .form-check-input:checked {
  border-color: var(--ka-gold-text) !important;
  background-color: var(--ka-gold-text) !important;
}


/* Tombol Kirim Request */

#store-request-form button.btn.btn-dark {
  color: #ffffff !important;
  border: 1px solid var(--ka-ink) !important;
  background: var(--ka-ink) !important;
  background-color: var(--ka-ink) !important;
  box-shadow:
          0 9px 22px
          rgba(36, 36, 38, .15);
}


/* Hover menggunakan gold brand */

#store-request-form button.btn.btn-dark:hover,
#store-request-form button.btn.btn-dark:focus {
  color: var(--ka-ink) !important;
  border-color: var(--ka-gold) !important;
  background: var(--ka-gold) !important;
  background-color: var(--ka-gold) !important;
  box-shadow:
          0 11px 27px
          rgba(221, 186, 124, .30);
  transform: translateY(-1px);
}

#store-request-form button.btn.btn-dark:active {
  color: var(--ka-ink) !important;
  border-color: #cda663 !important;
  background: #cda663 !important;
  background-color: #cda663 !important;
  transform: translateY(0);
}


/* Keyboard focus */

.kurasi-blog-list a:focus-visible,
.kurasi-article-page a:focus-visible,
#store-request-form button:focus-visible,
#store-request-form input:focus-visible,
#store-request-form textarea:focus-visible {
  outline: 2px solid var(--ka-gold) !important;
  outline-offset: 3px;
}

/* ==========================================================================
   KURASIAPPLE — MY ACCOUNT NEUTRAL REBALANCE

   My Account dibuat sebagai utility dashboard:
   - putih dan neutral grey sebagai warna utama
   - charcoal untuk active state dan CTA
   - gold hanya sebagai micro accent
   ========================================================================== */

:root {
  --ka-account-bg: #f6f7f9;
  --ka-account-card: #ffffff;
  --ka-account-text: #202124;
  --ka-account-muted: #6f7680;
  --ka-account-line: #e4e7eb;
  --ka-account-soft: #f3f5f7;

  /*
   * Alias lama tidak lagi diarahkan ke gold.
   * Tetap dipertahankan karena dipakai banyak selector account.
   */
  --ka-account-blue: #34383e;
  --ka-account-blue-dark: #202226;
}


/* ==========================================================================
   PAGE BACKGROUND
   Hilangkan radial gold.
   ========================================================================== */

.account-dashboard-section {
  background: var(--ka-account-bg) !important;
}


/* ==========================================================================
   SIDEBAR
   ========================================================================== */

.account-sidebar {
  border-color: var(--ka-account-line);
  background: #ffffff;
}


/* Profil kembali netral */

.account-profile-mini {
  background:
          linear-gradient(
                  145deg,
                  #ffffff 0%,
                  #f7f8f9 100%
          ) !important;
}


/* Hover menu cukup abu-abu */

.account-menu a:hover {
  color: var(--ka-account-text) !important;
  background: #f3f5f7 !important;
}


/* Active menu menjadi charcoal */

.account-menu a.is-active,
.account-menu a.active,
.account-menu li.active > a {
  color: #ffffff !important;
  background: #202226 !important;
  box-shadow:
          0 8px 20px
          rgba(20, 23, 28, .13) !important;
}


/* Gold hanya sebagai aksen kecil pada ikon */

.account-menu a.is-active i,
.account-menu a.active i,
.account-menu li.active > a i {
  color: #ddba7c !important;
}


/* Menu biasa tetap muted */

.account-menu a:not(.is-active):not(.active) i {
  color: #858c95;
}


/* Logout tetap merah semantik */

.account-menu .account-menu-logout,
.account-menu .account-menu-logout:hover {
  color: #a83c35 !important;
  background: #fff7f6 !important;
}

.account-menu .account-menu-logout i,
.account-menu .account-menu-logout:hover i {
  color: #bd4d45 !important;
}


/* ==========================================================================
   CARDS
   ========================================================================== */

.account-section-card,
.account-welcome-card,
.account-newsletter-card,
.account-address-prompt-card,
.newsletter-preferences-unsubscribe {
  border-color: var(--ka-account-line) !important;
  background: #ffffff !important;
}


/* Welcome card tidak perlu warm/gold gradient */

.account-welcome-card {
  background:
          linear-gradient(
                  135deg,
                  #ffffff 0%,
                  #f8f9fa 100%
          ) !important;
}


/* ==========================================================================
   PRIMARY BUTTON
   Tetap charcoal saat hover, tidak berubah gold.
   ========================================================================== */

.account-primary-action {
  color: #ffffff !important;
  border-color: #202226 !important;
  background: #202226 !important;
  box-shadow:
          0 8px 20px
          rgba(20, 23, 28, .14) !important;
}

.account-primary-action:hover:not(:disabled),
.account-primary-action:focus:not(:disabled) {
  color: #ffffff !important;
  border-color: #090a0b !important;
  background: #090a0b !important;
  box-shadow:
          0 10px 24px
          rgba(20, 23, 28, .19) !important;
}


/* ==========================================================================
   PAGINATION
   ========================================================================== */

.account-pagination .is-active a,
.account-pagination .active a {
  color: #ffffff !important;
  border-color: #202226 !important;
  background: #202226 !important;
}

.account-pagination a:hover {
  color: #202226 !important;
  border-color: #cfd4da !important;
  background: #f1f3f5 !important;
}


/* ==========================================================================
   INFORMATION AND NOTICE CARDS
   Tidak semua notice harus menggunakan gold.
   ========================================================================== */

.account-shipment-highlight,
.account-affiliate-notice,
.account-newsletter-page-notice {
  border-color: #e1e5e9 !important;
  background: #f7f8f9 !important;
}


/* Ikon informasi netral */

.account-shipment-icon {
  color: #434950 !important;
  background: #e9ecef !important;
}


/* Status tetap semantik */

.account-shipment-icon--warning {
  color: #946200 !important;
  background: #fff1cc !important;
}

.account-shipment-icon--success {
  color: #16784a !important;
  background: #e5f5ec !important;
}


/* ==========================================================================
   NEWSLETTER ACCOUNT
   ========================================================================== */

.account-newsletter-reactivate-card {
  border-color: #dde2e7 !important;
  background: #f7f8f9 !important;
}


/* Selected preference menjadi dark-neutral */

.newsletter-preference-option.is-selected {
  border-color: #767d85 !important;
  background: #f5f6f7 !important;
  box-shadow:
          0 0 0 2px
          rgba(32, 34, 38, .07) !important;
}

.newsletter-preference-option.is-selected
.newsletter-preference-option__check {
  color: #ffffff !important;
  border-color: #202226 !important;
  background: #202226 !important;
}


/* Checkbox newsletter */

.account-newsletter-checkbox input,
.newsletter-preference-option input {
  accent-color: #202226;
}


/* ==========================================================================
   ADDRESS AND BADGES
   ========================================================================== */

.addr-default-badge {
  color: #4d545c !important;
  border-color: #dce0e4 !important;
  background: #f1f3f5 !important;
}


/* ==========================================================================
   LEGACY MY ACCOUNT FALLBACK
   ========================================================================== */

.myaccount-tab-menu a:hover {
  color: #202226 !important;
  background: #f1f3f5 !important;
}

.myaccount-tab-menu a.active {
  color: #ffffff !important;
  background: #202226 !important;
}

.myaccount-content .welcome a:hover {
  color: #202226 !important;
}

.saved-message {
  border-top-color: #202226 !important;
}


/* ==========================================================================
   MICRO BRAND ACCENT
   Gold hanya dipertahankan untuk focus accessibility.
   ========================================================================== */

.account-dashboard-section a:focus-visible,
.account-dashboard-section button:focus-visible,
.account-dashboard-section input:focus-visible,
.account-dashboard-section select:focus-visible,
.account-dashboard-section textarea:focus-visible {
  outline: 2px solid #ddba7c !important;
  outline-offset: 3px;
}

/* ==========================================================================
   KURASIAPPLE — OUT OF STOCK STATE
   ========================================================================== */

/* --------------------------------------------------------------------------
   PRODUCT LIST
   -------------------------------------------------------------------------- */

.shop-product-wrap .product.is-out-of-stock {
  opacity: .92;
}

.shop-product-wrap
.product.is-out-of-stock
.image-action
.image {
  background: #f2f2f2;
}

.shop-product-wrap
.product.is-out-of-stock
.image-action
.image img {
  opacity: .56;
  filter: grayscale(.72);
  transition:
          opacity .25s ease,
          filter .25s ease;
}

.shop-product-wrap
.product.is-out-of-stock:hover
.image-action
.image img {
  opacity: .66;
  filter: grayscale(.55);
}


/* Badge stok habis */

.shop-product-wrap
.product
.image-action
.labels
.label.stock-out {
  color: #ffffff;
  border-color: #8f4039;
  background: #8f4039;
}


/* Informasi produk dibuat sedikit lebih muted */

.shop-product-wrap
.product.is-out-of-stock
.product-card-title {
  opacity: .78;
}

.shop-product-wrap
.product.is-out-of-stock
.product-card-price {
  color: #686c72;
}


/* Keterangan di bawah harga */

.product-card-stock-empty {
  display: block;
  margin-top: 7px;

  color: #9b4942;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.35;
}


/* Cart action yang tidak aktif */

.shop-product-wrap
.product
.action
.action-btn.is-disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #a3a7ad;
  background: #eceef0;

  cursor: not-allowed;
  pointer-events: none;
}


/* --------------------------------------------------------------------------
   PRODUCT DETAIL
   -------------------------------------------------------------------------- */

.product-detail-kurasi
.ka-product-gallery__main {
  position: relative;
}


/* Foto dibuat sedikit muted ketika varian aktif habis */

.product-detail-kurasi.is-out-of-stock
.ka-product-gallery__main img {
  opacity: .68;
  filter: grayscale(.58);
}


/* Label pada foto utama */

.product-detail-kurasi.is-out-of-stock
.ka-product-gallery__main::after {
  content: "Stok Habis";

  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;

  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 13px;

  color: #ffffff;
  background: rgba(112, 48, 43, .94);
  border-radius: 999px;

  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .02em;

  box-shadow:
          0 8px 24px
          rgba(58, 29, 26, .18);
}


/* Status stok normal */

.product-detail-kurasi
.lpro-stock-info {
  display: inline-flex;
  align-items: center;

  margin-top: 12px;
  padding: 8px 12px;

  color: #247049;
  background: #edf8f2;
  border: 1px solid #d1eadc;
  border-radius: 999px;

  font-size: 13px;
  font-weight: 650;
  line-height: 1.3;
}


/* Status stok habis */

.product-detail-kurasi
.lpro-stock-info.is-empty {
  color: #98453e;
  background: #fff2f0;
  border-color: #f1d4d0;
}


/* Quantity diredupkan saat tidak tersedia */

.product-detail-kurasi.is-out-of-stock
.quantity {
  opacity: .55;
}


/* Tombol cart habis dibuat jelas nonaktif */

.product-detail-kurasi
.product-detail-cart-btn:disabled {
  color: #7d8288 !important;
  border-color: #e1e3e6 !important;
  background: #e8eaed !important;

  box-shadow: none !important;
  cursor: not-allowed;
  transform: none !important;
}


/* Varian dengan stok 0 di dropdown */

.product-detail-kurasi
.lpro-variant-option[data-stock="0"] {
  opacity: .62;
}

.product-detail-kurasi
.lpro-variant-option[data-stock="0"]
small:last-child {
  color: #a04a42;
  font-weight: 600;
}

/* =========================================================
   KURASIAPPLE — FAQ PAGE
   ========================================================= */

.kurasi-faq-page {
  --faq-ink: #111318;
  --faq-muted: #69707d;
  --faq-line: #e3e6e9;
  --faq-soft: #f5f6f8;
  --faq-surface: #ffffff;
  --faq-gold: #d8b76a;
  --faq-gold-dark: #8a671f;

  background:
          linear-gradient(
                  180deg,
                  #ffffff 0%,
                  #ffffff 70%,
                  #f7f8f9 100%
          );
}

.kurasi-faq-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 42px;
}

.kurasi-faq-heading__content {
  max-width: 720px;
}

.kurasi-faq-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--faq-gold-dark);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kurasi-faq-eyebrow::before {
  width: 30px;
  height: 2px;
  border-radius: 999px;
  background: var(--faq-gold);
  content: "";
}

.kurasi-faq-heading h2 {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--faq-ink);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -.035em;
}

.kurasi-faq-heading p {
  max-width: 650px;
  margin: 16px 0 0;
  color: var(--faq-muted);
  font-size: 15px;
  line-height: 1.75;
}

.kurasi-faq-contact {
  flex: 0 0 auto;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 13px 21px;
  border: 1px solid var(--faq-ink);
  border-radius: 12px;
  color: #ffffff;
  background: var(--faq-ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition:
          background .2s ease,
          border-color .2s ease,
          color .2s ease,
          transform .2s ease,
          box-shadow .2s ease;
}

.kurasi-faq-contact:hover {
  border-color: #292c32;
  color: #ffffff;
  background: #292c32;
  box-shadow:
          0 12px 25px
          rgba(17, 19, 24, .14);
  transform: translateY(-1px);
}

.kurasi-faq-grid {
  margin-top: 0;
}

.kurasi-faq-page
.faq-page-items
.accordion-box {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kurasi-faq-page
.faq-page-items
.accordion-box
.kurasi-faq-item {
  list-style: none;
}

.kurasi-faq-page
.faq-page-items
.accordion-box
.kurasi-faq-item {
  position: relative;
  overflow: hidden;
  margin: 0 0 16px;
  padding: 0;
  border: 1px solid var(--faq-line);
  border-radius: 18px;
  background: var(--faq-surface);
  box-shadow:
          0 8px 24px
          rgba(17, 19, 24, .045);
  transition:
          border-color .2s ease,
          box-shadow .2s ease,
          transform .2s ease;
}

.kurasi-faq-page
.faq-page-items
.accordion-box
.kurasi-faq-item:hover {
  border-color: #cfd4d9;
  box-shadow:
          0 13px 30px
          rgba(17, 19, 24, .07);
  transform: translateY(-1px);
}

.kurasi-faq-page
.faq-page-items
.accordion-box
.kurasi-faq-item.active-block {
  border-color: #dfc98f;
  box-shadow:
          0 14px 34px
          rgba(138, 103, 31, .09);
}

.kurasi-faq-page
.kurasi-faq-item::before,
.kurasi-faq-page
.kurasi-faq-item
.acc-btn::before {
  display: none;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-btn {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 19px 21px;
  color: var(--faq-ink);
  background: var(--faq-surface);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
}

.kurasi-faq-question {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 15px;
}

.kurasi-faq-number {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0e3e6;
  border-radius: 11px;
  color: #777e87;
  background: var(--faq-soft);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
  transition:
          color .2s ease,
          border-color .2s ease,
          background .2s ease;
}

.kurasi-faq-question__text {
  min-width: 0;
  color: inherit;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-btn.active
.kurasi-faq-number {
  border-color: var(--faq-gold);
  color: var(--faq-ink);
  background: #f4e7c5;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-btn
.icon {
  position: static;
  flex: 0 0 auto;
  width: 35px;
  height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid #dfe3e6;
  border-radius: 50%;
  color: var(--faq-muted);
  background: #ffffff;
  font-size: 11px;
  line-height: 1;
  transition:
          color .2s ease,
          border-color .2s ease,
          background .2s ease,
          transform .2s ease;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-btn.active
.icon {
  border-color: var(--faq-ink);
  color: #ffffff;
  background: var(--faq-ink);
  transform: rotate(180deg);
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content {
  border-top: 1px solid #eceef0;
  background: #ffffff;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content
.content {
  padding: 21px 22px 24px 75px;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content
.text {
  color: var(--faq-muted);
  font-size: 14px;
  line-height: 1.8;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content
.text p {
  margin: 0 0 12px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content
.text p:last-child {
  margin-bottom: 0;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content
.text ul,
.kurasi-faq-page
.kurasi-faq-item
.acc-content
.text ol {
  margin: 12px 0 0;
  padding-left: 20px;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content
.text a {
  color: var(--faq-gold-dark);
  font-weight: 700;
  text-decoration: underline;
}

.kurasi-faq-empty {
  padding: 56px 24px;
  border: 1px solid var(--faq-line);
  border-radius: 20px;
  background: #ffffff;
  text-align: center;
  box-shadow:
          0 12px 34px
          rgba(17, 19, 24, .055);
}

.kurasi-faq-empty__icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 17px;
  border-radius: 17px;
  color: var(--faq-gold-dark);
  background: #fff8e8;
  font-size: 24px;
}

.kurasi-faq-empty h3 {
  margin: 0;
  color: var(--faq-ink);
  font-size: 21px;
  font-weight: 700;
}

.kurasi-faq-empty p {
  margin: 9px 0 0;
  color: var(--faq-muted);
  font-size: 14px;
  line-height: 1.7;
}

@media (max-width: 991.98px) {
  .kurasi-faq-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 24px;
  }

  .kurasi-faq-contact {
    align-self: flex-start;
  }
}

@media (max-width: 575.98px) {
  .kurasi-faq-heading {
    margin-bottom: 30px;
  }

  .kurasi-faq-heading h2 {
    font-size: 31px;
  }

  .kurasi-faq-contact {
    width: 100%;
  }

  .kurasi-faq-page
  .kurasi-faq-item
  .acc-btn {
    min-height: 74px;
    padding: 16px;
  }

  .kurasi-faq-question {
    gap: 11px;
  }

  .kurasi-faq-number {
    width: 34px;
    height: 34px;
  }

  .kurasi-faq-page
  .kurasi-faq-item
  .acc-btn
  .icon {
    width: 31px;
    height: 31px;
  }

  .kurasi-faq-page
  .kurasi-faq-item
  .acc-content
  .content {
    padding: 18px 17px 21px;
  }
}

/* FAQ accordion visibility */

.kurasi-faq-page
.kurasi-faq-item
.acc-content {
  display: none !important;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-content.current {
  display: block !important;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-btn {
  cursor: pointer;
  user-select: none;
}

.kurasi-faq-page
.kurasi-faq-item
.acc-btn
.icon {
  pointer-events: none;
}

/* =========================================================
   KURASIAPPLE — MINIMAL FOOTER
   ========================================================= */

.kurasi-minimal-footer {
  --footer-ink: #ffffff;
  --footer-muted: #9b9da3;
  --footer-line: rgba(255, 255, 255, .12);
  --footer-gold: #d8b76a;
  --footer-gold-dark: #c8a653;

  clear: both;
  width: 100%;
  color: var(--footer-ink);
  background: #0b0b0c;
}

.kurasi-minimal-footer__main {
  padding: 66px 0 38px;
}

.kurasi-footer-nav {
  display: flex;
  align-items: center;
  gap: 34px;
}

.kurasi-footer-nav--left {
  justify-content: flex-start;
}

.kurasi-footer-nav--right {
  justify-content: flex-end;
}

.kurasi-footer-nav a {
  position: relative;
  color: var(--footer-ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s ease;
}

.kurasi-footer-nav a::after {
  position: absolute;
  right: 0;
  bottom: -7px;
  left: 0;
  height: 1px;
  background: var(--footer-gold);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .2s ease;
}

.kurasi-footer-nav a:hover {
  color: var(--footer-gold);
}

.kurasi-footer-nav a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

.kurasi-footer-logo {
  width: 100%;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.kurasi-footer-logo img {
  display: block;
  width: auto;
  max-width: 128px;
  max-height: 72px;
  object-fit: contain;
}

.kurasi-minimal-footer__bottom {
  padding: 28px 0 34px;
  border-top: 1px solid var(--footer-line);
  background: #111214;
}

.kurasi-footer-copyright {
  display: flex;
  align-items: center;
  gap: 24px;
}

.kurasi-footer-copyright p,
.kurasi-footer-tagline {
  margin: 0;
}

.kurasi-footer-copyright p {
  color: #f2f2f3;
  font-size: 14px;
  font-weight: 500;
}

.kurasi-footer-socials {
  display: flex;
  align-items: center;
  gap: 18px;
}

.kurasi-footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #a8abb1;
  font-size: 16px;
  line-height: 1;
  transition:
          color .2s ease,
          transform .2s ease;
}

.kurasi-footer-socials a:hover {
  color: var(--footer-gold);
  transform: translateY(-1px);
}

.kurasi-footer-tagline {
  color: #9b9da3;
  font-size: 14px;
  line-height: 1.6;
  text-align: right;
}

@media (max-width: 991.98px) {
  .kurasi-minimal-footer__main {
    padding: 48px 0 32px;
  }

  .kurasi-footer-logo {
    margin-bottom: 30px;
  }

  .kurasi-footer-nav {
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px 28px;
  }

  .kurasi-footer-nav--left {
    margin-bottom: 17px;
  }
}

@media (max-width: 767.98px) {
  .kurasi-minimal-footer__bottom {
    padding: 25px 0 30px;
  }

  .kurasi-footer-copyright {
    justify-content: center;
    flex-direction: column;
    gap: 17px;
    text-align: center;
  }

  .kurasi-footer-tagline {
    margin-top: 22px;
    text-align: center;
  }
}

@media (max-width: 575.98px) {
  .kurasi-minimal-footer__main {
    padding-top: 42px;
  }

  .kurasi-footer-nav {
    gap: 14px 22px;
  }

  .kurasi-footer-nav a {
    font-size: 13px;
  }

  .kurasi-footer-logo img {
    max-width: 108px;
    max-height: 62px;
  }
}

/* =========================================================
   KURASIAPPLE — PREMIUM HEADER
   ========================================================= */

.kurasi-header {
  --ka-header-ink: #111318;
  --ka-header-muted: #6f747c;
  --ka-header-line: rgba(17, 19, 24, .08);
  --ka-header-gold: #d8b76a;
  --ka-header-gold-dark: #9a7527;
  --ka-header-soft: #f7f7f8;

  position: relative;
  z-index: 990;
  min-height: 82px;
  border-bottom: 1px solid var(--ka-header-line);
  background: rgba(255, 255, 255, .94);
  box-shadow:
          0 1px 0 rgba(255, 255, 255, .75);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.kurasi-header > .container {
  width: 100%;
  max-width: 1440px;
  padding-right: 32px;
  padding-left: 32px;
}

.kurasi-header > .container > .row {
  min-height: 82px;
}

/* Logo */

.kurasi-header-logo {
  display: flex;
  align-items: center;
}

.kurasi-header-logo a {
  display: flex;
  align-items: center;
}

.kurasi-header-logo img {
  display: block;
  width: auto;
  max-width: 205px;
  max-height: 47px;
  object-fit: contain;
  transition:
          opacity .2s ease,
          transform .2s ease;
}

.kurasi-header-logo a:hover img {
  opacity: .88;
  transform: translateY(-1px);
}

/* Main navigation */

.kurasi-main-menu,
.kurasi-main-menu nav {
  height: 100%;
}

.kurasi-main-nav {
  height: 82px;
  display: flex;
  align-items: center;
  gap: 39px;
  margin: 0;
  padding: 0;
}

.kurasi-main-menu
.kurasi-main-nav
> li {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  margin: 0;
}

.kurasi-main-menu
.kurasi-main-nav
> li
> a {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 2px 0 0;
  color: var(--ka-header-ink);
  font-size: 14px;
  font-weight: 560;
  line-height: 1;
  letter-spacing: -.005em;
  text-decoration: none;
  transition:
          color .18s ease,
          opacity .18s ease;
}

.kurasi-main-menu
.kurasi-main-nav
> li
> a::after {
  position: absolute;
  right: 50%;
  bottom: 18px;
  left: 50%;
  height: 1.5px;
  border-radius: 999px;
  background: var(--ka-header-gold);
  content: "";
  opacity: 0;
  transition:
          right .2s ease,
          left .2s ease,
          opacity .2s ease;
}

.kurasi-main-menu
.kurasi-main-nav
> li:hover
> a,
.kurasi-main-menu
.kurasi-main-nav
> li.is-active
> a {
  color: var(--ka-header-gold-dark);
}

.kurasi-main-menu
.kurasi-main-nav
> li:hover
> a::after,
.kurasi-main-menu
.kurasi-main-nav
> li.is-active
> a::after {
  right: 27%;
  left: 27%;
  opacity: 1;
}

/*
 * Hilangkan simbol dropdown bawaan template
 * bila template menambahkannya lewat pseudo-element.
 */

.kurasi-main-menu
.menu-item-has-children
> a::before {
  display: none !important;
}

/* Dropdown Store */

.kurasi-main-menu
.kurasi-sub-menu {
  min-width: 232px;
  margin-top: 0;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(17, 19, 24, .08);
  border-radius: 15px;
  background: rgba(255, 255, 255, .98);
  box-shadow:
          0 20px 50px
          rgba(17, 19, 24, .12);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.kurasi-main-menu
.kurasi-sub-menu
li {
  margin: 0;
  padding: 0;
}

.kurasi-main-menu
.kurasi-sub-menu
li
a {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 9px;
  color: var(--ka-header-ink);
  background: transparent;
  font-size: 13px;
  font-weight: 520;
  line-height: 1.4;
  letter-spacing: 0;
  transition:
          color .18s ease,
          background .18s ease,
          padding-left .18s ease;
}

.kurasi-main-menu
.kurasi-sub-menu
li
a:hover {
  padding-left: 16px;
  color: var(--ka-header-gold-dark);
  background: #faf6ec;
}

/* Header actions */

.kurasi-header-action {
  display: flex;
  align-items: center;
  gap: 7px;
}

.kurasi-header-action
.header-user,
.kurasi-header-action
.header-cart {
  margin: 0;
}

.kurasi-header-action
.kurasi-header-icon-btn {
  position: relative;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  color: var(--ka-header-ink);
  background: transparent;
  text-decoration: none;
  transition:
          color .18s ease,
          border-color .18s ease,
          background .18s ease,
          transform .18s ease;
}

.kurasi-header-action
.kurasi-header-icon-btn:hover {
  border-color: rgba(216, 183, 106, .36);
  color: var(--ka-header-gold-dark);
  background: #fbf7ee;
  transform: translateY(-1px);
}

.kurasi-header-action
.kurasi-header-icon-btn
i {
  margin: 0;
  font-size: 20px;
  line-height: 1;
}

.kurasi-header-action
.header-cart
.icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.kurasi-header-action
.header-cart
.text {
  display: none;
}

/* Cart count */

.kurasi-header-action
.header-cart
.count {
  position: absolute;
  top: -8px;
  right: -10px;
  min-width: 17px;
  height: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  color: #111318;
  background: var(--ka-header-gold);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

/* Sticky state */

.kurasi-header.is-sticky,
.kurasi-header.sticky {
  border-bottom-color: rgba(17, 19, 24, .10);
  box-shadow:
          0 10px 35px
          rgba(17, 19, 24, .07);
}

/* Mobile toggle */

.kurasi-header
.mobile-menu-toggle {
  width: 42px;
  height: 42px;
  margin-left: 4px;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  transition:
          border-color .18s ease,
          background .18s ease;
}

.kurasi-header
.mobile-menu-toggle:hover {
  border-color: rgba(216, 183, 106, .32);
  background: #fbf7ee;
}

/* Responsive */

@media (max-width: 1199.98px) {
  .kurasi-header > .container {
    padding-right: 23px;
    padding-left: 23px;
  }

  .kurasi-header-logo img {
    max-width: 180px;
  }

  .kurasi-main-nav {
    gap: 30px;
  }
}

@media (max-width: 991.98px) {
  .kurasi-header,
  .kurasi-header > .container > .row {
    min-height: 72px;
  }

  .kurasi-header-logo img {
    max-width: 175px;
    max-height: 42px;
  }

  .kurasi-header-action
  .kurasi-header-icon-btn {
    width: 39px;
    height: 39px;
  }
}

@media (max-width: 575.98px) {
  .kurasi-header > .container {
    padding-right: 16px;
    padding-left: 16px;
  }

  .kurasi-header-logo img {
    max-width: 152px;
  }

  .kurasi-header-action {
    gap: 2px;
  }

  .kurasi-header-action
  .kurasi-header-icon-btn {
    width: 36px;
    height: 36px;
  }

  .kurasi-header-action
  .kurasi-header-icon-btn
  i {
    font-size: 18px;
  }
}

/* =====================================================
   KURASIAPPLE — STRONGER PRODUCT DETAIL
   ===================================================== */

.ka-product-breadcrumb {
  padding: 18px 0;
  border-bottom: 1px solid rgba(17, 19, 24, .08);
  background: #ffffff;
}

.ka-product-breadcrumb .container {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #8a8e95;
  font-size: 12px;
  line-height: 1.4;
}

.ka-product-breadcrumb a {
  color: #61666e;
  text-decoration: none;
}

.ka-product-breadcrumb a:hover {
  color: #9a7527;
}

.ka-product-main {
  padding-top: 68px;
  padding-bottom: 96px;
}

.product-detail-kurasi
.single-product-content {
  padding: 2px 0 0 42px;
}

.product-detail-kurasi
.ka-product-summary {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
}

.product-detail-kurasi
.ka-product-summary
.price {
  margin: 0 0 29px;
  color: #111111;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.product-detail-kurasi
.ka-product-summary
.title {
  max-width: 620px;
  margin: 0;
  color: #111111;
  font-size: clamp(34px, 3.2vw, 46px);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -.04em;
}

.ka-product-brandline {
  display: block;
  margin-top: 18px;
  color: #9a9ca1;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ka-unique-listing-copy {
  max-width: 620px;
  margin-top: 27px;
}

.ka-unique-listing-copy p {
  margin: 0;
  color: #242529;
  font-size: 17px;
  line-height: 1.65;
}

.ka-unique-listing-copy strong {
  color: #111111;
  font-weight: 700;
}

.product-detail-kurasi
.lpro-stock-info {
  display: block;
  margin: 34px 0 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #527b61;
  background: transparent !important;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.4;
}

.product-detail-kurasi
.lpro-stock-info.is-empty {
  color: #9a4747;
}

.product-detail-kurasi
.ka-product-actions {
  display: block;
  margin-top: 35px;
}

.product-detail-kurasi
.ka-product-actions
.product-detail-cart-btn {
  width: 100%;
  min-height: 58px;
  justify-content: center;
  border: 1px solid #111111;
  border-radius: 5px;
  color: #ffffff;
  background: #111111;
  font-size: 16px;
  font-weight: 650;
  box-shadow: none;
}

.product-detail-kurasi
.ka-product-actions
.product-detail-cart-btn:hover:not(:disabled) {
  border-color: #292929;
  background: #292929;
  transform: none;
}

.ka-product-share-row {
  margin-top: 27px;
}

.product-detail-kurasi
.ka-product-share-row
.product-detail-share-btn {
  width: auto !important;
  height: auto !important;
  min-height: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #171717;
  background: transparent !important;
  font-size: 15px;
  font-weight: 650;
  box-shadow: none !important;
}

.product-detail-kurasi
.ka-product-share-row
.product-detail-share-btn:hover {
  color: #9a7527;
  transform: none;
}

.product-detail-kurasi
.ka-product-share-row
.product-detail-share-btn i {
  font-size: 17px;
}

.product-detail-kurasi
.ka-product-meta {
  margin-top: 36px;
  padding-top: 29px;
  border-top: 1px solid #e3e4e6;
}

.product-detail-kurasi
.ka-product-meta h5 {
  margin: 0 0 22px;
  color: #111111;
  font-size: 15px;
  font-weight: 700;
}

.product-detail-kurasi
.ka-product-meta p {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 20px;
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid #eeeeef;
  color: #555b64;
  font-size: 14px;
  line-height: 1.5;
}

.product-detail-kurasi
.ka-product-meta p strong {
  color: #171717;
  font-weight: 650;
}

.product-detail-kurasi
.ka-product-meta p:last-child {
  border-bottom: 0;
}

@media (max-width: 991.98px) {
  .ka-product-main {
    padding-top: 42px;
    padding-bottom: 70px;
  }

  .product-detail-kurasi
  .single-product-content {
    padding-left: 0;
  }
}

@media (max-width: 575.98px) {
  .ka-product-breadcrumb {
    padding: 14px 0;
  }

  .product-detail-kurasi
  .ka-product-summary
  .price {
    margin-bottom: 22px;
    font-size: 24px;
  }

  .product-detail-kurasi
  .ka-product-summary
  .title {
    font-size: 34px;
  }

  .ka-unique-listing-copy p {
    font-size: 15px;
  }

  .product-detail-kurasi
  .ka-product-meta p {
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 12px;
  }
}

/* Samakan tipografi Home dengan halaman public lain */

.home-modern
.home-hero__content
.title {
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -.025em;
}

.home-modern
.home-section__head h2,
.home-modern
.home-request__content h2 {
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.018em;
}

.home-modern
.home-product-card__body h3,
.home-modern
.home-guide-card__body h3,
.home-modern
.home-trust__item h3 {
  font-weight: 600;
  letter-spacing: 0;
}

.home-modern
.home-btn,
.home-modern
.home-text-link,
.home-modern
.home-guide-card__link {
  font-weight: 600;
}

.home-modern
.home-product-card__meta strong {
  font-weight: 700;
}

.shop-product-wrap
.action
button.action-btn {
  padding: 0;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.shop-product-wrap
.action
button.action-btn.is-loading {
  cursor: wait;
  opacity: .55;
  pointer-events: none;
}

.product-list-cart-notice {
  position: fixed;
  top: 104px;
  right: 24px;
  z-index: 10050;
  max-width: 360px;
  padding: 14px 18px;
  border: 1px solid #c9e7d3;
  border-radius: 10px;
  color: #216b3b;
  background: #f0faf3;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.55;
  box-shadow:
          0 18px 45px
          rgba(17, 19, 24, .14);
}

.product-list-cart-notice.is-error {
  border-color: #efc7c4;
  color: #982d29;
  background: #fff3f2;
}

@media (max-width: 575.98px) {
  .product-list-cart-notice {
    top: 84px;
    right: 15px;
    left: 15px;
    max-width: none;
  }
}

/* Hilangkan backdrop gelap saat cart offcanvas terbuka */

body.offcanvas-cart-open::before,
html.offcanvas-cart-open::before {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: transparent !important;
}

/* Mobile menu toggle KurasiApple */

.kurasi-header
.kurasi-mobile-menu-toggle {
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 2px !important;
  padding: 0 !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
}

.kurasi-header
.kurasi-mobile-menu-toggle i {
  position: relative !important;
  width: 19px !important;
  height: 2px !important;
  display: block !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px;
  background: #111318 !important;
  transform: none !important;
}

.kurasi-header
.kurasi-mobile-menu-toggle i::before,
.kurasi-header
.kurasi-mobile-menu-toggle i::after {
  position: absolute !important;
  left: 0 !important;
  width: 19px !important;
  height: 2px !important;
  display: block !important;
  border-radius: 999px;
  background: #111318 !important;
  content: "" !important;
  transform: none !important;
}

.kurasi-header
.kurasi-mobile-menu-toggle i::before {
  top: -6px !important;
}

.kurasi-header
.kurasi-mobile-menu-toggle i::after {
  top: 6px !important;
  bottom: auto !important;
}

.kurasi-header
.kurasi-mobile-menu-toggle:hover {
  border-color: rgba(216, 183, 106, .34) !important;
  background: #fbf7ee !important;
}

@media (min-width: 992px) {
  .kurasi-header
  .kurasi-mobile-menu-toggle {
    display: none !important;
  }
}

@media (max-width: 575.98px) {
  .kurasi-header
  .kurasi-mobile-menu-toggle {
    flex-basis: 35px !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 35px !important;
    min-height: 35px !important;
  }

  .kurasi-header
  .kurasi-mobile-menu-toggle i,
  .kurasi-header
  .kurasi-mobile-menu-toggle i::before,
  .kurasi-header
  .kurasi-mobile-menu-toggle i::after {
    width: 17px !important;
  }
}

/* =====================================================
   KURASIAPPLE — PRODUCT INFO ACCORDION
   ===================================================== */

.ka-product-info-accordion {
  margin-top: 34px;
  border-top: 1px solid #e3e4e6;
}

.ka-product-info-item {
  border-bottom: 1px solid #e3e4e6;
}

.ka-product-info-heading {
  margin: 0;
  padding: 0;
}

.ka-product-info-trigger {
  width: 100%;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  border: 0;
  color: #111318;
  background: transparent;
  font: inherit;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
}

.ka-product-info-trigger:hover {
  color: #9a7527;
}

.ka-product-info-trigger:focus-visible {
  outline: 2px solid rgba(216, 183, 106, .55);
  outline-offset: 5px;
}

.ka-product-info-icon {
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  display: block;
}

.ka-product-info-icon::before,
.ka-product-info-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: translate(
          -50%,
          -50%
  );
  transition:
          opacity .2s ease,
          transform .2s ease;
}

.ka-product-info-icon::after {
  transform:
          translate(
                  -50%,
                  -50%
          )
          rotate(90deg);
}

.ka-product-info-trigger[aria-expanded="true"]
.ka-product-info-icon::after {
  opacity: 0;
  transform:
          translate(
                  -50%,
                  -50%
          )
          rotate(0);
}

.ka-product-info-content {
  padding: 0 0 30px;
  color: #5e646d;
  font-size: 14px;
  line-height: 1.8;
}

.ka-product-description > *:first-child {
  margin-top: 0;
}

.ka-product-description > *:last-child {
  margin-bottom: 0;
}

.ka-product-description p {
  margin: 0 0 16px;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.ka-product-description h2,
.ka-product-description h3,
.ka-product-description h4 {
  margin: 25px 0 11px;
  color: #111318;
  font-weight: 700;
  line-height: 1.35;
}

.ka-product-description h2 {
  font-size: 21px;
}

.ka-product-description h3 {
  font-size: 18px;
}

.ka-product-description h4 {
  font-size: 16px;
}

.ka-product-description ul,
.ka-product-description ol {
  margin: 14px 0 18px;
  padding-left: 20px;
}

.ka-product-description li {
  margin-bottom: 7px;
}

.ka-product-description blockquote {
  margin: 20px 0;
  padding: 3px 0 3px 18px;
  border-left: 2px solid #d8b76a;
  color: #35383e;
  font-style: normal;
}

.ka-product-spec-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
}

.ka-product-spec-table tr {
  border-bottom: 1px solid #eceeef;
}

.ka-product-spec-table tr:last-child {
  border-bottom: 0;
}

.ka-product-spec-table th,
.ka-product-spec-table td {
  padding: 15px 0;
  border: 0;
  background: transparent;
  font-size: 14px;
  line-height: 1.55;
  vertical-align: top;
}

.ka-product-spec-table th {
  width: 36%;
  padding-right: 22px;
  color: #17191d;
  font-weight: 650;
  text-align: left;
}

.ka-product-spec-table td {
  color: #666c75;
  text-align: right;
  overflow-wrap: anywhere;
}

@media (max-width: 575.98px) {
  .ka-product-info-accordion {
    margin-top: 28px;
  }

  .ka-product-info-trigger {
    min-height: 66px;
    padding: 19px 0;
    font-size: 16px;
  }

  .ka-product-info-content {
    padding-bottom: 25px;
    font-size: 13px;
  }

  .ka-product-spec-table th {
    width: 39%;
    padding-right: 14px;
  }

  .ka-product-spec-table th,
  .ka-product-spec-table td {
    padding-top: 13px;
    padding-bottom: 13px;
    font-size: 13px;
  }
}

/* =====================================================
   KURASIAPPLE — STICKY PRODUCT GALLERY
   ===================================================== */

@media (min-width: 992px) {
  .product-detail-kurasi
  .ka-product-detail-row {
    align-items: stretch;
  }

  .product-detail-kurasi
  .ka-product-gallery-column {
    position: relative;
    align-self: stretch;
  }

  .product-detail-kurasi
  .ka-product-gallery {
    position: sticky;
    top: 102px;
    z-index: 2;
    height: fit-content;
  }
}

@media (max-width: 575.98px) {
  .shop-product-wrap {
    margin-right: -6px;
    margin-left: -6px;
  }

  .shop-product-wrap > .col-6 {
    padding-right: 6px;
    padding-left: 6px;
    margin-bottom: 24px;
  }

  .shop-product-wrap .product-card-title {
    min-height: 38px;
    font-size: 14px;
    line-height: 1.35;
  }

  .shop-product-wrap .product-card-price,
  .shop-product-wrap .product-card-old-price {
    font-size: 13px;
  }

  .shop-product-wrap .product .desc {
    display: none;
  }
}

/* =========================================================
 * Product Detail — Related Products
 * ====================================================== */

.ka-related-products__slider {
  margin-right: -8px;
  margin-left: -8px;
}

.ka-related-products__slider .slick-slide {
  box-sizing: border-box;
  height: auto;
  padding-right: 8px;
  padding-left: 8px;
}

.ka-related-products__slider .slick-slide > div {
  height: 100%;
}

.ka-related-products__slider
.ka-related-product-card {
  height: 100%;
  margin-bottom: 0;
}

/*
 * Slider dots.
 */
.ka-related-products__slider .slick-dots {
  position: static;
  display: flex !important;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.ka-related-products__slider
.slick-dots li {
  width: auto;
  height: auto;
  margin: 0 4px;
}

.ka-related-products__slider
.slick-dots li button {
  display: block;
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #d5d5d5;
  font-size: 0;
  line-height: 0;
  transition:
          width 0.2s ease,
          background-color 0.2s ease;
}

.ka-related-products__slider
.slick-dots li button::before {
  display: none;
}

.ka-related-products__slider
.slick-dots li.slick-active button {
  width: 18px;
  border-radius: 999px;
  background: #c6a04a;
}

@media (max-width: 767.98px) {
  .ka-related-products {
    padding-top: 36px;
    padding-bottom: 44px;
  }

  .ka-related-products .section-title {
    margin-bottom: 22px;
  }

  .ka-related-products
  .section-title .title {
    font-size: 22px;
    line-height: 1.25;
  }

  .ka-related-products__slider {
    margin-right: -6px;
    margin-left: -6px;
  }

  .ka-related-products__slider
  .slick-slide {
    padding-right: 6px;
    padding-left: 6px;
  }

  .ka-related-product-card
  .image-action {
    margin-bottom: 10px;
  }

  .ka-related-product-card
  .image-action .image {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .ka-related-product-card
  .image-action .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /*
   * Hindari nama dan harga berhimpitan
   * dalam lebar setengah layar.
   */
  .ka-related-product-card
  .content .title-price {
    display: block;
  }

  .ka-related-product-card
  .content .title {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 1.4;
  }

  .ka-related-product-card
  .content .price {
    display: block;
    font-size: 14px;
    line-height: 1.35;
  }

  /*
 * Nama di atas, harga utuh di bawah.
 */
  .ka-related-products__slider
  .product .content .title-price {
    display: block !important;
    width: 100%;
  }

  .ka-related-products__slider
  .product .content .title-price .title {
    display: -webkit-box;
    width: 100%;
    min-height: 40px;
    margin: 0 0 6px !important;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .ka-related-products__slider
  .product .content .title-price .price {
    display: block !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.4;
    text-align: left !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

/*
 * Related product yang hanya berjumlah 1–3
 * tetap memakai ukuran card empat kolom,
 * tetapi seluruh kumpulan diposisikan ke tengah.
 */
@media (min-width: 992px) {
  .ka-related-products__slider.is-few-items
  .slick-track {
    margin-right: auto;
    margin-left: auto;
  }
}