/* ============================================
   Sticky CTA Bar (Mobile/Tablet)
   ============================================ */
.sticky-cta {
  display: none;
}

@media (max-width: 1024px) {
  .sticky-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 900;
    background-color: var(--color-white);
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1);
    padding: 8px 12px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
  }

  .sticky-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1;
    padding: 12px 8px;
    border-radius: var(--radius-sm);
    font-size: var(--fs-base);
    font-weight: 500;
    letter-spacing: 0.03em;
    text-decoration: none;
    transition: opacity var(--transition);
  }

  .sticky-cta__btn:active {
    opacity: 0.8;
  }

  .sticky-cta__btn--phone {
    background-color: var(--color-white);
    color: var(--color-text);
    border: 1px solid var(--color-border);
  }

  .sticky-cta__btn--line {
    background-color: #06C755;
    color: #FFFFFF;
  }

  .sticky-cta__btn--line:hover {
    color: #FFFFFF;
  }

  /* Prevent footer content from being hidden behind sticky bar */
  body {
    padding-bottom: 72px;
  }

  /* Hide sticky bar when mobile menu is open */
  body.is-menu-open .sticky-cta {
    display: none;
  }
}

/* ============================================
   Desktop Floating LINE Button
   ============================================ */
.floating-line {
  display: none;
}

@media (min-width: 1025px) {
  .floating-line {
    display: flex;
    align-items: center;
    gap: 8px;
    position: fixed;
    right: 24px;
    bottom: 32px;
    z-index: 900;
    background-color: #06C755;
    color: #FFFFFF;
    padding: 14px 24px;
    border-radius: 50px;
    font-size: var(--fs-base);
    font-weight: 500;
    letter-spacing: 0.03em;
    text-decoration: none;
    box-shadow: 0 4px 16px rgba(6, 199, 85, 0.3);
    transition: transform var(--transition), box-shadow var(--transition), opacity 0.4s ease;
    opacity: 0;
    pointer-events: none;
    transform: translateY(16px);
  }

  .floating-line.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .floating-line:hover {
    color: #FFFFFF;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(6, 199, 85, 0.4);
  }

  .floating-line__icon {
    flex-shrink: 0;
  }
}
