/* =========================================
   KEY TRADE POLICIES – Bright / Clean / Premium
   Essenza Jewelry
   JSON-connected hub version
   ========================================= */

.ts-ktp{
  --ts-navy:#1f2b44;
  --ts-beige:#e3dacb;
  --ts-rose:#c67986;

  --ts-ink:#0e1424;
  --ts-muted:#4b5563;
  --ts-line:#e6e0d9;
  --ts-line-strong:#d7cfc3;
  --ts-soft:#f7f3ee;
  --ts-white:#ffffff;

  --ktp-radius:24px;
  --ktp-radius-sm:16px;
  --ktp-pad:clamp(16px, 2.6vw, 56px);

  color:var(--ts-ink);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.75;
  letter-spacing:.005em;

  background:linear-gradient(180deg,#f7f3ee 0%, #ffffff 18%, #ffffff 100%);
  padding:clamp(32px, 3.2vw, 52px) 0 clamp(44px, 4vw, 72px);

  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:clip;
}

.ts-ktp,
.ts-ktp *{
  box-sizing:border-box;
}

.ktp-shell{
  width:100%;
  padding:0 var(--ktp-pad);
}

@media (max-width:767.98px){
  .ts-ktp{
    padding:28px 0 44px;
  }
}

/* Screen-reader only */
.ktp-sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ============== HERO ============== */

.ktp-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:24px;
  align-items:start;
  margin-bottom:26px;

  opacity:0;
  transform:translateY(18px);
  transition:opacity .45s ease, transform .45s ease;
}

.ktp-hero.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (min-width:960px){
  .ktp-hero{
    grid-template-columns:minmax(0, 1.6fr) minmax(0, 1fr);
    align-items:center;
    gap:34px;
    margin-bottom:32px;
  }
}

.ktp-eyebrow{
  margin:0 0 10px;
  font-size:.86rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--ts-navy);
}

.ktp-title{
  margin:0 0 12px;
  font-family:"Playfair Display","Times New Roman",serif;
  font-size:clamp(2.05rem, 2.4vw, 2.85rem);
  line-height:1.18;
  font-weight:700;
  color:var(--ts-ink);
}

.ktp-hero-text{
  margin:0;
  font-size:1.03rem;
  line-height:1.9;
  color:var(--ts-muted);
  max-width:820px;
}

.ktp-hero-right{
  display:flex;
  justify-content:flex-start;
}

@media (min-width:960px){
  .ktp-hero-right{
    justify-content:flex-end;
  }
}

.ktp-hero-art{
  position:relative;
  width:100%;
  max-width:420px;
  border-radius:var(--ktp-radius);
  border:1px solid var(--ts-line-strong);
  background:linear-gradient(135deg, rgba(31,43,68,.06), rgba(199,121,134,.10));
  padding:18px;
}

.ktp-hero-art[data-category="trade"]{
  background:linear-gradient(135deg, rgba(31,43,68,.06), rgba(227,218,203,.35));
}

.ktp-hero-art[data-category="payments"]{
  background:linear-gradient(135deg, rgba(198,121,134,.10), rgba(227,218,203,.35));
}

.ktp-hero-art[data-category="shipping"]{
  background:linear-gradient(135deg, rgba(31,43,68,.06), rgba(230,224,217,.55));
}

.ktp-hero-art[data-category="privacy"]{
  background:linear-gradient(135deg, rgba(31,43,68,.06), rgba(215,207,195,.50));
}

.ktp-hero-card{
  border-radius:calc(var(--ktp-radius) - 4px);
  background:rgba(255,255,255,.82);
  border:1px solid rgba(215,207,195,.75);
  padding:16px 16px 14px;
}

.ktp-hero-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(31,43,68,.18);
  background:rgba(255,255,255,.9);
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--ts-navy);
  margin-bottom:10px;
}

.ktp-hero-caption{
  margin:0;
  font-size:.98rem;
  line-height:1.75;
  color:var(--ts-ink);
}

/* ============== BODY LAYOUT ============== */

.ktp-body{
  display:grid;
  grid-template-columns:minmax(0, 320px) minmax(0, 1fr);
  gap:28px;
  align-items:start;
}

@media (max-width:959.98px){
  .ktp-body{
    grid-template-columns:1fr;
    gap:22px;
  }
}

/* ============== LEFT NAV ============== */

.ktp-nav{
  position:relative;
}

@media (min-width:960px){
  .ktp-nav{
    position:sticky;
    top:18px;
  }
}

.ktp-nav-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}

.ktp-nav-title{
  margin:0;
  font-size:.95rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ts-ink);
  padding-top:6px;
}

.ktp-nav-tools{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:180px;
  flex:0 0 auto;
}

.ktp-search{
  width:220px;
  max-width:52vw;
  height:40px;
  border-radius:999px;
  border:1px solid var(--ts-line-strong);
  background:#fff;
  padding:0 14px;
  font-size:.95rem;
  color:var(--ts-ink);
  outline:none;
}

