/* Tech Unbloated — Consent Banner v1.0 */
/* Colors: #060302 black, #FBFAFA off-white, #D7180E red, #71717A gray, #F6C025 gold, #0666F7 blue */

*,*::before,*::after{box-sizing:border-box}

/* ── Banner ── */
#tu-consent-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:99999;
  background:#060302;color:#FBFAFA;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:14px;line-height:1.5;
  border-top:3px solid #D7180E;
  padding:16px 24px;
  box-shadow:0 -2px 16px rgba(0,0,0,0.6);
  transform:translateY(100%);
  transition:transform 0.3s ease;
}
#tu-consent-bar.tu-visible{transform:translateY(0)}
#tu-consent-bar.tu-hidden{transform:translateY(100%);pointer-events:none}

.tu-bar-inner{
  max-width:1200px;margin:0 auto;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.tu-bar-text{flex:1;min-width:220px}
.tu-bar-text p{margin:0;color:#FBFAFA}
.tu-bar-text a{color:#F6C025;text-decoration:underline}
.tu-bar-text a:hover{color:#FBFAFA}

.tu-bar-actions{display:flex;gap:10px;flex-shrink:0;flex-wrap:wrap;align-items:center}

/* Buttons */
.tu-btn{
  display:inline-block;padding:9px 18px;
  font-family:inherit;font-size:13px;font-weight:600;
  border-radius:3px;cursor:pointer;
  border:2px solid transparent;
  transition:background 0.15s,color 0.15s,border-color 0.15s;
  white-space:nowrap;line-height:1;
  min-height:44px;min-width:44px;
}
.tu-btn-accept{background:#D7180E;color:#FBFAFA;border-color:#D7180E}
.tu-btn-accept:hover{background:#b31a0e;border-color:#b31a0e}
.tu-btn-essential{background:transparent;color:#FBFAFA;border-color:#71717A}
.tu-btn-essential:hover{border-color:#FBFAFA}
.tu-btn-manage{background:transparent;color:#A1A1AA;border-color:transparent;padding-left:4px;padding-right:4px;font-size:12px;text-decoration:underline}
.tu-btn-manage:hover{color:#FBFAFA}

/* ── Preferences Modal ── */
#tu-prefs-overlay{
  position:fixed;inset:0;z-index:100000;
  background:rgba(6,3,2,0.85);
  display:flex;align-items:flex-end;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity 0.25s ease;
}
#tu-prefs-overlay.tu-open{opacity:1;pointer-events:all}

#tu-prefs-modal{
  background:#FBFAFA;color:#060302;
  width:100%;max-width:680px;
  max-height:85vh;overflow-y:auto;
  border-radius:6px 6px 0 0;
  padding:28px 28px 24px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:14px;line-height:1.6;
  transform:translateY(20px);
  transition:transform 0.25s ease;
}
#tu-prefs-overlay.tu-open #tu-prefs-modal{transform:translateY(0)}

.tu-modal-header{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-bottom:20px;border-bottom:2px solid #060302;padding-bottom:14px;
}
.tu-modal-header h2{margin:0;font-size:18px;font-weight:700;color:#060302}
.tu-modal-close{
  background:none;border:none;cursor:pointer;
  font-size:22px;color:#71717A;line-height:1;padding:0 4px;
  min-width:44px;min-height:44px;
}
.tu-modal-close:hover{color:#060302}

/* Category rows */
.tu-category{
  border:1px solid #e0ddd8;border-radius:4px;
  margin-bottom:12px;overflow:hidden;
}
.tu-cat-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;background:#f5f3ef;cursor:pointer;
  gap:12px;min-height:48px;
}
.tu-cat-header:hover{background:#ede9e2}
.tu-cat-title{font-weight:700;font-size:14px;color:#060302;flex:1}
.tu-cat-badge{
  font-size:11px;font-weight:600;letter-spacing:0.04em;
  padding:2px 8px;border-radius:2px;white-space:nowrap;
}
.tu-badge-required{background:#060302;color:#FBFAFA}
.tu-badge-optional{background:#e0ddd8;color:#71717A}

/* Toggle switch */
.tu-toggle{
  position:relative;width:42px;height:24px;flex-shrink:0;
}
.tu-toggle input{opacity:0;width:0;height:0;position:absolute}
.tu-toggle-track{
  position:absolute;inset:0;
  background:#ccc;border-radius:24px;
  transition:background 0.2s;cursor:pointer;
}
.tu-toggle input:checked+.tu-toggle-track{background:#D7180E}
.tu-toggle input:disabled+.tu-toggle-track{background:#060302;cursor:not-allowed}
.tu-toggle-thumb{
  position:absolute;top:3px;left:3px;
  width:18px;height:18px;border-radius:50%;background:#fff;
  transition:transform 0.2s;pointer-events:none;
}
.tu-toggle input:checked~.tu-toggle-thumb{transform:translateX(18px)}

.tu-cat-body{
  padding:12px 16px 14px;font-size:13px;color:#444;
  display:none;
}
.tu-cat-body.tu-open{display:block}
.tu-cat-body p{margin:0 0 6px}
.tu-cat-body ul{margin:6px 0 0 16px;padding:0}
.tu-cat-body ul li{margin-bottom:3px}

/* Modal footer */
.tu-modal-footer{
  margin-top:20px;padding-top:16px;border-top:1px solid #e0ddd8;
  display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
}
.tu-btn-save{background:#060302;color:#FBFAFA;border-color:#060302}
.tu-btn-save:hover{background:#D7180E;border-color:#D7180E}
.tu-btn-accept-all{background:#D7180E;color:#FBFAFA;border-color:#D7180E}
.tu-btn-accept-all:hover{background:#b31a0e;border-color:#b31a0e}

/* ── GPC / Opt-out badge ── */
#tu-gpc-badge{
  position:fixed;bottom:16px;right:16px;z-index:99998;
  background:#060302;color:#FBFAFA;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:11px;font-weight:600;letter-spacing:0.04em;
  padding:6px 12px;border-radius:3px;
  border-left:3px solid #F6C025;
  display:none;
}
#tu-gpc-badge.tu-visible{display:block}

/* ── Embed consent placeholders ── */
.tu-embed-placeholder{
  background:#120E0C;border:1px solid #221C18;border-radius:4px;
  padding:32px 20px;text-align:center;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:13px;color:#A1A1AA;
}
.tu-embed-placeholder p{margin:0 0 12px}
.tu-embed-placeholder strong{color:#FBFAFA}
.tu-embed-placeholder button{
  background:#0666F7;color:#FBFAFA;border:none;
  padding:10px 20px;border-radius:3px;font-size:13px;
  cursor:pointer;font-weight:600;min-height:44px;
}
.tu-embed-placeholder button:hover{background:#0552c7}

/* ── Re-open preferences link ── */
#tu-prefs-link{
  position:fixed;bottom:16px;left:16px;z-index:99998;
  background:transparent;border:none;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  font-size:11px;color:#A1A1AA;text-decoration:underline;
  cursor:pointer;padding:8px;display:none;
  min-height:44px;
}
#tu-prefs-link.tu-visible{display:block}
#tu-prefs-link:hover{color:#FBFAFA}

@media(max-width:600px){
  #tu-consent-bar{padding:14px 16px}
  .tu-bar-inner{flex-direction:column;align-items:flex-start;gap:12px}
  .tu-bar-actions{width:100%}
  .tu-btn{flex:1;text-align:center}
  #tu-prefs-modal{padding:20px 16px 18px}
  .tu-modal-footer{flex-direction:column}
}

/* ── Dark Mode Overrides ── */
@media (prefers-color-scheme: dark) {
  #tu-prefs-modal { background:#060302 !important; color:#FBFAFA !important; }
  .tu-modal-header { border-bottom-color:#221C18 !important; }
  .tu-modal-header h2 { color:#FBFAFA !important; }
  .tu-modal-close { color:#A1A1AA !important; }
  .tu-modal-close:hover { color:#FBFAFA !important; }
  
  .tu-category { border-color:#221C18 !important; }
  .tu-cat-header { background:#120E0C !important; }
  .tu-cat-header:hover { background:#1c1714 !important; }
  .tu-cat-title { color:#FBFAFA !important; }
  .tu-cat-body { color:#A1A1AA !important; }
  
  .tu-badge-required { background:#FBFAFA !important; color:#060302 !important; }
  .tu-badge-optional { background:#221C18 !important; color:#A1A1AA !important; }
  
  .tu-toggle-track { background:#444 !important; }
  .tu-toggle input:disabled+.tu-toggle-track { background:#222 !important; }
  .tu-toggle-thumb { background:#A1A1AA !important; }
  .tu-toggle input:checked~.tu-toggle-thumb { background:#FBFAFA !important; }
  
  .tu-modal-footer { border-top-color:#221C18 !important; }
  .tu-btn-save { background:#FBFAFA !important; color:#060302 !important; border-color:#FBFAFA !important; }
  .tu-btn-save:hover { background:#D7180E !important; color:#FBFAFA !important; border-color:#D7180E !important; }
  
  .tu-embed-placeholder { background:#120E0C !important; border-color:#221C18 !important; color:#A1A1AA !important; }
  .tu-embed-placeholder strong { color:#FBFAFA !important; }
  .tu-embed-placeholder button { background:#0666F7 !important; color:#FBFAFA !important; }
  .tu-embed-placeholder button:hover { background:#0552c7 !important; }
  
  #tu-prefs-link { color:#A1A1AA !important; }
  #tu-prefs-link:hover { color:#FBFAFA !important; }
}
