/* V3 is only an editor surface; the site keeps the R04 page geometry. */
.v3-selection-frame[hidden] { display: none !important; }
.v3-active .v3-selection-frame {
  position: fixed;
  z-index: 990;
  box-sizing: border-box;
  border: 2px solid #66dcff;
  background: rgba(102, 220, 255, .035);
  box-shadow: 0 0 0 1px #071216, 0 0 0 4px rgba(102, 220, 255, .25);
  pointer-events: none;
}
.v3-frame-label {
  position: absolute;
  top: -26px;
  left: -2px;
  max-width: 85vw;
  padding: 4px 8px;
  overflow: hidden;
  border: 1px solid #66dcff;
  border-radius: 4px 4px 0 0;
  background: #071216;
  color: #f0fbff;
  font: 11px/1.3 sans-serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v3-handle {
  position: absolute;
  width: 15px;
  height: 15px;
  padding: 0;
  border: 2px solid #071216;
  border-radius: 3px;
  background: #66dcff;
  box-shadow: 0 0 0 1px #fff;
  pointer-events: auto;
  touch-action: none;
}
.v3-handle-n { top: -8px; left: calc(50% - 8px); cursor: ns-resize; }
.v3-handle-s { bottom: -8px; left: calc(50% - 8px); cursor: ns-resize; }
.v3-handle-e { right: -8px; top: calc(50% - 8px); cursor: ew-resize; }
.v3-handle-w { left: -8px; top: calc(50% - 8px); cursor: ew-resize; }
.v3-handle-ne { right: -8px; top: -8px; cursor: nesw-resize; }
.v3-handle-nw { left: -8px; top: -8px; cursor: nwse-resize; }
.v3-handle-se { right: -8px; bottom: -8px; cursor: nwse-resize; }
.v3-handle-sw { left: -8px; bottom: -8px; cursor: nesw-resize; }
.v3-selection-frame[data-v3-type="SECTION"] .v3-handle:not(.v3-handle-s),
.v3-selection-frame[data-v3-type="TEXT"] .v3-handle:not(.v3-handle-e):not(.v3-handle-w) { display: none; }
.v3-selection-frame[data-v3-locked="true"] .v3-handle,
.v3-selection-frame[data-v3-no-resize="true"] .v3-handle { display: none; }

.v3-active .builder-panel__scroll { gap: 12px; }
.v3-editor { display: grid; gap: 10px; order: -10; }
.v3-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.v3-top h3 { margin: 0; color: #66dcff; font-size: 15px; }
.v3-selected-name { font-size: 13px; }
.v3-selected-id { color: #a9c4ce; font-size: 10px; }
.v3-object-select { width: 100%; min-height: 36px; border: 1px solid #567783; border-radius: 4px; background: #142126; color: #f2fbff; }
.v3-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.v3-button { min-height: 31px; padding: 5px 8px; border: 1px solid #527481; border-radius: 4px; background: #16242a; color: #ecf9fe; cursor: pointer; font: inherit; }
.v3-button:hover { border-color: #66dcff; }
.v3-button:disabled { opacity: .45; cursor: default; }
.v3-button.v3-primary { border-color: #f5824b; background: #b74c22; color: white; }
.v3-controls { display: grid; gap: 10px; }
.v3-group { display: grid; gap: 6px; padding: 9px; border: 1px solid #35525c; border-radius: 5px; background: rgba(38, 66, 75, .22); }
.v3-group h4 { margin: 0 0 2px; color: #66dcff; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.v3-control { display: grid; grid-template-columns: minmax(0, 1fr) minmax(78px, 90px); align-items: center; gap: 8px; }
.v3-control input, .v3-control select { width: 100%; min-height: 30px; padding: 3px 5px; border: 1px solid #527481; border-radius: 3px; background: #0b151a; color: white; font: inherit; }
.v3-check { display: flex; align-items: center; gap: 7px; }
.v3-check input { accent-color: #66dcff; }
.v3-note { margin: 0; color: #a8bec7; line-height: 1.45; }
.v3-status { min-height: 1.2em; margin: 0; color: #86e2a5; }
.v3-status.v3-error { color: #ff927e; }
.v3-advanced { order: 10; padding-top: 9px; border-top: 1px solid #35525c; }
.v3-advanced > summary { padding: 8px; border: 1px solid #527481; border-radius: 4px; color: #b9dce7; cursor: pointer; }
.v3-advanced > :not(summary) { margin-top: 12px; }
.v3-active .hero-resize-handle,
.v3-active .art-resize-handle,
.v3-active .footer-height-handle { display: none !important; }
.v3-active [data-v3-id] { cursor: pointer; }
.v3-active .story-card .card-body > *,
.v3-active .lower-card .card-body > *,
.v3-active .video-card .video-overlay > * { pointer-events: auto; }
.v3-active .builder-panel, .v3-active .builder-panel-toggle { transition: left .15s ease, right .15s ease; }
.v3-active.v3-dock-left .builder-panel { left: 0; right: auto; border-left: 0; border-right: 1px solid rgba(92, 210, 255, .4); box-shadow: 1rem 0 3rem rgba(0, 0, 0, .55); }
.v3-active.v3-dock-left .builder-panel-toggle { left: calc(var(--builder-panel-width) + .75rem); right: auto; }
.v3-active.v3-dock-left.builder-panel-collapsed .builder-panel { left: calc(-1 * var(--builder-panel-width)); right: auto; }
.v3-active.v3-dock-left.builder-panel-collapsed .builder-panel-toggle { left: .75rem; right: auto; }
@media (max-width: 760px) {
  .v3-active.builder-mode .builder-panel {
    bottom: auto;
    height: min(45vh, 400px);
  }
  .v3-active.v3-dock-left .builder-panel-toggle { left: min(calc(100vw - 1rem), var(--builder-panel-width)); }
}