.ktp-search:focus{
  border-color:rgba(31,43,68,.35);
  box-shadow:0 0 0 4px rgba(31,43,68,.06);
}

.ktp-search-clear{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid var(--ts-line-strong);
  background:#fff;
  color:var(--ts-muted);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.ktp-search-clear:hover{
  color:var(--ts-ink);
  border-color:rgba(31,43,68,.25);
}

.ktp-nav-list{
  list-style:none;
  margin:0 0 12px;
  padding:12px;
  border-radius:var(--ktp-radius);
  border:1px solid var(--ts-line-strong);
  background:linear-gradient(180deg,#ffffff, #ffffff 60%, #fbf8f3 100%);
}

.ktp-nav-list li{
  margin:0;
}

.ktp-nav-section{
  margin:12px 0 6px;
  padding:10px 8px 6px;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--ts-muted);
  font-weight:900;
}

.ktp-nav-list a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius:14px;
  font-size:1rem;
  color:var(--ts-muted);
  text-decoration:none;
  transition:background .14s ease, color .14s ease;
  position:relative;
}

.ktp-nav-list a::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ts-line-strong);
  flex:0 0 auto;
}

.ktp-nav-list li.is-active > a{
  background:var(--ts-soft);
  color:var(--ts-ink);
  font-weight:800;
}

.ktp-nav-list li.is-active > a::before{
  background:var(--ts-navy);
}

.ktp-nav-list a:hover{
  background:var(--ts-soft);
  color:var(--ts-ink);
}

.ktp-nav-note{
  margin:0;
  font-size:.88rem;
  line-height:1.65;
  color:var(--ts-muted);
}

/* ============== RIGHT PANEL ============== */

.ktp-main{
  width:100%;
}

.ktp-panel{
  border-radius:var(--ktp-radius);
  border:1px solid var(--ts-line-strong);
  background:linear-gradient(145deg,#ffffff,#fbf8f3);
  padding:18px;
}

@media (max-width:599.98px){
  .ktp-panel{
    padding:14px;
  }
}

.ktp-panel-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ts-line-strong);
}

@media (max-width:599.98px){
  .ktp-panel-header{
    flex-direction:column;
    align-items:stretch;
  }
}

.ktp-header-text{
  flex:1 1 auto;
  min-width:0;
}

.ktp-panel-label{
  margin:0 0 6px;
  font-size:.8rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--ts-muted);
}

.ktp-panel-title{
  margin:0 0 8px;
  font-family:"Playfair Display","Times New Roman",serif;
  font-size:1.7rem;
  line-height:1.25;
  font-weight:700;
  color:var(--ts-ink);
}

.ktp-panel-title span,
.ktp-panel-title strong,
.ktp-panel-title mark{
  color:inherit;
  background:transparent;
  padding:0;
  border-radius:0;
  box-shadow:none;
}

.ktp-panel-help{
  margin:0;
  font-size:1rem;
  line-height:1.8;
  color:var(--ts-muted);
  max-width:680px;
}

.ktp-panel-updated{
  margin:8px 0 0;
  font-size:.88rem;
  line-height:1.6;
  color:var(--ts-muted);
  font-weight:600;
}

.ktp-header-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  min-width:180px;
}

@media (max-width:599.98px){
  .ktp-header-right{
    align-items:stretch;
    min-width:0;
  }
}

.ktp-open-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:999px;
  background:var(--ts-navy);
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .14s ease, background .14s ease;
}

.ktp-open-link::after{
  content:"↗";
  font-size:.9rem;
}

.ktp-open-link:hover{
  background:#172339;
  transform:translateY(-1px);
}

@media (max-width:599.98px){
  .ktp-open-link{
    width:100%;
  }
}

.ktp-panel-thumb{
  width:140px;
  height:84px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--ts-line-strong);
  background:#fff;
}

.ktp-panel-thumb-inner{
  width:100%;
  height:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.95;
}

.ktp-panel[data-category="trade"] .ktp-panel-thumb-inner{
  background-image:url("/assets/trade-policies/panel-trade.jpg");
}

.ktp-panel[data-category="payments"] .ktp-panel-thumb-inner{
  background-image:url("/assets/trade-policies/panel-payments.jpg");
}

.ktp-panel[data-category="shipping"] .ktp-panel-thumb-inner{
  background-image:url("/assets/trade-policies/panel-shipping.jpg");
}

.ktp-panel[data-category="privacy"] .ktp-panel-thumb-inner{
  background-image:url("/assets/trade-policies/panel-privacy.jpg");
}

.ktp-panel-body{
  border-radius:var(--ktp-radius-sm);
  background:#ffffff;
  border:1px solid var(--ts-line-strong);
  padding:18px clamp(16px, 2.2vw, 26px);
  min-height:320px;
  overflow:visible;
}

@media (max-width:767.98px){
  .ktp-panel-body{
    min-height:260px;
    padding:16px 14px;
  }
}

