/**
 * MOBILE HOMEPAGE BEAUTIFUL ENHANCEMENTS
 * Clean, professional, conversion-optimized mobile design
 */

@media (max-width: 768px) {
  /* ===== HERO SECTION - Mobile Optimized ===== */
  .ts-hero--home {
    padding: 2rem 1rem 3rem !important;
    background: linear-gradient(
      135deg,
      #ffffff 0%,
      var(--tiller-color-silver-bright, #f8f9fa) 100%
    );
    position: relative;
    overflow: hidden;
  }

  .ts-hero__inner {
    max-width: 100% !important;
    padding: 0 !important;
  }

  .ts-hero__badges {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
    margin-bottom: 1.5rem !important;
  }

  .ts-hero__badges > * {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 0.9375rem !important;
    padding: 0.875rem 1.25rem !important;
  }

  .ts-hero__title {
    font-size: 2rem;
    line-height: 1.2;
    margin: 1rem 0;
    text-align: center;
  }

  .ts-hero__lede {
    font-size: 1.125rem;
    padding: 1rem 1.25rem;
    margin: 1rem 0;
    text-align: center;
  }

  /* Hero bullets - beautiful mobile cards */
  .ts-hero__bullets {
    gap: 0.875rem;
    margin: 1.5rem 0;
  }

  .ts-hero__bullet {
    padding: 1rem 1.25rem;
    border-width: 2px;
    box-shadow: 0 2px 8px rgb(0 0 0 / 10%);
  }

  .ts-hero__bullet strong {
    font-size: 1rem;
    margin-bottom: 0.375rem;
  }

  .ts-hero__bullet span {
    font-size: 0.9375rem;
    line-height: 1.5;
  }

  /* Hero actions - full width buttons */
  .ts-hero__actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    margin-top: 2rem !important;
  }

  .ts-hero__actions .btn {
    width: 100% !important;
    padding: 1rem 1.5rem !important;
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ===== TRUST BAR - Mobile Clean ===== */
  #trust {
    padding: 2rem 1rem !important;
    background: var(--tiller-color-silver-bright, #f8f9fa);
  }

  #trust .trust-badge {
    flex-direction: column;
    text-align: center;
    padding: 1.25rem;
    gap: 0.75rem;
  }

  /* ===== SERVICES SECTION - Mobile Grid ===== */
  #services {
    padding: 2.5rem 1rem;
  }

  #services h2 {
    font-size: 1.875rem;
    text-align: center;
    margin-bottom: 1.5rem;
  }

  .service-card {
    margin-bottom: 1.25rem !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgb(0 0 0 / 10%) !important;
  }

  /* ===== TESTIMONIALS - Mobile Carousel ===== */
  #testimonials {
    padding: 2.5rem 1rem !important;
    background: var(
      --tiller-gradient-emerald-accessible,
      linear-gradient(135deg, #006c47 0%, #008f5d 100%)
    );
  }

  #testimonials h2 {
    font-size: 1.875rem !important;
    text-align: center !important;
    color: white !important;
    margin-bottom: 1.5rem !important;
  }

  .testimonial-card {
    background: white !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    margin-bottom: 1.25rem !important;
    box-shadow: 0 4px 16px rgb(0 0 0 / 15%) !important;
  }

  /* ===== PORTFOLIO - Mobile Friendly ===== */
  #portfolio {
    padding: 2.5rem 1rem !important;
  }

  #portfolio h2 {
    font-size: 1.875rem !important;
    text-align: center !important;
    margin-bottom: 1.5rem !important;
  }

  .portfolio-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }

  .portfolio-item img {
    width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgb(0 0 0 / 15%) !important;
  }

  /* ===== FAQ - Mobile Accordion ===== */
  #faq {
    padding: 2.5rem 1rem !important;
    background: var(--tiller-color-silver-bright, #f8f9fa);
  }

  #faq h2 {
    font-size: 1.875rem !important;
    text-align: center !important;
    margin-bottom: 1.5rem !important;
  }

  .faq-item {
    background: white !important;
    border-radius: 12px !important;
    margin-bottom: 1rem !important;
    border: 2px solid #e5e7eb !important;
    overflow: hidden !important;
  }

  .faq-question {
    padding: 1.25rem !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
  }

  .faq-answer {
    padding: 0 1.25rem 1.25rem !important;
    font-size: 0.9375rem !important;
    line-height: 1.6 !important;
  }

  /* ===== FOOTER - Mobile Clean ===== */
  .ts-footer {
    padding: 2rem 1rem !important;
    padding-bottom: max(2rem, env(safe-area-inset-bottom)) !important;
    text-align: center !important;
  }

  .footer-nav {
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 1.5rem 0 !important;
  }

  .footer-nav a {
    padding: 0.75rem !important;
    font-size: 0.9375rem !important;
  }

  /* ===== SPACING & RHYTHM ===== */
  section + section {
    margin-top: 0 !important;
  }

  /* ===== TYPOGRAPHY - Mobile Optimized ===== */
  h1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  h2 {
    font-size: 1.75rem !important;
    line-height: 1.3 !important;
  }

  h3 {
    font-size: 1.5rem !important;
    line-height: 1.4 !important;
  }

  p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
  }

  /* ===== TOUCH TARGETS - WCAG AAA ===== */
  a,
  button,
  input,
  select {
    min-height: 44px !important;
    min-width: 44px !important;
  }

  /* ===== BEAUTIFUL SHADOWS ===== */
  .card,
  .service-card,
  .testimonial-card,
  .portfolio-item,
  .faq-item {
    box-shadow:
      0 2px 8px rgb(0 0 0 / 8%),
      0 4px 16px rgb(0 0 0 / 4%) !important;
  }

  /* ===== SMOOTH CORNERS ===== */
  .btn,
  .card,
  input,
  select,
  textarea {
    border-radius: 12px !important;
  }

  /* ===== PREMIUM GRADIENT BUTTONS ===== */
  .btn--primary {
    background: #006c47 !important; /* WCAG AA: 8.59:1 contrast fallback */
    background: var(
      --tiller-gradient-emerald-accessible,
      linear-gradient(135deg, #008f5d 0%, #006c47 100%)
    ) !important;
    color: white !important; /* WCAG AA compliant on both gradient colors */
    border: none !important;
    box-shadow: 0 4px 12px rgb(0 163 92 / 30%) !important;
  }

  .btn--ghost {
    background: white !important;
    color: var(--tiller-color-emerald-accessible, #008f5d) !important;
    border: 2px solid var(--tiller-color-emerald-accessible, #008f5d) !important;
  }

  /* ===== SAFE AREAS - iPhone Notch ===== */
  .ts-header {
    padding-top: max(1rem, env(safe-area-inset-top)) !important;
  }
}

/* ===== ANIMATIONS - Subtle & Professional ===== */
@media (max-width: 768px) {
  /* Fade in on load */
  .ts-hero--home {
    animation: fadeIn 0.6s ease-out;
  }

  @keyframes fadeIn {
    from {
      opacity: 0%;
      transform: translateY(10px);
    }

    to {
      opacity: 100%;
      transform: translateY(0);
    }
  }

  /* Pulse urgency badge */
  @keyframes pulse-urgency {
    0%,
    100% {
      transform: scale(1);
    }

    50% {
      transform: scale(1.05);
    }
  }
}
