.ds{--ic-bg:#fff;--ic-bg-2:#f6f8fc;--ic-bg-3:#fff;--ic-bg-4:#f6f8fc;--ic-border:rgba(14,35,71,.10);--ic-border-2:#dfe5f1;--ic-ease:cubic-bezier(.4,0,.2,1);--ic-gold:#2358dc;--ic-gold-2:#1c47b8;--ic-gold-faint:#eaf0ff;--ic-gold-light:#eaf0ff;--ic-gold-glow:rgba(35,88,220,.22);--ic-pine-deep:#0e2347;--ic-radius:16px;--ic-radius-sm:10px;--ic-radius-xl:20px;--ic-radius-pill:999px;--ic-shadow-sm:0 1px 8px rgba(14,35,71,.06);--ic-shadow-lg:0 24px 64px rgba(14,35,71,.16);--ic-teal:#2358dc;--ic-text-1:#0e2347;--ic-text-2:#5b667a;--ic-text-3:#8a93a0;--ic-vital:#ff6b4a;--ic2-ink:#0e2347;--ic-font-mono:'Poppins',system-ui,sans-serif;--ic-font-h:'Poppins',system-ui,sans-serif;--ic-font-b:'Poppins',system-ui,sans-serif}
/* All Packages (v2): classic .ic-allpkg-* / .ic-package-* / .ic-pkgdetail-* rules (style.css) scoped under .ds on the ds palette. Generated; markup + imcure-all-packages.js unchanged. */
.ds .ic-search-bar{
  display: flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid #E2E8F0; border-radius: 14px;
  padding: 6px 6px 6px 16px; box-shadow: 0 2px 10px rgba(15,23,32,0.05); max-width: 520px; margin-bottom: 24px; color: #64748B;
}
.ds .ic-search-bar input{ flex: 1; border: none; outline: none; font-family: var(--ic-font-b); font-size: 0.92rem; color: #0E2347; background: none; }
.ds .ic-search-bar input::placeholder{ color: #64748B; }
.ds .ic-search-bar button{
  background: #2358DC; color: #fff; border: none; border-radius: 10px; padding: 10px 22px;
  font-family: var(--ic-font-b); font-weight: 700; font-size: 0.85rem; cursor: pointer; transition: background .2s ease;
}
.ds .ic-search-bar button:hover{ background: #2358DC; }
.ds .ic-empty-admin{ text-align: center; padding: 48px 24px; border: 1.5px dashed #CBD5E1; border-radius: 18px; }
.ds .ic-empty-admin p{ font-family: var(--ic-font-b); font-size: 0.88rem; color: #64748B; margin: 0 0 18px; }
.ds .ic-empty-admin-btn{ display: inline-flex; align-items: center; gap: 8px; background: #2358DC; border-radius: 12px; padding: 12px 26px; color: #fff; font-weight: 700; font-size: 0.86rem; text-decoration: none; font-family: var(--ic-font-b); box-shadow: 0 4px 16px rgba(76,154,255,0.30); }
.ds .ic-package-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.ds .ic-package-card{
  position: relative; overflow: hidden; border: 1px solid #E2E8F0; border-radius: var(--ic-radius); padding: 22px 20px 20px; background: #fff;
  display: flex; flex-direction: column; height: 100%;
  transition: transform .28s cubic-bezier(.34,1.56,.64,1), box-shadow .28s ease, border-color .28s ease;
}
.ds .ic-package-card::before{
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, #2358DC, #FF6B4A);
}
.ds .ic-package-card:hover{ transform: translateY(-4px); border-color: rgba(76,154,255,0.30); box-shadow: 0 20px 48px rgba(15,23,32,0.08); }
.ds .ic-package-card-clickable{ cursor: pointer; }
.ds .ic-package-card-clickable:focus-visible{ outline: 2px solid #2358DC; outline-offset: 2px; }
.ds .ic-package-card-clickable .ic-package-cta{ cursor: pointer; }
.ds .ic-package-badge{
  display: inline-block; align-self: flex-start; background: #0E2347; color: #fff; font-family: var(--ic-font-mono);
  font-size: 0.6rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 4px 10px; border-radius: 100px; margin: 0 0 12px;
}
.ds .ic-package-name{
  font-family: var(--ic-font-h); font-size: 0.98rem; font-weight: 800; color: #0E2347; margin: 0 0 4px; line-height: 1.3;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.9em;
}
.ds .ic-package-count{ font-family: var(--ic-font-b); font-size: 0.78rem; color: #64748B; margin: 0 0 14px; }
.ds .ic-package-list{ list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 6px; min-height: 78px; }
.ds .ic-package-list li{ font-family: var(--ic-font-b); font-size: 0.78rem; color: #475569; padding-left: 18px; position: relative; }
.ds .ic-package-list li::before{ content: ''; position: absolute; left: 0; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: #EEF3FF; border: 1.5px solid #2358DC; }
.ds .ic-package-list-more{ padding-left: 0 !important; color: #2358DC !important; font-weight: 600; }
.ds .ic-package-list-more::before{ content: none !important; }
.ds .ic-package-price{ display: flex; align-items: baseline; gap: 8px; margin: 0 0 14px; }
.ds .ic-package-price-now{ font-family: var(--ic-font-h); font-size: 1.3rem; font-weight: 800; color: #0E2347; }
.ds .ic-package-price-old{ font-family: var(--ic-font-b); font-size: 0.85rem; color: #64748B; text-decoration: line-through; }
.ds .ic-package-cta{ display: block; width: 100%; text-align: center; margin-top: auto; }
.ds .ic-benefit-grid-tight{ grid-template-columns: repeat(2, 1fr); }
@media (max-width: 560px){.ds .ic-benefit-grid-tight{ grid-template-columns: 1fr; }}
.ds .ic-package-tags{ display: flex; flex-wrap: wrap; align-content: flex-start; gap: 6px; margin: 0 0 16px; min-height: 56px; }
.ds .ic-package-tag{
  font-family: var(--ic-font-mono); font-size: 0.62rem; font-weight: 700; letter-spacing: .03em;
  text-transform: uppercase; color: #1E4A8C; background: rgba(76,154,255,0.10); border-radius: 100px; padding: 4px 10px;
}
.ds .ic-package-quote{ color: #2358DC !important; font-size: 0.95rem !important; }
.ds .ic-package-tag[data-href]{ cursor: pointer; transition: background .18s ease, color .18s ease; }
.ds .ic-package-tag[data-href]:hover,.ds .ic-package-tag[data-href]:focus-visible{ background: rgba(76,154,255,0.22); color: #14335F; }
.ds .ic-package-tag[data-href]:focus-visible{ outline: 2px solid #2358DC; outline-offset: 2px; }
.ds .ic-package-grid.ic-hscroll{
  display: flex; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity;
  gap: 18px; padding: 4px 4px 16px; margin: -4px -4px -16px; scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgba(76,154,255,0.35) transparent;
  
  mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent 100%);
}
.ds .ic-package-grid.ic-hscroll.is-at-end{ mask-image: none; -webkit-mask-image: none; }
.ds .ic-package-grid.ic-hscroll::-webkit-scrollbar{ height: 6px; }
.ds .ic-package-grid.ic-hscroll::-webkit-scrollbar-thumb{ background: rgba(76,154,255,0.35); border-radius: 100px; }
.ds .ic-package-grid.ic-hscroll::-webkit-scrollbar-track{ background: transparent; }
.ds .ic-package-grid.ic-hscroll > .ic-package-card{ flex: 0 0 380px; height: 400px; overflow: hidden; scroll-snap-align: start; padding: 18px 20px 16px; }
.ds .ic-package-grid.ic-hscroll > .ic-package-card > *{ flex-shrink: 0; }
.ds .ic-package-grid.ic-hscroll .ic-package-badge{ margin-bottom: 8px; }
.ds .ic-package-grid.ic-hscroll .ic-package-name{ min-height: 2.6em; -webkit-line-clamp: 2; margin-bottom: 6px; }
.ds .ic-package-grid.ic-hscroll .ic-package-count{ margin-bottom: 10px; }
.ds .ic-package-grid.ic-hscroll .ic-package-tags{ min-height: 0; margin-bottom: 10px; }
.ds .ic-package-grid.ic-hscroll .ic-package-list{ min-height: 0; margin-bottom: 10px; gap: 4px; }
.ds .ic-package-grid.ic-hscroll .ic-package-price{ margin-bottom: 10px; }
@media (max-width: 560px){.ds .ic-package-grid.ic-hscroll > .ic-package-card{ flex-basis: 82vw; height: auto; min-height: 400px; }}
.ds .ic-diagnostics-wrap .ic-package-name{ font-size: 1.08rem; }
.ds .ic-diagnostics-wrap .ic-package-count{ font-size: 0.85rem; }
.ds .ic-diagnostics-wrap .ic-package-list li,.ds .ic-diagnostics-wrap .ic-test-desc{ font-size: 0.88rem; }
.ds .ic-diagnostics-wrap .ic-package-badge,.ds .ic-diagnostics-wrap .ic-package-tag{ font-size: 0.68rem; }
.ds .ic-diagnostics-wrap .ic-package-quote{ font-size: 1.02rem; }
.ds .ic-diagnostics-wrap .ic-benefit-card h3,.ds .ic-diagnostics-wrap .ic-tool-card h3,.ds .ic-diagnostics-wrap .ic-image-card h3,.ds .ic-diagnostics-wrap .ic-step-photo-card h3{ font-size: 1.02rem; }
.ds .ic-diagnostics-wrap .ic-benefit-card p,.ds .ic-diagnostics-wrap .ic-tool-card p,.ds .ic-diagnostics-wrap .ic-image-card p,.ds .ic-diagnostics-wrap .ic-step-photo-card p{ font-size: 0.88rem; }
.ds .ic-allpkg-hero{ padding-bottom: 24px; }
.ds .ic-allpkg-layout{ display: grid; grid-template-columns: 250px 1fr; gap: 40px; align-items: start; }
@media (max-width: 860px){.ds .ic-allpkg-layout{ grid-template-columns: 1fr; }}
.ds .ic-allpkg-filters{
  position: sticky; top: 100px; display: flex; flex-direction: column; gap: 26px;
  border: 1px solid #E2E8F0; border-radius: var(--ic-radius); padding: 22px 20px; background: #fff;
}
@media (max-width: 860px){.ds .ic-allpkg-filters{ position: static; }}
.ds .ic-allpkg-filter-label{ display: block; font-family: var(--ic-font-h); font-size: 0.82rem; font-weight: 800; color: #0E2347; margin-bottom: 12px; }
.ds .ic-allpkg-search-bar{ max-width: none; margin-bottom: 0; }
.ds .ic-allpkg-radio-list,.ds .ic-allpkg-checkbox-list{ display: flex; flex-direction: column; gap: 10px; }
.ds .ic-allpkg-radio,.ds .ic-allpkg-checkbox{
  display: flex; align-items: center; gap: 9px; font-family: var(--ic-font-b); font-size: 0.85rem; color: #334155; cursor: pointer;
}
.ds .ic-allpkg-radio input,.ds .ic-allpkg-checkbox input{ accent-color: #2358DC; width: 16px; height: 16px; flex-shrink: 0; }
.ds .ic-allpkg-checkbox-list{ max-height: 240px; overflow-y: auto; padding-right: 4px; }
.ds .ic-allpkg-checkbox[hidden]{ display: none !important; }
.ds .ic-allpkg-param-search-bar{ margin-bottom: 12px; }
.ds .ic-allpkg-clear{
  align-self: flex-start; background: none; border: none; padding: 0; cursor: pointer;
  font-family: var(--ic-font-b); font-size: 0.82rem; font-weight: 700; color: #2358DC;
}
.ds .ic-allpkg-clear:hover{ color: #2358DC; }
.ds .ic-pkgdetail-crumb{ margin-bottom: 22px; }
.ds .ic-pkgdetail-layout{ display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start; }
@media (max-width: 860px){.ds .ic-pkgdetail-layout{ grid-template-columns: 1fr; }}
.ds .ic-pkgdetail-title{ font-family: var(--ic-font-h); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; color: #0E2347; margin: 10px 0 16px; line-height: 1.2; }
.ds .ic-pkgdetail-meta{ display: flex; flex-wrap: wrap; gap: 8px 22px; font-family: var(--ic-font-b); font-size: 0.85rem; color: #475569; background: var(--ic-bg-4); border-radius: 14px; padding: 14px 18px; margin-bottom: 28px; }
.ds .ic-pkgdetail-meta strong{ color: #0E2347; font-weight: 700; }
.ds .ic-pkgdetail-h2{ font-family: var(--ic-font-h); font-size: 1.15rem; font-weight: 800; color: #0E2347; margin: 30px 0 12px; }
.ds .ic-pkgdetail-about{ font-family: var(--ic-font-b); font-size: 0.95rem; line-height: 1.7; color: #334155; margin: 0; }
.ds .ic-pkgdetail-components{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 24px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 560px){.ds .ic-pkgdetail-components{ grid-template-columns: 1fr; }}
.ds .ic-pkgdetail-components li{ font-family: var(--ic-font-b); font-size: 0.88rem; color: #334155; padding: 8px 0; border-bottom: 1px solid var(--ic-border); }
.ds .ic-pkgdetail-trust{ margin-top: 8px; }
.ds .ic-pkgdetail-side{ position: sticky; top: 100px; }
.ds .ic-pkgdetail-price-card{ background: #fff; border: 1px solid var(--ic-border); border-radius: var(--ic-radius); padding: 24px; box-shadow: 0 20px 48px rgba(15,23,32,0.06); }
.ds .ic-pkgdetail-price-card .ic-package-price{ margin-bottom: 16px; }
.ds .ic-pkgdetail-price-card .ic-package-price-now{ font-size: 1.8rem; }
.ds .ic-pkgdetail-price-card .ich-cta-btn{ width: 100%; justify-content: center; margin-bottom: 8px; }
.ds .ic-pkgdetail-price-card .ic-cart-btn{ width: 100%; justify-content: center; }
.ds .ic-pkgdetail-price-note{ font-family: var(--ic-font-b); font-size: 0.75rem; color: #64748B; text-align: center; margin: 14px 0 0; }
.ds .ic-allpkg-results-head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.ds .ic-allpkg-count{ font-family: var(--ic-font-b); font-size: 0.85rem; color: #64748B; margin: 0; }
.ds .ic-allpkg-sort-label{ display: flex; align-items: center; gap: 8px; font-family: var(--ic-font-b); font-size: 0.82rem; font-weight: 600; color: #475569; }
.ds .ic-allpkg-sort{
  font-family: var(--ic-font-b); font-size: 0.82rem; font-weight: 700; color: #0E2347; background: #fff;
  border: 1.5px solid #E2E8F0; border-radius: var(--ic-radius-sm); padding: 8px 12px; cursor: pointer;
}
.ds .ic-allpkg-grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.ds .ic-allpkg-grid[hidden]{ display: none !important; }
.ds .ic-allpkg-card{ height: auto; min-height: 380px; }
.ds .ic-allpkg-card[hidden]{ display: none !important; }
.ds .ic-allpkg-empty{ margin-top: 20px; }
.ds .ic-allpkg-loadmore-wrap{ display: flex; justify-content: center; margin-top: 28px; }
.ds .ic-allpkg-loadmore{
  font-family: var(--ic-font-b); font-size: 0.86rem; font-weight: 700; color: #2358DC; background: #fff;
  border: 1.5px solid #2358DC; border-radius: var(--ic-radius-sm); padding: 12px 32px; cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.ds .ic-allpkg-loadmore:hover{ background: #2358DC; color: #fff; }
.ds .ic-allpkg-toggle-params{ border: none; cursor: pointer; font-family: var(--ic-font-mono); }
.ds .ic-allpkg-toggle-params:hover{ background: rgba(76,154,255,0.20); }
.ds .ic-benefit-grid{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 860px){.ds .ic-benefit-grid{ grid-template-columns: repeat(2, 1fr); }}
@media (max-width: 480px){.ds .ic-benefit-grid{ grid-template-columns: 1fr; }}
.ds .ic-benefit-card{ background: var(--ic-bg-4); border: 1px solid var(--ic-border); border-radius: var(--ic-radius); padding: 22px 20px; }
.ds .ic-benefit-icon{ display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--ic-gold-faint); color: var(--ic-vital); margin-bottom: 12px; }
.ds .ic-benefit-card h3{ font-family: var(--ic-font-h); font-size: 0.98rem; font-weight: 800; color: var(--ic-text-1); margin: 0 0 6px; }
.ds .ic-benefit-card p{ font-family: var(--ic-font-b); font-size: 0.82rem; color: var(--ic-text-3); margin: 0; line-height: 1.6; }
.ds .ic-package-cta,.ds .ic-allpkg-card .ich-cta-btn{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;min-height:40px;padding-top:0;padding-bottom:0}
