/* Shared event photography and controls. The image itself is never dimmed. */
.workspace-event-hero { color:var(--ink); background:transparent; overflow:visible; }
.workspace-event-hero .event-hero-photo { position:relative; width:100%; padding:0; min-height:340px; aspect-ratio:2.8; background:var(--surface-soft); overflow:hidden; }
.event-hero-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; }
.photo-title-surface { background:rgba(255,255,255,.9); color:#292c27; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); padding:20px 24px; width:fit-content; max-width:min(620px,calc(100% - 48px)); }
.workspace-event-hero .event-hero-caption { position:absolute; left:24px; bottom:24px; }
.workspace-event-hero h1 { font-size:clamp(32px,3.6vw,64px); max-width:18ch; margin:8px 0 12px; overflow-wrap:anywhere; }
.event-hero-caption>p:last-child { font-size:13px; max-width:54ch; line-height:1.6; }
.workspace-event-hero .event-hero-actions { padding:18px 0 6px; gap:10px; }
.workspace-event-hero .event-hero-summary { display:flex; flex-wrap:wrap; gap:12px 24px; padding:12px 0 18px; color:var(--muted); font-size:12px; border-bottom:1px solid var(--line); }
.event-hero-summary strong { font-weight:650; color:var(--ink); }
.public-cover-caption { position:absolute; left:20px; bottom:20px; }
.event-details-form { display:grid; gap:20px; }
.event-details-form label { display:grid; gap:6px; font-size:13px; font-weight:600; }
.event-details-dates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
[data-details-error] { color:#a52b31; }

/* The SVG includes its four-module quiet zone, including in downloaded files. */
.qr-share-card { display:flex; flex-direction:column; align-items:center; min-width:0; height:100%; padding:0; background:transparent; text-align:center; }
.qr-code-display { width:min(100%,420px); aspect-ratio:1; flex-shrink:0; background:#fff; padding:0; border:0; box-shadow:none; margin-inline:auto; }
.qr-code-display>svg { display:block; width:100%; height:auto; aspect-ratio:1; }
.guest-share-layout { display:grid; grid-template-columns:minmax(0,420px) minmax(0,1fr); align-items:center; gap:24px; }
.guest-share-layout .guest-share-qr { width:100%; max-width:420px; }
.guest-share-description { min-width:0; }
.guest-share-description h3 { font-size:24px; line-height:1.25; margin:0; }
.guest-share-description>p { margin-top:12px; font-size:14px; line-height:1.6; color:var(--muted); }
@media(max-width:700px) {
  .guest-share-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
  .guest-share-layout .guest-share-qr { width:min(100%,88vw); max-width:420px; }
  .guest-share-description { text-align:center; }
}
.qr-share-card>div:last-child { width:100%; }
.qr-share-actions { justify-content:center; padding-top:16px; }
.qr-share-card [data-surface-pin-control] { max-width:420px; }

/* Only the dedicated editing frame captures touch drags. Page scrolling and
 * the shared media viewer keep their existing interaction boundaries. */
.cover-editor-page { max-width:1500px; margin-inline:auto; }
.cover-editor-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.cover-editor-toolbar label { display:flex; align-items:center; gap:12px; }
[data-cover-frame] { position:relative; width:100%; aspect-ratio:2.8; overflow:hidden; background:var(--surface-soft); touch-action:none; cursor:grab; user-select:none; margin-inline:auto; }
[data-cover-frame][data-device=tablet] { aspect-ratio:2; max-width:850px; }
[data-cover-frame][data-device=mobile] { aspect-ratio:.9; max-width:390px; }
[data-cover-frame][data-dragging=true] { cursor:grabbing; }
[data-focal-photo] { display:block; width:100%; height:100%; object-fit:cover; pointer-events:none; }
[data-cover-frame]>img { position:absolute; inset:0; }
.cover-position-ranges { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:24px 0; }
.cover-position-ranges label { display:grid; gap:8px; font-size:13px; }
.cover-position-ranges input { width:100%; min-height:44px; accent-color:var(--ink); }
.cover-preview-pair { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); align-items:start; gap:24px; max-width:850px; }
.cover-preview-pair figure { margin:0; min-width:0; }
[data-cover-preview] { aspect-ratio:2.8; overflow:hidden; }
[data-cover-preview=mobile] { aspect-ratio:.9; max-width:210px; }
.cover-preview-pair figcaption { font-size:12px; margin-top:8px; color:var(--muted); }
.cover-save-bar { position:sticky; bottom:0; z-index:2; padding:16px 0; margin-top:24px; background:var(--canvas); border-top:1px solid var(--line); }
.cover-save-bar>p { margin-right:auto; font-size:13px; }
.mbx-button:focus-visible,[data-cover-frame]:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }

@media(max-width:700px) {
  .workspace-event-hero .event-hero-photo { min-height:380px; aspect-ratio:.9; }
  .workspace-event-hero .event-hero-caption { left:16px; bottom:16px; padding:14px 16px; max-width:calc(100% - 32px); }
  .workspace-event-hero .event-hero-photo>img { opacity:1!important; }
  .workspace-event-hero h1 { font-size:38px; margin:6px 0 10px; }
  .event-hero-caption>p:last-child { font-size:12px; }
  .workspace-event-hero .event-hero-actions { padding:14px 12px 0; gap:4px 8px; }
  .workspace-event-hero .event-hero-summary { padding:14px 12px; gap:8px 16px; }
  .qr-code-display { width:100%; max-width:360px; }
  .cover-position-ranges { gap:16px; }
  .cover-preview-pair { gap:16px; }
  .cover-save-bar>p { flex-basis:100%; }
  .memboux-ui :is(.mbx-button,.ui-button,.product-panel-trigger,.ui-actions>a,.ui-actions>button):not([aria-pressed]):not([role=radio]):not(.gallery-pick) { border-color:transparent; box-shadow:none; }
  .memboux-ui .mbx-button--secondary { background:var(--surface-soft); }
  .mbx-app-header :is(a,button,summary) { border-color:transparent; }
  .ui-actions { border:0; box-shadow:none; }
  .memboux-ui :is(.mbx-button,.ui-button,.product-panel-trigger):focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
}

/* Template identities remain in their heroes and chapters; collection geometry is shared. */
.w-photo-grid.memboux-brickwall .w-photo-card { border:0; padding:0; }
.w-photo-grid.memboux-brickwall .w-photo-card button,.w-photo-grid.memboux-brickwall .w-photo-card picture,.w-photo-grid.memboux-brickwall .w-photo-card img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }

.w-photo-grid.memboux-brickwall { columns:auto; }
.w-photo-grid.memboux-brickwall .w-photo-card>span { position:absolute; bottom:6px; right:6px; padding:2px 6px; color:#292c27; background:#ffffffe6; }
