/* ============================================================
   Inspired LED Pro Site — shared mobile/tablet responsive styles
   Link this file from every page's <head>:
     <link rel="stylesheet" href="mobile-nav.css">
   Covers: hamburger nav that pushes content down (<=1100px, no
   overlay, nothing is ever covered), mascot/bubble resizing
   (<=900px, smaller still <=600px, bubble hidden <=380px),
   smaller product tiles on phones (<=600px), and the iOS input
   zoom fix.
   ============================================================ */

.contact-info { margin-left: auto; flex-shrink: 0; font-family: 'Open Sans', sans-serif; font-size: 14px; color: #888; white-space: nowrap; text-align: right; line-height: 1.5; }
.contact-info .q { color: var(--gold); font-weight: 600; font-family: 'Montserrat', sans-serif; font-size: 14px; }
.contact-info .d { color: #aaa; font-size: 13px; }
.nav-toggle { display: none; flex-direction: column; justify-content: center; gap: 5px; width: 32px; height: 32px; margin-left: auto; background: none; border: none; cursor: pointer; padding: 0; flex-shrink: 0; }
.nav-toggle span { display: block; width: 100%; height: 2px; background: var(--gold); border-radius: 2px; transition: transform 0.25s, opacity 0.25s; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.nav-mobile-contact { display: none; }

@media (max-width: 1100px) {
  body { overflow-x: hidden; }
  .header {
    height: auto !important;
    flex-wrap: wrap !important;
    position: relative;
    padding: 0 20px;
  }
  .logo { height: 56px; width: auto; max-width: 50vw; object-fit: contain; }
  .contact-info { display: none; }
  .nav-toggle { display: flex; margin-right: -12px; }

  /* Push-down menu: part of normal page flow, expands the header
     downward when open instead of floating over the page content. */
  .nav-links {
    position: static !important;
    order: 10 !important;
    flex: 0 0 100% !important;
    width: 100%;
    display: flex !important;
    flex-direction: column;
    gap: 1px;
    padding: 0 0;
    max-height: 0;
    overflow: hidden;
    box-shadow: none;
    transition: max-height 0.35s ease, padding 0.35s ease;
  }
  .nav-links.open {
    max-height: 400px;
    padding: 6px 4px 10px;
  }
  .nav-links a { font-size: 13px; padding: 9px 14px; border-radius: 6px; white-space: nowrap !important; text-align: left; }
  .nav-links a:hover, .nav-links a.active { background: rgba(255,216,107,0.08); }
  .nav-mobile-contact {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 4px;
    padding: 10px 14px 2px;
    border-top: 1px solid #444;
  }
  .nav-mobile-contact a { font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 400; letter-spacing: normal; text-transform: none; color: #aaa; padding: 2px 0; }
}

/* Mascot + speech bubble (only present on category pages — no-op elsewhere)
   Hidden entirely on phones/tablets for now — stays fully intact on desktop. */
@media (max-width: 900px) {
  #il-mascot-wrap, #il-bubble { display: none !important; }
}

/* Small floating help button — replaces the mascot on mobile.
   Element itself is created automatically by mobile-nav.js; adjust
   any styling (color, size, position) here only. */
#mobile-help-btn { display: none; }
@media (max-width: 900px) {
  #mobile-help-btn {
    display: flex;
    position: fixed;
    bottom: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bg-header, #3a3a3a);
    border: 1.5px solid var(--gold, #ffd86b);
    color: var(--gold, #ffd86b);
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.35);
    z-index: 9998;
    opacity: 0.85;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  #mobile-help-btn:active { transform: scale(0.94); opacity: 1; }
}

/* Prevent iOS Safari auto-zoom on form field focus (only affects pages with real inputs) */
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px !important; }
}