/* =====================================================
   CANESTRO CARE HOSPICE - MOBILE RESPONSIVENESS CSS
   Complete responsive styles for all breakpoints
   ===================================================== */

/* ===== TABLET LANDSCAPE (max-width: 1024px) ===== */
@media (max-width: 1024px) {
    /* Hero Section */
    .hero-grid {
      grid-template-columns: 1fr;
      text-align: center;
    }
    
    .hero h1 {
      font-size: 2rem;
    }
    
    .hero-description {
      font-size: 1rem;
    }
    
    .hero-buttons {
      justify-content: center;
    }
    
    .hero-features {
      justify-content: center;
    }
    
    .hero-image-placeholder {
      display: none;
    }
    
    /* Grids */
    .grid-4 {
      grid-template-columns: repeat(2, 1fr);
    }
    
    .grid-3 {
      grid-template-columns: repeat(2, 1fr);
    }
    
    /* Footer */
    .footer-grid {
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
    }
    
    /* Contact Page */
    .contact-grid {
      grid-template-columns: 1fr;
      gap: 2rem;
    }
    
    /* Section Headers */
    .section-title {
      font-size: 1.75rem;
    }
    
    /* Page Headers */
    .page-header h1 {
      font-size: 2rem;
    }
  }
  
  /* ===== TABLET PORTRAIT (max-width: 768px) ===== */
  @media (max-width: 768px) {
    /* Top Bar */
    .top-bar-inner {
      justify-content: center;
      text-align: center;
    }
    
    .top-bar-left {
      display: none;
    }
    
    .top-bar-info {
      font-size: 0.75rem;
    }
    
    /* Header */
    .header-inner {
      padding: 0.5rem 1rem;
    }
    
    .header-cta {
      display: none;
    }
    
    .logo-name {
      font-size: 1rem;
    }
    
    .logo-icon {
      width: 36px;
      height: 36px;
    }
    
    .logo-icon svg {
      width: 20px;
      height: 20px;
    }
    
    /* Mobile Menu Button - Show */
    .mobile-menu-btn {
      display: block;
      background: none;
      border: none;
      padding: 0.5rem;
      cursor: pointer;
      z-index: 1001;
    }
    
    .mobile-menu-btn span {
      display: block;
      width: 24px;
      height: 2px;
      background: var(--slate-700);
      margin: 5px 0;
      transition: all 0.3s;
    }
    
    .mobile-menu-btn.active span:nth-child(1) {
      transform: rotate(45deg) translate(5px, 5px);
    }
    
    .mobile-menu-btn.active span:nth-child(2) {
      opacity: 0;
    }
    
    .mobile-menu-btn.active span:nth-child(3) {
      transform: rotate(-45deg) translate(5px, -5px);
    }
    
    /* Navigation - Mobile Drawer */
    .nav {
      position: fixed;
      top: 0;
      left: -100%;
      width: 280px;
      height: 100vh;
      background: var(--white);
      flex-direction: column;
      padding: 5rem 1.5rem 2rem;
      box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
      transition: left 0.3s ease;
      z-index: 1000;
      overflow-y: auto;
    }
    
    .nav.active {
      left: 0;
    }
    
    .nav-link {
      padding: 1rem 0;
      border-bottom: 1px solid var(--slate-200);
      font-size: 1rem;
    }
    
    .nav-link.active {
      border-bottom-color: var(--primary-700);
    }
    
    /* Mobile Menu Overlay */
   
    
    /* Hero Section */
    .hero {
      padding: 3rem 0;
    }
    
    .hero h1 {
      font-size: 1.75rem;
      line-height: 1.3;
    }
    
    .hero-badge {
      font-size: 0.75rem;
      padding: 0.375rem 0.75rem;
    }
    
    .hero-description {
      font-size: 0.9375rem;
    }
    
    /* Grids - Single Column */
    .grid-2,
    .grid-3,
    .grid-4 {
      grid-template-columns: 1fr;
    }
    
    /* Features Strip */
    .features-strip-grid {
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }
    
    .feature-strip-item {
      padding: 1rem;
      font-size: 0.8125rem;
    }
    
    /* Sections */
    .section {
      padding: 2.5rem 0;
    }
    
    .section-title {
      font-size: 1.5rem;
    }
    
    .section-description {
      font-size: 1rem;
    }
    
    /* Cards */
    .card {
      padding: 1.25rem;
    }
    
    .card-title {
      font-size: 1.125rem;
    }
    
    /* Footer */
    .footer-grid {
      grid-template-columns: 1fr;
      text-align: center;
      gap: 2rem;
    }
    
    .footer-brand {
      margin-bottom: 1rem;
    }
    
    .footer-brand .logo {
      justify-content: center;
    }
    
    .footer-column ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 0.5rem 1.5rem;
    }
    
    .footer-column li {
      margin-bottom: 0;
    }
    
    .footer-contact-item {
      justify-content: center;
    }
    
    .footer-bottom {
      flex-direction: column;
      text-align: center;
      gap: 1rem;
    }
    
    .footer-links {
      flex-wrap: wrap;
      justify-content: center;
    }
    
    /* CTA Section */
    .cta-content h2 {
      font-size: 1.5rem;
    }
    
    .cta-phone {
      flex-direction: column;
      text-align: center;
      padding: 1.25rem;
    }
    
    /* Job Cards */
    .job-card {
      flex-direction: column;
      align-items: flex-start;
      gap: 1rem;
    }
    
    .btn-apply {
      width: 100%;
      text-align: center;
      justify-content: center;
    }
    
    /* Blog Cards */
    .blog-image {
      height: 180px;
    }
    
    /* Contact Cards */
    .contact-info-card,
    .contact-form-card {
      padding: 1.5rem;
    }
    
    /* Location Cards */
    .location-map {
      height: 160px;
    }
    
    /* Page Headers */
    .page-header {
      padding: 2rem 0;
    }
    
    .page-header h1 {
      font-size: 1.75rem;
    }
    
    .page-header p {
      font-size: 1rem;
    }
    
    /* FAQ */
    .faq-question {
      padding: 1rem;
      font-size: 0.9375rem;
    }
    
    .faq-answer {
      padding: 0 1rem 1rem;
      font-size: 0.9375rem;
    }
    
    /* Testimonials */
    .testimonial-card {
      padding: 1.25rem;
    }
    
    /* Language Selector */
    .lang-dropdown {
      min-width: 200px;
      right: -50%;
    }
  }
  
  /* ===== MOBILE PHONES (max-width: 480px) ===== */
  @media (max-width: 480px) {
    /* Container Padding */
    .container {
      padding: 0 0.75rem;
    }
    
    /* Hero */
    .hero {
      padding: 2rem 0;
    }
    
    .hero h1 {
      font-size: 1.5rem;
    }
    
    .hero-badge {
      font-size: 0.6875rem;
    }
    
    .hero-buttons {
      flex-direction: column;
      width: 100%;
    }
    
    .btn-primary,
    .btn-outline {
      width: 100%;
      justify-content: center;
      padding: 0.875rem 1rem;
    }
    
    .hero-features {
      flex-direction: column;
      gap: 0.75rem;
    }
    
    /* Features Strip */
    .features-strip-grid {
      grid-template-columns: 1fr;
    }
    
    /* Section */
    .section {
      padding: 2rem 0;
    }
    
    .section-header {
      margin-bottom: 2rem;
    }
    
    .section-title {
      font-size: 1.375rem;
    }
    
    /* Cards */
    .card {
      padding: 1rem;
    }
    
    .card-icon {
      width: 48px;
      height: 48px;
    }
    
    .card-icon svg {
      width: 24px;
      height: 24px;
    }
    
    /* CTA */
    .cta-section {
      padding: 2.5rem 0;
    }
    
    .cta-content h2 {
      font-size: 1.375rem;
    }
    
    .cta-buttons {
      flex-direction: column;
      width: 100%;
    }
    
    /* Forms */
    .form-input,
    .form-select,
    .form-textarea {
      padding: 0.875rem;
      font-size: 16px; /* Prevents iOS zoom */
    }
    
    .form-label {
      font-size: 0.8125rem;
    }
    
    /* Contact */
    .contact-info-card h3,
    .contact-form-card h3 {
      font-size: 1.25rem;
    }
    
    .contact-info-item {
      flex-direction: column;
      text-align: center;
    }
    
    .contact-info-item svg {
      margin: 0 auto 0.5rem;
    }
    
    /* Footer */
    .footer {
      padding: 2rem 0 0;
    }
    
    .footer-column h4 {
      font-size: 0.9375rem;
      margin-bottom: 1rem;
    }
    
    /* Page Header */
    .page-header h1 {
      font-size: 1.5rem;
    }
    
    .page-header p {
      font-size: 0.9375rem;
    }
    
    .breadcrumb {
      font-size: 0.75rem;
    }
    
    /* Job Cards */
    .job-info h3 {
      font-size: 1rem;
    }
    
    .job-meta {
      font-size: 0.8125rem;
    }
    
    /* Blog Cards */
    .blog-image {
      height: 150px;
    }
    
    .blog-content {
      padding: 1rem;
    }
    
    .blog-content h3 {
      font-size: 1.125rem;
    }
    
    /* Location Cards */
    .location-map {
      height: 140px;
    }
    
    .location-info {
      padding: 1rem;
    }
    
    /* Language Selector Mobile */
    .lang-selector {
      position: static;
    }
    
    .lang-dropdown {
      position: fixed;
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      max-height: 70vh;
      overflow-y: auto;
      border-radius: 16px 16px 0 0;
      margin-top: 0;
      margin-bottom: 0;
    }
    
    .lang-dropdown a {
      padding: 14px 20px;
    }
  }
  
  /* ===== SMALL PHONES (max-width: 360px) ===== */
  @media (max-width: 360px) {
    .hero h1 {
      font-size: 1.375rem;
    }
    
    .section-title {
      font-size: 1.25rem;
    }
    
    .btn-primary,
    .btn-outline {
      font-size: 0.9375rem;
      padding: 0.75rem;
    }
    
    .logo-name {
      font-size: 0.9375rem;
    }
    
    .logo-icon {
      width: 32px;
      height: 32px;
    }
  }
  
  /* ===== LANDSCAPE ORIENTATION FIX ===== */
  @media (max-height: 500px) and (orientation: landscape) {
    .hero {
      padding: 1.5rem 0;
    }
    
    .hero h1 {
      font-size: 1.5rem;
      margin-bottom: 0.75rem;
    }
    
    .hero-badge {
      margin-bottom: 0.75rem;
    }
    
    .hero-description {
      margin-bottom: 1rem;
    }
    
    .hero-buttons {
      margin-bottom: 1rem;
    }
    
    .nav {
      padding-top: 3.5rem;
    }
  }
  
  /* ===== TOUCH DEVICE OPTIMIZATIONS ===== */
  @media (hover: none) and (pointer: coarse) {
    /* Larger touch targets */
    .nav-link {
      padding: 1rem 1.25rem;
      min-height: 48px;
    }
    
    .btn-primary,
    .btn-outline,
    .btn-apply,
    .btn-submit {
      min-height: 48px;
    }
    
    .faq-question {
      min-height: 56px;
    }
    
    /* Remove hover effects on touch devices */
    .card:hover {
      transform: none;
    }
    
    .btn-primary:hover,
    .btn-outline:hover {
      transform: none;
    }
    
    /* Add active states instead */
    .card:active {
      transform: scale(0.98);
    }
    
    .btn-primary:active,
    .btn-outline:active {
      transform: scale(0.98);
    }
  }
  
  /* ===== PRINT STYLES ===== */
  @media print {
    .top-bar,
    .header,
    .nav,
    .mobile-menu-btn,
    .cta-section,
    .footer {
      display: none !important;
    }
    
    .hero {
      background: none !important;
      color: #000 !important;
      padding: 1rem 0;
    }
    
    .hero h1 {
      color: #000 !important;
    }
    
    .section {
      page-break-inside: avoid;
    }
    
    .card {
      box-shadow: none;
      border: 1px solid #ddd;
    }
  }
  
  /* ===== REDUCED MOTION ===== */
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
    
    html {
      scroll-behavior: auto;
    }
  }
  
  /* ===== DARK MODE (Optional) ===== */
  @media (prefers-color-scheme: dark) {
    /* Uncomment to enable dark mode support */
    /*
    :root {
      --white: #0f172a;
      --slate-50: #1e293b;
      --slate-100: #334155;
      --slate-200: #475569;
      --slate-700: #cbd5e1;
      --slate-900: #f8fafc;
    }
    
    .card,
    .contact-info-card,
    .contact-form-card,
    .faq-item {
      background: var(--slate-50);
    }
    
    body {
      background: var(--white);
      color: var(--slate-700);
    }
    */
  }
  
  @media (max-width: 768px) {

    /* Show hamburger */


    /* MOBILE DRAWER NAV */

    .nav {
      position: fixed !important;
      top: 0;
      left: -100%;
      width: 280px;
      height: 100vh;

      background: #fff;

      display: flex !important;
      flex-direction: column;

      padding: 5rem 1.5rem 2rem;

      box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);

      transition: left 0.3s ease;

      z-index: 1000;

      overflow-y: auto;
    }

    .nav.active {
      left: 0;
    }


    /* NAV LINKS */

    .nav-link {
      padding: 1rem 0;
      border-bottom: 1px solid var(--slate-200);
      font-size: 1rem;
    }

  }