/* Veleno BBS Consent Manager */
#veleno-consent{position:fixed;inset:0;z-index:2147483647;font-family:Arial,sans-serif;color:#eee}.vc-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.vc-panel{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:min(1180px,calc(100% - 28px));max-height:calc(100vh - 36px);overflow:auto;background:linear-gradient(145deg,#151515,#080808);padding:28px;box-shadow:0 24px 80px #000}.vc-x{position:absolute;right:14px;top:10px;background:none!important;color:#ddd!important;font-size:30px!important;padding:4px 10px!important}.vc-kicker{font-size:11px;letter-spacing:.22em;color:#a7a7a7}.vc-panel h2{margin:8px 0 10px;font-size:27px;color:#fff}.vc-panel p{line-height:1.55;color:#bbb}.vc-options{margin:20px 0}.vc-options label{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)!important}.vc-options b,.vc-options small{display:block}.vc-options small{margin-top:4px;color:#999}.vc-options input{width:22px;height:22px;accent-color:#a40000}.vc-actions{display:flex;flex-wrap:wrap;gap:10px}.vc-actions button{padding:11px 15px!important;background:#292929!important;color:#eee!important}.vc-actions .vc-primary{background:#8e0000!important;color:#fff!important}.vc-legal{font-size:12px;margin:18px 0 0!important}.vc-legal a,.veleno-privacy-links a{color:#bbb;text-decoration:none}.vc-legal a:hover,.veleno-privacy-links a:hover{color:#fff}.veleno-privacy-links{margin-top:8px;font-size:12px}.privacy-page{max-width:1000px;margin:20px auto;padding:12px 22px 35px;line-height:1.65}.privacy-page h1{font-size:34px}.privacy-page h2{margin-top:28px;font-size:21px}.privacy-page table{width:100%;margin:16px 0}.privacy-page th,.privacy-page td{text-align:left;padding:10px 8px;vertical-align:top}.privacy-page .privacy-note{padding:14px;background:rgba(255,255,255,.04)}@media(max-width:600px){.vc-panel{top:8px;width:calc(100% - 16px);max-height:calc(100vh - 16px);padding:22px 18px}.vc-actions button{width:100%}.privacy-page{padding:8px 15px}.privacy-page h1{font-size:28px}}


/* ==========================================================
   VELENO BBS — CONSENT TOP + POLICY TABLE SAFE FIX v1.3
   Narrow selectors only: no generic Synchronet table overrides.
   ========================================================== */

/* Consent window: always anchored to the top. */
#veleno-consent .vc-panel {
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: min(1180px, calc(100% - 28px)) !important;
    max-height: calc(100dvh - 36px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/*
 * Cookie-policy category table only.
 * The :has() condition prevents these rules from hitting other BBS tables.
 */
.veleno-policy table:has(th:first-child),
.veleno-policy-section table:has(th:first-child) {
    width: 100% !important;
    table-layout: auto !important;
}

.veleno-policy table th,
.veleno-policy table td,
.veleno-policy-section table th,
.veleno-policy-section table td {
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    vertical-align: top !important;
    line-height: 1.35 !important;
}

/* Never impose huge row heights on the policy table. */
.veleno-policy table tr,
.veleno-policy-section table tr {
    height: auto !important;
    min-height: 0 !important;
}

/* Desktop category column. */
.veleno-policy table th:first-child,
.veleno-policy table td:first-child,
.veleno-policy-section table th:first-child,
.veleno-policy-section table td:first-child {
    width: 180px !important;
    max-width: 220px !important;
}

/* Tablet */
@media (max-width: 900px) {
    #veleno-consent .vc-panel {
        top: 10px !important;
        bottom: auto !important;
        width: calc(100% - 20px) !important;
        max-height: calc(100dvh - 20px) !important;
        padding: 22px 18px !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    #veleno-consent .vc-panel {
        top: 6px !important;
        right: auto !important;
        bottom: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: calc(100% - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
        padding: 18px 13px 14px !important;
        border-radius: 0 !important;
    }

    #veleno-consent .vc-x {
        top: 6px !important;
        right: 6px !important;
    }

    #veleno-consent .vc-panel h2 {
        padding-right: 44px !important;
        font-size: 21px !important;
        line-height: 1.15 !important;
    }

    #veleno-consent .vc-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    #veleno-consent .vc-actions button {
        width: 100% !important;
    }

    .veleno-policy table,
    .veleno-policy-section table {
        width: 100% !important;
        table-layout: auto !important;
    }

    .veleno-policy table th,
    .veleno-policy table td,
    .veleno-policy-section table th,
    .veleno-policy-section table td {
        padding: 8px !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .veleno-policy table th:first-child,
    .veleno-policy table td:first-child,
    .veleno-policy-section table th:first-child,
    .veleno-policy-section table td:first-child {
        width: 34% !important;
        max-width: none !important;
    }
}


/* ==========================================================
   VELENO BBS — COOKIE CATEGORIES TABLE v1.4
   Exact 3-column layout; does not affect other Synchronet tables.
   ========================================================== */
