body {
  background-color: #f4f6fa;
}

.navbar-brand {
  font-weight: 600;
  font-size: 1.25rem;
}

.navbar-brand img {
  height: 40px;
  width: auto;
}

.navbar-nav .nav-link {
  padding: 0.5rem 1rem;
}

.dropdown-menu {
  min-width: 280px;
}

.dropdown-item {
  padding: 0.5rem 1rem;
}

.dropdown-item i {
  margin-right: 0.5rem;
  color: #206bc4;
}

.dropdown-header {
  font-weight: 600;
  color: #206bc4;
  text-transform: uppercase;
  font-size: 0.75rem;
}

.service-card {
  cursor: pointer;
  transition: all 0.3s ease;
  height: 100%;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.service-icon {
  font-size: 2.5rem;
  color: #206bc4;
  margin-bottom: 1rem;
}

.card-clickable {
  text-decoration: none;
  color: inherit;
  display: block;
}

.card-clickable:hover {
  text-decoration: none;
  color: inherit;
}

.price-card {
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}

.price-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.price-amount {
  font-size: 2.5rem;
  font-weight: 700;
  color: #206bc4;
}

.price-currency {
  font-size: 1rem;
  color: #626976;
}

.installment-badge {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 2rem;
  font-weight: 600;
  display: inline-block;
  margin-bottom: 1rem;
}

.turnstile-container {
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page-body {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.badge {
    --tblr-badge-color: #ffffff !important;
}
.page-body {
            background: linear-gradient(135deg, #f5f7fb 0%, #e8ecf3 100%);
            min-height: 100vh;
            padding: 3rem 0;
        }

        .service-card {
            height: 100%;
            border: none;
            border-radius: 1rem;
            overflow: hidden;
            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
            background: white;
            box-shadow: 0 2px 8px rgba(0,0,0,0.04);
            opacity: 0;
            transform: translateY(30px);
            animation: slideUp 0.6s ease forwards;
        }

        @keyframes slideUp {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .card-clickable {
            text-decoration: none;
            color: inherit;
            display: block;
        }

        .service-card:hover {
            transform: translateY(-12px) scale(1.02);
            box-shadow: 0 20px 40px rgba(32, 107, 196, 0.15);
            border-color: transparent;
        }

        .service-icon {
            width: 80px;
            height: 80px;
            margin: 0 auto 1.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: linear-gradient(135deg, #206bc4 0%, #1a5aa5 100%);
            box-shadow: 0 8px 20px rgba(32, 107, 196, 0.25);
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
        }

        .service-icon::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
            transition: left 0.5s ease;
        }

        .service-card:hover .service-icon::before {
            left: 100%;
        }

        .service-card:hover .service-icon {
            transform: translateY(-2px);
            box-shadow: 0 12px 30px rgba(32, 107, 196, 0.4);
        }

        .service-icon i {
            font-size: 2.5rem;
            color: white;
            transition: all 0.3s ease;
        }

        .service-card:hover .service-icon i {
            transform: scale(1.1);
        }

        .service-card .card-title {
            font-size: 1.1rem;
            font-weight: 600;
            color: #1e293b;
            margin-bottom: 0.75rem;
            min-height: 3rem;
            transition: color 0.3s ease;
        }

        .service-card:hover .card-title {
            color: #206bc4;
        }

        .service-card .text-muted {
            font-size: 0.9rem;
            line-height: 1.5;
            min-height: 3rem;
        }

        .service-card .btn {
            transition: all 0.3s ease;
            border: none;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            font-size: 0.85rem;
        }

        .service-card .btn-primary {
            background: linear-gradient(135deg, #206bc4 0%, #1a5aa5 100%);
        }

        .service-card:hover .btn-primary {
            background: linear-gradient(135deg, #1a5aa5 0%, #154a8a 100%);
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(32, 107, 196, 0.3);
        }

        .service-card .btn-danger {
            background: linear-gradient(135deg, #d63939 0%, #b02525 100%);
            opacity: 0.85;
        }

        .service-card:hover .btn-danger {
            opacity: 1;
            transform: translateY(-2px);
            box-shadow: 0 8px 16px rgba(214, 57, 57, 0.3);
        }

        .help-card {
            background: linear-gradient(135deg, #206bc4 0%, #1a5aa5 100%);
            color: white;
            border: none;
            border-radius: 1rem;
            box-shadow: 0 10px 30px rgba(32, 107, 196, 0.2);
            opacity: 0;
            transform: translateY(30px);
            animation: slideUp 0.6s ease 0.9s forwards;
        }

        .help-card h3 {
            color: white;
            font-weight: 700;
        }

        .help-card .text-muted {
            color: rgba(255,255,255,0.85) !important;
        }

        .help-icon-wrapper {
            background: rgba(255,255,255,0.15);
            border-radius: 1rem;
            padding: 2rem 1rem;
            transition: all 0.3s ease;
            backdrop-filter: blur(10px);
        }

        .help-icon-wrapper:hover {
            background: rgba(255,255,255,0.25);
            transform: translateY(-8px);
        }

        .help-icon-wrapper i {
            font-size: 2.5rem;
            color: white;
            transition: transform 0.3s ease;
        }

        .help-icon-wrapper:hover i {
            transform: scale(1.2);
        }

        .help-icon-wrapper strong {
            color: white;
            font-size: 1.1rem;
        }

        .help-icon-wrapper a {
            color: white;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.3s ease;
        }

        .help-icon-wrapper a:hover {
            color: #ffd700;
            transform: scale(1.05);
            display: inline-block;
        }

        .section-title {
            text-align: center;
            margin-bottom: 3rem;
            opacity: 0;
            animation: fadeIn 0.8s ease forwards;
        }

        .section-title h1 {
            font-size: 2.5rem;
            font-weight: 700;
            background: linear-gradient(135deg, #206bc4 0%, #1a5aa5 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            margin-bottom: 0.5rem;
            line-height: 1.5;
        }

        .section-title p {
            font-size: 1.1rem;
            color: #64748b;
        }

        @keyframes fadeIn {
            to {
                opacity: 1;
            }
        }

        .badge-coming-soon {
            position: absolute;
            top: 1rem;
            right: 1rem;
            background: linear-gradient(135deg, #d63939 0%, #b02525 100%);
            color: white;
            padding: 0.5rem 1rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        };

        @keyframes pulse {
            0%, 100% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.05);
            }
        }

        .card-body {
            position: relative;
        }
             .conditional-section {
            display: none;
            animation: fadeIn 0.3s ease-in;
        }
        
        .conditional-section.active {
            display: block;
        }
        
        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .success-icon {
            width: 80px;
            height: 80px;
            margin: 0 auto 1.5rem;
            background: linear-gradient(135deg, #2fb344 0%, #27a03a 100%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: scaleIn 0.5s ease-out;
        }
        
        @keyframes scaleIn {
            from {
                transform: scale(0);
            }
            to {
                transform: scale(1);
            }
        }
        
        .success-icon svg {
            width: 48px;
            height: 48px;
            color: white;
        }
        
        .form-select optgroup {
            font-weight: 600;
            color: #206bc4;
        }
        
        .upload-area {
            border: 2px dashed #cbcbcb !important;
            border-radius: 8px;
            padding: 2rem;
            text-align: center;
            transition: all 0.3s ease;
            cursor: pointer;
        }
        
        .upload-area:hover {
            border-color: #206bc4;
            background-color: #f8f9fa;
        }
        
        .upload-area.dragover {
            border-color: #2fb344;
            background-color: #e8f5e9;
        }
        
        .file-list {
            margin-top: 1rem;
        }
        
        .file-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 0.5rem 1rem;
            background: #f8f9fa;
            border-radius: 6px;
            margin-bottom: 0.5rem;
        }
        
        .file-item-name {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex: 1;
        }
        
        .required-label::after {
            content: " *";
            color: #d63939;
        }

        .claim-card {
            border-left: 4px solid #e9ecef;
            transition: all 0.3s ease;
        }
        
        .claim-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        }
        
        .claim-card.status-approved {
            border-left-color: #2fb344;
            border-left-width: 5px;
        }
        
        .claim-card.status-denied {
            border-left-color: #d63939;
            border-left-width: 5px;
        }
        
        .claim-card.status-pending {
            border-left-color: #f59f00;
            border-left-width: 5px;
        }
        
        .status-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 1rem;
            border-radius: 6px;
            font-weight: 600;
            font-size: 0.875rem;
        }
        
        .status-badge.approved {
            background-color: #d4edda;
            color: #155724;
        }
        
        .status-badge.denied {
            background-color: #f8d7da;
            color: #721c24;
        }
        
        .status-badge.pending {
            background-color: #fff3cd;
            color: #856404;
        }
        
        .claim-result {
            white-space: pre-line;
            line-height: 1.6;
        }
.card {
  opacity: 0;
  transform: translateY(-10px); /* start slightly above */
  animation: slideDown 0.6s ease-out forwards;
}

@keyframes slideDown {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
input:hover {
    border-color: #a5a5a5;
    -webkit-transition: border 500ms ease-out;
    -moz-transition: border 500ms ease-out;
    -o-transition: border 500ms ease-out;
    transition: border 500ms ease-out;
}
.form-select:hover {
    border-color: #a5a5a5;
    -webkit-transition: border 500ms ease-out;
    -moz-transition: border 500ms ease-out;
    -o-transition: border 500ms ease-out;
    transition: border 500ms ease-out;
}

/* Consent checkboxes styling */
        .consent-section {
            background-color: #f8f9fa;
            border-radius: 8px;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .consent-checkbox {
            margin-bottom: 1rem;
        }

        .consent-checkbox:last-child {
            margin-bottom: 0;
        }

        .form-check-label a {
            color: #0054a6;
            text-decoration: none;
        }

        .form-check-label a:hover {
            text-decoration: underline;
        }
.footer {
    padding: 2rem !important;
}