.ktp-placeholder,
.ktp-loading{
  font-size:1rem;
  line-height:1.8;
  color:var(--ts-muted);
}

.ktp-error{
  font-size:1rem;
  line-height:1.8;
  color:var(--ts-ink);
}

.ktp-error a{
  color:var(--ts-navy);
  text-decoration:underline;
  text-underline-offset:3px;
}

.ktp-panel-body.is-loading{
  opacity:.75;
}

/* ============== DIRECT POLICY CONTENT SUPPORT ============== */

.ktp-panel-body > .ts-policy-page{
  padding:0 !important;
  background:transparent !important;
  margin:0 !important;
  max-width:980px;
}

.ktp-panel-body > .ts-policy-page .ts-policy-inner{
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.ktp-panel-body > .ts-policy-page .ts-policy-header{
  margin:0 0 16px !important;
}

.ktp-panel-body > .ts-policy-page .ts-policy-eyebrow{
  font-size:.8rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--ts-navy);
  margin:0 0 6px !important;
}

.ktp-panel-body > .ts-policy-page .ts-policy-title{
  font-family:"Playfair Display","Times New Roman",serif;
  margin:0 0 8px !important;
  font-size:1.6rem;
  line-height:1.3;
  font-weight:700;
  color:var(--ts-ink);
}

.ktp-panel-body > .ts-policy-page .ts-policy-title span,
.ktp-panel-body > .ts-policy-page .ts-policy-title mark,
.ktp-panel-body > .ts-policy-page .ts-policy-title strong,
.ktp-panel-body > .ts-policy-page .ts-policy-title .inverted{
  display:inline !important;
  color:inherit !important;
  background:none !important;
  background-color:transparent !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.ktp-panel-body > .ts-policy-page .ts-policy-meta{
  margin:0 0 8px !important;
  font-size:.98rem;
  line-height:1.8;
  color:var(--ts-muted);
}

.ktp-panel-body > .ts-policy-page .ts-policy-updated{
  margin:0 !important;
  font-size:.86rem;
  color:var(--ts-muted);
}

.ktp-panel-body > .ts-policy-page .ts-policy-content{
  margin-top:14px !important;
  font-size:1rem;
  line-height:1.9;
  color:var(--ts-ink);
}

/* ============== JSON CONTENT BLOCK TYPOGRAPHY ============== */

.ktp-panel-body .ts-policy-content{
  margin:0;
  font-size:1rem;
  line-height:1.9;
  color:var(--ts-ink);
}

.ktp-panel-body .ts-policy-block{
  padding:14px 0 !important;
  border-bottom:1px solid var(--ts-line);
}

.ktp-panel-body .ts-policy-block:last-child{
  border-bottom:none;
}

.ktp-panel-body .ts-policy-block h2{
  margin:0 0 8px !important;
  font-size:1.06rem;
  font-weight:900;
  line-height:1.45;
  color:var(--ts-ink);
}

.ktp-panel-body .ts-policy-block h3{
  margin:12px 0 8px !important;
  font-size:.98rem;
  font-weight:800;
  line-height:1.5;
  color:var(--ts-ink);
}

.ktp-panel-body .ts-policy-block p{
  margin:0 0 10px !important;
}

.ktp-panel-body .ts-policy-block ul,
.ktp-panel-body .ts-policy-block ol{
  margin:8px 0 10px 18px !important;
  padding:0 !important;
}

.ktp-panel-body .ts-policy-block li{
  margin:0 0 8px !important;
  color:var(--ts-muted);
  font-size:.98rem;
}

.ktp-panel-body .ts-policy-block ul{
  margin-left:0 !important;
  list-style:none !important;
}

.ktp-panel-body .ts-policy-block ul li{
  position:relative;
  padding-left:30px;
  min-height:24px;
}

.ktp-panel-body .ts-policy-block ul li::before{
  content:"\2713";
  position:absolute;
  top:.08em;
  left:0;
  width:20px;
  height:20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #5b87e5 0%, #3c6fe0 100%);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 6px 14px rgba(60, 111, 224, .18);
}

.ktp-panel-body strong{
  color:var(--ts-ink);
  font-weight:800;
}

.ktp-panel-body a{
  color:var(--ts-navy);
  text-decoration:underline;
  text-underline-offset:3px;
}

.ktp-panel-body time{
  color:inherit;
}

/* special support for older custom layout if any JSON still contains it */
.ktp-panel-body .policy-page,
.ktp-panel-body .policy-distance-agreement{
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  margin:0 !important;
}

.ktp-panel-body .policy-header{
  margin:0 0 16px !important;
  padding:0 !important;
}

.ktp-panel-body .policy-eyebrow{
  margin:0 0 6px !important;
  font-size:.8rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--ts-navy);
}

.ktp-panel-body .policy-title{
  margin:0 0 8px !important;
  font-family:"Playfair Display","Times New Roman",serif;
  font-size:1.6rem;
  line-height:1.3;
  font-weight:700;
  color:var(--ts-ink);
}

