/* SAMIDA DIGITAL detail — pelengkap ulasan & gallery */
:root{--line:#e8edf8;--soft:#f5f7ff}
.zoomhint{position:absolute;right:11px;top:11px;width:35px;height:35px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:#25305c;pointer-events:none;box-shadow:0 8px 18px rgba(22,36,78,.14)}
.zoomhint svg{width:16px;height:16px;display:block}
.preview-modal{position:fixed;inset:0;background:rgba(8,15,35,.64);z-index:9998;display:none;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(9px)}
.preview-modal.open{display:flex}
.preview-card{width:min(760px,100%);background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.45)}
.preview-head{display:flex;justify-content:space-between;align-items:center;padding:15px 17px;border-bottom:1px solid #edf2fb}
.preview-head h3{margin:0;font-size:18px!important;font-weight:850!important;color:#101a3d}
.preview-close{border:0;background:#111832!important;color:#fff!important;width:38px;height:38px;border-radius:999px;cursor:pointer}
.preview-image{height:390px;background:#eaf2ff}
.preview-image img{width:100%;height:100%;object-fit:contain}
.preview-foot{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.preview-foot p{margin:0;color:#64748b}
.preview-foot.btn{margin-top:10px;width:100%}
.detail-demo-health{display:flex;gap:8px;flex-wrap:wrap;margin:9px 0 12px}
/* PATCH: Product detail icon size lock - keep lucide/icons from expanding */
.samida-ui-header svg,
.samida-header-search svg,
.auth-top-btn svg,
.cart-btn svg,
.zoomhint svg,
.samida-share-icon svg,
.samida-share-head svg,
.samida-share-actions svg,
.samida-related-head svg,
.samida-related-panel svg,
.detail-action-grid svg,
.detail-features svg,
.detail-feature svg,
.detail-demo-health svg,
.detail-kicker svg,
.seo-facts svg,
.btn svg,
.bottom.i svg,
.nav svg,
.micro svg,
.iconbox svg,
.search.sicon svg{  width:18px!important;  height:18px!important;  min-width:18px!important;  min-height:18px!important;  max-width:18px!important;  max-height:18px!important;  flex:0 0 18px!important;  display:inline-block!important;  vertical-align:middle!important;  transform:none!important; }
.samida-header-search span,
.auth-top-btn,
.auth-top-btn.icon,
.zoomhint,
.samida-share-icon,
.samida-related-head span,
.detail-action-grid.btn,
.bottom.i{  display:inline-flex!important;  align-items:center!important;  justify-content:center!important; }
.samida-related-grid.zoomhint,
.card.zoomhint,
.thumb.zoomhint{  width:34px!important;  height:34px!important;  min-width:34px!important;  min-height:34px!important;  right:10px!important;  top:10px!important; }
.samida-related-grid.zoomhint svg,
.card.zoomhint svg,
.thumb.zoomhint svg{  width:16px!important;  height:16px!important;  min-width:16px!important;  min-height:16px!important; }
body.page-detail.detail-demo-health{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 10px!important}
body.page-home.zoomhint{background:rgba(255,255,255,.94)!important;color:#cc587a!important;}
body.page-detail.seo-facts span,body.page-detail.detail-kicker,body.page-detail.feature-badges span,body.page-detail.detail-demo-health span{background:rgba(124,93,255,.14)!important;border:1px solid rgba(160,147,255,.28)!important;color:#f7f9ff!important;}
body.page-home.feature-badges span,body.page-detail.seo-facts span,body.page-detail.detail-demo-health span,body.page-home.interest-metrics span,body.page-home.trust-points span,body.page-cart.cart-trust-grid span{background:rgba(79,124,255,.12)!important;border:1px solid rgba(141,151,255,.22)!important;color:#eaf0ff!important;border-radius:999px!important;}
html body.page-detail.detail-gallery-clean{  grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important; }
html body.page-detail.detail-gallery-clean button:empty,
html body.page-detail.detail-gallery-clean button:not(:has(img)){  display:none!important; }
.product-review-list .product-review-item.samida-review-hidden{display:none!important}
.review-load-more-btn{margin:14px auto 4px!important;display:flex!important;align-items:center!important;justify-content:center!important;min-width:190px!important;border-radius:999px!important;background:linear-gradient(135deg,#8d5cff,#4f72ff)!important;color:#fff!important;border:0!important;box-shadow:0 14px 30px rgba(91,87,255,.20)!important}
.review-load-more-btn[hidden]{display:none!important}
.review-sort-tabs a{cursor:pointer!important}
.review-sort-tabs a.on{pointer-events:none!important}
.product-review-section{margin-top:16px}
.review-summary-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}
.review-summary-card,.review-form-card,.product-review-item,.product-review-empty{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--soft);padding:16px}
.review-score-big{font-size:40px;font-weight:900;line-height:1;color:#121d42}
.review-stars-big{font-size:20px;letter-spacing:2px;color:#f5b301;margin-top:6px}
.review-summary-meta{font-weight:700;color:#49557a;margin-top:8px}
.review-summary-note{font-size:13px;line-height:1.65;color:#657191;margin-top:10px}
.review-form-card h4{margin:0 0 10px;color:#15204b}
.product-review-list{display:grid;gap:12px;margin-top:16px}
.product-review-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.review-badge-ok{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:rgba(82,191,136,.12);color:#1b7a4d;font-size:12px;font-weight:800}
.product-review-text{color:#1b2340;line-height:1.68;font-size:14px}
.product-review-empty{color:#657191}
.review-form label{font-size:13px;font-weight:800;color:#23315b}
.review-form textarea{resize:vertical}
.review-form .btn{margin-top:2px}
.detail-section.product-review-section h3{margin-top:0}
.review-sort-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 12px}
.review-sort-tabs span{font-size:13px;font-weight:900;color:#23315b}
.product-review-reply{margin-top:10px;border-radius:15px;background:linear-gradient(135deg,rgba(141,92,255,.08),rgba(79,114,255,.08));border:1px solid rgba(141,92,255,.18);padding:11px 12px}
.product-review-reply b{display:block;color:#332a8f;font-size:13px;margin-bottom:4px}
.product-review-reply p{margin:0;color:#263253;font-size:13px;line-height:1.6}
/* product preview modal fix */
html body.preview-modal{position:fixed!important;inset:0!important;display:none!important;align-items:center!important;justify-content:center!important;padding:20px!important;z-index:9998!important;background:rgba(4,7,18,.86)!important;backdrop-filter:blur(6px)!important}
html body.preview-modal.open{display:flex!important}
html body.preview-card{width:min(980px,96vw)!important;max-width:980px!important;max-height:92vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:24px!important}
html body.preview-image{height:auto!important;min-height:320px!important;max-height:calc(92vh - 150px)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;background:#0b1228!important}
html body.preview-image img{display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
html body.preview-foot{flex-wrap:wrap!important}
html body.page-home.cm-review-total{display:inline-flex!important;visibility:visible!important;opacity:1!important;}
html body.page-detail .detail-compact-desc,
html body.page-detail .detail-compact-desc p,
html body.page-detail .detail-compact-desc li,
html body.page-detail .detail-copy p,
html body.page-detail .detail-section p{   text-align:justify!important;   text-justify:inter-word!important;   hyphens:auto; }
html body.page-detail .sect,
  html body.page-detail .detail-premium,
  html body.page-detail .detail-card,
  html body.page-detail .detail-side-card,
  html body.page-detail .detail-media,
  html body.page-detail .detail-gallery,
  html body.page-detail .detail-copy,
  html body.page-detail .detail-section,
  html body.page-detail .samida-related-panel,
  html body.page-detail .product-review-section,
  html body.page-detail .review-summary-grid{     width:100%!important;     max-width:100%!important;     min-width:0!important;     margin-left:0!important;     margin-right:0!important;     left:auto!important;     right:auto!important;     transform:none!important;     box-sizing:border-box!important;   }
html body.page-detail .review-summary-grid{grid-template-columns:1fr!important;gap:14px!important;}
html body.page-detail .detail-card,
  html body.page-detail .detail-side-card,
  html body.page-detail .detail-section,
  html body.page-detail .samida-related-panel,
  html body.page-detail .product-review-section{     border-radius:26px!important;     overflow:hidden!important;   }
/* blok keuangan & billing / pricing / aksi di dalam side card */
  html body.page-detail .detail-side-card .samida-dual-price-box,
  html body.page-detail .detail-side-card .detail-action-grid,
  html body.page-detail .detail-side-card .samida-share-booster,
  html body.page-detail .detail-side-card .nego-box,
  html body.page-detail .detail-side-card .review-summary-card,
  html body.page-detail .detail-side-card .review-form-card{     border-radius:20px!important;     overflow:hidden!important;   }
html body.page-detail .detail-side-card .samida-dual-price-box,
  html body.page-detail .detail-side-card .detail-action-grid,
  html body.page-detail .detail-side-card .samida-share-booster,
  html body.page-detail .detail-side-card .nego-box,
  html body.page-detail .detail-side-card .review-summary-card,
  html body.page-detail .detail-side-card .review-form-card{     border-radius:18px!important;   }
html body.page-detail .detail-side-card .product-review-section{     margin-top:16px!important;   }
html body.page-home .cm-testimonial-wrap.cm-ulasan-force .cm-review-total{     display:inline-grid!important;     grid-auto-flow:row!important;     align-items:center!important;     justify-items:center!important;     min-width:86px!important;     height:auto!important;     margin-left:4px!important;     padding:7px 14px 8px!important;     border-radius:18px!important;     background:linear-gradient(180deg,#fff1bc 0%,#ffe18a 100%)!important;     border:1px solid rgba(255,218,106,.82)!important;     box-shadow:0 12px 24px rgba(255,191,61,.18)!important;     color:#6f4300!important;     -webkit-text-fill-color:#6f4300!important;   }
html body.page-home .cm-testimonial-wrap.cm-ulasan-force .cm-review-total b{     display:block!important;     font-size:16px!important;     line-height:1!important;     font-weight:950!important;     letter-spacing:-.02em!important;     color:#6f4300!important;     -webkit-text-fill-color:#6f4300!important;   }
html body.page-home .cm-testimonial-wrap.cm-ulasan-force .cm-review-total small{     display:block!important;     margin-top:2px!important;     font-size:11px!important;     line-height:1.05!important;     font-weight:850!important;     letter-spacing:.01em!important;     color:#7e5200!important;     -webkit-text-fill-color:#7e5200!important;   }
.cm-review-total-fix134,
  html body.page-home .cm-review-total-fix134,
  html body.page-home .cm-testimonial-wrap .cm-review-total-fix134{     display:inline-grid!important;     grid-auto-flow:row!important;     align-items:center!important;     justify-items:center!important;     min-width:84px!important;     height:auto!important;     margin-left:4px!important;     padding:7px 14px 8px!important;     border-radius:18px!important;     background:linear-gradient(180deg,#fff4c8 0%,#ffe28b 100%)!important;     border:1px solid rgba(255,224,122,.95)!important;     box-shadow:0 12px 24px rgba(255,191,61,.18)!important;     color:#6f4300!important;     -webkit-text-fill-color:#6f4300!important;     text-shadow:none!important;     vertical-align:middle!important;   }
.cm-review-total-fix134 b,
  html body.page-home .cm-review-total-fix134 b{     display:block!important;     font-size:16px!important;     line-height:1!important;     font-weight:950!important;     letter-spacing:-.02em!important;     color:#6f4300!important;     -webkit-text-fill-color:#6f4300!important;     text-shadow:none!important;   }
.cm-review-total-fix134 small,
  html body.page-home .cm-review-total-fix134 small{     display:block!important;     margin-top:2px!important;     font-size:11px!important;     line-height:1.05!important;     font-weight:850!important;     color:#7e5200!important;     -webkit-text-fill-color:#7e5200!important;     text-shadow:none!important;   }

/* SAMIDA zoom modal (lightbox detail produk) */
.sd-zoom{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;background:rgba(10,10,35,.88);backdrop-filter:blur(6px);padding:24px}
.sd-zoom.open{display:flex}
.sd-zoom img{max-width:min(1100px,94vw);max-height:86vh;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.5);cursor:zoom-out}
.sd-zoom-close{position:absolute;top:16px;right:22px;width:42px;height:42px;border-radius:999px;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:22px;cursor:pointer}
.sd-zoom-close:hover{background:rgba(255,255,255,.28)}


/* Banner judul Detail Produk */
html body.page-detail .detail-title-banner{
  background:linear-gradient(135deg,#17164f 0%,#21185f 52%,#2d1f78 100%);
  border-radius:20px;
  padding:18px 24px;
  margin:0 0 18px;
  box-shadow:0 18px 44px rgba(23,22,79,.35);
  position:relative;
  overflow:hidden;
}
html body.page-detail .detail-title-banner::before{
  content:'';
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 88% 20%,rgba(139,92,246,.45),transparent 32%),radial-gradient(circle at 8% 90%,rgba(64,120,255,.30),transparent 30%);
}
html body.page-detail .detail-title-banner h3{color:#fff;position:relative;z-index:1}
html body.page-detail .detail-title-banner .sd-banner-ico{
  display:inline-flex;width:38px;height:38px;border-radius:12px;margin-right:6px;vertical-align:middle;
  align-items:center;justify-content:center;font-size:19px;
  background:linear-gradient(135deg,#43bf7b,#168a51);
  box-shadow:0 10px 22px rgba(22,138,81,.4);
}
html body.page-detail .detail-title-banner a{
  position:relative;z-index:1;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  padding:8px 14px;border-radius:999px;
  backdrop-filter:blur(6px);
  transition:.2s ease;
  white-space:nowrap;
}
html body.page-detail .detail-title-banner a:hover{background:rgba(255,255,255,.24);transform:translateY(-1px)}
@media(max-width:760px){html body.page-detail .detail-title-banner{padding:14px 16px}html body.page-detail .detail-title-banner .sd-banner-ico{width:30px;height:30px;font-size:15px}}


/* === Informasi Produk + Jaminan (isi ruang kosong kolom kiri detail) === */
html body.page-detail .sd-spec-table{width:100%;border-collapse:collapse;font-size:13px;}
html body.page-detail .sd-spec-table td{padding:9px 6px;border-bottom:1px dashed rgba(23,22,79,.12);color:#4b4870;}
html body.page-detail .sd-spec-table tr:last-child td{border-bottom:none;}
html body.page-detail .sd-spec-table td:first-child{font-weight:700;color:#17164f;width:42%;}
html body.page-detail .sd-spec-table td:last-child{text-align:right;}
html body.page-detail .sd-guarantee{margin:16px 0 4px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#f6f3ff,#eef4ff);border:1px solid rgba(139,92,246,.18);}
html body.page-detail .sd-guarantee h3{margin:0 0 10px;font-size:15px;color:#17164f;}
html body.page-detail .sd-guarantee ul{margin:0;padding-left:20px;font-size:13px;line-height:1.7;color:#3d3a66;}
html body.page-detail .sd-guarantee li{margin-bottom:6px;}
html body.page-detail .sd-guarantee li::marker{color:#8b5cf6;}


/* kolom kiri mengisi penuh tinggi baris: jaminan auto-grow nutup sisa ruang */
html body.page-detail .detail-card{display:flex;flex-direction:column;}
html body.page-detail .sd-guarantee{flex:1 1 auto;}


html body.page-detail .detail-premium{align-items:stretch!important;}
html body.page-detail .detail-card{display:flex!important;flex-direction:column!important;}
html body.page-detail .sd-guarantee{flex:1 1 auto!important;}


/* === SERAGAMKAN WARNA blok baru (rule global navy-theme bikin h3/td/li terang) === */
html body.page-detail .detail-card .detail-section h3{color:#17164f!important;-webkit-text-fill-color:#17164f!important;}
html body.page-detail .sd-spec-table td{color:#4b4870!important;-webkit-text-fill-color:#4b4870!important;}
html body.page-detail .sd-spec-table td:first-child{color:#17164f!important;-webkit-text-fill-color:#17164f!important;}
html body.page-detail .sd-guarantee{background:linear-gradient(135deg,#f6f3ff 0%,#eef4ff 100%)!important;border:1px solid rgba(139,92,246,.22);border-radius:16px;}
html body.page-detail .sd-guarantee h3{color:#17164f!important;-webkit-text-fill-color:#17164f!important;}
html body.page-detail .sd-guarantee ul{color:#3d3a66!important;}
html body.page-detail .sd-guarantee li{color:#3d3a66!important;-webkit-text-fill-color:#3d3a66!important;}
html body.page-detail .sd-guarantee li b{color:#6d28d9!important;-webkit-text-fill-color:#6d28d9!important;}
html body.page-detail .sd-guarantee p{color:#3d3a66!important;}


/* tabel Informasi Produk: rule global navy-theme memberi bg tabel gelap rgba(16,21,47,.84) — paksa putih */
html body.page-detail .detail-card .sd-spec-table{background:#fff!important;background-color:#fff!important;box-shadow:none!important;}
html body.page-detail .detail-card .sd-spec-table td{background:transparent!important;}


/* kartu Jaminan: putih sama rata dgn kartu lain */
html body.page-detail .sd-guarantee{background:#fff!important;background-image:none!important;border:1px solid rgba(139,92,246,.13)!important;border-radius:16px!important;box-shadow:0 4px 16px rgba(0,0,0,.05)!important;}

/* judul Jaminan SAMIDA DIGITAL: pil berlatar putih gradasi lembut */
html body.page-detail .sd-guarantee h3{display:inline-block!important;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;color:#17164f!important;-webkit-text-fill-color:#17164f!important;border:1px solid rgba(139,92,246,.22)!important;border-radius:12px!important;padding:8px 16px!important;box-shadow:0 3px 10px rgba(109,40,217,.1)!important;}


/* Banner 'Detail Produk' versi putih gradasi (seragam dgn kartu Jaminan) */
html body.page-detail .detail-title-banner{background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;border:1px solid rgba(139,92,246,.22);box-shadow:0 4px 14px rgba(109,40,217,.08);}
html body.page-detail .detail-title-banner::before{background:radial-gradient(circle at 88% 20%,rgba(139,92,246,.08),transparent 55%),radial-gradient(circle at 8% 90%,rgba(59,65,197,.07),transparent 50%)!important;}
html body.page-detail .detail-title-banner h3{color:#17164f!important;-webkit-text-fill-color:#17164f!important;}
html body.page-detail .detail-title-banner .sd-banner-ico{background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;}
html body.page-detail .detail-title-banner a{background:rgba(139,92,246,.08)!important;border:1px solid rgba(139,92,246,.25)!important;color:#5b21b6!important;-webkit-text-fill-color:#5b21b6!important;}
html body.page-detail .detail-title-banner a:hover{background:rgba(139,92,246,.16)!important;}


/* judul banner lebih hidup: besar, tebal, gradasi navy->ungu + garis bawah aksen */
html body.page-detail .detail-title-banner h3{font-size:clamp(22px,3.2vw,32px)!important;font-weight:800!important;letter-spacing:.3px;background:linear-gradient(90deg,#17164f 0%,#4628a8 55%,#7c3aed 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;display:inline-block;}
html body.page-detail .detail-title-banner h3::after{content:'';display:block;height:4px;margin-top:6px;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#ff65b3 60%,#fbbf24);opacity:.85;}


/* kotak sortir ulasan: putih, bukan gelap */
html body.page-detail .review-sort-bar select{background:#fff!important;background-color:#fff!important;color:#17164f!important;-webkit-text-fill-color:#17164f!important;border:1px solid rgba(139,92,246,.3)!important;border-radius:10px!important;padding:6px 12px!important;font-weight:600;color-scheme:light!important;}
html body.page-detail .review-sort-bar select option{background:#fff!important;color:#17164f!important;}
html body.page-detail .review-sort-bar .small,html body.page-detail .review-sort-bar label{color:#4b4870!important;-webkit-text-fill-color:#4b4870!important;}


/* === Rapih: section Produk Lain di detail === */
html body.page-detail .cm-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:20px!important;margin-bottom:24px!important;}
html body.page-detail .cm-product-title,html body.page-detail .cm-product-title a{color:#17164f!important;-webkit-text-fill-color:#17164f!important;font-size:13.5px!important;line-height:1.35;}
html body.page-detail .cm-product-card{border:1px solid rgba(139,92,246,.12)!important;transition:transform .18s ease,box-shadow .18s ease;}
html body.page-detail .cm-product-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(33,24,95,.14)!important;}
html body.page-detail .cm-product-card .cm-product-title a:hover{color:#6d28d9!important;}
html body.page-detail .sect:has(+ .cm-product-grid) h3{font-size:22px!important;}
@media (max-width:900px){html body.page-detail .cm-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

html body.page-detail .sect{margin-top:8px!important;}
html body.page-detail .sect:not(.detail-title-banner) h3{display:flex;align-items:center;gap:10px;}
html body.page-detail .sect:not(.detail-title-banner) h3::before{content:'';width:6px;height:22px;border-radius:6px;background:linear-gradient(180deg,#8b5cf6,#6d28d9);flex:0 0 auto;}


/* judul 'Produk Lain ...' — pil latar putih gradasi + teks gradasi navy-ungu (bukan hitam) */
html body.page-detail .sect:not(.detail-title-banner){display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;border:1px solid rgba(139,92,246,.22)!important;border-radius:16px!important;padding:14px 20px!important;box-shadow:0 4px 14px rgba(109,40,217,.08)!important;}
html body.page-detail .sect:not(.detail-title-banner) h3{background:linear-gradient(90deg,#17164f 0%,#4628a8 55%,#7c3aed 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;font-weight:800!important;}
html body.page-detail .sect:not(.detail-title-banner) h3::before{background:linear-gradient(180deg,#7c3aed,#ff65b3)!important;}


/* banner 'Detail Produk' — desain tulisan disamakan dengan judul Produk Lain: teks gradasi + bar aksen ungu-pink */
html body.page-detail .detail-title-banner h3{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#17164f 0%,#4628a8 55%,#7c3aed 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent!important;font-weight:800!important;}
html body.page-detail .detail-title-banner h3::before{content:'';width:6px;height:22px;border-radius:6px;background:linear-gradient(180deg,#7c3aed,#ff65b3);flex:0 0 auto;}

html body.page-detail .detail-title-banner h3{font-size:22px!important;}
html body.page-detail .detail-title-banner h3::after{display:none!important;}


/* kotak banner 'Detail Produk' disamakan bentuknya dgn kotak 'Produk Lain' (radius 16, pad 14/20) */
html body.page-detail .detail-title-banner{border-radius:16px!important;padding:14px 20px!important;}

html body.page-detail .detail-title-banner{border:1px solid rgba(139,92,246,.22)!important;box-shadow:0 4px 14px rgba(109,40,217,.08)!important;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;}


/* semua judul blok detail = desain pil Jaminan SAMIDA DIGITAL (latar putih gradasi + teks navy tebal) */
html body.page-detail .detail-section h3,
html body.page-detail .review-form-card h4,
html body.page-detail .sd-guarantee h3{display:inline-block!important;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;border:1px solid rgba(139,92,246,.2)!important;border-radius:12px!important;padding:8px 16px!important;box-shadow:0 3px 10px rgba(109,40,217,.1)!important;color:#17164f!important;-webkit-text-fill-color:#17164f!important;font-size:22px!important;font-weight:800!important;margin:0 0 12px!important;}
html body.page-detail .detail-section h3 i,html body.page-detail .sd-guarantee h3 i{color:#168a51!important;-webkit-text-fill-color:#168a51!important;}

html body.page-detail .review-sort-bar{display:flex!important;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px!important;}
html body.page-detail .review-sort-bar > .small,
html body.page-detail .review-sort-bar label{display:inline-flex!important;align-items:center;gap:8px;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;border:1px solid rgba(139,92,246,.2)!important;border-radius:12px!important;padding:7px 14px!important;color:#17164f!important;-webkit-text-fill-color:#17164f!important;font-weight:700!important;font-size:14px!important;box-shadow:0 3px 10px rgba(109,40,217,.08)!important;}


/* tombol Chat Admin: hijau WhatsApp + ikon wa di kiri */
html body.page-detail a.sd-btn-wa{display:inline-flex!important;align-items:center;gap:8px;background:linear-gradient(135deg,#168a51 0%,#25d366 100%)!important;border:1px solid #128a4e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:700!important;box-shadow:0 4px 12px rgba(37,211,102,.28)!important;}
html body.page-detail a.sd-btn-wa i{font-size:18px;color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body.page-detail a.sd-btn-wa:hover{filter:brightness(1.07);transform:translateY(-1px);color:#fff!important;}


/* === bar kategori katalog: kartu putih gradasi + pill === */
html body.page-katalog .sd-cat-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 6px;padding:14px 18px;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%);border:1px solid rgba(139,92,246,.22);border-radius:16px;box-shadow:0 4px 14px rgba(109,40,217,.08);}
html body.page-katalog .sd-cat-label{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:14px;color:#17164f;}
html body.page-katalog .sd-cat-label i{color:#7c3aed;}
html body.page-katalog .sd-cat-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;color:#3d3a66;background:#fff;border:1px solid rgba(139,92,246,.18);text-decoration:none;transition:all .18s ease;box-shadow:0 2px 6px rgba(33,24,95,.05);}
html body.page-katalog .sd-cat-pill:hover{color:#6d28d9;border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 6px 14px rgba(109,40,217,.15);}
html body.page-katalog .sd-cat-pill.active{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border-color:transparent;box-shadow:0 4px 12px rgba(109,40,217,.35);}
html body.page-katalog .sd-cat-pill.active b{color:#fff;}
html body.page-katalog .sd-cat-pill b{color:#8b5cf6;font-weight:800;}


/* bar kategori katalog: satu baris + scroll horizontal */
html body.page-katalog .sd-cat-bar{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:thin!important;scrollbar-color:#8b5cf6 rgba(139,92,246,.08);-webkit-overflow-scrolling:touch;padding-bottom:10px!important;}
html body.page-katalog .sd-cat-bar::-webkit-scrollbar{height:6px;}
html body.page-katalog .sd-cat-bar::-webkit-scrollbar-track{background:rgba(139,92,246,.08);border-radius:99px;}
html body.page-katalog .sd-cat-bar::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#8b5cf6,#6d28d9);border-radius:99px;}
html body.page-katalog .sd-cat-label,html body.page-katalog .sd-cat-pill{flex:0 0 auto;}
html body.page-katalog .sd-cat-label{position:sticky;left:0;background:linear-gradient(90deg,#fff 70%,rgba(255,255,255,0));padding-right:10px;z-index:2;}


/* katalog: tombol tambah ke keranjang — ikon putih di bg putih tak terlihat, samakan dgn btn lihat */
html body.page-katalog .cm-card-icon-actions button.cm-icon-action{background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;color:#fff!important;border:none!important;border-radius:10px!important;box-shadow:0 3px 10px rgba(109,40,217,.25)!important;cursor:pointer;}
html body.page-katalog .cm-card-icon-actions button.cm-icon-action i{color:#fff!important;}
html body.page-katalog .cm-card-icon-actions button.cm-icon-action:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(109,40,217,.35)!important;}


/* katalog: pagination rapi — pil putih gradasi, aktif gradient ungu */
html body.page-katalog .sd-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 14px;border-radius:12px;font-size:14px;font-weight:800;color:#17164f!important;background:linear-gradient(135deg,#ffffff 0%,#f3eeff 55%,#e9e2ff 100%)!important;border:1px solid rgba(139,92,246,.2);box-shadow:0 3px 10px rgba(109,40,217,.08);text-decoration:none;transition:all .18s ease;}
html body.page-katalog .sd-page-btn:hover{color:#6d28d9!important;transform:translateY(-2px);border-color:#8b5cf6;box-shadow:0 6px 14px rgba(109,40,217,.18);}
html body.page-katalog .sd-page-btn.active{color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;border-color:transparent;box-shadow:0 4px 12px rgba(109,40,217,.35);cursor:default;}
html body.page-katalog .sd-page-btn.off{opacity:.35;pointer-events:none;}
html body.page-katalog .sd-page-nav{gap:6px;white-space:nowrap;}


/* katalog: badge kategori/status di kartu -> teks hitam */
html body.page-katalog .card .feature-badges span{color:#000!important;}
html body.page-katalog .catalog-grid .card .feature-badges span,html body.page-katalog .feature-badges span,html body.page-katalog .catalog-page .feature-badges span{color:#000!important;}


/* katalog: pagination rata kanan (inline di-block overridden rule dasar, jadi pakai !important) */
html body.page-katalog .catalog-pagination-wrap{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:9px!important;}

html body.page-katalog .card .feature-badges span{-webkit-text-fill-color:#000!important;}


/* katalog: badge tidak tebal */
html body.page-katalog .catalog-grid .card .feature-badges span{font-weight:500!important;}


/* halaman daftar kategori: warna ikon & teks kartu dipertegas (sama dgn home) */
html body.page-detail .cm-cat-card .cm-cat-icon i,html body.page-detail .cm-cat-card .cm-cat-icon{color:#8b5cf6!important;}
html body.page-detail .cm-cat-card strong{color:#17164f!important;}
html body.page-detail .cm-cat-card small{color:#4b4870!important;}
html body.page-detail .cm-cat-card:hover{border-color:#8b5cf6!important;}


/* FIX-HDR-BAR (global): background navy utk bar melayang (logo+icons) saat scroll di HP */
@media (max-width:760px){
  html body[class*="page-"] .cm-brand,
  html body[class*="page-"] .wrap .cm-brand,
  html body.page-home > #top.wrap .cm-brand{
    background:linear-gradient(135deg,#17164f 0%,#21185f 60%,#2d1f78 100%)!important;
    background-color:#17164f!important;
    border-radius:14px!important;
    padding:4px 12px 4px 6px!important;
    box-shadow:0 8px 22px rgba(10,8,40,.35)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html body[class*="page-"] .cm-actions,
  html body[class*="page-"] .wrap .cm-actions,
  html body.page-home > #top.wrap .cm-actions{
    background:linear-gradient(135deg,#17164f 0%,#21185f 60%,#2d1f78 100%)!important;
    background-color:#17164f!important;
    border-radius:14px!important;
    padding:6px 10px!important;
    box-shadow:0 8px 22px rgba(10,8,40,.35)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}


/* ============================================================
   SIDEBAR MENU MOBILE (<=760px): sembunyikan nav horizontal,
   tampilkan hamburger + drawer geser dari kiri
   ============================================================ */
@media (max-width:760px){
  /* sembunyikan baris menu horizontal lama */
  html body .cm-nav-row,
  html body .wrap .cm-nav-row,
  html body .cm-nav-menu,
  html body .cm-member-pill{
    display:none!important;
  }
  /* tombol hamburger di sisi kiri pill brand */
  .sd-hamburger{
    display:inline-flex!important;
    align-items:center;justify-content:center;
    width:34px;height:34px;flex:0 0 34px;
    border:0;border-radius:10px;cursor:pointer;
    background:rgba(255,255,255,.14);
    color:#fff;-webkit-text-fill-color:#fff;
    margin-right:6px;
    transition:background .2s ease;
  }
  .sd-hamburger:active{ background:rgba(255,255,255,.28); transform:scale(.94); }
  .sd-hamburger svg{ width:20px;height:20px; }
}
@media (min-width:761px){
  .sd-hamburger, .sd-drawer, .sd-drawer-overlay{ display:none!important; }
}

/* --- Drawer (selalu ada di DOM, tapi tersembunyi by transform) --- */
.sd-drawer-overlay{
  position:fixed; inset:0;
  background:rgba(10,8,30,.55);
  backdrop-filter:blur(2px);
  opacity:0; pointer-events:none;
  transition:opacity .28s ease;
  z-index:2147483000;
}
.sd-drawer-overlay.open{ opacity:1; pointer-events:auto; }
.sd-drawer{
  position:fixed; top:0; left:0; bottom:0;
  width:min(300px, 84vw);
  background:linear-gradient(160deg,#17164f 0%,#21185f 55%,#2d1f78 100%);
  box-shadow:18px 0 50px rgba(6,4,28,.45);
  transform:translateX(-105%);
  transition:transform .3s cubic-bezier(.32,.72,.24,1);
  z-index:2147483001;
  display:flex; flex-direction:column;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:14px 14px 28px;
}
.sd-drawer.open{ transform:translateX(0); }
.sd-drawer-head{
  display:flex; align-items:center; gap:10px;
  padding:6px 4px 16px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:12px;
}
.sd-drawer-head img{ width:36px;height:36px; }
.sd-drawer-head strong{ color:#fff; font-size:15px; letter-spacing:.02em; display:block; line-height:1.2; }
.sd-drawer-head small{ color:#b9b3e6; font-size:11px; display:block; }
.sd-drawer-close{
  margin-left:auto; width:34px;height:34px;border-radius:10px;
  background:rgba(255,255,255,.1); border:0; color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.sd-drawer-close svg{ width:16px;height:16px; }
.sd-drawer a.sd-drawer-item{
  display:flex; align-items:center; gap:12px;
  padding:12px 14px; margin:2px 0;
  color:#eae7ff!important; -webkit-text-fill-color:#eae7ff!important;
  text-decoration:none; border-radius:12px;
  font-size:14.5px; font-weight:700;
  transition:background .15s ease, transform .15s ease;
}
.sd-drawer a.sd-drawer-item:active{ background:rgba(255,255,255,.12); transform:scale(.985); }
.sd-drawer a.sd-drawer-item i{ font-size:17px; width:22px; text-align:center; color:#c9b8ff; -webkit-text-fill-color:#c9b8ff; }
.sd-drawer a.sd-drawer-item.active{
  background:linear-gradient(135deg,#8b5cf6,#6d28d9);
  color:#fff!important; -webkit-text-fill-color:#fff!important;
}
.sd-drawer a.sd-drawer-item.active i{ color:#fff; -webkit-text-fill-color:#fff; }
.sd-drawer-sep{ height:1px; background:rgba(255,255,255,.1); margin:12px 4px; }
.sd-drawer a.sd-drawer-item.sd-drawer-wa{
  background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff!important; -webkit-text-fill-color:#fff!important;
}
.sd-drawer a.sd-drawer-item.sd-drawer-wa i{ color:#fff; -webkit-text-fill-color:#fff; }


/* ============================================================
   STICKY HEADER MOBILE GLOBAL (<=760px) — semua halaman SINU:
   brand+icons melayang di atas saat scroll (sama seperti home)
   ============================================================ */
@media (max-width:760px){
  html body[class*="page-"] .cm-brand,
  html body[class*="page-"] .wrap .cm-brand,
  html body.page-home > #top.wrap .cm-brand{
    position:fixed!important;
    top:10px!important;
    left:max(14px,calc((100vw - 430px) / 2 + 14px))!important;
    z-index:2147483000!important;
    width:auto!important;
    max-width:calc(100vw - 150px)!important;
    min-width:0!important;
    height:48px!important;
    margin:0!important;
  }
  html body[class*="page-"] .cm-actions,
  html body[class*="page-"] .wrap .cm-actions,
  html body.page-home > #top.wrap .cm-actions{
    position:fixed!important;
    top:12px!important;
    right:max(12px,calc((100vw - 430px) / 2 + 12px))!important;
    z-index:2147483000!important;
    width:auto!important;
    max-width:146px!important;
    height:46px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
  }
  /* beri ruang di atas konten supaya header fixed tidak menutupi */
  html body[class*="page-"] .cm-topbar{
    padding-top:70px!important;
    min-height:70px!important;
  }
}
@media (max-width:420px){
  html body[class*="page-"] .cm-brand,
  html body[class*="page-"] .wrap .cm-brand,
  html body.page-home > #top.wrap .cm-brand{
    left:12px!important;
    max-width:calc(100vw - 142px)!important;
  }
  html body[class*="page-"] .cm-actions,
  html body[class*="page-"] .wrap .cm-actions,
  html body.page-home > #top.wrap .cm-actions{
    right:10px!important;
    gap:7px!important;
  }
}

@media (max-width:760px){
  .sd-nav-wrapper{ position:sticky!important; top:12px!important; z-index:9990!important; }
  .sd-hamburger-sd{
    display:inline-flex!important; align-items:center;justify-content:center;
    width:34px;height:34px;flex:0 0 34px;
    border:0;border-radius:10px;cursor:pointer;
    background:rgba(255,255,255,.14); color:#fff;
    margin-right:4px;
  }
  .sd-hamburger-sd:active{ background:rgba(255,255,255,.28); transform:scale(.94); }
  .sd-hamburger-sd svg{ width:20px;height:20px; }
}
@media (min-width:761px){ .sd-hamburger-sd{ display:none!important; } }


/* ============================================================
   FIX Z-INDEX MOBILE: header melayang harus selalu di atas konten
   - header (brand+actions) tetap z-index raksasa
   - SEMUA elemen konten dipaksa z-index rendah supaya tidak
     menumpuk di atas header
   ============================================================ */
@media (max-width:760px){
  /* konten tidak boleh melebihi z-index 1 — kecuali drawer & overlay */
  html body[class*="page-"] main,
  html body[class*="page-"] main *,
  html body[class*="page-"] section,
  html body[class*="page-"] section *:not(.sd-drawer):not(.sd-drawer *):not(.sd-drawer-overlay),
  html body[class*="page-"] article,
  html body[class*="page-"] article *,
  html body[class*="page-"] .cm-page,
  html body[class*="page-"] .cm-page *:not(.sd-drawer):not(.sd-drawer *):not(.sd-drawer-overlay),
  html body[class*="page-"] .cm-product-card,
  html body[class*="page-"] .cm-product-card *,
  html body[class*="page-"] .cm-cat-card,
  html body[class*="page-"] .cm-cat-card *{
    z-index:1!important;
  }
  /* header di atas segalanya (kecuali drawer) */
  html body[class*="page-"] .cm-brand,
  html body[class*="page-"] .cm-actions{
    z-index:2147482999!important;
  }
  /* drawer tetap paling atas */
  .sd-drawer{ z-index:2147483001!important; }
  .sd-drawer-overlay{ z-index:2147483000!important; }
}


/* ============================================================
   FIX OVERFLOW MOBILE: cegah elemen anak keluar layar
   (grid kategori & pill kategori tidak melebihi batas kanan)
   ============================================================ */
@media (max-width:760px){
  html, body{ overflow-x:hidden!important; }
  /* grid kategori: 2 kolom rapi, tidak overflow */
  html body[class*="page-"] .cm-category-panel{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding-left:12px!important;padding-right:12px!important;
    box-sizing:border-box!important;
  }
  html body[class*="page-"] .cm-cat-card{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  /* pill kategori di katalog: scrollable tapi tidak dorong body */
  html body[class*="page-"] .sd-cat-bar{
    max-width:100vw!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }
  html body[class*="page-"] .sd-cat-bar::-webkit-scrollbar{ display:none!important; }
  /* kartu produk di grid jangan melar */
  html body[class*="page-"] .cm-product-card,
  html body[class*="page-"] .card{
    min-width:0!important;
    box-sizing:border-box!important;
  }
}


/* ============================================================
   FIX LAYANAN DIGITAL MOBILE (<=760px): card services & benefit
   strip agar pas resolusi HP (halaman /layanan)
   ============================================================ */
@media (max-width:760px){
  /* section & grid jangan keluar layar */
  html body[class*="page-"] .cm-services-section,
  html body[class*="page-"] .cm-services-grid,
  html body[class*="page-"] .cm-service-card{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  /* heading: stack vertikal, link konsultasi di bawah */
  html body[class*="page-"] .cm-services-heading{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  html body[class*="page-"] .cm-services-heading h2{
    font-size:22px!important;
    line-height:1.25!important;
  }
  /* kartu service: satu kolom penuh, gambar proporsional */
  html body[class*="page-"] .cm-services-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  html body[class*="page-"] .cm-service-card{
    padding:18px 16px!important;
    border-radius:18px!important;
  }
  html body[class*="page-"] .cm-indihome-card-image,
  html body[class*="page-"] .cm-course-card-image{
    width:100%!important;
    height:auto!important;
    max-height:300px!important;
    object-fit:cover!important;
    border-radius:14px!important;
  }
  /* points wrap rapi */
  html body[class*="page-"] .cm-service-points{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
  html body[class*="page-"] .cm-service-button{
    width:100%!important;
    text-align:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  /* benefit strip: 1 kolom penuh lebar, bukan 342px sempit */
  html body[class*="page-"] .cm-benefit-strip{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:14px 14px!important;
    gap:10px!important;
  }
  html body[class*="page-"] .cm-strip-item{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  /* banner judul pas lebar */
  html body[class*="page-"] .detail-title-banner{
    width:auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}


/* ============================================================
   FIX104-BLEED NEUTRALIZE untuk halaman /layanan di HP:
   .wrap full-bleed (100vw+bleed) bikin semua section 400px.
   Netralkan: .wrap kembali normal 100%, konten dalam padding normal.
   ============================================================ */
@media (max-width:760px){
  html body.page-home.page-detail > .wrap,
  html body.page-home.page-detail > .wrap#top{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
    box-sizing:border-box!important;
  }
  /* konten dalam section services juga dipaksa normal */
  html body.page-home.page-detail .cm-services-section,
  html body.page-home.page-detail .cm-services-grid,
  html body.page-home.page-detail .cm-service-card,
  html body.page-home.page-detail .cm-benefit-strip,
  html body.page-home.page-detail .detail-title-banner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}


/* ============================================================
   DESKTOP: halaman Blade (page-home.page-detail) samakan konsep
   desain dengan homepage — background ungu fixed + wrapper
   transparan + section card, bukan halaman putih penuh
   ============================================================ */
@media (min-width:761px){
  /* background ungu fixed persis home */
  html body.page-home.page-detail{
    background-color:#211a69!important;
    background-image:linear-gradient(180deg,#17164f 0%,#2b237f 45%,#5c49c5 74%,#7b69dc 100%)!important;
    background-repeat:no-repeat!important;
    background-attachment:fixed!important;
    min-height:100vh!important;
  }
  /* wrapper transparan mengikuti home */
  html body.page-home.page-detail > .wrap{
    background:transparent!important;
    width:min(1440px,100%)!important;
    max-width:1440px!important;
    margin:0 auto!important;
    padding:0 44px 28px!important;
    box-sizing:border-box!important;
  }
  /* section = floating card seperti home */
  html body.page-home.page-detail .cm-services-section,
  html body.page-home.page-detail .cm-benefit-strip,
  html body.page-home.page-detail .cm-services-grid{
    background:transparent!important;
    border-radius:0!important;
  }
  /* header: edge-to-edge seperti home (negatif margin untuk menempel wrap) */
  html body.page-home.page-detail .cm-header{
    margin-left:-44px!important;
    margin-right:-44px!important;
  }
}


/* ============================================================
   HARDLOCK BACKGROUND UNGU + HEADER GRADIENT (semua halaman,
   desktop & mobile) — samakan konsep dengan homepage
   ============================================================ */
html{
  min-height:100%!important;
  background:#211a69!important;
  background-image:linear-gradient(180deg,#17164f 0%,#2b237f 45%,#5c49c5 74%,#7b69dc 100%)!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
html, body, body.page-home, body[class*="page-"]{
  background-color:#271f78!important;
  background-image:linear-gradient(180deg,#17164f 0%,#211b69 16%,#332a8f 42%,#5d4fc2 72%,#7b69dc 100%)!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
/* matikan pseudo background putih/lavender dari codemarket-redesign */
body[class*="page-"]::before, body[class*="page-"]::after{
  background:transparent!important;
}
/* header gradient konsisten semua halaman */
html body[class*="page-"] .cm-header{
  background:linear-gradient(135deg,#17164f 0%,#21185f 52%,#2d1f78 100%)!important;
}
/* footer juga edge-to-edge navy seperti home */
html body[class*="page-"] .cm-news-footer{
  margin-left:0!important;
  margin-right:0!important;
}


/* ============================================================
   HEADER EDGE-TO-EDGE semua halaman Blade (desktop): header
   keluar dari wrapper supaya lebar & posisi sama dengan home
   ============================================================ */
@media (min-width:761px){
  html body.page-detail .cm-header,
  html body[class*="page-"] .wrap .cm-header{
    margin-left:-44px!important;
    margin-right:-44px!important;
  }
  /* beri jarak atas wrapper agar header tidak nempel edge atas layar */
  html body.page-detail > .wrap{
    padding-top:0!important;
  }
}



/* hardlock body ungu juga di layar lebar — lawan bg lavender cm */
@media (min-width:1201px){
  html body[class*="page-"]{
    background:#271f78!important;
    background-image:linear-gradient(180deg,#17164f 0%,#211b69 16%,#332a8f 42%,#5d4fc2 72%,#7b69dc 100%)!important;
    background-repeat:no-repeat!important;
    background-attachment:fixed!important;
  }
  html body[class*="page-"]::before,
  html body[class*="page-"]::after{
    background:transparent!important;
  }
}


/* ============================================================
   DESKTOP: samakan "bingkai" halaman Blade dgn beranda —
   body gradient ungu fixed full (bukan lavender muda) sehingga
   strip putih antara header & konten hilang
   ============================================================ */
@media (min-width:761px){
  /* lawan rule body lavender muda dari codemarket (khusus page-detail non-home) */
  html body.page-detail:not(.page-home),
  html body[class*="page-"]:not(.page-home):not(.page-auth):not(.page-cart):not(.page-account){
    background:#271f78!important;
    background-image:
      radial-gradient(circle at 4% 9%, rgba(255,101,179,.14), transparent 19%),
      radial-gradient(circle at 96% 18%, rgba(139,92,246,.16), transparent 20%),
      linear-gradient(180deg,#17164f 0%,#211b69 16%,#332a8f 42%,#5d4fc2 72%,#7b69dc 100%)!important;
    background-repeat:no-repeat!important;
    background-attachment:fixed!important;
    min-height:100vh!important;
  }
  /* pseudo elemen generator bg lama dimatikan */
  html body.page-detail:not(.page-home)::before,
  html body.page-detail:not(.page-home)::after{
    background:none!important;
  }
  /* kartu judul "Kategori/Best Seller/dll" tetap seperti beranda: card putih; itu sudah ok */
}


/* ============================================================
   DESKTOP: lapisan ungu penuh di belakang semuanya (ala fix155
   beranda) — menutup strip abu antara header dan konten
   ============================================================ */
@media (min-width:761px){
  /* pseudo di html (root) — viewport-wide, pasti menang dari body bg */
  html body.page-detail[class*="page-"]::after,
html body.page-katalog[class*="page-"]::after,
html body.page-product[class*="page-"]::after,
html body[class*="page-"].light::after{
    content:""!important;
    display:block!important;
    position:fixed!important;
    left:0!important;
    top:0!important;
    width:100vw!important;
    height:100vh!important;
    z-index:2147483646!important;
    pointer-events:none!important;
    background:linear-gradient(180deg,#17164f 0%,#211b69 16%,#332a8f 42%,#5d4fc2 72%,#7b69dc 100%)!important;
  }
}

/* ============================================================
   KONSEP BERANDA UNTUK SEMUA HALAMAN BLADE:
   layer .fix155-page-background di belakang, full viewport fixed,
   gradient ungu + radial orbs identik dengan homepage
   ============================================================ */
.fix155-page-background{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:
    radial-gradient(circle at 7% 15%, rgba(255,208,99,0.13) 0%, rgba(0,0,0,0) 17%),
    radial-gradient(circle at 93% 22%, rgba(97,210,255,0.14) 0%, rgba(0,0,0,0) 18%),
    radial-gradient(circle at 50% 95%, rgba(255,101,179,0.10) 0%, rgba(0,0,0,0) 22%),
    linear-gradient(180deg,#17164f 0%,#2b237f 45%,#5c49c5 74%,#7b69dc 100%)!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}
/* konten di atas layer fix155 */
body > .fix155-page-background + *{
  position:relative!important;
  z-index:1!important;
}

/* ============================================================
   WRAPPER CENTER di layar lebar (konsisten dgn beranda: 1280px
   ditengah, body ungu fixed full)
   ============================================================ */
@media (min-width:1441px){
  html body[class*="page-"] .wrap,
  html body[class*="page-"].light .wrap{
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* ============================================================
   MENU NAVIGASI di halaman selain beranda
   Minimal saja: bar navy solid + teks putih tebal.
   JANGAN pakai position/z-index/filter di sini — kombinasi itu
   bikin nav-row jadi stacking context sendiri dan glyph teks
   ter-clip (menu tampak hilang/pudar). Header sudah punya
   z-index sendiri dari codemarket-redesign.css.
   ============================================================ */
html body[class*="page-"] .fix155-page-background{
  z-index:0!important;
}
html body[class*="page-"]:not(.page-home) .cm-nav-row{
  background:#15124a!important;
  background-image:linear-gradient(180deg,#15124a 0%,#1c1760 100%)!important;
}
html body[class*="page-"]:not(.page-home) .cm-nav-item,
html body[class*="page-"]:not(.page-home) .cm-nav-item i{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:none!important;
}

/* ============================================================
   GANTI SIMBOL ✦ (U+2726) -> IKON FONT
   U+2726 tidak ada di banyak font Windows/Android sehingga
   tampil sebagai kotak / tanda tidak terbaca, terutama di banner
   judul halaman (produk-terbaru, best-seller, katalog, kategori,
   promo, layanan). Diganti ikon bootstrap-icons agar konsisten.
   Catatan: bintang rating ★★★★★ di kartu TIDAK diubah — itu
   karakter U+2605 yang didukung semua font.
   ============================================================ */
html body[class*="page-"] .seo-heading::before{
  content:"\f5a2"!important;
  font-family:"bootstrap-icons"!important;
  font-weight:400!important;
  font-style:normal!important;
  line-height:1!important;
}
/* ✦ kilau kecil di tombol aksi kartu (view/wishlist) — sama U+2726,
   diganti ikon sparkle bootstrap-icons (bi-stars \f5a2) */
html body .cm-icon-action::after{
  content:"\f5a2"!important;
  font-family:"bootstrap-icons"!important;
  font-weight:400!important;
  font-style:normal!important;
  font-size:9px!important;
  line-height:1!important;
}
/* ✦ di grid related halaman detail */
html body.page-detail .samida-related-grid .cm-icon-action::after,
html body .samida-related-grid .cm-icon-action::after{
  content:"\f5a2"!important;
  font-family:"bootstrap-icons"!important;
  font-weight:400!important;
  font-style:normal!important;
}
/* ✦ sisa dekorasi: bintang kilau di judul section produk terbaru,
   tombol aksi produk (shimmer), dan promo besar.
   Semua U+2726 -> ikon font bootstrap-icons. */
html body.page-home #produk .cm-produk-terbaru-head .cm-produk-terbaru-star::after,
html body #produk .cm-produk-terbaru-head .cm-produk-terbaru-star::after,
html body[class*="page-"] .seo-heading::before,
html body .cm-icon-action::after,
html body .cm-product-card .cm-product-actions .cm-icon-action::after,
.cm-promo-big:before,
html body.page-home .wrap #produk .cm-section-head h2 i::after{
  font-family:"bootstrap-icons"!important;
  font-weight:400!important;
  font-style:normal!important;
}
/* judul section produk terbaru: kilau -> bintang */
html body.page-home #produk .cm-produk-terbaru-head .cm-produk-terbaru-star::after,
html body #produk .cm-produk-terbaru-head .cm-produk-terbaru-star::after,
html body.page-home .wrap #produk .cm-section-head h2 i::after{
  content:"\f5a2"!important;
}
/* tombol aksi produk: kilau -> bintang */
html body .cm-icon-action::after,
html body .cm-product-card .cm-product-actions .cm-icon-action::after{
  content:"\f5a2"!important;
}
/* promo besar: 3 simbol -> bintang + tanda persen pakai ikon */
.cm-promo-big:before{
  content:"\f5a2  \f5a2  \f586"!important;
}

/* ============================================================
   SEJAJARKAN HEADER DENGAN BODY  (semua halaman; beranda sudah
   sejajar sendiri lewat aturan home)
   Sumber masalah:
   1. .cm-header{margin:0 -44px!important} di codemarket-redesign.css
   2. @media(min-width:1441px) HEADER FULL-BLEED (100vw) di file ini
      -> sudah dihapus
   Akibatnya header melebar 1895px (lebar viewport) padahal konten
   body hanya 1280px tercenter (x=308). Fix: nolkan margin + reset
   width/min/max supaya header mengikuti lebar .wrap.
   Berlaku juga untuk /promo & /layanan yang body-nya memakai
   class page-home walau bukan beranda.
   ============================================================ */
html body[class*="page-"] .wrap > .cm-header,
html body[class*="page-"] .wrap .cm-header{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  margin-top:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
html body[class*="page-"] .cm-header > .cm-topbar,
html body[class*="page-"] .cm-header > .cm-nav-row{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
}
/* di layar lebar header tetap sejajar body, TIDAK full-bleed */
@media (min-width:1441px){
  html body[class*="page-"] .wrap > .cm-header,
  html body[class*="page-"] .wrap .cm-header{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
  }
}

/* Warna teks status paginasi "Halaman N dari N" -> hitam.
   Asalnya rgb(184,193,231) lavender pucat di .sect, nyaris tak terbaca
   di panel putih. Halaman: /katalog, /produk-terbaru, /best-seller. */
#catalogPageStatus,
.sect > #catalogPageStatus,
.sect span#catalogPageStatus{
  color:#000!important;
  -webkit-text-fill-color:#000!important;
  font-weight:500!important;
  opacity:1!important;
}
/* jaga-jaga kalau ada overlay/opacity dari induknya yg meredupkan teks */
.sect > #catalogPageStatus{text-shadow:none!important;}

/* ===== Tombol wishlist (hati) di kartu produk — semua halaman ===== */
.cm-product-card .sd-wish-btn,
.cm-card-icon-actions .sd-wish-btn{
  background:transparent!important;
  background-image:none!important;
  color:#c65677!important;-webkit-text-fill-color:#c65677!important;
  border:1px solid #f3d6e1!important;border-radius:12px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
.cm-product-card .sd-wish-btn i,
.cm-card-icon-actions .sd-wish-btn i{
  color:#c65677!important;-webkit-text-fill-color:#c65677!important;font-size:17px!important;
}
.cm-product-card .sd-wish-btn svg,
.cm-card-icon-actions .sd-wish-btn svg{fill:#c65677!important}
/* aktif (sudah ada di wishlist) */
.cm-product-card .sd-wish-btn.on,
.cm-card-icon-actions .sd-wish-btn.on{
  background:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;
  background-image:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;
  border-color:transparent!important;
  box-shadow:0 6px 14px rgba(198,86,119,.30)!important;
}
.cm-product-card .sd-wish-btn.on i,
.cm-card-icon-actions .sd-wish-btn.on i{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
.cm-product-card .sd-wish-btn.on svg,
.cm-card-icon-actions .sd-wish-btn.on svg{fill:#fff!important}
.cm-product-card .sd-wish-btn:hover,
.cm-card-icon-actions .sd-wish-btn:hover{
  background:#fdeef4!important;background-image:none!important;border-color:#e9aec5!important;
}
.cm-product-card .sd-wish-btn.on:hover,
.cm-card-icon-actions .sd-wish-btn.on:hover{
  background:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;
  background-image:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;
}
/* tombol keranjang di kartu promo (pakai <button> di dalam form) */
.cm-product-actions form{display:contents!important}
.cm-product-actions button.cm-icon-action{
  background:transparent!important;background-image:none!important;
  border:1px solid #e6e1fb!important;border-radius:12px!important;cursor:pointer!important;
  color:#8b5cf6!important;-webkit-text-fill-color:#8b5cf6!important;
  font-size:17px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
.cm-product-actions button.cm-icon-action i{
  color:#8b5cf6!important;-webkit-text-fill-color:#8b5cf6!important;
}
.cm-product-actions button.cm-icon-action:hover{background:#f5f2ff!important;background-image:none!important}

/* ===== Tombol aksi kartu produk: samakan di SEMUA halaman (katalog, wishlist, promo) =====
   Kartu wishlist pakai struktur .cm-product-card persis seperti katalog. */
html body.page-detail .cm-product-card .cm-card-icon-actions,
html body.page-katalog .cm-product-card .cm-card-icon-actions{
  display:flex!important;align-items:center!important;gap:8px!important;margin-top:10px!important;
}
html body.page-detail .cm-product-card .cm-card-icon-actions > a,
html body.page-detail .cm-product-card .cm-card-icon-actions > form,
html body.page-katalog .cm-product-card .cm-card-icon-actions > a,
html body.page-katalog .cm-product-card .cm-card-icon-actions > form{flex:1 1 0!important;min-width:0!important}
html body.page-detail .cm-product-card .cm-card-icon-actions button,
html body.page-katalog .cm-product-card .cm-card-icon-actions button{width:100%!important}
html body.page-detail .cm-product-card .cm-card-icon-actions form,
html body.page-katalog .cm-product-card .cm-card-icon-actions form{display:block!important}

/* tombol mata — outline ungu */
html body.page-detail .cm-product-card .cm-card-icon-actions .cm-card-view-btn,
html body.page-katalog .cm-product-card .cm-card-icon-actions .cm-card-view-btn{
  background:#f6f3ff!important;background-image:none!important;
  border:1px solid #e0d8ff!important;border-radius:12px!important;
  color:#8b5cf6!important;-webkit-text-fill-color:#8b5cf6!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:40px!important;padding:0!important;
}
html body.page-detail .cm-product-card .cm-card-icon-actions .cm-card-view-btn i,
html body.page-katalog .cm-product-card .cm-card-icon-actions .cm-card-view-btn i{
  color:#8b5cf6!important;-webkit-text-fill-color:#8b5cf6!important;font-size:17px!important;
}
/* tombol keranjang — gradient ungu solid */
html body.page-detail .cm-product-card .cm-card-icon-actions button.cm-icon-action,
html body.page-katalog .cm-product-card .cm-card-icon-actions button.cm-icon-action{
  background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%)!important;
  background-image:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%)!important;
  border:0!important;border-radius:12px!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  height:40px!important;padding:0!important;cursor:pointer!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-shadow:0 6px 14px rgba(139,92,246,.28)!important;
}
html body.page-detail .cm-product-card .cm-card-icon-actions button.cm-icon-action i,
html body.page-katalog .cm-product-card .cm-card-icon-actions button.cm-icon-action i{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:17px!important;
}
/* tombol hati AKTIF — pink solid, ikon PUTIH */
html body.page-detail .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on,
html body.page-katalog .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on{
  background:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;
  background-image:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;
  border:0!important;border-radius:12px!important;
  box-shadow:0 6px 14px rgba(198,86,119,.30)!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  height:40px!important;padding:0!important;
}
html body.page-detail .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on i,
html body.page-detail .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on i.bi-heart-fill,
html body.page-katalog .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on i,
html body.page-katalog .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on i.bi-heart-fill{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:17px!important;
}
html body.page-detail .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on svg,
html body.page-katalog .cm-product-card .cm-card-icon-actions a.sd-wish-btn.on svg{fill:#fff!important}


/* ============================================================
   FOOTER SEJAJAR DENGAN BODY — halaman yang footernya berada
   LANGSUNG di bawah <body> (detail produk, cart).
   Di sana footer tidak punya induk ber-padding, jadi margin-left:0
   membuatnya nempel tepi kiri (x:0). Samakan dengan halaman lain
   yang footernya di dalam .wrap (x:326, w:1244).
   ============================================================ */
html body > .cm-news-footer,
html body[class*="page-"] > .cm-news-footer,
html body.page-detail > .cm-news-footer,
html body.page-katalog > .cm-news-footer{
  width:1244px!important;
  max-width:1244px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
}
/* di layar sempit: penuh lebar, jangan sampai overflow */
@media (max-width:1330px){
  html body > .cm-news-footer,
  html body[class*="page-"] > .cm-news-footer,
  html body.page-detail > .cm-news-footer,
  html body.page-katalog > .cm-news-footer{
    width:auto!important;
    max-width:none!important;
    margin-left:18px!important;
    margin-right:18px!important;
  }
}


/* ============================================================
   KARTU PRODUK BISA DIKLIK -> masuk halaman detail.
   Berlaku untuk dua struktur kartu:
   - .card            (katalog, produk-terbaru, best-seller)
   - .cm-product-card (wishlist, promo, "Produk Lain" di detail)
   Klik pada tombol (keranjang / wishlist / mata / zoom) TIDAK
   ikut pindah — ditangani di JS.
   ============================================================ */
html body .card,
html body .cm-product-card{
  cursor:pointer!important;
  transition:transform .22s cubic-bezier(.2,.8,.3,1), box-shadow .22s ease!important;
}
html body .card:hover,
html body .cm-product-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 14px 34px rgba(23,22,79,.16)!important;
}
/* judul kartu jadi teks biasa (link-nya lewat JS di seluruh kartu) */
html body .card .ttl,
html body .cm-product-card .cm-product-title{pointer-events:none!important}
/* tombol & link tetap bisa diklik sendiri */
html body .card .btns,
html body .cm-product-card .cm-card-icon-actions{pointer-events:auto!important}


/* ============================================================
   BERANDA — tombol aksi kartu "Produk Terbaru"
   Kartu beranda pakai SVG (bukan Bootstrap Icons) dan di-render
   dari routes/web.php, jadi butuh aturan sendiri.
   ============================================================ */
html body.page-home .cm-product-card .cm-product-actions{
  display:flex!important;align-items:center!important;gap:8px!important;margin-top:10px!important;
}
html body.page-home .cm-product-card .cm-product-actions > a,
html body.page-home .cm-product-card .cm-product-actions > form{
  flex:1 1 0!important;min-width:0!important;display:block!important;margin:0!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-icon-action{
  width:100%!important;height:40px!important;border:0!important;border-radius:12px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;padding:0!important;box-sizing:border-box!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-action-svg{
  width:19px!important;height:19px!important;
}
/* mata = outline ungu */
html body.page-home .cm-product-card .cm-product-actions .cm-card-view-btn{
  background:#f6f3ff!important;background-image:none!important;border:1px solid #e0d8ff!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-card-view-btn .cm-eye-svg{
  fill:#8b5cf6!important;
}
/* keranjang = gradient ungu solid (kalahkan aturan button pucat di samida-theme.css) */
html body.page-home .cm-product-card .cm-product-actions .cm-card-cart-btn,
html body.page-home .cm-product-card .cm-product-actions button.cm-card-cart-btn,
html body[class*="page-"]:not(.page-invoice) .cm-product-card .cm-product-actions button.cm-card-cart-btn{
  background:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%)!important;
  background-color:#8b5cf6!important;
  background-image:linear-gradient(135deg,#8b5cf6 0%,#6d28d9 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 6px 14px rgba(139,92,246,.38)!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-card-cart-btn .cm-cart-svg{
  fill:#fff!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-card-cart-btn:hover{
  filter:brightness(1.08)!important;
}
/* hati = pink kalau sudah tersimpan, outline kalau belum */
html body.page-home .cm-product-card .cm-product-actions .cm-card-wishlist-btn{
  background:#fff0f7!important;background-image:none!important;border:1px solid #ffd6e8!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-card-wishlist-btn .cm-heart-svg{
  fill:#c65677!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-card-wishlist-btn.on{
  background:linear-gradient(135deg,#ff65b3 0%,#c65677 100%)!important;border:0!important;
  box-shadow:0 6px 14px rgba(198,86,119,.30)!important;
}
html body.page-home .cm-product-card .cm-product-actions .cm-card-wishlist-btn.on .cm-heart-svg{
  fill:#fff!important;
}

/* ===== Tombol aksi kartu PROMO (/promo) =====
   Halaman promo body class = "page-home page-detail light".
   Sebelumnya tombol keranjang & WA salah pakai class cm-card-wishlist-btn. */
html body.page-home.page-detail .cm-product-card .cm-card-cart-btn,
html body.page-home.page-detail .cm-product-card .cm-product-actions .cm-card-cart-btn{
  background-color:#7c3aed!important;
  background-image:linear-gradient(135deg,#a855f7 0%,#7c3aed 55%,#6d28d9 100%)!important;
  border:0!important;color:#fff!important;
  box-shadow:0 6px 16px rgba(124,58,237,.45)!important;
}
html body.page-home.page-detail .cm-product-card .cm-card-cart-btn i,
html body.page-home.page-detail .cm-product-card .cm-card-cart-btn svg{
  color:#fff!important;fill:#fff!important;
}
html body.page-home.page-detail .cm-product-card .cm-card-cart-btn:hover{
  filter:brightness(1.12)!important;transform:translateY(-2px);
}
/* tombol WhatsApp */
html body.page-home.page-detail .cm-product-card .cm-card-wa-btn{
  background-color:#22c55e!important;
  background-image:linear-gradient(135deg,#25d366 0%,#16a34a 100%)!important;
  border:0!important;color:#fff!important;
  box-shadow:0 6px 16px rgba(34,197,94,.40)!important;
}
html body.page-home.page-detail .cm-product-card .cm-card-wa-btn i,
html body.page-home.page-detail .cm-product-card .cm-card-wa-btn svg{
  color:#fff!important;fill:#fff!important;
}
html body.page-home.page-detail .cm-product-card .cm-card-wa-btn:hover{
  filter:brightness(1.1)!important;transform:translateY(-2px);
}
/* semua tombol aksi kartu promo: ukuran seragam */
html body.page-home.page-detail .cm-product-card .cm-card-icon-actions .cm-icon-action{
  border-radius:12px!important;min-height:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}

/* ============================================================
   HALAMAN LOGIN MEMBER — lepas dari aturan "pucat" tombol global
   (samida-theme.css: body[class*="page-"] button -> rgba(139,92,246,.13))
   ============================================================ */
html body.page-detail .sd-login-wrap .sd-btn-login,
html body[class*="page-"] .sd-login-wrap .sd-btn-login,
html body[class*="page-"] .sd-login-wrap button.sd-btn-login{
  background:linear-gradient(135deg,#8B5CF6 0%,#7C3AED 55%,#6D28D9 100%)!important;
  background-image:linear-gradient(135deg,#8B5CF6 0%,#7C3AED 55%,#6D28D9 100%)!important;
  background-color:#7C3AED!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:0!important;
  height:52px!important;
  min-height:52px!important;
  border-radius:13px!important;
  font-size:15.5px!important;
  font-weight:800!important;
  box-shadow:0 10px 24px rgba(124,58,237,.34)!important;
  cursor:pointer!important;
}
html body[class*="page-"] .sd-login-wrap .sd-btn-login:hover{
  filter:brightness(1.06)!important;
  box-shadow:0 14px 30px rgba(124,58,237,.44)!important;
  transform:translateY(-1px);
}
/* tombol mata (lihat password) — jangan ikut jadi kotak ungu pucat */
html body[class*="page-"] .sd-login-wrap button.sd-eye{
  background:transparent!important;
  border:0!important;
  color:#9A93B8!important;
  -webkit-text-fill-color:#9A93B8!important;
  box-shadow:none!important;
  border-radius:9px!important;
  width:36px!important;
  height:36px!important;
  min-height:0!important;
  padding:0!important;
}
html body[class*="page-"] .sd-login-wrap button.sd-eye:hover{
  background:#F2EEFF!important;
  color:#7C3AED!important;
  -webkit-text-fill-color:#7C3AED!important;
}
/* CTA WhatsApp & link admin tetap bersih */
html body[class*="page-"] .sd-login-wrap .sd-cta-wa{
  color:#128C7E!important;-webkit-text-fill-color:#128C7E!important;
  background:#E7F8F3!important;border:1px solid #B9E8DC!important;
}

/* --- FORM LOGIN: timpa aturan input gelap global
   (samida-theme.css: body[class*="page-"]:not(.page-invoice) input -> rgba(7,11,29,.78)) --- */
html body[class*="page-"] .sd-login-wrap .sd-field-in input,
html body[class*="page-"] input#sd-email,
html body[class*="page-"] input#sd-pass,
body[class*="page-"]:not(.page-invoice) .sd-login-wrap .sd-field-in input{
  background:#FAF9FF!important;
  background-color:#FAF9FF!important;
  background-image:none!important;
  color:#17164F!important;
  -webkit-text-fill-color:#17164F!important;
  padding-left:45px!important;
  padding-right:46px!important;
  height:52px!important;
  min-height:52px!important;
  border:1.5px solid #E4E0F2!important;
  border-radius:13px!important;
  font-size:14.5px!important;
  box-shadow:none!important;
}
html body[class*="page-"] .sd-login-wrap .sd-field-in input:focus{
  background:#fff!important;
  background-color:#fff!important;
  border-color:#8B5CF6!important;
  box-shadow:0 0 0 4px rgba(139,92,246,.13)!important;
}
html body[class*="page-"] .sd-login-wrap .sd-field-in input::placeholder{
  color:#A9A3C0!important;
  -webkit-text-fill-color:#A9A3C0!important;
}

/* --- checkbox "Ingat saya": paksa sejajar satu baris --- */
html body[class*="page-"] .sd-login-wrap .sd-check,
body[class*="page-"]:not(.page-invoice) .sd-login-wrap .sd-check{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  line-height:1!important;
  font-size:13.5px!important;
  color:#4A4763!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
}
html body[class*="page-"] .sd-login-wrap .sd-check input[type=checkbox],
body[class*="page-"]:not(.page-invoice) .sd-login-wrap .sd-check input[type=checkbox]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  flex:0 0 18px!important;
  margin:0!important;
  padding:0!important;
  accent-color:#7C3AED!important;
  background:#fff!important;
  border:1.5px solid #C9C2E0!important;
  border-radius:5px!important;
  box-shadow:none!important;
  display:inline-block!important;
  -webkit-appearance:checkbox!important;
  appearance:auto!important;
}
html body[class*="page-"] .sd-login-wrap .sd-check span{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#4A4763!important;
  -webkit-text-fill-color:#4A4763!important;
  font-size:13.5px!important;
  font-weight:600!important;
  line-height:1!important;
  white-space:nowrap!important;
  display:inline!important;
  height:auto!important;
}
html body[class*="page-"] .sd-login-wrap .sd-row-between{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  height:auto!important;
  min-height:0!important;
}
html body[class*="page-"] .sd-login-wrap .sd-forgot{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#7C3AED!important;
  -webkit-text-fill-color:#7C3AED!important;
  font-size:13.5px!important;
  font-weight:700!important;
}
/* label & subjudul form tidak ikut jadi kotak */
html body[class*="page-"] .sd-login-wrap .sd-field label{
  background:transparent!important;
  border:0!important;
  padding:0!important;
  color:#17164F!important;
  -webkit-text-fill-color:#17164F!important;
  font-size:13px!important;
  font-weight:700!important;
  display:block!important;
}

/* ============================================================
   HALAMAN DOKUMEN (FAQ, S&K, Privasi, Tentang, Cara) —
   teks dipaksa pudar oleh aturan global (rasio kontras 1.7, harus >=4.5)
   ============================================================ */
html body[class*="page-"] .sd-doc,
html body[class*="page-"] .sd-doc p,
html body[class*="page-"] .sd-doc li,
html body[class*="page-"] .sd-doc .sd-doc-lead,
html body[class*="page-"] .sd-doc .sd-faq .sd-faq-body,
html body[class*="page-"] .sd-doc .sd-step-in p{
  color:#3F3B5C!important;
  -webkit-text-fill-color:#3F3B5C!important;
}
html body[class*="page-"] .sd-doc h2,
html body[class*="page-"] .sd-doc h3,
html body[class*="page-"] .sd-doc li strong,
html body[class*="page-"] .sd-doc p strong,
html body[class*="page-"] .sd-doc .sd-step-in strong{
  color:#17164F!important;
  -webkit-text-fill-color:#17164F!important;
}
html body[class*="page-"] .sd-doc a{
  color:#6D28D9!important;
  -webkit-text-fill-color:#6D28D9!important;
}
/* catatan kuning: teks coklat tua yang terbaca */
html body[class*="page-"] .sd-doc .sd-doc-note{
  color:#7A5300!important;
  -webkit-text-fill-color:#7A5300!important;
  background:#FFF8E8!important;
  border:1px solid #FFE2A8!important;
}
html body[class*="page-"] .sd-doc .sd-doc-note a{
  color:#6D28D9!important;
  -webkit-text-fill-color:#6D28D9!important;
}
/* paragraf pembuka (lead) */
html body[class*="page-"] .sd-doc .sd-doc-lead{
  background:linear-gradient(135deg,#F7F4FF,#F1ECFF)!important;
  border-left:5px solid #8B5CF6!important;
}
/* kartu Tentang Kami */
html body[class*="page-"] .sd-doc .sd-doc-card span{
  color:#4A4763!important;
  -webkit-text-fill-color:#4A4763!important;
}
html body[class*="page-"] .sd-doc .sd-doc-card strong{
  color:#17164F!important;
  -webkit-text-fill-color:#17164F!important;
}
/* pertanyaan FAQ + panah */
html body[class*="page-"] .sd-doc .sd-faq summary{
  color:#17164F!important;
  -webkit-text-fill-color:#17164F!important;
  background:#fff!important;
}
html body[class*="page-"] .sd-doc .sd-faq summary:hover{
  background:#F8F6FF!important;
}
/* nomor langkah */
html body[class*="page-"] .sd-doc .sd-step-no{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#8B5CF6,#6D28D9)!important;
}

/* ============================================================
   HALAMAN PESANAN (checkout / pesanan / invoice)
   Menimpa aturan global samida-theme.css:
   body[class*="page-"]:not(.page-invoice) button  -> pucat
   body[class*="page-"]:not(.page-invoice) input   -> hitam + padding 13px
   ============================================================ */
html body[class*="page-"] .sd-ck-card button,
html body[class*="page-"] .sd-ck-btn,
html body[class*="page-"] .sd-ps-copy,
html body[class*="page-"] .sd-inv-cetak{
  background:linear-gradient(135deg,#8B5CF6,#7C3AED 55%,#6D28D9)!important;
  border:0!important;color:#fff!important;cursor:pointer;
}
html body[class*="page-"] .sd-ck-btn{box-shadow:0 10px 24px rgba(124,58,237,.34)!important}
html body[class*="page-"] .sd-ck-btn:disabled{opacity:.65!important}

html body[class*="page-"] .sd-ck-field input{
  background:#FAF9FF!important;color:#17164F!important;padding:0 15px!important;
  border:1.5px solid #E4E0F2!important;border-radius:12px!important;
  width:100%!important;height:48px!important;font-size:14.5px!important;
  font-family:inherit!important;box-shadow:none!important;outline:none!important;
}
html body[class*="page-"] .sd-ck-field input:focus{
  border-color:#8B5CF6!important;background:#fff!important;box-shadow:0 0 0 4px rgba(139,92,246,.13)!important;
}
html body[class*="page-"] .sd-ck-field input::placeholder{color:#A9A4C2!important}

/* label metode pembayaran — radio disembunyikan, kartu jadi penanda terpilih */
html body[class*="page-"] .sd-ck-metode input[type="radio"]{
  position:absolute!important;opacity:0!important;width:0!important;height:0!important;
  padding:0!important;background:none!important;border:0!important;
}

/* tombol hijau WhatsApp & unduhan di halaman pesanan */
html body[class*="page-"] .sd-ps-wa{
  background:linear-gradient(135deg,#25D366,#128C7E)!important;border:0!important;color:#fff!important;
}
html body[class*="page-"] .sd-ps-dl,
html body[class*="page-"] .sd-ps-btn{
  background:linear-gradient(135deg,#8B5CF6,#6D28D9)!important;border:0!important;color:#fff!important;
}
html body[class*="page-"] .sd-ps-dl{background:linear-gradient(135deg,#16A34A,#15803D)!important}

/* tautan bawah halaman pesanan — bukan tombol, jangan kena aturan global */
html body[class*="page-"] .sd-ps-links a,
html body[class*="page-"] .sd-ck-back,
html body[class*="page-"] .sd-inv-kembali{
  background:#F7F6FC!important;border:1px solid #E7E3F5!important;color:#5A5675!important;
}

/* Invoice: aturan global samida-theme.css memaksa teks <strong> jadi PUTIH
   (rasio kontras 1.04 di latar krem) — timpa dengan warna pekat. */
html body[class*="page-"] .sd-inv-status strong{color:#17164F!important;font-weight:900!important}
html body[class*="page-"] .sd-inv-status.lunas strong{color:#15803D!important}
html body[class*="page-"] .sd-inv-status.belum strong{color:#92400E!important}
html body[class*="page-"] .sd-inv-status span{color:#4A4763!important}
html body[class*="page-"] .sd-inv-brand strong{color:#17164F!important}
html body[class*="page-"] .sd-inv-brand span{color:#6B6B85!important}
html body[class*="page-"] .sd-inv-judul h1{color:#7C3AED!important;-webkit-text-fill-color:#7C3AED!important}
html body[class*="page-"] .sd-inv-judul strong{color:#17164F!important}
html body[class*="page-"] .sd-inv-judul span{color:#6B6B85!important}
html body[class*="page-"] .sd-inv-pihak strong{color:#17164F!important}
html body[class*="page-"] .sd-inv-pihak span{color:#4A4763!important}
html body[class*="page-"] .sd-inv-label{color:#6B6B85!important}
html body[class*="page-"] .sd-inv-tabel td{color:#4A4763!important}
html body[class*="page-"] .sd-inv-tabel td strong{color:#17164F!important}
html body[class*="page-"] .sd-inv-kaki p{color:#6B6B85!important}
html body[class*="page-"] .sd-inv-kaki p strong{color:#17164F!important}
html body[class*="page-"] .sd-inv-kecil{color:#8B87A8!important}

/* Halaman pesanan: teks di kartu putih & panel kode bayar */
html body[class*="page-"] .sd-ps-kode strong{color:#17164F!important}
html body[class*="page-"] .sd-ps-kode span{color:#6D28D9!important}
html body[class*="page-"] .sd-ps-card h2,
html body[class*="page-"] .sd-ps-pay h4{color:#17164F!important}
html body[class*="page-"] .sd-ps-name,
html body[class*="page-"] .sd-ps-item b,
html body[class*="page-"] .sd-ps-row strong,
html body[class*="page-"] .sd-ps-rows b,
html body[class*="page-"] .sd-ps-metode strong,
html body[class*="page-"] .sd-ps-total span:first-child{color:#17164F!important}
html body[class*="page-"] .sd-ps-langkah li,
html body[class*="page-"] .sd-ps-rows span,
html body[class*="page-"] .sd-ps-metode span,
html body[class*="page-"] .sd-ps-unit{color:#4A4763!important}
html body[class*="page-"] .sd-ps-amount{color:#7C3AED!important}
html body[class*="page-"] .sd-ps-total span:last-child{color:#7C3AED!important}
html body[class*="page-"] .sd-ps-paid strong{color:#15803D!important}
html body[class*="page-"] .sd-ps-paid strong,
html body[class*="page-"] .sd-ps-paid span{color:#4A4763!important}
html body[class*="page-"] .sd-ps-paid strong{color:#15803D!important}

/* Checkout: judul kartu & teks kartu metode */
html body[class*="page-"] .sd-ck-card h2,
html body[class*="page-"] .sd-ck-summary h4{color:#17164F!important}
html body[class*="page-"] .sd-ck-metode-in strong{color:#17164F!important}
html body[class*="page-"] .sd-ck-metode-in small,
html body[class*="page-"] .sd-ck-hint,
html body[class*="page-"] .sd-ck-nama,
html body[class*="page-"] .sd-ck-row,
html body[class*="page-"] .sd-ck-total span:first-child{color:#17164F!important}
html body[class*="page-"] .sd-ck-metode-in small,
html body[class*="page-"] .sd-ck-qty,
html body[class*="page-"] .sd-ck-safe{color:#6B6B85!important}
html body[class*="page-"] .sd-ck-total span:last-child{color:#7C3AED!important}

/* Halaman pesanan: nomor invoice, kode bayar, dan label status diwarisi PUTIH
   dari aturan global samida-theme.css → tak terbaca di kartu putih. */
html body[class*="page-"] .sd-ps-head .sd-ps-inv{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ps-head .sd-ps-label{color:#6B6B85!important;-webkit-text-fill-color:#6B6B85!important}
html body[class*="page-"] .sd-ps-head .sd-ps-date{color:#4A4763!important}
html body[class*="page-"] .sd-ps-kode strong{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ps-status{color:#B45309!important;-webkit-text-fill-color:#B45309!important;background:#FFFBEB!important;border-color:#FDE68A!important}
html body[class*="page-"] .sd-ps-status.lunas{color:#15803D!important;-webkit-text-fill-color:#15803D!important;background:#F0FDF4!important;border-color:#BBF7D0!important}
html body[class*="page-"] .sd-ps-card h2,
html body[class*="page-"] .sd-ps-card h2 i,
html body[class*="page-"] .sd-ps-pay h4,
html body[class*="page-"] .sd-ps-pay h4 i{color:#7C3AED!important;-webkit-text-fill-color:#7C3AED!important}
html body[class*="page-"] .sd-ps-card h2,
html body[class*="page-"] .sd-ps-pay h4{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ps-paid i{color:#16A34A!important}
html body[class*="page-"] .sd-ps-secure{color:#6B6B85!important}
html body[class*="page-"] .sd-ps-alert{color:#4A4763!important}
html body[class*="page-"] .sd-ps-alert.ok{color:#166534!important}
html body[class*="page-"] .sd-ps-alert.err{color:#9B1C1C!important}
html body[class*="page-"] .sd-ps-alert.info{color:#4C1D95!important}
/* label "SUBTOTAL"/"TOTAL" & angka di kartu putih */
html body[class*="page-"] .sd-ps-row span,
html body[class*="page-"] .sd-ps-rows span,
html body[class*="page-"] .sd-ps-metode span{color:#4A4763!important;-webkit-text-fill-color:#4A4763!important}
html body[class*="page-"] .sd-ps-row strong,
html body[class*="page-"] .sd-ps-rows b,
html body[class*="page-"] .sd-ps-metode strong{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ps-total span:first-child{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ps-total span:last-child,
html body[class*="page-"] .sd-ps-amount{color:#7C3AED!important;-webkit-text-fill-color:#7C3AED!important}
/* tautan bawah: jangan diwarisi putih */
html body[class*="page-"] .sd-ps-links a{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important;background:#F7F6FC!important;border:1px solid #E7E3F5!important}
html body[class*="page-"] .sd-ps-links a i{color:#7C3AED!important}
html body[class*="page-"] .sd-ck-back{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important}
html body[class*="page-"] .sd-inv-kembali{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important;background:#fff!important}

/* Invoice: JUDUL KOLOM tabel diwarisi PUTIH oleh aturan global samida-theme.css,
   padahal latarnya ungu muda (rgba(139,92,246,.12)) → rasio kontras ~1.3 (tak terbaca). */
html body[class*="page-"] .sd-inv-tabel thead th,
html body[class*="page-"] .sd-inv-tabel th{
  color:#17164F!important;-webkit-text-fill-color:#17164F!important;
  background:#F1ECFF!important;font-weight:800!important;
}
html body[class*="page-"] .sd-inv-tabel tbody td{color:#4A4763!important;-webkit-text-fill-color:#4A4763!important}
html body[class*="page-"] .sd-inv-tabel tbody td strong{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-inv-tabel tfoot td{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-inv-tabel .sd-inv-angka{color:#4A4763!important;-webkit-text-fill-color:#4A4763!important}
html body[class*="page-"] .sd-inv-tabel .sd-inv-total .sd-inv-angka,
html body[class*="page-"] .sd-inv-total .sd-inv-angka{color:#7C3AED!important;-webkit-text-fill-color:#7C3AED!important;font-weight:900!important}

/* label kecil "KODE BAYAR:" / "REFERENSI:" di invoice agar tidak samar */
html body[class*="page-"] .sd-inv-pihak span b{color:#17164F!important;-webkit-text-fill-color:#17164F!important}

/* AKAR MASALAH tabel invoice: samida-theme.css memberi <table> latar GELAP
   rgba(16,21,47,.84) padahal kartu invoice putih -> isi tabel nyaris tak terbaca.
   Paksa tabel invoice berlatar terang + teks pekat. */
html body[class*="page-"] .sd-inv-tabel,
html body[class*="page-"] .sd-inv-tabel tbody,
html body[class*="page-"] .sd-inv-tabel tr,
html body[class*="page-"] .sd-inv-tabel td,
html body[class*="page-"] .sd-inv-tabel tfoot td{
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
}
html body[class*="page-"] .sd-inv-tabel thead tr,
html body[class*="page-"] .sd-inv-tabel thead th{
  background:#F1ECFF!important;background-image:none!important;background-color:#F1ECFF!important;
}
html body[class*="page-"] .sd-inv-tabel tbody td,
html body[class*="page-"] .sd-inv-tabel tbody td span,
html body[class*="page-"] .sd-inv-tabel .sd-inv-angka,
html body[class*="page-"] .sd-inv-tabel tbody td:not(.sd-inv-angka){
  color:#4A4763!important;-webkit-text-fill-color:#4A4763!important;
}
html body[class*="page-"] .sd-inv-tabel tbody td strong,
html body[class*="page-"] .sd-inv-tabel tfoot td,
html body[class*="page-"] .sd-inv-tabel tfoot td.sd-inv-kanan{
  color:#17164F!important;-webkit-text-fill-color:#17164F!important;
}
html body[class*="page-"] .sd-inv-tabel .sd-inv-total td,
html body[class*="page-"] .sd-inv-tabel .sd-inv-total td.sd-inv-kanan{
  color:#17164F!important;-webkit-text-fill-color:#17164F!important;
}
html body[class*="page-"] .sd-inv-tabel .sd-inv-total td.sd-inv-angka{
  color:#7C3AED!important;-webkit-text-fill-color:#7C3AED!important;font-weight:900!important;
}
html body[class*="page-"] .sd-inv-tabel tbody td{border-bottom:1px solid #F0EDF9!important}
html body[class*="page-"] .sd-inv-tabel .sd-inv-total td{border-top:2.5px solid #17164F!important;border-bottom:0!important}
html body[class*="page-"] .sd-inv-slug{color:#8B87A8!important;-webkit-text-fill-color:#8B87A8!important}

/* kotak status invoice: pastikan latarnya tetap terang (bukan gelap) */
html body[class*="page-"] .sd-inv-status.lunas{background:#F0FDF4!important;background-image:none!important}
html body[class*="page-"] .sd-inv-status.belum{background:#FFFBEB!important;background-image:none!important}
html body[class*="page-"] .sd-inv-status strong{color:#17164F!important}
html body[class*="page-"] .sd-inv-status.belum strong{color:#92400E!important}
html body[class*="page-"] .sd-inv-status.lunas strong{color:#15803D!important}
html body[class*="page-"] .sd-inv-status span{color:#4A4763!important}

/* CHECKOUT: label form & teks kecil diwarisi LAVENDER PUCAT rgb(184,193,231)
   oleh aturan global samida-theme.css -> tak terbaca di kartu putih.
   Paksa warna pekat. */
html body[class*="page-"] .sd-ck-form > label,
html body[class*="page-"] .sd-ck-form > label .sd-ck-wajib,
html body[class*="page-"] .sd-ck-card label.sd-ck-lbl,
html body[class*="page-"] .sd-ck-card label.sd-ck-lbl span{
  color:#17164F!important;-webkit-text-fill-color:#17164F!important;font-weight:800!important;
}
html body[class*="page-"] .sd-ck-form label small,
html body[class*="page-"] .sd-ck-card label small,
html body[class*="page-"] .sd-ck-hint{
  color:#5A5675!important;-webkit-text-fill-color:#5A5675!important;font-weight:600!important;
}
html body[class*="page-"] .sd-ck-metode-in span{color:#17164F!important;-webkit-text-fill-color:#17164F!important;font-weight:800!important}
html body[class*="page-"] .sd-ck-metode-in small{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important;font-weight:600!important}
html body[class*="page-"] .sd-ck-row,
html body[class*="page-"] .sd-ck-summary .sd-ck-row,
html body[class*="page-"] .sd-ck-free{
  color:#4A4763!important;-webkit-text-fill-color:#4A4763!important;font-weight:600!important;
}
html body[class*="page-"] .sd-ck-summary h4{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ck-total span:first-child{color:#17164F!important;-webkit-text-fill-color:#17164F!important;font-weight:800!important}
html body[class*="page-"] .sd-ck-total span:last-child{color:#7C3AED!important;-webkit-text-fill-color:#7C3AED!important}
html body[class*="page-"] .sd-ck-qty{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important}
html body[class*="page-"] .sd-ck-nama{color:#17164F!important;-webkit-text-fill-color:#17164F!important}
html body[class*="page-"] .sd-ck-safe,
html body[class*="page-"] .sd-ck-safe span{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important}

/* CHECKOUT — kelas aslinya `.sd-ck-field`. <span> = label, <small> = keterangan.
   Keduanya diwarisi lavender pucat rgb(184,193,231) dari aturan global samida-theme.css. */
html body[class*="page-"] label.sd-ck-field > span,
html body[class*="page-"] label.sd-ck-field > span b,
html body[class*="page-"] label.sd-ck-field > span em{
  color:#17164F!important;-webkit-text-fill-color:#17164F!important;font-weight:800!important;
}
html body[class*="page-"] label.sd-ck-field > span b{color:#DC2626!important;-webkit-text-fill-color:#DC2626!important}
html body[class*="page-"] label.sd-ck-field > span em{color:#5A5675!important;-webkit-text-fill-color:#5A5675!important;font-weight:600!important;font-style:normal!important}
html body[class*="page-"] label.sd-ck-field > small{
  color:#5A5675!important;-webkit-text-fill-color:#5A5675!important;font-weight:600!important;
}
html body[class*="page-"] label.sd-ck-field > input,
html body[class*="page-"] label.sd-ck-field > textarea{
  color:#17164F!important;background:#FAF9FF!important;border:1.5px solid #DDD8F0!important;
}
html body[class*="page-"] label.sd-ck-field > input::placeholder,
html body[class*="page-"] label.sd-ck-field > textarea::placeholder{
  color:#9C99B5!important;-webkit-text-fill-color:#9C99B5!important;
}

/* CHECKOUT & HALAMAN BARU — sisa teks pucat:
   tombol Subscribe (diwarisi aturan global tombol), "Sesuai channel",
   dan deskripsi metode bayar. Naikkan kontras. */
html body[class*="page-"] .sd-ck-subscribe button,
html body[class*="page-"] .cm-newsletter button,
html body[class*="page-"] .cm-news-footer button,
html body[class*="page-"] .cm-newsletter .sd-subscribe,
html body[class*="page-"] form button[type="submit"].sd-btn-sub{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#7C3AED,#6D28D9)!important;
  border:0!important;opacity:1!important;
}
html body[class*="page-"] .sd-ck-free,
html body[class*="page-"] .sd-ck-row span,
html body[class*="page-"] .sd-ck-summary .sd-ck-free{
  color:#4A4763!important;-webkit-text-fill-color:#4A4763!important;font-weight:700!important;
}
html body[class*="page-"] .sd-ck-bayar small,
html body[class*="page-"] .sd-ck-metode small,
html body[class*="page-"] .sd-ck-bayar .sd-ck-metode-in small{
  color:#4A4763!important;-webkit-text-fill-color:#4A4763!important;font-weight:600!important;
}

/* CHECKOUT — tombol Subscribe di newsletter footer.
   Tombol ini <button> TANPA kelas, tapi punya induk .cm-news-form, jadi bisa
   dikunci lewat :where() tanpa menaikkan spesifisitas induknya. */
html body[class*="page-"] .cm-news-form button,
html body[class*="page-"] .cm-news-form button[type="submit"],
html body[class*="page-"] .cm-newsletter .cm-news-form button{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#7C3AED 0%,#6D28D9 100%)!important;
  border:0!important;opacity:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}

/* CHECKOUT — tombol hapus item di Ringkasan Pesanan.
   Aturan global samida-theme.css (body[class*="page-"] button) menimpanya jadi
   lavender pucat, jadi perlu spesifisitas lebih tinggi + warna ikut dipaksa. */
html body[class*="page-"] .sd-ck-item .sd-ck-hapus,
html body[class*="page-"] .sd-ck-summary .sd-ck-hapus,
html body[class*="page-"] .sd-ck-list .sd-ck-hapus{
  background:#FEF2F2!important;background-image:none!important;
  border:1.5px solid #FECACA!important;color:#DC2626!important;
  width:30px!important;height:30px!important;min-width:30px!important;
  border-radius:9px!important;padding:0!important;flex:0 0 auto!important;
}
html body[class*="page-"] .sd-ck-item .sd-ck-hapus i,
html body[class*="page-"] .sd-ck-summary .sd-ck-hapus i{
  color:#DC2626!important;-webkit-text-fill-color:#DC2626!important;font-size:13px!important;
}
html body[class*="page-"] .sd-ck-item .sd-ck-hapus:hover,
html body[class*="page-"] .sd-ck-summary .sd-ck-hapus:hover{
  background:#DC2626!important;background-image:none!important;border-color:#DC2626!important;
}
html body[class*="page-"] .sd-ck-item .sd-ck-hapus:hover i,
html body[class*="page-"] .sd-ck-summary .sd-ck-hapus:hover i{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}

/* --- Halaman login & register: .sd-login-div / .sd-login-note tidak punya
   aturan sendiri di CSS mana pun, sehingga warna tema global (!important)
   membuat teksnya nyaris tak terbaca di atas kartu putih. --- */
html body[class*="page-"] .sd-login-wrap .sd-login-div span{
  color:#6B6B85!important;-webkit-text-fill-color:#6B6B85!important;
}
html body[class*="page-"] .sd-login-wrap .sd-login-note{
  color:#6B6B85!important;-webkit-text-fill-color:#6B6B85!important;
}

/* ===== KUNCI WARNA: /katalog /promo /layanan =====
   Aturan global ber-!important (samida-theme.css + samida-patches-v2.css) membuat
   sebagian teks jadi putih/abu pucat di atas kartu putih sehingga tidak terbaca.
   Selector di bawah sengaja lebih spesifik (html body...) + !important supaya menang. */

/* 1. Harga kartu katalog. samida-patches-v2.css menyetel
      `html body .catalog-grid .price{-webkit-text-fill-color:#e06aff}`.
      -webkit-text-fill-color MENANG atas color, jadi harga tampil pink pucat
      (kontras 2.4) walau color-nya sudah navy. */
html body[class*="page-"] .catalog-grid .price,
html body[class*="page-"] .latest-upload-grid .price,
html body[class*="page-"] .compact-product-grid .price,
html body[class*="page-"] .katalog-page-grid .price,
html body[class*="page-"] .best-seller-grid .price{
  color:#141245!important;-webkit-text-fill-color:#141245!important;
}
html body[class*="page-"] .catalog-grid .card .price b{
  color:#c81f3c!important;-webkit-text-fill-color:#c81f3c!important;
}
html body[class*="page-"] .catalog-grid .card .price s{
  color:#6b6790!important;-webkit-text-fill-color:#6b6790!important;
}
html body[class*="page-"] .catalog-grid .card .price span{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}

/* 2. Label + pil kategori katalog (angka jumlah produk) */
html body.page-katalog .sd-cat-label{
  color:#17164f!important;-webkit-text-fill-color:#17164f!important;
}
html body.page-katalog .sd-cat-pill b{
  color:#7c3aed!important;-webkit-text-fill-color:#7c3aed!important;
}
html body.page-katalog .sd-cat-pill.active b{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}

/* 3. Baris rating kartu produk katalog */
html body.page-katalog .cm-card-rating-line b{
  color:#111832!important;-webkit-text-fill-color:#111832!important;
}
html body.page-katalog .cm-card-rating-line small{
  color:#5f5c80!important;-webkit-text-fill-color:#5f5c80!important;
}

/* 4. Tombol primer: tema memaksa latar PUTIH + teks ungu pucat */
html body[class*="page-"] .btn.pri,
html body[class*="page-"] button.btn.pri{
  background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;
  border:0!important;
}

/* 5. Label kecil di kartu kategori /layanan */
html body[class*="page-"] .cm-digital-category-card small{
  color:#5f5c80!important;-webkit-text-fill-color:#5f5c80!important;
}

/* ============================================================
   KUNCI: panel filter katalog (kotak "Min", "Maks", dropdown "Semua rating").
   Dipakai /katalog, /kategori/*, /produk-terbaru, /best-seller (satu blade).
   Sebab: aturan global samida-theme.css memaksa SEMUA input/select berlatar
   gelap rgba(7,11,29,.78) + teks putih (!important). Di atas kartu PUTIH
   panel filter, itu terbaca sebagai kotak hitam. Kembalikan ke putih.
   Selector diberi id (#sdFilterForm) supaya halaman lain tidak ikut berubah.
   ============================================================ */
html body[class*="page-"] #sdFilterForm input[type="text"],
html body[class*="page-"] #sdFilterForm select{
  background:#ffffff!important;
  color:#17164f!important;
  -webkit-text-fill-color:#17164f!important;
  border:1.5px solid #e5e0f5!important;
  box-shadow:none!important;
}
html body[class*="page-"] #sdFilterForm input[type="text"]::placeholder{
  color:#9d99bd!important;
  -webkit-text-fill-color:#9d99bd!important;
  opacity:1!important;
}
html body[class*="page-"] #sdFilterForm input[type="text"]:focus,
html body[class*="page-"] #sdFilterForm select:focus{
  border-color:#8b5cf6!important;
  box-shadow:0 0 0 4px rgba(139,92,246,.14)!important;
}
/* Kotak centang "Hanya yang ada diskon": aturan global memaksa SEMUA input jadi
   min-height:43px + padding:11px 13px + border-radius:17px, dan SEMUA label jadi
   display:block. Akibatnya kotak centang membengkak jadi 15x43 (berbentuk pil) dan
   teksnya terdorong 18px lebih rendah -> tidak sejajar. Dikembalikan ke 15x15
   dan label jadi baris flex supaya kotak centang + tulisan sejajar. */
html body[class*="page-"] #sdFilterForm label.sd-ck,
html body[class*="page-"] #sdFilterForm label:has(> input[type="checkbox"]){
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  flex-wrap:nowrap!important;
  white-space:nowrap!important;
  padding:9px 13px!important;
  min-height:0!important;
  height:auto!important;
}
html body[class*="page-"] #sdFilterForm input[type="checkbox"]{
  width:15px!important;
  height:15px!important;
  min-height:0!important;
  max-height:15px!important;
  padding:0!important;
  border:1.5px solid #c9c2e6!important;
  border-radius:3px!important;
  flex:0 0 15px!important;
  margin:0!important;
  box-shadow:none!important;
  background:#ffffff!important;
  accent-color:#8b5cf6!important;
}
