/* Astra-specific preview controls. Original V2 selectors remain unchanged. */
html[data-astra="true"] .astra-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
html[data-astra="true"] .astra-preview-open,
html[data-astra="true"] .astra-preview-restore {
  min-height: 44px; padding: 9px 12px; border: 1px solid var(--gold-text);
  border-radius: 8px; background: #fffdf8; color: var(--gold-text);
  font: 600 13px/1.4 var(--sans-ja); cursor: pointer;
}
html[data-astra="true"] .astra-preview-open { margin-right: auto; }
html[data-astra="true"] .astra-preview-restore { margin: 0 0 16px; }
html[data-astra="true"] .astra-preview-reopen { display: none; }
html[data-astra="true"] .sim-canvas-head { flex-wrap: wrap; gap: 8px; padding-bottom: 8px; }
html[data-astra="true"] .sim-view-toggle button { min-width: 44px; min-height: 44px; }
html[data-astra="true"] .astra-preview-hidden #sim-canvas-card { display: none; }
html[data-astra="true"] .astra-preview-dialog {
  width: min(620px, calc(100vw - 24px)); max-width: none;
  max-height: calc(100dvh - 24px); padding: 16px; margin: auto;
  border: 1px solid #d3c4a1; border-radius: 16px;
  color: var(--ink, #29271f); background: #fffdf8;
  box-shadow: 0 24px 90px #14120c55; overflow-y: auto; overscroll-behavior: contain;
}
html[data-astra="true"] .astra-preview-dialog::backdrop { background: rgb(25 22 15 / 62%); }
html[data-astra="true"] .astra-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
html[data-astra="true"] .astra-dialog-head h2 { margin: 0; font: 700 18px/1.5 var(--sans-ja); }
html[data-astra="true"] .astra-dialog-back,
html[data-astra="true"] .astra-dialog-done,
html[data-astra="true"] .astra-dialog-undo {
  min-height: 44px; min-width: 44px; padding: 10px 12px; border-radius: 8px;
  font: 600 13px/1.4 var(--sans-ja); cursor: pointer;
}
html[data-astra="true"] .astra-dialog-back { flex: 0 0 auto; background: #fff; color: #554529; border: 1px solid #a79777; }
html[data-astra="true"] .astra-dialog-instruction { margin: 8px 0 12px; font-size: 13px; line-height: 1.6; color: #5c5649; }
html[data-astra="true"] .astra-dialog-stage .sim-canvas-card {
  display: block; position: static; width: auto; margin: 0; padding: 10px;
  border: 1px solid #ddcfad; border-radius: 10px; transform: none;
  background: radial-gradient(120% 100% at 50% 0%, #fdfbf4 0%, #ece5d3 100%);
  box-shadow: none; pointer-events: auto;
}
html[data-astra="true"] .astra-dialog-stage #sim-pip-bar,
html[data-astra="true"] .astra-dialog-stage .astra-preview-open { display: none; }
html[data-astra="true"] .astra-dialog-stage .sim-canvas-head { display: flex; }
html[data-astra="true"] .astra-dialog-stage #sim-canvas {
  width: auto; max-width: 100%; height: auto; max-height: min(52dvh, 540px);
  margin: 0 auto; pointer-events: auto; touch-action: none; cursor: move;
  filter: drop-shadow(0 8px 12px rgb(29 29 29 / 18%));
}
html[data-astra="true"] .astra-dialog-adjust { margin: 10px 0; border-bottom: 1px solid #ded6c6; }
html[data-astra="true"] .astra-dialog-adjust > summary {
  min-height: 44px; padding: 10px 2px; font-size: 13px; font-weight: 600; cursor: pointer;
}
html[data-astra="true"] .astra-dialog-select-hint { font-size: 13px; }
html[data-astra="true"] .astra-dialog-layer-label {
  display: grid; gap: 6px; padding: 4px 0 10px; font-size: 13px; font-weight: 600;
}
html[data-astra="true"] .astra-dialog-layer-label select {
  width: 100%; min-height: 44px; padding: 8px 10px;
  border: 1px solid #a79777; border-radius: 8px; color: #403a2f; background: #fff;
  font: 400 16px/1.4 var(--sans-ja);
}
html[data-astra="true"] .astra-dialog-adjust .sim-layer-ctrl { padding-bottom: 10px; }
html[data-astra="true"] .astra-dialog-adjust .sim-layer-hint { font-size: 12px; }
html[data-astra="true"] .astra-dialog-adjust .layer-pad button,
html[data-astra="true"] .astra-dialog-adjust .layer-buttons button { min-height: 44px; min-width: 44px; }
html[data-astra="true"] .astra-dialog-adjust #layer-undo { display: none; }
html[data-astra="true"] .astra-dialog-footer { display: flex; align-items: center; gap: 8px; }
html[data-astra="true"] .astra-dialog-done { flex: 1; background: #725c2b; color: #fff; border: 1px solid #725c2b; }
html[data-astra="true"] .astra-dialog-undo { background: #fff; border: 1px solid #a79777; color: #554529; }
html[data-astra="true"] .astra-dialog-undo:disabled { opacity: .45; cursor: default; }
html[data-astra="true"] .astra-preview-dialog button:focus-visible,
html[data-astra="true"] .astra-preview-dialog summary:focus-visible,
html[data-astra="true"] .astra-preview-open:focus-visible,
html[data-astra="true"] .astra-preview-restore:focus-visible,
html[data-astra="true"] .astra-preview-reopen:focus-visible {
  outline: 3px solid #315e92; outline-offset: 3px;
}
html[data-astra="true"].astra-modal-open { scroll-behavior: auto; }

@media (max-width: 860px) {
  html[data-astra="true"] .astra-preview-reopen:not([hidden]) {
    display: block; position: fixed; z-index: 92;
    left: var(--astra-pip-x, calc(100vw - 160px)); top: var(--astra-pip-y, 54px);
    width: 150px; max-width: calc(100vw - 20px); min-height: 44px;
    padding: 10px 8px; margin: 0; border: 1px solid #725c2b; border-radius: 10px;
    color: #fff; background: #725c2b; box-shadow: 0 3px 12px #29271f26;
    font: 600 12px/1.5 var(--sans-ja); cursor: pointer; touch-action: manipulation; transition: none;
  }
  html[data-astra="true"] .sim-canvas-wrap { position: relative; top: auto; }
  html[data-astra="true"] .sim-canvas-wrap.is-collapsed { min-height: 0; height: 0; margin: 0; padding: 0; position: static; }
  html[data-astra="true"] .sim-canvas-wrap.is-pip .sim-canvas-card {
    display: block; width: 150px; padding: 2px 5px 6px; border-radius: 10px;
    position: fixed; z-index: 92;
    left: var(--astra-pip-x, calc(100vw - 160px)); top: var(--astra-pip-y, 54px);
    right: auto; bottom: auto; transform: none; transition: none;
    pointer-events: auto; touch-action: manipulation; outline: 0;
  }
  html[data-astra="true"] .sim-canvas-wrap.astra-preview-hidden .sim-canvas-card { display: none; }
  html[data-astra="true"] .sim-canvas-wrap.is-pip #sim-canvas {
    max-height: 198px; pointer-events: none; touch-action: auto; cursor: default;
  }
  html[data-astra="true"] .sim-canvas-wrap.is-pip .sim-pip-bar {
    display: flex; gap: 2px; height: 48px; align-items: center; pointer-events: auto;
  }
  html[data-astra="true"] .sim-pip-btn,
  html[data-astra="true"] .sim-pip-grip {
    display: flex; flex: 1 0 44px; flex-direction: column; align-items: center; justify-content: center;
    width: 44px; height: 44px; min-width: 44px; min-height: 44px;
    margin: 0; padding: 2px 0; border: 1px solid transparent; border-radius: 7px;
    color: #574728; background: #fffdf6; font: 600 10px/1.25 var(--sans-ja); cursor: pointer;
  }
  html[data-astra="true"] .sim-pip-btn span:first-child,
  html[data-astra="true"] .sim-pip-grip span:first-child { font-size: 20px; line-height: 22px; }
  html[data-astra="true"] .sim-pip-grip { touch-action: none; cursor: grab; }
  html[data-astra="true"] .sim-pip-grip::before,
  html[data-astra="true"] .sim-pip-btn::after { content: none; }
  html[data-astra="true"] .sim-pip-btn:focus-visible,
  html[data-astra="true"] .sim-pip-grip:focus-visible { outline: 2px solid #315e92; outline-offset: 0; }
  html[data-astra="true"] .sim-pip-btn:hover,
  html[data-astra="true"] .sim-pip-grip:hover { background: #ede4cf; }
  html[data-astra="true"] .astra-preview-dialog { padding: 12px; }
  html[data-astra="true"] .astra-dialog-head h2 { font-size: 15px; }
  html[data-astra="true"] .astra-dialog-stage #sim-canvas { max-height: min(47dvh, 420px); }
  html[data-astra="true"] .astra-dialog-stage .sim-canvas-card { padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-astra="true"] .astra-preview-dialog,
  html[data-astra="true"] .astra-preview-dialog * { transition: none; animation: none; }
}