.ktp-panel-body .policy-meta,
.ktp-panel-body .policy-intro{
  color:var(--ts-muted);
}

.ktp-panel-body .policy-layout{
  display:block;
}

.ktp-panel-body .policy-toc{
  display:none;
}

.ktp-panel-body .policy-content{
  margin:0 !important;
  padding:0 !important;
}

.ktp-panel-body .policy-section{
  padding:14px 0 !important;
  border-bottom:1px solid var(--ts-line);
}

.ktp-panel-body .policy-section:last-child{
  border-bottom:none;
}

.ktp-panel-body .policy-section h2{
  margin:0 0 8px !important;
  font-size:1.06rem;
  font-weight:900;
  line-height:1.45;
  color:var(--ts-ink);
}

.ktp-panel-body .policy-section p{
  margin:0 0 10px !important;
}

.ktp-panel-body .policy-section ul,
.ktp-panel-body .policy-section ol{
  margin:8px 0 10px 18px !important;
  padding:0 !important;
}

.ktp-panel-body .policy-section li{
  margin:0 0 8px !important;
  color:var(--ts-muted);
  font-size:.98rem;
}

.ktp-panel-body .policy-section ul{
  margin-left:0 !important;
  list-style:none !important;
}

.ktp-panel-body .policy-section ul li{
  position:relative;
  padding-left:30px;
  min-height:24px;
}

.ktp-panel-body .policy-section ul li::before{
  content:"\2713";
  position:absolute;
  top:.08em;
  left:0;
  width:20px;
  height:20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #5b87e5 0%, #3c6fe0 100%);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 6px 14px rgba(60, 111, 224, .18);
}

/* ============== EMPTY / FALLBACK STATES ============== */

.ktp-panel-body .ktp-empty-state{
  padding:8px 0;
  color:var(--ts-muted);
  font-size:1rem;
  line-height:1.8;
}

/* ============== MOTION SAFETY ============== */

@media (prefers-reduced-motion: reduce){
  .ktp-hero,
  [data-reveal]{
    transition:none !important;
    transform:none !important;
  }

  .ktp-open-link{
    transition:none !important;
  }
}

/* ============== REVEAL COMMON ============== */

[data-reveal]{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .45s ease, transform .45s ease;
}

[data-reveal].is-visible{
  opacity:1;
  transform:translateY(0);
}

/* ============== TOP POLICY SHELF ============== */

.ktp-shelf{
  margin:0 0 28px;
  padding:20px 22px 22px;
  border:1px solid var(--ts-line-strong);
  border-radius:var(--ktp-radius);
  background:linear-gradient(180deg,#ffffff 0%, #fcf9f4 100%);
}

.ktp-shelf-head{
  display:grid;
  grid-template-columns:minmax(0, 180px) minmax(0, 1fr);
  gap:16px;
  align-items:center;
  margin-bottom:16px;
}

.ktp-shelf-label{
  margin:0;
  font-size:.84rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--ts-ink);
}

.ktp-shelf-tools{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:flex-end;
}

.ktp-shelf-tools .ktp-search{
  width:min(100%, 320px);
  max-width:none;
}

.ktp-shelf-cats{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding-top:2px;
}

.ktp-shelf-cat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
  border:1px solid var(--ts-line-strong);
  border-radius:999px;
  background:#fff;
  color:var(--ts-muted);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.ktp-shelf-cat:hover{
  border-color:rgba(31,43,68,.24);
  color:var(--ts-ink);
  transform:translateY(-1px);
}

.ktp-shelf-cat.is-active{
  border-color:rgba(31,43,68,.22);
  background:var(--ts-soft);
  color:var(--ts-ink);
}

.ktp-shelf-groups{
  padding-top:16px;
  border-top:1px solid var(--ts-line);
}

.ktp-policy-group{
  display:none;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ktp-policy-group.is-active{
  display:flex;
}

.ktp-policy-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid #e0d7cb;
  border-radius:999px;
  background:#fff;
  color:var(--ts-muted);
  font-size:.93rem;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  transition:border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease;
}

.ktp-policy-chip:hover{
  border-color:#ccbfae;
  background:#faf6f0;
  color:var(--ts-ink);
  transform:translateY(-1px);
}

.ktp-policy-chip.is-active{
  border-color:#cdb79c;
  background:#f7f3ee;
  color:var(--ts-ink);
}

.ktp-body{
  display:block;
}

.ktp-nav{
  display:none;
}

@media (max-width:959.98px){
  .ktp-shelf-head{
    grid-template-columns:1fr;
    align-items:start;
  }

  .ktp-shelf-tools{
    justify-content:flex-start;
  }
}

@media (max-width:767.98px){
  .ktp-shelf{
    padding:16px 14px 18px;
  }

  .ktp-shelf-cats,
  .ktp-policy-group{
    gap:8px;
  }

  .ktp-shelf-cat,
  .ktp-policy-chip{
    width:100%;
    justify-content:flex-start;
    padding:0 14px;
  }

  .ktp-shelf-tools .ktp-search{
    width:100%;
  }
}

