.rt-ui{
  --rt-gold:#9a7e10;
  --rt-bg:#070708;
  --rt-card:#0f0f12;
  --rt-card2:#0b0b0e;
  --rt-text:#ffffff;
  --rt-muted:rgba(255,255,255,.65);
  color:var(--rt-text);
}

/* IMPORTANT: keep the native [hidden] attribute working.
   Our .rt-gdpr-panel is styled as flex, which would otherwise override UA [hidden]{display:none}.
   Scoped strictly to the plugin wrapper. */
.rt-ui [hidden]{
  display:none !important;
}

.rt-ui.rt-gdpr-root{
  /* Keep wrapper scoped, but do NOT create a full-width fixed bar.
     Some themes add borders/backgrounds to fixed full-width elements,
     which can look like a "stuck" horizontal line across the page.
     Children are fixed-positioned themselves. */
  position:fixed;
  left:0;
  top:0;
  width:0;
  height:0;
  z-index:999999;
  pointer-events:none;
  font-family:inherit;
  background:transparent;
  border:0;
  box-shadow:none;
}

/* Manage button */
.rt-ui .rt-gdpr-manage{
  pointer-events:auto;
  position:fixed;
  left:14px;
  bottom:14px;
  border-radius:999px;
  border:1px solid rgba(154,126,16,.45);
  background:rgba(154,126,16,.06);
  color:var(--rt-gold);
  font-weight:900;
  letter-spacing:.25px;
  padding:10px 14px;
  cursor:pointer;
  box-shadow:0 12px 35px rgba(0,0,0,.45);
  display:inline-flex;
  align-items:center;
  gap:10px;
}

/* Start: label visible, icon hidden. After 5s JS adds .is-collapsed -> icon only */
.rt-ui .rt-gdpr-manage__icon{ display:none; }
.rt-ui .rt-gdpr-manage__label{ display:inline; }

.rt-ui .rt-gdpr-manage.is-collapsed{
  width:44px;
  height:44px;
  padding:0;
  justify-content:center;
  border-radius:12px;
}
.rt-ui .rt-gdpr-manage.is-collapsed .rt-gdpr-manage__label{ display:none; }
.rt-ui .rt-gdpr-manage.is-collapsed .rt-gdpr-manage__icon{ display:inline-flex; }

/* Dimmer */
.rt-ui .rt-gdpr-dimmer{
  pointer-events:auto;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
}

/* Panel container */
.rt-ui .rt-gdpr-panel{
  pointer-events:auto;
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  padding:14px;
  display:flex;
  justify-content:center;
}
.rt-ui .rt-gdpr-panel > .rt-card{
  width:100%;
  max-width:1100px;
}

/* Cards */
.rt-ui .rt-card{
  border-radius:18px;
  border:1px solid rgba(154,126,16,.35);
  box-shadow:0 22px 70px rgba(0,0,0,.55);
  background:
    radial-gradient(120% 120% at 50% 20%, rgba(154,126,16,.14), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,0));
  padding:16px;
}
.rt-ui .rt-gdpr-settings{
  background:
    radial-gradient(120% 120% at 50% 20%, rgba(154,126,16,.12), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,0));
}

/* Typography */
.rt-ui .rt-gdpr-title{
  color:var(--rt-gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.45px;
  font-size:16px;
  margin-bottom:6px;
}
.rt-ui .rt-gdpr-text{
  color:var(--rt-text);
  font-size:13px;
  line-height:1.45;
}
.rt-ui .rt-muted{ color:var(--rt-muted); }
.rt-ui .rt-gdpr-policy{
  margin-top:10px;
}
.rt-ui .rt-link{
  color:var(--rt-gold);
  font-weight:800;
  text-decoration:none;
}
.rt-ui .rt-link:hover{ text-decoration:underline; }

/* Actions */
.rt-ui .rt-gdpr-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.rt-ui .rt-gdpr-actions--settings{
  margin-top:16px;
}
.rt-ui .rt-btn{
  border-radius:12px;
  padding:10px 14px;
  font-weight:900;
  letter-spacing:.2px;
  border:1px solid rgba(154,126,16,.55);
  background:transparent;
  color:var(--rt-text);
  cursor:pointer;
}
.rt-ui .rt-btn:hover{ background:rgba(154,126,16,.06); }
.rt-ui .rt-btn--primary{
  background:var(--rt-gold);
  color:#000;
}
.rt-ui .rt-btn--primary:hover{
  filter:brightness(.92);
  box-shadow:0 0 0 3px rgba(154,126,16,.12);
}

/* Settings top */
.rt-ui .rt-gdpr-settings__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}
.rt-ui .rt-iconbtn{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid rgba(154,126,16,.55);
  background:rgba(154,126,16,.06);
  color:var(--rt-text);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.rt-ui .rt-iconbtn:hover{ background:rgba(154,126,16,.10); }

/* Categories */
.rt-ui .rt-gdpr-cats{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:12px;
}
.rt-ui .rt-cat{
  border-radius:14px;
  border:1px solid rgba(154,126,16,.22);
  background:rgba(154,126,16,.06);
  padding:12px;
}
.rt-ui .rt-cat__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.rt-ui .rt-cat__name{
  font-weight:900;
  color:var(--rt-gold);
  letter-spacing:.25px;
  text-transform:uppercase;
  font-size:13px;
}
.rt-ui .rt-cat__desc{
  margin-top:3px;
  font-size:13px;
}

/* Switch */
.rt-ui .rt-switch{
  display:inline-flex;
  align-items:center;
}
.rt-ui .rt-switch__input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}
.rt-ui .rt-switch__track{
  width:50px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(154,126,16,.45);
  background:rgba(0,0,0,.55);
  display:inline-flex;
  align-items:center;
  padding:3px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.35);
}
.rt-ui .rt-switch__thumb{
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(154,126,16,.35);
  transform:translateX(0);
  transition:transform .18s ease, background .18s ease;
}
.rt-ui .rt-switch__input:checked + .rt-switch__track .rt-switch__thumb{
  transform:translateX(22px);
  background:rgba(154,126,16,.35);
}
.rt-ui .rt-switch__input:disabled + .rt-switch__track{
  opacity:.55;
  cursor:not-allowed;
}

