/* Small interaction additions; reference layout stays intact. */
.factory-tour { padding-top: 96px; padding-bottom: 96px; }
.factory-video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #0b1018; }
@media(min-width:1024px) { .factory-video { height: 350px; aspect-ratio: auto; } }
.factory-map { margin-top: 32px; border: 1px solid #e2e8f0; border-radius: 3px; overflow: hidden; background: #f3f4f6; }
.factory-map iframe { display: block; width: 100%; height: 420px; border: 0; }
.map-link { display: block; padding: 14px 20px; background: white; color: #2b7a3d; font-weight: 600; }
@media(max-width:767px) { .factory-tour { padding-top: 56px; padding-bottom: 56px; } .factory-map iframe { height: 320px; } }
[id] { scroll-margin-top: 100px; }
a:focus-visible, button:focus-visible { outline: 3px solid #e87722; outline-offset: 4px; }
.preview-mobile-nav { position: fixed; top:72px; left:0; right:0; padding:16px 24px; background:white; border-bottom:1px solid #e2e8f0; box-shadow:0 8px 16px #0001; }
.preview-mobile-nav a { display:block; padding:12px 0; font-size:15px; }
.preview-toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); padding:14px 22px; border-radius:6px; background:#1a1a2e; color:white; z-index:100; }
@media(min-width:1024px){.preview-mobile-nav {display:none}}
.packaging-size-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.packaging-size-grid > div {
  min-width: 0;
}

.packaging-size-grid--compact {
  gap: 0.5rem;
}

@media (min-width: 640px) {
  .packaging-size-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .packaging-size-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
}