/* ============== 2026 DESKTOP EDITORIAL OVERRIDE ============== */

.ktp-shelf{
  padding:18px 24px 14px;
}

.ktp-shelf-head{
  grid-template-columns:minmax(0, 1fr) minmax(260px, 320px);
  gap:18px;
  margin-bottom:10px;
}

.ktp-shelf-label{
  font-size:.8rem;
}

.ktp-shelf-cats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:0;
  margin:0 -24px;
  padding:0 24px;
  border-top:1px solid var(--ts-line);
  border-bottom:1px solid var(--ts-line);
}

.ktp-shelf-cat{
  justify-content:flex-start;
  min-height:56px;
  border:none;
  border-radius:0;
  background:transparent;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  box-shadow:inset 0 -1px 0 transparent;
  transition:color .16s ease, box-shadow .16s ease;
}

.ktp-shelf-cat:hover{
  transform:none;
}

.ktp-shelf-cat.is-active{
  background:transparent;
  box-shadow:inset 0 -2px 0 #c4a56f;
}

.ktp-shelf-groups{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-top:14px;
}

.ktp-policy-group{
  gap:12px;
  flex:1 1 auto;
}

.ktp-policy-chip{
  min-height:36px;
  font-size:.86rem;
}

.ktp-policy-chip.is-active{
  border-color:#d2ad6a;
  background:#fbf7f1;
  box-shadow:inset 0 0 0 1px rgba(210,173,106,.22);
}

.ktp-panel{
  padding:26px 28px 28px;
}

.ktp-panel-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}

.ktp-breadcrumbs{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:var(--ts-muted);
  font-size:.84rem;
}

.ktp-breadcrumbs a,
.ktp-breadcrumbs span{
  color:inherit;
  text-decoration:none;
}

.ktp-breadcrumbs span::before{
  content:"›";
  display:inline-block;
  margin:0 10px 0 2px;
  color:#b8aea2;
}

.ktp-panel-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.ktp-panel-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border:1px solid var(--ts-line-strong);
  border-radius:999px;
  background:#fff;
  color:var(--ts-muted);
  font-size:.84rem;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}

.ktp-panel-action:hover{
  color:var(--ts-ink);
  border-color:#cdb79c;
}

.ktp-panel-header{
  display:block;
  margin-bottom:22px;
  padding-bottom:18px;
}

.ktp-panel-help{
  max-width:760px;
}

.ktp-reading-layout{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 280px;
  gap:34px;
  align-items:start;
}

.ktp-reading-side{
  position:sticky;
  top:18px;
  display:grid;
  gap:14px;
}

.ktp-side-card{
  padding:16px 18px;
  border:1px solid var(--ts-line-strong);
  border-radius:18px;
  background:#fff;
}

.ktp-side-title{
  margin:0 0 12px;
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ts-ink);
}

.ktp-side-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.ktp-side-list li{
  margin:0;
  font-size:.9rem;
  line-height:1.45;
  color:var(--ts-muted);
}

.ktp-side-list a{
  color:inherit;
  text-decoration:none;
}

.ktp-side-list a:hover{
  color:var(--ts-ink);
}

.ktp-side-copy{
  margin:0 0 14px;
  font-size:.92rem;
  line-height:1.7;
  color:var(--ts-muted);
}

.ktp-side-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ts-navy);
  font-size:.88rem;
  font-weight:800;
  text-decoration:none;
}

.ktp-side-link::after{
  content:"→";
}

.ktp-panel-body{
  border:none;
  background:transparent;
  padding:0;
}

@media (max-width:959.98px){
  .ktp-shelf-head{
    grid-template-columns:1fr;
  }

  .ktp-shelf-tools{
    justify-content:flex-start;
  }

  .ktp-shelf-cats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .ktp-reading-layout{
    grid-template-columns:1fr;
    gap:20px;
  }

  .ktp-reading-side{
    position:static;
  }
}

