/* Shared interaction colors: ivory / sage surfaces and forest panels. */
:root {
  --hover-paper: #dfe8d2;
  --hover-sage: #d2dfc3;
  --hover-forest: #28523f;
  --hover-dark-panel: #2b4c3e;
  --hover-accent: #c5e67f;
  --hover-border: #839b74;
  --photo-overlay: linear-gradient(0deg, rgba(9, 47, 31, .94) 0%, rgba(24, 77, 43, .76) 22%, rgba(39, 91, 51, .30) 48%, rgba(18, 57, 43, .06) 76%, transparent 100%);
}

/* Keep the geometry still; contrast carries the feedback. */
.hdr .hdr-tel, .btn, .film-actions a, .scene-selector button,
.warehouse-select button, .warehouse-address, .brand-footer a,
.faq summary, .reference-nav a, .quiet-link, .film-dark-link,
.lcx-service button, .lcx-service a {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.hdr .hdr-tel:is(:hover, :focus-visible) {
  background: var(--hover-forest) !important;
  color: #fff !important;
  border-color: var(--hover-forest);
  box-shadow: none;
  transform: none;
}
.hdr .nav a:is(:hover, :focus-visible) {
  background: var(--hover-paper);
  color: #12392b;
}
.btn:is(:hover, :focus-visible) { transform: none; box-shadow: none; }
.btn-primary:is(:hover, :focus-visible),
.cta .btn:not(.btn-ghost):is(:hover, :focus-visible),
.cta-band .btn-primary:is(:hover, :focus-visible) {
  background: var(--hover-forest);
  color: #fff;
  border-color: var(--hover-forest);
}
.btn-ghost:is(:hover, :focus-visible),
.cta .btn-ghost:is(:hover, :focus-visible),
.cta-band .btn-ghost:is(:hover, :focus-visible) {
  background: var(--hover-sage);
  color: #12392b;
  border-color: var(--hover-border);
}
.film-actions .film-primary:is(:hover, :focus-visible),
.ftr a.ftr-tel:is(:hover, :focus-visible),
.lcx-service .lcx-service-open:is(:hover, :focus-visible) {
  background: var(--hover-accent);
  color: #12392b;
  border-color: var(--hover-accent);
}
.film-actions a:not(.film-primary):is(:hover, :focus-visible),
.film-bottom a:is(:hover, :focus-visible),
.warehouse-address:is(:hover, :focus-visible) {
  background: rgba(18, 57, 43, .58);
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 6px;
}
.scene-selector button:is(:hover, :focus-visible),
.warehouse-select button:is(:hover, :focus-visible) {
  background: var(--hover-dark-panel);
  color: #fff;
}
.scene-selector button[aria-pressed=true]:is(:hover, :focus-visible),
.warehouse-select button[aria-pressed=true]:is(:hover, :focus-visible) {
  background: #345843;
  color: #d8f58a;
}
.scene-selector button span, .warehouse-select button span { opacity: .8; }
.brand-footer a:is(:hover, :focus-visible) {
  background: rgba(231, 238, 219, .10);
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.brand-footer .footer-wordmark:is(:hover, :focus-visible) { text-decoration: none; }
.film-dark-link:is(:hover, :focus-visible),
.reference-link > a:is(:hover, :focus-visible),
.reference-nav a:is(:hover, :focus-visible),
.quiet-link:is(:hover, :focus-visible),
.hubbar a:is(:hover, :focus-visible),
.qlist a:is(:hover, :focus-visible),
.faq summary:is(:hover, :focus-visible) {
  background: var(--hover-paper);
  color: #12392b;
  border-color: var(--hover-border);
}
.film-network a:is(:hover, :focus-visible),
.editorial-green a:not(.btn):is(:hover, :focus-visible) { background: var(--hover-sage); color: #12392b; }
.crumb a:is(:hover, :focus-visible), .link-arrow:is(:hover, :focus-visible),
.operations-more:is(:hover, :focus-visible), .film-footnote a:is(:hover, :focus-visible),
.film-contact a:is(:hover, :focus-visible), .contact-focus a:is(:hover, :focus-visible) {
  color: #315f30;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.pager-btn:is(:hover, :focus-visible):not(:disabled),
.shotrail-btn:is(:hover, :focus-visible):not(:disabled),
.price-chips .chip:is(:hover, :focus-visible),
.nav-btn:is(:hover, :focus-visible) {
  background: var(--hover-paper);
  border-color: var(--hover-border);
  color: #12392b;
  box-shadow: none;
}
.card:hover, .catgrid a:hover, .flow > div:hover, .facts > div:hover,
.stat:hover, .adv:hover, .feat:hover, .honor:hover, .tier:hover,
.m3-card:hover, .tl-item:hover .tl-body {
  background: #eaf0df;
  border-color: #a2b68f;
}
.editorial-green .card:hover { background: var(--hover-sage); }
.badge:hover, .brand-tag:hover, .citylist li:hover { background: var(--hover-paper); color: #12392b; border-color: var(--hover-border); }
table.data tbody tr:hover > td,
.warehouse-details tbody tr:hover > td,
.warehouse-details tbody tr:hover > th { background: #dfe8d2; }
.cert:hover { border-color: var(--hover-border); }
.lcx-service .lcx-service-toggle:is(:hover, :focus-visible) { background: var(--hover-forest); color: #fff; border-color: #9cb58c; }
.lcx-service .lcx-service-close:is(:hover, :focus-visible),
.lcx-service .lcx-service-phone:is(:hover, :focus-visible) { background: var(--hover-paper); color: #12392b; }
.facts-tools input:hover { border-color: var(--hover-border); }

/* Photo treatment, deliberately excluding the homepage hero and document scans.
   Every decorative layer is transparent to pointers; captions remain real text. */
.warehouse-frame::after { background: var(--photo-overlay); pointer-events: none; }
.warehouse-frame img { filter: saturate(1.02) contrast(1.02); }
.warehouse-frame figcaption, .warehouse-frame figcaption span,
.warehouse-frame h2, .warehouse-address { color: #fff; }
.warehouse-frame figcaption { text-shadow: 0 2px 16px rgba(6, 34, 23, .18); }
.warehouse-address { padding: 10px 14px; border-color: rgba(255, 255, 255, .65); }
.operations-grid figure, .shots .shot, .editorial-banner {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #12392b;
}
.operations-grid figure::after, .shots .shot::after, .editorial-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--photo-overlay);
  pointer-events: none;
}
.operations-grid figure figcaption, .shots .shot .shot-cap,
.editorial-banner .photo-caption {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: clamp(20px, 2.5vw, 36px);
  margin: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: clamp(18px, 1.7vw, 24px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .015em;
  text-shadow: 0 2px 16px rgba(6, 34, 23, .18);
}
.shots .shot .shot-cap b { color: #fff; margin: 0; font-weight: 600; }
.editorial-banner .photo-caption { padding: clamp(24px, 4.5vw, 64px); font-size: clamp(24px, 3vw, 42px); }
.operations-grid figure img, .shots .shot .shot-img { transition: transform .6s ease; }
.scene-stage { isolation: isolate; }
.scene-stage::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: var(--photo-overlay); pointer-events: none;
}
.film-scenes .scene-stage > p {
  z-index: 2; top: auto; bottom: 0; left: 0;
  margin: 0; padding: clamp(20px, 3vw, 42px);
  background: transparent; color: #fff; font-size: clamp(16px, 1.7vw, 23px);
  font-weight: 600; letter-spacing: .04em;
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .operations-grid figure:hover img, .shots .shot:hover .shot-img { transform: scale(1.025); }
}
.shots .shot:hover { transform: none; }

/* The same restrained feedback in the editing and price workspaces. */
.admin-surface :is(button, .button, input, select, textarea, summary, .upload-button) {
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.admin-surface button:is(:hover, :focus-visible):not(:disabled),
.admin-surface .button:is(:hover, :focus-visible),
.admin-surface .upload-button:is(:hover, :focus-within),
.auth-surface .enter:is(:hover, :focus-visible) {
  background: var(--hover-forest); color: #fff; border-color: var(--hover-forest); filter: none;
}
.admin-surface .secondary:is(:hover, :focus-visible):not(:disabled),
.admin-surface .media-item:is(:hover, :focus-visible),
.admin-surface .text-button:is(:hover, :focus-visible):not(:disabled),
.admin-surface .close:is(:hover, :focus-visible),
.admin-surface .block-row button:is(:hover, :focus-visible),
.admin-surface summary:is(:hover, :focus-visible) {
  background: var(--hover-paper); color: #12392b; border-color: var(--hover-border);
}
.admin-surface .top nav button:is(:hover, :focus-visible),
.admin-surface .workspace-tabs button:is(:hover, :focus-visible),
.admin-surface .report-tabs button:is(:hover, :focus-visible),
.admin-surface .admin-bar nav a:is(:hover, :focus-visible) { background: var(--hover-paper); color: #12392b; }
.admin-surface .top nav button[aria-pressed=true]:is(:hover, :focus-visible),
.admin-surface .report-tabs button[aria-pressed=true]:is(:hover, :focus-visible) { background: var(--hover-sage); color: #12392b; }
.admin-surface .workspace-tabs button[aria-pressed=true]:is(:hover, :focus-visible) { border-bottom-color: #12392b; }
.admin-surface aside nav a:is(:hover, :focus-visible) { background: var(--hover-forest); color: #fff; }
.admin-surface :is(input, select, textarea):hover:not(:disabled):not([type=checkbox]) { border-color: var(--hover-border); }
.admin-surface input[type=file]::file-selector-button { cursor: pointer; }
.admin-surface input[type=file]:hover::file-selector-button { background: var(--hover-sage); color: #12392b; }
.admin-surface tbody tr:hover > td { background: #eaf0df; }
.admin-surface .top nav a:is(:hover, :focus-visible),
.admin-surface .website:is(:hover, :focus-visible),
.admin-surface .view-site:is(:hover, :focus-visible),
.auth-surface footer a:is(:hover, :focus-visible) { background: var(--hover-paper); color: #12392b; text-decoration: underline; text-underline-offset: 4px; }
.admin-session button:is(:hover, :focus-visible) { background: var(--hover-sage) !important; color: #12392b !important; }
.admin-surface :is(button, a, summary):focus-visible { outline: 2px solid #5f824a; outline-offset: 3px; }
.admin-surface button:disabled:hover { filter: none; }
.auth-surface .enter { transition: background-color .18s ease; }

@media (prefers-reduced-motion: reduce) {
  .operations-grid figure img, .shots .shot .shot-img { transition: none; transform: none !important; }
  .admin-surface :is(button, .button, input, select, textarea, summary), .auth-surface .enter { transition: none; }
}
