/* Valmonde Regie archive compatibility layer - additive only, no layout changes */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img[rel="sw_lightbox"], a[data-archive-lightbox] { cursor: pointer; }
a[data-archive-lightbox]:focus-visible, img[rel="sw_lightbox"]:focus-visible, a[data-archive-unavailable]:focus-visible,
.archive-dialog button:focus-visible { outline: 2px dotted #7a1a1a; outline-offset: 2px; }

.archive-missing-image { display: inline-block; box-sizing: border-box; overflow: hidden; vertical-align: top;
  background: #ece9e2; border: 1px dashed #b5aea0; color: #6b6458; font: 11px/1.3 "Trebuchet MS", sans-serif;
  text-align: center; padding: 4px; }
.archive-nav-label { display: inline-block; box-sizing: border-box; overflow: hidden; white-space: nowrap;
  vertical-align: middle; font-family: "Trebuchet MS", sans-serif; font-size: 12px; text-transform: uppercase; }
a .archive-nav-label { color: inherit; text-decoration: none; }

.archive-map-note { display: block; box-sizing: border-box; margin: 6px 0; padding: 8px 10px; background: #f3f1ec;
  border: 1px solid #cfc8ba; color: #333; font: 12px/1.4 "Trebuchet MS", sans-serif; text-align: left; }
.archive-map-note a { color: #7a1a1a; text-decoration: underline; }

.archive-form-notice { display: block; margin: 6px 0; padding: 6px 8px; background: #fbf3e4; border: 1px solid #d8b878;
  color: #5a3d0c; font: 12px/1.4 "Trebuchet MS", sans-serif; }
form[data-archive-form] input[type="submit"], form[data-archive-form] button[type="submit"] { cursor: not-allowed; }

.archive-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Dialogs (lightbox + notices) */
.archive-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
  background: rgba(20, 18, 15, .78); padding: 16px; box-sizing: border-box; }
.archive-overlay[hidden] { display: none; }
.archive-dialog { position: relative; max-width: 92vw; max-height: 92vh; overflow: auto; background: #f7f5f0; color: #222;
  border: 1px solid #8a8274; box-shadow: 0 4px 18px rgba(0,0,0,.4); padding: 14px; box-sizing: border-box;
  font: 13px/1.45 "Trebuchet MS", sans-serif; }
.archive-dialog--text { width: 420px; }
.archive-dialog h2 { margin: 0 28px 8px 0; font: bold 15px Georgia, serif; color: #7a1a1a; }
.archive-dialog p { margin: 0 0 8px; }
.archive-dialog img { display: block; max-width: calc(92vw - 30px); max-height: calc(92vh - 60px); height: auto; width: auto; margin: 0 auto; }
.archive-caption { margin-top: 6px; font-size: 12px; color: #555; text-align: center; }
.archive-close { position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; border: 1px solid #8a8274;
  background: #fff8ee; color: #333; font: bold 16px/1 Georgia, serif; cursor: pointer; }
.archive-dialog .archive-ok { margin-top: 4px; padding: 3px 12px; border: 1px solid #8a8274; background: #ece9e2; cursor: pointer; font: inherit; }
body.archive-modal-open { overflow: hidden; }
@media print { .archive-overlay { display: none !important; } }
