/* Photo stream sizing for admin-managed photos and the gallery manager UI */
.gallery-slide.has-ratio img{width:calc(var(--gallery-h) * var(--ratio));min-width:0;object-fit:contain}
.gallery-slide figcaption{min-height:2.6em}
.gallery-slide[data-orient="portrait"] figcaption span{display:none}
.download-card .btn.is-soon{opacity:.6;cursor:default;pointer-events:none}
.gallery-empty{padding:40px 20px;color:var(--navy);text-align:center;font-weight:800}

.gm{margin:0 0 22px;padding:clamp(16px,3vw,28px);border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.06);color:#eaf3ff}
.gm h3{color:#fff;font-family:"Montserrat",sans-serif;font-size:1.3rem;letter-spacing:.04em}
.gm__note,.gm__fine{margin:8px 0 14px;color:#b9cae0;font-size:.88rem;line-height:1.6}
.gm__status{min-height:1.4em;margin:10px 0;font-size:.92rem;font-weight:700;color:#cfe0f5}
.gm__status[data-type="success"]{color:#8ff0b0}
.gm__status[data-type="error"]{color:#ffb0b0}
.gm-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.gm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid rgba(255,255,255,.28);border-radius:14px;color:#fff;background:rgba(255,255,255,.1);font:800 .9rem "Montserrat",sans-serif;cursor:pointer;text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.gm-btn:hover:not(:disabled){background:rgba(255,255,255,.2)}
.gm-btn:disabled{opacity:.4;cursor:not-allowed}
.gm-btn[hidden]{display:none}
.gm-btn--gold{border-color:var(--gold2);color:#071844;background:linear-gradient(135deg,var(--gold2),var(--gold))}
.gm-btn--gold:hover:not(:disabled){background:var(--gold2)}
.gm-btn--danger{border-color:#ff8f8f;color:#ffd5d5;background:rgba(220,50,50,.2)}
.gm-btn:focus-visible,.gm input:focus-visible,.gm-ed input:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}
.gm-toolbar,.gm-notices{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.gm-notices{margin:6px 0 16px}
.gm-notices .gm__fine{flex:1 1 100%;margin:0}
.gm-lock{display:grid;gap:12px;max-width:460px}
.gm-lock label,.gm-field label,.gm-label{color:#d7e4f4;font-size:.85rem;font-weight:800}
.gm input[type=password],.gm-ed input[type=text]{width:100%;min-height:48px;padding:10px 14px;border:1px solid rgba(255,255,255,.22);border-radius:12px;color:#fff;background:rgba(3,13,39,.55);font:16px "Inter",sans-serif}
.gm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.gm-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(3,13,39,.5)}
.gm-card__frame{display:grid;place-items:center;height:170px;border-radius:12px;background:#071844;overflow:hidden}
.gm-card__frame img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.gm-card__body{display:grid;gap:3px;font-size:.85rem}
.gm-card__body strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.gm-card__body span{color:#9fb6d3;font-size:.75rem}
.gm-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gm-card__actions .gm-btn{min-height:44px;padding:8px 10px}

.gm-ed{position:fixed;inset:0;z-index:3400;overflow:auto;padding:16px;background:rgba(2,8,25,.94);color:#eaf3ff;-webkit-overflow-scrolling:touch}
.gm-ed[hidden]{display:none}
.gm-ed__card{width:min(1040px,100%);margin:0 auto;padding:clamp(14px,3vw,28px);border:1px solid rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(145deg,#0b2049,#040f2b)}
.gm-ed__card h3{margin-bottom:14px;color:#fff;font-family:"Montserrat",sans-serif;font-size:1.3rem}
.gm-ed__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.gm-ed__stage{position:sticky;top:0}
.gm-ed__canvaswrap{display:grid;place-items:center;padding:10px;border-radius:16px;background:rgba(255,255,255,.06)}
.gm-ed__canvas{display:block;max-width:100%;max-height:60vh;width:auto;height:auto;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.4);touch-action:none;cursor:grab;background:#071844}
.gm-ed__controls{display:grid;gap:14px}
.gm-field{display:grid;gap:6px}
.gm-field input[type=range]{width:100%;min-height:36px;accent-color:var(--gold2)}
.gm-field output{color:var(--gold2)}
.gm-row,.gm-segs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gm-segs{grid-template-columns:repeat(3,minmax(0,1fr))}
.gm-seg{position:relative;display:block}
.gm-seg input{position:absolute;opacity:0;inset:0;cursor:pointer}
.gm-seg span{display:grid;place-items:center;min-height:56px;padding:8px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(255,255,255,.08);font:800 .78rem "Montserrat",sans-serif;text-align:center}
.gm-seg input:checked+span{border-color:var(--gold2);color:#071844;background:linear-gradient(135deg,var(--gold2),var(--gold))}
.gm-seg input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.gm-ed__actions{position:sticky;bottom:-16px;z-index:2;display:flex;flex-wrap:wrap;gap:10px;margin:14px -4px -4px;padding:12px 4px;background:linear-gradient(0deg,#040f2b 70%,transparent)}
.gm-ed__actions .gm-btn{flex:1 1 150px}
body.gm-editing{overflow:hidden}

@media(max-width:860px){
  .gm-ed{padding:8px}
  .gm-ed__layout{grid-template-columns:1fr}
  .gm-ed__stage{position:static}
  .gm-ed__canvas{max-height:50vh}
  .gm-toolbar .gm-btn,.gm-notices .gm-btn{flex:1 1 100%}
  .gm-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
  .gm-card__frame{height:140px}
  .gm-card__actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}