@media (max-width:767.98px){
  .ktp-shelf{
    padding:14px 14px 16px;
  }

  .ktp-shelf-cats{
    grid-template-columns:1fr;
    margin:0 -14px;
    padding:0 14px;
  }

  .ktp-shelf-cat{
    min-height:48px;
  }

  .ktp-policy-chip{
    width:auto;
    justify-content:flex-start;
    padding:0 14px;
  }

  .ktp-shelf-groups{
    display:block;
  }

  .ktp-panel{
    padding:18px 16px 20px;
  }

  .ktp-panel-meta{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* ============== 2026 CENTERED HERO + OPEN GROUPS ============== */

.ktp-hero{
  display:block;
  margin:0 auto 24px;
  text-align:center;
}

.ktp-hero-center{
  max-width:760px;
  margin:0 auto;
}

.ktp-eyebrow{
  margin-bottom:12px;
}

.ktp-title{
  margin-bottom:14px;
}

.ktp-hero-text{
  max-width:720px;
  margin:0 auto;
}

.ktp-shelf{
  padding:18px 20px 18px;
}

.ktp-shelf-head{
  grid-template-columns:minmax(0, 1fr) minmax(240px, 300px);
  gap:20px;
  align-items:center;
  margin-bottom:14px;
}

.ktp-shelf-label{
  align-self:center;
}

.ktp-shelf-columns{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  padding-top:16px;
  border-top:1px solid var(--ts-line);
}

.ktp-shelf-column{
  min-width:0;
}

.ktp-shelf-cat{
  display:block;
  margin:0 0 12px;
  min-height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  color:var(--ts-ink);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1.35;
  text-transform:uppercase;
  box-shadow:none;
  cursor:default;
}

.ktp-shelf-cat:hover,
.ktp-shelf-cat.is-active{
  color:var(--ts-ink);
  background:transparent;
  box-shadow:none;
  transform:none;
}

.ktp-policy-group,
.ktp-policy-group.is-active{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.ktp-policy-chip{
  min-height:34px;
  padding:0 13px;
  font-size:.82rem;
}

.ktp-panel{
  padding:24px 26px 26px;
}

@media (max-width:959.98px){
  .ktp-shelf-columns{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:767.98px){
  .ktp-hero{
    text-align:left;
  }

  .ktp-hero-center,
  .ktp-hero-text{
    margin-left:0;
    margin-right:0;
  }

  .ktp-shelf-head{
    grid-template-columns:1fr;
  }

  .ktp-shelf-columns{
    grid-template-columns:1fr;
    gap:14px;
  }

  .ktp-policy-chip{
    width:auto;
  }
}

/* ============== 2026 PREMIUM SHELF FOOT OVERRIDE ============== */

.ktp-hero{
  text-align:center;
}

.ktp-hero-center,
.ktp-hero-text{
  margin-left:auto;
  margin-right:auto;
}

.ktp-shelf{
  padding:20px 20px 16px;
  background:linear-gradient(180deg,#fffdfa 0%, #ffffff 100%);
  box-shadow:0 10px 30px rgba(31,43,68,.04);
}

.ktp-shelf-columns{
  gap:18px;
}

.ktp-shelf-column{
  padding-right:12px;
}

.ktp-policy-chip{
  border-color:#e5d8c5;
  background:#fffdfa;
  box-shadow:0 1px 0 rgba(31,43,68,.03);
}

.ktp-policy-chip.is-active{
  border-color:#d8b57a;
  background:#fbf5ea;
  box-shadow:inset 0 0 0 1px rgba(216,181,122,.25), 0 4px 10px rgba(31,43,68,.04);
}

.ktp-shelf-foot{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 260px;
  gap:18px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--ts-line);
}

.ktp-shelf-toc-card,
.ktp-shelf-help-card{
  border:1px solid var(--ts-line-strong);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff 0%, #fdfaf6 100%);
  padding:16px 18px;
}

.ktp-shelf-foot-label{
  margin:0 0 12px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ts-ink);
}

.ktp-shelf-toc-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px 18px;
  flex-wrap:wrap;
}

.ktp-shelf-toc-list li{
  margin:0;
  color:var(--ts-muted);
  font-size:.88rem;
  line-height:1.45;
}

.ktp-shelf-toc-list a{
  color:inherit;
  text-decoration:none;
}

.ktp-shelf-toc-list a:hover{
  color:var(--ts-ink);
}

.ktp-shelf-toc-list span{
  color:inherit;
  text-decoration:none;
  cursor:default;
}

.ktp-shelf-toc-list .is-empty{
  color:var(--ts-muted);
}

.ktp-shelf-help-copy{
  margin:0 0 12px;
  color:var(--ts-muted);
  font-size:.9rem;
  line-height:1.7;
}

.ktp-shelf-help-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ts-navy);
  text-decoration:none;
  font-size:.88rem;
  font-weight:800;
}

.ktp-shelf-help-link::after{
  content:"→";
}

.ktp-panel-meta{
  justify-content:flex-start;
  margin-bottom:16px;
}

.ktp-reading-layout{
  display:block;
}

.ktp-reading-side,
.ktp-panel-actions{
  display:none;
}

@media (max-width:959.98px){
  .ktp-shelf-foot{
    grid-template-columns:1fr;
  }
}

@media (max-width:767.98px){
  .ktp-hero{
    text-align:center;
  }

  .ktp-hero-center,
  .ktp-hero-text{
    margin-left:auto;
    margin-right:auto;
  }

  .ktp-shelf-foot{
    gap:14px;
  }

  .ktp-shelf-toc-list{
    display:grid;
    gap:10px;
  }
}

/* ============== 2026 PREMIUM BUTTON MODEL TUNING ============== */

