/* Mobile-only refinement. Desktop rules are intentionally untouched. */
.mobile-contact-toggle { display: none; }
@media (max-width: 680px) {
  .floating-actions.mobile-contact-ready {
    right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); gap: 8px;
  }
  .floating-actions.mobile-contact-ready > :not(.mobile-contact-toggle) { display: none !important; }
  .floating-actions.mobile-contact-ready.mobile-contact-open > :not(.mobile-contact-toggle) { display: flex !important; }
  .floating-actions.mobile-contact-ready.mobile-contact-open > a.float-btn { display: grid !important; place-items: center; }
  .floating-actions.mobile-contact-ready .mobile-contact-toggle {
    display: grid; place-items: center; width: 48px; height: 48px;
    border: 1px solid #d5a62e; border-radius: 50%; background: #17150e;
    color: #f5d36d; box-shadow: 0 4px 18px #0008; cursor: pointer;
  }
  .mobile-contact-toggle svg { width: 24px; height: 24px; }
  .floating-actions.mobile-contact-ready.mobile-contact-open {
    padding: 10px; border: 1px solid #cba44470; border-radius: 26px; background: #101010fa;
    max-height: calc(100dvh - 90px); overflow-y: auto;
  }
  .floating-actions.mobile-contact-ready .floating-socials { position: static; gap: 8px; flex-direction: column; }
  .floating-actions.mobile-contact-ready .floating-socials > a { width: 48px; height: 48px; }
  .floating-actions.mobile-contact-ready .language-menu { position: fixed; right: 86px; bottom: 76px; }
  body.modal-open .floating-actions.mobile-contact-ready,
  body.menu-open .floating-actions.mobile-contact-ready,
  body.mobile-input-active .floating-actions.mobile-contact-ready { display: none !important; }
  body:has(#navLinks.open) .floating-actions.mobile-contact-ready { display: none !important; }
  .site-footer { padding-bottom: 88px; }

  .home-restructured .hero-showcase .console-controls {
    left: 50%; right: auto; bottom: 76px; transform: translateX(-50%);
    width: min(340px, calc(100% - 24px)); max-width: none;
    display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px;
    gap: 4px; padding: 6px;
  }
  .home-restructured .hero-showcase .console-prev { grid-column: 1; grid-row: 1; }
  .home-restructured .hero-showcase .console-next { grid-column: 3; grid-row: 1; }
  .home-restructured .hero-showcase .console-arrow { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  .home-restructured .hero-showcase .console-dots { grid-column: 2; grid-row: 1; display: flex; gap: 0; justify-content: center; }
  .home-restructured .hero-showcase .console-dot,
  .home-restructured .hero-showcase .console-dot.is-active {
    flex: 1 1 24px; width: 24px; min-width: 0; height: 44px; padding: 0;
    position: relative; background: transparent; box-shadow: none; border: 0; border-radius: 6px;
  }
  .home-restructured .hero-showcase .console-dot::before {
    content: ''; position: absolute; left: 25%; right: 25%; top: 20px; height: 4px;
    border-radius: 9px; background: #777;
  }
  .home-restructured .hero-showcase .console-dot.is-active::before { background: #f5d36d; box-shadow: 0 0 8px #d5a62e80; }
  .home-restructured .hero-showcase .console-count { display: none; }
  .home-restructured .home-slide-copy { padding-bottom: 184px; }
  .contact-list li:has(.contact-message-link) { flex-wrap: nowrap; gap: 7px; }
  .contact-list li:has(.contact-message-link) > a:first-child { grid-template-columns: 32px minmax(0,1fr); gap: 7px; font-size: clamp(.75rem, 3.5vw, .9rem); white-space: nowrap; }
  .contact-list li:has(.contact-message-link) > a:first-child > .contact-icon,
  .contact-list li:has(.contact-message-link) > a:first-child > b { width: 30px; height: 30px; }
  .contact-list li > a.contact-message-link { margin-left: 0; padding: 6px 9px; min-height: 44px; flex-shrink: 0; font-size: .75rem; }
  .contact-page .page-hero { padding: 30px 0 26px; min-height: 0; }
  .contact-page .page-title { font-size: clamp(2rem, 8vw, 2.8rem); line-height: 1.08; }
  .contact-page .page-lead { margin-top: 14px; font-size: .95rem; line-height: 1.55; }
  .contact-page .page-hero + section { padding-top: 26px; padding-bottom: 42px; }
  .contact-page .contact-info { padding: 20px; }
  .contact-page .contact-info h2 { font-size: 1.65rem; line-height: 1.15; }
  .contact-page .contact-list { margin-top: 20px; gap: 10px; }
  #galleryModal .modal-dialog { max-height: 94dvh; border-radius: 20px; }
  #galleryModal .gallery-head { padding: 6px 44px 12px 6px; }
  #galleryModal .gallery-head h2 { font-size: clamp(1.25rem, 5.5vw, 1.6rem); line-height: 1.15; }
  #galleryModal .gallery-head p { font-size: .8rem; line-height: 1.45; margin-top: 6px; }
  #galleryModal .gallery-stage img { height: clamp(220px, 43dvh, 460px); max-height: 48dvh; aspect-ratio: auto; }
  #galleryModal .gallery-nav { width: 44px; height: 44px; }
  #galleryModal .gallery-thumb { flex-basis: 68px; }
  #galleryModal .gallery-meta { font-size: .8rem; }
}
