/* Virtual 360 ADS Cookie Consent Banner */

#v360-cookie-banner,
#v360-cookie-banner *{
  box-sizing:border-box;
  font-family:Helvetica, Arial, sans-serif;
}

#v360-cookie-banner{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:9999;
  background:rgba(17,24,39,0.97);
  color:#f9fafb;
  border-top:2px solid #6366f1;
  padding:18px 24px;
  max-height:60vh;
  overflow-y:auto;
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.22,.61,.36,1);
  box-shadow:0 -8px 32px rgba(0,0,0,.4);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
#v360-cookie-banner.is-visible{transform:translateY(0)}

.v360-cc-inner{
  max-width:1280px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:24px;
}
.v360-cc-text{
  flex:1;
  font-size:.92rem;
  line-height:1.55;
  color:#e5e7eb;
}
.v360-cc-text strong{color:#ffffff;font-weight:600}
.v360-cc-text a{
  color:#a5b4fc;
  text-decoration:underline;
  text-underline-offset:2px;
}
.v360-cc-text a:hover{color:#c7d2fe}
.v360-cc-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  flex-wrap:wrap;
}
.v360-cc-btn{
  font-family:Helvetica, Arial, sans-serif;
  font-size:.88rem;
  font-weight:500;
  padding:10px 18px;
  border-radius:8px;
  cursor:pointer;
  border:1px solid transparent;
  transition:background .18s, border-color .18s, color .18s, transform .12s;
  white-space:nowrap;
}
.v360-cc-btn:active{transform:translateY(1px)}
.v360-cc-btn-primary{
  background:#6366f1;
  color:#ffffff;
  border-color:#6366f1;
}
.v360-cc-btn-primary:hover{background:#4f46e5;border-color:#4f46e5}
.v360-cc-btn-secondary{
  background:transparent;
  color:#e5e7eb;
  border-color:rgba(229,231,235,0.4);
}
.v360-cc-btn-secondary:hover{
  background:rgba(229,231,235,0.08);
  border-color:rgba(229,231,235,0.7);
  color:#ffffff;
}
.v360-cc-btn-link{
  background:transparent;
  color:#a5b4fc;
  border:none;
  padding:10px 8px;
  text-decoration:underline;
  text-underline-offset:2px;
}
.v360-cc-btn-link:hover{color:#c7d2fe}

/* Customize panel */
.v360-cc-panel{
  display:none;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,0.12);
}
.v360-cc-panel.is-open{display:block}
.v360-cc-panel-inner{
  max-width:1280px;
  margin:0 auto;
}
.v360-cc-cat{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.v360-cc-cat:last-of-type{border-bottom:none}
.v360-cc-cat-info{flex:1;min-width:0}
.v360-cc-cat-name{
  font-size:.95rem;
  font-weight:600;
  color:#ffffff;
  margin-bottom:4px;
}
.v360-cc-cat-desc{
  font-size:.84rem;
  color:#cbd5e1;
  line-height:1.5;
}

/* Toggle */
.v360-cc-toggle{
  flex-shrink:0;
  position:relative;
  display:inline-block;
  width:42px;height:24px;
  margin-top:2px;
}
.v360-cc-toggle input{
  position:absolute;opacity:0;width:0;height:0;
}
.v360-cc-toggle-track{
  position:absolute;inset:0;
  background:#374151;
  border-radius:100px;
  transition:background .22s;
  cursor:pointer;
}
.v360-cc-toggle-thumb{
  position:absolute;
  top:3px;left:3px;
  width:18px;height:18px;
  background:#ffffff;
  border-radius:50%;
  transition:transform .22s;
}
.v360-cc-toggle input:checked + .v360-cc-toggle-track{background:#6366f1}
.v360-cc-toggle input:checked + .v360-cc-toggle-track .v360-cc-toggle-thumb{transform:translateX(18px)}
.v360-cc-toggle.is-locked .v360-cc-toggle-track{background:#10b981;cursor:not-allowed;opacity:.85}
.v360-cc-toggle.is-locked .v360-cc-toggle-thumb{transform:translateX(18px)}

.v360-cc-panel-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
}

/* Tablet */
@media (max-width:900px){
  #v360-cookie-banner{padding:14px 18px}
  .v360-cc-inner{flex-direction:column;align-items:stretch;gap:14px}
  .v360-cc-text{font-size:.88rem}
  .v360-cc-actions{justify-content:flex-end}
}

/* Mobile */
@media (max-width:540px){
  #v360-cookie-banner{padding:14px 14px;max-height:75vh}
  .v360-cc-text{font-size:.85rem}
  .v360-cc-actions{flex-direction:column;align-items:stretch;gap:8px}
  .v360-cc-btn{width:100%;text-align:center;padding:11px 16px}
  .v360-cc-btn-link{padding:8px}
  .v360-cc-cat{gap:10px}
  .v360-cc-cat-name{font-size:.9rem}
  .v360-cc-cat-desc{font-size:.78rem}
  .v360-cc-panel-actions{flex-direction:column}
  .v360-cc-panel-actions .v360-cc-btn{width:100%}
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  #v360-cookie-banner{transition:none}
}