.ktp-shelf{
  border-color:#ddcfbb;
  border-radius:26px;
  background:
    linear-gradient(180deg,#fffdfa 0%, #ffffff 100%);
  box-shadow:
    0 14px 34px rgba(31,43,68,.05),
    inset 0 1px 0 rgba(255,255,255,.75);
}

.ktp-shelf-head{
  margin-bottom:18px;
}

.ktp-shelf-label{
  font-size:.78rem;
  letter-spacing:.18em;
  color:#7f6d58;
}

.ktp-shelf-tools .ktp-search{
  height:32px;
  border-radius:999px;
  border-color:#d9c9b4;
  background:#fffdf9;
  padding:0 16px;
  font-size:.86rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.ktp-shelf-tools .ktp-search:focus{
  border-color:#c8a772;
  box-shadow:0 0 0 4px rgba(200,167,114,.08);
}

.ktp-shelf-columns{
  gap:22px;
  padding-top:18px;
}

.ktp-shelf-column{
  position:relative;
  padding-right:16px;
}

.ktp-shelf-column:not(:last-child)::after{
  content:"";
  position:absolute;
  top:2px;
  right:0;
  width:1px;
  height:calc(100% - 2px);
  background:linear-gradient(180deg, rgba(216,199,173,0) 0%, rgba(216,199,173,.55) 18%, rgba(216,199,173,.55) 82%, rgba(216,199,173,0) 100%);
}

.ktp-shelf-cat{
  margin-bottom:14px;
  color:#1a2235;
  font-size:.74rem;
  letter-spacing:.18em;
}

.ktp-policy-group,
.ktp-policy-group.is-active{
  gap:12px 10px;
}

.ktp-policy-chip{
  min-height:31px;
  padding:0 14px;
  border:1px solid #dcc8a8;
  border-radius:999px;
  background:linear-gradient(180deg,#fffefb 0%, #fcf7ef 100%);
  color:#1f2940;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 1px 2px rgba(31,43,68,.04);
}

.ktp-policy-chip:hover{
  border-color:#ccab72;
  background:linear-gradient(180deg,#fffaf1 0%, #fbf2e3 100%);
  color:#131d31;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 4px 10px rgba(31,43,68,.06);
  transform:translateY(-1px);
}

.ktp-policy-chip.is-active{
  border-color:#cfa45f;
  background:linear-gradient(180deg,#fff7ea 0%, #f6ead6 100%);
  color:#152036;
  box-shadow:
    inset 0 0 0 1px rgba(207,164,95,.22),
    0 6px 14px rgba(31,43,68,.07);
}

.ktp-shelf-foot{
  gap:16px;
  margin-top:20px;
  padding-top:16px;
}

.ktp-shelf-toc-card,
.ktp-shelf-help-card{
  border-color:#dfcfb8;
  border-radius:20px;
  background:linear-gradient(180deg,#fffdfa 0%, #fcf8f1 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.ktp-shelf-foot-label{
  color:#7f6d58;
  margin-bottom:10px;
}

.ktp-shelf-toc-list{
  gap:8px 16px;
}

.ktp-shelf-toc-list li{
  position:relative;
  padding-left:14px;
  font-size:.84rem;
  color:#495266;
}

.ktp-shelf-toc-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.58em;
  width:5px;
  height:5px;
  border-radius:999px;
  background:#d0b07c;
}

.ktp-shelf-help-copy{
  font-size:.86rem;
}

.ktp-shelf-help-link{
  color:#18233a;
}

.ktp-panel{
  border-radius:24px;
  border-color:#ddd0bd;
  background:linear-gradient(180deg,#ffffff 0%, #fffdfa 100%);
}

@media (max-width:959.98px){
  .ktp-shelf-column{
    padding-right:0;
  }

  .ktp-shelf-column::after{
    display:none;
  }
}

@media (max-width:767.98px){
  .ktp-shelf-tools .ktp-search{
    height:36px;
  }

  .ktp-policy-chip{
    min-height:34px;
  }

  .ktp-shelf-toc-list li{
    padding-left:12px;
  }
}

/* ============== 2026 BUTTON REFINEMENT OVERRIDE ============== */

.ts-ktp{
  padding-top:40px;
}

.ktp-shelf{
  border-color:#e4d6c3;
  border-radius:28px;
  background:linear-gradient(180deg,#fffdfa 0%, #ffffff 100%);
  box-shadow:
    0 16px 38px rgba(31,43,68,.035),
    inset 0 1px 0 rgba(255,255,255,.82);
}

.ktp-hero{
  margin:0 auto 16px;
}

.ktp-hero-center{
  max-width:720px;
}

.ktp-eyebrow{
  margin-bottom:8px;
}

.ktp-title{
  margin-bottom:10px;
  line-height:1.12;
}

.ktp-hero-text{
  max-width:680px;
  font-size:.98rem;
  line-height:1.72;
}

.ktp-shelf-head{
  margin-bottom:14px;
  align-items:center;
}

.ktp-shelf-label{
  color:#9d7d53;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.22em;
}

.ktp-shelf-tools .ktp-search{
  width:min(100%, 236px);
  height:34px;
  border-color:#dfcfba;
  background:#fffdfa;
  padding:0 18px;
  font-size:.84rem;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.ktp-shelf-columns{
  gap:28px;
  padding-top:22px;
}

.ktp-shelf-column{
  min-width:0;
  padding-right:20px;
}

.ktp-shelf-cat{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-bottom:18px;
  color:#2e2b2a;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.22em;
  line-height:1.1;
}

.ktp-shelf-cat::before{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  color:#c59b60;
  border:1px solid rgba(213,186,145,.42);
  border-radius:999px;
  background-color:#fffaf3;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 4px 10px rgba(214,189,152,.10);
  content:"";
}

.ktp-shelf-column[data-category="trade"] .ktp-shelf-cat::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c59b60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 12.5 10 15c1 1 2.5 1 3.5 0l3-3a2.5 2.5 0 0 0-3.5-3.5l-1 1'/%3E%3Cpath d='M16.5 11.5 14 9c-1-1-2.5-1-3.5 0l-3 3A2.5 2.5 0 1 0 11 15.5l1-1'/%3E%3C/svg%3E");
}

.ktp-shelf-column[data-category="payments"] .ktp-shelf-cat::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c59b60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5.5' width='17' height='13' rx='2'/%3E%3Cpath d='M3.5 10h17'/%3E%3Cpath d='M7.5 14.5h3'/%3E%3C/svg%3E");
}

.ktp-shelf-column[data-category="shipping"] .ktp-shelf-cat::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c59b60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 7h3.5L20 10v5h-6z'/%3E%3Cpath d='M4 7h10v8H4z'/%3E%3Ccircle cx='8' cy='17' r='1.6'/%3E%3Ccircle cx='18' cy='17' r='1.6'/%3E%3C/svg%3E");
}

.ktp-shelf-column[data-category="privacy"] .ktp-shelf-cat::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c59b60' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 18 6v5c0 4-2.6 7-6 8.8C8.6 18 6 15 6 11V6z'/%3E%3Cpath d='M9.5 11.5h5'/%3E%3Cpath d='M12 8.5v6'/%3E%3C/svg%3E");
}

.ktp-policy-group,
.ktp-policy-group.is-active{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
}

.ktp-policy-chip{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:272px;
  min-height:36px;
  padding:0 22px;
  border:1px solid #e5d8c7;
  border-radius:999px;
  background:linear-gradient(180deg,#fffefd 0%, #fdfaf6 100%);
  color:#302b28;
  font-size:.88rem;
  font-weight:500;
  line-height:1.25;
  letter-spacing:.01em;
  text-align:center;
  white-space:normal;
  box-shadow:
    0 4px 12px rgba(95,72,44,.04),
    inset 0 1px 0 rgba(255,255,255,.96);
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.ktp-policy-chip:hover{
  border-color:#d9c6aa;
  background:linear-gradient(180deg,#fffdfb 0%, #fcf7ef 100%);
  color:#272220;
  box-shadow:
    0 8px 18px rgba(95,72,44,.08),
    inset 0 1px 0 rgba(255,255,255,.96);
  transform:translateY(-1px);
}

.ktp-policy-chip.is-active{
  border-color:#ceaa74;
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,.92) 0%, rgba(255,251,244,.88) 44%, rgba(250,239,220,.82) 68%, rgba(243,225,194,.96) 100%),
    linear-gradient(180deg,#fffaf2 0%, #f3e1c2 100%);
  color:#241f1d;
  box-shadow:
    inset 0 0 0 1px rgba(206,170,116,.24),
    inset 0 6px 16px rgba(255,255,255,.58),
    inset 0 -4px 10px rgba(219,188,142,.14),
    inset 0 1px 0 rgba(255,255,255,.98),
    0 10px 22px rgba(207,170,115,.20);
}

.ktp-policy-chip font{
  display:block;
  width:100%;
  text-align:center;
}

.ktp-shelf-foot{
  gap:22px;
  margin-top:18px;
  padding-top:18px;
}

.ktp-shelf-toc-card,
.ktp-shelf-help-card{
  border-color:#e2d3c0;
  border-radius:18px;
  background:linear-gradient(180deg,#fffdfa 0%, #fffaf4 100%);
  box-shadow:
    0 8px 24px rgba(214,189,152,.08),
    inset 0 1px 0 rgba(255,255,255,.85);
}

.ktp-shelf-help-link::after{
  display:none;
}

@media (max-width:767.98px){
  .ktp-shelf-columns{
    gap:16px;
  }

  .ktp-shelf-column{
    padding-right:0;
  }

  .ktp-shelf-cat{
    gap:12px;
    font-size:.78rem;
  }

  .ktp-policy-chip{
    min-height:38px;
    padding:0 18px;
    max-width:none;
    font-size:.84rem;
  }
}