/* Details + table */
.rt-ui .rt-details{
  margin-top:10px;
}
.rt-ui .rt-details__sum{
  cursor:pointer;
  color:var(--rt-text);
  font-weight:800;
  user-select:none;
}
.rt-ui .rt-tablewrap{
  margin-top:10px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(154,126,16,.22);
}
.rt-ui .rt-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.rt-ui .rt-table thead{
  background:rgba(154,126,16,.10);
}
.rt-ui .rt-table th{
  text-align:left;
  color:var(--rt-gold);
  font-size:12px;
  font-weight:900;
  padding:10px 10px;
  letter-spacing:.2px;
}
.rt-ui .rt-table td{
  padding:10px 10px;
  border-top:1px solid rgba(154,126,16,.16);
  color:var(--rt-text);
}

/* Bottom policy */
.rt-ui .rt-gdpr-policy--bottom{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(154,126,16,.16);
}

/* Cookie policy shortcode */
.rt-ui.rt-cookie-policy{
  color:var(--rt-text);
}
.rt-ui .rt-policy-container{
  max-width:1100px;
  margin:0 auto;
  padding:18px 12px;
}
.rt-ui .rt-policy-card{
  box-shadow:0 12px 35px rgba(0,0,0,.45);
}
.rt-ui .rt-policy-title{
  color:var(--rt-gold);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.45px;
  font-size:22px;
  margin-bottom:6px;
}
.rt-ui .rt-policy-sub{
  font-size:13px;
  margin-bottom:14px;
}
.rt-ui .rt-policy-section{
  padding:14px 0;
  border-top:1px solid rgba(154,126,16,.16);
}
.rt-ui .rt-policy-section:first-of-type{ border-top:0; }
.rt-ui .rt-policy-h{
  color:var(--rt-gold);
  font-weight:900;
  letter-spacing:.25px;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:8px;
}
.rt-ui .rt-policy-p{
  color:var(--rt-text);
  font-size:13px;
  line-height:1.55;
}
.rt-ui .rt-policy-list{
  margin:10px 0 0 18px;
  padding:0;
}
.rt-ui .rt-policy-li{
  margin:6px 0;
}
.rt-ui .rt-policy-note{
  margin-top:10px;
}
.rt-ui .rt-policy-contact{
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(154,126,16,.22);
  background:rgba(154,126,16,.06);
}
.rt-ui .rt-policy-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:4px 0;
}
.rt-ui .rt-policy-k{
  color:var(--rt-gold);
  font-weight:800;
  min-width:140px;
}
.rt-ui .rt-policy-v{
  color:var(--rt-text);
}

/* Responsive */
@media (max-width: 600px){
  .rt-ui .rt-gdpr-panel{ padding:10px; }
  .rt-ui .rt-card{ padding:14px; }
  .rt-ui .rt-gdpr-actions{ gap:8px; }
  .rt-ui .rt-btn{ width:100%; justify-content:center; }
  /* Requirement: on mobile we only show the modal when needed, then no label/icon */
  .rt-ui .rt-gdpr-manage{ display:none !important; }
  .rt-ui .rt-policy-container{ padding:14px 10px; }
  .rt-ui .rt-policy-title{ font-size:18px; }
}