.privacy-page .vc-policy-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.privacy-page table.vc-policy-categories {
    display: table !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
}

.privacy-page table.vc-policy-categories .vc-col-category { width: 18% !important; }
.privacy-page table.vc-policy-categories .vc-col-purpose  { width: 62% !important; }
.privacy-page table.vc-policy-categories .vc-col-default  { width: 20% !important; }

.privacy-page table.vc-policy-categories thead {
    display: table-header-group !important;
}

.privacy-page table.vc-policy-categories tbody {
    display: table-row-group !important;
}

.privacy-page table.vc-policy-categories tr {
    display: table-row !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
}

.privacy-page table.vc-policy-categories th,
.privacy-page table.vc-policy-categories td {
    display: table-cell !important;
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    vertical-align: top !important;
    line-height: 1.4 !important;
}

/* Mobile: each category becomes a readable card, so no column can be clipped. */
@media (max-width: 700px) {
    .privacy-page .vc-policy-table-wrap {
        overflow: visible !important;
    }

    .privacy-page table.vc-policy-categories,
    .privacy-page table.vc-policy-categories tbody,
    .privacy-page table.vc-policy-categories tr,
    .privacy-page table.vc-policy-categories td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .privacy-page table.vc-policy-categories colgroup,
    .privacy-page table.vc-policy-categories thead {
        display: none !important;
    }

    .privacy-page table.vc-policy-categories tr {
        margin: 0 0 12px !important;
        padding: 8px 10px !important;
        height: auto !important;
    }

    .privacy-page table.vc-policy-categories td {
        padding: 7px 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        font-size: 12px !important;
        line-height: 1.45 !important;
    }

    .privacy-page table.vc-policy-categories td::before {
        content: attr(data-label) ": ";
        display: block !important;
        margin-bottom: 3px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: .08em !important;
    }
}


/* ==========================================================
   VELENO BBS — COOKIE CATEGORIES HEADER FIX v1.5
   Keep CATEGORY / PURPOSE / DEFAULT in their own header row.
   Prevent global Veleno pseudo-elements from overlapping row 1.
   ========================================================== */
.privacy-page table.vc-policy-categories thead,
.privacy-page table.vc-policy-categories thead tr {
    display: table-header-group !important;
    height: auto !important;
    min-height: 0 !important;
}

.privacy-page table.vc-policy-categories thead tr {
    display: table-row !important;
}

.privacy-page table.vc-policy-categories thead th {
    display: table-cell !important;
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 9px 12px !important;
    white-space: normal !important;
    overflow: visible !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

/* Kill decorative labels injected by the global horror skin. */
.privacy-page table.vc-policy-categories th::before,
.privacy-page table.vc-policy-categories th::after,
.privacy-page table.vc-policy-categories td::before,
.privacy-page table.vc-policy-categories td::after {
    content: none !important;
    display: none !important;
}

/* Make absolutely sure first data row starts below THEAD. */
.privacy-page table.vc-policy-categories tbody {
    display: table-row-group !important;
}

.privacy-page table.vc-policy-categories tbody tr {
    display: table-row !important;
    position: static !important;
    height: auto !important;
}

.privacy-page table.vc-policy-categories tbody td {
    position: static !important;
    height: auto !important;
    padding: 10px 12px !important;
    line-height: 1.4 !important;
}

/* Mobile keeps the vertical-card presentation from v1.4. */
@media (max-width: 700px) {
    .privacy-page table.vc-policy-categories thead {
        display: none !important;
    }

    .privacy-page table.vc-policy-categories tbody {
        display: block !important;
        width: 100% !important;
    }

    .privacy-page table.vc-policy-categories tbody tr,
    .privacy-page table.vc-policy-categories tbody td {
        display: block !important;
        width: 100% !important;
    }

    /* Restore the mobile data labels intentionally, but only here. */
    .privacy-page table.vc-policy-categories tbody td::before {
        content: attr(data-label) ": " !important;
        display: block !important;
        position: static !important;
        width: auto !important;
        height: auto !important;
        margin: 0 0 3px !important;
        padding: 0 !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: .08em !important;
        line-height: 1.2 !important;
    }

    .privacy-page table.vc-policy-categories tbody td::after {
        content: none !important;
        display: none !important;
    }
}


/* ==========================================================
   VELENO BBS — PRIVACY & CONSENT CENTER v2.0
   ========================================================== */
#veleno-consent .vc-tabs{
  display:flex!important;gap:7px!important;flex-wrap:wrap!important;
  margin:14px 0 12px!important;padding:0 0 10px!important;
  border-bottom:1px solid rgba(255,30,55,.25)!important;
}
#veleno-consent .vc-tabs button{
  border:0!important;padding:8px 12px!important;background:rgba(35,0,5,.72)!important;
  color:#d8b992!important;font:700 11px/1.1 monospace!important;
  text-transform:uppercase!important;letter-spacing:.06em!important;cursor:pointer!important;
}
#veleno-consent .vc-tabs button.is-active{
  color:#fff!important;background:rgba(145,0,18,.58)!important;
  box-shadow:inset 0 -2px 0 #ff173d!important;
}
#veleno-consent .vc-tab[hidden]{display:none!important}
#veleno-consent .vc-tab h3{
  margin:8px 0 10px!important;color:#ff314e!important;text-transform:uppercase!important;
  font-size:14px!important;letter-spacing:.08em!important;
}
#veleno-consent .vc-inventory{display:grid!important;gap:6px!important}
#veleno-consent .vc-inventory>div{
  display:grid!important;grid-template-columns:1.1fr 1fr 2fr .75fr!important;gap:10px!important;
  padding:9px 10px!important;background:rgba(18,3,5,.72)!important;
  border-bottom:1px solid rgba(255,30,55,.18)!important;align-items:start!important;
}
#veleno-consent .vc-inventory b{color:#fff0d5!important}
#veleno-consent .vc-inventory span,#veleno-consent .vc-inventory em{
  color:#caa98b!important;font-style:normal!important;font-size:11px!important;line-height:1.35!important
}
#veleno-consent .vc-inventory strong{color:#ff526a!important;font-size:10px!important;text-transform:uppercase!important}
#veleno-consent .vc-receipt{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px 12px!important}
#veleno-consent .vc-receipt>div{
  display:flex!important;justify-content:space-between!important;gap:12px!important;
  padding:8px 10px!important;background:rgba(18,3,5,.72)!important;
  border-bottom:1px solid rgba(255,30,55,.18)!important
}
#veleno-consent .vc-receipt span{color:#caa98b!important}
#veleno-consent .vc-receipt b{color:#fff0d5!important;text-align:right!important}
#veleno-consent .vc-on{color:#58d66a!important}
#veleno-consent .vc-off{color:#ff526a!important}
#veleno-consent .vc-signal-note{font-size:11px!important;color:#b69a82!important;margin:10px 0!important}
#veleno-consent .vc-secondary-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:12px!important}
#veleno-consent .vc-secondary-actions button{
  padding:8px 11px!important;background:#100204!important;color:#fff0d5!important;
  border:1px solid rgba(255,30,55,.45)!important;cursor:pointer!important
}

