/* Root is injected; JS decides show/hide */
.hxcc-root { position: fixed; inset: auto 0 0 0; z-index: 999999; font-family: Urbanist, -apple-system, Segoe UI, Roboto, Arial; }
.hxcc-root.is-top { inset: 0 0 auto 0; }

.hxcc-hidden { display:none !important; }

.hxcc-ov{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
}

.hxcc-banner{
  margin: 12px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}

.hxcc-theme-light .hxcc-banner{ background:#fff; color:#111; }
.hxcc-theme-dark .hxcc-banner{ background:#161616; color:#fff; border-color: rgba(255,255,255,.10); }

.hxcc-inner{ padding: 14px 14px; display:flex; align-items:flex-start; justify-content:space-between; gap: 12px; flex-wrap: wrap; }
.hxcc-title{ font-weight: 800; font-size: 1.05rem; margin: 0 0 6px; }
.hxcc-msg{ opacity:.9; line-height: 1.35; margin: 0; max-width: 820px; }

.hxcc-actions{ display:flex; gap:10px; align-items:center; flex-wrap: wrap; justify-content:flex-end;min-height:80px;
	 }
.hxcc-btn{
  appearance:none;
  border:0;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 700;	
  font-size:15px;
  cursor:pointer;
  white-space: nowrap;
}
.hxcc-theme-light .hxcc-btn{ background: rgba(0,0,0,.06); color:#111; }
.hxcc-theme-dark .hxcc-btn{ background: rgba(255,255,255,.10); color:#fff; }

.hxcc-btn.primary{ background:#7a4b2a; color:#fff; }
.hxcc-btn.ghost{ background: transparent; border: 1px solid rgba(0,0,0,.18); }
.hxcc-theme-dark .hxcc-btn.ghost{ border-color: rgba(255,255,255,.18); }

.hxcc-link{ font-weight: 800; text-decoration: underline; opacity:.9; }
.hxcc-link:hover{ opacity:1; }

.hxcc-modal{
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: min(720px, calc(100vw - 24px));
  background: #fff;
  color:#111;
  border-radius: 20px;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  overflow: hidden;
}
.hxcc-theme-dark .hxcc-modal{ background:#141414; color:#fff; border-color: rgba(255,255,255,.10); }

.hxcc-modal-head{ padding: 14px 14px; display:flex; align-items:center; justify-content:space-between; gap: 10px; border-bottom: 1px solid rgba(0,0,0,.08); }
.hxcc-theme-dark .hxcc-modal-head{ border-bottom-color: rgba(255,255,255,.10); }

.hxcc-close{ width:40px; height:40px; border-radius: 12px; border:0; cursor:pointer; font-weight: 900; }
.hxcc-theme-light .hxcc-close{ background: rgba(0,0,0,.06); color:#111; }
.hxcc-theme-dark .hxcc-close{ background: rgba(255,255,255,.10); color:#fff; }

.hxcc-modal-body{ padding: 14px 14px; }
.hxcc-cats{ display:flex; flex-direction: column; gap: 10px; margin-top: 10px; }

.hxcc-cat{
  display:flex; align-items:flex-start; justify-content: space-between; gap: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 12px 12px;
  background: rgba(0,0,0,.02);
}
.hxcc-theme-dark .hxcc-cat{
  border-color: rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
}

.hxcc-cat h4{ margin:0 0 4px; font-size: 1rem; font-weight: 800; }
.hxcc-cat p{ margin:0; opacity:.85; line-height: 1.35; }

.hxcc-toggle{
  display:flex; align-items:center; gap:8px;
  font-weight: 900;
}
.hxcc-toggle input{ transform: scale(1.2); }

.hxcc-modal-foot{
  padding: 14px 14px;
  border-top: 1px solid rgba(0,0,0,.08);
  display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap: wrap;
}
.hxcc-theme-dark .hxcc-modal-foot{ border-top-color: rgba(255,255,255,.10); }

@media (max-width: 640px){
  .hxcc-inner{ flex-direction: column; align-items: stretch; }
  .hxcc-actions{ justify-content:flex-start; }
}