/* Compact persistent privacy status control */
#veleno-privacy-status{
  position:fixed!important;right:12px!important;bottom:10px!important;z-index:2147483000!important;
  padding:6px 9px!important;border:1px solid rgba(255,30,55,.48)!important;border-radius:3px!important;
  background:rgba(5,0,1,.92)!important;color:#d9b58c!important;
  font:700 9px/1 monospace!important;letter-spacing:.06em!important;text-transform:uppercase!important;
  box-shadow:0 0 12px rgba(255,0,35,.18)!important;cursor:pointer!important;opacity:.82!important
}
#veleno-privacy-status:hover{opacity:1!important;color:#fff!important}

/* External-content consent placeholder */
.vc-external-placeholder{
  box-sizing:border-box!important;width:100%!important;min-height:110px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;padding:16px!important;background:rgba(5,0,1,.94)!important;
  color:#d7b28d!important;text-align:center!important
}
.vc-external-placeholder strong{color:#ff2948!important;letter-spacing:.08em!important}
.vc-external-placeholder span{font-size:11px!important}
.vc-external-placeholder button{
  padding:7px 10px!important;background:#210006!important;color:#fff0d5!important;
  border:1px solid rgba(255,30,55,.5)!important;cursor:pointer!important
}

/* Privacy Center standalone page */
.veleno-privacy-center{max-width:980px!important;margin:0 auto!important;padding:20px 18px 50px!important}
.veleno-privacy-center .vpc-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}
.veleno-privacy-center .vpc-card{padding:16px!important;background:rgba(10,1,2,.84)!important}
.veleno-privacy-center .vpc-card h3{color:#ff2948!important;margin:0 0 8px!important;text-transform:uppercase!important}
.veleno-privacy-center .vpc-card p{color:#d7b28d!important;line-height:1.5!important}
.veleno-privacy-center button{padding:9px 12px!important;background:#250006!important;color:#fff0d5!important;cursor:pointer!important}

@media(max-width:700px){
  #veleno-consent .vc-tabs{display:grid!important;grid-template-columns:1fr!important}
  #veleno-consent .vc-inventory>div{grid-template-columns:1fr!important;gap:3px!important}
  #veleno-consent .vc-receipt{grid-template-columns:1fr!important}
  #veleno-consent .vc-secondary-actions{display:grid!important;grid-template-columns:1fr!important}
  #veleno-consent .vc-secondary-actions button{width:100%!important}
  #veleno-privacy-status{right:6px!important;bottom:6px!important;font-size:8px!important}
  .veleno-privacy-center{padding:12px 10px 40px!important}
  .veleno-privacy-center .vpc-grid{grid-template-columns:1fr!important}
}
